From 6e0d9601cc31c4894000f93f76976cadd04b127b Mon Sep 17 00:00:00 2001 From: Wilhelm Thieme Date: Fri, 2 Aug 2024 09:07:43 -0400 Subject: [PATCH 01/26] Squash --- .github/CODEOWNERS | 4 + .github/ISSUE_TEMPLATE/bug.yaml | 37 + .github/ISSUE_TEMPLATE/feature.yaml | 21 + .github/actions/anchor/action.yml | 73 + .github/dependabot.yml | 17 + .github/pull_request_template.md | 7 + .github/workflows/checks.yml | 31 + .github/workflows/dependabot.yml | 20 + .github/workflows/publish.yml | 75 + .github/workflows/security.yml | 25 + .gitignore | 10 + .husky/pre-commit | 5 + .yarn/releases/yarn-4.3.1.cjs | 894 ++ .yarnrc.yml | 2 + Anchor.toml | 6 +- README.md | 49 +- SECURITY.md | 1 + docs/.nojekyll | 1 - docs/assets/highlight.css | 43 - docs/assets/main.js | 59 - docs/assets/navigation.js | 1 - docs/assets/search.js | 1 - docs/assets/style.css | 1414 --- docs/classes/PDAUtil.html | 17 - docs/classes/ParsableFeeTier.html | 2 - docs/classes/ParsablePosition.html | 2 - docs/classes/ParsablePositionBundle.html | 2 - docs/classes/ParsableTickArray.html | 2 - docs/classes/ParsableTokenBadge.html | 2 - docs/classes/ParsableWhirlpool.html | 2 - docs/classes/ParsableWhirlpoolsConfig.html | 2 - .../ParsableWhirlpoolsConfigExtension.html | 2 - docs/classes/PoolGraphBuilder.html | 13 - docs/classes/PoolGraphUtils.html | 13 - docs/classes/PoolUtil.html | 28 - docs/classes/PositionBundleUtil.html | 40 - docs/classes/PriceMath.html | 28 - docs/classes/PriceModule.html | 38 - docs/classes/PriceModuleUtils.html | 28 - docs/classes/RouterUtils.html | 31 - docs/classes/SwapUtils.html | 60 - docs/classes/TickArrayUtil.html | 24 - docs/classes/TickUtil.html | 37 - docs/classes/TokenExtensionUtil.html | 10 - docs/classes/WhirlpoolAccountFetcher.html | 97 - docs/classes/WhirlpoolContext.html | 15 - docs/classes/WhirlpoolIx.html | 331 - docs/classes/WhirlpoolRouterBuilder.html | 16 - docs/enums/AccountName.html | 10 - docs/enums/SwapDirection.html | 4 - docs/enums/TokenType.html | 4 - .../functions/buildDefaultAccountFetcher.html | 4 - docs/functions/buildWhirlpoolClient.html | 4 - docs/functions/collectFeesQuote-1.html | 4 - docs/functions/collectRewardsQuote-1.html | 4 - .../decreaseLiquidityQuoteByLiquidity.html | 7 - ...seLiquidityQuoteByLiquidityWithParams.html | 3 - ...LiquidityWithParamsUsingPriceSlippage.html | 5 - docs/functions/getAccountSize.html | 4 - .../getAllWhirlpoolAccountsForConfig.html | 4 - .../increaseLiquidityQuoteByInputToken.html | 9 - ...tyQuoteByInputTokenUsingPriceSlippage.html | 10 - ...eLiquidityQuoteByInputTokenWithParams.html | 4 - ...nputTokenWithParamsUsingPriceSlippage.html | 5 - ...seLiquidityQuoteByLiquidityWithParams.html | 1 - docs/functions/swapQuoteByInputToken.html | 9 - .../swapQuoteByInputTokenWithDevFees.html | 10 - docs/functions/swapQuoteByOutputToken.html | 11 - docs/functions/swapQuoteWithParams.html | 5 - docs/functions/toTokenAmount.html | 1 - docs/functions/toTx.html | 1 - .../twoHopSwapQuoteFromSwapQuotes.html | 2 - docs/hierarchy.html | 1 - docs/index.html | 13 - docs/interfaces/PoolTokenPair.html | 5 - docs/interfaces/Position.html | 108 - docs/interfaces/TickArrayRequest.html | 6 - docs/interfaces/Whirlpool.html | 140 - .../WhirlpoolAccountFetcherInterface.html | 93 - docs/interfaces/WhirlpoolClient.html | 91 - docs/interfaces/WhirlpoolRouter.html | 33 - docs/modules.html | 203 - docs/types/AccountResolverOptions.html | 2 - docs/types/AtaAccountInfo.html | 5 - docs/types/CloseBundledPositionParams.html | 8 - docs/types/ClosePositionParams.html | 7 - docs/types/CollectAllParams.html | 6 - .../CollectAllPositionAddressParams.html | 7 - docs/types/CollectAllPositionParams.html | 7 - docs/types/CollectFeesParams.html | 10 - docs/types/CollectFeesQuote.html | 1 - docs/types/CollectFeesQuoteParam.html | 1 - docs/types/CollectFeesV2Params.html | 16 - docs/types/CollectProtocolFeesParams.html | 9 - docs/types/CollectProtocolFeesV2Params.html | 15 - docs/types/CollectRewardParams.html | 9 - docs/types/CollectRewardV2Params.html | 12 - docs/types/CollectRewardsQuote.html | 2 - docs/types/CollectRewardsQuoteParam.html | 7 - docs/types/DecimalsMap.html | 2 - docs/types/DecreaseLiquidityInput.html | 1 - docs/types/DecreaseLiquidityParams.html | 15 - docs/types/DecreaseLiquidityQuote.html | 2 - docs/types/DecreaseLiquidityQuoteParam.html | 7 - docs/types/DecreaseLiquidityV2Params.html | 21 - docs/types/DeletePositionBundleParams.html | 7 - docs/types/DeleteTokenBadgeParams.html | 8 - docs/types/DevFeeSwapInput.html | 4 - docs/types/DevFeeSwapQuote.html | 9 - docs/types/Edge.html | 2 - docs/types/ExecutableRoute.html | 5 - docs/types/FeeTierData.html | 1 - docs/types/GetPricesConfig.html | 8 - docs/types/GetPricesThresholdConfig.html | 6 - docs/types/IncreaseLiquidityInput.html | 7 - docs/types/IncreaseLiquidityParams.html | 15 - docs/types/IncreaseLiquidityQuote.html | 2 - ...ncreaseLiquidityQuoteByLiquidityParam.html | 9 - docs/types/IncreaseLiquidityQuoteParam.html | 10 - docs/types/IncreaseLiquidityV2Params.html | 17 - docs/types/InitConfigExtensionParams.html | 2 - docs/types/InitConfigParams.html | 8 - docs/types/InitFeeTierParams.html | 8 - docs/types/InitPoolParams.html | 12 - docs/types/InitPoolV2Params.html | 16 - docs/types/InitTickArrayParams.html | 6 - .../types/InitializePositionBundleParams.html | 7 - docs/types/InitializeRewardParams.html | 8 - docs/types/InitializeRewardV2Params.html | 10 - docs/types/InitializeTokenBadgeParams.html | 8 - docs/types/NormalSwapQuote.html | 2 - docs/types/NormalTwoHopSwapQuote.html | 5 - docs/types/OpenBundledPositionParams.html | 11 - docs/types/OpenPositionBumpsData.html | 1 - docs/types/OpenPositionParams.html | 10 - .../OpenPositionWithMetadataBumpsData.html | 1 - docs/types/Path.html | 5 - docs/types/PathSearchEntries.html | 5 - docs/types/PathSearchOptions.html | 3 - docs/types/PoolGraph.html | 35 - docs/types/PoolMap.html | 2 - docs/types/PositionBundleData.html | 1 - docs/types/PositionData.html | 1 - docs/types/PositionRewardInfoData.html | 1 - docs/types/PriceCalculationData.html | 5 - docs/types/PriceMap.html | 2 - docs/types/RouteSelectOptions.html | 7 - docs/types/RoutingOptions.html | 6 - ...SetCollectProtocolFeesAuthorityParams.html | 5 - .../SetConfigExtensionAuthorityParams.html | 6 - docs/types/SetDefaultFeeRateParams.html | 6 - .../SetDefaultProtocolFeeRateParams.html | 5 - docs/types/SetFeeAuthorityParams.html | 5 - docs/types/SetFeeRateParams.html | 6 - docs/types/SetProtocolFeeRateParams.html | 6 - ...RewardAuthorityBySuperAuthorityParams.html | 7 - docs/types/SetRewardAuthorityParams.html | 6 - docs/types/SetRewardEmissionsParams.html | 7 - ...etRewardEmissionsSuperAuthorityParams.html | 5 - docs/types/SetRewardEmissionsV2Params.html | 7 - docs/types/SetTokenBadgeAuthorityParams.html | 6 - docs/types/SubTradeRoute.html | 7 - docs/types/SwapEstimates.html | 7 - docs/types/SwapInput.html | 11 - docs/types/SwapParams.html | 10 - docs/types/SwapQuote.html | 2 - docs/types/SwapQuoteParam.html | 8 - docs/types/SwapV2Params.html | 16 - docs/types/TickArray.html | 2 - docs/types/TickArrayData.html | 1 - docs/types/TickArrayMap.html | 2 - docs/types/TickData.html | 1 - docs/types/TokenAccountInfo.html | 2 - docs/types/TokenAmounts.html | 1 - docs/types/TokenBadgeData.html | 1 - docs/types/TokenExtensionContext.html | 1 - docs/types/TokenExtensionContextForPool.html | 1 - .../types/TokenExtensionContextForReward.html | 1 - docs/types/TokenInfo.html | 2 - docs/types/Trade.html | 6 - docs/types/TradeHop.html | 13 - docs/types/TradeHopSnapshot.html | 2 - docs/types/TradeRoute.html | 6 - docs/types/TransferFeeExcludedAmount.html | 1 - docs/types/TransferFeeIncludedAmount.html | 1 - docs/types/TwoHopSwapQuote.html | 3 - docs/types/TwoHopSwapV2Params.html | 20 - docs/types/UpdateFeesAndRewardsParams.html | 6 - docs/types/WhirlpoolAccountFetchOptions.html | 2 - docs/types/WhirlpoolBumpsData.html | 1 - docs/types/WhirlpoolContextOpts.html | 2 - docs/types/WhirlpoolData.html | 1 - docs/types/WhirlpoolRewardInfo.html | 2 - docs/types/WhirlpoolRewardInfoData.html | 1 - docs/types/WhirlpoolSupportedTypes.html | 2 - docs/types/WhirlpoolsConfigData.html | 1 - docs/types/WhirlpoolsConfigExtensionData.html | 1 - .../DEFAULT_WHIRLPOOL_RETENTION_POLICY.html | 2 - docs/variables/FEE_RATE_MUL_VALUE.html | 2 - docs/variables/IGNORE_CACHE.html | 2 - docs/variables/MAX_SQRT_PRICE.html | 2 - docs/variables/MAX_SQRT_PRICE_BN.html | 2 - docs/variables/MAX_SWAP_TICK_ARRAYS.html | 2 - docs/variables/MAX_TICK_INDEX.html | 2 - docs/variables/MEMO_PROGRAM_ADDRESS.html | 1 - docs/variables/METADATA_PROGRAM_ADDRESS.html | 1 - docs/variables/MIN_SQRT_PRICE.html | 2 - docs/variables/MIN_SQRT_PRICE_BN.html | 2 - docs/variables/MIN_TICK_INDEX.html | 2 - .../variables/NO_TOKEN_EXTENSION_CONTEXT.html | 1 - docs/variables/NUM_REWARDS.html | 2 - .../ORCA_SUPPORTED_TICK_SPACINGS.html | 2 - docs/variables/ORCA_WHIRLPOOLS_CONFIG.html | 2 - .../ORCA_WHIRLPOOLS_CONFIG_EXTENSION.html | 2 - docs/variables/ORCA_WHIRLPOOL_PROGRAM_ID.html | 2 - docs/variables/POSITION_BUNDLE_SIZE.html | 2 - docs/variables/PREFER_CACHE.html | 2 - .../PROTOCOL_FEE_RATE_MUL_VALUE.html | 2 - docs/variables/TICK_ARRAY_SIZE.html | 2 - docs/variables/WHIRLPOOL_ACCOUNT_SIZE.html | 3 - docs/variables/WHIRLPOOL_CODER.html | 2 - docs/variables/WHIRLPOOL_IDL.html | 1 - docs/variables/WHIRLPOOL_NFT_UPDATE_AUTH.html | 2 - docs/variables/defaultGetPricesConfig.html | 2 - .../defaultGetPricesThresholdConfig.html | 2 - docs/variables/defaultQuoteTokens.html | 3 - {sdk => legacy}/README.md | 0 legacy/package.json | 38 + {sdk => legacy}/src/context.ts | 0 {sdk => legacy}/src/errors/errors.ts | 0 {sdk => legacy}/src/impl/position-impl.ts | 0 {sdk => legacy}/src/impl/util.ts | 0 .../src/impl/whirlpool-client-impl.ts | 0 {sdk => legacy}/src/impl/whirlpool-impl.ts | 0 {sdk => legacy}/src/index.ts | 0 .../instructions/close-bundled-position-ix.ts | 0 .../src/instructions/close-position-ix.ts | 0 .../src/instructions/collect-fees-ix.ts | 0 .../instructions/collect-protocol-fees-ix.ts | 0 .../src/instructions/collect-reward-ix.ts | 0 .../composites/collect-all-txn.ts | 0 .../composites/collect-protocol-fees.ts | 0 .../src/instructions/composites/index.ts | 0 .../src/instructions/composites/swap-async.ts | 0 .../composites/swap-with-route.ts | 0 .../src/instructions/decrease-liquidity-ix.ts | 0 .../instructions/delete-position-bundle-ix.ts | 0 .../src/instructions/increase-liquidity-ix.ts | 0 {sdk => legacy}/src/instructions/index.ts | 0 .../src/instructions/initialize-config-ix.ts | 0 .../instructions/initialize-fee-tier-ix.ts | 0 .../src/instructions/initialize-pool-ix.ts | 0 .../initialize-position-bundle-ix.ts | 0 .../src/instructions/initialize-reward-ix.ts | 0 .../instructions/initialize-tick-array-ix.ts | 0 .../instructions/open-bundled-position-ix.ts | 0 .../src/instructions/open-position-ix.ts | 0 .../set-collect-protocol-fees-authority-ix.ts | 0 .../instructions/set-default-fee-rate-ix.ts | 0 .../set-default-protocol-fee-rate-ix.ts | 0 .../src/instructions/set-fee-authority-ix.ts | 0 .../src/instructions/set-fee-rate-ix.ts | 0 .../instructions/set-protocol-fee-rate-ix.ts | 0 ...-reward-authority-by-super-authority-ix.ts | 0 .../instructions/set-reward-authority-ix.ts | 0 .../instructions/set-reward-emissions-ix.ts | 0 ...set-reward-emissions-super-authority-ix.ts | 0 {sdk => legacy}/src/instructions/swap-ix.ts | 0 .../src/instructions/two-hop-swap-ix.ts | 0 .../update-fees-and-rewards-ix.ts | 0 .../src/instructions/v2/collect-fees-ix.ts | 0 .../v2/collect-protocol-fees-ix.ts | 0 .../src/instructions/v2/collect-reward-ix.ts | 0 .../instructions/v2/decrease-liquidity-ix.ts | 0 .../instructions/v2/delete-token-badge-ix.ts | 0 .../instructions/v2/increase-liquidity-ix.ts | 0 {sdk => legacy}/src/instructions/v2/index.ts | 0 .../v2/initialize-config-extension-ix.ts | 0 .../src/instructions/v2/initialize-pool-ix.ts | 0 .../instructions/v2/initialize-reward-ix.ts | 0 .../v2/initialize-token-badge-ix.ts | 0 .../v2/set-config-extension-authority-ix.ts | 0 .../v2/set-reward-emissions-ix.ts | 0 .../v2/set-token-badge-authority-ix.ts | 0 .../src/instructions/v2/swap-ix.ts | 0 .../src/instructions/v2/two-hop-swap-ix.ts | 0 {sdk => legacy}/src/ix.ts | 0 .../network/public/fetcher/fetcher-impl.ts | 0 .../network/public/fetcher/fetcher-types.ts | 0 .../network/public/fetcher/fetcher-utils.ts | 0 .../src/network/public/fetcher/index.ts | 0 {sdk => legacy}/src/network/public/index.ts | 0 {sdk => legacy}/src/network/public/parsing.ts | 0 .../src/prices/calculate-pool-prices.ts | 0 {sdk => legacy}/src/prices/index.ts | 0 {sdk => legacy}/src/prices/price-module.ts | 0 .../src/quotes/public/collect-fees-quote.ts | 0 .../quotes/public/collect-rewards-quote.ts | 0 .../quotes/public/decrease-liquidity-quote.ts | 0 .../src/quotes/public/dev-fee-swap-quote.ts | 0 .../quotes/public/increase-liquidity-quote.ts | 0 {sdk => legacy}/src/quotes/public/index.ts | 0 .../src/quotes/public/swap-quote.ts | 0 .../src/quotes/public/two-hop-swap-quote.ts | 0 .../src/quotes/swap/swap-manager.ts | 0 .../src/quotes/swap/swap-quote-impl.ts | 0 .../src/quotes/swap/tick-array-index.ts | 0 .../src/quotes/swap/tick-array-sequence.ts | 0 .../src/router/batch-swap-quote.ts | 0 .../src/router/convert-quote-map.ts | 0 {sdk => legacy}/src/router/public/index.ts | 0 .../src/router/public/router-builder.ts | 0 .../src/router/public/router-utils.ts | 0 {sdk => legacy}/src/router/quote-map.ts | 0 {sdk => legacy}/src/router/router-impl.ts | 0 {sdk => legacy}/src/tsconfig.json | 0 .../src/types/public/anchor-types.ts | 0 .../src/types/public/client-types.ts | 0 {sdk => legacy}/src/types/public/constants.ts | 0 {sdk => legacy}/src/types/public/index.ts | 0 {sdk => legacy}/src/types/public/ix-types.ts | 8 +- .../utils/builder/position-builder-util.ts | 0 {sdk => legacy}/src/utils/constants.ts | 0 .../utils/graphs/adjacency-list-pool-graph.ts | 0 .../src/utils/graphs/public/index.ts | 0 .../utils/graphs/public/pool-graph-builder.ts | 0 .../utils/graphs/public/pool-graph-utils.ts | 0 .../src/utils/graphs/public/pool-graph.ts | 0 .../src/utils/instructions-util.ts | 0 {sdk => legacy}/src/utils/math/bit-math.ts | 0 {sdk => legacy}/src/utils/math/constants.ts | 0 .../src/utils/math/k-smallest-partition.ts | 0 {sdk => legacy}/src/utils/math/swap-math.ts | 0 {sdk => legacy}/src/utils/math/token-math.ts | 0 {sdk => legacy}/src/utils/position-util.ts | 0 {sdk => legacy}/src/utils/public/index.ts | 0 {sdk => legacy}/src/utils/public/ix-utils.ts | 0 {sdk => legacy}/src/utils/public/pda-utils.ts | 0 .../src/utils/public/pool-utils.ts | 0 .../src/utils/public/position-bundle-util.ts | 0 .../src/utils/public/price-math.ts | 0 .../src/utils/public/swap-utils.ts | 0 .../src/utils/public/tick-utils.ts | 0 .../src/utils/public/token-extension-util.ts | 0 {sdk => legacy}/src/utils/public/types.ts | 0 .../src/utils/remaining-accounts-util.ts | 0 {sdk => legacy}/src/utils/spl-token-utils.ts | 0 {sdk => legacy}/src/utils/swap-utils.ts | 0 {sdk => legacy}/src/utils/txn-utils.ts | 0 {sdk => legacy}/src/utils/wallet-utils.ts | 0 .../src/utils/whirlpool-ata-utils.ts | 0 {sdk => legacy}/src/whirlpool-client.ts | 0 .../mpl_token_metadata.20240214.so | Bin .../external_program/transfer_hook_counter.so | Bin .../close_bundled_position.test.ts | 0 .../tests/integration/close_position.test.ts | 0 .../tests/integration/collect_fees.test.ts | 0 .../integration/collect_protocol_fees.test.ts | 0 .../tests/integration/collect_reward.test.ts | 0 .../integration/decrease_liquidity.test.ts | 0 .../delete_position_bundle.test.ts | 0 .../tests/integration/get_pool_prices.test.ts | 0 .../integration/increase_liquidity.test.ts | 0 .../integration/initialize_config.test.ts | 0 .../integration/initialize_fee_tier.test.ts | 0 .../tests/integration/initialize_pool.test.ts | 0 .../initialize_position_bundle.test.ts | 0 ...lize_position_bundle_with_metadata.test.ts | 0 .../integration/initialize_reward.test.ts | 0 .../integration/initialize_tick_array.test.ts | 0 .../bundled_position_management.test.ts | 0 .../multi-ix/position_management.test.ts | 0 .../integration/multi-ix/sparse_swap.test.ts | 0 .../integration/open_bundled_position.test.ts | 0 .../tests/integration/open_position.test.ts | 0 .../open_position_with_metadata.test.ts | 0 ...set_collect_protocol_fee_authority.test.ts | 0 .../integration/set_default_fee_rate.test.ts | 0 .../set_default_protocol_fee_rate.test.ts | 0 .../integration/set_fee_authority.test.ts | 0 .../tests/integration/set_fee_rate.test.ts | 0 .../integration/set_protocol_fee_rate.test.ts | 0 .../integration/set_reward_authority.test.ts | 0 ...eward_authority_by_super_authority.test.ts | 0 .../integration/set_reward_emissions.test.ts | 0 ...t_reward_emissions_super_authority.test.ts | 0 .../tests/integration/swap.test.ts | 0 .../tests/integration/two_hop_swap.test.ts | 0 .../update_fees_and_rewards.test.ts | 0 .../integration/v2/collect_fees_v2.test.ts | 0 .../v2/collect_protocol_fees_v2.test.ts | 0 .../integration/v2/collect_reward_v2.test.ts | 0 .../v2/decrease_liquidity_v2.test.ts | 0 .../v2/increase_liquidity_v2.test.ts | 0 .../integration/v2/initialize_pool_v2.test.ts | 0 .../v2/initialize_reward_v2.test.ts | 0 .../v2/set_reward_emissions_v2.test.ts | 0 .../tests/integration/v2/swap_v2.test.ts | 0 .../v2/token-badge/delete_token_badge.test.ts | 0 .../initialize_config_extension.test.ts | 0 .../initialize_token_badge.test.ts | 0 .../set_config_extension_authority.test.ts | 0 .../set_token_badge_authority.test.ts | 0 .../v2/token-extensions/memo-transfer.test.ts | 0 ...confidential-transfer+transfer-fee.test.ts | 0 .../non-confidential-transfer.test.ts | 0 .../v2/token-extensions/transfer-fee.test.ts | 0 .../v2/token-extensions/transfer-hook.test.ts | 0 .../integration/v2/two_hop_swap_v2.test.ts | 0 .../router/router-util#priceImpact.test.ts | 0 .../tests/sdk/types/anchor-types.test.ts | 0 .../position-impl#collectFees.test.ts | 0 .../position-impl#collectRewards.test.ts | 0 .../sdk/whirlpools/position-impl.test.ts | 0 .../quote/decrease-liquidity-quote.test.ts | 0 ...ase-liquidity-quote-by-input-token.test.ts | 0 .../increase-liquidity-quote-by-liq.test.ts | 0 .../sdk/whirlpools/swap/swap-array.test.ts | 0 .../sdk/whirlpools/swap/swap-dev-fee.test.ts | 0 .../sdk/whirlpools/swap/swap-traverse.test.ts | 0 .../swap/swap-with-fallback.test.ts | 0 .../sdk/whirlpools/swap/v2/swap-array.test.ts | 0 .../whirlpools/swap/v2/swap-traverse.test.ts | 0 .../sdk/whirlpools/utils/pool-graph.test.ts | 0 .../sdk/whirlpools/utils/pool-utils.test.ts | 0 .../utils/position-bundle-util.test.ts | 0 .../whirlpools/utils/position-util.test.ts | 0 .../sdk/whirlpools/utils/price-math.test.ts | 0 .../sdk/whirlpools/utils/swap-utils.test.ts | 0 .../utils/tick-array-sequence.test.ts | 0 .../sdk/whirlpools/utils/tick-utils.test.ts | 0 .../utils/token-extension-util.test.ts | 0 .../whirlpools/whirlpool-client-impl.test.ts | 0 .../whirlpool-impl#closePosition.test.ts | 0 ...#collectFeesAndRewardsForPositions.test.ts | 0 .../sdk/whirlpools/whirlpool-impl.test.ts | 0 {sdk => legacy}/tests/tsconfig.json | 0 {sdk => legacy}/tests/utils/assert.ts | 0 {sdk => legacy}/tests/utils/const.ts | 0 {sdk => legacy}/tests/utils/fixture.ts | 0 .../tests/utils/graph-test-data.ts | 0 {sdk => legacy}/tests/utils/index.ts | 0 {sdk => legacy}/tests/utils/init-utils.ts | 0 {sdk => legacy}/tests/utils/metaplex.ts | 0 .../tests/utils/pool-utils.test.ts | 0 .../tests/utils/swap-test-utils.ts | 0 {sdk => legacy}/tests/utils/test-builders.ts | 0 {sdk => legacy}/tests/utils/test-consts.ts | 0 {sdk => legacy}/tests/utils/testDataTypes.ts | 0 {sdk => legacy}/tests/utils/token.ts | 0 {sdk => legacy}/tests/utils/utils.ts | 0 {sdk => legacy}/tests/utils/v2/aquarium-v2.ts | 0 .../tests/utils/v2/confidential-transfer.ts | 0 {sdk => legacy}/tests/utils/v2/fixture-v2.ts | 0 .../tests/utils/v2/init-utils-v2.ts | 0 .../tests/utils/v2/swap-test-utils-v2.ts | 0 .../utils/v2/test-transfer-hook-program.ts | 0 {sdk => legacy}/tests/utils/v2/token-2022.ts | 0 .../tests/utils/v2/transfer-fee.ts | 0 .../tests/utils/whirlpools-test-utils.ts | 0 legacy/tsconfig.json | 11 + migrations/deploy.js | 12 - nx.json | 27 + package.json | 48 +- programs/package.json | 12 + scripts/package.json | 11 +- sdk/.gitignore | 1 - sdk/.prettierignore | 2 - sdk/.prettierrc | 3 - sdk/jest.config.js | 20 - sdk/package.json | 77 - sdk/src/artifacts/whirlpool.json | 3850 -------- sdk/src/artifacts/whirlpool.ts | 7701 ----------------- sdk/tsconfig-base.json | 26 - sdk/typedoc.json | 8 - tsconfig.json | 30 +- yarn.lock | 6533 ++++++++------ 477 files changed, 5419 insertions(+), 18205 deletions(-) create mode 100644 .github/CODEOWNERS create mode 100644 .github/ISSUE_TEMPLATE/bug.yaml create mode 100644 .github/ISSUE_TEMPLATE/feature.yaml create mode 100644 .github/actions/anchor/action.yml create mode 100644 .github/dependabot.yml create mode 100644 .github/pull_request_template.md create mode 100644 .github/workflows/checks.yml create mode 100644 .github/workflows/dependabot.yml create mode 100644 .github/workflows/publish.yml create mode 100644 .github/workflows/security.yml create mode 100755 .husky/pre-commit create mode 100755 .yarn/releases/yarn-4.3.1.cjs create mode 100644 .yarnrc.yml create mode 100644 SECURITY.md delete mode 100644 docs/.nojekyll delete mode 100644 docs/assets/highlight.css delete mode 100644 docs/assets/main.js delete mode 100644 docs/assets/navigation.js delete mode 100644 docs/assets/search.js delete mode 100644 docs/assets/style.css delete mode 100644 docs/classes/PDAUtil.html delete mode 100644 docs/classes/ParsableFeeTier.html delete mode 100644 docs/classes/ParsablePosition.html delete mode 100644 docs/classes/ParsablePositionBundle.html delete mode 100644 docs/classes/ParsableTickArray.html delete mode 100644 docs/classes/ParsableTokenBadge.html delete mode 100644 docs/classes/ParsableWhirlpool.html delete mode 100644 docs/classes/ParsableWhirlpoolsConfig.html delete mode 100644 docs/classes/ParsableWhirlpoolsConfigExtension.html delete mode 100644 docs/classes/PoolGraphBuilder.html delete mode 100644 docs/classes/PoolGraphUtils.html delete mode 100644 docs/classes/PoolUtil.html delete mode 100644 docs/classes/PositionBundleUtil.html delete mode 100644 docs/classes/PriceMath.html delete mode 100644 docs/classes/PriceModule.html delete mode 100644 docs/classes/PriceModuleUtils.html delete mode 100644 docs/classes/RouterUtils.html delete mode 100644 docs/classes/SwapUtils.html delete mode 100644 docs/classes/TickArrayUtil.html delete mode 100644 docs/classes/TickUtil.html delete mode 100644 docs/classes/TokenExtensionUtil.html delete mode 100644 docs/classes/WhirlpoolAccountFetcher.html delete mode 100644 docs/classes/WhirlpoolContext.html delete mode 100644 docs/classes/WhirlpoolIx.html delete mode 100644 docs/classes/WhirlpoolRouterBuilder.html delete mode 100644 docs/enums/AccountName.html delete mode 100644 docs/enums/SwapDirection.html delete mode 100644 docs/enums/TokenType.html delete mode 100644 docs/functions/buildDefaultAccountFetcher.html delete mode 100644 docs/functions/buildWhirlpoolClient.html delete mode 100644 docs/functions/collectFeesQuote-1.html delete mode 100644 docs/functions/collectRewardsQuote-1.html delete mode 100644 docs/functions/decreaseLiquidityQuoteByLiquidity.html delete mode 100644 docs/functions/decreaseLiquidityQuoteByLiquidityWithParams.html delete mode 100644 docs/functions/decreaseLiquidityQuoteByLiquidityWithParamsUsingPriceSlippage.html delete mode 100644 docs/functions/getAccountSize.html delete mode 100644 docs/functions/getAllWhirlpoolAccountsForConfig.html delete mode 100644 docs/functions/increaseLiquidityQuoteByInputToken.html delete mode 100644 docs/functions/increaseLiquidityQuoteByInputTokenUsingPriceSlippage.html delete mode 100644 docs/functions/increaseLiquidityQuoteByInputTokenWithParams.html delete mode 100644 docs/functions/increaseLiquidityQuoteByInputTokenWithParamsUsingPriceSlippage.html delete mode 100644 docs/functions/increaseLiquidityQuoteByLiquidityWithParams.html delete mode 100644 docs/functions/swapQuoteByInputToken.html delete mode 100644 docs/functions/swapQuoteByInputTokenWithDevFees.html delete mode 100644 docs/functions/swapQuoteByOutputToken.html delete mode 100644 docs/functions/swapQuoteWithParams.html delete mode 100644 docs/functions/toTokenAmount.html delete mode 100644 docs/functions/toTx.html delete mode 100644 docs/functions/twoHopSwapQuoteFromSwapQuotes.html delete mode 100644 docs/hierarchy.html delete mode 100644 docs/index.html delete mode 100644 docs/interfaces/PoolTokenPair.html delete mode 100644 docs/interfaces/Position.html delete mode 100644 docs/interfaces/TickArrayRequest.html delete mode 100644 docs/interfaces/Whirlpool.html delete mode 100644 docs/interfaces/WhirlpoolAccountFetcherInterface.html delete mode 100644 docs/interfaces/WhirlpoolClient.html delete mode 100644 docs/interfaces/WhirlpoolRouter.html delete mode 100644 docs/modules.html delete mode 100644 docs/types/AccountResolverOptions.html delete mode 100644 docs/types/AtaAccountInfo.html delete mode 100644 docs/types/CloseBundledPositionParams.html delete mode 100644 docs/types/ClosePositionParams.html delete mode 100644 docs/types/CollectAllParams.html delete mode 100644 docs/types/CollectAllPositionAddressParams.html delete mode 100644 docs/types/CollectAllPositionParams.html delete mode 100644 docs/types/CollectFeesParams.html delete mode 100644 docs/types/CollectFeesQuote.html delete mode 100644 docs/types/CollectFeesQuoteParam.html delete mode 100644 docs/types/CollectFeesV2Params.html delete mode 100644 docs/types/CollectProtocolFeesParams.html delete mode 100644 docs/types/CollectProtocolFeesV2Params.html delete mode 100644 docs/types/CollectRewardParams.html delete mode 100644 docs/types/CollectRewardV2Params.html delete mode 100644 docs/types/CollectRewardsQuote.html delete mode 100644 docs/types/CollectRewardsQuoteParam.html delete mode 100644 docs/types/DecimalsMap.html delete mode 100644 docs/types/DecreaseLiquidityInput.html delete mode 100644 docs/types/DecreaseLiquidityParams.html delete mode 100644 docs/types/DecreaseLiquidityQuote.html delete mode 100644 docs/types/DecreaseLiquidityQuoteParam.html delete mode 100644 docs/types/DecreaseLiquidityV2Params.html delete mode 100644 docs/types/DeletePositionBundleParams.html delete mode 100644 docs/types/DeleteTokenBadgeParams.html delete mode 100644 docs/types/DevFeeSwapInput.html delete mode 100644 docs/types/DevFeeSwapQuote.html delete mode 100644 docs/types/Edge.html delete mode 100644 docs/types/ExecutableRoute.html delete mode 100644 docs/types/FeeTierData.html delete mode 100644 docs/types/GetPricesConfig.html delete mode 100644 docs/types/GetPricesThresholdConfig.html delete mode 100644 docs/types/IncreaseLiquidityInput.html delete mode 100644 docs/types/IncreaseLiquidityParams.html delete mode 100644 docs/types/IncreaseLiquidityQuote.html delete mode 100644 docs/types/IncreaseLiquidityQuoteByLiquidityParam.html delete mode 100644 docs/types/IncreaseLiquidityQuoteParam.html delete mode 100644 docs/types/IncreaseLiquidityV2Params.html delete mode 100644 docs/types/InitConfigExtensionParams.html delete mode 100644 docs/types/InitConfigParams.html delete mode 100644 docs/types/InitFeeTierParams.html delete mode 100644 docs/types/InitPoolParams.html delete mode 100644 docs/types/InitPoolV2Params.html delete mode 100644 docs/types/InitTickArrayParams.html delete mode 100644 docs/types/InitializePositionBundleParams.html delete mode 100644 docs/types/InitializeRewardParams.html delete mode 100644 docs/types/InitializeRewardV2Params.html delete mode 100644 docs/types/InitializeTokenBadgeParams.html delete mode 100644 docs/types/NormalSwapQuote.html delete mode 100644 docs/types/NormalTwoHopSwapQuote.html delete mode 100644 docs/types/OpenBundledPositionParams.html delete mode 100644 docs/types/OpenPositionBumpsData.html delete mode 100644 docs/types/OpenPositionParams.html delete mode 100644 docs/types/OpenPositionWithMetadataBumpsData.html delete mode 100644 docs/types/Path.html delete mode 100644 docs/types/PathSearchEntries.html delete mode 100644 docs/types/PathSearchOptions.html delete mode 100644 docs/types/PoolGraph.html delete mode 100644 docs/types/PoolMap.html delete mode 100644 docs/types/PositionBundleData.html delete mode 100644 docs/types/PositionData.html delete mode 100644 docs/types/PositionRewardInfoData.html delete mode 100644 docs/types/PriceCalculationData.html delete mode 100644 docs/types/PriceMap.html delete mode 100644 docs/types/RouteSelectOptions.html delete mode 100644 docs/types/RoutingOptions.html delete mode 100644 docs/types/SetCollectProtocolFeesAuthorityParams.html delete mode 100644 docs/types/SetConfigExtensionAuthorityParams.html delete mode 100644 docs/types/SetDefaultFeeRateParams.html delete mode 100644 docs/types/SetDefaultProtocolFeeRateParams.html delete mode 100644 docs/types/SetFeeAuthorityParams.html delete mode 100644 docs/types/SetFeeRateParams.html delete mode 100644 docs/types/SetProtocolFeeRateParams.html delete mode 100644 docs/types/SetRewardAuthorityBySuperAuthorityParams.html delete mode 100644 docs/types/SetRewardAuthorityParams.html delete mode 100644 docs/types/SetRewardEmissionsParams.html delete mode 100644 docs/types/SetRewardEmissionsSuperAuthorityParams.html delete mode 100644 docs/types/SetRewardEmissionsV2Params.html delete mode 100644 docs/types/SetTokenBadgeAuthorityParams.html delete mode 100644 docs/types/SubTradeRoute.html delete mode 100644 docs/types/SwapEstimates.html delete mode 100644 docs/types/SwapInput.html delete mode 100644 docs/types/SwapParams.html delete mode 100644 docs/types/SwapQuote.html delete mode 100644 docs/types/SwapQuoteParam.html delete mode 100644 docs/types/SwapV2Params.html delete mode 100644 docs/types/TickArray.html delete mode 100644 docs/types/TickArrayData.html delete mode 100644 docs/types/TickArrayMap.html delete mode 100644 docs/types/TickData.html delete mode 100644 docs/types/TokenAccountInfo.html delete mode 100644 docs/types/TokenAmounts.html delete mode 100644 docs/types/TokenBadgeData.html delete mode 100644 docs/types/TokenExtensionContext.html delete mode 100644 docs/types/TokenExtensionContextForPool.html delete mode 100644 docs/types/TokenExtensionContextForReward.html delete mode 100644 docs/types/TokenInfo.html delete mode 100644 docs/types/Trade.html delete mode 100644 docs/types/TradeHop.html delete mode 100644 docs/types/TradeHopSnapshot.html delete mode 100644 docs/types/TradeRoute.html delete mode 100644 docs/types/TransferFeeExcludedAmount.html delete mode 100644 docs/types/TransferFeeIncludedAmount.html delete mode 100644 docs/types/TwoHopSwapQuote.html delete mode 100644 docs/types/TwoHopSwapV2Params.html delete mode 100644 docs/types/UpdateFeesAndRewardsParams.html delete mode 100644 docs/types/WhirlpoolAccountFetchOptions.html delete mode 100644 docs/types/WhirlpoolBumpsData.html delete mode 100644 docs/types/WhirlpoolContextOpts.html delete mode 100644 docs/types/WhirlpoolData.html delete mode 100644 docs/types/WhirlpoolRewardInfo.html delete mode 100644 docs/types/WhirlpoolRewardInfoData.html delete mode 100644 docs/types/WhirlpoolSupportedTypes.html delete mode 100644 docs/types/WhirlpoolsConfigData.html delete mode 100644 docs/types/WhirlpoolsConfigExtensionData.html delete mode 100644 docs/variables/DEFAULT_WHIRLPOOL_RETENTION_POLICY.html delete mode 100644 docs/variables/FEE_RATE_MUL_VALUE.html delete mode 100644 docs/variables/IGNORE_CACHE.html delete mode 100644 docs/variables/MAX_SQRT_PRICE.html delete mode 100644 docs/variables/MAX_SQRT_PRICE_BN.html delete mode 100644 docs/variables/MAX_SWAP_TICK_ARRAYS.html delete mode 100644 docs/variables/MAX_TICK_INDEX.html delete mode 100644 docs/variables/MEMO_PROGRAM_ADDRESS.html delete mode 100644 docs/variables/METADATA_PROGRAM_ADDRESS.html delete mode 100644 docs/variables/MIN_SQRT_PRICE.html delete mode 100644 docs/variables/MIN_SQRT_PRICE_BN.html delete mode 100644 docs/variables/MIN_TICK_INDEX.html delete mode 100644 docs/variables/NO_TOKEN_EXTENSION_CONTEXT.html delete mode 100644 docs/variables/NUM_REWARDS.html delete mode 100644 docs/variables/ORCA_SUPPORTED_TICK_SPACINGS.html delete mode 100644 docs/variables/ORCA_WHIRLPOOLS_CONFIG.html delete mode 100644 docs/variables/ORCA_WHIRLPOOLS_CONFIG_EXTENSION.html delete mode 100644 docs/variables/ORCA_WHIRLPOOL_PROGRAM_ID.html delete mode 100644 docs/variables/POSITION_BUNDLE_SIZE.html delete mode 100644 docs/variables/PREFER_CACHE.html delete mode 100644 docs/variables/PROTOCOL_FEE_RATE_MUL_VALUE.html delete mode 100644 docs/variables/TICK_ARRAY_SIZE.html delete mode 100644 docs/variables/WHIRLPOOL_ACCOUNT_SIZE.html delete mode 100644 docs/variables/WHIRLPOOL_CODER.html delete mode 100644 docs/variables/WHIRLPOOL_IDL.html delete mode 100644 docs/variables/WHIRLPOOL_NFT_UPDATE_AUTH.html delete mode 100644 docs/variables/defaultGetPricesConfig.html delete mode 100644 docs/variables/defaultGetPricesThresholdConfig.html delete mode 100644 docs/variables/defaultQuoteTokens.html rename {sdk => legacy}/README.md (100%) create mode 100644 legacy/package.json rename {sdk => legacy}/src/context.ts (100%) rename {sdk => legacy}/src/errors/errors.ts (100%) rename {sdk => legacy}/src/impl/position-impl.ts (100%) rename {sdk => legacy}/src/impl/util.ts (100%) rename {sdk => legacy}/src/impl/whirlpool-client-impl.ts (100%) rename {sdk => legacy}/src/impl/whirlpool-impl.ts (100%) rename {sdk => legacy}/src/index.ts (100%) rename {sdk => legacy}/src/instructions/close-bundled-position-ix.ts (100%) rename {sdk => legacy}/src/instructions/close-position-ix.ts (100%) rename {sdk => legacy}/src/instructions/collect-fees-ix.ts (100%) rename {sdk => legacy}/src/instructions/collect-protocol-fees-ix.ts (100%) rename {sdk => legacy}/src/instructions/collect-reward-ix.ts (100%) rename {sdk => legacy}/src/instructions/composites/collect-all-txn.ts (100%) rename {sdk => legacy}/src/instructions/composites/collect-protocol-fees.ts (100%) rename {sdk => legacy}/src/instructions/composites/index.ts (100%) rename {sdk => legacy}/src/instructions/composites/swap-async.ts (100%) rename {sdk => legacy}/src/instructions/composites/swap-with-route.ts (100%) rename {sdk => legacy}/src/instructions/decrease-liquidity-ix.ts (100%) rename {sdk => legacy}/src/instructions/delete-position-bundle-ix.ts (100%) rename {sdk => legacy}/src/instructions/increase-liquidity-ix.ts (100%) rename {sdk => legacy}/src/instructions/index.ts (100%) rename {sdk => legacy}/src/instructions/initialize-config-ix.ts (100%) rename {sdk => legacy}/src/instructions/initialize-fee-tier-ix.ts (100%) rename {sdk => legacy}/src/instructions/initialize-pool-ix.ts (100%) rename {sdk => legacy}/src/instructions/initialize-position-bundle-ix.ts (100%) rename {sdk => legacy}/src/instructions/initialize-reward-ix.ts (100%) rename {sdk => legacy}/src/instructions/initialize-tick-array-ix.ts (100%) rename {sdk => legacy}/src/instructions/open-bundled-position-ix.ts (100%) rename {sdk => legacy}/src/instructions/open-position-ix.ts (100%) rename {sdk => legacy}/src/instructions/set-collect-protocol-fees-authority-ix.ts (100%) rename {sdk => legacy}/src/instructions/set-default-fee-rate-ix.ts (100%) rename {sdk => legacy}/src/instructions/set-default-protocol-fee-rate-ix.ts (100%) rename {sdk => legacy}/src/instructions/set-fee-authority-ix.ts (100%) rename {sdk => legacy}/src/instructions/set-fee-rate-ix.ts (100%) rename {sdk => legacy}/src/instructions/set-protocol-fee-rate-ix.ts (100%) rename {sdk => legacy}/src/instructions/set-reward-authority-by-super-authority-ix.ts (100%) rename {sdk => legacy}/src/instructions/set-reward-authority-ix.ts (100%) rename {sdk => legacy}/src/instructions/set-reward-emissions-ix.ts (100%) rename {sdk => legacy}/src/instructions/set-reward-emissions-super-authority-ix.ts (100%) rename {sdk => legacy}/src/instructions/swap-ix.ts (100%) rename {sdk => legacy}/src/instructions/two-hop-swap-ix.ts (100%) rename {sdk => legacy}/src/instructions/update-fees-and-rewards-ix.ts (100%) rename {sdk => legacy}/src/instructions/v2/collect-fees-ix.ts (100%) rename {sdk => legacy}/src/instructions/v2/collect-protocol-fees-ix.ts (100%) rename {sdk => legacy}/src/instructions/v2/collect-reward-ix.ts (100%) rename {sdk => legacy}/src/instructions/v2/decrease-liquidity-ix.ts (100%) rename {sdk => legacy}/src/instructions/v2/delete-token-badge-ix.ts (100%) rename {sdk => legacy}/src/instructions/v2/increase-liquidity-ix.ts (100%) rename {sdk => legacy}/src/instructions/v2/index.ts (100%) rename {sdk => legacy}/src/instructions/v2/initialize-config-extension-ix.ts (100%) rename {sdk => legacy}/src/instructions/v2/initialize-pool-ix.ts (100%) rename {sdk => legacy}/src/instructions/v2/initialize-reward-ix.ts (100%) rename {sdk => legacy}/src/instructions/v2/initialize-token-badge-ix.ts (100%) rename {sdk => legacy}/src/instructions/v2/set-config-extension-authority-ix.ts (100%) rename {sdk => legacy}/src/instructions/v2/set-reward-emissions-ix.ts (100%) rename {sdk => legacy}/src/instructions/v2/set-token-badge-authority-ix.ts (100%) rename {sdk => legacy}/src/instructions/v2/swap-ix.ts (100%) rename {sdk => legacy}/src/instructions/v2/two-hop-swap-ix.ts (100%) rename {sdk => legacy}/src/ix.ts (100%) rename {sdk => legacy}/src/network/public/fetcher/fetcher-impl.ts (100%) rename {sdk => legacy}/src/network/public/fetcher/fetcher-types.ts (100%) rename {sdk => legacy}/src/network/public/fetcher/fetcher-utils.ts (100%) rename {sdk => legacy}/src/network/public/fetcher/index.ts (100%) rename {sdk => legacy}/src/network/public/index.ts (100%) rename {sdk => legacy}/src/network/public/parsing.ts (100%) rename {sdk => legacy}/src/prices/calculate-pool-prices.ts (100%) rename {sdk => legacy}/src/prices/index.ts (100%) rename {sdk => legacy}/src/prices/price-module.ts (100%) rename {sdk => legacy}/src/quotes/public/collect-fees-quote.ts (100%) rename {sdk => legacy}/src/quotes/public/collect-rewards-quote.ts (100%) rename {sdk => legacy}/src/quotes/public/decrease-liquidity-quote.ts (100%) rename {sdk => legacy}/src/quotes/public/dev-fee-swap-quote.ts (100%) rename {sdk => legacy}/src/quotes/public/increase-liquidity-quote.ts (100%) rename {sdk => legacy}/src/quotes/public/index.ts (100%) rename {sdk => legacy}/src/quotes/public/swap-quote.ts (100%) rename {sdk => legacy}/src/quotes/public/two-hop-swap-quote.ts (100%) rename {sdk => legacy}/src/quotes/swap/swap-manager.ts (100%) rename {sdk => legacy}/src/quotes/swap/swap-quote-impl.ts (100%) rename {sdk => legacy}/src/quotes/swap/tick-array-index.ts (100%) rename {sdk => legacy}/src/quotes/swap/tick-array-sequence.ts (100%) rename {sdk => legacy}/src/router/batch-swap-quote.ts (100%) rename {sdk => legacy}/src/router/convert-quote-map.ts (100%) rename {sdk => legacy}/src/router/public/index.ts (100%) rename {sdk => legacy}/src/router/public/router-builder.ts (100%) rename {sdk => legacy}/src/router/public/router-utils.ts (100%) rename {sdk => legacy}/src/router/quote-map.ts (100%) rename {sdk => legacy}/src/router/router-impl.ts (100%) rename {sdk => legacy}/src/tsconfig.json (100%) rename {sdk => legacy}/src/types/public/anchor-types.ts (100%) rename {sdk => legacy}/src/types/public/client-types.ts (100%) rename {sdk => legacy}/src/types/public/constants.ts (100%) rename {sdk => legacy}/src/types/public/index.ts (100%) rename {sdk => legacy}/src/types/public/ix-types.ts (95%) rename {sdk => legacy}/src/utils/builder/position-builder-util.ts (100%) rename {sdk => legacy}/src/utils/constants.ts (100%) rename {sdk => legacy}/src/utils/graphs/adjacency-list-pool-graph.ts (100%) rename {sdk => legacy}/src/utils/graphs/public/index.ts (100%) rename {sdk => legacy}/src/utils/graphs/public/pool-graph-builder.ts (100%) rename {sdk => legacy}/src/utils/graphs/public/pool-graph-utils.ts (100%) rename {sdk => legacy}/src/utils/graphs/public/pool-graph.ts (100%) rename {sdk => legacy}/src/utils/instructions-util.ts (100%) rename {sdk => legacy}/src/utils/math/bit-math.ts (100%) rename {sdk => legacy}/src/utils/math/constants.ts (100%) rename {sdk => legacy}/src/utils/math/k-smallest-partition.ts (100%) rename {sdk => legacy}/src/utils/math/swap-math.ts (100%) rename {sdk => legacy}/src/utils/math/token-math.ts (100%) rename {sdk => legacy}/src/utils/position-util.ts (100%) rename {sdk => legacy}/src/utils/public/index.ts (100%) rename {sdk => legacy}/src/utils/public/ix-utils.ts (100%) rename {sdk => legacy}/src/utils/public/pda-utils.ts (100%) rename {sdk => legacy}/src/utils/public/pool-utils.ts (100%) rename {sdk => legacy}/src/utils/public/position-bundle-util.ts (100%) rename {sdk => legacy}/src/utils/public/price-math.ts (100%) rename {sdk => legacy}/src/utils/public/swap-utils.ts (100%) rename {sdk => legacy}/src/utils/public/tick-utils.ts (100%) rename {sdk => legacy}/src/utils/public/token-extension-util.ts (100%) rename {sdk => legacy}/src/utils/public/types.ts (100%) rename {sdk => legacy}/src/utils/remaining-accounts-util.ts (100%) rename {sdk => legacy}/src/utils/spl-token-utils.ts (100%) rename {sdk => legacy}/src/utils/swap-utils.ts (100%) rename {sdk => legacy}/src/utils/txn-utils.ts (100%) rename {sdk => legacy}/src/utils/wallet-utils.ts (100%) rename {sdk => legacy}/src/utils/whirlpool-ata-utils.ts (100%) rename {sdk => legacy}/src/whirlpool-client.ts (100%) rename {sdk => legacy}/tests/external_program/mpl_token_metadata.20240214.so (100%) rename {sdk => legacy}/tests/external_program/transfer_hook_counter.so (100%) rename {sdk => legacy}/tests/integration/close_bundled_position.test.ts (100%) rename {sdk => legacy}/tests/integration/close_position.test.ts (100%) rename {sdk => legacy}/tests/integration/collect_fees.test.ts (100%) rename {sdk => legacy}/tests/integration/collect_protocol_fees.test.ts (100%) rename {sdk => legacy}/tests/integration/collect_reward.test.ts (100%) rename {sdk => legacy}/tests/integration/decrease_liquidity.test.ts (100%) rename {sdk => legacy}/tests/integration/delete_position_bundle.test.ts (100%) rename {sdk => legacy}/tests/integration/get_pool_prices.test.ts (100%) rename {sdk => legacy}/tests/integration/increase_liquidity.test.ts (100%) rename {sdk => legacy}/tests/integration/initialize_config.test.ts (100%) rename {sdk => legacy}/tests/integration/initialize_fee_tier.test.ts (100%) rename {sdk => legacy}/tests/integration/initialize_pool.test.ts (100%) rename {sdk => legacy}/tests/integration/initialize_position_bundle.test.ts (100%) rename {sdk => legacy}/tests/integration/initialize_position_bundle_with_metadata.test.ts (100%) rename {sdk => legacy}/tests/integration/initialize_reward.test.ts (100%) rename {sdk => legacy}/tests/integration/initialize_tick_array.test.ts (100%) rename {sdk => legacy}/tests/integration/multi-ix/bundled_position_management.test.ts (100%) rename {sdk => legacy}/tests/integration/multi-ix/position_management.test.ts (100%) rename {sdk => legacy}/tests/integration/multi-ix/sparse_swap.test.ts (100%) rename {sdk => legacy}/tests/integration/open_bundled_position.test.ts (100%) rename {sdk => legacy}/tests/integration/open_position.test.ts (100%) rename {sdk => legacy}/tests/integration/open_position_with_metadata.test.ts (100%) rename {sdk => legacy}/tests/integration/set_collect_protocol_fee_authority.test.ts (100%) rename {sdk => legacy}/tests/integration/set_default_fee_rate.test.ts (100%) rename {sdk => legacy}/tests/integration/set_default_protocol_fee_rate.test.ts (100%) rename {sdk => legacy}/tests/integration/set_fee_authority.test.ts (100%) rename {sdk => legacy}/tests/integration/set_fee_rate.test.ts (100%) rename {sdk => legacy}/tests/integration/set_protocol_fee_rate.test.ts (100%) rename {sdk => legacy}/tests/integration/set_reward_authority.test.ts (100%) rename {sdk => legacy}/tests/integration/set_reward_authority_by_super_authority.test.ts (100%) rename {sdk => legacy}/tests/integration/set_reward_emissions.test.ts (100%) rename {sdk => legacy}/tests/integration/set_reward_emissions_super_authority.test.ts (100%) rename {sdk => legacy}/tests/integration/swap.test.ts (100%) rename {sdk => legacy}/tests/integration/two_hop_swap.test.ts (100%) rename {sdk => legacy}/tests/integration/update_fees_and_rewards.test.ts (100%) rename {sdk => legacy}/tests/integration/v2/collect_fees_v2.test.ts (100%) rename {sdk => legacy}/tests/integration/v2/collect_protocol_fees_v2.test.ts (100%) rename {sdk => legacy}/tests/integration/v2/collect_reward_v2.test.ts (100%) rename {sdk => legacy}/tests/integration/v2/decrease_liquidity_v2.test.ts (100%) rename {sdk => legacy}/tests/integration/v2/increase_liquidity_v2.test.ts (100%) rename {sdk => legacy}/tests/integration/v2/initialize_pool_v2.test.ts (100%) rename {sdk => legacy}/tests/integration/v2/initialize_reward_v2.test.ts (100%) rename {sdk => legacy}/tests/integration/v2/set_reward_emissions_v2.test.ts (100%) rename {sdk => legacy}/tests/integration/v2/swap_v2.test.ts (100%) rename {sdk => legacy}/tests/integration/v2/token-badge/delete_token_badge.test.ts (100%) rename {sdk => legacy}/tests/integration/v2/token-badge/initialize_config_extension.test.ts (100%) rename {sdk => legacy}/tests/integration/v2/token-badge/initialize_token_badge.test.ts (100%) rename {sdk => legacy}/tests/integration/v2/token-badge/set_config_extension_authority.test.ts (100%) rename {sdk => legacy}/tests/integration/v2/token-badge/set_token_badge_authority.test.ts (100%) rename {sdk => legacy}/tests/integration/v2/token-extensions/memo-transfer.test.ts (100%) rename {sdk => legacy}/tests/integration/v2/token-extensions/non-confidential-transfer+transfer-fee.test.ts (100%) rename {sdk => legacy}/tests/integration/v2/token-extensions/non-confidential-transfer.test.ts (100%) rename {sdk => legacy}/tests/integration/v2/token-extensions/transfer-fee.test.ts (100%) rename {sdk => legacy}/tests/integration/v2/token-extensions/transfer-hook.test.ts (100%) rename {sdk => legacy}/tests/integration/v2/two_hop_swap_v2.test.ts (100%) rename {sdk => legacy}/tests/sdk/router/router-util#priceImpact.test.ts (100%) rename {sdk => legacy}/tests/sdk/types/anchor-types.test.ts (100%) rename {sdk => legacy}/tests/sdk/whirlpools/position-impl#collectFees.test.ts (100%) rename {sdk => legacy}/tests/sdk/whirlpools/position-impl#collectRewards.test.ts (100%) rename {sdk => legacy}/tests/sdk/whirlpools/position-impl.test.ts (100%) rename {sdk => legacy}/tests/sdk/whirlpools/quote/decrease-liquidity-quote.test.ts (100%) rename {sdk => legacy}/tests/sdk/whirlpools/quote/increase-liquidity-quote-by-input-token.test.ts (100%) rename {sdk => legacy}/tests/sdk/whirlpools/quote/increase-liquidity-quote-by-liq.test.ts (100%) rename {sdk => legacy}/tests/sdk/whirlpools/swap/swap-array.test.ts (100%) rename {sdk => legacy}/tests/sdk/whirlpools/swap/swap-dev-fee.test.ts (100%) rename {sdk => legacy}/tests/sdk/whirlpools/swap/swap-traverse.test.ts (100%) rename {sdk => legacy}/tests/sdk/whirlpools/swap/swap-with-fallback.test.ts (100%) rename {sdk => legacy}/tests/sdk/whirlpools/swap/v2/swap-array.test.ts (100%) rename {sdk => legacy}/tests/sdk/whirlpools/swap/v2/swap-traverse.test.ts (100%) rename {sdk => legacy}/tests/sdk/whirlpools/utils/pool-graph.test.ts (100%) rename {sdk => legacy}/tests/sdk/whirlpools/utils/pool-utils.test.ts (100%) rename {sdk => legacy}/tests/sdk/whirlpools/utils/position-bundle-util.test.ts (100%) rename {sdk => legacy}/tests/sdk/whirlpools/utils/position-util.test.ts (100%) rename {sdk => legacy}/tests/sdk/whirlpools/utils/price-math.test.ts (100%) rename {sdk => legacy}/tests/sdk/whirlpools/utils/swap-utils.test.ts (100%) rename {sdk => legacy}/tests/sdk/whirlpools/utils/tick-array-sequence.test.ts (100%) rename {sdk => legacy}/tests/sdk/whirlpools/utils/tick-utils.test.ts (100%) rename {sdk => legacy}/tests/sdk/whirlpools/utils/token-extension-util.test.ts (100%) rename {sdk => legacy}/tests/sdk/whirlpools/whirlpool-client-impl.test.ts (100%) rename {sdk => legacy}/tests/sdk/whirlpools/whirlpool-impl#closePosition.test.ts (100%) rename {sdk => legacy}/tests/sdk/whirlpools/whirlpool-impl#collectFeesAndRewardsForPositions.test.ts (100%) rename {sdk => legacy}/tests/sdk/whirlpools/whirlpool-impl.test.ts (100%) rename {sdk => legacy}/tests/tsconfig.json (100%) rename {sdk => legacy}/tests/utils/assert.ts (100%) rename {sdk => legacy}/tests/utils/const.ts (100%) rename {sdk => legacy}/tests/utils/fixture.ts (100%) rename {sdk => legacy}/tests/utils/graph-test-data.ts (100%) rename {sdk => legacy}/tests/utils/index.ts (100%) rename {sdk => legacy}/tests/utils/init-utils.ts (100%) rename {sdk => legacy}/tests/utils/metaplex.ts (100%) rename {sdk => legacy}/tests/utils/pool-utils.test.ts (100%) rename {sdk => legacy}/tests/utils/swap-test-utils.ts (100%) rename {sdk => legacy}/tests/utils/test-builders.ts (100%) rename {sdk => legacy}/tests/utils/test-consts.ts (100%) rename {sdk => legacy}/tests/utils/testDataTypes.ts (100%) rename {sdk => legacy}/tests/utils/token.ts (100%) rename {sdk => legacy}/tests/utils/utils.ts (100%) rename {sdk => legacy}/tests/utils/v2/aquarium-v2.ts (100%) rename {sdk => legacy}/tests/utils/v2/confidential-transfer.ts (100%) rename {sdk => legacy}/tests/utils/v2/fixture-v2.ts (100%) rename {sdk => legacy}/tests/utils/v2/init-utils-v2.ts (100%) rename {sdk => legacy}/tests/utils/v2/swap-test-utils-v2.ts (100%) rename {sdk => legacy}/tests/utils/v2/test-transfer-hook-program.ts (100%) rename {sdk => legacy}/tests/utils/v2/token-2022.ts (100%) rename {sdk => legacy}/tests/utils/v2/transfer-fee.ts (100%) rename {sdk => legacy}/tests/utils/whirlpools-test-utils.ts (100%) create mode 100644 legacy/tsconfig.json delete mode 100644 migrations/deploy.js create mode 100644 nx.json create mode 100644 programs/package.json delete mode 100644 sdk/.gitignore delete mode 100644 sdk/.prettierignore delete mode 100644 sdk/.prettierrc delete mode 100644 sdk/jest.config.js delete mode 100644 sdk/package.json delete mode 100644 sdk/src/artifacts/whirlpool.json delete mode 100644 sdk/src/artifacts/whirlpool.ts delete mode 100644 sdk/tsconfig-base.json delete mode 100644 sdk/typedoc.json diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 000000000..62215c5b3 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,4 @@ +* @yugure-orca @wjthieme +*.{rs,toml} @yugure-orca @philcchen +*.{ts,js} @wjthieme @odcheung + diff --git a/.github/ISSUE_TEMPLATE/bug.yaml b/.github/ISSUE_TEMPLATE/bug.yaml new file mode 100644 index 000000000..9080d48f8 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug.yaml @@ -0,0 +1,37 @@ +name: Bug Report +description: When you want to report something not working as expected. +title: "[Bug] " +labels: ["bug"] +body: + - type: textarea + id: details + attributes: + label: Details + description: A clear and concise description of what the issue is. + placeholder: Something did not go as expected. + validations: + required: true + - type: textarea + id: reproduce + attributes: + label: Steps to reproduce + description: The steps taken to reproduce the behavior. + placeholder: "1. Go to '...'\n2. Click on '....'\n3. Scroll down to '....'\n4. See error" + validations: + required: true + - type: textarea + id: expected + attributes: + label: Expected behavior + description: A clear and concise description of what was supposed to happen. + placeholder: The following things were supposed to happen. + validations: + required: true + - type: input + id: browser + attributes: + label: Browser + description: The browser that this issue occurs on. + placeholder: Safari + validations: + required: true diff --git a/.github/ISSUE_TEMPLATE/feature.yaml b/.github/ISSUE_TEMPLATE/feature.yaml new file mode 100644 index 000000000..d0da1b5b2 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature.yaml @@ -0,0 +1,21 @@ +name: Feature Request +description: When you have an idea for an improvement or new feature. +title: "[Feature] " +labels: ["feature"] +body: + - type: textarea + id: details + attributes: + label: Details + description: A clear and concise description of what should be added. + placeholder: Something needs to be added. + validations: + required: true + - type: textarea + id: alternatives + attributes: + label: Alternatives considered + description: A clear and concise description of any alternative solutions or features considered. + placeholder: Other alternatives solutions are not viable. + validations: + required: true diff --git a/.github/actions/anchor/action.yml b/.github/actions/anchor/action.yml new file mode 100644 index 000000000..7657c6483 --- /dev/null +++ b/.github/actions/anchor/action.yml @@ -0,0 +1,73 @@ +name: 'Setup Anchor Development Environment' +description: 'Sets up the solana sdk using the specified version' + +branding: + icon: anchor + color: blue + +inputs: + anchor-version: + description: 'The version of anchor to use.' + required: false + default: 'v0.29.0' + solana-key: + description: 'The private key to use for the solana sdk.' + required: false + solana-cluster: + description: 'The cluster to use for the solana sdk.' + required: false + default: 'devnet' + run: + description: 'The command(s) to run.' + +runs: + using: "composite" + steps: + - name: Shell Setup + run: | + touch run + chmod +x run + echo "#!/bin/bash" >> run + echo "set -xeo pipefail" >> run + shell: bash + - name: Install Dependencies + run: | + echo "yarn" >> run + shell: bash + - name: Configure Solana + run: | + echo "solana config set --url ${{ inputs.solana-cluster }}" >> run + shell: bash + - name: Configure Solana Key + if: ${{ !inputs.solana-key }} + run: | + echo "solana-keygen new --no-bip39-passphrase" >> run + shell: bash + - name: Configure Solana Key + if: ${{ inputs.solana-key }} + run: | + echo "echo \"${{ inputs.solana-key }}\" > ~/.config/solana/id.json" >> run + shell: bash + - name: Airdrop Solana + if: ${{ inputs.solana-key && inputs.solana-cluster == 'devnet' }} + run: | + echo "solana airdrop 1 || true" >> run + shell: bash + - name: Run Commands + run: | + echo "${{ inputs.run }}" >> run + shell: bash + - name: Log Commands + run: | + echo "---" + cat run + echo "---" + shell: bash + - name: Run Docker + run: | + docker run \ + --entrypoint '/workdir/run' \ + -v "$(pwd)":/workdir \ + backpackapp/build:${{ inputs.anchor-version }} + shell: bash + diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..ad689d677 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,17 @@ +version: 2 +updates: + - package-ecosystem: "npm" + directory: "/" + schedule: + interval: "daily" + labels: [ ] + - package-ecosystem: "cargo" + directory: "/" + schedule: + interval: "daily" + labels: [ ] + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "daily" + labels: [ ] diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 000000000..a77c7a296 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,7 @@ + diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml new file mode 100644 index 000000000..ebe271436 --- /dev/null +++ b/.github/workflows/checks.yml @@ -0,0 +1,31 @@ +name: Checks + +on: + pull_request: + branches: [main] + +jobs: + + build: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Build Packages + uses: ./.github/actions/anchor + with: + run: | + export RUST_LOG= + yarn build --output-style static + + test: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + - name: Run Tests + uses: ./.github/actions/anchor + with: + run: | + export RUST_LOG= + yarn test --exclude legacy --output-style static diff --git a/.github/workflows/dependabot.yml b/.github/workflows/dependabot.yml new file mode 100644 index 000000000..0776c375f --- /dev/null +++ b/.github/workflows/dependabot.yml @@ -0,0 +1,20 @@ +name: Dependabot + +on: + pull_request: + types: [opened] + +jobs: + + automerge: + runs-on: ubuntu-latest + if: github.actor == 'dependabot[bot]' + permissions: + pull-requests: write + contents: write + steps: + - name: Enable Automerge + run: gh pr merge --auto --squash "$PR_URL" + env: + PR_URL: ${{ github.event.pull_request.html_url }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 000000000..d11a96d66 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,75 @@ +name: Publish + +on: + push: + tags: + - 'v[0-9]+.[0-9]+.[0-9]+' + +jobs: + + npm: + strategy: + matrix: + package: [] + runs-on: ubuntu-latest + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Deploy npm + uses: ./.github/actions/anchor + with: + run: | + export RUST_LOG= + # TODO: Copy over keys from root package.json + cd ${{ matrix.package }} && yarn version $(basename ${{ github.ref }}) + yarn install + yarn build ${{ matrix.package }} --output-style static + cd ${{ matrix.package }} && npm publish --access public + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + + cargo: + strategy: + matrix: + package: [] + runs-on: ubuntu-latest + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Deploy cargo + uses: ./.github/actions/anchor + with: + run: | + export RUST_LOG= + # deploy cargo + + verifiable: + runs-on: ubuntu-latest + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Deploy cargo + uses: ./.github/actions/anchor + with: + run: | + export RUST_LOG= + # verifiable build and add to release + + release: + needs: [npm, cargo, verifiable] + if: ${{ always() }} + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - name: Create Release + uses: ncipollo/release-action@v1 + with: + generateReleaseNotes: true + allowUpdates: true diff --git a/.github/workflows/security.yml b/.github/workflows/security.yml new file mode 100644 index 000000000..6c66660e4 --- /dev/null +++ b/.github/workflows/security.yml @@ -0,0 +1,25 @@ +name: Security + +on: + pull_request: + branches: [main] + push: + branches: [main] + schedule: + - cron: '0 8 * * *' + +jobs: + + analyze: + runs-on: ubuntu-latest + permissions: + security-events: write + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + - name: Initialize CodeQL + uses: github/codeql-action/init@v3 + with: + languages: javascript + - name: Analyze CodeQL + uses: github/codeql-action/analyze@v3 diff --git a/.gitignore b/.gitignore index c4aeb58b9..feeb90cc7 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,13 @@ sdk/node_modules .vscode/ **/.yalc/ **/yalc.lock +dist +artifacts +generated +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/sdks +!.yarn/versions +.nx diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100755 index 000000000..651db12f5 --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,5 @@ +#!/usr/bin/env sh +. "$(dirname -- "$0")/_/husky.sh" + +# TODO: enable linting on pre-commit +# yarn lint-staged diff --git a/.yarn/releases/yarn-4.3.1.cjs b/.yarn/releases/yarn-4.3.1.cjs new file mode 100755 index 000000000..270158ae3 --- /dev/null +++ b/.yarn/releases/yarn-4.3.1.cjs @@ -0,0 +1,894 @@ +#!/usr/bin/env node +/* eslint-disable */ +//prettier-ignore +(()=>{var $3e=Object.create;var NF=Object.defineProperty;var e_e=Object.getOwnPropertyDescriptor;var t_e=Object.getOwnPropertyNames;var r_e=Object.getPrototypeOf,n_e=Object.prototype.hasOwnProperty;var ve=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+t+'" is not supported')});var Et=(t,e)=>()=>(t&&(e=t(t=0)),e);var _=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),zt=(t,e)=>{for(var r in e)NF(t,r,{get:e[r],enumerable:!0})},i_e=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of t_e(e))!n_e.call(t,a)&&a!==r&&NF(t,a,{get:()=>e[a],enumerable:!(o=e_e(e,a))||o.enumerable});return t};var Ze=(t,e,r)=>(r=t!=null?$3e(r_e(t)):{},i_e(e||!t||!t.__esModule?NF(r,"default",{value:t,enumerable:!0}):r,t));var vi={};zt(vi,{SAFE_TIME:()=>x7,S_IFDIR:()=>IP,S_IFLNK:()=>BP,S_IFMT:()=>Mu,S_IFREG:()=>_w});var Mu,IP,_w,BP,x7,k7=Et(()=>{Mu=61440,IP=16384,_w=32768,BP=40960,x7=456789e3});var nr={};zt(nr,{EBADF:()=>wo,EBUSY:()=>s_e,EEXIST:()=>A_e,EINVAL:()=>a_e,EISDIR:()=>u_e,ENOENT:()=>l_e,ENOSYS:()=>o_e,ENOTDIR:()=>c_e,ENOTEMPTY:()=>p_e,EOPNOTSUPP:()=>h_e,EROFS:()=>f_e,ERR_DIR_CLOSED:()=>OF});function Ll(t,e){return Object.assign(new Error(`${t}: ${e}`),{code:t})}function s_e(t){return Ll("EBUSY",t)}function o_e(t,e){return Ll("ENOSYS",`${t}, ${e}`)}function a_e(t){return Ll("EINVAL",`invalid argument, ${t}`)}function wo(t){return Ll("EBADF",`bad file descriptor, ${t}`)}function l_e(t){return Ll("ENOENT",`no such file or directory, ${t}`)}function c_e(t){return Ll("ENOTDIR",`not a directory, ${t}`)}function u_e(t){return Ll("EISDIR",`illegal operation on a directory, ${t}`)}function A_e(t){return Ll("EEXIST",`file already exists, ${t}`)}function f_e(t){return Ll("EROFS",`read-only filesystem, ${t}`)}function p_e(t){return Ll("ENOTEMPTY",`directory not empty, ${t}`)}function h_e(t){return Ll("EOPNOTSUPP",`operation not supported, ${t}`)}function OF(){return Ll("ERR_DIR_CLOSED","Directory handle was closed")}var vP=Et(()=>{});var Ea={};zt(Ea,{BigIntStatsEntry:()=>ey,DEFAULT_MODE:()=>_F,DirEntry:()=>MF,StatEntry:()=>$m,areStatsEqual:()=>HF,clearStats:()=>PP,convertToBigIntStats:()=>d_e,makeDefaultStats:()=>Q7,makeEmptyStats:()=>g_e});function Q7(){return new $m}function g_e(){return PP(Q7())}function PP(t){for(let e in t)if(Object.hasOwn(t,e)){let r=t[e];typeof r=="number"?t[e]=0:typeof r=="bigint"?t[e]=BigInt(0):UF.types.isDate(r)&&(t[e]=new Date(0))}return t}function d_e(t){let e=new ey;for(let r in t)if(Object.hasOwn(t,r)){let o=t[r];typeof o=="number"?e[r]=BigInt(o):UF.types.isDate(o)&&(e[r]=new Date(o))}return e.atimeNs=e.atimeMs*BigInt(1e6),e.mtimeNs=e.mtimeMs*BigInt(1e6),e.ctimeNs=e.ctimeMs*BigInt(1e6),e.birthtimeNs=e.birthtimeMs*BigInt(1e6),e}function HF(t,e){if(t.atimeMs!==e.atimeMs||t.birthtimeMs!==e.birthtimeMs||t.blksize!==e.blksize||t.blocks!==e.blocks||t.ctimeMs!==e.ctimeMs||t.dev!==e.dev||t.gid!==e.gid||t.ino!==e.ino||t.isBlockDevice()!==e.isBlockDevice()||t.isCharacterDevice()!==e.isCharacterDevice()||t.isDirectory()!==e.isDirectory()||t.isFIFO()!==e.isFIFO()||t.isFile()!==e.isFile()||t.isSocket()!==e.isSocket()||t.isSymbolicLink()!==e.isSymbolicLink()||t.mode!==e.mode||t.mtimeMs!==e.mtimeMs||t.nlink!==e.nlink||t.rdev!==e.rdev||t.size!==e.size||t.uid!==e.uid)return!1;let r=t,o=e;return!(r.atimeNs!==o.atimeNs||r.mtimeNs!==o.mtimeNs||r.ctimeNs!==o.ctimeNs||r.birthtimeNs!==o.birthtimeNs)}var UF,_F,MF,$m,ey,qF=Et(()=>{UF=Ze(ve("util")),_F=33188,MF=class{constructor(){this.name="";this.path="";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},$m=class{constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atimeMs=0;this.mtimeMs=0;this.ctimeMs=0;this.birthtimeMs=0;this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=0;this.ino=0;this.mode=_F;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},ey=class{constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);this.blksize=BigInt(0);this.atimeMs=BigInt(0);this.mtimeMs=BigInt(0);this.ctimeMs=BigInt(0);this.birthtimeMs=BigInt(0);this.atimeNs=BigInt(0);this.mtimeNs=BigInt(0);this.ctimeNs=BigInt(0);this.birthtimeNs=BigInt(0);this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=BigInt(0);this.ino=BigInt(0);this.mode=BigInt(_F);this.nlink=BigInt(1);this.rdev=BigInt(0);this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(61440))===BigInt(16384)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(61440))===BigInt(32768)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(61440))===BigInt(40960)}}});function w_e(t){let e,r;if(e=t.match(E_e))t=e[1];else if(r=t.match(C_e))t=`\\\\${r[1]?".\\":""}${r[2]}`;else return t;return t.replace(/\//g,"\\")}function I_e(t){t=t.replace(/\\/g,"/");let e,r;return(e=t.match(m_e))?t=`/${e[1]}`:(r=t.match(y_e))&&(t=`/unc/${r[1]?".dot/":""}${r[2]}`),t}function DP(t,e){return t===ue?F7(e):GF(e)}var Hw,Bt,dr,ue,z,R7,m_e,y_e,E_e,C_e,GF,F7,Ca=Et(()=>{Hw=Ze(ve("path")),Bt={root:"/",dot:".",parent:".."},dr={home:"~",nodeModules:"node_modules",manifest:"package.json",lockfile:"yarn.lock",virtual:"__virtual__",pnpJs:".pnp.js",pnpCjs:".pnp.cjs",pnpData:".pnp.data.json",pnpEsmLoader:".pnp.loader.mjs",rc:".yarnrc.yml",env:".env"},ue=Object.create(Hw.default),z=Object.create(Hw.default.posix);ue.cwd=()=>process.cwd();z.cwd=process.platform==="win32"?()=>GF(process.cwd()):process.cwd;process.platform==="win32"&&(z.resolve=(...t)=>t.length>0&&z.isAbsolute(t[0])?Hw.default.posix.resolve(...t):Hw.default.posix.resolve(z.cwd(),...t));R7=function(t,e,r){return e=t.normalize(e),r=t.normalize(r),e===r?".":(e.endsWith(t.sep)||(e=e+t.sep),r.startsWith(e)?r.slice(e.length):null)};ue.contains=(t,e)=>R7(ue,t,e);z.contains=(t,e)=>R7(z,t,e);m_e=/^([a-zA-Z]:.*)$/,y_e=/^\/\/(\.\/)?(.*)$/,E_e=/^\/([a-zA-Z]:.*)$/,C_e=/^\/unc\/(\.dot\/)?(.*)$/;GF=process.platform==="win32"?I_e:t=>t,F7=process.platform==="win32"?w_e:t=>t;ue.fromPortablePath=F7;ue.toPortablePath=GF});async function SP(t,e){let r="0123456789abcdef";await t.mkdirPromise(e.indexPath,{recursive:!0});let o=[];for(let a of r)for(let n of r)o.push(t.mkdirPromise(t.pathUtils.join(e.indexPath,`${a}${n}`),{recursive:!0}));return await Promise.all(o),e.indexPath}async function T7(t,e,r,o,a){let n=t.pathUtils.normalize(e),u=r.pathUtils.normalize(o),A=[],p=[],{atime:h,mtime:E}=a.stableTime?{atime:Mg,mtime:Mg}:await r.lstatPromise(u);await t.mkdirpPromise(t.pathUtils.dirname(e),{utimes:[h,E]}),await jF(A,p,t,n,r,u,{...a,didParentExist:!0});for(let I of A)await I();await Promise.all(p.map(I=>I()))}async function jF(t,e,r,o,a,n,u){let A=u.didParentExist?await L7(r,o):null,p=await a.lstatPromise(n),{atime:h,mtime:E}=u.stableTime?{atime:Mg,mtime:Mg}:p,I;switch(!0){case p.isDirectory():I=await v_e(t,e,r,o,A,a,n,p,u);break;case p.isFile():I=await S_e(t,e,r,o,A,a,n,p,u);break;case p.isSymbolicLink():I=await b_e(t,e,r,o,A,a,n,p,u);break;default:throw new Error(`Unsupported file type (${p.mode})`)}return(u.linkStrategy?.type!=="HardlinkFromIndex"||!p.isFile())&&((I||A?.mtime?.getTime()!==E.getTime()||A?.atime?.getTime()!==h.getTime())&&(e.push(()=>r.lutimesPromise(o,h,E)),I=!0),(A===null||(A.mode&511)!==(p.mode&511))&&(e.push(()=>r.chmodPromise(o,p.mode&511)),I=!0)),I}async function L7(t,e){try{return await t.lstatPromise(e)}catch{return null}}async function v_e(t,e,r,o,a,n,u,A,p){if(a!==null&&!a.isDirectory())if(p.overwrite)t.push(async()=>r.removePromise(o)),a=null;else return!1;let h=!1;a===null&&(t.push(async()=>{try{await r.mkdirPromise(o,{mode:A.mode})}catch(v){if(v.code!=="EEXIST")throw v}}),h=!0);let E=await n.readdirPromise(u),I=p.didParentExist&&!a?{...p,didParentExist:!1}:p;if(p.stableSort)for(let v of E.sort())await jF(t,e,r,r.pathUtils.join(o,v),n,n.pathUtils.join(u,v),I)&&(h=!0);else(await Promise.all(E.map(async x=>{await jF(t,e,r,r.pathUtils.join(o,x),n,n.pathUtils.join(u,x),I)}))).some(x=>x)&&(h=!0);return h}async function P_e(t,e,r,o,a,n,u,A,p,h){let E=await n.checksumFilePromise(u,{algorithm:"sha1"}),I=420,v=A.mode&511,x=`${E}${v!==I?v.toString(8):""}`,C=r.pathUtils.join(h.indexPath,E.slice(0,2),`${x}.dat`),F;(ce=>(ce[ce.Lock=0]="Lock",ce[ce.Rename=1]="Rename"))(F||={});let N=1,U=await L7(r,C);if(a){let ae=U&&a.dev===U.dev&&a.ino===U.ino,le=U?.mtimeMs!==B_e;if(ae&&le&&h.autoRepair&&(N=0,U=null),!ae)if(p.overwrite)t.push(async()=>r.removePromise(o)),a=null;else return!1}let J=!U&&N===1?`${C}.${Math.floor(Math.random()*4294967296).toString(16).padStart(8,"0")}`:null,te=!1;return t.push(async()=>{if(!U&&(N===0&&await r.lockPromise(C,async()=>{let ae=await n.readFilePromise(u);await r.writeFilePromise(C,ae)}),N===1&&J)){let ae=await n.readFilePromise(u);await r.writeFilePromise(J,ae);try{await r.linkPromise(J,C)}catch(le){if(le.code==="EEXIST")te=!0,await r.unlinkPromise(J);else throw le}}a||await r.linkPromise(C,o)}),e.push(async()=>{U||(await r.lutimesPromise(C,Mg,Mg),v!==I&&await r.chmodPromise(C,v)),J&&!te&&await r.unlinkPromise(J)}),!1}async function D_e(t,e,r,o,a,n,u,A,p){if(a!==null)if(p.overwrite)t.push(async()=>r.removePromise(o)),a=null;else return!1;return t.push(async()=>{let h=await n.readFilePromise(u);await r.writeFilePromise(o,h)}),!0}async function S_e(t,e,r,o,a,n,u,A,p){return p.linkStrategy?.type==="HardlinkFromIndex"?P_e(t,e,r,o,a,n,u,A,p,p.linkStrategy):D_e(t,e,r,o,a,n,u,A,p)}async function b_e(t,e,r,o,a,n,u,A,p){if(a!==null)if(p.overwrite)t.push(async()=>r.removePromise(o)),a=null;else return!1;return t.push(async()=>{await r.symlinkPromise(DP(r.pathUtils,await n.readlinkPromise(u)),o)}),!0}var Mg,B_e,YF=Et(()=>{Ca();Mg=new Date(456789e3*1e3),B_e=Mg.getTime()});function bP(t,e,r,o){let a=()=>{let n=r.shift();if(typeof n>"u")return null;let u=t.pathUtils.join(e,n);return Object.assign(t.statSync(u),{name:n,path:void 0})};return new qw(e,a,o)}var qw,N7=Et(()=>{vP();qw=class{constructor(e,r,o={}){this.path=e;this.nextDirent=r;this.opts=o;this.closed=!1}throwIfClosed(){if(this.closed)throw OF()}async*[Symbol.asyncIterator](){try{let e;for(;(e=await this.read())!==null;)yield e}finally{await this.close()}}read(e){let r=this.readSync();return typeof e<"u"?e(null,r):Promise.resolve(r)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(e){return this.closeSync(),typeof e<"u"?e(null):Promise.resolve()}closeSync(){this.throwIfClosed(),this.opts.onClose?.(),this.closed=!0}}});function O7(t,e){if(t!==e)throw new Error(`Invalid StatWatcher status: expected '${e}', got '${t}'`)}var M7,ty,U7=Et(()=>{M7=ve("events");qF();ty=class extends M7.EventEmitter{constructor(r,o,{bigint:a=!1}={}){super();this.status="ready";this.changeListeners=new Map;this.startTimeout=null;this.fakeFs=r,this.path=o,this.bigint=a,this.lastStats=this.stat()}static create(r,o,a){let n=new ty(r,o,a);return n.start(),n}start(){O7(this.status,"ready"),this.status="running",this.startTimeout=setTimeout(()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit("change",this.lastStats,this.lastStats)},3)}stop(){O7(this.status,"running"),this.status="stopped",this.startTimeout!==null&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit("stop")}stat(){try{return this.fakeFs.statSync(this.path,{bigint:this.bigint})}catch{let o=this.bigint?new ey:new $m;return PP(o)}}makeInterval(r){let o=setInterval(()=>{let a=this.stat(),n=this.lastStats;HF(a,n)||(this.lastStats=a,this.emit("change",a,n))},r.interval);return r.persistent?o:o.unref()}registerChangeListener(r,o){this.addListener("change",r),this.changeListeners.set(r,this.makeInterval(o))}unregisterChangeListener(r){this.removeListener("change",r);let o=this.changeListeners.get(r);typeof o<"u"&&clearInterval(o),this.changeListeners.delete(r)}unregisterAllChangeListeners(){for(let r of this.changeListeners.keys())this.unregisterChangeListener(r)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(let r of this.changeListeners.values())r.ref();return this}unref(){for(let r of this.changeListeners.values())r.unref();return this}}});function ry(t,e,r,o){let a,n,u,A;switch(typeof r){case"function":a=!1,n=!0,u=5007,A=r;break;default:({bigint:a=!1,persistent:n=!0,interval:u=5007}=r),A=o;break}let p=xP.get(t);typeof p>"u"&&xP.set(t,p=new Map);let h=p.get(e);return typeof h>"u"&&(h=ty.create(t,e,{bigint:a}),p.set(e,h)),h.registerChangeListener(A,{persistent:n,interval:u}),h}function Ug(t,e,r){let o=xP.get(t);if(typeof o>"u")return;let a=o.get(e);typeof a>"u"||(typeof r>"u"?a.unregisterAllChangeListeners():a.unregisterChangeListener(r),a.hasChangeListeners()||(a.stop(),o.delete(e)))}function _g(t){let e=xP.get(t);if(!(typeof e>"u"))for(let r of e.keys())Ug(t,r)}var xP,WF=Et(()=>{U7();xP=new WeakMap});function x_e(t){let e=t.match(/\r?\n/g);if(e===null)return H7.EOL;let r=e.filter(a=>a===`\r +`).length,o=e.length-r;return r>o?`\r +`:` +`}function Hg(t,e){return e.replace(/\r?\n/g,x_e(t))}var _7,H7,gf,Uu,qg=Et(()=>{_7=ve("crypto"),H7=ve("os");YF();Ca();gf=class{constructor(e){this.pathUtils=e}async*genTraversePromise(e,{stableSort:r=!1}={}){let o=[e];for(;o.length>0;){let a=o.shift();if((await this.lstatPromise(a)).isDirectory()){let u=await this.readdirPromise(a);if(r)for(let A of u.sort())o.push(this.pathUtils.join(a,A));else throw new Error("Not supported")}else yield a}}async checksumFilePromise(e,{algorithm:r="sha512"}={}){let o=await this.openPromise(e,"r");try{let n=Buffer.allocUnsafeSlow(65536),u=(0,_7.createHash)(r),A=0;for(;(A=await this.readPromise(o,n,0,65536))!==0;)u.update(A===65536?n:n.slice(0,A));return u.digest("hex")}finally{await this.closePromise(o)}}async removePromise(e,{recursive:r=!0,maxRetries:o=5}={}){let a;try{a=await this.lstatPromise(e)}catch(n){if(n.code==="ENOENT")return;throw n}if(a.isDirectory()){if(r){let n=await this.readdirPromise(e);await Promise.all(n.map(u=>this.removePromise(this.pathUtils.resolve(e,u))))}for(let n=0;n<=o;n++)try{await this.rmdirPromise(e);break}catch(u){if(u.code!=="EBUSY"&&u.code!=="ENOTEMPTY")throw u;nsetTimeout(A,n*100))}}else await this.unlinkPromise(e)}removeSync(e,{recursive:r=!0}={}){let o;try{o=this.lstatSync(e)}catch(a){if(a.code==="ENOENT")return;throw a}if(o.isDirectory()){if(r)for(let a of this.readdirSync(e))this.removeSync(this.pathUtils.resolve(e,a));this.rmdirSync(e)}else this.unlinkSync(e)}async mkdirpPromise(e,{chmod:r,utimes:o}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let a=e.split(this.pathUtils.sep),n;for(let u=2;u<=a.length;++u){let A=a.slice(0,u).join(this.pathUtils.sep);if(!this.existsSync(A)){try{await this.mkdirPromise(A)}catch(p){if(p.code==="EEXIST")continue;throw p}if(n??=A,r!=null&&await this.chmodPromise(A,r),o!=null)await this.utimesPromise(A,o[0],o[1]);else{let p=await this.statPromise(this.pathUtils.dirname(A));await this.utimesPromise(A,p.atime,p.mtime)}}}return n}mkdirpSync(e,{chmod:r,utimes:o}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let a=e.split(this.pathUtils.sep),n;for(let u=2;u<=a.length;++u){let A=a.slice(0,u).join(this.pathUtils.sep);if(!this.existsSync(A)){try{this.mkdirSync(A)}catch(p){if(p.code==="EEXIST")continue;throw p}if(n??=A,r!=null&&this.chmodSync(A,r),o!=null)this.utimesSync(A,o[0],o[1]);else{let p=this.statSync(this.pathUtils.dirname(A));this.utimesSync(A,p.atime,p.mtime)}}}return n}async copyPromise(e,r,{baseFs:o=this,overwrite:a=!0,stableSort:n=!1,stableTime:u=!1,linkStrategy:A=null}={}){return await T7(this,e,o,r,{overwrite:a,stableSort:n,stableTime:u,linkStrategy:A})}copySync(e,r,{baseFs:o=this,overwrite:a=!0}={}){let n=o.lstatSync(r),u=this.existsSync(e);if(n.isDirectory()){this.mkdirpSync(e);let p=o.readdirSync(r);for(let h of p)this.copySync(this.pathUtils.join(e,h),o.pathUtils.join(r,h),{baseFs:o,overwrite:a})}else if(n.isFile()){if(!u||a){u&&this.removeSync(e);let p=o.readFileSync(r);this.writeFileSync(e,p)}}else if(n.isSymbolicLink()){if(!u||a){u&&this.removeSync(e);let p=o.readlinkSync(r);this.symlinkSync(DP(this.pathUtils,p),e)}}else throw new Error(`Unsupported file type (file: ${r}, mode: 0o${n.mode.toString(8).padStart(6,"0")})`);let A=n.mode&511;this.chmodSync(e,A)}async changeFilePromise(e,r,o={}){return Buffer.isBuffer(r)?this.changeFileBufferPromise(e,r,o):this.changeFileTextPromise(e,r,o)}async changeFileBufferPromise(e,r,{mode:o}={}){let a=Buffer.alloc(0);try{a=await this.readFilePromise(e)}catch{}Buffer.compare(a,r)!==0&&await this.writeFilePromise(e,r,{mode:o})}async changeFileTextPromise(e,r,{automaticNewlines:o,mode:a}={}){let n="";try{n=await this.readFilePromise(e,"utf8")}catch{}let u=o?Hg(n,r):r;n!==u&&await this.writeFilePromise(e,u,{mode:a})}changeFileSync(e,r,o={}){return Buffer.isBuffer(r)?this.changeFileBufferSync(e,r,o):this.changeFileTextSync(e,r,o)}changeFileBufferSync(e,r,{mode:o}={}){let a=Buffer.alloc(0);try{a=this.readFileSync(e)}catch{}Buffer.compare(a,r)!==0&&this.writeFileSync(e,r,{mode:o})}changeFileTextSync(e,r,{automaticNewlines:o=!1,mode:a}={}){let n="";try{n=this.readFileSync(e,"utf8")}catch{}let u=o?Hg(n,r):r;n!==u&&this.writeFileSync(e,u,{mode:a})}async movePromise(e,r){try{await this.renamePromise(e,r)}catch(o){if(o.code==="EXDEV")await this.copyPromise(r,e),await this.removePromise(e);else throw o}}moveSync(e,r){try{this.renameSync(e,r)}catch(o){if(o.code==="EXDEV")this.copySync(r,e),this.removeSync(e);else throw o}}async lockPromise(e,r){let o=`${e}.flock`,a=1e3/60,n=Date.now(),u=null,A=async()=>{let p;try{[p]=await this.readJsonPromise(o)}catch{return Date.now()-n<500}try{return process.kill(p,0),!0}catch{return!1}};for(;u===null;)try{u=await this.openPromise(o,"wx")}catch(p){if(p.code==="EEXIST"){if(!await A())try{await this.unlinkPromise(o);continue}catch{}if(Date.now()-n<60*1e3)await new Promise(h=>setTimeout(h,a));else throw new Error(`Couldn't acquire a lock in a reasonable time (via ${o})`)}else throw p}await this.writePromise(u,JSON.stringify([process.pid]));try{return await r()}finally{try{await this.closePromise(u),await this.unlinkPromise(o)}catch{}}}async readJsonPromise(e){let r=await this.readFilePromise(e,"utf8");try{return JSON.parse(r)}catch(o){throw o.message+=` (in ${e})`,o}}readJsonSync(e){let r=this.readFileSync(e,"utf8");try{return JSON.parse(r)}catch(o){throw o.message+=` (in ${e})`,o}}async writeJsonPromise(e,r,{compact:o=!1}={}){let a=o?0:2;return await this.writeFilePromise(e,`${JSON.stringify(r,null,a)} +`)}writeJsonSync(e,r,{compact:o=!1}={}){let a=o?0:2;return this.writeFileSync(e,`${JSON.stringify(r,null,a)} +`)}async preserveTimePromise(e,r){let o=await this.lstatPromise(e),a=await r();typeof a<"u"&&(e=a),await this.lutimesPromise(e,o.atime,o.mtime)}async preserveTimeSync(e,r){let o=this.lstatSync(e),a=r();typeof a<"u"&&(e=a),this.lutimesSync(e,o.atime,o.mtime)}},Uu=class extends gf{constructor(){super(z)}}});var bs,df=Et(()=>{qg();bs=class extends gf{getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(e,r,o){return this.baseFs.openPromise(this.mapToBase(e),r,o)}openSync(e,r,o){return this.baseFs.openSync(this.mapToBase(e),r,o)}async opendirPromise(e,r){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(e),r),{path:e})}opendirSync(e,r){return Object.assign(this.baseFs.opendirSync(this.mapToBase(e),r),{path:e})}async readPromise(e,r,o,a,n){return await this.baseFs.readPromise(e,r,o,a,n)}readSync(e,r,o,a,n){return this.baseFs.readSync(e,r,o,a,n)}async writePromise(e,r,o,a,n){return typeof r=="string"?await this.baseFs.writePromise(e,r,o):await this.baseFs.writePromise(e,r,o,a,n)}writeSync(e,r,o,a,n){return typeof r=="string"?this.baseFs.writeSync(e,r,o):this.baseFs.writeSync(e,r,o,a,n)}async closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,r){return this.baseFs.createReadStream(e!==null?this.mapToBase(e):e,r)}createWriteStream(e,r){return this.baseFs.createWriteStream(e!==null?this.mapToBase(e):e,r)}async realpathPromise(e){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(e)))}realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(e)))}async existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}accessSync(e,r){return this.baseFs.accessSync(this.mapToBase(e),r)}async accessPromise(e,r){return this.baseFs.accessPromise(this.mapToBase(e),r)}async statPromise(e,r){return this.baseFs.statPromise(this.mapToBase(e),r)}statSync(e,r){return this.baseFs.statSync(this.mapToBase(e),r)}async fstatPromise(e,r){return this.baseFs.fstatPromise(e,r)}fstatSync(e,r){return this.baseFs.fstatSync(e,r)}lstatPromise(e,r){return this.baseFs.lstatPromise(this.mapToBase(e),r)}lstatSync(e,r){return this.baseFs.lstatSync(this.mapToBase(e),r)}async fchmodPromise(e,r){return this.baseFs.fchmodPromise(e,r)}fchmodSync(e,r){return this.baseFs.fchmodSync(e,r)}async chmodPromise(e,r){return this.baseFs.chmodPromise(this.mapToBase(e),r)}chmodSync(e,r){return this.baseFs.chmodSync(this.mapToBase(e),r)}async fchownPromise(e,r,o){return this.baseFs.fchownPromise(e,r,o)}fchownSync(e,r,o){return this.baseFs.fchownSync(e,r,o)}async chownPromise(e,r,o){return this.baseFs.chownPromise(this.mapToBase(e),r,o)}chownSync(e,r,o){return this.baseFs.chownSync(this.mapToBase(e),r,o)}async renamePromise(e,r){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(r))}renameSync(e,r){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(r))}async copyFilePromise(e,r,o=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(r),o)}copyFileSync(e,r,o=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(r),o)}async appendFilePromise(e,r,o){return this.baseFs.appendFilePromise(this.fsMapToBase(e),r,o)}appendFileSync(e,r,o){return this.baseFs.appendFileSync(this.fsMapToBase(e),r,o)}async writeFilePromise(e,r,o){return this.baseFs.writeFilePromise(this.fsMapToBase(e),r,o)}writeFileSync(e,r,o){return this.baseFs.writeFileSync(this.fsMapToBase(e),r,o)}async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}async utimesPromise(e,r,o){return this.baseFs.utimesPromise(this.mapToBase(e),r,o)}utimesSync(e,r,o){return this.baseFs.utimesSync(this.mapToBase(e),r,o)}async lutimesPromise(e,r,o){return this.baseFs.lutimesPromise(this.mapToBase(e),r,o)}lutimesSync(e,r,o){return this.baseFs.lutimesSync(this.mapToBase(e),r,o)}async mkdirPromise(e,r){return this.baseFs.mkdirPromise(this.mapToBase(e),r)}mkdirSync(e,r){return this.baseFs.mkdirSync(this.mapToBase(e),r)}async rmdirPromise(e,r){return this.baseFs.rmdirPromise(this.mapToBase(e),r)}rmdirSync(e,r){return this.baseFs.rmdirSync(this.mapToBase(e),r)}async rmPromise(e,r){return this.baseFs.rmPromise(this.mapToBase(e),r)}rmSync(e,r){return this.baseFs.rmSync(this.mapToBase(e),r)}async linkPromise(e,r){return this.baseFs.linkPromise(this.mapToBase(e),this.mapToBase(r))}linkSync(e,r){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBase(r))}async symlinkPromise(e,r,o){let a=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkPromise(this.mapToBase(e),a,o);let n=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),u=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(a),n);return this.baseFs.symlinkPromise(u,a,o)}symlinkSync(e,r,o){let a=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkSync(this.mapToBase(e),a,o);let n=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),u=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(a),n);return this.baseFs.symlinkSync(u,a,o)}async readFilePromise(e,r){return this.baseFs.readFilePromise(this.fsMapToBase(e),r)}readFileSync(e,r){return this.baseFs.readFileSync(this.fsMapToBase(e),r)}readdirPromise(e,r){return this.baseFs.readdirPromise(this.mapToBase(e),r)}readdirSync(e,r){return this.baseFs.readdirSync(this.mapToBase(e),r)}async readlinkPromise(e){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(e)))}readlinkSync(e){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(e)))}async truncatePromise(e,r){return this.baseFs.truncatePromise(this.mapToBase(e),r)}truncateSync(e,r){return this.baseFs.truncateSync(this.mapToBase(e),r)}async ftruncatePromise(e,r){return this.baseFs.ftruncatePromise(e,r)}ftruncateSync(e,r){return this.baseFs.ftruncateSync(e,r)}watch(e,r,o){return this.baseFs.watch(this.mapToBase(e),r,o)}watchFile(e,r,o){return this.baseFs.watchFile(this.mapToBase(e),r,o)}unwatchFile(e,r){return this.baseFs.unwatchFile(this.mapToBase(e),r)}fsMapToBase(e){return typeof e=="number"?e:this.mapToBase(e)}}});var _u,q7=Et(()=>{df();_u=class extends bs{constructor(r,{baseFs:o,pathUtils:a}){super(a);this.target=r,this.baseFs=o}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(r){return r}mapToBase(r){return r}}});function G7(t){let e=t;return typeof t.path=="string"&&(e.path=ue.toPortablePath(t.path)),e}var j7,Tn,Gg=Et(()=>{j7=Ze(ve("fs"));qg();Ca();Tn=class extends Uu{constructor(r=j7.default){super();this.realFs=r}getExtractHint(){return!1}getRealPath(){return Bt.root}resolve(r){return z.resolve(r)}async openPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.open(ue.fromPortablePath(r),o,a,this.makeCallback(n,u))})}openSync(r,o,a){return this.realFs.openSync(ue.fromPortablePath(r),o,a)}async opendirPromise(r,o){return await new Promise((a,n)=>{typeof o<"u"?this.realFs.opendir(ue.fromPortablePath(r),o,this.makeCallback(a,n)):this.realFs.opendir(ue.fromPortablePath(r),this.makeCallback(a,n))}).then(a=>{let n=a;return Object.defineProperty(n,"path",{value:r,configurable:!0,writable:!0}),n})}opendirSync(r,o){let n=typeof o<"u"?this.realFs.opendirSync(ue.fromPortablePath(r),o):this.realFs.opendirSync(ue.fromPortablePath(r));return Object.defineProperty(n,"path",{value:r,configurable:!0,writable:!0}),n}async readPromise(r,o,a=0,n=0,u=-1){return await new Promise((A,p)=>{this.realFs.read(r,o,a,n,u,(h,E)=>{h?p(h):A(E)})})}readSync(r,o,a,n,u){return this.realFs.readSync(r,o,a,n,u)}async writePromise(r,o,a,n,u){return await new Promise((A,p)=>typeof o=="string"?this.realFs.write(r,o,a,this.makeCallback(A,p)):this.realFs.write(r,o,a,n,u,this.makeCallback(A,p)))}writeSync(r,o,a,n,u){return typeof o=="string"?this.realFs.writeSync(r,o,a):this.realFs.writeSync(r,o,a,n,u)}async closePromise(r){await new Promise((o,a)=>{this.realFs.close(r,this.makeCallback(o,a))})}closeSync(r){this.realFs.closeSync(r)}createReadStream(r,o){let a=r!==null?ue.fromPortablePath(r):r;return this.realFs.createReadStream(a,o)}createWriteStream(r,o){let a=r!==null?ue.fromPortablePath(r):r;return this.realFs.createWriteStream(a,o)}async realpathPromise(r){return await new Promise((o,a)=>{this.realFs.realpath(ue.fromPortablePath(r),{},this.makeCallback(o,a))}).then(o=>ue.toPortablePath(o))}realpathSync(r){return ue.toPortablePath(this.realFs.realpathSync(ue.fromPortablePath(r),{}))}async existsPromise(r){return await new Promise(o=>{this.realFs.exists(ue.fromPortablePath(r),o)})}accessSync(r,o){return this.realFs.accessSync(ue.fromPortablePath(r),o)}async accessPromise(r,o){return await new Promise((a,n)=>{this.realFs.access(ue.fromPortablePath(r),o,this.makeCallback(a,n))})}existsSync(r){return this.realFs.existsSync(ue.fromPortablePath(r))}async statPromise(r,o){return await new Promise((a,n)=>{o?this.realFs.stat(ue.fromPortablePath(r),o,this.makeCallback(a,n)):this.realFs.stat(ue.fromPortablePath(r),this.makeCallback(a,n))})}statSync(r,o){return o?this.realFs.statSync(ue.fromPortablePath(r),o):this.realFs.statSync(ue.fromPortablePath(r))}async fstatPromise(r,o){return await new Promise((a,n)=>{o?this.realFs.fstat(r,o,this.makeCallback(a,n)):this.realFs.fstat(r,this.makeCallback(a,n))})}fstatSync(r,o){return o?this.realFs.fstatSync(r,o):this.realFs.fstatSync(r)}async lstatPromise(r,o){return await new Promise((a,n)=>{o?this.realFs.lstat(ue.fromPortablePath(r),o,this.makeCallback(a,n)):this.realFs.lstat(ue.fromPortablePath(r),this.makeCallback(a,n))})}lstatSync(r,o){return o?this.realFs.lstatSync(ue.fromPortablePath(r),o):this.realFs.lstatSync(ue.fromPortablePath(r))}async fchmodPromise(r,o){return await new Promise((a,n)=>{this.realFs.fchmod(r,o,this.makeCallback(a,n))})}fchmodSync(r,o){return this.realFs.fchmodSync(r,o)}async chmodPromise(r,o){return await new Promise((a,n)=>{this.realFs.chmod(ue.fromPortablePath(r),o,this.makeCallback(a,n))})}chmodSync(r,o){return this.realFs.chmodSync(ue.fromPortablePath(r),o)}async fchownPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.fchown(r,o,a,this.makeCallback(n,u))})}fchownSync(r,o,a){return this.realFs.fchownSync(r,o,a)}async chownPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.chown(ue.fromPortablePath(r),o,a,this.makeCallback(n,u))})}chownSync(r,o,a){return this.realFs.chownSync(ue.fromPortablePath(r),o,a)}async renamePromise(r,o){return await new Promise((a,n)=>{this.realFs.rename(ue.fromPortablePath(r),ue.fromPortablePath(o),this.makeCallback(a,n))})}renameSync(r,o){return this.realFs.renameSync(ue.fromPortablePath(r),ue.fromPortablePath(o))}async copyFilePromise(r,o,a=0){return await new Promise((n,u)=>{this.realFs.copyFile(ue.fromPortablePath(r),ue.fromPortablePath(o),a,this.makeCallback(n,u))})}copyFileSync(r,o,a=0){return this.realFs.copyFileSync(ue.fromPortablePath(r),ue.fromPortablePath(o),a)}async appendFilePromise(r,o,a){return await new Promise((n,u)=>{let A=typeof r=="string"?ue.fromPortablePath(r):r;a?this.realFs.appendFile(A,o,a,this.makeCallback(n,u)):this.realFs.appendFile(A,o,this.makeCallback(n,u))})}appendFileSync(r,o,a){let n=typeof r=="string"?ue.fromPortablePath(r):r;a?this.realFs.appendFileSync(n,o,a):this.realFs.appendFileSync(n,o)}async writeFilePromise(r,o,a){return await new Promise((n,u)=>{let A=typeof r=="string"?ue.fromPortablePath(r):r;a?this.realFs.writeFile(A,o,a,this.makeCallback(n,u)):this.realFs.writeFile(A,o,this.makeCallback(n,u))})}writeFileSync(r,o,a){let n=typeof r=="string"?ue.fromPortablePath(r):r;a?this.realFs.writeFileSync(n,o,a):this.realFs.writeFileSync(n,o)}async unlinkPromise(r){return await new Promise((o,a)=>{this.realFs.unlink(ue.fromPortablePath(r),this.makeCallback(o,a))})}unlinkSync(r){return this.realFs.unlinkSync(ue.fromPortablePath(r))}async utimesPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.utimes(ue.fromPortablePath(r),o,a,this.makeCallback(n,u))})}utimesSync(r,o,a){this.realFs.utimesSync(ue.fromPortablePath(r),o,a)}async lutimesPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.lutimes(ue.fromPortablePath(r),o,a,this.makeCallback(n,u))})}lutimesSync(r,o,a){this.realFs.lutimesSync(ue.fromPortablePath(r),o,a)}async mkdirPromise(r,o){return await new Promise((a,n)=>{this.realFs.mkdir(ue.fromPortablePath(r),o,this.makeCallback(a,n))})}mkdirSync(r,o){return this.realFs.mkdirSync(ue.fromPortablePath(r),o)}async rmdirPromise(r,o){return await new Promise((a,n)=>{o?this.realFs.rmdir(ue.fromPortablePath(r),o,this.makeCallback(a,n)):this.realFs.rmdir(ue.fromPortablePath(r),this.makeCallback(a,n))})}rmdirSync(r,o){return this.realFs.rmdirSync(ue.fromPortablePath(r),o)}async rmPromise(r,o){return await new Promise((a,n)=>{o?this.realFs.rm(ue.fromPortablePath(r),o,this.makeCallback(a,n)):this.realFs.rm(ue.fromPortablePath(r),this.makeCallback(a,n))})}rmSync(r,o){return this.realFs.rmSync(ue.fromPortablePath(r),o)}async linkPromise(r,o){return await new Promise((a,n)=>{this.realFs.link(ue.fromPortablePath(r),ue.fromPortablePath(o),this.makeCallback(a,n))})}linkSync(r,o){return this.realFs.linkSync(ue.fromPortablePath(r),ue.fromPortablePath(o))}async symlinkPromise(r,o,a){return await new Promise((n,u)=>{this.realFs.symlink(ue.fromPortablePath(r.replace(/\/+$/,"")),ue.fromPortablePath(o),a,this.makeCallback(n,u))})}symlinkSync(r,o,a){return this.realFs.symlinkSync(ue.fromPortablePath(r.replace(/\/+$/,"")),ue.fromPortablePath(o),a)}async readFilePromise(r,o){return await new Promise((a,n)=>{let u=typeof r=="string"?ue.fromPortablePath(r):r;this.realFs.readFile(u,o,this.makeCallback(a,n))})}readFileSync(r,o){let a=typeof r=="string"?ue.fromPortablePath(r):r;return this.realFs.readFileSync(a,o)}async readdirPromise(r,o){return await new Promise((a,n)=>{o?o.recursive&&process.platform==="win32"?o.withFileTypes?this.realFs.readdir(ue.fromPortablePath(r),o,this.makeCallback(u=>a(u.map(G7)),n)):this.realFs.readdir(ue.fromPortablePath(r),o,this.makeCallback(u=>a(u.map(ue.toPortablePath)),n)):this.realFs.readdir(ue.fromPortablePath(r),o,this.makeCallback(a,n)):this.realFs.readdir(ue.fromPortablePath(r),this.makeCallback(a,n))})}readdirSync(r,o){return o?o.recursive&&process.platform==="win32"?o.withFileTypes?this.realFs.readdirSync(ue.fromPortablePath(r),o).map(G7):this.realFs.readdirSync(ue.fromPortablePath(r),o).map(ue.toPortablePath):this.realFs.readdirSync(ue.fromPortablePath(r),o):this.realFs.readdirSync(ue.fromPortablePath(r))}async readlinkPromise(r){return await new Promise((o,a)=>{this.realFs.readlink(ue.fromPortablePath(r),this.makeCallback(o,a))}).then(o=>ue.toPortablePath(o))}readlinkSync(r){return ue.toPortablePath(this.realFs.readlinkSync(ue.fromPortablePath(r)))}async truncatePromise(r,o){return await new Promise((a,n)=>{this.realFs.truncate(ue.fromPortablePath(r),o,this.makeCallback(a,n))})}truncateSync(r,o){return this.realFs.truncateSync(ue.fromPortablePath(r),o)}async ftruncatePromise(r,o){return await new Promise((a,n)=>{this.realFs.ftruncate(r,o,this.makeCallback(a,n))})}ftruncateSync(r,o){return this.realFs.ftruncateSync(r,o)}watch(r,o,a){return this.realFs.watch(ue.fromPortablePath(r),o,a)}watchFile(r,o,a){return this.realFs.watchFile(ue.fromPortablePath(r),o,a)}unwatchFile(r,o){return this.realFs.unwatchFile(ue.fromPortablePath(r),o)}makeCallback(r,o){return(a,n)=>{a?o(a):r(n)}}}});var gn,Y7=Et(()=>{Gg();df();Ca();gn=class extends bs{constructor(r,{baseFs:o=new Tn}={}){super(z);this.target=this.pathUtils.normalize(r),this.baseFs=o}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(r){return this.pathUtils.isAbsolute(r)?z.normalize(r):this.baseFs.resolve(z.join(this.target,r))}mapFromBase(r){return r}mapToBase(r){return this.pathUtils.isAbsolute(r)?r:this.pathUtils.join(this.target,r)}}});var W7,Hu,K7=Et(()=>{Gg();df();Ca();W7=Bt.root,Hu=class extends bs{constructor(r,{baseFs:o=new Tn}={}){super(z);this.target=this.pathUtils.resolve(Bt.root,r),this.baseFs=o}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(Bt.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(r){let o=this.pathUtils.normalize(r);if(this.pathUtils.isAbsolute(r))return this.pathUtils.resolve(this.target,this.pathUtils.relative(W7,r));if(o.match(/^\.\.\/?/))throw new Error(`Resolving this path (${r}) would escape the jail`);return this.pathUtils.resolve(this.target,r)}mapFromBase(r){return this.pathUtils.resolve(W7,this.pathUtils.relative(this.target,r))}}});var ny,z7=Et(()=>{df();ny=class extends bs{constructor(r,o){super(o);this.instance=null;this.factory=r}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(r){this.instance=r}mapFromBase(r){return r}mapToBase(r){return r}}});var jg,wa,qp,J7=Et(()=>{jg=ve("fs");qg();Gg();WF();vP();Ca();wa=4278190080,qp=class extends Uu{constructor({baseFs:r=new Tn,filter:o=null,magicByte:a=42,maxOpenFiles:n=1/0,useCache:u=!0,maxAge:A=5e3,typeCheck:p=jg.constants.S_IFREG,getMountPoint:h,factoryPromise:E,factorySync:I}){if(Math.floor(a)!==a||!(a>1&&a<=127))throw new Error("The magic byte must be set to a round value between 1 and 127 included");super();this.fdMap=new Map;this.nextFd=3;this.isMount=new Set;this.notMount=new Set;this.realPaths=new Map;this.limitOpenFilesTimeout=null;this.baseFs=r,this.mountInstances=u?new Map:null,this.factoryPromise=E,this.factorySync=I,this.filter=o,this.getMountPoint=h,this.magic=a<<24,this.maxAge=A,this.maxOpenFiles=n,this.typeCheck=p}getExtractHint(r){return this.baseFs.getExtractHint(r)}getRealPath(){return this.baseFs.getRealPath()}saveAndClose(){if(_g(this),this.mountInstances)for(let[r,{childFs:o}]of this.mountInstances.entries())o.saveAndClose?.(),this.mountInstances.delete(r)}discardAndClose(){if(_g(this),this.mountInstances)for(let[r,{childFs:o}]of this.mountInstances.entries())o.discardAndClose?.(),this.mountInstances.delete(r)}resolve(r){return this.baseFs.resolve(r)}remapFd(r,o){let a=this.nextFd++|this.magic;return this.fdMap.set(a,[r,o]),a}async openPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.openPromise(r,o,a),async(n,{subPath:u})=>this.remapFd(n,await n.openPromise(u,o,a)))}openSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.openSync(r,o,a),(n,{subPath:u})=>this.remapFd(n,n.openSync(u,o,a)))}async opendirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.opendirPromise(r,o),async(a,{subPath:n})=>await a.opendirPromise(n,o),{requireSubpath:!1})}opendirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.opendirSync(r,o),(a,{subPath:n})=>a.opendirSync(n,o),{requireSubpath:!1})}async readPromise(r,o,a,n,u){if((r&wa)!==this.magic)return await this.baseFs.readPromise(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw wo("read");let[p,h]=A;return await p.readPromise(h,o,a,n,u)}readSync(r,o,a,n,u){if((r&wa)!==this.magic)return this.baseFs.readSync(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw wo("readSync");let[p,h]=A;return p.readSync(h,o,a,n,u)}async writePromise(r,o,a,n,u){if((r&wa)!==this.magic)return typeof o=="string"?await this.baseFs.writePromise(r,o,a):await this.baseFs.writePromise(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw wo("write");let[p,h]=A;return typeof o=="string"?await p.writePromise(h,o,a):await p.writePromise(h,o,a,n,u)}writeSync(r,o,a,n,u){if((r&wa)!==this.magic)return typeof o=="string"?this.baseFs.writeSync(r,o,a):this.baseFs.writeSync(r,o,a,n,u);let A=this.fdMap.get(r);if(typeof A>"u")throw wo("writeSync");let[p,h]=A;return typeof o=="string"?p.writeSync(h,o,a):p.writeSync(h,o,a,n,u)}async closePromise(r){if((r&wa)!==this.magic)return await this.baseFs.closePromise(r);let o=this.fdMap.get(r);if(typeof o>"u")throw wo("close");this.fdMap.delete(r);let[a,n]=o;return await a.closePromise(n)}closeSync(r){if((r&wa)!==this.magic)return this.baseFs.closeSync(r);let o=this.fdMap.get(r);if(typeof o>"u")throw wo("closeSync");this.fdMap.delete(r);let[a,n]=o;return a.closeSync(n)}createReadStream(r,o){return r===null?this.baseFs.createReadStream(r,o):this.makeCallSync(r,()=>this.baseFs.createReadStream(r,o),(a,{archivePath:n,subPath:u})=>{let A=a.createReadStream(u,o);return A.path=ue.fromPortablePath(this.pathUtils.join(n,u)),A})}createWriteStream(r,o){return r===null?this.baseFs.createWriteStream(r,o):this.makeCallSync(r,()=>this.baseFs.createWriteStream(r,o),(a,{subPath:n})=>a.createWriteStream(n,o))}async realpathPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.realpathPromise(r),async(o,{archivePath:a,subPath:n})=>{let u=this.realPaths.get(a);return typeof u>"u"&&(u=await this.baseFs.realpathPromise(a),this.realPaths.set(a,u)),this.pathUtils.join(u,this.pathUtils.relative(Bt.root,await o.realpathPromise(n)))})}realpathSync(r){return this.makeCallSync(r,()=>this.baseFs.realpathSync(r),(o,{archivePath:a,subPath:n})=>{let u=this.realPaths.get(a);return typeof u>"u"&&(u=this.baseFs.realpathSync(a),this.realPaths.set(a,u)),this.pathUtils.join(u,this.pathUtils.relative(Bt.root,o.realpathSync(n)))})}async existsPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.existsPromise(r),async(o,{subPath:a})=>await o.existsPromise(a))}existsSync(r){return this.makeCallSync(r,()=>this.baseFs.existsSync(r),(o,{subPath:a})=>o.existsSync(a))}async accessPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.accessPromise(r,o),async(a,{subPath:n})=>await a.accessPromise(n,o))}accessSync(r,o){return this.makeCallSync(r,()=>this.baseFs.accessSync(r,o),(a,{subPath:n})=>a.accessSync(n,o))}async statPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.statPromise(r,o),async(a,{subPath:n})=>await a.statPromise(n,o))}statSync(r,o){return this.makeCallSync(r,()=>this.baseFs.statSync(r,o),(a,{subPath:n})=>a.statSync(n,o))}async fstatPromise(r,o){if((r&wa)!==this.magic)return this.baseFs.fstatPromise(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw wo("fstat");let[n,u]=a;return n.fstatPromise(u,o)}fstatSync(r,o){if((r&wa)!==this.magic)return this.baseFs.fstatSync(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw wo("fstatSync");let[n,u]=a;return n.fstatSync(u,o)}async lstatPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.lstatPromise(r,o),async(a,{subPath:n})=>await a.lstatPromise(n,o))}lstatSync(r,o){return this.makeCallSync(r,()=>this.baseFs.lstatSync(r,o),(a,{subPath:n})=>a.lstatSync(n,o))}async fchmodPromise(r,o){if((r&wa)!==this.magic)return this.baseFs.fchmodPromise(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw wo("fchmod");let[n,u]=a;return n.fchmodPromise(u,o)}fchmodSync(r,o){if((r&wa)!==this.magic)return this.baseFs.fchmodSync(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw wo("fchmodSync");let[n,u]=a;return n.fchmodSync(u,o)}async chmodPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.chmodPromise(r,o),async(a,{subPath:n})=>await a.chmodPromise(n,o))}chmodSync(r,o){return this.makeCallSync(r,()=>this.baseFs.chmodSync(r,o),(a,{subPath:n})=>a.chmodSync(n,o))}async fchownPromise(r,o,a){if((r&wa)!==this.magic)return this.baseFs.fchownPromise(r,o,a);let n=this.fdMap.get(r);if(typeof n>"u")throw wo("fchown");let[u,A]=n;return u.fchownPromise(A,o,a)}fchownSync(r,o,a){if((r&wa)!==this.magic)return this.baseFs.fchownSync(r,o,a);let n=this.fdMap.get(r);if(typeof n>"u")throw wo("fchownSync");let[u,A]=n;return u.fchownSync(A,o,a)}async chownPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.chownPromise(r,o,a),async(n,{subPath:u})=>await n.chownPromise(u,o,a))}chownSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.chownSync(r,o,a),(n,{subPath:u})=>n.chownSync(u,o,a))}async renamePromise(r,o){return await this.makeCallPromise(r,async()=>await this.makeCallPromise(o,async()=>await this.baseFs.renamePromise(r,o),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),async(a,{subPath:n})=>await this.makeCallPromise(o,async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},async(u,{subPath:A})=>{if(a!==u)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return await a.renamePromise(n,A)}))}renameSync(r,o){return this.makeCallSync(r,()=>this.makeCallSync(o,()=>this.baseFs.renameSync(r,o),()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),(a,{subPath:n})=>this.makeCallSync(o,()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},(u,{subPath:A})=>{if(a!==u)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return a.renameSync(n,A)}))}async copyFilePromise(r,o,a=0){let n=async(u,A,p,h)=>{if((a&jg.constants.COPYFILE_FICLONE_FORCE)!==0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${A}' -> ${h}'`),{code:"EXDEV"});if(a&jg.constants.COPYFILE_EXCL&&await this.existsPromise(A))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${A}' -> '${h}'`),{code:"EEXIST"});let E;try{E=await u.readFilePromise(A)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${A}' -> '${h}'`),{code:"EINVAL"})}await p.writeFilePromise(h,E)};return await this.makeCallPromise(r,async()=>await this.makeCallPromise(o,async()=>await this.baseFs.copyFilePromise(r,o,a),async(u,{subPath:A})=>await n(this.baseFs,r,u,A)),async(u,{subPath:A})=>await this.makeCallPromise(o,async()=>await n(u,A,this.baseFs,o),async(p,{subPath:h})=>u!==p?await n(u,A,p,h):await u.copyFilePromise(A,h,a)))}copyFileSync(r,o,a=0){let n=(u,A,p,h)=>{if((a&jg.constants.COPYFILE_FICLONE_FORCE)!==0)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${A}' -> ${h}'`),{code:"EXDEV"});if(a&jg.constants.COPYFILE_EXCL&&this.existsSync(A))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${A}' -> '${h}'`),{code:"EEXIST"});let E;try{E=u.readFileSync(A)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${A}' -> '${h}'`),{code:"EINVAL"})}p.writeFileSync(h,E)};return this.makeCallSync(r,()=>this.makeCallSync(o,()=>this.baseFs.copyFileSync(r,o,a),(u,{subPath:A})=>n(this.baseFs,r,u,A)),(u,{subPath:A})=>this.makeCallSync(o,()=>n(u,A,this.baseFs,o),(p,{subPath:h})=>u!==p?n(u,A,p,h):u.copyFileSync(A,h,a)))}async appendFilePromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.appendFilePromise(r,o,a),async(n,{subPath:u})=>await n.appendFilePromise(u,o,a))}appendFileSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.appendFileSync(r,o,a),(n,{subPath:u})=>n.appendFileSync(u,o,a))}async writeFilePromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.writeFilePromise(r,o,a),async(n,{subPath:u})=>await n.writeFilePromise(u,o,a))}writeFileSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.writeFileSync(r,o,a),(n,{subPath:u})=>n.writeFileSync(u,o,a))}async unlinkPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.unlinkPromise(r),async(o,{subPath:a})=>await o.unlinkPromise(a))}unlinkSync(r){return this.makeCallSync(r,()=>this.baseFs.unlinkSync(r),(o,{subPath:a})=>o.unlinkSync(a))}async utimesPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.utimesPromise(r,o,a),async(n,{subPath:u})=>await n.utimesPromise(u,o,a))}utimesSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.utimesSync(r,o,a),(n,{subPath:u})=>n.utimesSync(u,o,a))}async lutimesPromise(r,o,a){return await this.makeCallPromise(r,async()=>await this.baseFs.lutimesPromise(r,o,a),async(n,{subPath:u})=>await n.lutimesPromise(u,o,a))}lutimesSync(r,o,a){return this.makeCallSync(r,()=>this.baseFs.lutimesSync(r,o,a),(n,{subPath:u})=>n.lutimesSync(u,o,a))}async mkdirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.mkdirPromise(r,o),async(a,{subPath:n})=>await a.mkdirPromise(n,o))}mkdirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.mkdirSync(r,o),(a,{subPath:n})=>a.mkdirSync(n,o))}async rmdirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.rmdirPromise(r,o),async(a,{subPath:n})=>await a.rmdirPromise(n,o))}rmdirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.rmdirSync(r,o),(a,{subPath:n})=>a.rmdirSync(n,o))}async rmPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.rmPromise(r,o),async(a,{subPath:n})=>await a.rmPromise(n,o))}rmSync(r,o){return this.makeCallSync(r,()=>this.baseFs.rmSync(r,o),(a,{subPath:n})=>a.rmSync(n,o))}async linkPromise(r,o){return await this.makeCallPromise(o,async()=>await this.baseFs.linkPromise(r,o),async(a,{subPath:n})=>await a.linkPromise(r,n))}linkSync(r,o){return this.makeCallSync(o,()=>this.baseFs.linkSync(r,o),(a,{subPath:n})=>a.linkSync(r,n))}async symlinkPromise(r,o,a){return await this.makeCallPromise(o,async()=>await this.baseFs.symlinkPromise(r,o,a),async(n,{subPath:u})=>await n.symlinkPromise(r,u))}symlinkSync(r,o,a){return this.makeCallSync(o,()=>this.baseFs.symlinkSync(r,o,a),(n,{subPath:u})=>n.symlinkSync(r,u))}async readFilePromise(r,o){return this.makeCallPromise(r,async()=>await this.baseFs.readFilePromise(r,o),async(a,{subPath:n})=>await a.readFilePromise(n,o))}readFileSync(r,o){return this.makeCallSync(r,()=>this.baseFs.readFileSync(r,o),(a,{subPath:n})=>a.readFileSync(n,o))}async readdirPromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.readdirPromise(r,o),async(a,{subPath:n})=>await a.readdirPromise(n,o),{requireSubpath:!1})}readdirSync(r,o){return this.makeCallSync(r,()=>this.baseFs.readdirSync(r,o),(a,{subPath:n})=>a.readdirSync(n,o),{requireSubpath:!1})}async readlinkPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.readlinkPromise(r),async(o,{subPath:a})=>await o.readlinkPromise(a))}readlinkSync(r){return this.makeCallSync(r,()=>this.baseFs.readlinkSync(r),(o,{subPath:a})=>o.readlinkSync(a))}async truncatePromise(r,o){return await this.makeCallPromise(r,async()=>await this.baseFs.truncatePromise(r,o),async(a,{subPath:n})=>await a.truncatePromise(n,o))}truncateSync(r,o){return this.makeCallSync(r,()=>this.baseFs.truncateSync(r,o),(a,{subPath:n})=>a.truncateSync(n,o))}async ftruncatePromise(r,o){if((r&wa)!==this.magic)return this.baseFs.ftruncatePromise(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw wo("ftruncate");let[n,u]=a;return n.ftruncatePromise(u,o)}ftruncateSync(r,o){if((r&wa)!==this.magic)return this.baseFs.ftruncateSync(r,o);let a=this.fdMap.get(r);if(typeof a>"u")throw wo("ftruncateSync");let[n,u]=a;return n.ftruncateSync(u,o)}watch(r,o,a){return this.makeCallSync(r,()=>this.baseFs.watch(r,o,a),(n,{subPath:u})=>n.watch(u,o,a))}watchFile(r,o,a){return this.makeCallSync(r,()=>this.baseFs.watchFile(r,o,a),()=>ry(this,r,o,a))}unwatchFile(r,o){return this.makeCallSync(r,()=>this.baseFs.unwatchFile(r,o),()=>Ug(this,r,o))}async makeCallPromise(r,o,a,{requireSubpath:n=!0}={}){if(typeof r!="string")return await o();let u=this.resolve(r),A=this.findMount(u);return A?n&&A.subPath==="/"?await o():await this.getMountPromise(A.archivePath,async p=>await a(p,A)):await o()}makeCallSync(r,o,a,{requireSubpath:n=!0}={}){if(typeof r!="string")return o();let u=this.resolve(r),A=this.findMount(u);return!A||n&&A.subPath==="/"?o():this.getMountSync(A.archivePath,p=>a(p,A))}findMount(r){if(this.filter&&!this.filter.test(r))return null;let o="";for(;;){let a=r.substring(o.length),n=this.getMountPoint(a,o);if(!n)return null;if(o=this.pathUtils.join(o,n),!this.isMount.has(o)){if(this.notMount.has(o))continue;try{if(this.typeCheck!==null&&(this.baseFs.lstatSync(o).mode&jg.constants.S_IFMT)!==this.typeCheck){this.notMount.add(o);continue}}catch{return null}this.isMount.add(o)}return{archivePath:o,subPath:this.pathUtils.join(Bt.root,r.substring(o.length))}}}limitOpenFiles(r){if(this.mountInstances===null)return;let o=Date.now(),a=o+this.maxAge,n=r===null?0:this.mountInstances.size-r;for(let[u,{childFs:A,expiresAt:p,refCount:h}]of this.mountInstances.entries())if(!(h!==0||A.hasOpenFileHandles?.())){if(o>=p){A.saveAndClose?.(),this.mountInstances.delete(u),n-=1;continue}else if(r===null||n<=0){a=p;break}A.saveAndClose?.(),this.mountInstances.delete(u),n-=1}this.limitOpenFilesTimeout===null&&(r===null&&this.mountInstances.size>0||r!==null)&&isFinite(a)&&(this.limitOpenFilesTimeout=setTimeout(()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)},a-o).unref())}async getMountPromise(r,o){if(this.mountInstances){let a=this.mountInstances.get(r);if(!a){let n=await this.factoryPromise(this.baseFs,r);a=this.mountInstances.get(r),a||(a={childFs:n(),expiresAt:0,refCount:0})}this.mountInstances.delete(r),this.limitOpenFiles(this.maxOpenFiles-1),this.mountInstances.set(r,a),a.expiresAt=Date.now()+this.maxAge,a.refCount+=1;try{return await o(a.childFs)}finally{a.refCount-=1}}else{let a=(await this.factoryPromise(this.baseFs,r))();try{return await o(a)}finally{a.saveAndClose?.()}}}getMountSync(r,o){if(this.mountInstances){let a=this.mountInstances.get(r);return a||(a={childFs:this.factorySync(this.baseFs,r),expiresAt:0,refCount:0}),this.mountInstances.delete(r),this.limitOpenFiles(this.maxOpenFiles-1),this.mountInstances.set(r,a),a.expiresAt=Date.now()+this.maxAge,o(a.childFs)}else{let a=this.factorySync(this.baseFs,r);try{return o(a)}finally{a.saveAndClose?.()}}}}});var Zt,KF,Gw,V7=Et(()=>{qg();Ca();Zt=()=>Object.assign(new Error("ENOSYS: unsupported filesystem access"),{code:"ENOSYS"}),KF=class extends gf{constructor(){super(z)}getExtractHint(){throw Zt()}getRealPath(){throw Zt()}resolve(){throw Zt()}async openPromise(){throw Zt()}openSync(){throw Zt()}async opendirPromise(){throw Zt()}opendirSync(){throw Zt()}async readPromise(){throw Zt()}readSync(){throw Zt()}async writePromise(){throw Zt()}writeSync(){throw Zt()}async closePromise(){throw Zt()}closeSync(){throw Zt()}createWriteStream(){throw Zt()}createReadStream(){throw Zt()}async realpathPromise(){throw Zt()}realpathSync(){throw Zt()}async readdirPromise(){throw Zt()}readdirSync(){throw Zt()}async existsPromise(e){throw Zt()}existsSync(e){throw Zt()}async accessPromise(){throw Zt()}accessSync(){throw Zt()}async statPromise(){throw Zt()}statSync(){throw Zt()}async fstatPromise(e){throw Zt()}fstatSync(e){throw Zt()}async lstatPromise(e){throw Zt()}lstatSync(e){throw Zt()}async fchmodPromise(){throw Zt()}fchmodSync(){throw Zt()}async chmodPromise(){throw Zt()}chmodSync(){throw Zt()}async fchownPromise(){throw Zt()}fchownSync(){throw Zt()}async chownPromise(){throw Zt()}chownSync(){throw Zt()}async mkdirPromise(){throw Zt()}mkdirSync(){throw Zt()}async rmdirPromise(){throw Zt()}rmdirSync(){throw Zt()}async rmPromise(){throw Zt()}rmSync(){throw Zt()}async linkPromise(){throw Zt()}linkSync(){throw Zt()}async symlinkPromise(){throw Zt()}symlinkSync(){throw Zt()}async renamePromise(){throw Zt()}renameSync(){throw Zt()}async copyFilePromise(){throw Zt()}copyFileSync(){throw Zt()}async appendFilePromise(){throw Zt()}appendFileSync(){throw Zt()}async writeFilePromise(){throw Zt()}writeFileSync(){throw Zt()}async unlinkPromise(){throw Zt()}unlinkSync(){throw Zt()}async utimesPromise(){throw Zt()}utimesSync(){throw Zt()}async lutimesPromise(){throw Zt()}lutimesSync(){throw Zt()}async readFilePromise(){throw Zt()}readFileSync(){throw Zt()}async readlinkPromise(){throw Zt()}readlinkSync(){throw Zt()}async truncatePromise(){throw Zt()}truncateSync(){throw Zt()}async ftruncatePromise(e,r){throw Zt()}ftruncateSync(e,r){throw Zt()}watch(){throw Zt()}watchFile(){throw Zt()}unwatchFile(){throw Zt()}},Gw=KF;Gw.instance=new KF});var Gp,X7=Et(()=>{df();Ca();Gp=class extends bs{constructor(r){super(ue);this.baseFs=r}mapFromBase(r){return ue.fromPortablePath(r)}mapToBase(r){return ue.toPortablePath(r)}}});var k_e,zF,Q_e,mi,Z7=Et(()=>{Gg();df();Ca();k_e=/^[0-9]+$/,zF=/^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,Q_e=/^([^/]+-)?[a-f0-9]+$/,mi=class extends bs{constructor({baseFs:r=new Tn}={}){super(z);this.baseFs=r}static makeVirtualPath(r,o,a){if(z.basename(r)!=="__virtual__")throw new Error('Assertion failed: Virtual folders must be named "__virtual__"');if(!z.basename(o).match(Q_e))throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");let u=z.relative(z.dirname(r),a).split("/"),A=0;for(;A{JF=Ze(ve("buffer")),$7=ve("url"),eY=ve("util");df();Ca();kP=class extends bs{constructor(r){super(ue);this.baseFs=r}mapFromBase(r){return r}mapToBase(r){if(typeof r=="string")return r;if(r instanceof URL)return(0,$7.fileURLToPath)(r);if(Buffer.isBuffer(r)){let o=r.toString();if(!R_e(r,o))throw new Error("Non-utf8 buffers are not supported at the moment. Please upvote the following issue if you encounter this error: https://github.com/yarnpkg/berry/issues/4942");return o}throw new Error(`Unsupported path type: ${(0,eY.inspect)(r)}`)}}});var rY,Io,mf,jp,QP,RP,iy,Lc,Nc,F_e,T_e,L_e,N_e,jw,nY=Et(()=>{rY=ve("readline"),Io=Symbol("kBaseFs"),mf=Symbol("kFd"),jp=Symbol("kClosePromise"),QP=Symbol("kCloseResolve"),RP=Symbol("kCloseReject"),iy=Symbol("kRefs"),Lc=Symbol("kRef"),Nc=Symbol("kUnref"),jw=class{constructor(e,r){this[F_e]=1;this[T_e]=void 0;this[L_e]=void 0;this[N_e]=void 0;this[Io]=r,this[mf]=e}get fd(){return this[mf]}async appendFile(e,r){try{this[Lc](this.appendFile);let o=(typeof r=="string"?r:r?.encoding)??void 0;return await this[Io].appendFilePromise(this.fd,e,o?{encoding:o}:void 0)}finally{this[Nc]()}}async chown(e,r){try{return this[Lc](this.chown),await this[Io].fchownPromise(this.fd,e,r)}finally{this[Nc]()}}async chmod(e){try{return this[Lc](this.chmod),await this[Io].fchmodPromise(this.fd,e)}finally{this[Nc]()}}createReadStream(e){return this[Io].createReadStream(null,{...e,fd:this.fd})}createWriteStream(e){return this[Io].createWriteStream(null,{...e,fd:this.fd})}datasync(){throw new Error("Method not implemented.")}sync(){throw new Error("Method not implemented.")}async read(e,r,o,a){try{this[Lc](this.read);let n;return Buffer.isBuffer(e)?n=e:(e??={},n=e.buffer??Buffer.alloc(16384),r=e.offset||0,o=e.length??n.byteLength,a=e.position??null),r??=0,o??=0,o===0?{bytesRead:o,buffer:n}:{bytesRead:await this[Io].readPromise(this.fd,n,r,o,a),buffer:n}}finally{this[Nc]()}}async readFile(e){try{this[Lc](this.readFile);let r=(typeof e=="string"?e:e?.encoding)??void 0;return await this[Io].readFilePromise(this.fd,r)}finally{this[Nc]()}}readLines(e){return(0,rY.createInterface)({input:this.createReadStream(e),crlfDelay:1/0})}async stat(e){try{return this[Lc](this.stat),await this[Io].fstatPromise(this.fd,e)}finally{this[Nc]()}}async truncate(e){try{return this[Lc](this.truncate),await this[Io].ftruncatePromise(this.fd,e)}finally{this[Nc]()}}utimes(e,r){throw new Error("Method not implemented.")}async writeFile(e,r){try{this[Lc](this.writeFile);let o=(typeof r=="string"?r:r?.encoding)??void 0;await this[Io].writeFilePromise(this.fd,e,o)}finally{this[Nc]()}}async write(...e){try{if(this[Lc](this.write),ArrayBuffer.isView(e[0])){let[r,o,a,n]=e;return{bytesWritten:await this[Io].writePromise(this.fd,r,o??void 0,a??void 0,n??void 0),buffer:r}}else{let[r,o,a]=e;return{bytesWritten:await this[Io].writePromise(this.fd,r,o,a),buffer:r}}}finally{this[Nc]()}}async writev(e,r){try{this[Lc](this.writev);let o=0;if(typeof r<"u")for(let a of e){let n=await this.write(a,void 0,void 0,r);o+=n.bytesWritten,r+=n.bytesWritten}else for(let a of e){let n=await this.write(a);o+=n.bytesWritten}return{buffers:e,bytesWritten:o}}finally{this[Nc]()}}readv(e,r){throw new Error("Method not implemented.")}close(){if(this[mf]===-1)return Promise.resolve();if(this[jp])return this[jp];if(this[iy]--,this[iy]===0){let e=this[mf];this[mf]=-1,this[jp]=this[Io].closePromise(e).finally(()=>{this[jp]=void 0})}else this[jp]=new Promise((e,r)=>{this[QP]=e,this[RP]=r}).finally(()=>{this[jp]=void 0,this[RP]=void 0,this[QP]=void 0});return this[jp]}[(Io,mf,F_e=iy,T_e=jp,L_e=QP,N_e=RP,Lc)](e){if(this[mf]===-1){let r=new Error("file closed");throw r.code="EBADF",r.syscall=e.name,r}this[iy]++}[Nc](){if(this[iy]--,this[iy]===0){let e=this[mf];this[mf]=-1,this[Io].closePromise(e).then(this[QP],this[RP])}}}});function Yw(t,e){e=new kP(e);let r=(o,a,n)=>{let u=o[a];o[a]=n,typeof u?.[sy.promisify.custom]<"u"&&(n[sy.promisify.custom]=u[sy.promisify.custom])};{r(t,"exists",(o,...a)=>{let u=typeof a[a.length-1]=="function"?a.pop():()=>{};process.nextTick(()=>{e.existsPromise(o).then(A=>{u(A)},()=>{u(!1)})})}),r(t,"read",(...o)=>{let[a,n,u,A,p,h]=o;if(o.length<=3){let E={};o.length<3?h=o[1]:(E=o[1],h=o[2]),{buffer:n=Buffer.alloc(16384),offset:u=0,length:A=n.byteLength,position:p}=E}if(u==null&&(u=0),A|=0,A===0){process.nextTick(()=>{h(null,0,n)});return}p==null&&(p=-1),process.nextTick(()=>{e.readPromise(a,n,u,A,p).then(E=>{h(null,E,n)},E=>{h(E,0,n)})})});for(let o of iY){let a=o.replace(/Promise$/,"");if(typeof t[a]>"u")continue;let n=e[o];if(typeof n>"u")continue;r(t,a,(...A)=>{let h=typeof A[A.length-1]=="function"?A.pop():()=>{};process.nextTick(()=>{n.apply(e,A).then(E=>{h(null,E)},E=>{h(E)})})})}t.realpath.native=t.realpath}{r(t,"existsSync",o=>{try{return e.existsSync(o)}catch{return!1}}),r(t,"readSync",(...o)=>{let[a,n,u,A,p]=o;return o.length<=3&&({offset:u=0,length:A=n.byteLength,position:p}=o[2]||{}),u==null&&(u=0),A|=0,A===0?0:(p==null&&(p=-1),e.readSync(a,n,u,A,p))});for(let o of O_e){let a=o;if(typeof t[a]>"u")continue;let n=e[o];typeof n>"u"||r(t,a,n.bind(e))}t.realpathSync.native=t.realpathSync}{let o=t.promises;for(let a of iY){let n=a.replace(/Promise$/,"");if(typeof o[n]>"u")continue;let u=e[a];typeof u>"u"||a!=="open"&&r(o,n,(A,...p)=>A instanceof jw?A[n].apply(A,p):u.call(e,A,...p))}r(o,"open",async(...a)=>{let n=await e.openPromise(...a);return new jw(n,e)})}t.read[sy.promisify.custom]=async(o,a,...n)=>({bytesRead:await e.readPromise(o,a,...n),buffer:a}),t.write[sy.promisify.custom]=async(o,a,...n)=>({bytesWritten:await e.writePromise(o,a,...n),buffer:a})}function FP(t,e){let r=Object.create(t);return Yw(r,e),r}var sy,O_e,iY,sY=Et(()=>{sy=ve("util");tY();nY();O_e=new Set(["accessSync","appendFileSync","createReadStream","createWriteStream","chmodSync","fchmodSync","chownSync","fchownSync","closeSync","copyFileSync","linkSync","lstatSync","fstatSync","lutimesSync","mkdirSync","openSync","opendirSync","readlinkSync","readFileSync","readdirSync","readlinkSync","realpathSync","renameSync","rmdirSync","rmSync","statSync","symlinkSync","truncateSync","ftruncateSync","unlinkSync","unwatchFile","utimesSync","watch","watchFile","writeFileSync","writeSync"]),iY=new Set(["accessPromise","appendFilePromise","fchmodPromise","chmodPromise","fchownPromise","chownPromise","closePromise","copyFilePromise","linkPromise","fstatPromise","lstatPromise","lutimesPromise","mkdirPromise","openPromise","opendirPromise","readdirPromise","realpathPromise","readFilePromise","readdirPromise","readlinkPromise","renamePromise","rmdirPromise","rmPromise","statPromise","symlinkPromise","truncatePromise","ftruncatePromise","unlinkPromise","utimesPromise","writeFilePromise","writeSync"])});function oY(t){let e=Math.ceil(Math.random()*4294967296).toString(16).padStart(8,"0");return`${t}${e}`}function aY(){if(VF)return VF;let t=ue.toPortablePath(lY.default.tmpdir()),e=oe.realpathSync(t);return process.once("exit",()=>{oe.rmtempSync()}),VF={tmpdir:t,realTmpdir:e}}var lY,Oc,VF,oe,cY=Et(()=>{lY=Ze(ve("os"));Gg();Ca();Oc=new Set,VF=null;oe=Object.assign(new Tn,{detachTemp(t){Oc.delete(t)},mktempSync(t){let{tmpdir:e,realTmpdir:r}=aY();for(;;){let o=oY("xfs-");try{this.mkdirSync(z.join(e,o))}catch(n){if(n.code==="EEXIST")continue;throw n}let a=z.join(r,o);if(Oc.add(a),typeof t>"u")return a;try{return t(a)}finally{if(Oc.has(a)){Oc.delete(a);try{this.removeSync(a)}catch{}}}}},async mktempPromise(t){let{tmpdir:e,realTmpdir:r}=aY();for(;;){let o=oY("xfs-");try{await this.mkdirPromise(z.join(e,o))}catch(n){if(n.code==="EEXIST")continue;throw n}let a=z.join(r,o);if(Oc.add(a),typeof t>"u")return a;try{return await t(a)}finally{if(Oc.has(a)){Oc.delete(a);try{await this.removePromise(a)}catch{}}}}},async rmtempPromise(){await Promise.all(Array.from(Oc.values()).map(async t=>{try{await oe.removePromise(t,{maxRetries:0}),Oc.delete(t)}catch{}}))},rmtempSync(){for(let t of Oc)try{oe.removeSync(t),Oc.delete(t)}catch{}}})});var Ww={};zt(Ww,{AliasFS:()=>_u,BasePortableFakeFS:()=>Uu,CustomDir:()=>qw,CwdFS:()=>gn,FakeFS:()=>gf,Filename:()=>dr,JailFS:()=>Hu,LazyFS:()=>ny,MountFS:()=>qp,NoFS:()=>Gw,NodeFS:()=>Tn,PortablePath:()=>Bt,PosixFS:()=>Gp,ProxiedFS:()=>bs,VirtualFS:()=>mi,constants:()=>vi,errors:()=>nr,extendFs:()=>FP,normalizeLineEndings:()=>Hg,npath:()=>ue,opendir:()=>bP,patchFs:()=>Yw,ppath:()=>z,setupCopyIndex:()=>SP,statUtils:()=>Ea,unwatchAllFiles:()=>_g,unwatchFile:()=>Ug,watchFile:()=>ry,xfs:()=>oe});var Dt=Et(()=>{k7();vP();qF();YF();N7();WF();qg();Ca();Ca();q7();qg();Y7();K7();z7();J7();V7();Gg();X7();df();Z7();sY();cY()});var hY=_((cbt,pY)=>{pY.exports=fY;fY.sync=U_e;var uY=ve("fs");function M_e(t,e){var r=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var o=0;o{yY.exports=dY;dY.sync=__e;var gY=ve("fs");function dY(t,e,r){gY.stat(t,function(o,a){r(o,o?!1:mY(a,e))})}function __e(t,e){return mY(gY.statSync(t),e)}function mY(t,e){return t.isFile()&&H_e(t,e)}function H_e(t,e){var r=t.mode,o=t.uid,a=t.gid,n=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),u=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),A=parseInt("100",8),p=parseInt("010",8),h=parseInt("001",8),E=A|p,I=r&h||r&p&&a===u||r&A&&o===n||r&E&&n===0;return I}});var wY=_((fbt,CY)=>{var Abt=ve("fs"),TP;process.platform==="win32"||global.TESTING_WINDOWS?TP=hY():TP=EY();CY.exports=XF;XF.sync=q_e;function XF(t,e,r){if(typeof e=="function"&&(r=e,e={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(o,a){XF(t,e||{},function(n,u){n?a(n):o(u)})})}TP(t,e||{},function(o,a){o&&(o.code==="EACCES"||e&&e.ignoreErrors)&&(o=null,a=!1),r(o,a)})}function q_e(t,e){try{return TP.sync(t,e||{})}catch(r){if(e&&e.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var bY=_((pbt,SY)=>{var oy=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",IY=ve("path"),G_e=oy?";":":",BY=wY(),vY=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"}),PY=(t,e)=>{let r=e.colon||G_e,o=t.match(/\//)||oy&&t.match(/\\/)?[""]:[...oy?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(r)],a=oy?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",n=oy?a.split(r):[""];return oy&&t.indexOf(".")!==-1&&n[0]!==""&&n.unshift(""),{pathEnv:o,pathExt:n,pathExtExe:a}},DY=(t,e,r)=>{typeof e=="function"&&(r=e,e={}),e||(e={});let{pathEnv:o,pathExt:a,pathExtExe:n}=PY(t,e),u=[],A=h=>new Promise((E,I)=>{if(h===o.length)return e.all&&u.length?E(u):I(vY(t));let v=o[h],x=/^".*"$/.test(v)?v.slice(1,-1):v,C=IY.join(x,t),F=!x&&/^\.[\\\/]/.test(t)?t.slice(0,2)+C:C;E(p(F,h,0))}),p=(h,E,I)=>new Promise((v,x)=>{if(I===a.length)return v(A(E+1));let C=a[I];BY(h+C,{pathExt:n},(F,N)=>{if(!F&&N)if(e.all)u.push(h+C);else return v(h+C);return v(p(h,E,I+1))})});return r?A(0).then(h=>r(null,h),r):A(0)},j_e=(t,e)=>{e=e||{};let{pathEnv:r,pathExt:o,pathExtExe:a}=PY(t,e),n=[];for(let u=0;u{"use strict";var xY=(t={})=>{let e=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(o=>o.toUpperCase()==="PATH")||"Path"};ZF.exports=xY;ZF.exports.default=xY});var TY=_((gbt,FY)=>{"use strict";var QY=ve("path"),Y_e=bY(),W_e=kY();function RY(t,e){let r=t.options.env||process.env,o=process.cwd(),a=t.options.cwd!=null,n=a&&process.chdir!==void 0&&!process.chdir.disabled;if(n)try{process.chdir(t.options.cwd)}catch{}let u;try{u=Y_e.sync(t.command,{path:r[W_e({env:r})],pathExt:e?QY.delimiter:void 0})}catch{}finally{n&&process.chdir(o)}return u&&(u=QY.resolve(a?t.options.cwd:"",u)),u}function K_e(t){return RY(t)||RY(t,!0)}FY.exports=K_e});var LY=_((dbt,eT)=>{"use strict";var $F=/([()\][%!^"`<>&|;, *?])/g;function z_e(t){return t=t.replace($F,"^$1"),t}function J_e(t,e){return t=`${t}`,t=t.replace(/(\\*)"/g,'$1$1\\"'),t=t.replace(/(\\*)$/,"$1$1"),t=`"${t}"`,t=t.replace($F,"^$1"),e&&(t=t.replace($F,"^$1")),t}eT.exports.command=z_e;eT.exports.argument=J_e});var OY=_((mbt,NY)=>{"use strict";NY.exports=/^#!(.*)/});var UY=_((ybt,MY)=>{"use strict";var V_e=OY();MY.exports=(t="")=>{let e=t.match(V_e);if(!e)return null;let[r,o]=e[0].replace(/#! ?/,"").split(" "),a=r.split("/").pop();return a==="env"?o:o?`${a} ${o}`:a}});var HY=_((Ebt,_Y)=>{"use strict";var tT=ve("fs"),X_e=UY();function Z_e(t){let r=Buffer.alloc(150),o;try{o=tT.openSync(t,"r"),tT.readSync(o,r,0,150,0),tT.closeSync(o)}catch{}return X_e(r.toString())}_Y.exports=Z_e});var YY=_((Cbt,jY)=>{"use strict";var $_e=ve("path"),qY=TY(),GY=LY(),e8e=HY(),t8e=process.platform==="win32",r8e=/\.(?:com|exe)$/i,n8e=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function i8e(t){t.file=qY(t);let e=t.file&&e8e(t.file);return e?(t.args.unshift(t.file),t.command=e,qY(t)):t.file}function s8e(t){if(!t8e)return t;let e=i8e(t),r=!r8e.test(e);if(t.options.forceShell||r){let o=n8e.test(e);t.command=$_e.normalize(t.command),t.command=GY.command(t.command),t.args=t.args.map(n=>GY.argument(n,o));let a=[t.command].concat(t.args).join(" ");t.args=["/d","/s","/c",`"${a}"`],t.command=process.env.comspec||"cmd.exe",t.options.windowsVerbatimArguments=!0}return t}function o8e(t,e,r){e&&!Array.isArray(e)&&(r=e,e=null),e=e?e.slice(0):[],r=Object.assign({},r);let o={command:t,args:e,options:r,file:void 0,original:{command:t,args:e}};return r.shell?o:s8e(o)}jY.exports=o8e});var zY=_((wbt,KY)=>{"use strict";var rT=process.platform==="win32";function nT(t,e){return Object.assign(new Error(`${e} ${t.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${t.command}`,path:t.command,spawnargs:t.args})}function a8e(t,e){if(!rT)return;let r=t.emit;t.emit=function(o,a){if(o==="exit"){let n=WY(a,e,"spawn");if(n)return r.call(t,"error",n)}return r.apply(t,arguments)}}function WY(t,e){return rT&&t===1&&!e.file?nT(e.original,"spawn"):null}function l8e(t,e){return rT&&t===1&&!e.file?nT(e.original,"spawnSync"):null}KY.exports={hookChildProcess:a8e,verifyENOENT:WY,verifyENOENTSync:l8e,notFoundError:nT}});var oT=_((Ibt,ay)=>{"use strict";var JY=ve("child_process"),iT=YY(),sT=zY();function VY(t,e,r){let o=iT(t,e,r),a=JY.spawn(o.command,o.args,o.options);return sT.hookChildProcess(a,o),a}function c8e(t,e,r){let o=iT(t,e,r),a=JY.spawnSync(o.command,o.args,o.options);return a.error=a.error||sT.verifyENOENTSync(a.status,o),a}ay.exports=VY;ay.exports.spawn=VY;ay.exports.sync=c8e;ay.exports._parse=iT;ay.exports._enoent=sT});var ZY=_((Bbt,XY)=>{"use strict";function u8e(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function Yg(t,e,r,o){this.message=t,this.expected=e,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Yg)}u8e(Yg,Error);Yg.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var E="",I;for(I=0;I0){for(I=1,v=1;I>",S=Br(">>",!1),y=">&",R=Br(">&",!1),V=">",X=Br(">",!1),$="<<<",ie=Br("<<<",!1),be="<&",Fe=Br("<&",!1),at="<",dt=Br("<",!1),Gt=function(L){return{type:"argument",segments:[].concat(...L)}},tr=function(L){return L},bt="$'",ln=Br("$'",!1),kr="'",mr=Br("'",!1),br=function(L){return[{type:"text",text:L}]},Kr='""',Kn=Br('""',!1),Os=function(){return{type:"text",text:""}},Ti='"',gs=Br('"',!1),no=function(L){return L},Si=function(L){return{type:"arithmetic",arithmetic:L,quoted:!0}},Ms=function(L){return{type:"shell",shell:L,quoted:!0}},io=function(L){return{type:"variable",...L,quoted:!0}},uc=function(L){return{type:"text",text:L}},uu=function(L){return{type:"arithmetic",arithmetic:L,quoted:!1}},cp=function(L){return{type:"shell",shell:L,quoted:!1}},up=function(L){return{type:"variable",...L,quoted:!1}},Us=function(L){return{type:"glob",pattern:L}},Pn=/^[^']/,so=Is(["'"],!0,!1),_s=function(L){return L.join("")},yl=/^[^$"]/,El=Is(["$",'"'],!0,!1),oo=`\\ +`,zn=Br(`\\ +`,!1),On=function(){return""},Li="\\",Mn=Br("\\",!1),_i=/^[\\$"`]/,ir=Is(["\\","$",'"',"`"],!1,!1),Oe=function(L){return L},ii="\\a",Ua=Br("\\a",!1),hr=function(){return"a"},Ac="\\b",Au=Br("\\b",!1),fc=function(){return"\b"},Cl=/^[Ee]/,PA=Is(["E","e"],!1,!1),fu=function(){return"\x1B"},Ie="\\f",Tt=Br("\\f",!1),pc=function(){return"\f"},Hi="\\n",pu=Br("\\n",!1),Yt=function(){return` +`},wl="\\r",DA=Br("\\r",!1),Ap=function(){return"\r"},hc="\\t",SA=Br("\\t",!1),Qn=function(){return" "},hi="\\v",gc=Br("\\v",!1),bA=function(){return"\v"},sa=/^[\\'"?]/,Ni=Is(["\\","'",'"',"?"],!1,!1),Uo=function(L){return String.fromCharCode(parseInt(L,16))},Xe="\\x",ao=Br("\\x",!1),dc="\\u",hu=Br("\\u",!1),qi="\\U",gu=Br("\\U",!1),xA=function(L){return String.fromCodePoint(parseInt(L,16))},Ha=/^[0-7]/,mc=Is([["0","7"]],!1,!1),ds=/^[0-9a-fA-f]/,Ht=Is([["0","9"],["a","f"],["A","f"]],!1,!1),Rn=Ag(),Ci="{}",oa=Br("{}",!1),lo=function(){return"{}"},Hs="-",aa=Br("-",!1),la="+",_o=Br("+",!1),wi=".",ms=Br(".",!1),ys=function(L,K,re){return{type:"number",value:(L==="-"?-1:1)*parseFloat(K.join("")+"."+re.join(""))}},Es=function(L,K){return{type:"number",value:(L==="-"?-1:1)*parseInt(K.join(""))}},qs=function(L){return{type:"variable",...L}},Un=function(L){return{type:"variable",name:L}},Dn=function(L){return L},Cs="*",We=Br("*",!1),tt="/",It=Br("/",!1),or=function(L,K,re){return{type:K==="*"?"multiplication":"division",right:re}},ee=function(L,K){return K.reduce((re,he)=>({left:re,...he}),L)},ye=function(L,K,re){return{type:K==="+"?"addition":"subtraction",right:re}},Ne="$((",ft=Br("$((",!1),pt="))",Lt=Br("))",!1),rr=function(L){return L},$r="$(",Gi=Br("$(",!1),ts=function(L){return L},bi="${",Ho=Br("${",!1),kA=":-",QA=Br(":-",!1),fp=function(L,K){return{name:L,defaultValue:K}},sg=":-}",du=Br(":-}",!1),og=function(L){return{name:L,defaultValue:[]}},mu=":+",co=Br(":+",!1),RA=function(L,K){return{name:L,alternativeValue:K}},yc=":+}",ca=Br(":+}",!1),ag=function(L){return{name:L,alternativeValue:[]}},Ec=function(L){return{name:L}},Dm="$",lg=Br("$",!1),ei=function(L){return e.isGlobPattern(L)},pp=function(L){return L},cg=/^[a-zA-Z0-9_]/,FA=Is([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),Gs=function(){return ug()},yu=/^[$@*?#a-zA-Z0-9_\-]/,qa=Is(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),ji=/^[()}<>$|&; \t"']/,ua=Is(["(",")","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),Eu=/^[<>&; \t"']/,ws=Is(["<",">","&",";"," "," ",'"',"'"],!1,!1),Cc=/^[ \t]/,wc=Is([" "," "],!1,!1),Y=0,Pt=0,Il=[{line:1,column:1}],xi=0,Ic=[],ct=0,Cu;if("startRule"in e){if(!(e.startRule in o))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=o[e.startRule]}function ug(){return t.substring(Pt,Y)}function dw(){return Bc(Pt,Y)}function TA(L,K){throw K=K!==void 0?K:Bc(Pt,Y),hg([pg(L)],t.substring(Pt,Y),K)}function hp(L,K){throw K=K!==void 0?K:Bc(Pt,Y),Sm(L,K)}function Br(L,K){return{type:"literal",text:L,ignoreCase:K}}function Is(L,K,re){return{type:"class",parts:L,inverted:K,ignoreCase:re}}function Ag(){return{type:"any"}}function fg(){return{type:"end"}}function pg(L){return{type:"other",description:L}}function gp(L){var K=Il[L],re;if(K)return K;for(re=L-1;!Il[re];)re--;for(K=Il[re],K={line:K.line,column:K.column};rexi&&(xi=Y,Ic=[]),Ic.push(L))}function Sm(L,K){return new Yg(L,null,null,K)}function hg(L,K,re){return new Yg(Yg.buildMessage(L,K),L,K,re)}function gg(){var L,K,re;for(L=Y,K=[],re=Qt();re!==r;)K.push(re),re=Qt();return K!==r?(re=wu(),re===r&&(re=null),re!==r?(Pt=L,K=n(re),L=K):(Y=L,L=r)):(Y=L,L=r),L}function wu(){var L,K,re,he,Je;if(L=Y,K=Iu(),K!==r){for(re=[],he=Qt();he!==r;)re.push(he),he=Qt();re!==r?(he=dg(),he!==r?(Je=bm(),Je===r&&(Je=null),Je!==r?(Pt=L,K=u(K,he,Je),L=K):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r)}else Y=L,L=r;if(L===r)if(L=Y,K=Iu(),K!==r){for(re=[],he=Qt();he!==r;)re.push(he),he=Qt();re!==r?(he=dg(),he===r&&(he=null),he!==r?(Pt=L,K=A(K,he),L=K):(Y=L,L=r)):(Y=L,L=r)}else Y=L,L=r;return L}function bm(){var L,K,re,he,Je;for(L=Y,K=[],re=Qt();re!==r;)K.push(re),re=Qt();if(K!==r)if(re=wu(),re!==r){for(he=[],Je=Qt();Je!==r;)he.push(Je),Je=Qt();he!==r?(Pt=L,K=p(re),L=K):(Y=L,L=r)}else Y=L,L=r;else Y=L,L=r;return L}function dg(){var L;return t.charCodeAt(Y)===59?(L=h,Y++):(L=r,ct===0&&Ct(E)),L===r&&(t.charCodeAt(Y)===38?(L=I,Y++):(L=r,ct===0&&Ct(v))),L}function Iu(){var L,K,re;return L=Y,K=Aa(),K!==r?(re=mw(),re===r&&(re=null),re!==r?(Pt=L,K=x(K,re),L=K):(Y=L,L=r)):(Y=L,L=r),L}function mw(){var L,K,re,he,Je,mt,fr;for(L=Y,K=[],re=Qt();re!==r;)K.push(re),re=Qt();if(K!==r)if(re=xm(),re!==r){for(he=[],Je=Qt();Je!==r;)he.push(Je),Je=Qt();if(he!==r)if(Je=Iu(),Je!==r){for(mt=[],fr=Qt();fr!==r;)mt.push(fr),fr=Qt();mt!==r?(Pt=L,K=C(re,Je),L=K):(Y=L,L=r)}else Y=L,L=r;else Y=L,L=r}else Y=L,L=r;else Y=L,L=r;return L}function xm(){var L;return t.substr(Y,2)===F?(L=F,Y+=2):(L=r,ct===0&&Ct(N)),L===r&&(t.substr(Y,2)===U?(L=U,Y+=2):(L=r,ct===0&&Ct(J))),L}function Aa(){var L,K,re;return L=Y,K=mg(),K!==r?(re=vc(),re===r&&(re=null),re!==r?(Pt=L,K=te(K,re),L=K):(Y=L,L=r)):(Y=L,L=r),L}function vc(){var L,K,re,he,Je,mt,fr;for(L=Y,K=[],re=Qt();re!==r;)K.push(re),re=Qt();if(K!==r)if(re=Bl(),re!==r){for(he=[],Je=Qt();Je!==r;)he.push(Je),Je=Qt();if(he!==r)if(Je=Aa(),Je!==r){for(mt=[],fr=Qt();fr!==r;)mt.push(fr),fr=Qt();mt!==r?(Pt=L,K=ae(re,Je),L=K):(Y=L,L=r)}else Y=L,L=r;else Y=L,L=r}else Y=L,L=r;else Y=L,L=r;return L}function Bl(){var L;return t.substr(Y,2)===le?(L=le,Y+=2):(L=r,ct===0&&Ct(ce)),L===r&&(t.charCodeAt(Y)===124?(L=we,Y++):(L=r,ct===0&&Ct(de))),L}function Bu(){var L,K,re,he,Je,mt;if(L=Y,K=wg(),K!==r)if(t.charCodeAt(Y)===61?(re=Be,Y++):(re=r,ct===0&&Ct(Ee)),re!==r)if(he=qo(),he!==r){for(Je=[],mt=Qt();mt!==r;)Je.push(mt),mt=Qt();Je!==r?(Pt=L,K=g(K,he),L=K):(Y=L,L=r)}else Y=L,L=r;else Y=L,L=r;else Y=L,L=r;if(L===r)if(L=Y,K=wg(),K!==r)if(t.charCodeAt(Y)===61?(re=Be,Y++):(re=r,ct===0&&Ct(Ee)),re!==r){for(he=[],Je=Qt();Je!==r;)he.push(Je),Je=Qt();he!==r?(Pt=L,K=me(K),L=K):(Y=L,L=r)}else Y=L,L=r;else Y=L,L=r;return L}function mg(){var L,K,re,he,Je,mt,fr,Cr,yn,oi,Oi;for(L=Y,K=[],re=Qt();re!==r;)K.push(re),re=Qt();if(K!==r)if(t.charCodeAt(Y)===40?(re=Ce,Y++):(re=r,ct===0&&Ct(Ae)),re!==r){for(he=[],Je=Qt();Je!==r;)he.push(Je),Je=Qt();if(he!==r)if(Je=wu(),Je!==r){for(mt=[],fr=Qt();fr!==r;)mt.push(fr),fr=Qt();if(mt!==r)if(t.charCodeAt(Y)===41?(fr=ne,Y++):(fr=r,ct===0&&Ct(Z)),fr!==r){for(Cr=[],yn=Qt();yn!==r;)Cr.push(yn),yn=Qt();if(Cr!==r){for(yn=[],oi=Ga();oi!==r;)yn.push(oi),oi=Ga();if(yn!==r){for(oi=[],Oi=Qt();Oi!==r;)oi.push(Oi),Oi=Qt();oi!==r?(Pt=L,K=xe(Je,yn),L=K):(Y=L,L=r)}else Y=L,L=r}else Y=L,L=r}else Y=L,L=r;else Y=L,L=r}else Y=L,L=r;else Y=L,L=r}else Y=L,L=r;else Y=L,L=r;if(L===r){for(L=Y,K=[],re=Qt();re!==r;)K.push(re),re=Qt();if(K!==r)if(t.charCodeAt(Y)===123?(re=Le,Y++):(re=r,ct===0&&Ct(ht)),re!==r){for(he=[],Je=Qt();Je!==r;)he.push(Je),Je=Qt();if(he!==r)if(Je=wu(),Je!==r){for(mt=[],fr=Qt();fr!==r;)mt.push(fr),fr=Qt();if(mt!==r)if(t.charCodeAt(Y)===125?(fr=H,Y++):(fr=r,ct===0&&Ct(rt)),fr!==r){for(Cr=[],yn=Qt();yn!==r;)Cr.push(yn),yn=Qt();if(Cr!==r){for(yn=[],oi=Ga();oi!==r;)yn.push(oi),oi=Ga();if(yn!==r){for(oi=[],Oi=Qt();Oi!==r;)oi.push(Oi),Oi=Qt();oi!==r?(Pt=L,K=Te(Je,yn),L=K):(Y=L,L=r)}else Y=L,L=r}else Y=L,L=r}else Y=L,L=r;else Y=L,L=r}else Y=L,L=r;else Y=L,L=r}else Y=L,L=r;else Y=L,L=r;if(L===r){for(L=Y,K=[],re=Qt();re!==r;)K.push(re),re=Qt();if(K!==r){for(re=[],he=Bu();he!==r;)re.push(he),he=Bu();if(re!==r){for(he=[],Je=Qt();Je!==r;)he.push(Je),Je=Qt();if(he!==r){if(Je=[],mt=dp(),mt!==r)for(;mt!==r;)Je.push(mt),mt=dp();else Je=r;if(Je!==r){for(mt=[],fr=Qt();fr!==r;)mt.push(fr),fr=Qt();mt!==r?(Pt=L,K=Re(re,Je),L=K):(Y=L,L=r)}else Y=L,L=r}else Y=L,L=r}else Y=L,L=r}else Y=L,L=r;if(L===r){for(L=Y,K=[],re=Qt();re!==r;)K.push(re),re=Qt();if(K!==r){if(re=[],he=Bu(),he!==r)for(;he!==r;)re.push(he),he=Bu();else re=r;if(re!==r){for(he=[],Je=Qt();Je!==r;)he.push(Je),Je=Qt();he!==r?(Pt=L,K=ke(re),L=K):(Y=L,L=r)}else Y=L,L=r}else Y=L,L=r}}}return L}function LA(){var L,K,re,he,Je;for(L=Y,K=[],re=Qt();re!==r;)K.push(re),re=Qt();if(K!==r){if(re=[],he=mp(),he!==r)for(;he!==r;)re.push(he),he=mp();else re=r;if(re!==r){for(he=[],Je=Qt();Je!==r;)he.push(Je),Je=Qt();he!==r?(Pt=L,K=Ye(re),L=K):(Y=L,L=r)}else Y=L,L=r}else Y=L,L=r;return L}function dp(){var L,K,re;for(L=Y,K=[],re=Qt();re!==r;)K.push(re),re=Qt();if(K!==r?(re=Ga(),re!==r?(Pt=L,K=Se(re),L=K):(Y=L,L=r)):(Y=L,L=r),L===r){for(L=Y,K=[],re=Qt();re!==r;)K.push(re),re=Qt();K!==r?(re=mp(),re!==r?(Pt=L,K=Se(re),L=K):(Y=L,L=r)):(Y=L,L=r)}return L}function Ga(){var L,K,re,he,Je;for(L=Y,K=[],re=Qt();re!==r;)K.push(re),re=Qt();return K!==r?(et.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,ct===0&&Ct(Ue)),re===r&&(re=null),re!==r?(he=yg(),he!==r?(Je=mp(),Je!==r?(Pt=L,K=b(re,he,Je),L=K):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r),L}function yg(){var L;return t.substr(Y,2)===w?(L=w,Y+=2):(L=r,ct===0&&Ct(S)),L===r&&(t.substr(Y,2)===y?(L=y,Y+=2):(L=r,ct===0&&Ct(R)),L===r&&(t.charCodeAt(Y)===62?(L=V,Y++):(L=r,ct===0&&Ct(X)),L===r&&(t.substr(Y,3)===$?(L=$,Y+=3):(L=r,ct===0&&Ct(ie)),L===r&&(t.substr(Y,2)===be?(L=be,Y+=2):(L=r,ct===0&&Ct(Fe)),L===r&&(t.charCodeAt(Y)===60?(L=at,Y++):(L=r,ct===0&&Ct(dt))))))),L}function mp(){var L,K,re;for(L=Y,K=[],re=Qt();re!==r;)K.push(re),re=Qt();return K!==r?(re=qo(),re!==r?(Pt=L,K=Se(re),L=K):(Y=L,L=r)):(Y=L,L=r),L}function qo(){var L,K,re;if(L=Y,K=[],re=Bs(),re!==r)for(;re!==r;)K.push(re),re=Bs();else K=r;return K!==r&&(Pt=L,K=Gt(K)),L=K,L}function Bs(){var L,K;return L=Y,K=Ii(),K!==r&&(Pt=L,K=tr(K)),L=K,L===r&&(L=Y,K=km(),K!==r&&(Pt=L,K=tr(K)),L=K,L===r&&(L=Y,K=Qm(),K!==r&&(Pt=L,K=tr(K)),L=K,L===r&&(L=Y,K=Go(),K!==r&&(Pt=L,K=tr(K)),L=K))),L}function Ii(){var L,K,re,he;return L=Y,t.substr(Y,2)===bt?(K=bt,Y+=2):(K=r,ct===0&&Ct(ln)),K!==r?(re=cn(),re!==r?(t.charCodeAt(Y)===39?(he=kr,Y++):(he=r,ct===0&&Ct(mr)),he!==r?(Pt=L,K=br(re),L=K):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r),L}function km(){var L,K,re,he;return L=Y,t.charCodeAt(Y)===39?(K=kr,Y++):(K=r,ct===0&&Ct(mr)),K!==r?(re=Ep(),re!==r?(t.charCodeAt(Y)===39?(he=kr,Y++):(he=r,ct===0&&Ct(mr)),he!==r?(Pt=L,K=br(re),L=K):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r),L}function Qm(){var L,K,re,he;if(L=Y,t.substr(Y,2)===Kr?(K=Kr,Y+=2):(K=r,ct===0&&Ct(Kn)),K!==r&&(Pt=L,K=Os()),L=K,L===r)if(L=Y,t.charCodeAt(Y)===34?(K=Ti,Y++):(K=r,ct===0&&Ct(gs)),K!==r){for(re=[],he=NA();he!==r;)re.push(he),he=NA();re!==r?(t.charCodeAt(Y)===34?(he=Ti,Y++):(he=r,ct===0&&Ct(gs)),he!==r?(Pt=L,K=no(re),L=K):(Y=L,L=r)):(Y=L,L=r)}else Y=L,L=r;return L}function Go(){var L,K,re;if(L=Y,K=[],re=yp(),re!==r)for(;re!==r;)K.push(re),re=yp();else K=r;return K!==r&&(Pt=L,K=no(K)),L=K,L}function NA(){var L,K;return L=Y,K=Yr(),K!==r&&(Pt=L,K=Si(K)),L=K,L===r&&(L=Y,K=Cp(),K!==r&&(Pt=L,K=Ms(K)),L=K,L===r&&(L=Y,K=Dc(),K!==r&&(Pt=L,K=io(K)),L=K,L===r&&(L=Y,K=Eg(),K!==r&&(Pt=L,K=uc(K)),L=K))),L}function yp(){var L,K;return L=Y,K=Yr(),K!==r&&(Pt=L,K=uu(K)),L=K,L===r&&(L=Y,K=Cp(),K!==r&&(Pt=L,K=cp(K)),L=K,L===r&&(L=Y,K=Dc(),K!==r&&(Pt=L,K=up(K)),L=K,L===r&&(L=Y,K=yw(),K!==r&&(Pt=L,K=Us(K)),L=K,L===r&&(L=Y,K=pa(),K!==r&&(Pt=L,K=uc(K)),L=K)))),L}function Ep(){var L,K,re;for(L=Y,K=[],Pn.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,ct===0&&Ct(so));re!==r;)K.push(re),Pn.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,ct===0&&Ct(so));return K!==r&&(Pt=L,K=_s(K)),L=K,L}function Eg(){var L,K,re;if(L=Y,K=[],re=fa(),re===r&&(yl.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,ct===0&&Ct(El))),re!==r)for(;re!==r;)K.push(re),re=fa(),re===r&&(yl.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,ct===0&&Ct(El)));else K=r;return K!==r&&(Pt=L,K=_s(K)),L=K,L}function fa(){var L,K,re;return L=Y,t.substr(Y,2)===oo?(K=oo,Y+=2):(K=r,ct===0&&Ct(zn)),K!==r&&(Pt=L,K=On()),L=K,L===r&&(L=Y,t.charCodeAt(Y)===92?(K=Li,Y++):(K=r,ct===0&&Ct(Mn)),K!==r?(_i.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,ct===0&&Ct(ir)),re!==r?(Pt=L,K=Oe(re),L=K):(Y=L,L=r)):(Y=L,L=r)),L}function cn(){var L,K,re;for(L=Y,K=[],re=uo(),re===r&&(Pn.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,ct===0&&Ct(so)));re!==r;)K.push(re),re=uo(),re===r&&(Pn.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,ct===0&&Ct(so)));return K!==r&&(Pt=L,K=_s(K)),L=K,L}function uo(){var L,K,re;return L=Y,t.substr(Y,2)===ii?(K=ii,Y+=2):(K=r,ct===0&&Ct(Ua)),K!==r&&(Pt=L,K=hr()),L=K,L===r&&(L=Y,t.substr(Y,2)===Ac?(K=Ac,Y+=2):(K=r,ct===0&&Ct(Au)),K!==r&&(Pt=L,K=fc()),L=K,L===r&&(L=Y,t.charCodeAt(Y)===92?(K=Li,Y++):(K=r,ct===0&&Ct(Mn)),K!==r?(Cl.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,ct===0&&Ct(PA)),re!==r?(Pt=L,K=fu(),L=K):(Y=L,L=r)):(Y=L,L=r),L===r&&(L=Y,t.substr(Y,2)===Ie?(K=Ie,Y+=2):(K=r,ct===0&&Ct(Tt)),K!==r&&(Pt=L,K=pc()),L=K,L===r&&(L=Y,t.substr(Y,2)===Hi?(K=Hi,Y+=2):(K=r,ct===0&&Ct(pu)),K!==r&&(Pt=L,K=Yt()),L=K,L===r&&(L=Y,t.substr(Y,2)===wl?(K=wl,Y+=2):(K=r,ct===0&&Ct(DA)),K!==r&&(Pt=L,K=Ap()),L=K,L===r&&(L=Y,t.substr(Y,2)===hc?(K=hc,Y+=2):(K=r,ct===0&&Ct(SA)),K!==r&&(Pt=L,K=Qn()),L=K,L===r&&(L=Y,t.substr(Y,2)===hi?(K=hi,Y+=2):(K=r,ct===0&&Ct(gc)),K!==r&&(Pt=L,K=bA()),L=K,L===r&&(L=Y,t.charCodeAt(Y)===92?(K=Li,Y++):(K=r,ct===0&&Ct(Mn)),K!==r?(sa.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,ct===0&&Ct(Ni)),re!==r?(Pt=L,K=Oe(re),L=K):(Y=L,L=r)):(Y=L,L=r),L===r&&(L=OA()))))))))),L}function OA(){var L,K,re,he,Je,mt,fr,Cr,yn,oi,Oi,Bg;return L=Y,t.charCodeAt(Y)===92?(K=Li,Y++):(K=r,ct===0&&Ct(Mn)),K!==r?(re=ja(),re!==r?(Pt=L,K=Uo(re),L=K):(Y=L,L=r)):(Y=L,L=r),L===r&&(L=Y,t.substr(Y,2)===Xe?(K=Xe,Y+=2):(K=r,ct===0&&Ct(ao)),K!==r?(re=Y,he=Y,Je=ja(),Je!==r?(mt=si(),mt!==r?(Je=[Je,mt],he=Je):(Y=he,he=r)):(Y=he,he=r),he===r&&(he=ja()),he!==r?re=t.substring(re,Y):re=he,re!==r?(Pt=L,K=Uo(re),L=K):(Y=L,L=r)):(Y=L,L=r),L===r&&(L=Y,t.substr(Y,2)===dc?(K=dc,Y+=2):(K=r,ct===0&&Ct(hu)),K!==r?(re=Y,he=Y,Je=si(),Je!==r?(mt=si(),mt!==r?(fr=si(),fr!==r?(Cr=si(),Cr!==r?(Je=[Je,mt,fr,Cr],he=Je):(Y=he,he=r)):(Y=he,he=r)):(Y=he,he=r)):(Y=he,he=r),he!==r?re=t.substring(re,Y):re=he,re!==r?(Pt=L,K=Uo(re),L=K):(Y=L,L=r)):(Y=L,L=r),L===r&&(L=Y,t.substr(Y,2)===qi?(K=qi,Y+=2):(K=r,ct===0&&Ct(gu)),K!==r?(re=Y,he=Y,Je=si(),Je!==r?(mt=si(),mt!==r?(fr=si(),fr!==r?(Cr=si(),Cr!==r?(yn=si(),yn!==r?(oi=si(),oi!==r?(Oi=si(),Oi!==r?(Bg=si(),Bg!==r?(Je=[Je,mt,fr,Cr,yn,oi,Oi,Bg],he=Je):(Y=he,he=r)):(Y=he,he=r)):(Y=he,he=r)):(Y=he,he=r)):(Y=he,he=r)):(Y=he,he=r)):(Y=he,he=r)):(Y=he,he=r),he!==r?re=t.substring(re,Y):re=he,re!==r?(Pt=L,K=xA(re),L=K):(Y=L,L=r)):(Y=L,L=r)))),L}function ja(){var L;return Ha.test(t.charAt(Y))?(L=t.charAt(Y),Y++):(L=r,ct===0&&Ct(mc)),L}function si(){var L;return ds.test(t.charAt(Y))?(L=t.charAt(Y),Y++):(L=r,ct===0&&Ct(Ht)),L}function pa(){var L,K,re,he,Je;if(L=Y,K=[],re=Y,t.charCodeAt(Y)===92?(he=Li,Y++):(he=r,ct===0&&Ct(Mn)),he!==r?(t.length>Y?(Je=t.charAt(Y),Y++):(Je=r,ct===0&&Ct(Rn)),Je!==r?(Pt=re,he=Oe(Je),re=he):(Y=re,re=r)):(Y=re,re=r),re===r&&(re=Y,t.substr(Y,2)===Ci?(he=Ci,Y+=2):(he=r,ct===0&&Ct(oa)),he!==r&&(Pt=re,he=lo()),re=he,re===r&&(re=Y,he=Y,ct++,Je=Rm(),ct--,Je===r?he=void 0:(Y=he,he=r),he!==r?(t.length>Y?(Je=t.charAt(Y),Y++):(Je=r,ct===0&&Ct(Rn)),Je!==r?(Pt=re,he=Oe(Je),re=he):(Y=re,re=r)):(Y=re,re=r))),re!==r)for(;re!==r;)K.push(re),re=Y,t.charCodeAt(Y)===92?(he=Li,Y++):(he=r,ct===0&&Ct(Mn)),he!==r?(t.length>Y?(Je=t.charAt(Y),Y++):(Je=r,ct===0&&Ct(Rn)),Je!==r?(Pt=re,he=Oe(Je),re=he):(Y=re,re=r)):(Y=re,re=r),re===r&&(re=Y,t.substr(Y,2)===Ci?(he=Ci,Y+=2):(he=r,ct===0&&Ct(oa)),he!==r&&(Pt=re,he=lo()),re=he,re===r&&(re=Y,he=Y,ct++,Je=Rm(),ct--,Je===r?he=void 0:(Y=he,he=r),he!==r?(t.length>Y?(Je=t.charAt(Y),Y++):(Je=r,ct===0&&Ct(Rn)),Je!==r?(Pt=re,he=Oe(Je),re=he):(Y=re,re=r)):(Y=re,re=r)));else K=r;return K!==r&&(Pt=L,K=_s(K)),L=K,L}function Pc(){var L,K,re,he,Je,mt;if(L=Y,t.charCodeAt(Y)===45?(K=Hs,Y++):(K=r,ct===0&&Ct(aa)),K===r&&(t.charCodeAt(Y)===43?(K=la,Y++):(K=r,ct===0&&Ct(_o))),K===r&&(K=null),K!==r){if(re=[],et.test(t.charAt(Y))?(he=t.charAt(Y),Y++):(he=r,ct===0&&Ct(Ue)),he!==r)for(;he!==r;)re.push(he),et.test(t.charAt(Y))?(he=t.charAt(Y),Y++):(he=r,ct===0&&Ct(Ue));else re=r;if(re!==r)if(t.charCodeAt(Y)===46?(he=wi,Y++):(he=r,ct===0&&Ct(ms)),he!==r){if(Je=[],et.test(t.charAt(Y))?(mt=t.charAt(Y),Y++):(mt=r,ct===0&&Ct(Ue)),mt!==r)for(;mt!==r;)Je.push(mt),et.test(t.charAt(Y))?(mt=t.charAt(Y),Y++):(mt=r,ct===0&&Ct(Ue));else Je=r;Je!==r?(Pt=L,K=ys(K,re,Je),L=K):(Y=L,L=r)}else Y=L,L=r;else Y=L,L=r}else Y=L,L=r;if(L===r){if(L=Y,t.charCodeAt(Y)===45?(K=Hs,Y++):(K=r,ct===0&&Ct(aa)),K===r&&(t.charCodeAt(Y)===43?(K=la,Y++):(K=r,ct===0&&Ct(_o))),K===r&&(K=null),K!==r){if(re=[],et.test(t.charAt(Y))?(he=t.charAt(Y),Y++):(he=r,ct===0&&Ct(Ue)),he!==r)for(;he!==r;)re.push(he),et.test(t.charAt(Y))?(he=t.charAt(Y),Y++):(he=r,ct===0&&Ct(Ue));else re=r;re!==r?(Pt=L,K=Es(K,re),L=K):(Y=L,L=r)}else Y=L,L=r;if(L===r&&(L=Y,K=Dc(),K!==r&&(Pt=L,K=qs(K)),L=K,L===r&&(L=Y,K=Ya(),K!==r&&(Pt=L,K=Un(K)),L=K,L===r)))if(L=Y,t.charCodeAt(Y)===40?(K=Ce,Y++):(K=r,ct===0&&Ct(Ae)),K!==r){for(re=[],he=Qt();he!==r;)re.push(he),he=Qt();if(re!==r)if(he=rs(),he!==r){for(Je=[],mt=Qt();mt!==r;)Je.push(mt),mt=Qt();Je!==r?(t.charCodeAt(Y)===41?(mt=ne,Y++):(mt=r,ct===0&&Ct(Z)),mt!==r?(Pt=L,K=Dn(he),L=K):(Y=L,L=r)):(Y=L,L=r)}else Y=L,L=r;else Y=L,L=r}else Y=L,L=r}return L}function vl(){var L,K,re,he,Je,mt,fr,Cr;if(L=Y,K=Pc(),K!==r){for(re=[],he=Y,Je=[],mt=Qt();mt!==r;)Je.push(mt),mt=Qt();if(Je!==r)if(t.charCodeAt(Y)===42?(mt=Cs,Y++):(mt=r,ct===0&&Ct(We)),mt===r&&(t.charCodeAt(Y)===47?(mt=tt,Y++):(mt=r,ct===0&&Ct(It))),mt!==r){for(fr=[],Cr=Qt();Cr!==r;)fr.push(Cr),Cr=Qt();fr!==r?(Cr=Pc(),Cr!==r?(Pt=he,Je=or(K,mt,Cr),he=Je):(Y=he,he=r)):(Y=he,he=r)}else Y=he,he=r;else Y=he,he=r;for(;he!==r;){for(re.push(he),he=Y,Je=[],mt=Qt();mt!==r;)Je.push(mt),mt=Qt();if(Je!==r)if(t.charCodeAt(Y)===42?(mt=Cs,Y++):(mt=r,ct===0&&Ct(We)),mt===r&&(t.charCodeAt(Y)===47?(mt=tt,Y++):(mt=r,ct===0&&Ct(It))),mt!==r){for(fr=[],Cr=Qt();Cr!==r;)fr.push(Cr),Cr=Qt();fr!==r?(Cr=Pc(),Cr!==r?(Pt=he,Je=or(K,mt,Cr),he=Je):(Y=he,he=r)):(Y=he,he=r)}else Y=he,he=r;else Y=he,he=r}re!==r?(Pt=L,K=ee(K,re),L=K):(Y=L,L=r)}else Y=L,L=r;return L}function rs(){var L,K,re,he,Je,mt,fr,Cr;if(L=Y,K=vl(),K!==r){for(re=[],he=Y,Je=[],mt=Qt();mt!==r;)Je.push(mt),mt=Qt();if(Je!==r)if(t.charCodeAt(Y)===43?(mt=la,Y++):(mt=r,ct===0&&Ct(_o)),mt===r&&(t.charCodeAt(Y)===45?(mt=Hs,Y++):(mt=r,ct===0&&Ct(aa))),mt!==r){for(fr=[],Cr=Qt();Cr!==r;)fr.push(Cr),Cr=Qt();fr!==r?(Cr=vl(),Cr!==r?(Pt=he,Je=ye(K,mt,Cr),he=Je):(Y=he,he=r)):(Y=he,he=r)}else Y=he,he=r;else Y=he,he=r;for(;he!==r;){for(re.push(he),he=Y,Je=[],mt=Qt();mt!==r;)Je.push(mt),mt=Qt();if(Je!==r)if(t.charCodeAt(Y)===43?(mt=la,Y++):(mt=r,ct===0&&Ct(_o)),mt===r&&(t.charCodeAt(Y)===45?(mt=Hs,Y++):(mt=r,ct===0&&Ct(aa))),mt!==r){for(fr=[],Cr=Qt();Cr!==r;)fr.push(Cr),Cr=Qt();fr!==r?(Cr=vl(),Cr!==r?(Pt=he,Je=ye(K,mt,Cr),he=Je):(Y=he,he=r)):(Y=he,he=r)}else Y=he,he=r;else Y=he,he=r}re!==r?(Pt=L,K=ee(K,re),L=K):(Y=L,L=r)}else Y=L,L=r;return L}function Yr(){var L,K,re,he,Je,mt;if(L=Y,t.substr(Y,3)===Ne?(K=Ne,Y+=3):(K=r,ct===0&&Ct(ft)),K!==r){for(re=[],he=Qt();he!==r;)re.push(he),he=Qt();if(re!==r)if(he=rs(),he!==r){for(Je=[],mt=Qt();mt!==r;)Je.push(mt),mt=Qt();Je!==r?(t.substr(Y,2)===pt?(mt=pt,Y+=2):(mt=r,ct===0&&Ct(Lt)),mt!==r?(Pt=L,K=rr(he),L=K):(Y=L,L=r)):(Y=L,L=r)}else Y=L,L=r;else Y=L,L=r}else Y=L,L=r;return L}function Cp(){var L,K,re,he;return L=Y,t.substr(Y,2)===$r?(K=$r,Y+=2):(K=r,ct===0&&Ct(Gi)),K!==r?(re=wu(),re!==r?(t.charCodeAt(Y)===41?(he=ne,Y++):(he=r,ct===0&&Ct(Z)),he!==r?(Pt=L,K=ts(re),L=K):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r),L}function Dc(){var L,K,re,he,Je,mt;return L=Y,t.substr(Y,2)===bi?(K=bi,Y+=2):(K=r,ct===0&&Ct(Ho)),K!==r?(re=Ya(),re!==r?(t.substr(Y,2)===kA?(he=kA,Y+=2):(he=r,ct===0&&Ct(QA)),he!==r?(Je=LA(),Je!==r?(t.charCodeAt(Y)===125?(mt=H,Y++):(mt=r,ct===0&&Ct(rt)),mt!==r?(Pt=L,K=fp(re,Je),L=K):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r),L===r&&(L=Y,t.substr(Y,2)===bi?(K=bi,Y+=2):(K=r,ct===0&&Ct(Ho)),K!==r?(re=Ya(),re!==r?(t.substr(Y,3)===sg?(he=sg,Y+=3):(he=r,ct===0&&Ct(du)),he!==r?(Pt=L,K=og(re),L=K):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r),L===r&&(L=Y,t.substr(Y,2)===bi?(K=bi,Y+=2):(K=r,ct===0&&Ct(Ho)),K!==r?(re=Ya(),re!==r?(t.substr(Y,2)===mu?(he=mu,Y+=2):(he=r,ct===0&&Ct(co)),he!==r?(Je=LA(),Je!==r?(t.charCodeAt(Y)===125?(mt=H,Y++):(mt=r,ct===0&&Ct(rt)),mt!==r?(Pt=L,K=RA(re,Je),L=K):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r),L===r&&(L=Y,t.substr(Y,2)===bi?(K=bi,Y+=2):(K=r,ct===0&&Ct(Ho)),K!==r?(re=Ya(),re!==r?(t.substr(Y,3)===yc?(he=yc,Y+=3):(he=r,ct===0&&Ct(ca)),he!==r?(Pt=L,K=ag(re),L=K):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r),L===r&&(L=Y,t.substr(Y,2)===bi?(K=bi,Y+=2):(K=r,ct===0&&Ct(Ho)),K!==r?(re=Ya(),re!==r?(t.charCodeAt(Y)===125?(he=H,Y++):(he=r,ct===0&&Ct(rt)),he!==r?(Pt=L,K=Ec(re),L=K):(Y=L,L=r)):(Y=L,L=r)):(Y=L,L=r),L===r&&(L=Y,t.charCodeAt(Y)===36?(K=Dm,Y++):(K=r,ct===0&&Ct(lg)),K!==r?(re=Ya(),re!==r?(Pt=L,K=Ec(re),L=K):(Y=L,L=r)):(Y=L,L=r)))))),L}function yw(){var L,K,re;return L=Y,K=Cg(),K!==r?(Pt=Y,re=ei(K),re?re=void 0:re=r,re!==r?(Pt=L,K=pp(K),L=K):(Y=L,L=r)):(Y=L,L=r),L}function Cg(){var L,K,re,he,Je;if(L=Y,K=[],re=Y,he=Y,ct++,Je=Ig(),ct--,Je===r?he=void 0:(Y=he,he=r),he!==r?(t.length>Y?(Je=t.charAt(Y),Y++):(Je=r,ct===0&&Ct(Rn)),Je!==r?(Pt=re,he=Oe(Je),re=he):(Y=re,re=r)):(Y=re,re=r),re!==r)for(;re!==r;)K.push(re),re=Y,he=Y,ct++,Je=Ig(),ct--,Je===r?he=void 0:(Y=he,he=r),he!==r?(t.length>Y?(Je=t.charAt(Y),Y++):(Je=r,ct===0&&Ct(Rn)),Je!==r?(Pt=re,he=Oe(Je),re=he):(Y=re,re=r)):(Y=re,re=r);else K=r;return K!==r&&(Pt=L,K=_s(K)),L=K,L}function wg(){var L,K,re;if(L=Y,K=[],cg.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,ct===0&&Ct(FA)),re!==r)for(;re!==r;)K.push(re),cg.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,ct===0&&Ct(FA));else K=r;return K!==r&&(Pt=L,K=Gs()),L=K,L}function Ya(){var L,K,re;if(L=Y,K=[],yu.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,ct===0&&Ct(qa)),re!==r)for(;re!==r;)K.push(re),yu.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,ct===0&&Ct(qa));else K=r;return K!==r&&(Pt=L,K=Gs()),L=K,L}function Rm(){var L;return ji.test(t.charAt(Y))?(L=t.charAt(Y),Y++):(L=r,ct===0&&Ct(ua)),L}function Ig(){var L;return Eu.test(t.charAt(Y))?(L=t.charAt(Y),Y++):(L=r,ct===0&&Ct(ws)),L}function Qt(){var L,K;if(L=[],Cc.test(t.charAt(Y))?(K=t.charAt(Y),Y++):(K=r,ct===0&&Ct(wc)),K!==r)for(;K!==r;)L.push(K),Cc.test(t.charAt(Y))?(K=t.charAt(Y),Y++):(K=r,ct===0&&Ct(wc));else L=r;return L}if(Cu=a(),Cu!==r&&Y===t.length)return Cu;throw Cu!==r&&Y!1}){try{return(0,$Y.parse)(t,e)}catch(r){throw r.location&&(r.message=r.message.replace(/(\.)?$/,` (line ${r.location.start.line}, column ${r.location.start.column})$1`)),r}}function ly(t,{endSemicolon:e=!1}={}){return t.map(({command:r,type:o},a)=>`${OP(r)}${o===";"?a!==t.length-1||e?";":"":" &"}`).join(" ")}function OP(t){return`${cy(t.chain)}${t.then?` ${aT(t.then)}`:""}`}function aT(t){return`${t.type} ${OP(t.line)}`}function cy(t){return`${cT(t)}${t.then?` ${lT(t.then)}`:""}`}function lT(t){return`${t.type} ${cy(t.chain)}`}function cT(t){switch(t.type){case"command":return`${t.envs.length>0?`${t.envs.map(e=>LP(e)).join(" ")} `:""}${t.args.map(e=>uT(e)).join(" ")}`;case"subshell":return`(${ly(t.subshell)})${t.args.length>0?` ${t.args.map(e=>Kw(e)).join(" ")}`:""}`;case"group":return`{ ${ly(t.group,{endSemicolon:!0})} }${t.args.length>0?` ${t.args.map(e=>Kw(e)).join(" ")}`:""}`;case"envs":return t.envs.map(e=>LP(e)).join(" ");default:throw new Error(`Unsupported command type: "${t.type}"`)}}function LP(t){return`${t.name}=${t.args[0]?Wg(t.args[0]):""}`}function uT(t){switch(t.type){case"redirection":return Kw(t);case"argument":return Wg(t);default:throw new Error(`Unsupported argument type: "${t.type}"`)}}function Kw(t){return`${t.subtype} ${t.args.map(e=>Wg(e)).join(" ")}`}function Wg(t){return t.segments.map(e=>AT(e)).join("")}function AT(t){let e=(o,a)=>a?`"${o}"`:o,r=o=>o===""?"''":o.match(/[()}<>$|&;"'\n\t ]/)?o.match(/['\t\p{C}]/u)?o.match(/'/)?`"${o.replace(/["$\t\p{C}]/u,p8e)}"`:`$'${o.replace(/[\t\p{C}]/u,tW)}'`:`'${o}'`:o;switch(t.type){case"text":return r(t.text);case"glob":return t.pattern;case"shell":return e(`$(${ly(t.shell)})`,t.quoted);case"variable":return e(typeof t.defaultValue>"u"?typeof t.alternativeValue>"u"?`\${${t.name}}`:t.alternativeValue.length===0?`\${${t.name}:+}`:`\${${t.name}:+${t.alternativeValue.map(o=>Wg(o)).join(" ")}}`:t.defaultValue.length===0?`\${${t.name}:-}`:`\${${t.name}:-${t.defaultValue.map(o=>Wg(o)).join(" ")}}`,t.quoted);case"arithmetic":return`$(( ${MP(t.arithmetic)} ))`;default:throw new Error(`Unsupported argument segment type: "${t.type}"`)}}function MP(t){let e=a=>{switch(a){case"addition":return"+";case"subtraction":return"-";case"multiplication":return"*";case"division":return"/";default:throw new Error(`Can't extract operator from arithmetic expression of type "${a}"`)}},r=(a,n)=>n?`( ${a} )`:a,o=a=>r(MP(a),!["number","variable"].includes(a.type));switch(t.type){case"number":return String(t.value);case"variable":return t.name;default:return`${o(t.left)} ${e(t.type)} ${o(t.right)}`}}var $Y,eW,f8e,tW,p8e,rW=Et(()=>{$Y=Ze(ZY());eW=new Map([["\f","\\f"],[` +`,"\\n"],["\r","\\r"],[" ","\\t"],["\v","\\v"],["\0","\\0"]]),f8e=new Map([["\\","\\\\"],["$","\\$"],['"','\\"'],...Array.from(eW,([t,e])=>[t,`"$'${e}'"`])]),tW=t=>eW.get(t)??`\\x${t.charCodeAt(0).toString(16).padStart(2,"0")}`,p8e=t=>f8e.get(t)??`"$'${tW(t)}'"`});var iW=_((Obt,nW)=>{"use strict";function h8e(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function Kg(t,e,r,o){this.message=t,this.expected=e,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Kg)}h8e(Kg,Error);Kg.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var E="",I;for(I=0;I0){for(I=1,v=1;Ile&&(le=J,ce=[]),ce.push(Ue))}function rt(Ue,b){return new Kg(Ue,null,null,b)}function Te(Ue,b,w){return new Kg(Kg.buildMessage(Ue,b),Ue,b,w)}function Re(){var Ue,b,w,S;return Ue=J,b=ke(),b!==r?(t.charCodeAt(J)===47?(w=n,J++):(w=r,we===0&&H(u)),w!==r?(S=ke(),S!==r?(te=Ue,b=A(b,S),Ue=b):(J=Ue,Ue=r)):(J=Ue,Ue=r)):(J=Ue,Ue=r),Ue===r&&(Ue=J,b=ke(),b!==r&&(te=Ue,b=p(b)),Ue=b),Ue}function ke(){var Ue,b,w,S;return Ue=J,b=Ye(),b!==r?(t.charCodeAt(J)===64?(w=h,J++):(w=r,we===0&&H(E)),w!==r?(S=et(),S!==r?(te=Ue,b=I(b,S),Ue=b):(J=Ue,Ue=r)):(J=Ue,Ue=r)):(J=Ue,Ue=r),Ue===r&&(Ue=J,b=Ye(),b!==r&&(te=Ue,b=v(b)),Ue=b),Ue}function Ye(){var Ue,b,w,S,y;return Ue=J,t.charCodeAt(J)===64?(b=h,J++):(b=r,we===0&&H(E)),b!==r?(w=Se(),w!==r?(t.charCodeAt(J)===47?(S=n,J++):(S=r,we===0&&H(u)),S!==r?(y=Se(),y!==r?(te=Ue,b=x(),Ue=b):(J=Ue,Ue=r)):(J=Ue,Ue=r)):(J=Ue,Ue=r)):(J=Ue,Ue=r),Ue===r&&(Ue=J,b=Se(),b!==r&&(te=Ue,b=x()),Ue=b),Ue}function Se(){var Ue,b,w;if(Ue=J,b=[],C.test(t.charAt(J))?(w=t.charAt(J),J++):(w=r,we===0&&H(F)),w!==r)for(;w!==r;)b.push(w),C.test(t.charAt(J))?(w=t.charAt(J),J++):(w=r,we===0&&H(F));else b=r;return b!==r&&(te=Ue,b=x()),Ue=b,Ue}function et(){var Ue,b,w;if(Ue=J,b=[],N.test(t.charAt(J))?(w=t.charAt(J),J++):(w=r,we===0&&H(U)),w!==r)for(;w!==r;)b.push(w),N.test(t.charAt(J))?(w=t.charAt(J),J++):(w=r,we===0&&H(U));else b=r;return b!==r&&(te=Ue,b=x()),Ue=b,Ue}if(de=a(),de!==r&&J===t.length)return de;throw de!==r&&J{sW=Ze(iW())});var Jg=_((Ubt,zg)=>{"use strict";function aW(t){return typeof t>"u"||t===null}function d8e(t){return typeof t=="object"&&t!==null}function m8e(t){return Array.isArray(t)?t:aW(t)?[]:[t]}function y8e(t,e){var r,o,a,n;if(e)for(n=Object.keys(e),r=0,o=n.length;r{"use strict";function zw(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}zw.prototype=Object.create(Error.prototype);zw.prototype.constructor=zw;zw.prototype.toString=function(e){var r=this.name+": ";return r+=this.reason||"(unknown reason)",!e&&this.mark&&(r+=" "+this.mark.toString()),r};lW.exports=zw});var AW=_((Hbt,uW)=>{"use strict";var cW=Jg();function fT(t,e,r,o,a){this.name=t,this.buffer=e,this.position=r,this.line=o,this.column=a}fT.prototype.getSnippet=function(e,r){var o,a,n,u,A;if(!this.buffer)return null;for(e=e||4,r=r||75,o="",a=this.position;a>0&&`\0\r +\x85\u2028\u2029`.indexOf(this.buffer.charAt(a-1))===-1;)if(a-=1,this.position-a>r/2-1){o=" ... ",a+=5;break}for(n="",u=this.position;ur/2-1){n=" ... ",u-=5;break}return A=this.buffer.slice(a,u),cW.repeat(" ",e)+o+A+n+` +`+cW.repeat(" ",e+this.position-a+o.length)+"^"};fT.prototype.toString=function(e){var r,o="";return this.name&&(o+='in "'+this.name+'" '),o+="at line "+(this.line+1)+", column "+(this.column+1),e||(r=this.getSnippet(),r&&(o+=`: +`+r)),o};uW.exports=fT});var as=_((qbt,pW)=>{"use strict";var fW=uy(),w8e=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],I8e=["scalar","sequence","mapping"];function B8e(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(o){e[String(o)]=r})}),e}function v8e(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(w8e.indexOf(r)===-1)throw new fW('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=B8e(e.styleAliases||null),I8e.indexOf(this.kind)===-1)throw new fW('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}pW.exports=v8e});var Vg=_((Gbt,gW)=>{"use strict";var hW=Jg(),HP=uy(),P8e=as();function pT(t,e,r){var o=[];return t.include.forEach(function(a){r=pT(a,e,r)}),t[e].forEach(function(a){r.forEach(function(n,u){n.tag===a.tag&&n.kind===a.kind&&o.push(u)}),r.push(a)}),r.filter(function(a,n){return o.indexOf(n)===-1})}function D8e(){var t={scalar:{},sequence:{},mapping:{},fallback:{}},e,r;function o(a){t[a.kind][a.tag]=t.fallback[a.tag]=a}for(e=0,r=arguments.length;e{"use strict";var S8e=as();dW.exports=new S8e("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return t!==null?t:""}})});var EW=_((Ybt,yW)=>{"use strict";var b8e=as();yW.exports=new b8e("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return t!==null?t:[]}})});var wW=_((Wbt,CW)=>{"use strict";var x8e=as();CW.exports=new x8e("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return t!==null?t:{}}})});var qP=_((Kbt,IW)=>{"use strict";var k8e=Vg();IW.exports=new k8e({explicit:[mW(),EW(),wW()]})});var vW=_((zbt,BW)=>{"use strict";var Q8e=as();function R8e(t){if(t===null)return!0;var e=t.length;return e===1&&t==="~"||e===4&&(t==="null"||t==="Null"||t==="NULL")}function F8e(){return null}function T8e(t){return t===null}BW.exports=new Q8e("tag:yaml.org,2002:null",{kind:"scalar",resolve:R8e,construct:F8e,predicate:T8e,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var DW=_((Jbt,PW)=>{"use strict";var L8e=as();function N8e(t){if(t===null)return!1;var e=t.length;return e===4&&(t==="true"||t==="True"||t==="TRUE")||e===5&&(t==="false"||t==="False"||t==="FALSE")}function O8e(t){return t==="true"||t==="True"||t==="TRUE"}function M8e(t){return Object.prototype.toString.call(t)==="[object Boolean]"}PW.exports=new L8e("tag:yaml.org,2002:bool",{kind:"scalar",resolve:N8e,construct:O8e,predicate:M8e,represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"})});var bW=_((Vbt,SW)=>{"use strict";var U8e=Jg(),_8e=as();function H8e(t){return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}function q8e(t){return 48<=t&&t<=55}function G8e(t){return 48<=t&&t<=57}function j8e(t){if(t===null)return!1;var e=t.length,r=0,o=!1,a;if(!e)return!1;if(a=t[r],(a==="-"||a==="+")&&(a=t[++r]),a==="0"){if(r+1===e)return!0;if(a=t[++r],a==="b"){for(r++;r=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0"+t.toString(8):"-0"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var QW=_((Xbt,kW)=>{"use strict";var xW=Jg(),K8e=as(),z8e=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function J8e(t){return!(t===null||!z8e.test(t)||t[t.length-1]==="_")}function V8e(t){var e,r,o,a;return e=t.replace(/_/g,"").toLowerCase(),r=e[0]==="-"?-1:1,a=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(n){a.unshift(parseFloat(n,10))}),e=0,o=1,a.forEach(function(n){e+=n*o,o*=60}),r*e):r*parseFloat(e,10)}var X8e=/^[-+]?[0-9]+e/;function Z8e(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(xW.isNegativeZero(t))return"-0.0";return r=t.toString(10),X8e.test(r)?r.replace("e",".e"):r}function $8e(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||xW.isNegativeZero(t))}kW.exports=new K8e("tag:yaml.org,2002:float",{kind:"scalar",resolve:J8e,construct:V8e,predicate:$8e,represent:Z8e,defaultStyle:"lowercase"})});var hT=_((Zbt,RW)=>{"use strict";var eHe=Vg();RW.exports=new eHe({include:[qP()],implicit:[vW(),DW(),bW(),QW()]})});var gT=_(($bt,FW)=>{"use strict";var tHe=Vg();FW.exports=new tHe({include:[hT()]})});var OW=_((ext,NW)=>{"use strict";var rHe=as(),TW=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),LW=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function nHe(t){return t===null?!1:TW.exec(t)!==null||LW.exec(t)!==null}function iHe(t){var e,r,o,a,n,u,A,p=0,h=null,E,I,v;if(e=TW.exec(t),e===null&&(e=LW.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],o=+e[2]-1,a=+e[3],!e[4])return new Date(Date.UTC(r,o,a));if(n=+e[4],u=+e[5],A=+e[6],e[7]){for(p=e[7].slice(0,3);p.length<3;)p+="0";p=+p}return e[9]&&(E=+e[10],I=+(e[11]||0),h=(E*60+I)*6e4,e[9]==="-"&&(h=-h)),v=new Date(Date.UTC(r,o,a,n,u,A,p)),h&&v.setTime(v.getTime()-h),v}function sHe(t){return t.toISOString()}NW.exports=new rHe("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:nHe,construct:iHe,instanceOf:Date,represent:sHe})});var UW=_((txt,MW)=>{"use strict";var oHe=as();function aHe(t){return t==="<<"||t===null}MW.exports=new oHe("tag:yaml.org,2002:merge",{kind:"scalar",resolve:aHe})});var qW=_((rxt,HW)=>{"use strict";var Xg;try{_W=ve,Xg=_W("buffer").Buffer}catch{}var _W,lHe=as(),dT=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function cHe(t){if(t===null)return!1;var e,r,o=0,a=t.length,n=dT;for(r=0;r64)){if(e<0)return!1;o+=6}return o%8===0}function uHe(t){var e,r,o=t.replace(/[\r\n=]/g,""),a=o.length,n=dT,u=0,A=[];for(e=0;e>16&255),A.push(u>>8&255),A.push(u&255)),u=u<<6|n.indexOf(o.charAt(e));return r=a%4*6,r===0?(A.push(u>>16&255),A.push(u>>8&255),A.push(u&255)):r===18?(A.push(u>>10&255),A.push(u>>2&255)):r===12&&A.push(u>>4&255),Xg?Xg.from?Xg.from(A):new Xg(A):A}function AHe(t){var e="",r=0,o,a,n=t.length,u=dT;for(o=0;o>18&63],e+=u[r>>12&63],e+=u[r>>6&63],e+=u[r&63]),r=(r<<8)+t[o];return a=n%3,a===0?(e+=u[r>>18&63],e+=u[r>>12&63],e+=u[r>>6&63],e+=u[r&63]):a===2?(e+=u[r>>10&63],e+=u[r>>4&63],e+=u[r<<2&63],e+=u[64]):a===1&&(e+=u[r>>2&63],e+=u[r<<4&63],e+=u[64],e+=u[64]),e}function fHe(t){return Xg&&Xg.isBuffer(t)}HW.exports=new lHe("tag:yaml.org,2002:binary",{kind:"scalar",resolve:cHe,construct:uHe,predicate:fHe,represent:AHe})});var jW=_((ixt,GW)=>{"use strict";var pHe=as(),hHe=Object.prototype.hasOwnProperty,gHe=Object.prototype.toString;function dHe(t){if(t===null)return!0;var e=[],r,o,a,n,u,A=t;for(r=0,o=A.length;r{"use strict";var yHe=as(),EHe=Object.prototype.toString;function CHe(t){if(t===null)return!0;var e,r,o,a,n,u=t;for(n=new Array(u.length),e=0,r=u.length;e{"use strict";var IHe=as(),BHe=Object.prototype.hasOwnProperty;function vHe(t){if(t===null)return!0;var e,r=t;for(e in r)if(BHe.call(r,e)&&r[e]!==null)return!1;return!0}function PHe(t){return t!==null?t:{}}KW.exports=new IHe("tag:yaml.org,2002:set",{kind:"mapping",resolve:vHe,construct:PHe})});var fy=_((axt,JW)=>{"use strict";var DHe=Vg();JW.exports=new DHe({include:[gT()],implicit:[OW(),UW()],explicit:[qW(),jW(),WW(),zW()]})});var XW=_((lxt,VW)=>{"use strict";var SHe=as();function bHe(){return!0}function xHe(){}function kHe(){return""}function QHe(t){return typeof t>"u"}VW.exports=new SHe("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:bHe,construct:xHe,predicate:QHe,represent:kHe})});var $W=_((cxt,ZW)=>{"use strict";var RHe=as();function FHe(t){if(t===null||t.length===0)return!1;var e=t,r=/\/([gim]*)$/.exec(t),o="";return!(e[0]==="/"&&(r&&(o=r[1]),o.length>3||e[e.length-o.length-1]!=="/"))}function THe(t){var e=t,r=/\/([gim]*)$/.exec(t),o="";return e[0]==="/"&&(r&&(o=r[1]),e=e.slice(1,e.length-o.length-1)),new RegExp(e,o)}function LHe(t){var e="/"+t.source+"/";return t.global&&(e+="g"),t.multiline&&(e+="m"),t.ignoreCase&&(e+="i"),e}function NHe(t){return Object.prototype.toString.call(t)==="[object RegExp]"}ZW.exports=new RHe("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:FHe,construct:THe,predicate:NHe,represent:LHe})});var rK=_((uxt,tK)=>{"use strict";var GP;try{eK=ve,GP=eK("esprima")}catch{typeof window<"u"&&(GP=window.esprima)}var eK,OHe=as();function MHe(t){if(t===null)return!1;try{var e="("+t+")",r=GP.parse(e,{range:!0});return!(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")}catch{return!1}}function UHe(t){var e="("+t+")",r=GP.parse(e,{range:!0}),o=[],a;if(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach(function(n){o.push(n.name)}),a=r.body[0].expression.body.range,r.body[0].expression.body.type==="BlockStatement"?new Function(o,e.slice(a[0]+1,a[1]-1)):new Function(o,"return "+e.slice(a[0],a[1]))}function _He(t){return t.toString()}function HHe(t){return Object.prototype.toString.call(t)==="[object Function]"}tK.exports=new OHe("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:MHe,construct:UHe,predicate:HHe,represent:_He})});var Jw=_((fxt,iK)=>{"use strict";var nK=Vg();iK.exports=nK.DEFAULT=new nK({include:[fy()],explicit:[XW(),$W(),rK()]})});var BK=_((pxt,Vw)=>{"use strict";var yf=Jg(),AK=uy(),qHe=AW(),fK=fy(),GHe=Jw(),Wp=Object.prototype.hasOwnProperty,jP=1,pK=2,hK=3,YP=4,mT=1,jHe=2,sK=3,YHe=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,WHe=/[\x85\u2028\u2029]/,KHe=/[,\[\]\{\}]/,gK=/^(?:!|!!|![a-z\-]+!)$/i,dK=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function oK(t){return Object.prototype.toString.call(t)}function qu(t){return t===10||t===13}function $g(t){return t===9||t===32}function Ia(t){return t===9||t===32||t===10||t===13}function py(t){return t===44||t===91||t===93||t===123||t===125}function zHe(t){var e;return 48<=t&&t<=57?t-48:(e=t|32,97<=e&&e<=102?e-97+10:-1)}function JHe(t){return t===120?2:t===117?4:t===85?8:0}function VHe(t){return 48<=t&&t<=57?t-48:-1}function aK(t){return t===48?"\0":t===97?"\x07":t===98?"\b":t===116||t===9?" ":t===110?` +`:t===118?"\v":t===102?"\f":t===114?"\r":t===101?"\x1B":t===32?" ":t===34?'"':t===47?"/":t===92?"\\":t===78?"\x85":t===95?"\xA0":t===76?"\u2028":t===80?"\u2029":""}function XHe(t){return t<=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}var mK=new Array(256),yK=new Array(256);for(Zg=0;Zg<256;Zg++)mK[Zg]=aK(Zg)?1:0,yK[Zg]=aK(Zg);var Zg;function ZHe(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||GHe,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function EK(t,e){return new AK(e,new qHe(t.filename,t.input,t.position,t.line,t.position-t.lineStart))}function Sr(t,e){throw EK(t,e)}function WP(t,e){t.onWarning&&t.onWarning.call(null,EK(t,e))}var lK={YAML:function(e,r,o){var a,n,u;e.version!==null&&Sr(e,"duplication of %YAML directive"),o.length!==1&&Sr(e,"YAML directive accepts exactly one argument"),a=/^([0-9]+)\.([0-9]+)$/.exec(o[0]),a===null&&Sr(e,"ill-formed argument of the YAML directive"),n=parseInt(a[1],10),u=parseInt(a[2],10),n!==1&&Sr(e,"unacceptable YAML version of the document"),e.version=o[0],e.checkLineBreaks=u<2,u!==1&&u!==2&&WP(e,"unsupported YAML version of the document")},TAG:function(e,r,o){var a,n;o.length!==2&&Sr(e,"TAG directive accepts exactly two arguments"),a=o[0],n=o[1],gK.test(a)||Sr(e,"ill-formed tag handle (first argument) of the TAG directive"),Wp.call(e.tagMap,a)&&Sr(e,'there is a previously declared suffix for "'+a+'" tag handle'),dK.test(n)||Sr(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[a]=n}};function Yp(t,e,r,o){var a,n,u,A;if(e1&&(t.result+=yf.repeat(` +`,e-1))}function $He(t,e,r){var o,a,n,u,A,p,h,E,I=t.kind,v=t.result,x;if(x=t.input.charCodeAt(t.position),Ia(x)||py(x)||x===35||x===38||x===42||x===33||x===124||x===62||x===39||x===34||x===37||x===64||x===96||(x===63||x===45)&&(a=t.input.charCodeAt(t.position+1),Ia(a)||r&&py(a)))return!1;for(t.kind="scalar",t.result="",n=u=t.position,A=!1;x!==0;){if(x===58){if(a=t.input.charCodeAt(t.position+1),Ia(a)||r&&py(a))break}else if(x===35){if(o=t.input.charCodeAt(t.position-1),Ia(o))break}else{if(t.position===t.lineStart&&KP(t)||r&&py(x))break;if(qu(x))if(p=t.line,h=t.lineStart,E=t.lineIndent,Wi(t,!1,-1),t.lineIndent>=e){A=!0,x=t.input.charCodeAt(t.position);continue}else{t.position=u,t.line=p,t.lineStart=h,t.lineIndent=E;break}}A&&(Yp(t,n,u,!1),ET(t,t.line-p),n=u=t.position,A=!1),$g(x)||(u=t.position+1),x=t.input.charCodeAt(++t.position)}return Yp(t,n,u,!1),t.result?!0:(t.kind=I,t.result=v,!1)}function e6e(t,e){var r,o,a;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,o=a=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(Yp(t,o,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)o=t.position,t.position++,a=t.position;else return!0;else qu(r)?(Yp(t,o,a,!0),ET(t,Wi(t,!1,e)),o=a=t.position):t.position===t.lineStart&&KP(t)?Sr(t,"unexpected end of the document within a single quoted scalar"):(t.position++,a=t.position);Sr(t,"unexpected end of the stream within a single quoted scalar")}function t6e(t,e){var r,o,a,n,u,A;if(A=t.input.charCodeAt(t.position),A!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=o=t.position;(A=t.input.charCodeAt(t.position))!==0;){if(A===34)return Yp(t,r,t.position,!0),t.position++,!0;if(A===92){if(Yp(t,r,t.position,!0),A=t.input.charCodeAt(++t.position),qu(A))Wi(t,!1,e);else if(A<256&&mK[A])t.result+=yK[A],t.position++;else if((u=JHe(A))>0){for(a=u,n=0;a>0;a--)A=t.input.charCodeAt(++t.position),(u=zHe(A))>=0?n=(n<<4)+u:Sr(t,"expected hexadecimal character");t.result+=XHe(n),t.position++}else Sr(t,"unknown escape sequence");r=o=t.position}else qu(A)?(Yp(t,r,o,!0),ET(t,Wi(t,!1,e)),r=o=t.position):t.position===t.lineStart&&KP(t)?Sr(t,"unexpected end of the document within a double quoted scalar"):(t.position++,o=t.position)}Sr(t,"unexpected end of the stream within a double quoted scalar")}function r6e(t,e){var r=!0,o,a=t.tag,n,u=t.anchor,A,p,h,E,I,v={},x,C,F,N;if(N=t.input.charCodeAt(t.position),N===91)p=93,I=!1,n=[];else if(N===123)p=125,I=!0,n={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=n),N=t.input.charCodeAt(++t.position);N!==0;){if(Wi(t,!0,e),N=t.input.charCodeAt(t.position),N===p)return t.position++,t.tag=a,t.anchor=u,t.kind=I?"mapping":"sequence",t.result=n,!0;r||Sr(t,"missed comma between flow collection entries"),C=x=F=null,h=E=!1,N===63&&(A=t.input.charCodeAt(t.position+1),Ia(A)&&(h=E=!0,t.position++,Wi(t,!0,e))),o=t.line,gy(t,e,jP,!1,!0),C=t.tag,x=t.result,Wi(t,!0,e),N=t.input.charCodeAt(t.position),(E||t.line===o)&&N===58&&(h=!0,N=t.input.charCodeAt(++t.position),Wi(t,!0,e),gy(t,e,jP,!1,!0),F=t.result),I?hy(t,n,v,C,x,F):h?n.push(hy(t,null,v,C,x,F)):n.push(x),Wi(t,!0,e),N=t.input.charCodeAt(t.position),N===44?(r=!0,N=t.input.charCodeAt(++t.position)):r=!1}Sr(t,"unexpected end of the stream within a flow collection")}function n6e(t,e){var r,o,a=mT,n=!1,u=!1,A=e,p=0,h=!1,E,I;if(I=t.input.charCodeAt(t.position),I===124)o=!1;else if(I===62)o=!0;else return!1;for(t.kind="scalar",t.result="";I!==0;)if(I=t.input.charCodeAt(++t.position),I===43||I===45)mT===a?a=I===43?sK:jHe:Sr(t,"repeat of a chomping mode identifier");else if((E=VHe(I))>=0)E===0?Sr(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):u?Sr(t,"repeat of an indentation width identifier"):(A=e+E-1,u=!0);else break;if($g(I)){do I=t.input.charCodeAt(++t.position);while($g(I));if(I===35)do I=t.input.charCodeAt(++t.position);while(!qu(I)&&I!==0)}for(;I!==0;){for(yT(t),t.lineIndent=0,I=t.input.charCodeAt(t.position);(!u||t.lineIndentA&&(A=t.lineIndent),qu(I)){p++;continue}if(t.lineIndente)&&p!==0)Sr(t,"bad indentation of a sequence entry");else if(t.lineIndente)&&(gy(t,e,YP,!0,a)&&(C?v=t.result:x=t.result),C||(hy(t,h,E,I,v,x,n,u),I=v=x=null),Wi(t,!0,-1),N=t.input.charCodeAt(t.position)),t.lineIndent>e&&N!==0)Sr(t,"bad indentation of a mapping entry");else if(t.lineIndente?p=1:t.lineIndent===e?p=0:t.lineIndente?p=1:t.lineIndent===e?p=0:t.lineIndent tag; it should be "scalar", not "'+t.kind+'"'),I=0,v=t.implicitTypes.length;I tag; it should be "'+x.kind+'", not "'+t.kind+'"'),x.resolve(t.result)?(t.result=x.construct(t.result),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):Sr(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")):Sr(t,"unknown tag !<"+t.tag+">");return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||E}function l6e(t){var e=t.position,r,o,a,n=!1,u;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap={},t.anchorMap={};(u=t.input.charCodeAt(t.position))!==0&&(Wi(t,!0,-1),u=t.input.charCodeAt(t.position),!(t.lineIndent>0||u!==37));){for(n=!0,u=t.input.charCodeAt(++t.position),r=t.position;u!==0&&!Ia(u);)u=t.input.charCodeAt(++t.position);for(o=t.input.slice(r,t.position),a=[],o.length<1&&Sr(t,"directive name must not be less than one character in length");u!==0;){for(;$g(u);)u=t.input.charCodeAt(++t.position);if(u===35){do u=t.input.charCodeAt(++t.position);while(u!==0&&!qu(u));break}if(qu(u))break;for(r=t.position;u!==0&&!Ia(u);)u=t.input.charCodeAt(++t.position);a.push(t.input.slice(r,t.position))}u!==0&&yT(t),Wp.call(lK,o)?lK[o](t,o,a):WP(t,'unknown document directive "'+o+'"')}if(Wi(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,Wi(t,!0,-1)):n&&Sr(t,"directives end mark is expected"),gy(t,t.lineIndent-1,YP,!1,!0),Wi(t,!0,-1),t.checkLineBreaks&&WHe.test(t.input.slice(e,t.position))&&WP(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&KP(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,Wi(t,!0,-1));return}if(t.position"u"&&(r=e,e=null);var o=CK(t,r);if(typeof e!="function")return o;for(var a=0,n=o.length;a"u"&&(r=e,e=null),wK(t,e,yf.extend({schema:fK},r))}function u6e(t,e){return IK(t,yf.extend({schema:fK},e))}Vw.exports.loadAll=wK;Vw.exports.load=IK;Vw.exports.safeLoadAll=c6e;Vw.exports.safeLoad=u6e});var WK=_((hxt,BT)=>{"use strict";var Zw=Jg(),$w=uy(),A6e=Jw(),f6e=fy(),QK=Object.prototype.toString,RK=Object.prototype.hasOwnProperty,p6e=9,Xw=10,h6e=13,g6e=32,d6e=33,m6e=34,FK=35,y6e=37,E6e=38,C6e=39,w6e=42,TK=44,I6e=45,LK=58,B6e=61,v6e=62,P6e=63,D6e=64,NK=91,OK=93,S6e=96,MK=123,b6e=124,UK=125,Bo={};Bo[0]="\\0";Bo[7]="\\a";Bo[8]="\\b";Bo[9]="\\t";Bo[10]="\\n";Bo[11]="\\v";Bo[12]="\\f";Bo[13]="\\r";Bo[27]="\\e";Bo[34]='\\"';Bo[92]="\\\\";Bo[133]="\\N";Bo[160]="\\_";Bo[8232]="\\L";Bo[8233]="\\P";var x6e=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function k6e(t,e){var r,o,a,n,u,A,p;if(e===null)return{};for(r={},o=Object.keys(e),a=0,n=o.length;a0?t.charCodeAt(n-1):null,v=v&&DK(u,A)}else{for(n=0;no&&t[I+1]!==" ",I=n);else if(!dy(u))return zP;A=n>0?t.charCodeAt(n-1):null,v=v&&DK(u,A)}h=h||E&&n-I-1>o&&t[I+1]!==" "}return!p&&!h?v&&!a(t)?HK:qK:r>9&&_K(t)?zP:h?jK:GK}function N6e(t,e,r,o){t.dump=function(){if(e.length===0)return"''";if(!t.noCompatMode&&x6e.indexOf(e)!==-1)return"'"+e+"'";var a=t.indent*Math.max(1,r),n=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-a),u=o||t.flowLevel>-1&&r>=t.flowLevel;function A(p){return R6e(t,p)}switch(L6e(e,u,t.indent,n,A)){case HK:return e;case qK:return"'"+e.replace(/'/g,"''")+"'";case GK:return"|"+SK(e,t.indent)+bK(PK(e,a));case jK:return">"+SK(e,t.indent)+bK(PK(O6e(e,n),a));case zP:return'"'+M6e(e,n)+'"';default:throw new $w("impossible error: invalid scalar style")}}()}function SK(t,e){var r=_K(t)?String(e):"",o=t[t.length-1]===` +`,a=o&&(t[t.length-2]===` +`||t===` +`),n=a?"+":o?"":"-";return r+n+` +`}function bK(t){return t[t.length-1]===` +`?t.slice(0,-1):t}function O6e(t,e){for(var r=/(\n+)([^\n]*)/g,o=function(){var h=t.indexOf(` +`);return h=h!==-1?h:t.length,r.lastIndex=h,xK(t.slice(0,h),e)}(),a=t[0]===` +`||t[0]===" ",n,u;u=r.exec(t);){var A=u[1],p=u[2];n=p[0]===" ",o+=A+(!a&&!n&&p!==""?` +`:"")+xK(p,e),a=n}return o}function xK(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,o,a=0,n,u=0,A=0,p="";o=r.exec(t);)A=o.index,A-a>e&&(n=u>a?u:A,p+=` +`+t.slice(a,n),a=n+1),u=A;return p+=` +`,t.length-a>e&&u>a?p+=t.slice(a,u)+` +`+t.slice(u+1):p+=t.slice(a),p.slice(1)}function M6e(t){for(var e="",r,o,a,n=0;n=55296&&r<=56319&&(o=t.charCodeAt(n+1),o>=56320&&o<=57343)){e+=vK((r-55296)*1024+o-56320+65536),n++;continue}a=Bo[r],e+=!a&&dy(r)?t[n]:a||vK(r)}return e}function U6e(t,e,r){var o="",a=t.tag,n,u;for(n=0,u=r.length;n1024&&(E+="? "),E+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),ed(t,e,h,!1,!1)&&(E+=t.dump,o+=E));t.tag=a,t.dump="{"+o+"}"}function q6e(t,e,r,o){var a="",n=t.tag,u=Object.keys(r),A,p,h,E,I,v;if(t.sortKeys===!0)u.sort();else if(typeof t.sortKeys=="function")u.sort(t.sortKeys);else if(t.sortKeys)throw new $w("sortKeys must be a boolean or a function");for(A=0,p=u.length;A1024,I&&(t.dump&&Xw===t.dump.charCodeAt(0)?v+="?":v+="? "),v+=t.dump,I&&(v+=CT(t,e)),ed(t,e+1,E,!0,I)&&(t.dump&&Xw===t.dump.charCodeAt(0)?v+=":":v+=": ",v+=t.dump,a+=v));t.tag=n,t.dump=a||"{}"}function kK(t,e,r){var o,a,n,u,A,p;for(a=r?t.explicitTypes:t.implicitTypes,n=0,u=a.length;n tag resolver accepts not "'+p+'" style');t.dump=o}return!0}return!1}function ed(t,e,r,o,a,n){t.tag=null,t.dump=r,kK(t,r,!1)||kK(t,r,!0);var u=QK.call(t.dump);o&&(o=t.flowLevel<0||t.flowLevel>e);var A=u==="[object Object]"||u==="[object Array]",p,h;if(A&&(p=t.duplicates.indexOf(r),h=p!==-1),(t.tag!==null&&t.tag!=="?"||h||t.indent!==2&&e>0)&&(a=!1),h&&t.usedDuplicates[p])t.dump="*ref_"+p;else{if(A&&h&&!t.usedDuplicates[p]&&(t.usedDuplicates[p]=!0),u==="[object Object]")o&&Object.keys(t.dump).length!==0?(q6e(t,e,t.dump,a),h&&(t.dump="&ref_"+p+t.dump)):(H6e(t,e,t.dump),h&&(t.dump="&ref_"+p+" "+t.dump));else if(u==="[object Array]"){var E=t.noArrayIndent&&e>0?e-1:e;o&&t.dump.length!==0?(_6e(t,E,t.dump,a),h&&(t.dump="&ref_"+p+t.dump)):(U6e(t,E,t.dump),h&&(t.dump="&ref_"+p+" "+t.dump))}else if(u==="[object String]")t.tag!=="?"&&N6e(t,t.dump,e,n);else{if(t.skipInvalid)return!1;throw new $w("unacceptable kind of an object to dump "+u)}t.tag!==null&&t.tag!=="?"&&(t.dump="!<"+t.tag+"> "+t.dump)}return!0}function G6e(t,e){var r=[],o=[],a,n;for(wT(t,r,o),a=0,n=o.length;a{"use strict";var JP=BK(),KK=WK();function VP(t){return function(){throw new Error("Function "+t+" is deprecated and cannot be used.")}}ki.exports.Type=as();ki.exports.Schema=Vg();ki.exports.FAILSAFE_SCHEMA=qP();ki.exports.JSON_SCHEMA=hT();ki.exports.CORE_SCHEMA=gT();ki.exports.DEFAULT_SAFE_SCHEMA=fy();ki.exports.DEFAULT_FULL_SCHEMA=Jw();ki.exports.load=JP.load;ki.exports.loadAll=JP.loadAll;ki.exports.safeLoad=JP.safeLoad;ki.exports.safeLoadAll=JP.safeLoadAll;ki.exports.dump=KK.dump;ki.exports.safeDump=KK.safeDump;ki.exports.YAMLException=uy();ki.exports.MINIMAL_SCHEMA=qP();ki.exports.SAFE_SCHEMA=fy();ki.exports.DEFAULT_SCHEMA=Jw();ki.exports.scan=VP("scan");ki.exports.parse=VP("parse");ki.exports.compose=VP("compose");ki.exports.addConstructor=VP("addConstructor")});var VK=_((dxt,JK)=>{"use strict";var Y6e=zK();JK.exports=Y6e});var ZK=_((mxt,XK)=>{"use strict";function W6e(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function td(t,e,r,o){this.message=t,this.expected=e,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,td)}W6e(td,Error);td.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var E="",I;for(I=0;I0){for(I=1,v=1;I({[ft]:Ne})))},le=function(ee){return ee},ce=function(ee){return ee},we=sa("correct indentation"),de=" ",Be=Qn(" ",!1),Ee=function(ee){return ee.length===or*It},g=function(ee){return ee.length===(or+1)*It},me=function(){return or++,!0},Ce=function(){return or--,!0},Ae=function(){return DA()},ne=sa("pseudostring"),Z=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,xe=hi(["\r",` +`," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),Le=/^[^\r\n\t ,\][{}:#"']/,ht=hi(["\r",` +`," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),H=function(){return DA().replace(/^ *| *$/g,"")},rt="--",Te=Qn("--",!1),Re=/^[a-zA-Z\/0-9]/,ke=hi([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),Ye=/^[^\r\n\t :,]/,Se=hi(["\r",` +`," "," ",":",","],!0,!1),et="null",Ue=Qn("null",!1),b=function(){return null},w="true",S=Qn("true",!1),y=function(){return!0},R="false",V=Qn("false",!1),X=function(){return!1},$=sa("string"),ie='"',be=Qn('"',!1),Fe=function(){return""},at=function(ee){return ee},dt=function(ee){return ee.join("")},Gt=/^[^"\\\0-\x1F\x7F]/,tr=hi(['"',"\\",["\0",""],"\x7F"],!0,!1),bt='\\"',ln=Qn('\\"',!1),kr=function(){return'"'},mr="\\\\",br=Qn("\\\\",!1),Kr=function(){return"\\"},Kn="\\/",Os=Qn("\\/",!1),Ti=function(){return"/"},gs="\\b",no=Qn("\\b",!1),Si=function(){return"\b"},Ms="\\f",io=Qn("\\f",!1),uc=function(){return"\f"},uu="\\n",cp=Qn("\\n",!1),up=function(){return` +`},Us="\\r",Pn=Qn("\\r",!1),so=function(){return"\r"},_s="\\t",yl=Qn("\\t",!1),El=function(){return" "},oo="\\u",zn=Qn("\\u",!1),On=function(ee,ye,Ne,ft){return String.fromCharCode(parseInt(`0x${ee}${ye}${Ne}${ft}`))},Li=/^[0-9a-fA-F]/,Mn=hi([["0","9"],["a","f"],["A","F"]],!1,!1),_i=sa("blank space"),ir=/^[ \t]/,Oe=hi([" "," "],!1,!1),ii=sa("white space"),Ua=/^[ \t\n\r]/,hr=hi([" "," ",` +`,"\r"],!1,!1),Ac=`\r +`,Au=Qn(`\r +`,!1),fc=` +`,Cl=Qn(` +`,!1),PA="\r",fu=Qn("\r",!1),Ie=0,Tt=0,pc=[{line:1,column:1}],Hi=0,pu=[],Yt=0,wl;if("startRule"in e){if(!(e.startRule in o))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=o[e.startRule]}function DA(){return t.substring(Tt,Ie)}function Ap(){return Uo(Tt,Ie)}function hc(ee,ye){throw ye=ye!==void 0?ye:Uo(Tt,Ie),dc([sa(ee)],t.substring(Tt,Ie),ye)}function SA(ee,ye){throw ye=ye!==void 0?ye:Uo(Tt,Ie),ao(ee,ye)}function Qn(ee,ye){return{type:"literal",text:ee,ignoreCase:ye}}function hi(ee,ye,Ne){return{type:"class",parts:ee,inverted:ye,ignoreCase:Ne}}function gc(){return{type:"any"}}function bA(){return{type:"end"}}function sa(ee){return{type:"other",description:ee}}function Ni(ee){var ye=pc[ee],Ne;if(ye)return ye;for(Ne=ee-1;!pc[Ne];)Ne--;for(ye=pc[Ne],ye={line:ye.line,column:ye.column};NeHi&&(Hi=Ie,pu=[]),pu.push(ee))}function ao(ee,ye){return new td(ee,null,null,ye)}function dc(ee,ye,Ne){return new td(td.buildMessage(ee,ye),ee,ye,Ne)}function hu(){var ee;return ee=xA(),ee}function qi(){var ee,ye,Ne;for(ee=Ie,ye=[],Ne=gu();Ne!==r;)ye.push(Ne),Ne=gu();return ye!==r&&(Tt=ee,ye=n(ye)),ee=ye,ee}function gu(){var ee,ye,Ne,ft,pt;return ee=Ie,ye=ds(),ye!==r?(t.charCodeAt(Ie)===45?(Ne=u,Ie++):(Ne=r,Yt===0&&Xe(A)),Ne!==r?(ft=Dn(),ft!==r?(pt=mc(),pt!==r?(Tt=ee,ye=p(pt),ee=ye):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r),ee}function xA(){var ee,ye,Ne;for(ee=Ie,ye=[],Ne=Ha();Ne!==r;)ye.push(Ne),Ne=Ha();return ye!==r&&(Tt=ee,ye=h(ye)),ee=ye,ee}function Ha(){var ee,ye,Ne,ft,pt,Lt,rr,$r,Gi;if(ee=Ie,ye=Dn(),ye===r&&(ye=null),ye!==r){if(Ne=Ie,t.charCodeAt(Ie)===35?(ft=E,Ie++):(ft=r,Yt===0&&Xe(I)),ft!==r){if(pt=[],Lt=Ie,rr=Ie,Yt++,$r=tt(),Yt--,$r===r?rr=void 0:(Ie=rr,rr=r),rr!==r?(t.length>Ie?($r=t.charAt(Ie),Ie++):($r=r,Yt===0&&Xe(v)),$r!==r?(rr=[rr,$r],Lt=rr):(Ie=Lt,Lt=r)):(Ie=Lt,Lt=r),Lt!==r)for(;Lt!==r;)pt.push(Lt),Lt=Ie,rr=Ie,Yt++,$r=tt(),Yt--,$r===r?rr=void 0:(Ie=rr,rr=r),rr!==r?(t.length>Ie?($r=t.charAt(Ie),Ie++):($r=r,Yt===0&&Xe(v)),$r!==r?(rr=[rr,$r],Lt=rr):(Ie=Lt,Lt=r)):(Ie=Lt,Lt=r);else pt=r;pt!==r?(ft=[ft,pt],Ne=ft):(Ie=Ne,Ne=r)}else Ie=Ne,Ne=r;if(Ne===r&&(Ne=null),Ne!==r){if(ft=[],pt=We(),pt!==r)for(;pt!==r;)ft.push(pt),pt=We();else ft=r;ft!==r?(Tt=ee,ye=x(),ee=ye):(Ie=ee,ee=r)}else Ie=ee,ee=r}else Ie=ee,ee=r;if(ee===r&&(ee=Ie,ye=ds(),ye!==r?(Ne=oa(),Ne!==r?(ft=Dn(),ft===r&&(ft=null),ft!==r?(t.charCodeAt(Ie)===58?(pt=C,Ie++):(pt=r,Yt===0&&Xe(F)),pt!==r?(Lt=Dn(),Lt===r&&(Lt=null),Lt!==r?(rr=mc(),rr!==r?(Tt=ee,ye=N(Ne,rr),ee=ye):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r),ee===r&&(ee=Ie,ye=ds(),ye!==r?(Ne=lo(),Ne!==r?(ft=Dn(),ft===r&&(ft=null),ft!==r?(t.charCodeAt(Ie)===58?(pt=C,Ie++):(pt=r,Yt===0&&Xe(F)),pt!==r?(Lt=Dn(),Lt===r&&(Lt=null),Lt!==r?(rr=mc(),rr!==r?(Tt=ee,ye=N(Ne,rr),ee=ye):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r),ee===r))){if(ee=Ie,ye=ds(),ye!==r)if(Ne=lo(),Ne!==r)if(ft=Dn(),ft!==r)if(pt=aa(),pt!==r){if(Lt=[],rr=We(),rr!==r)for(;rr!==r;)Lt.push(rr),rr=We();else Lt=r;Lt!==r?(Tt=ee,ye=N(Ne,pt),ee=ye):(Ie=ee,ee=r)}else Ie=ee,ee=r;else Ie=ee,ee=r;else Ie=ee,ee=r;else Ie=ee,ee=r;if(ee===r)if(ee=Ie,ye=ds(),ye!==r)if(Ne=lo(),Ne!==r){if(ft=[],pt=Ie,Lt=Dn(),Lt===r&&(Lt=null),Lt!==r?(t.charCodeAt(Ie)===44?(rr=U,Ie++):(rr=r,Yt===0&&Xe(J)),rr!==r?($r=Dn(),$r===r&&($r=null),$r!==r?(Gi=lo(),Gi!==r?(Tt=pt,Lt=te(Ne,Gi),pt=Lt):(Ie=pt,pt=r)):(Ie=pt,pt=r)):(Ie=pt,pt=r)):(Ie=pt,pt=r),pt!==r)for(;pt!==r;)ft.push(pt),pt=Ie,Lt=Dn(),Lt===r&&(Lt=null),Lt!==r?(t.charCodeAt(Ie)===44?(rr=U,Ie++):(rr=r,Yt===0&&Xe(J)),rr!==r?($r=Dn(),$r===r&&($r=null),$r!==r?(Gi=lo(),Gi!==r?(Tt=pt,Lt=te(Ne,Gi),pt=Lt):(Ie=pt,pt=r)):(Ie=pt,pt=r)):(Ie=pt,pt=r)):(Ie=pt,pt=r);else ft=r;ft!==r?(pt=Dn(),pt===r&&(pt=null),pt!==r?(t.charCodeAt(Ie)===58?(Lt=C,Ie++):(Lt=r,Yt===0&&Xe(F)),Lt!==r?(rr=Dn(),rr===r&&(rr=null),rr!==r?($r=mc(),$r!==r?(Tt=ee,ye=ae(Ne,ft,$r),ee=ye):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r)}else Ie=ee,ee=r;else Ie=ee,ee=r}return ee}function mc(){var ee,ye,Ne,ft,pt,Lt,rr;if(ee=Ie,ye=Ie,Yt++,Ne=Ie,ft=tt(),ft!==r?(pt=Ht(),pt!==r?(t.charCodeAt(Ie)===45?(Lt=u,Ie++):(Lt=r,Yt===0&&Xe(A)),Lt!==r?(rr=Dn(),rr!==r?(ft=[ft,pt,Lt,rr],Ne=ft):(Ie=Ne,Ne=r)):(Ie=Ne,Ne=r)):(Ie=Ne,Ne=r)):(Ie=Ne,Ne=r),Yt--,Ne!==r?(Ie=ye,ye=void 0):ye=r,ye!==r?(Ne=We(),Ne!==r?(ft=Rn(),ft!==r?(pt=qi(),pt!==r?(Lt=Ci(),Lt!==r?(Tt=ee,ye=le(pt),ee=ye):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r),ee===r&&(ee=Ie,ye=tt(),ye!==r?(Ne=Rn(),Ne!==r?(ft=xA(),ft!==r?(pt=Ci(),pt!==r?(Tt=ee,ye=le(ft),ee=ye):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r),ee===r))if(ee=Ie,ye=Hs(),ye!==r){if(Ne=[],ft=We(),ft!==r)for(;ft!==r;)Ne.push(ft),ft=We();else Ne=r;Ne!==r?(Tt=ee,ye=ce(ye),ee=ye):(Ie=ee,ee=r)}else Ie=ee,ee=r;return ee}function ds(){var ee,ye,Ne;for(Yt++,ee=Ie,ye=[],t.charCodeAt(Ie)===32?(Ne=de,Ie++):(Ne=r,Yt===0&&Xe(Be));Ne!==r;)ye.push(Ne),t.charCodeAt(Ie)===32?(Ne=de,Ie++):(Ne=r,Yt===0&&Xe(Be));return ye!==r?(Tt=Ie,Ne=Ee(ye),Ne?Ne=void 0:Ne=r,Ne!==r?(ye=[ye,Ne],ee=ye):(Ie=ee,ee=r)):(Ie=ee,ee=r),Yt--,ee===r&&(ye=r,Yt===0&&Xe(we)),ee}function Ht(){var ee,ye,Ne;for(ee=Ie,ye=[],t.charCodeAt(Ie)===32?(Ne=de,Ie++):(Ne=r,Yt===0&&Xe(Be));Ne!==r;)ye.push(Ne),t.charCodeAt(Ie)===32?(Ne=de,Ie++):(Ne=r,Yt===0&&Xe(Be));return ye!==r?(Tt=Ie,Ne=g(ye),Ne?Ne=void 0:Ne=r,Ne!==r?(ye=[ye,Ne],ee=ye):(Ie=ee,ee=r)):(Ie=ee,ee=r),ee}function Rn(){var ee;return Tt=Ie,ee=me(),ee?ee=void 0:ee=r,ee}function Ci(){var ee;return Tt=Ie,ee=Ce(),ee?ee=void 0:ee=r,ee}function oa(){var ee;return ee=ys(),ee===r&&(ee=la()),ee}function lo(){var ee,ye,Ne;if(ee=ys(),ee===r){if(ee=Ie,ye=[],Ne=_o(),Ne!==r)for(;Ne!==r;)ye.push(Ne),Ne=_o();else ye=r;ye!==r&&(Tt=ee,ye=Ae()),ee=ye}return ee}function Hs(){var ee;return ee=wi(),ee===r&&(ee=ms(),ee===r&&(ee=ys(),ee===r&&(ee=la()))),ee}function aa(){var ee;return ee=wi(),ee===r&&(ee=ys(),ee===r&&(ee=_o())),ee}function la(){var ee,ye,Ne,ft,pt,Lt;if(Yt++,ee=Ie,Z.test(t.charAt(Ie))?(ye=t.charAt(Ie),Ie++):(ye=r,Yt===0&&Xe(xe)),ye!==r){for(Ne=[],ft=Ie,pt=Dn(),pt===r&&(pt=null),pt!==r?(Le.test(t.charAt(Ie))?(Lt=t.charAt(Ie),Ie++):(Lt=r,Yt===0&&Xe(ht)),Lt!==r?(pt=[pt,Lt],ft=pt):(Ie=ft,ft=r)):(Ie=ft,ft=r);ft!==r;)Ne.push(ft),ft=Ie,pt=Dn(),pt===r&&(pt=null),pt!==r?(Le.test(t.charAt(Ie))?(Lt=t.charAt(Ie),Ie++):(Lt=r,Yt===0&&Xe(ht)),Lt!==r?(pt=[pt,Lt],ft=pt):(Ie=ft,ft=r)):(Ie=ft,ft=r);Ne!==r?(Tt=ee,ye=H(),ee=ye):(Ie=ee,ee=r)}else Ie=ee,ee=r;return Yt--,ee===r&&(ye=r,Yt===0&&Xe(ne)),ee}function _o(){var ee,ye,Ne,ft,pt;if(ee=Ie,t.substr(Ie,2)===rt?(ye=rt,Ie+=2):(ye=r,Yt===0&&Xe(Te)),ye===r&&(ye=null),ye!==r)if(Re.test(t.charAt(Ie))?(Ne=t.charAt(Ie),Ie++):(Ne=r,Yt===0&&Xe(ke)),Ne!==r){for(ft=[],Ye.test(t.charAt(Ie))?(pt=t.charAt(Ie),Ie++):(pt=r,Yt===0&&Xe(Se));pt!==r;)ft.push(pt),Ye.test(t.charAt(Ie))?(pt=t.charAt(Ie),Ie++):(pt=r,Yt===0&&Xe(Se));ft!==r?(Tt=ee,ye=H(),ee=ye):(Ie=ee,ee=r)}else Ie=ee,ee=r;else Ie=ee,ee=r;return ee}function wi(){var ee,ye;return ee=Ie,t.substr(Ie,4)===et?(ye=et,Ie+=4):(ye=r,Yt===0&&Xe(Ue)),ye!==r&&(Tt=ee,ye=b()),ee=ye,ee}function ms(){var ee,ye;return ee=Ie,t.substr(Ie,4)===w?(ye=w,Ie+=4):(ye=r,Yt===0&&Xe(S)),ye!==r&&(Tt=ee,ye=y()),ee=ye,ee===r&&(ee=Ie,t.substr(Ie,5)===R?(ye=R,Ie+=5):(ye=r,Yt===0&&Xe(V)),ye!==r&&(Tt=ee,ye=X()),ee=ye),ee}function ys(){var ee,ye,Ne,ft;return Yt++,ee=Ie,t.charCodeAt(Ie)===34?(ye=ie,Ie++):(ye=r,Yt===0&&Xe(be)),ye!==r?(t.charCodeAt(Ie)===34?(Ne=ie,Ie++):(Ne=r,Yt===0&&Xe(be)),Ne!==r?(Tt=ee,ye=Fe(),ee=ye):(Ie=ee,ee=r)):(Ie=ee,ee=r),ee===r&&(ee=Ie,t.charCodeAt(Ie)===34?(ye=ie,Ie++):(ye=r,Yt===0&&Xe(be)),ye!==r?(Ne=Es(),Ne!==r?(t.charCodeAt(Ie)===34?(ft=ie,Ie++):(ft=r,Yt===0&&Xe(be)),ft!==r?(Tt=ee,ye=at(Ne),ee=ye):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r)),Yt--,ee===r&&(ye=r,Yt===0&&Xe($)),ee}function Es(){var ee,ye,Ne;if(ee=Ie,ye=[],Ne=qs(),Ne!==r)for(;Ne!==r;)ye.push(Ne),Ne=qs();else ye=r;return ye!==r&&(Tt=ee,ye=dt(ye)),ee=ye,ee}function qs(){var ee,ye,Ne,ft,pt,Lt;return Gt.test(t.charAt(Ie))?(ee=t.charAt(Ie),Ie++):(ee=r,Yt===0&&Xe(tr)),ee===r&&(ee=Ie,t.substr(Ie,2)===bt?(ye=bt,Ie+=2):(ye=r,Yt===0&&Xe(ln)),ye!==r&&(Tt=ee,ye=kr()),ee=ye,ee===r&&(ee=Ie,t.substr(Ie,2)===mr?(ye=mr,Ie+=2):(ye=r,Yt===0&&Xe(br)),ye!==r&&(Tt=ee,ye=Kr()),ee=ye,ee===r&&(ee=Ie,t.substr(Ie,2)===Kn?(ye=Kn,Ie+=2):(ye=r,Yt===0&&Xe(Os)),ye!==r&&(Tt=ee,ye=Ti()),ee=ye,ee===r&&(ee=Ie,t.substr(Ie,2)===gs?(ye=gs,Ie+=2):(ye=r,Yt===0&&Xe(no)),ye!==r&&(Tt=ee,ye=Si()),ee=ye,ee===r&&(ee=Ie,t.substr(Ie,2)===Ms?(ye=Ms,Ie+=2):(ye=r,Yt===0&&Xe(io)),ye!==r&&(Tt=ee,ye=uc()),ee=ye,ee===r&&(ee=Ie,t.substr(Ie,2)===uu?(ye=uu,Ie+=2):(ye=r,Yt===0&&Xe(cp)),ye!==r&&(Tt=ee,ye=up()),ee=ye,ee===r&&(ee=Ie,t.substr(Ie,2)===Us?(ye=Us,Ie+=2):(ye=r,Yt===0&&Xe(Pn)),ye!==r&&(Tt=ee,ye=so()),ee=ye,ee===r&&(ee=Ie,t.substr(Ie,2)===_s?(ye=_s,Ie+=2):(ye=r,Yt===0&&Xe(yl)),ye!==r&&(Tt=ee,ye=El()),ee=ye,ee===r&&(ee=Ie,t.substr(Ie,2)===oo?(ye=oo,Ie+=2):(ye=r,Yt===0&&Xe(zn)),ye!==r?(Ne=Un(),Ne!==r?(ft=Un(),ft!==r?(pt=Un(),pt!==r?(Lt=Un(),Lt!==r?(Tt=ee,ye=On(Ne,ft,pt,Lt),ee=ye):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r)):(Ie=ee,ee=r)))))))))),ee}function Un(){var ee;return Li.test(t.charAt(Ie))?(ee=t.charAt(Ie),Ie++):(ee=r,Yt===0&&Xe(Mn)),ee}function Dn(){var ee,ye;if(Yt++,ee=[],ir.test(t.charAt(Ie))?(ye=t.charAt(Ie),Ie++):(ye=r,Yt===0&&Xe(Oe)),ye!==r)for(;ye!==r;)ee.push(ye),ir.test(t.charAt(Ie))?(ye=t.charAt(Ie),Ie++):(ye=r,Yt===0&&Xe(Oe));else ee=r;return Yt--,ee===r&&(ye=r,Yt===0&&Xe(_i)),ee}function Cs(){var ee,ye;if(Yt++,ee=[],Ua.test(t.charAt(Ie))?(ye=t.charAt(Ie),Ie++):(ye=r,Yt===0&&Xe(hr)),ye!==r)for(;ye!==r;)ee.push(ye),Ua.test(t.charAt(Ie))?(ye=t.charAt(Ie),Ie++):(ye=r,Yt===0&&Xe(hr));else ee=r;return Yt--,ee===r&&(ye=r,Yt===0&&Xe(ii)),ee}function We(){var ee,ye,Ne,ft,pt,Lt;if(ee=Ie,ye=tt(),ye!==r){for(Ne=[],ft=Ie,pt=Dn(),pt===r&&(pt=null),pt!==r?(Lt=tt(),Lt!==r?(pt=[pt,Lt],ft=pt):(Ie=ft,ft=r)):(Ie=ft,ft=r);ft!==r;)Ne.push(ft),ft=Ie,pt=Dn(),pt===r&&(pt=null),pt!==r?(Lt=tt(),Lt!==r?(pt=[pt,Lt],ft=pt):(Ie=ft,ft=r)):(Ie=ft,ft=r);Ne!==r?(ye=[ye,Ne],ee=ye):(Ie=ee,ee=r)}else Ie=ee,ee=r;return ee}function tt(){var ee;return t.substr(Ie,2)===Ac?(ee=Ac,Ie+=2):(ee=r,Yt===0&&Xe(Au)),ee===r&&(t.charCodeAt(Ie)===10?(ee=fc,Ie++):(ee=r,Yt===0&&Xe(Cl)),ee===r&&(t.charCodeAt(Ie)===13?(ee=PA,Ie++):(ee=r,Yt===0&&Xe(fu)))),ee}let It=2,or=0;if(wl=a(),wl!==r&&Ie===t.length)return wl;throw wl!==r&&Ie"u"?!0:typeof t=="object"&&t!==null&&!Array.isArray(t)?Object.keys(t).every(e=>rz(t[e])):!1}function vT(t,e,r){if(t===null)return`null +`;if(typeof t=="number"||typeof t=="boolean")return`${t.toString()} +`;if(typeof t=="string")return`${ez(t)} +`;if(Array.isArray(t)){if(t.length===0)return`[] +`;let o=" ".repeat(e);return` +${t.map(n=>`${o}- ${vT(n,e+1,!1)}`).join("")}`}if(typeof t=="object"&&t){let[o,a]=t instanceof XP?[t.data,!1]:[t,!0],n=" ".repeat(e),u=Object.keys(o);a&&u.sort((p,h)=>{let E=$K.indexOf(p),I=$K.indexOf(h);return E===-1&&I===-1?ph?1:0:E!==-1&&I===-1?-1:E===-1&&I!==-1?1:E-I});let A=u.filter(p=>!rz(o[p])).map((p,h)=>{let E=o[p],I=ez(p),v=vT(E,e+1,!0),x=h>0||r?n:"",C=I.length>1024?`? ${I} +${x}:`:`${I}:`,F=v.startsWith(` +`)?v:` ${v}`;return`${x}${C}${F}`}).join(e===0?` +`:"")||` +`;return r?` +${A}`:`${A}`}throw new Error(`Unsupported value type (${t})`)}function Ba(t){try{let e=vT(t,0,!1);return e!==` +`?e:""}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}function J6e(t){return t.endsWith(` +`)||(t+=` +`),(0,tz.parse)(t)}function X6e(t){if(V6e.test(t))return J6e(t);let e=(0,ZP.safeLoad)(t,{schema:ZP.FAILSAFE_SCHEMA,json:!0});if(e==null)return{};if(typeof e!="object")throw new Error(`Expected an indexed object, got a ${typeof e} instead. Does your file follow Yaml's rules?`);if(Array.isArray(e))throw new Error("Expected an indexed object, got an array instead. Does your file follow Yaml's rules?");return e}function Ki(t){return X6e(t)}var ZP,tz,z6e,$K,XP,V6e,nz=Et(()=>{ZP=Ze(VK()),tz=Ze(ZK()),z6e=/^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/,$K=["__metadata","version","resolution","dependencies","peerDependencies","dependenciesMeta","peerDependenciesMeta","binaries"],XP=class{constructor(e){this.data=e}};Ba.PreserveOrdering=XP;V6e=/^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i});var eI={};zt(eI,{parseResolution:()=>UP,parseShell:()=>NP,parseSyml:()=>Ki,stringifyArgument:()=>uT,stringifyArgumentSegment:()=>AT,stringifyArithmeticExpression:()=>MP,stringifyCommand:()=>cT,stringifyCommandChain:()=>cy,stringifyCommandChainThen:()=>lT,stringifyCommandLine:()=>OP,stringifyCommandLineThen:()=>aT,stringifyEnvSegment:()=>LP,stringifyRedirectArgument:()=>Kw,stringifyResolution:()=>_P,stringifyShell:()=>ly,stringifyShellLine:()=>ly,stringifySyml:()=>Ba,stringifyValueArgument:()=>Wg});var Nl=Et(()=>{rW();oW();nz()});var sz=_((Ixt,PT)=>{"use strict";var Z6e=t=>{let e=!1,r=!1,o=!1;for(let a=0;a{if(!(typeof t=="string"||Array.isArray(t)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let r=a=>e.pascalCase?a.charAt(0).toUpperCase()+a.slice(1):a;return Array.isArray(t)?t=t.map(a=>a.trim()).filter(a=>a.length).join("-"):t=t.trim(),t.length===0?"":t.length===1?e.pascalCase?t.toUpperCase():t.toLowerCase():(t!==t.toLowerCase()&&(t=Z6e(t)),t=t.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(a,n)=>n.toUpperCase()).replace(/\d+(\w|$)/g,a=>a.toUpperCase()),r(t))};PT.exports=iz;PT.exports.default=iz});var oz=_((Bxt,$6e)=>{$6e.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vercel",constant:"VERCEL",env:"NOW_BUILDER"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"}]});var rd=_(Za=>{"use strict";var lz=oz(),Gu=process.env;Object.defineProperty(Za,"_vendors",{value:lz.map(function(t){return t.constant})});Za.name=null;Za.isPR=null;lz.forEach(function(t){let r=(Array.isArray(t.env)?t.env:[t.env]).every(function(o){return az(o)});if(Za[t.constant]=r,r)switch(Za.name=t.name,typeof t.pr){case"string":Za.isPR=!!Gu[t.pr];break;case"object":"env"in t.pr?Za.isPR=t.pr.env in Gu&&Gu[t.pr.env]!==t.pr.ne:"any"in t.pr?Za.isPR=t.pr.any.some(function(o){return!!Gu[o]}):Za.isPR=az(t.pr);break;default:Za.isPR=null}});Za.isCI=!!(Gu.CI||Gu.CONTINUOUS_INTEGRATION||Gu.BUILD_NUMBER||Gu.RUN_ID||Za.name);function az(t){return typeof t=="string"?!!Gu[t]:Object.keys(t).every(function(e){return Gu[e]===t[e]})}});var Hn,un,nd,DT,$P,cz,ST,bT,eD=Et(()=>{(function(t){t.StartOfInput="\0",t.EndOfInput="",t.EndOfPartialInput=""})(Hn||(Hn={}));(function(t){t[t.InitialNode=0]="InitialNode",t[t.SuccessNode=1]="SuccessNode",t[t.ErrorNode=2]="ErrorNode",t[t.CustomNode=3]="CustomNode"})(un||(un={}));nd=-1,DT=/^(-h|--help)(?:=([0-9]+))?$/,$P=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,cz=/^-[a-zA-Z]{2,}$/,ST=/^([^=]+)=([\s\S]*)$/,bT=process.env.DEBUG_CLI==="1"});var st,my,tD,xT,rD=Et(()=>{eD();st=class extends Error{constructor(e){super(e),this.clipanion={type:"usage"},this.name="UsageError"}},my=class extends Error{constructor(e,r){if(super(),this.input=e,this.candidates=r,this.clipanion={type:"none"},this.name="UnknownSyntaxError",this.candidates.length===0)this.message="Command not found, but we're not sure what's the alternative.";else if(this.candidates.every(o=>o.reason!==null&&o.reason===r[0].reason)){let[{reason:o}]=this.candidates;this.message=`${o} + +${this.candidates.map(({usage:a})=>`$ ${a}`).join(` +`)}`}else if(this.candidates.length===1){let[{usage:o}]=this.candidates;this.message=`Command not found; did you mean: + +$ ${o} +${xT(e)}`}else this.message=`Command not found; did you mean one of: + +${this.candidates.map(({usage:o},a)=>`${`${a}.`.padStart(4)} ${o}`).join(` +`)} + +${xT(e)}`}},tD=class extends Error{constructor(e,r){super(),this.input=e,this.usages=r,this.clipanion={type:"none"},this.name="AmbiguousSyntaxError",this.message=`Cannot find which to pick amongst the following alternatives: + +${this.usages.map((o,a)=>`${`${a}.`.padStart(4)} ${o}`).join(` +`)} + +${xT(e)}`}},xT=t=>`While running ${t.filter(e=>e!==Hn.EndOfInput&&e!==Hn.EndOfPartialInput).map(e=>{let r=JSON.stringify(e);return e.match(/\s/)||e.length===0||r!==`"${e}"`?r:e}).join(" ")}`});function eqe(t){let e=t.split(` +`),r=e.filter(a=>a.match(/\S/)),o=r.length>0?r.reduce((a,n)=>Math.min(a,n.length-n.trimStart().length),Number.MAX_VALUE):0;return e.map(a=>a.slice(o).trimRight()).join(` +`)}function vo(t,{format:e,paragraphs:r}){return t=t.replace(/\r\n?/g,` +`),t=eqe(t),t=t.replace(/^\n+|\n+$/g,""),t=t.replace(/^(\s*)-([^\n]*?)\n+/gm,`$1-$2 + +`),t=t.replace(/\n(\n)?\n*/g,(o,a)=>a||" "),r&&(t=t.split(/\n/).map(o=>{let a=o.match(/^\s*[*-][\t ]+(.*)/);if(!a)return o.match(/(.{1,80})(?: |$)/g).join(` +`);let n=o.length-o.trimStart().length;return a[1].match(new RegExp(`(.{1,${78-n}})(?: |$)`,"g")).map((u,A)=>" ".repeat(n)+(A===0?"- ":" ")+u).join(` +`)}).join(` + +`)),t=t.replace(/(`+)((?:.|[\n])*?)\1/g,(o,a,n)=>e.code(a+n+a)),t=t.replace(/(\*\*)((?:.|[\n])*?)\1/g,(o,a,n)=>e.bold(a+n+a)),t?`${t} +`:""}var kT,uz,Az,QT=Et(()=>{kT=Array(80).fill("\u2501");for(let t=0;t<=24;++t)kT[kT.length-t]=`\x1B[38;5;${232+t}m\u2501`;uz={header:t=>`\x1B[1m\u2501\u2501\u2501 ${t}${t.length<80-5?` ${kT.slice(t.length+5).join("")}`:":"}\x1B[0m`,bold:t=>`\x1B[1m${t}\x1B[22m`,error:t=>`\x1B[31m\x1B[1m${t}\x1B[22m\x1B[39m`,code:t=>`\x1B[36m${t}\x1B[39m`},Az={header:t=>t,bold:t=>t,error:t=>t,code:t=>t}});function Wo(t){return{...t,[tI]:!0}}function ju(t,e){return typeof t>"u"?[t,e]:typeof t=="object"&&t!==null&&!Array.isArray(t)?[void 0,t]:[t,e]}function nD(t,{mergeName:e=!1}={}){let r=t.match(/^([^:]+): (.*)$/m);if(!r)return"validation failed";let[,o,a]=r;return e&&(a=a[0].toLowerCase()+a.slice(1)),a=o!=="."||!e?`${o.replace(/^\.(\[|$)/,"$1")}: ${a}`:`: ${a}`,a}function rI(t,e){return e.length===1?new st(`${t}${nD(e[0],{mergeName:!0})}`):new st(`${t}: +${e.map(r=>` +- ${nD(r)}`).join("")}`)}function id(t,e,r){if(typeof r>"u")return e;let o=[],a=[],n=A=>{let p=e;return e=A,n.bind(null,p)};if(!r(e,{errors:o,coercions:a,coercion:n}))throw rI(`Invalid value for ${t}`,o);for(let[,A]of a)A();return e}var tI,Ef=Et(()=>{rD();tI=Symbol("clipanion/isOption")});var Ko={};zt(Ko,{KeyRelationship:()=>Yu,TypeAssertionError:()=>zp,applyCascade:()=>sI,as:()=>Eqe,assert:()=>dqe,assertWithErrors:()=>mqe,cascade:()=>aD,fn:()=>Cqe,hasAtLeastOneKey:()=>MT,hasExactLength:()=>dz,hasForbiddenKeys:()=>Uqe,hasKeyRelationship:()=>aI,hasMaxLength:()=>Iqe,hasMinLength:()=>wqe,hasMutuallyExclusiveKeys:()=>_qe,hasRequiredKeys:()=>Mqe,hasUniqueItems:()=>Bqe,isArray:()=>iD,isAtLeast:()=>NT,isAtMost:()=>Dqe,isBase64:()=>Tqe,isBoolean:()=>lqe,isDate:()=>uqe,isDict:()=>pqe,isEnum:()=>Js,isHexColor:()=>Fqe,isISO8601:()=>Rqe,isInExclusiveRange:()=>bqe,isInInclusiveRange:()=>Sqe,isInstanceOf:()=>gqe,isInteger:()=>OT,isJSON:()=>Lqe,isLiteral:()=>pz,isLowerCase:()=>xqe,isMap:()=>fqe,isNegative:()=>vqe,isNullable:()=>Oqe,isNumber:()=>TT,isObject:()=>hz,isOneOf:()=>LT,isOptional:()=>Nqe,isPartial:()=>hqe,isPayload:()=>cqe,isPositive:()=>Pqe,isRecord:()=>oD,isSet:()=>Aqe,isString:()=>Ey,isTuple:()=>sD,isUUID4:()=>Qqe,isUnknown:()=>FT,isUpperCase:()=>kqe,makeTrait:()=>gz,makeValidator:()=>Hr,matchesRegExp:()=>iI,softAssert:()=>yqe});function qn(t){return t===null?"null":t===void 0?"undefined":t===""?"an empty string":typeof t=="symbol"?`<${t.toString()}>`:Array.isArray(t)?"an array":JSON.stringify(t)}function yy(t,e){if(t.length===0)return"nothing";if(t.length===1)return qn(t[0]);let r=t.slice(0,-1),o=t[t.length-1],a=t.length>2?`, ${e} `:` ${e} `;return`${r.map(n=>qn(n)).join(", ")}${a}${qn(o)}`}function Kp(t,e){var r,o,a;return typeof e=="number"?`${(r=t?.p)!==null&&r!==void 0?r:"."}[${e}]`:tqe.test(e)?`${(o=t?.p)!==null&&o!==void 0?o:""}.${e}`:`${(a=t?.p)!==null&&a!==void 0?a:"."}[${JSON.stringify(e)}]`}function RT(t,e,r){return t===1?e:r}function pr({errors:t,p:e}={},r){return t?.push(`${e??"."}: ${r}`),!1}function oqe(t,e){return r=>{t[e]=r}}function Wu(t,e){return r=>{let o=t[e];return t[e]=r,Wu(t,e).bind(null,o)}}function nI(t,e,r){let o=()=>(t(r()),a),a=()=>(t(e),o);return o}function FT(){return Hr({test:(t,e)=>!0})}function pz(t){return Hr({test:(e,r)=>e!==t?pr(r,`Expected ${qn(t)} (got ${qn(e)})`):!0})}function Ey(){return Hr({test:(t,e)=>typeof t!="string"?pr(e,`Expected a string (got ${qn(t)})`):!0})}function Js(t){let e=Array.isArray(t)?t:Object.values(t),r=e.every(a=>typeof a=="string"||typeof a=="number"),o=new Set(e);return o.size===1?pz([...o][0]):Hr({test:(a,n)=>o.has(a)?!0:r?pr(n,`Expected one of ${yy(e,"or")} (got ${qn(a)})`):pr(n,`Expected a valid enumeration value (got ${qn(a)})`)})}function lqe(){return Hr({test:(t,e)=>{var r;if(typeof t!="boolean"){if(typeof e?.coercions<"u"){if(typeof e?.coercion>"u")return pr(e,"Unbound coercion result");let o=aqe.get(t);if(typeof o<"u")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,o)]),!0}return pr(e,`Expected a boolean (got ${qn(t)})`)}return!0}})}function TT(){return Hr({test:(t,e)=>{var r;if(typeof t!="number"){if(typeof e?.coercions<"u"){if(typeof e?.coercion>"u")return pr(e,"Unbound coercion result");let o;if(typeof t=="string"){let a;try{a=JSON.parse(t)}catch{}if(typeof a=="number")if(JSON.stringify(a)===t)o=a;else return pr(e,`Received a number that can't be safely represented by the runtime (${t})`)}if(typeof o<"u")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,o)]),!0}return pr(e,`Expected a number (got ${qn(t)})`)}return!0}})}function cqe(t){return Hr({test:(e,r)=>{var o;if(typeof r?.coercions>"u")return pr(r,"The isPayload predicate can only be used with coercion enabled");if(typeof r.coercion>"u")return pr(r,"Unbound coercion result");if(typeof e!="string")return pr(r,`Expected a string (got ${qn(e)})`);let a;try{a=JSON.parse(e)}catch{return pr(r,`Expected a JSON string (got ${qn(e)})`)}let n={value:a};return t(a,Object.assign(Object.assign({},r),{coercion:Wu(n,"value")}))?(r.coercions.push([(o=r.p)!==null&&o!==void 0?o:".",r.coercion.bind(null,n.value)]),!0):!1}})}function uqe(){return Hr({test:(t,e)=>{var r;if(!(t instanceof Date)){if(typeof e?.coercions<"u"){if(typeof e?.coercion>"u")return pr(e,"Unbound coercion result");let o;if(typeof t=="string"&&fz.test(t))o=new Date(t);else{let a;if(typeof t=="string"){let n;try{n=JSON.parse(t)}catch{}typeof n=="number"&&(a=n)}else typeof t=="number"&&(a=t);if(typeof a<"u")if(Number.isSafeInteger(a)||!Number.isSafeInteger(a*1e3))o=new Date(a*1e3);else return pr(e,`Received a timestamp that can't be safely represented by the runtime (${t})`)}if(typeof o<"u")return e.coercions.push([(r=e.p)!==null&&r!==void 0?r:".",e.coercion.bind(null,o)]),!0}return pr(e,`Expected a date (got ${qn(t)})`)}return!0}})}function iD(t,{delimiter:e}={}){return Hr({test:(r,o)=>{var a;let n=r;if(typeof r=="string"&&typeof e<"u"&&typeof o?.coercions<"u"){if(typeof o?.coercion>"u")return pr(o,"Unbound coercion result");r=r.split(e)}if(!Array.isArray(r))return pr(o,`Expected an array (got ${qn(r)})`);let u=!0;for(let A=0,p=r.length;A{var n,u;if(Object.getPrototypeOf(o).toString()==="[object Set]")if(typeof a?.coercions<"u"){if(typeof a?.coercion>"u")return pr(a,"Unbound coercion result");let A=[...o],p=[...o];if(!r(p,Object.assign(Object.assign({},a),{coercion:void 0})))return!1;let h=()=>p.some((E,I)=>E!==A[I])?new Set(p):o;return a.coercions.push([(n=a.p)!==null&&n!==void 0?n:".",nI(a.coercion,o,h)]),!0}else{let A=!0;for(let p of o)if(A=t(p,Object.assign({},a))&&A,!A&&a?.errors==null)break;return A}if(typeof a?.coercions<"u"){if(typeof a?.coercion>"u")return pr(a,"Unbound coercion result");let A={value:o};return r(o,Object.assign(Object.assign({},a),{coercion:Wu(A,"value")}))?(a.coercions.push([(u=a.p)!==null&&u!==void 0?u:".",nI(a.coercion,o,()=>new Set(A.value))]),!0):!1}return pr(a,`Expected a set (got ${qn(o)})`)}})}function fqe(t,e){let r=iD(sD([t,e])),o=oD(e,{keys:t});return Hr({test:(a,n)=>{var u,A,p;if(Object.getPrototypeOf(a).toString()==="[object Map]")if(typeof n?.coercions<"u"){if(typeof n?.coercion>"u")return pr(n,"Unbound coercion result");let h=[...a],E=[...a];if(!r(E,Object.assign(Object.assign({},n),{coercion:void 0})))return!1;let I=()=>E.some((v,x)=>v[0]!==h[x][0]||v[1]!==h[x][1])?new Map(E):a;return n.coercions.push([(u=n.p)!==null&&u!==void 0?u:".",nI(n.coercion,a,I)]),!0}else{let h=!0;for(let[E,I]of a)if(h=t(E,Object.assign({},n))&&h,!h&&n?.errors==null||(h=e(I,Object.assign(Object.assign({},n),{p:Kp(n,E)}))&&h,!h&&n?.errors==null))break;return h}if(typeof n?.coercions<"u"){if(typeof n?.coercion>"u")return pr(n,"Unbound coercion result");let h={value:a};return Array.isArray(a)?r(a,Object.assign(Object.assign({},n),{coercion:void 0}))?(n.coercions.push([(A=n.p)!==null&&A!==void 0?A:".",nI(n.coercion,a,()=>new Map(h.value))]),!0):!1:o(a,Object.assign(Object.assign({},n),{coercion:Wu(h,"value")}))?(n.coercions.push([(p=n.p)!==null&&p!==void 0?p:".",nI(n.coercion,a,()=>new Map(Object.entries(h.value)))]),!0):!1}return pr(n,`Expected a map (got ${qn(a)})`)}})}function sD(t,{delimiter:e}={}){let r=dz(t.length);return Hr({test:(o,a)=>{var n;if(typeof o=="string"&&typeof e<"u"&&typeof a?.coercions<"u"){if(typeof a?.coercion>"u")return pr(a,"Unbound coercion result");o=o.split(e),a.coercions.push([(n=a.p)!==null&&n!==void 0?n:".",a.coercion.bind(null,o)])}if(!Array.isArray(o))return pr(a,`Expected a tuple (got ${qn(o)})`);let u=r(o,Object.assign({},a));for(let A=0,p=o.length;A{var n;if(Array.isArray(o)&&typeof a?.coercions<"u")return typeof a?.coercion>"u"?pr(a,"Unbound coercion result"):r(o,Object.assign(Object.assign({},a),{coercion:void 0}))?(o=Object.fromEntries(o),a.coercions.push([(n=a.p)!==null&&n!==void 0?n:".",a.coercion.bind(null,o)]),!0):!1;if(typeof o!="object"||o===null)return pr(a,`Expected an object (got ${qn(o)})`);let u=Object.keys(o),A=!0;for(let p=0,h=u.length;p{if(typeof a!="object"||a===null)return pr(n,`Expected an object (got ${qn(a)})`);let u=new Set([...r,...Object.keys(a)]),A={},p=!0;for(let h of u){if(h==="constructor"||h==="__proto__")p=pr(Object.assign(Object.assign({},n),{p:Kp(n,h)}),"Unsafe property name");else{let E=Object.prototype.hasOwnProperty.call(t,h)?t[h]:void 0,I=Object.prototype.hasOwnProperty.call(a,h)?a[h]:void 0;typeof E<"u"?p=E(I,Object.assign(Object.assign({},n),{p:Kp(n,h),coercion:Wu(a,h)}))&&p:e===null?p=pr(Object.assign(Object.assign({},n),{p:Kp(n,h)}),`Extraneous property (got ${qn(I)})`):Object.defineProperty(A,h,{enumerable:!0,get:()=>I,set:oqe(a,h)})}if(!p&&n?.errors==null)break}return e!==null&&(p||n?.errors!=null)&&(p=e(A,n)&&p),p}});return Object.assign(o,{properties:t})}function hqe(t){return hz(t,{extra:oD(FT())})}function gz(t){return()=>t}function Hr({test:t}){return gz(t)()}function dqe(t,e){if(!e(t))throw new zp}function mqe(t,e){let r=[];if(!e(t,{errors:r}))throw new zp({errors:r})}function yqe(t,e){}function Eqe(t,e,{coerce:r=!1,errors:o,throw:a}={}){let n=o?[]:void 0;if(!r){if(e(t,{errors:n}))return a?t:{value:t,errors:void 0};if(a)throw new zp({errors:n});return{value:void 0,errors:n??!0}}let u={value:t},A=Wu(u,"value"),p=[];if(!e(t,{errors:n,coercion:A,coercions:p})){if(a)throw new zp({errors:n});return{value:void 0,errors:n??!0}}for(let[,h]of p)h();return a?u.value:{value:u.value,errors:void 0}}function Cqe(t,e){let r=sD(t);return(...o)=>{if(!r(o))throw new zp;return e(...o)}}function wqe(t){return Hr({test:(e,r)=>e.length>=t?!0:pr(r,`Expected to have a length of at least ${t} elements (got ${e.length})`)})}function Iqe(t){return Hr({test:(e,r)=>e.length<=t?!0:pr(r,`Expected to have a length of at most ${t} elements (got ${e.length})`)})}function dz(t){return Hr({test:(e,r)=>e.length!==t?pr(r,`Expected to have a length of exactly ${t} elements (got ${e.length})`):!0})}function Bqe({map:t}={}){return Hr({test:(e,r)=>{let o=new Set,a=new Set;for(let n=0,u=e.length;nt<=0?!0:pr(e,`Expected to be negative (got ${t})`)})}function Pqe(){return Hr({test:(t,e)=>t>=0?!0:pr(e,`Expected to be positive (got ${t})`)})}function NT(t){return Hr({test:(e,r)=>e>=t?!0:pr(r,`Expected to be at least ${t} (got ${e})`)})}function Dqe(t){return Hr({test:(e,r)=>e<=t?!0:pr(r,`Expected to be at most ${t} (got ${e})`)})}function Sqe(t,e){return Hr({test:(r,o)=>r>=t&&r<=e?!0:pr(o,`Expected to be in the [${t}; ${e}] range (got ${r})`)})}function bqe(t,e){return Hr({test:(r,o)=>r>=t&&re!==Math.round(e)?pr(r,`Expected to be an integer (got ${e})`):!t&&!Number.isSafeInteger(e)?pr(r,`Expected to be a safe integer (got ${e})`):!0})}function iI(t){return Hr({test:(e,r)=>t.test(e)?!0:pr(r,`Expected to match the pattern ${t.toString()} (got ${qn(e)})`)})}function xqe(){return Hr({test:(t,e)=>t!==t.toLowerCase()?pr(e,`Expected to be all-lowercase (got ${t})`):!0})}function kqe(){return Hr({test:(t,e)=>t!==t.toUpperCase()?pr(e,`Expected to be all-uppercase (got ${t})`):!0})}function Qqe(){return Hr({test:(t,e)=>sqe.test(t)?!0:pr(e,`Expected to be a valid UUID v4 (got ${qn(t)})`)})}function Rqe(){return Hr({test:(t,e)=>fz.test(t)?!0:pr(e,`Expected to be a valid ISO 8601 date string (got ${qn(t)})`)})}function Fqe({alpha:t=!1}){return Hr({test:(e,r)=>(t?rqe.test(e):nqe.test(e))?!0:pr(r,`Expected to be a valid hexadecimal color string (got ${qn(e)})`)})}function Tqe(){return Hr({test:(t,e)=>iqe.test(t)?!0:pr(e,`Expected to be a valid base 64 string (got ${qn(t)})`)})}function Lqe(t=FT()){return Hr({test:(e,r)=>{let o;try{o=JSON.parse(e)}catch{return pr(r,`Expected to be a valid JSON string (got ${qn(e)})`)}return t(o,r)}})}function aD(t,...e){let r=Array.isArray(e[0])?e[0]:e;return Hr({test:(o,a)=>{var n,u;let A={value:o},p=typeof a?.coercions<"u"?Wu(A,"value"):void 0,h=typeof a?.coercions<"u"?[]:void 0;if(!t(o,Object.assign(Object.assign({},a),{coercion:p,coercions:h})))return!1;let E=[];if(typeof h<"u")for(let[,I]of h)E.push(I());try{if(typeof a?.coercions<"u"){if(A.value!==o){if(typeof a?.coercion>"u")return pr(a,"Unbound coercion result");a.coercions.push([(n=a.p)!==null&&n!==void 0?n:".",a.coercion.bind(null,A.value)])}(u=a?.coercions)===null||u===void 0||u.push(...h)}return r.every(I=>I(A.value,a))}finally{for(let I of E)I()}}})}function sI(t,...e){let r=Array.isArray(e[0])?e[0]:e;return aD(t,r)}function Nqe(t){return Hr({test:(e,r)=>typeof e>"u"?!0:t(e,r)})}function Oqe(t){return Hr({test:(e,r)=>e===null?!0:t(e,r)})}function Mqe(t,e){var r;let o=new Set(t),a=oI[(r=e?.missingIf)!==null&&r!==void 0?r:"missing"];return Hr({test:(n,u)=>{let A=new Set(Object.keys(n)),p=[];for(let h of o)a(A,h,n)||p.push(h);return p.length>0?pr(u,`Missing required ${RT(p.length,"property","properties")} ${yy(p,"and")}`):!0}})}function MT(t,e){var r;let o=new Set(t),a=oI[(r=e?.missingIf)!==null&&r!==void 0?r:"missing"];return Hr({test:(n,u)=>Object.keys(n).some(h=>a(o,h,n))?!0:pr(u,`Missing at least one property from ${yy(Array.from(o),"or")}`)})}function Uqe(t,e){var r;let o=new Set(t),a=oI[(r=e?.missingIf)!==null&&r!==void 0?r:"missing"];return Hr({test:(n,u)=>{let A=new Set(Object.keys(n)),p=[];for(let h of o)a(A,h,n)&&p.push(h);return p.length>0?pr(u,`Forbidden ${RT(p.length,"property","properties")} ${yy(p,"and")}`):!0}})}function _qe(t,e){var r;let o=new Set(t),a=oI[(r=e?.missingIf)!==null&&r!==void 0?r:"missing"];return Hr({test:(n,u)=>{let A=new Set(Object.keys(n)),p=[];for(let h of o)a(A,h,n)&&p.push(h);return p.length>1?pr(u,`Mutually exclusive properties ${yy(p,"and")}`):!0}})}function aI(t,e,r,o){var a,n;let u=new Set((a=o?.ignore)!==null&&a!==void 0?a:[]),A=oI[(n=o?.missingIf)!==null&&n!==void 0?n:"missing"],p=new Set(r),h=Hqe[e],E=e===Yu.Forbids?"or":"and";return Hr({test:(I,v)=>{let x=new Set(Object.keys(I));if(!A(x,t,I)||u.has(I[t]))return!0;let C=[];for(let F of p)(A(x,F,I)&&!u.has(I[F]))!==h.expect&&C.push(F);return C.length>=1?pr(v,`Property "${t}" ${h.message} ${RT(C.length,"property","properties")} ${yy(C,E)}`):!0}})}var tqe,rqe,nqe,iqe,sqe,fz,aqe,gqe,LT,zp,oI,Yu,Hqe,$a=Et(()=>{tqe=/^[a-zA-Z_][a-zA-Z0-9_]*$/;rqe=/^#[0-9a-f]{6}$/i,nqe=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,iqe=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,sqe=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,fz=/^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/;aqe=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]);gqe=t=>Hr({test:(e,r)=>e instanceof t?!0:pr(r,`Expected an instance of ${t.name} (got ${qn(e)})`)}),LT=(t,{exclusive:e=!1}={})=>Hr({test:(r,o)=>{var a,n,u;let A=[],p=typeof o?.errors<"u"?[]:void 0;for(let h=0,E=t.length;h1?pr(o,`Expected to match exactly a single predicate (matched ${A.join(", ")})`):(u=o?.errors)===null||u===void 0||u.push(...p),!1}});zp=class extends Error{constructor({errors:e}={}){let r="Type mismatch";if(e&&e.length>0){r+=` +`;for(let o of e)r+=` +- ${o}`}super(r)}};oI={missing:(t,e)=>t.has(e),undefined:(t,e,r)=>t.has(e)&&typeof r[e]<"u",nil:(t,e,r)=>t.has(e)&&r[e]!=null,falsy:(t,e,r)=>t.has(e)&&!!r[e]};(function(t){t.Forbids="Forbids",t.Requires="Requires"})(Yu||(Yu={}));Hqe={[Yu.Forbids]:{expect:!1,message:"forbids using"},[Yu.Requires]:{expect:!0,message:"requires using"}}});var it,Jp=Et(()=>{Ef();it=class{constructor(){this.help=!1}static Usage(e){return e}async catch(e){throw e}async validateAndExecute(){let r=this.constructor.schema;if(Array.isArray(r)){let{isDict:a,isUnknown:n,applyCascade:u}=await Promise.resolve().then(()=>($a(),Ko)),A=u(a(n()),r),p=[],h=[];if(!A(this,{errors:p,coercions:h}))throw rI("Invalid option schema",p);for(let[,I]of h)I()}else if(r!=null)throw new Error("Invalid command schema");let o=await this.execute();return typeof o<"u"?o:0}};it.isOption=tI;it.Default=[]});function va(t){bT&&console.log(t)}function yz(){let t={nodes:[]};for(let e=0;e{if(e.has(o))return;e.add(o);let a=t.nodes[o];for(let u of Object.values(a.statics))for(let{to:A}of u)r(A);for(let[,{to:u}]of a.dynamics)r(u);for(let{to:u}of a.shortcuts)r(u);let n=new Set(a.shortcuts.map(({to:u})=>u));for(;a.shortcuts.length>0;){let{to:u}=a.shortcuts.shift(),A=t.nodes[u];for(let[p,h]of Object.entries(A.statics)){let E=Object.prototype.hasOwnProperty.call(a.statics,p)?a.statics[p]:a.statics[p]=[];for(let I of h)E.some(({to:v})=>I.to===v)||E.push(I)}for(let[p,h]of A.dynamics)a.dynamics.some(([E,{to:I}])=>p===E&&h.to===I)||a.dynamics.push([p,h]);for(let p of A.shortcuts)n.has(p.to)||(a.shortcuts.push(p),n.add(p.to))}};r(un.InitialNode)}function jqe(t,{prefix:e=""}={}){if(bT){va(`${e}Nodes are:`);for(let r=0;rE!==un.ErrorNode).map(({state:E})=>({usage:E.candidateUsage,reason:null})));if(h.every(({node:E})=>E===un.ErrorNode))throw new my(e,h.map(({state:E})=>({usage:E.candidateUsage,reason:E.errorMessage})));o=Kqe(h)}if(o.length>0){va(" Results:");for(let n of o)va(` - ${n.node} -> ${JSON.stringify(n.state)}`)}else va(" No results");return o}function Wqe(t,e,{endToken:r=Hn.EndOfInput}={}){let o=Yqe(t,[...e,r]);return zqe(e,o.map(({state:a})=>a))}function Kqe(t){let e=0;for(let{state:r}of t)r.path.length>e&&(e=r.path.length);return t.filter(({state:r})=>r.path.length===e)}function zqe(t,e){let r=e.filter(v=>v.selectedIndex!==null),o=r.filter(v=>!v.partial);if(o.length>0&&(r=o),r.length===0)throw new Error;let a=r.filter(v=>v.selectedIndex===nd||v.requiredOptions.every(x=>x.some(C=>v.options.find(F=>F.name===C))));if(a.length===0)throw new my(t,r.map(v=>({usage:v.candidateUsage,reason:null})));let n=0;for(let v of a)v.path.length>n&&(n=v.path.length);let u=a.filter(v=>v.path.length===n),A=v=>v.positionals.filter(({extra:x})=>!x).length+v.options.length,p=u.map(v=>({state:v,positionalCount:A(v)})),h=0;for(let{positionalCount:v}of p)v>h&&(h=v);let E=p.filter(({positionalCount:v})=>v===h).map(({state:v})=>v),I=Jqe(E);if(I.length>1)throw new tD(t,I.map(v=>v.candidateUsage));return I[0]}function Jqe(t){let e=[],r=[];for(let o of t)o.selectedIndex===nd?r.push(o):e.push(o);return r.length>0&&e.push({...mz,path:Ez(...r.map(o=>o.path)),options:r.reduce((o,a)=>o.concat(a.options),[])}),e}function Ez(t,e,...r){return e===void 0?Array.from(t):Ez(t.filter((o,a)=>o===e[a]),...r)}function el(){return{dynamics:[],shortcuts:[],statics:{}}}function Cz(t){return t===un.SuccessNode||t===un.ErrorNode}function UT(t,e=0){return{to:Cz(t.to)?t.to:t.to>=un.CustomNode?t.to+e-un.CustomNode+1:t.to+e,reducer:t.reducer}}function Vqe(t,e=0){let r=el();for(let[o,a]of t.dynamics)r.dynamics.push([o,UT(a,e)]);for(let o of t.shortcuts)r.shortcuts.push(UT(o,e));for(let[o,a]of Object.entries(t.statics))r.statics[o]=a.map(n=>UT(n,e));return r}function xs(t,e,r,o,a){t.nodes[e].dynamics.push([r,{to:o,reducer:a}])}function Cy(t,e,r,o){t.nodes[e].shortcuts.push({to:r,reducer:o})}function zo(t,e,r,o,a){(Object.prototype.hasOwnProperty.call(t.nodes[e].statics,r)?t.nodes[e].statics[r]:t.nodes[e].statics[r]=[]).push({to:o,reducer:a})}function lD(t,e,r,o,a){if(Array.isArray(e)){let[n,...u]=e;return t[n](r,o,a,...u)}else return t[e](r,o,a)}var mz,Xqe,_T,tl,HT,wy,cD=Et(()=>{eD();rD();mz={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:nd,partial:!1,tokens:[]};Xqe={always:()=>!0,isOptionLike:(t,e)=>!t.ignoreOptions&&e!=="-"&&e.startsWith("-"),isNotOptionLike:(t,e)=>t.ignoreOptions||e==="-"||!e.startsWith("-"),isOption:(t,e,r,o)=>!t.ignoreOptions&&e===o,isBatchOption:(t,e,r,o)=>!t.ignoreOptions&&cz.test(e)&&[...e.slice(1)].every(a=>o.has(`-${a}`)),isBoundOption:(t,e,r,o,a)=>{let n=e.match(ST);return!t.ignoreOptions&&!!n&&$P.test(n[1])&&o.has(n[1])&&a.filter(u=>u.nameSet.includes(n[1])).every(u=>u.allowBinding)},isNegatedOption:(t,e,r,o)=>!t.ignoreOptions&&e===`--no-${o.slice(2)}`,isHelp:(t,e)=>!t.ignoreOptions&&DT.test(e),isUnsupportedOption:(t,e,r,o)=>!t.ignoreOptions&&e.startsWith("-")&&$P.test(e)&&!o.has(e),isInvalidOption:(t,e)=>!t.ignoreOptions&&e.startsWith("-")&&!$P.test(e)},_T={setCandidateState:(t,e,r,o)=>({...t,...o}),setSelectedIndex:(t,e,r,o)=>({...t,selectedIndex:o}),setPartialIndex:(t,e,r,o)=>({...t,selectedIndex:o,partial:!0}),pushBatch:(t,e,r,o)=>{let a=t.options.slice(),n=t.tokens.slice();for(let u=1;u{let[,o,a]=e.match(ST),n=t.options.concat({name:o,value:a}),u=t.tokens.concat([{segmentIndex:r,type:"option",slice:[0,o.length],option:o},{segmentIndex:r,type:"assign",slice:[o.length,o.length+1]},{segmentIndex:r,type:"value",slice:[o.length+1,o.length+a.length+1]}]);return{...t,options:n,tokens:u}},pushPath:(t,e,r)=>{let o=t.path.concat(e),a=t.tokens.concat({segmentIndex:r,type:"path"});return{...t,path:o,tokens:a}},pushPositional:(t,e,r)=>{let o=t.positionals.concat({value:e,extra:!1}),a=t.tokens.concat({segmentIndex:r,type:"positional"});return{...t,positionals:o,tokens:a}},pushExtra:(t,e,r)=>{let o=t.positionals.concat({value:e,extra:!0}),a=t.tokens.concat({segmentIndex:r,type:"positional"});return{...t,positionals:o,tokens:a}},pushExtraNoLimits:(t,e,r)=>{let o=t.positionals.concat({value:e,extra:tl}),a=t.tokens.concat({segmentIndex:r,type:"positional"});return{...t,positionals:o,tokens:a}},pushTrue:(t,e,r,o)=>{let a=t.options.concat({name:o,value:!0}),n=t.tokens.concat({segmentIndex:r,type:"option",option:o});return{...t,options:a,tokens:n}},pushFalse:(t,e,r,o)=>{let a=t.options.concat({name:o,value:!1}),n=t.tokens.concat({segmentIndex:r,type:"option",option:o});return{...t,options:a,tokens:n}},pushUndefined:(t,e,r,o)=>{let a=t.options.concat({name:e,value:void 0}),n=t.tokens.concat({segmentIndex:r,type:"option",option:e});return{...t,options:a,tokens:n}},pushStringValue:(t,e,r)=>{var o;let a=t.options[t.options.length-1],n=t.options.slice(),u=t.tokens.concat({segmentIndex:r,type:"value"});return a.value=((o=a.value)!==null&&o!==void 0?o:[]).concat([e]),{...t,options:n,tokens:u}},setStringValue:(t,e,r)=>{let o=t.options[t.options.length-1],a=t.options.slice(),n=t.tokens.concat({segmentIndex:r,type:"value"});return o.value=e,{...t,options:a,tokens:n}},inhibateOptions:t=>({...t,ignoreOptions:!0}),useHelp:(t,e,r,o)=>{let[,,a]=e.match(DT);return typeof a<"u"?{...t,options:[{name:"-c",value:String(o)},{name:"-i",value:a}]}:{...t,options:[{name:"-c",value:String(o)}]}},setError:(t,e,r,o)=>e===Hn.EndOfInput||e===Hn.EndOfPartialInput?{...t,errorMessage:`${o}.`}:{...t,errorMessage:`${o} ("${e}").`},setOptionArityError:(t,e)=>{let r=t.options[t.options.length-1];return{...t,errorMessage:`Not enough arguments to option ${r.name}.`}}},tl=Symbol(),HT=class{constructor(e,r){this.allOptionNames=new Map,this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=e,this.cliOpts=r}addPath(e){this.paths.push(e)}setArity({leading:e=this.arity.leading,trailing:r=this.arity.trailing,extra:o=this.arity.extra,proxy:a=this.arity.proxy}){Object.assign(this.arity,{leading:e,trailing:r,extra:o,proxy:a})}addPositional({name:e="arg",required:r=!0}={}){if(!r&&this.arity.extra===tl)throw new Error("Optional parameters cannot be declared when using .rest() or .proxy()");if(!r&&this.arity.trailing.length>0)throw new Error("Optional parameters cannot be declared after the required trailing positional arguments");!r&&this.arity.extra!==tl?this.arity.extra.push(e):this.arity.extra!==tl&&this.arity.extra.length===0?this.arity.leading.push(e):this.arity.trailing.push(e)}addRest({name:e="arg",required:r=0}={}){if(this.arity.extra===tl)throw new Error("Infinite lists cannot be declared multiple times in the same command");if(this.arity.trailing.length>0)throw new Error("Infinite lists cannot be declared after the required trailing positional arguments");for(let o=0;o1)throw new Error("The arity cannot be higher than 1 when the option only supports the --arg=value syntax");if(!Number.isInteger(o))throw new Error(`The arity must be an integer, got ${o}`);if(o<0)throw new Error(`The arity must be positive, got ${o}`);let A=e.reduce((p,h)=>h.length>p.length?h:p,"");for(let p of e)this.allOptionNames.set(p,A);this.options.push({preferredName:A,nameSet:e,description:r,arity:o,hidden:a,required:n,allowBinding:u})}setContext(e){this.context=e}usage({detailed:e=!0,inlineOptions:r=!0}={}){let o=[this.cliOpts.binaryName],a=[];if(this.paths.length>0&&o.push(...this.paths[0]),e){for(let{preferredName:u,nameSet:A,arity:p,hidden:h,description:E,required:I}of this.options){if(h)continue;let v=[];for(let C=0;C`:`[${x}]`)}o.push(...this.arity.leading.map(u=>`<${u}>`)),this.arity.extra===tl?o.push("..."):o.push(...this.arity.extra.map(u=>`[${u}]`)),o.push(...this.arity.trailing.map(u=>`<${u}>`))}return{usage:o.join(" "),options:a}}compile(){if(typeof this.context>"u")throw new Error("Assertion failed: No context attached");let e=yz(),r=un.InitialNode,o=this.usage().usage,a=this.options.filter(A=>A.required).map(A=>A.nameSet);r=Mc(e,el()),zo(e,un.InitialNode,Hn.StartOfInput,r,["setCandidateState",{candidateUsage:o,requiredOptions:a}]);let n=this.arity.proxy?"always":"isNotOptionLike",u=this.paths.length>0?this.paths:[[]];for(let A of u){let p=r;if(A.length>0){let v=Mc(e,el());Cy(e,p,v),this.registerOptions(e,v),p=v}for(let v=0;v0||!this.arity.proxy){let v=Mc(e,el());xs(e,p,"isHelp",v,["useHelp",this.cliIndex]),xs(e,v,"always",v,"pushExtra"),zo(e,v,Hn.EndOfInput,un.SuccessNode,["setSelectedIndex",nd]),this.registerOptions(e,p)}this.arity.leading.length>0&&(zo(e,p,Hn.EndOfInput,un.ErrorNode,["setError","Not enough positional arguments"]),zo(e,p,Hn.EndOfPartialInput,un.SuccessNode,["setPartialIndex",this.cliIndex]));let h=p;for(let v=0;v0||v+1!==this.arity.leading.length)&&(zo(e,x,Hn.EndOfInput,un.ErrorNode,["setError","Not enough positional arguments"]),zo(e,x,Hn.EndOfPartialInput,un.SuccessNode,["setPartialIndex",this.cliIndex])),xs(e,h,"isNotOptionLike",x,"pushPositional"),h=x}let E=h;if(this.arity.extra===tl||this.arity.extra.length>0){let v=Mc(e,el());if(Cy(e,h,v),this.arity.extra===tl){let x=Mc(e,el());this.arity.proxy||this.registerOptions(e,x),xs(e,h,n,x,"pushExtraNoLimits"),xs(e,x,n,x,"pushExtraNoLimits"),Cy(e,x,v)}else for(let x=0;x0)&&this.registerOptions(e,C),xs(e,E,n,C,"pushExtra"),Cy(e,C,v),E=C}E=v}this.arity.trailing.length>0&&(zo(e,E,Hn.EndOfInput,un.ErrorNode,["setError","Not enough positional arguments"]),zo(e,E,Hn.EndOfPartialInput,un.SuccessNode,["setPartialIndex",this.cliIndex]));let I=E;for(let v=0;v=0&&e{let u=n?Hn.EndOfPartialInput:Hn.EndOfInput;return Wqe(o,a,{endToken:u})}}}}});function Iz(){return uD.default&&"getColorDepth"in uD.default.WriteStream.prototype?uD.default.WriteStream.prototype.getColorDepth():process.env.FORCE_COLOR==="0"?1:process.env.FORCE_COLOR==="1"||typeof process.stdout<"u"&&process.stdout.isTTY?8:1}function Bz(t){let e=wz;if(typeof e>"u"){if(t.stdout===process.stdout&&t.stderr===process.stderr)return null;let{AsyncLocalStorage:r}=ve("async_hooks");e=wz=new r;let o=process.stdout._write;process.stdout._write=function(n,u,A){let p=e.getStore();return typeof p>"u"?o.call(this,n,u,A):p.stdout.write(n,u,A)};let a=process.stderr._write;process.stderr._write=function(n,u,A){let p=e.getStore();return typeof p>"u"?a.call(this,n,u,A):p.stderr.write(n,u,A)}}return r=>e.run(t,r)}var uD,wz,vz=Et(()=>{uD=Ze(ve("tty"),1)});var Iy,Pz=Et(()=>{Jp();Iy=class extends it{constructor(e){super(),this.contexts=e,this.commands=[]}static from(e,r){let o=new Iy(r);o.path=e.path;for(let a of e.options)switch(a.name){case"-c":o.commands.push(Number(a.value));break;case"-i":o.index=Number(a.value);break}return o}async execute(){let e=this.commands;if(typeof this.index<"u"&&this.index>=0&&this.index1){this.context.stdout.write(`Multiple commands match your selection: +`),this.context.stdout.write(` +`);let r=0;for(let o of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[o].commandClass,{prefix:`${r++}. `.padStart(5)}));this.context.stdout.write(` +`),this.context.stdout.write(`Run again with -h= to see the longer details of any of those commands. +`)}}}});async function bz(...t){let{resolvedOptions:e,resolvedCommandClasses:r,resolvedArgv:o,resolvedContext:a}=kz(t);return ls.from(r,e).runExit(o,a)}async function xz(...t){let{resolvedOptions:e,resolvedCommandClasses:r,resolvedArgv:o,resolvedContext:a}=kz(t);return ls.from(r,e).run(o,a)}function kz(t){let e,r,o,a;switch(typeof process<"u"&&typeof process.argv<"u"&&(o=process.argv.slice(2)),t.length){case 1:r=t[0];break;case 2:t[0]&&t[0].prototype instanceof it||Array.isArray(t[0])?(r=t[0],Array.isArray(t[1])?o=t[1]:a=t[1]):(e=t[0],r=t[1]);break;case 3:Array.isArray(t[2])?(e=t[0],r=t[1],o=t[2]):t[0]&&t[0].prototype instanceof it||Array.isArray(t[0])?(r=t[0],o=t[1],a=t[2]):(e=t[0],r=t[1],a=t[2]);break;default:e=t[0],r=t[1],o=t[2],a=t[3];break}if(typeof o>"u")throw new Error("The argv parameter must be provided when running Clipanion outside of a Node context");return{resolvedOptions:e,resolvedCommandClasses:r,resolvedArgv:o,resolvedContext:a}}function Sz(t){return t()}var Dz,ls,Qz=Et(()=>{eD();cD();QT();vz();Jp();Pz();Dz=Symbol("clipanion/errorCommand");ls=class{constructor({binaryLabel:e,binaryName:r="...",binaryVersion:o,enableCapture:a=!1,enableColors:n}={}){this.registrations=new Map,this.builder=new wy({binaryName:r}),this.binaryLabel=e,this.binaryName=r,this.binaryVersion=o,this.enableCapture=a,this.enableColors=n}static from(e,r={}){let o=new ls(r),a=Array.isArray(e)?e:[e];for(let n of a)o.register(n);return o}register(e){var r;let o=new Map,a=new e;for(let p in a){let h=a[p];typeof h=="object"&&h!==null&&h[it.isOption]&&o.set(p,h)}let n=this.builder.command(),u=n.cliIndex,A=(r=e.paths)!==null&&r!==void 0?r:a.paths;if(typeof A<"u")for(let p of A)n.addPath(p);this.registrations.set(e,{specs:o,builder:n,index:u});for(let[p,{definition:h}]of o.entries())h(n,p);n.setContext({commandClass:e})}process(e,r){let{input:o,context:a,partial:n}=typeof e=="object"&&Array.isArray(e)?{input:e,context:r}:e,{contexts:u,process:A}=this.builder.compile(),p=A(o,{partial:n}),h={...ls.defaultContext,...a};switch(p.selectedIndex){case nd:{let E=Iy.from(p,u);return E.context=h,E.tokens=p.tokens,E}default:{let{commandClass:E}=u[p.selectedIndex],I=this.registrations.get(E);if(typeof I>"u")throw new Error("Assertion failed: Expected the command class to have been registered.");let v=new E;v.context=h,v.tokens=p.tokens,v.path=p.path;try{for(let[x,{transformer:C}]of I.specs.entries())v[x]=C(I.builder,x,p,h);return v}catch(x){throw x[Dz]=v,x}}break}}async run(e,r){var o,a;let n,u={...ls.defaultContext,...r},A=(o=this.enableColors)!==null&&o!==void 0?o:u.colorDepth>1;if(!Array.isArray(e))n=e;else try{n=this.process(e,u)}catch(E){return u.stdout.write(this.error(E,{colored:A})),1}if(n.help)return u.stdout.write(this.usage(n,{colored:A,detailed:!0})),0;n.context=u,n.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableCapture:this.enableCapture,enableColors:this.enableColors,definitions:()=>this.definitions(),definition:E=>this.definition(E),error:(E,I)=>this.error(E,I),format:E=>this.format(E),process:(E,I)=>this.process(E,{...u,...I}),run:(E,I)=>this.run(E,{...u,...I}),usage:(E,I)=>this.usage(E,I)};let p=this.enableCapture&&(a=Bz(u))!==null&&a!==void 0?a:Sz,h;try{h=await p(()=>n.validateAndExecute().catch(E=>n.catch(E).then(()=>0)))}catch(E){return u.stdout.write(this.error(E,{colored:A,command:n})),1}return h}async runExit(e,r){process.exitCode=await this.run(e,r)}definition(e,{colored:r=!1}={}){if(!e.usage)return null;let{usage:o}=this.getUsageByRegistration(e,{detailed:!1}),{usage:a,options:n}=this.getUsageByRegistration(e,{detailed:!0,inlineOptions:!1}),u=typeof e.usage.category<"u"?vo(e.usage.category,{format:this.format(r),paragraphs:!1}):void 0,A=typeof e.usage.description<"u"?vo(e.usage.description,{format:this.format(r),paragraphs:!1}):void 0,p=typeof e.usage.details<"u"?vo(e.usage.details,{format:this.format(r),paragraphs:!0}):void 0,h=typeof e.usage.examples<"u"?e.usage.examples.map(([E,I])=>[vo(E,{format:this.format(r),paragraphs:!1}),I.replace(/\$0/g,this.binaryName)]):void 0;return{path:o,usage:a,category:u,description:A,details:p,examples:h,options:n}}definitions({colored:e=!1}={}){let r=[];for(let o of this.registrations.keys()){let a=this.definition(o,{colored:e});!a||r.push(a)}return r}usage(e=null,{colored:r,detailed:o=!1,prefix:a="$ "}={}){var n;if(e===null){for(let p of this.registrations.keys()){let h=p.paths,E=typeof p.usage<"u";if(!h||h.length===0||h.length===1&&h[0].length===0||((n=h?.some(x=>x.length===0))!==null&&n!==void 0?n:!1))if(e){e=null;break}else e=p;else if(E){e=null;continue}}e&&(o=!0)}let u=e!==null&&e instanceof it?e.constructor:e,A="";if(u)if(o){let{description:p="",details:h="",examples:E=[]}=u.usage||{};p!==""&&(A+=vo(p,{format:this.format(r),paragraphs:!1}).replace(/^./,x=>x.toUpperCase()),A+=` +`),(h!==""||E.length>0)&&(A+=`${this.format(r).header("Usage")} +`,A+=` +`);let{usage:I,options:v}=this.getUsageByRegistration(u,{inlineOptions:!1});if(A+=`${this.format(r).bold(a)}${I} +`,v.length>0){A+=` +`,A+=`${this.format(r).header("Options")} +`;let x=v.reduce((C,F)=>Math.max(C,F.definition.length),0);A+=` +`;for(let{definition:C,description:F}of v)A+=` ${this.format(r).bold(C.padEnd(x))} ${vo(F,{format:this.format(r),paragraphs:!1})}`}if(h!==""&&(A+=` +`,A+=`${this.format(r).header("Details")} +`,A+=` +`,A+=vo(h,{format:this.format(r),paragraphs:!0})),E.length>0){A+=` +`,A+=`${this.format(r).header("Examples")} +`;for(let[x,C]of E)A+=` +`,A+=vo(x,{format:this.format(r),paragraphs:!1}),A+=`${C.replace(/^/m,` ${this.format(r).bold(a)}`).replace(/\$0/g,this.binaryName)} +`}}else{let{usage:p}=this.getUsageByRegistration(u);A+=`${this.format(r).bold(a)}${p} +`}else{let p=new Map;for(let[v,{index:x}]of this.registrations.entries()){if(typeof v.usage>"u")continue;let C=typeof v.usage.category<"u"?vo(v.usage.category,{format:this.format(r),paragraphs:!1}):null,F=p.get(C);typeof F>"u"&&p.set(C,F=[]);let{usage:N}=this.getUsageByIndex(x);F.push({commandClass:v,usage:N})}let h=Array.from(p.keys()).sort((v,x)=>v===null?-1:x===null?1:v.localeCompare(x,"en",{usage:"sort",caseFirst:"upper"})),E=typeof this.binaryLabel<"u",I=typeof this.binaryVersion<"u";E||I?(E&&I?A+=`${this.format(r).header(`${this.binaryLabel} - ${this.binaryVersion}`)} + +`:E?A+=`${this.format(r).header(`${this.binaryLabel}`)} +`:A+=`${this.format(r).header(`${this.binaryVersion}`)} +`,A+=` ${this.format(r).bold(a)}${this.binaryName} +`):A+=`${this.format(r).bold(a)}${this.binaryName} +`;for(let v of h){let x=p.get(v).slice().sort((F,N)=>F.usage.localeCompare(N.usage,"en",{usage:"sort",caseFirst:"upper"})),C=v!==null?v.trim():"General commands";A+=` +`,A+=`${this.format(r).header(`${C}`)} +`;for(let{commandClass:F,usage:N}of x){let U=F.usage.description||"undocumented";A+=` +`,A+=` ${this.format(r).bold(N)} +`,A+=` ${vo(U,{format:this.format(r),paragraphs:!1})}`}}A+=` +`,A+=vo("You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.",{format:this.format(r),paragraphs:!0})}return A}error(e,r){var o,{colored:a,command:n=(o=e[Dz])!==null&&o!==void 0?o:null}=r===void 0?{}:r;(!e||typeof e!="object"||!("stack"in e))&&(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let u="",A=e.name.replace(/([a-z])([A-Z])/g,"$1 $2");A==="Error"&&(A="Internal Error"),u+=`${this.format(a).error(A)}: ${e.message} +`;let p=e.clipanion;return typeof p<"u"?p.type==="usage"&&(u+=` +`,u+=this.usage(n)):e.stack&&(u+=`${e.stack.replace(/^.*\n/,"")} +`),u}format(e){var r;return((r=e??this.enableColors)!==null&&r!==void 0?r:ls.defaultContext.colorDepth>1)?uz:Az}getUsageByRegistration(e,r){let o=this.registrations.get(e);if(typeof o>"u")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(o.index,r)}getUsageByIndex(e,r){return this.builder.getBuilderByIndex(e).usage(r)}};ls.defaultContext={env:process.env,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,colorDepth:Iz()}});var lI,Rz=Et(()=>{Jp();lI=class extends it{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)} +`)}};lI.paths=[["--clipanion=definitions"]]});var cI,Fz=Et(()=>{Jp();cI=class extends it{async execute(){this.context.stdout.write(this.cli.usage())}};cI.paths=[["-h"],["--help"]]});function AD(t={}){return Wo({definition(e,r){var o;e.addProxy({name:(o=t.name)!==null&&o!==void 0?o:r,required:t.required})},transformer(e,r,o){return o.positionals.map(({value:a})=>a)}})}var qT=Et(()=>{Ef()});var uI,Tz=Et(()=>{Jp();qT();uI=class extends it{constructor(){super(...arguments),this.args=AD()}async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.process(this.args).tokens,null,2)} +`)}};uI.paths=[["--clipanion=tokens"]]});var AI,Lz=Et(()=>{Jp();AI=class extends it{async execute(){var e;this.context.stdout.write(`${(e=this.cli.binaryVersion)!==null&&e!==void 0?e:""} +`)}};AI.paths=[["-v"],["--version"]]});var GT={};zt(GT,{DefinitionsCommand:()=>lI,HelpCommand:()=>cI,TokensCommand:()=>uI,VersionCommand:()=>AI});var Nz=Et(()=>{Rz();Fz();Tz();Lz()});function Oz(t,e,r){let[o,a]=ju(e,r??{}),{arity:n=1}=a,u=t.split(","),A=new Set(u);return Wo({definition(p){p.addOption({names:u,arity:n,hidden:a?.hidden,description:a?.description,required:a.required})},transformer(p,h,E){let I,v=typeof o<"u"?[...o]:void 0;for(let{name:x,value:C}of E.options)!A.has(x)||(I=x,v=v??[],v.push(C));return typeof v<"u"?id(I??h,v,a.validator):v}})}var Mz=Et(()=>{Ef()});function Uz(t,e,r){let[o,a]=ju(e,r??{}),n=t.split(","),u=new Set(n);return Wo({definition(A){A.addOption({names:n,allowBinding:!1,arity:0,hidden:a.hidden,description:a.description,required:a.required})},transformer(A,p,h){let E=o;for(let{name:I,value:v}of h.options)!u.has(I)||(E=v);return E}})}var _z=Et(()=>{Ef()});function Hz(t,e,r){let[o,a]=ju(e,r??{}),n=t.split(","),u=new Set(n);return Wo({definition(A){A.addOption({names:n,allowBinding:!1,arity:0,hidden:a.hidden,description:a.description,required:a.required})},transformer(A,p,h){let E=o;for(let{name:I,value:v}of h.options)!u.has(I)||(E??(E=0),v?E+=1:E=0);return E}})}var qz=Et(()=>{Ef()});function Gz(t={}){return Wo({definition(e,r){var o;e.addRest({name:(o=t.name)!==null&&o!==void 0?o:r,required:t.required})},transformer(e,r,o){let a=u=>{let A=o.positionals[u];return A.extra===tl||A.extra===!1&&uu)}})}var jz=Et(()=>{cD();Ef()});function Zqe(t,e,r){let[o,a]=ju(e,r??{}),{arity:n=1}=a,u=t.split(","),A=new Set(u);return Wo({definition(p){p.addOption({names:u,arity:a.tolerateBoolean?0:n,hidden:a.hidden,description:a.description,required:a.required})},transformer(p,h,E,I){let v,x=o;typeof a.env<"u"&&I.env[a.env]&&(v=a.env,x=I.env[a.env]);for(let{name:C,value:F}of E.options)!A.has(C)||(v=C,x=F);return typeof x=="string"?id(v??h,x,a.validator):x}})}function $qe(t={}){let{required:e=!0}=t;return Wo({definition(r,o){var a;r.addPositional({name:(a=t.name)!==null&&a!==void 0?a:o,required:t.required})},transformer(r,o,a){var n;for(let u=0;u{cD();Ef()});var ge={};zt(ge,{Array:()=>Oz,Boolean:()=>Uz,Counter:()=>Hz,Proxy:()=>AD,Rest:()=>Gz,String:()=>Yz,applyValidator:()=>id,cleanValidationError:()=>nD,formatError:()=>rI,isOptionSymbol:()=>tI,makeCommandOption:()=>Wo,rerouteArguments:()=>ju});var Kz=Et(()=>{Ef();qT();Mz();_z();qz();jz();Wz()});var fI={};zt(fI,{Builtins:()=>GT,Cli:()=>ls,Command:()=>it,Option:()=>ge,UsageError:()=>st,formatMarkdownish:()=>vo,run:()=>xz,runExit:()=>bz});var qt=Et(()=>{rD();QT();Jp();Qz();Nz();Kz()});var zz=_((kkt,eGe)=>{eGe.exports={name:"dotenv",version:"16.3.1",description:"Loads environment variables from .env file",main:"lib/main.js",types:"lib/main.d.ts",exports:{".":{types:"./lib/main.d.ts",require:"./lib/main.js",default:"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},scripts:{"dts-check":"tsc --project tests/types/tsconfig.json",lint:"standard","lint-readme":"standard-markdown",pretest:"npm run lint && npm run dts-check",test:"tap tests/*.js --100 -Rspec",prerelease:"npm test",release:"standard-version"},repository:{type:"git",url:"git://github.com/motdotla/dotenv.git"},funding:"https://github.com/motdotla/dotenv?sponsor=1",keywords:["dotenv","env",".env","environment","variables","config","settings"],readmeFilename:"README.md",license:"BSD-2-Clause",devDependencies:{"@definitelytyped/dtslint":"^0.0.133","@types/node":"^18.11.3",decache:"^4.6.1",sinon:"^14.0.1",standard:"^17.0.0","standard-markdown":"^7.1.0","standard-version":"^9.5.0",tap:"^16.3.0",tar:"^6.1.11",typescript:"^4.8.4"},engines:{node:">=12"},browser:{fs:!1}}});var Zz=_((Qkt,Cf)=>{var Jz=ve("fs"),YT=ve("path"),tGe=ve("os"),rGe=ve("crypto"),nGe=zz(),WT=nGe.version,iGe=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function sGe(t){let e={},r=t.toString();r=r.replace(/\r\n?/mg,` +`);let o;for(;(o=iGe.exec(r))!=null;){let a=o[1],n=o[2]||"";n=n.trim();let u=n[0];n=n.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),u==='"'&&(n=n.replace(/\\n/g,` +`),n=n.replace(/\\r/g,"\r")),e[a]=n}return e}function oGe(t){let e=Xz(t),r=ks.configDotenv({path:e});if(!r.parsed)throw new Error(`MISSING_DATA: Cannot parse ${e} for an unknown reason`);let o=Vz(t).split(","),a=o.length,n;for(let u=0;u=a)throw A}return ks.parse(n)}function aGe(t){console.log(`[dotenv@${WT}][INFO] ${t}`)}function lGe(t){console.log(`[dotenv@${WT}][WARN] ${t}`)}function jT(t){console.log(`[dotenv@${WT}][DEBUG] ${t}`)}function Vz(t){return t&&t.DOTENV_KEY&&t.DOTENV_KEY.length>0?t.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function cGe(t,e){let r;try{r=new URL(e)}catch(A){throw A.code==="ERR_INVALID_URL"?new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenv.org/vault/.env.vault?environment=development"):A}let o=r.password;if(!o)throw new Error("INVALID_DOTENV_KEY: Missing key part");let a=r.searchParams.get("environment");if(!a)throw new Error("INVALID_DOTENV_KEY: Missing environment part");let n=`DOTENV_VAULT_${a.toUpperCase()}`,u=t.parsed[n];if(!u)throw new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${n} in your .env.vault file.`);return{ciphertext:u,key:o}}function Xz(t){let e=YT.resolve(process.cwd(),".env");return t&&t.path&&t.path.length>0&&(e=t.path),e.endsWith(".vault")?e:`${e}.vault`}function uGe(t){return t[0]==="~"?YT.join(tGe.homedir(),t.slice(1)):t}function AGe(t){aGe("Loading env from encrypted .env.vault");let e=ks._parseVault(t),r=process.env;return t&&t.processEnv!=null&&(r=t.processEnv),ks.populate(r,e,t),{parsed:e}}function fGe(t){let e=YT.resolve(process.cwd(),".env"),r="utf8",o=Boolean(t&&t.debug);t&&(t.path!=null&&(e=uGe(t.path)),t.encoding!=null&&(r=t.encoding));try{let a=ks.parse(Jz.readFileSync(e,{encoding:r})),n=process.env;return t&&t.processEnv!=null&&(n=t.processEnv),ks.populate(n,a,t),{parsed:a}}catch(a){return o&&jT(`Failed to load ${e} ${a.message}`),{error:a}}}function pGe(t){let e=Xz(t);return Vz(t).length===0?ks.configDotenv(t):Jz.existsSync(e)?ks._configVault(t):(lGe(`You set DOTENV_KEY but you are missing a .env.vault file at ${e}. Did you forget to build it?`),ks.configDotenv(t))}function hGe(t,e){let r=Buffer.from(e.slice(-64),"hex"),o=Buffer.from(t,"base64"),a=o.slice(0,12),n=o.slice(-16);o=o.slice(12,-16);try{let u=rGe.createDecipheriv("aes-256-gcm",r,a);return u.setAuthTag(n),`${u.update(o)}${u.final()}`}catch(u){let A=u instanceof RangeError,p=u.message==="Invalid key length",h=u.message==="Unsupported state or unable to authenticate data";if(A||p){let E="INVALID_DOTENV_KEY: It must be 64 characters long (or more)";throw new Error(E)}else if(h){let E="DECRYPTION_FAILED: Please check your DOTENV_KEY";throw new Error(E)}else throw console.error("Error: ",u.code),console.error("Error: ",u.message),u}}function gGe(t,e,r={}){let o=Boolean(r&&r.debug),a=Boolean(r&&r.override);if(typeof e!="object")throw new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");for(let n of Object.keys(e))Object.prototype.hasOwnProperty.call(t,n)?(a===!0&&(t[n]=e[n]),o&&jT(a===!0?`"${n}" is already defined and WAS overwritten`:`"${n}" is already defined and was NOT overwritten`)):t[n]=e[n]}var ks={configDotenv:fGe,_configVault:AGe,_parseVault:oGe,config:pGe,decrypt:hGe,parse:sGe,populate:gGe};Cf.exports.configDotenv=ks.configDotenv;Cf.exports._configVault=ks._configVault;Cf.exports._parseVault=ks._parseVault;Cf.exports.config=ks.config;Cf.exports.decrypt=ks.decrypt;Cf.exports.parse=ks.parse;Cf.exports.populate=ks.populate;Cf.exports=ks});var eJ=_((Rkt,$z)=>{"use strict";$z.exports=(t,...e)=>new Promise(r=>{r(t(...e))})});var sd=_((Fkt,KT)=>{"use strict";var dGe=eJ(),tJ=t=>{if(t<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=[],r=0,o=()=>{r--,e.length>0&&e.shift()()},a=(A,p,...h)=>{r++;let E=dGe(A,...h);p(E),E.then(o,o)},n=(A,p,...h)=>{rnew Promise(h=>n(A,h,...p));return Object.defineProperties(u,{activeCount:{get:()=>r},pendingCount:{get:()=>e.length}}),u};KT.exports=tJ;KT.exports.default=tJ});function Ku(t){return`YN${t.toString(10).padStart(4,"0")}`}function fD(t){let e=Number(t.slice(2));if(typeof wr[e]>"u")throw new Error(`Unknown message name: "${t}"`);return e}var wr,pD=Et(()=>{wr=(Oe=>(Oe[Oe.UNNAMED=0]="UNNAMED",Oe[Oe.EXCEPTION=1]="EXCEPTION",Oe[Oe.MISSING_PEER_DEPENDENCY=2]="MISSING_PEER_DEPENDENCY",Oe[Oe.CYCLIC_DEPENDENCIES=3]="CYCLIC_DEPENDENCIES",Oe[Oe.DISABLED_BUILD_SCRIPTS=4]="DISABLED_BUILD_SCRIPTS",Oe[Oe.BUILD_DISABLED=5]="BUILD_DISABLED",Oe[Oe.SOFT_LINK_BUILD=6]="SOFT_LINK_BUILD",Oe[Oe.MUST_BUILD=7]="MUST_BUILD",Oe[Oe.MUST_REBUILD=8]="MUST_REBUILD",Oe[Oe.BUILD_FAILED=9]="BUILD_FAILED",Oe[Oe.RESOLVER_NOT_FOUND=10]="RESOLVER_NOT_FOUND",Oe[Oe.FETCHER_NOT_FOUND=11]="FETCHER_NOT_FOUND",Oe[Oe.LINKER_NOT_FOUND=12]="LINKER_NOT_FOUND",Oe[Oe.FETCH_NOT_CACHED=13]="FETCH_NOT_CACHED",Oe[Oe.YARN_IMPORT_FAILED=14]="YARN_IMPORT_FAILED",Oe[Oe.REMOTE_INVALID=15]="REMOTE_INVALID",Oe[Oe.REMOTE_NOT_FOUND=16]="REMOTE_NOT_FOUND",Oe[Oe.RESOLUTION_PACK=17]="RESOLUTION_PACK",Oe[Oe.CACHE_CHECKSUM_MISMATCH=18]="CACHE_CHECKSUM_MISMATCH",Oe[Oe.UNUSED_CACHE_ENTRY=19]="UNUSED_CACHE_ENTRY",Oe[Oe.MISSING_LOCKFILE_ENTRY=20]="MISSING_LOCKFILE_ENTRY",Oe[Oe.WORKSPACE_NOT_FOUND=21]="WORKSPACE_NOT_FOUND",Oe[Oe.TOO_MANY_MATCHING_WORKSPACES=22]="TOO_MANY_MATCHING_WORKSPACES",Oe[Oe.CONSTRAINTS_MISSING_DEPENDENCY=23]="CONSTRAINTS_MISSING_DEPENDENCY",Oe[Oe.CONSTRAINTS_INCOMPATIBLE_DEPENDENCY=24]="CONSTRAINTS_INCOMPATIBLE_DEPENDENCY",Oe[Oe.CONSTRAINTS_EXTRANEOUS_DEPENDENCY=25]="CONSTRAINTS_EXTRANEOUS_DEPENDENCY",Oe[Oe.CONSTRAINTS_INVALID_DEPENDENCY=26]="CONSTRAINTS_INVALID_DEPENDENCY",Oe[Oe.CANT_SUGGEST_RESOLUTIONS=27]="CANT_SUGGEST_RESOLUTIONS",Oe[Oe.FROZEN_LOCKFILE_EXCEPTION=28]="FROZEN_LOCKFILE_EXCEPTION",Oe[Oe.CROSS_DRIVE_VIRTUAL_LOCAL=29]="CROSS_DRIVE_VIRTUAL_LOCAL",Oe[Oe.FETCH_FAILED=30]="FETCH_FAILED",Oe[Oe.DANGEROUS_NODE_MODULES=31]="DANGEROUS_NODE_MODULES",Oe[Oe.NODE_GYP_INJECTED=32]="NODE_GYP_INJECTED",Oe[Oe.AUTHENTICATION_NOT_FOUND=33]="AUTHENTICATION_NOT_FOUND",Oe[Oe.INVALID_CONFIGURATION_KEY=34]="INVALID_CONFIGURATION_KEY",Oe[Oe.NETWORK_ERROR=35]="NETWORK_ERROR",Oe[Oe.LIFECYCLE_SCRIPT=36]="LIFECYCLE_SCRIPT",Oe[Oe.CONSTRAINTS_MISSING_FIELD=37]="CONSTRAINTS_MISSING_FIELD",Oe[Oe.CONSTRAINTS_INCOMPATIBLE_FIELD=38]="CONSTRAINTS_INCOMPATIBLE_FIELD",Oe[Oe.CONSTRAINTS_EXTRANEOUS_FIELD=39]="CONSTRAINTS_EXTRANEOUS_FIELD",Oe[Oe.CONSTRAINTS_INVALID_FIELD=40]="CONSTRAINTS_INVALID_FIELD",Oe[Oe.AUTHENTICATION_INVALID=41]="AUTHENTICATION_INVALID",Oe[Oe.PROLOG_UNKNOWN_ERROR=42]="PROLOG_UNKNOWN_ERROR",Oe[Oe.PROLOG_SYNTAX_ERROR=43]="PROLOG_SYNTAX_ERROR",Oe[Oe.PROLOG_EXISTENCE_ERROR=44]="PROLOG_EXISTENCE_ERROR",Oe[Oe.STACK_OVERFLOW_RESOLUTION=45]="STACK_OVERFLOW_RESOLUTION",Oe[Oe.AUTOMERGE_FAILED_TO_PARSE=46]="AUTOMERGE_FAILED_TO_PARSE",Oe[Oe.AUTOMERGE_IMMUTABLE=47]="AUTOMERGE_IMMUTABLE",Oe[Oe.AUTOMERGE_SUCCESS=48]="AUTOMERGE_SUCCESS",Oe[Oe.AUTOMERGE_REQUIRED=49]="AUTOMERGE_REQUIRED",Oe[Oe.DEPRECATED_CLI_SETTINGS=50]="DEPRECATED_CLI_SETTINGS",Oe[Oe.PLUGIN_NAME_NOT_FOUND=51]="PLUGIN_NAME_NOT_FOUND",Oe[Oe.INVALID_PLUGIN_REFERENCE=52]="INVALID_PLUGIN_REFERENCE",Oe[Oe.CONSTRAINTS_AMBIGUITY=53]="CONSTRAINTS_AMBIGUITY",Oe[Oe.CACHE_OUTSIDE_PROJECT=54]="CACHE_OUTSIDE_PROJECT",Oe[Oe.IMMUTABLE_INSTALL=55]="IMMUTABLE_INSTALL",Oe[Oe.IMMUTABLE_CACHE=56]="IMMUTABLE_CACHE",Oe[Oe.INVALID_MANIFEST=57]="INVALID_MANIFEST",Oe[Oe.PACKAGE_PREPARATION_FAILED=58]="PACKAGE_PREPARATION_FAILED",Oe[Oe.INVALID_RANGE_PEER_DEPENDENCY=59]="INVALID_RANGE_PEER_DEPENDENCY",Oe[Oe.INCOMPATIBLE_PEER_DEPENDENCY=60]="INCOMPATIBLE_PEER_DEPENDENCY",Oe[Oe.DEPRECATED_PACKAGE=61]="DEPRECATED_PACKAGE",Oe[Oe.INCOMPATIBLE_OS=62]="INCOMPATIBLE_OS",Oe[Oe.INCOMPATIBLE_CPU=63]="INCOMPATIBLE_CPU",Oe[Oe.FROZEN_ARTIFACT_EXCEPTION=64]="FROZEN_ARTIFACT_EXCEPTION",Oe[Oe.TELEMETRY_NOTICE=65]="TELEMETRY_NOTICE",Oe[Oe.PATCH_HUNK_FAILED=66]="PATCH_HUNK_FAILED",Oe[Oe.INVALID_CONFIGURATION_VALUE=67]="INVALID_CONFIGURATION_VALUE",Oe[Oe.UNUSED_PACKAGE_EXTENSION=68]="UNUSED_PACKAGE_EXTENSION",Oe[Oe.REDUNDANT_PACKAGE_EXTENSION=69]="REDUNDANT_PACKAGE_EXTENSION",Oe[Oe.AUTO_NM_SUCCESS=70]="AUTO_NM_SUCCESS",Oe[Oe.NM_CANT_INSTALL_EXTERNAL_SOFT_LINK=71]="NM_CANT_INSTALL_EXTERNAL_SOFT_LINK",Oe[Oe.NM_PRESERVE_SYMLINKS_REQUIRED=72]="NM_PRESERVE_SYMLINKS_REQUIRED",Oe[Oe.UPDATE_LOCKFILE_ONLY_SKIP_LINK=73]="UPDATE_LOCKFILE_ONLY_SKIP_LINK",Oe[Oe.NM_HARDLINKS_MODE_DOWNGRADED=74]="NM_HARDLINKS_MODE_DOWNGRADED",Oe[Oe.PROLOG_INSTANTIATION_ERROR=75]="PROLOG_INSTANTIATION_ERROR",Oe[Oe.INCOMPATIBLE_ARCHITECTURE=76]="INCOMPATIBLE_ARCHITECTURE",Oe[Oe.GHOST_ARCHITECTURE=77]="GHOST_ARCHITECTURE",Oe[Oe.RESOLUTION_MISMATCH=78]="RESOLUTION_MISMATCH",Oe[Oe.PROLOG_LIMIT_EXCEEDED=79]="PROLOG_LIMIT_EXCEEDED",Oe[Oe.NETWORK_DISABLED=80]="NETWORK_DISABLED",Oe[Oe.NETWORK_UNSAFE_HTTP=81]="NETWORK_UNSAFE_HTTP",Oe[Oe.RESOLUTION_FAILED=82]="RESOLUTION_FAILED",Oe[Oe.AUTOMERGE_GIT_ERROR=83]="AUTOMERGE_GIT_ERROR",Oe[Oe.CONSTRAINTS_CHECK_FAILED=84]="CONSTRAINTS_CHECK_FAILED",Oe[Oe.UPDATED_RESOLUTION_RECORD=85]="UPDATED_RESOLUTION_RECORD",Oe[Oe.EXPLAIN_PEER_DEPENDENCIES_CTA=86]="EXPLAIN_PEER_DEPENDENCIES_CTA",Oe[Oe.MIGRATION_SUCCESS=87]="MIGRATION_SUCCESS",Oe[Oe.VERSION_NOTICE=88]="VERSION_NOTICE",Oe[Oe.TIPS_NOTICE=89]="TIPS_NOTICE",Oe[Oe.OFFLINE_MODE_ENABLED=90]="OFFLINE_MODE_ENABLED",Oe))(wr||{})});var pI=_((Lkt,rJ)=>{var mGe="2.0.0",yGe=Number.MAX_SAFE_INTEGER||9007199254740991,EGe=16,CGe=256-6,wGe=["major","premajor","minor","preminor","patch","prepatch","prerelease"];rJ.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:EGe,MAX_SAFE_BUILD_LENGTH:CGe,MAX_SAFE_INTEGER:yGe,RELEASE_TYPES:wGe,SEMVER_SPEC_VERSION:mGe,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var hI=_((Nkt,nJ)=>{var IGe=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};nJ.exports=IGe});var By=_((wf,iJ)=>{var{MAX_SAFE_COMPONENT_LENGTH:zT,MAX_SAFE_BUILD_LENGTH:BGe,MAX_LENGTH:vGe}=pI(),PGe=hI();wf=iJ.exports={};var DGe=wf.re=[],SGe=wf.safeRe=[],$t=wf.src=[],er=wf.t={},bGe=0,JT="[a-zA-Z0-9-]",xGe=[["\\s",1],["\\d",vGe],[JT,BGe]],kGe=t=>{for(let[e,r]of xGe)t=t.split(`${e}*`).join(`${e}{0,${r}}`).split(`${e}+`).join(`${e}{1,${r}}`);return t},jr=(t,e,r)=>{let o=kGe(e),a=bGe++;PGe(t,a,e),er[t]=a,$t[a]=e,DGe[a]=new RegExp(e,r?"g":void 0),SGe[a]=new RegExp(o,r?"g":void 0)};jr("NUMERICIDENTIFIER","0|[1-9]\\d*");jr("NUMERICIDENTIFIERLOOSE","\\d+");jr("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${JT}*`);jr("MAINVERSION",`(${$t[er.NUMERICIDENTIFIER]})\\.(${$t[er.NUMERICIDENTIFIER]})\\.(${$t[er.NUMERICIDENTIFIER]})`);jr("MAINVERSIONLOOSE",`(${$t[er.NUMERICIDENTIFIERLOOSE]})\\.(${$t[er.NUMERICIDENTIFIERLOOSE]})\\.(${$t[er.NUMERICIDENTIFIERLOOSE]})`);jr("PRERELEASEIDENTIFIER",`(?:${$t[er.NUMERICIDENTIFIER]}|${$t[er.NONNUMERICIDENTIFIER]})`);jr("PRERELEASEIDENTIFIERLOOSE",`(?:${$t[er.NUMERICIDENTIFIERLOOSE]}|${$t[er.NONNUMERICIDENTIFIER]})`);jr("PRERELEASE",`(?:-(${$t[er.PRERELEASEIDENTIFIER]}(?:\\.${$t[er.PRERELEASEIDENTIFIER]})*))`);jr("PRERELEASELOOSE",`(?:-?(${$t[er.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${$t[er.PRERELEASEIDENTIFIERLOOSE]})*))`);jr("BUILDIDENTIFIER",`${JT}+`);jr("BUILD",`(?:\\+(${$t[er.BUILDIDENTIFIER]}(?:\\.${$t[er.BUILDIDENTIFIER]})*))`);jr("FULLPLAIN",`v?${$t[er.MAINVERSION]}${$t[er.PRERELEASE]}?${$t[er.BUILD]}?`);jr("FULL",`^${$t[er.FULLPLAIN]}$`);jr("LOOSEPLAIN",`[v=\\s]*${$t[er.MAINVERSIONLOOSE]}${$t[er.PRERELEASELOOSE]}?${$t[er.BUILD]}?`);jr("LOOSE",`^${$t[er.LOOSEPLAIN]}$`);jr("GTLT","((?:<|>)?=?)");jr("XRANGEIDENTIFIERLOOSE",`${$t[er.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);jr("XRANGEIDENTIFIER",`${$t[er.NUMERICIDENTIFIER]}|x|X|\\*`);jr("XRANGEPLAIN",`[v=\\s]*(${$t[er.XRANGEIDENTIFIER]})(?:\\.(${$t[er.XRANGEIDENTIFIER]})(?:\\.(${$t[er.XRANGEIDENTIFIER]})(?:${$t[er.PRERELEASE]})?${$t[er.BUILD]}?)?)?`);jr("XRANGEPLAINLOOSE",`[v=\\s]*(${$t[er.XRANGEIDENTIFIERLOOSE]})(?:\\.(${$t[er.XRANGEIDENTIFIERLOOSE]})(?:\\.(${$t[er.XRANGEIDENTIFIERLOOSE]})(?:${$t[er.PRERELEASELOOSE]})?${$t[er.BUILD]}?)?)?`);jr("XRANGE",`^${$t[er.GTLT]}\\s*${$t[er.XRANGEPLAIN]}$`);jr("XRANGELOOSE",`^${$t[er.GTLT]}\\s*${$t[er.XRANGEPLAINLOOSE]}$`);jr("COERCEPLAIN",`(^|[^\\d])(\\d{1,${zT}})(?:\\.(\\d{1,${zT}}))?(?:\\.(\\d{1,${zT}}))?`);jr("COERCE",`${$t[er.COERCEPLAIN]}(?:$|[^\\d])`);jr("COERCEFULL",$t[er.COERCEPLAIN]+`(?:${$t[er.PRERELEASE]})?(?:${$t[er.BUILD]})?(?:$|[^\\d])`);jr("COERCERTL",$t[er.COERCE],!0);jr("COERCERTLFULL",$t[er.COERCEFULL],!0);jr("LONETILDE","(?:~>?)");jr("TILDETRIM",`(\\s*)${$t[er.LONETILDE]}\\s+`,!0);wf.tildeTrimReplace="$1~";jr("TILDE",`^${$t[er.LONETILDE]}${$t[er.XRANGEPLAIN]}$`);jr("TILDELOOSE",`^${$t[er.LONETILDE]}${$t[er.XRANGEPLAINLOOSE]}$`);jr("LONECARET","(?:\\^)");jr("CARETTRIM",`(\\s*)${$t[er.LONECARET]}\\s+`,!0);wf.caretTrimReplace="$1^";jr("CARET",`^${$t[er.LONECARET]}${$t[er.XRANGEPLAIN]}$`);jr("CARETLOOSE",`^${$t[er.LONECARET]}${$t[er.XRANGEPLAINLOOSE]}$`);jr("COMPARATORLOOSE",`^${$t[er.GTLT]}\\s*(${$t[er.LOOSEPLAIN]})$|^$`);jr("COMPARATOR",`^${$t[er.GTLT]}\\s*(${$t[er.FULLPLAIN]})$|^$`);jr("COMPARATORTRIM",`(\\s*)${$t[er.GTLT]}\\s*(${$t[er.LOOSEPLAIN]}|${$t[er.XRANGEPLAIN]})`,!0);wf.comparatorTrimReplace="$1$2$3";jr("HYPHENRANGE",`^\\s*(${$t[er.XRANGEPLAIN]})\\s+-\\s+(${$t[er.XRANGEPLAIN]})\\s*$`);jr("HYPHENRANGELOOSE",`^\\s*(${$t[er.XRANGEPLAINLOOSE]})\\s+-\\s+(${$t[er.XRANGEPLAINLOOSE]})\\s*$`);jr("STAR","(<|>)?=?\\s*\\*");jr("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");jr("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var hD=_((Okt,sJ)=>{var QGe=Object.freeze({loose:!0}),RGe=Object.freeze({}),FGe=t=>t?typeof t!="object"?QGe:t:RGe;sJ.exports=FGe});var VT=_((Mkt,lJ)=>{var oJ=/^[0-9]+$/,aJ=(t,e)=>{let r=oJ.test(t),o=oJ.test(e);return r&&o&&(t=+t,e=+e),t===e?0:r&&!o?-1:o&&!r?1:taJ(e,t);lJ.exports={compareIdentifiers:aJ,rcompareIdentifiers:TGe}});var Po=_((Ukt,fJ)=>{var gD=hI(),{MAX_LENGTH:cJ,MAX_SAFE_INTEGER:dD}=pI(),{safeRe:uJ,t:AJ}=By(),LGe=hD(),{compareIdentifiers:vy}=VT(),rl=class{constructor(e,r){if(r=LGe(r),e instanceof rl){if(e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>cJ)throw new TypeError(`version is longer than ${cJ} characters`);gD("SemVer",e,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let o=e.trim().match(r.loose?uJ[AJ.LOOSE]:uJ[AJ.FULL]);if(!o)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+o[1],this.minor=+o[2],this.patch=+o[3],this.major>dD||this.major<0)throw new TypeError("Invalid major version");if(this.minor>dD||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>dD||this.patch<0)throw new TypeError("Invalid patch version");o[4]?this.prerelease=o[4].split(".").map(a=>{if(/^[0-9]+$/.test(a)){let n=+a;if(n>=0&&n=0;)typeof this.prerelease[n]=="number"&&(this.prerelease[n]++,n=-2);if(n===-1){if(r===this.prerelease.join(".")&&o===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(a)}}if(r){let n=[r,a];o===!1&&(n=[r]),vy(this.prerelease[0],r)===0?isNaN(this.prerelease[1])&&(this.prerelease=n):this.prerelease=n}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};fJ.exports=rl});var od=_((_kt,hJ)=>{var pJ=Po(),NGe=(t,e,r=!1)=>{if(t instanceof pJ)return t;try{return new pJ(t,e)}catch(o){if(!r)return null;throw o}};hJ.exports=NGe});var dJ=_((Hkt,gJ)=>{var OGe=od(),MGe=(t,e)=>{let r=OGe(t,e);return r?r.version:null};gJ.exports=MGe});var yJ=_((qkt,mJ)=>{var UGe=od(),_Ge=(t,e)=>{let r=UGe(t.trim().replace(/^[=v]+/,""),e);return r?r.version:null};mJ.exports=_Ge});var wJ=_((Gkt,CJ)=>{var EJ=Po(),HGe=(t,e,r,o,a)=>{typeof r=="string"&&(a=o,o=r,r=void 0);try{return new EJ(t instanceof EJ?t.version:t,r).inc(e,o,a).version}catch{return null}};CJ.exports=HGe});var vJ=_((jkt,BJ)=>{var IJ=od(),qGe=(t,e)=>{let r=IJ(t,null,!0),o=IJ(e,null,!0),a=r.compare(o);if(a===0)return null;let n=a>0,u=n?r:o,A=n?o:r,p=!!u.prerelease.length;if(!!A.prerelease.length&&!p)return!A.patch&&!A.minor?"major":u.patch?"patch":u.minor?"minor":"major";let E=p?"pre":"";return r.major!==o.major?E+"major":r.minor!==o.minor?E+"minor":r.patch!==o.patch?E+"patch":"prerelease"};BJ.exports=qGe});var DJ=_((Ykt,PJ)=>{var GGe=Po(),jGe=(t,e)=>new GGe(t,e).major;PJ.exports=jGe});var bJ=_((Wkt,SJ)=>{var YGe=Po(),WGe=(t,e)=>new YGe(t,e).minor;SJ.exports=WGe});var kJ=_((Kkt,xJ)=>{var KGe=Po(),zGe=(t,e)=>new KGe(t,e).patch;xJ.exports=zGe});var RJ=_((zkt,QJ)=>{var JGe=od(),VGe=(t,e)=>{let r=JGe(t,e);return r&&r.prerelease.length?r.prerelease:null};QJ.exports=VGe});var Ol=_((Jkt,TJ)=>{var FJ=Po(),XGe=(t,e,r)=>new FJ(t,r).compare(new FJ(e,r));TJ.exports=XGe});var NJ=_((Vkt,LJ)=>{var ZGe=Ol(),$Ge=(t,e,r)=>ZGe(e,t,r);LJ.exports=$Ge});var MJ=_((Xkt,OJ)=>{var eje=Ol(),tje=(t,e)=>eje(t,e,!0);OJ.exports=tje});var mD=_((Zkt,_J)=>{var UJ=Po(),rje=(t,e,r)=>{let o=new UJ(t,r),a=new UJ(e,r);return o.compare(a)||o.compareBuild(a)};_J.exports=rje});var qJ=_(($kt,HJ)=>{var nje=mD(),ije=(t,e)=>t.sort((r,o)=>nje(r,o,e));HJ.exports=ije});var jJ=_((eQt,GJ)=>{var sje=mD(),oje=(t,e)=>t.sort((r,o)=>sje(o,r,e));GJ.exports=oje});var gI=_((tQt,YJ)=>{var aje=Ol(),lje=(t,e,r)=>aje(t,e,r)>0;YJ.exports=lje});var yD=_((rQt,WJ)=>{var cje=Ol(),uje=(t,e,r)=>cje(t,e,r)<0;WJ.exports=uje});var XT=_((nQt,KJ)=>{var Aje=Ol(),fje=(t,e,r)=>Aje(t,e,r)===0;KJ.exports=fje});var ZT=_((iQt,zJ)=>{var pje=Ol(),hje=(t,e,r)=>pje(t,e,r)!==0;zJ.exports=hje});var ED=_((sQt,JJ)=>{var gje=Ol(),dje=(t,e,r)=>gje(t,e,r)>=0;JJ.exports=dje});var CD=_((oQt,VJ)=>{var mje=Ol(),yje=(t,e,r)=>mje(t,e,r)<=0;VJ.exports=yje});var $T=_((aQt,XJ)=>{var Eje=XT(),Cje=ZT(),wje=gI(),Ije=ED(),Bje=yD(),vje=CD(),Pje=(t,e,r,o)=>{switch(e){case"===":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t===r;case"!==":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t!==r;case"":case"=":case"==":return Eje(t,r,o);case"!=":return Cje(t,r,o);case">":return wje(t,r,o);case">=":return Ije(t,r,o);case"<":return Bje(t,r,o);case"<=":return vje(t,r,o);default:throw new TypeError(`Invalid operator: ${e}`)}};XJ.exports=Pje});var $J=_((lQt,ZJ)=>{var Dje=Po(),Sje=od(),{safeRe:wD,t:ID}=By(),bje=(t,e)=>{if(t instanceof Dje)return t;if(typeof t=="number"&&(t=String(t)),typeof t!="string")return null;e=e||{};let r=null;if(!e.rtl)r=t.match(e.includePrerelease?wD[ID.COERCEFULL]:wD[ID.COERCE]);else{let p=e.includePrerelease?wD[ID.COERCERTLFULL]:wD[ID.COERCERTL],h;for(;(h=p.exec(t))&&(!r||r.index+r[0].length!==t.length);)(!r||h.index+h[0].length!==r.index+r[0].length)&&(r=h),p.lastIndex=h.index+h[1].length+h[2].length;p.lastIndex=-1}if(r===null)return null;let o=r[2],a=r[3]||"0",n=r[4]||"0",u=e.includePrerelease&&r[5]?`-${r[5]}`:"",A=e.includePrerelease&&r[6]?`+${r[6]}`:"";return Sje(`${o}.${a}.${n}${u}${A}`,e)};ZJ.exports=bje});var tV=_((cQt,eV)=>{"use strict";eV.exports=function(t){t.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var BD=_((uQt,rV)=>{"use strict";rV.exports=Cn;Cn.Node=ad;Cn.create=Cn;function Cn(t){var e=this;if(e instanceof Cn||(e=new Cn),e.tail=null,e.head=null,e.length=0,t&&typeof t.forEach=="function")t.forEach(function(a){e.push(a)});else if(arguments.length>0)for(var r=0,o=arguments.length;r1)r=e;else if(this.head)o=this.head.next,r=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var a=0;o!==null;a++)r=t(r,o.value,a),o=o.next;return r};Cn.prototype.reduceReverse=function(t,e){var r,o=this.tail;if(arguments.length>1)r=e;else if(this.tail)o=this.tail.prev,r=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var a=this.length-1;o!==null;a--)r=t(r,o.value,a),o=o.prev;return r};Cn.prototype.toArray=function(){for(var t=new Array(this.length),e=0,r=this.head;r!==null;e++)t[e]=r.value,r=r.next;return t};Cn.prototype.toArrayReverse=function(){for(var t=new Array(this.length),e=0,r=this.tail;r!==null;e++)t[e]=r.value,r=r.prev;return t};Cn.prototype.slice=function(t,e){e=e||this.length,e<0&&(e+=this.length),t=t||0,t<0&&(t+=this.length);var r=new Cn;if(ethis.length&&(e=this.length);for(var o=0,a=this.head;a!==null&&othis.length&&(e=this.length);for(var o=this.length,a=this.tail;a!==null&&o>e;o--)a=a.prev;for(;a!==null&&o>t;o--,a=a.prev)r.push(a.value);return r};Cn.prototype.splice=function(t,e,...r){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);for(var o=0,a=this.head;a!==null&&o{"use strict";var Rje=BD(),ld=Symbol("max"),Bf=Symbol("length"),Py=Symbol("lengthCalculator"),mI=Symbol("allowStale"),cd=Symbol("maxAge"),If=Symbol("dispose"),nV=Symbol("noDisposeOnSet"),Qs=Symbol("lruList"),Uc=Symbol("cache"),sV=Symbol("updateAgeOnGet"),eL=()=>1,rL=class{constructor(e){if(typeof e=="number"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!="number"||e.max<0))throw new TypeError("max must be a non-negative number");let r=this[ld]=e.max||1/0,o=e.length||eL;if(this[Py]=typeof o!="function"?eL:o,this[mI]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[cd]=e.maxAge||0,this[If]=e.dispose,this[nV]=e.noDisposeOnSet||!1,this[sV]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!="number"||e<0)throw new TypeError("max must be a non-negative number");this[ld]=e||1/0,dI(this)}get max(){return this[ld]}set allowStale(e){this[mI]=!!e}get allowStale(){return this[mI]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[cd]=e,dI(this)}get maxAge(){return this[cd]}set lengthCalculator(e){typeof e!="function"&&(e=eL),e!==this[Py]&&(this[Py]=e,this[Bf]=0,this[Qs].forEach(r=>{r.length=this[Py](r.value,r.key),this[Bf]+=r.length})),dI(this)}get lengthCalculator(){return this[Py]}get length(){return this[Bf]}get itemCount(){return this[Qs].length}rforEach(e,r){r=r||this;for(let o=this[Qs].tail;o!==null;){let a=o.prev;iV(this,e,o,r),o=a}}forEach(e,r){r=r||this;for(let o=this[Qs].head;o!==null;){let a=o.next;iV(this,e,o,r),o=a}}keys(){return this[Qs].toArray().map(e=>e.key)}values(){return this[Qs].toArray().map(e=>e.value)}reset(){this[If]&&this[Qs]&&this[Qs].length&&this[Qs].forEach(e=>this[If](e.key,e.value)),this[Uc]=new Map,this[Qs]=new Rje,this[Bf]=0}dump(){return this[Qs].map(e=>vD(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[Qs]}set(e,r,o){if(o=o||this[cd],o&&typeof o!="number")throw new TypeError("maxAge must be a number");let a=o?Date.now():0,n=this[Py](r,e);if(this[Uc].has(e)){if(n>this[ld])return Dy(this,this[Uc].get(e)),!1;let p=this[Uc].get(e).value;return this[If]&&(this[nV]||this[If](e,p.value)),p.now=a,p.maxAge=o,p.value=r,this[Bf]+=n-p.length,p.length=n,this.get(e),dI(this),!0}let u=new nL(e,r,n,a,o);return u.length>this[ld]?(this[If]&&this[If](e,r),!1):(this[Bf]+=u.length,this[Qs].unshift(u),this[Uc].set(e,this[Qs].head),dI(this),!0)}has(e){if(!this[Uc].has(e))return!1;let r=this[Uc].get(e).value;return!vD(this,r)}get(e){return tL(this,e,!0)}peek(e){return tL(this,e,!1)}pop(){let e=this[Qs].tail;return e?(Dy(this,e),e.value):null}del(e){Dy(this,this[Uc].get(e))}load(e){this.reset();let r=Date.now();for(let o=e.length-1;o>=0;o--){let a=e[o],n=a.e||0;if(n===0)this.set(a.k,a.v);else{let u=n-r;u>0&&this.set(a.k,a.v,u)}}}prune(){this[Uc].forEach((e,r)=>tL(this,r,!1))}},tL=(t,e,r)=>{let o=t[Uc].get(e);if(o){let a=o.value;if(vD(t,a)){if(Dy(t,o),!t[mI])return}else r&&(t[sV]&&(o.value.now=Date.now()),t[Qs].unshiftNode(o));return a.value}},vD=(t,e)=>{if(!e||!e.maxAge&&!t[cd])return!1;let r=Date.now()-e.now;return e.maxAge?r>e.maxAge:t[cd]&&r>t[cd]},dI=t=>{if(t[Bf]>t[ld])for(let e=t[Qs].tail;t[Bf]>t[ld]&&e!==null;){let r=e.prev;Dy(t,e),e=r}},Dy=(t,e)=>{if(e){let r=e.value;t[If]&&t[If](r.key,r.value),t[Bf]-=r.length,t[Uc].delete(r.key),t[Qs].removeNode(e)}},nL=class{constructor(e,r,o,a,n){this.key=e,this.value=r,this.length=o,this.now=a,this.maxAge=n||0}},iV=(t,e,r,o)=>{let a=r.value;vD(t,a)&&(Dy(t,r),t[mI]||(a=void 0)),a&&e.call(o,a.value,a.key,t)};oV.exports=rL});var Ml=_((fQt,AV)=>{var ud=class{constructor(e,r){if(r=Tje(r),e instanceof ud)return e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease?e:new ud(e.raw,r);if(e instanceof iL)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=e.trim().split(/\s+/).join(" "),this.set=this.raw.split("||").map(o=>this.parseRange(o.trim())).filter(o=>o.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let o=this.set[0];if(this.set=this.set.filter(a=>!cV(a[0])),this.set.length===0)this.set=[o];else if(this.set.length>1){for(let a of this.set)if(a.length===1&&Hje(a[0])){this.set=[a];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){let o=((this.options.includePrerelease&&Uje)|(this.options.loose&&_je))+":"+e,a=lV.get(o);if(a)return a;let n=this.options.loose,u=n?Pa[Jo.HYPHENRANGELOOSE]:Pa[Jo.HYPHENRANGE];e=e.replace(u,Xje(this.options.includePrerelease)),ci("hyphen replace",e),e=e.replace(Pa[Jo.COMPARATORTRIM],Nje),ci("comparator trim",e),e=e.replace(Pa[Jo.TILDETRIM],Oje),ci("tilde trim",e),e=e.replace(Pa[Jo.CARETTRIM],Mje),ci("caret trim",e);let A=e.split(" ").map(I=>qje(I,this.options)).join(" ").split(/\s+/).map(I=>Vje(I,this.options));n&&(A=A.filter(I=>(ci("loose invalid filter",I,this.options),!!I.match(Pa[Jo.COMPARATORLOOSE])))),ci("range list",A);let p=new Map,h=A.map(I=>new iL(I,this.options));for(let I of h){if(cV(I))return[I];p.set(I.value,I)}p.size>1&&p.has("")&&p.delete("");let E=[...p.values()];return lV.set(o,E),E}intersects(e,r){if(!(e instanceof ud))throw new TypeError("a Range is required");return this.set.some(o=>uV(o,r)&&e.set.some(a=>uV(a,r)&&o.every(n=>a.every(u=>n.intersects(u,r)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new Lje(e,this.options)}catch{return!1}for(let r=0;rt.value==="<0.0.0-0",Hje=t=>t.value==="",uV=(t,e)=>{let r=!0,o=t.slice(),a=o.pop();for(;r&&o.length;)r=o.every(n=>a.intersects(n,e)),a=o.pop();return r},qje=(t,e)=>(ci("comp",t,e),t=Yje(t,e),ci("caret",t),t=Gje(t,e),ci("tildes",t),t=Kje(t,e),ci("xrange",t),t=Jje(t,e),ci("stars",t),t),Vo=t=>!t||t.toLowerCase()==="x"||t==="*",Gje=(t,e)=>t.trim().split(/\s+/).map(r=>jje(r,e)).join(" "),jje=(t,e)=>{let r=e.loose?Pa[Jo.TILDELOOSE]:Pa[Jo.TILDE];return t.replace(r,(o,a,n,u,A)=>{ci("tilde",t,o,a,n,u,A);let p;return Vo(a)?p="":Vo(n)?p=`>=${a}.0.0 <${+a+1}.0.0-0`:Vo(u)?p=`>=${a}.${n}.0 <${a}.${+n+1}.0-0`:A?(ci("replaceTilde pr",A),p=`>=${a}.${n}.${u}-${A} <${a}.${+n+1}.0-0`):p=`>=${a}.${n}.${u} <${a}.${+n+1}.0-0`,ci("tilde return",p),p})},Yje=(t,e)=>t.trim().split(/\s+/).map(r=>Wje(r,e)).join(" "),Wje=(t,e)=>{ci("caret",t,e);let r=e.loose?Pa[Jo.CARETLOOSE]:Pa[Jo.CARET],o=e.includePrerelease?"-0":"";return t.replace(r,(a,n,u,A,p)=>{ci("caret",t,a,n,u,A,p);let h;return Vo(n)?h="":Vo(u)?h=`>=${n}.0.0${o} <${+n+1}.0.0-0`:Vo(A)?n==="0"?h=`>=${n}.${u}.0${o} <${n}.${+u+1}.0-0`:h=`>=${n}.${u}.0${o} <${+n+1}.0.0-0`:p?(ci("replaceCaret pr",p),n==="0"?u==="0"?h=`>=${n}.${u}.${A}-${p} <${n}.${u}.${+A+1}-0`:h=`>=${n}.${u}.${A}-${p} <${n}.${+u+1}.0-0`:h=`>=${n}.${u}.${A}-${p} <${+n+1}.0.0-0`):(ci("no pr"),n==="0"?u==="0"?h=`>=${n}.${u}.${A}${o} <${n}.${u}.${+A+1}-0`:h=`>=${n}.${u}.${A}${o} <${n}.${+u+1}.0-0`:h=`>=${n}.${u}.${A} <${+n+1}.0.0-0`),ci("caret return",h),h})},Kje=(t,e)=>(ci("replaceXRanges",t,e),t.split(/\s+/).map(r=>zje(r,e)).join(" ")),zje=(t,e)=>{t=t.trim();let r=e.loose?Pa[Jo.XRANGELOOSE]:Pa[Jo.XRANGE];return t.replace(r,(o,a,n,u,A,p)=>{ci("xRange",t,o,a,n,u,A,p);let h=Vo(n),E=h||Vo(u),I=E||Vo(A),v=I;return a==="="&&v&&(a=""),p=e.includePrerelease?"-0":"",h?a===">"||a==="<"?o="<0.0.0-0":o="*":a&&v?(E&&(u=0),A=0,a===">"?(a=">=",E?(n=+n+1,u=0,A=0):(u=+u+1,A=0)):a==="<="&&(a="<",E?n=+n+1:u=+u+1),a==="<"&&(p="-0"),o=`${a+n}.${u}.${A}${p}`):E?o=`>=${n}.0.0${p} <${+n+1}.0.0-0`:I&&(o=`>=${n}.${u}.0${p} <${n}.${+u+1}.0-0`),ci("xRange return",o),o})},Jje=(t,e)=>(ci("replaceStars",t,e),t.trim().replace(Pa[Jo.STAR],"")),Vje=(t,e)=>(ci("replaceGTE0",t,e),t.trim().replace(Pa[e.includePrerelease?Jo.GTE0PRE:Jo.GTE0],"")),Xje=t=>(e,r,o,a,n,u,A,p,h,E,I,v,x)=>(Vo(o)?r="":Vo(a)?r=`>=${o}.0.0${t?"-0":""}`:Vo(n)?r=`>=${o}.${a}.0${t?"-0":""}`:u?r=`>=${r}`:r=`>=${r}${t?"-0":""}`,Vo(h)?p="":Vo(E)?p=`<${+h+1}.0.0-0`:Vo(I)?p=`<${h}.${+E+1}.0-0`:v?p=`<=${h}.${E}.${I}-${v}`:t?p=`<${h}.${E}.${+I+1}-0`:p=`<=${p}`,`${r} ${p}`.trim()),Zje=(t,e,r)=>{for(let o=0;o0){let a=t[o].semver;if(a.major===e.major&&a.minor===e.minor&&a.patch===e.patch)return!0}return!1}return!0}});var yI=_((pQt,mV)=>{var EI=Symbol("SemVer ANY"),Sy=class{static get ANY(){return EI}constructor(e,r){if(r=fV(r),e instanceof Sy){if(e.loose===!!r.loose)return e;e=e.value}e=e.trim().split(/\s+/).join(" "),oL("comparator",e,r),this.options=r,this.loose=!!r.loose,this.parse(e),this.semver===EI?this.value="":this.value=this.operator+this.semver.version,oL("comp",this)}parse(e){let r=this.options.loose?pV[hV.COMPARATORLOOSE]:pV[hV.COMPARATOR],o=e.match(r);if(!o)throw new TypeError(`Invalid comparator: ${e}`);this.operator=o[1]!==void 0?o[1]:"",this.operator==="="&&(this.operator=""),o[2]?this.semver=new gV(o[2],this.options.loose):this.semver=EI}toString(){return this.value}test(e){if(oL("Comparator.test",e,this.options.loose),this.semver===EI||e===EI)return!0;if(typeof e=="string")try{e=new gV(e,this.options)}catch{return!1}return sL(e,this.operator,this.semver,this.options)}intersects(e,r){if(!(e instanceof Sy))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new dV(e.value,r).test(this.value):e.operator===""?e.value===""?!0:new dV(this.value,r).test(e.semver):(r=fV(r),r.includePrerelease&&(this.value==="<0.0.0-0"||e.value==="<0.0.0-0")||!r.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&e.operator.startsWith(">")||this.operator.startsWith("<")&&e.operator.startsWith("<")||this.semver.version===e.semver.version&&this.operator.includes("=")&&e.operator.includes("=")||sL(this.semver,"<",e.semver,r)&&this.operator.startsWith(">")&&e.operator.startsWith("<")||sL(this.semver,">",e.semver,r)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))}};mV.exports=Sy;var fV=hD(),{safeRe:pV,t:hV}=By(),sL=$T(),oL=hI(),gV=Po(),dV=Ml()});var CI=_((hQt,yV)=>{var $je=Ml(),e9e=(t,e,r)=>{try{e=new $je(e,r)}catch{return!1}return e.test(t)};yV.exports=e9e});var CV=_((gQt,EV)=>{var t9e=Ml(),r9e=(t,e)=>new t9e(t,e).set.map(r=>r.map(o=>o.value).join(" ").trim().split(" "));EV.exports=r9e});var IV=_((dQt,wV)=>{var n9e=Po(),i9e=Ml(),s9e=(t,e,r)=>{let o=null,a=null,n=null;try{n=new i9e(e,r)}catch{return null}return t.forEach(u=>{n.test(u)&&(!o||a.compare(u)===-1)&&(o=u,a=new n9e(o,r))}),o};wV.exports=s9e});var vV=_((mQt,BV)=>{var o9e=Po(),a9e=Ml(),l9e=(t,e,r)=>{let o=null,a=null,n=null;try{n=new a9e(e,r)}catch{return null}return t.forEach(u=>{n.test(u)&&(!o||a.compare(u)===1)&&(o=u,a=new o9e(o,r))}),o};BV.exports=l9e});var SV=_((yQt,DV)=>{var aL=Po(),c9e=Ml(),PV=gI(),u9e=(t,e)=>{t=new c9e(t,e);let r=new aL("0.0.0");if(t.test(r)||(r=new aL("0.0.0-0"),t.test(r)))return r;r=null;for(let o=0;o{let A=new aL(u.semver.version);switch(u.operator){case">":A.prerelease.length===0?A.patch++:A.prerelease.push(0),A.raw=A.format();case"":case">=":(!n||PV(A,n))&&(n=A);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${u.operator}`)}}),n&&(!r||PV(r,n))&&(r=n)}return r&&t.test(r)?r:null};DV.exports=u9e});var xV=_((EQt,bV)=>{var A9e=Ml(),f9e=(t,e)=>{try{return new A9e(t,e).range||"*"}catch{return null}};bV.exports=f9e});var PD=_((CQt,FV)=>{var p9e=Po(),RV=yI(),{ANY:h9e}=RV,g9e=Ml(),d9e=CI(),kV=gI(),QV=yD(),m9e=CD(),y9e=ED(),E9e=(t,e,r,o)=>{t=new p9e(t,o),e=new g9e(e,o);let a,n,u,A,p;switch(r){case">":a=kV,n=m9e,u=QV,A=">",p=">=";break;case"<":a=QV,n=y9e,u=kV,A="<",p="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(d9e(t,e,o))return!1;for(let h=0;h{x.semver===h9e&&(x=new RV(">=0.0.0")),I=I||x,v=v||x,a(x.semver,I.semver,o)?I=x:u(x.semver,v.semver,o)&&(v=x)}),I.operator===A||I.operator===p||(!v.operator||v.operator===A)&&n(t,v.semver))return!1;if(v.operator===p&&u(t,v.semver))return!1}return!0};FV.exports=E9e});var LV=_((wQt,TV)=>{var C9e=PD(),w9e=(t,e,r)=>C9e(t,e,">",r);TV.exports=w9e});var OV=_((IQt,NV)=>{var I9e=PD(),B9e=(t,e,r)=>I9e(t,e,"<",r);NV.exports=B9e});var _V=_((BQt,UV)=>{var MV=Ml(),v9e=(t,e,r)=>(t=new MV(t,r),e=new MV(e,r),t.intersects(e,r));UV.exports=v9e});var qV=_((vQt,HV)=>{var P9e=CI(),D9e=Ol();HV.exports=(t,e,r)=>{let o=[],a=null,n=null,u=t.sort((E,I)=>D9e(E,I,r));for(let E of u)P9e(E,e,r)?(n=E,a||(a=E)):(n&&o.push([a,n]),n=null,a=null);a&&o.push([a,null]);let A=[];for(let[E,I]of o)E===I?A.push(E):!I&&E===u[0]?A.push("*"):I?E===u[0]?A.push(`<=${I}`):A.push(`${E} - ${I}`):A.push(`>=${E}`);let p=A.join(" || "),h=typeof e.raw=="string"?e.raw:String(e);return p.length{var GV=Ml(),cL=yI(),{ANY:lL}=cL,wI=CI(),uL=Ol(),S9e=(t,e,r={})=>{if(t===e)return!0;t=new GV(t,r),e=new GV(e,r);let o=!1;e:for(let a of t.set){for(let n of e.set){let u=x9e(a,n,r);if(o=o||u!==null,u)continue e}if(o)return!1}return!0},b9e=[new cL(">=0.0.0-0")],jV=[new cL(">=0.0.0")],x9e=(t,e,r)=>{if(t===e)return!0;if(t.length===1&&t[0].semver===lL){if(e.length===1&&e[0].semver===lL)return!0;r.includePrerelease?t=b9e:t=jV}if(e.length===1&&e[0].semver===lL){if(r.includePrerelease)return!0;e=jV}let o=new Set,a,n;for(let x of t)x.operator===">"||x.operator===">="?a=YV(a,x,r):x.operator==="<"||x.operator==="<="?n=WV(n,x,r):o.add(x.semver);if(o.size>1)return null;let u;if(a&&n){if(u=uL(a.semver,n.semver,r),u>0)return null;if(u===0&&(a.operator!==">="||n.operator!=="<="))return null}for(let x of o){if(a&&!wI(x,String(a),r)||n&&!wI(x,String(n),r))return null;for(let C of e)if(!wI(x,String(C),r))return!1;return!0}let A,p,h,E,I=n&&!r.includePrerelease&&n.semver.prerelease.length?n.semver:!1,v=a&&!r.includePrerelease&&a.semver.prerelease.length?a.semver:!1;I&&I.prerelease.length===1&&n.operator==="<"&&I.prerelease[0]===0&&(I=!1);for(let x of e){if(E=E||x.operator===">"||x.operator===">=",h=h||x.operator==="<"||x.operator==="<=",a){if(v&&x.semver.prerelease&&x.semver.prerelease.length&&x.semver.major===v.major&&x.semver.minor===v.minor&&x.semver.patch===v.patch&&(v=!1),x.operator===">"||x.operator===">="){if(A=YV(a,x,r),A===x&&A!==a)return!1}else if(a.operator===">="&&!wI(a.semver,String(x),r))return!1}if(n){if(I&&x.semver.prerelease&&x.semver.prerelease.length&&x.semver.major===I.major&&x.semver.minor===I.minor&&x.semver.patch===I.patch&&(I=!1),x.operator==="<"||x.operator==="<="){if(p=WV(n,x,r),p===x&&p!==n)return!1}else if(n.operator==="<="&&!wI(n.semver,String(x),r))return!1}if(!x.operator&&(n||a)&&u!==0)return!1}return!(a&&h&&!n&&u!==0||n&&E&&!a&&u!==0||v||I)},YV=(t,e,r)=>{if(!t)return e;let o=uL(t.semver,e.semver,r);return o>0?t:o<0||e.operator===">"&&t.operator===">="?e:t},WV=(t,e,r)=>{if(!t)return e;let o=uL(t.semver,e.semver,r);return o<0?t:o>0||e.operator==="<"&&t.operator==="<="?e:t};KV.exports=S9e});var Vn=_((DQt,XV)=>{var AL=By(),JV=pI(),k9e=Po(),VV=VT(),Q9e=od(),R9e=dJ(),F9e=yJ(),T9e=wJ(),L9e=vJ(),N9e=DJ(),O9e=bJ(),M9e=kJ(),U9e=RJ(),_9e=Ol(),H9e=NJ(),q9e=MJ(),G9e=mD(),j9e=qJ(),Y9e=jJ(),W9e=gI(),K9e=yD(),z9e=XT(),J9e=ZT(),V9e=ED(),X9e=CD(),Z9e=$T(),$9e=$J(),e5e=yI(),t5e=Ml(),r5e=CI(),n5e=CV(),i5e=IV(),s5e=vV(),o5e=SV(),a5e=xV(),l5e=PD(),c5e=LV(),u5e=OV(),A5e=_V(),f5e=qV(),p5e=zV();XV.exports={parse:Q9e,valid:R9e,clean:F9e,inc:T9e,diff:L9e,major:N9e,minor:O9e,patch:M9e,prerelease:U9e,compare:_9e,rcompare:H9e,compareLoose:q9e,compareBuild:G9e,sort:j9e,rsort:Y9e,gt:W9e,lt:K9e,eq:z9e,neq:J9e,gte:V9e,lte:X9e,cmp:Z9e,coerce:$9e,Comparator:e5e,Range:t5e,satisfies:r5e,toComparators:n5e,maxSatisfying:i5e,minSatisfying:s5e,minVersion:o5e,validRange:a5e,outside:l5e,gtr:c5e,ltr:u5e,intersects:A5e,simplifyRange:f5e,subset:p5e,SemVer:k9e,re:AL.re,src:AL.src,tokens:AL.t,SEMVER_SPEC_VERSION:JV.SEMVER_SPEC_VERSION,RELEASE_TYPES:JV.RELEASE_TYPES,compareIdentifiers:VV.compareIdentifiers,rcompareIdentifiers:VV.rcompareIdentifiers}});var $V=_((SQt,ZV)=>{"use strict";function h5e(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function Ad(t,e,r,o){this.message=t,this.expected=e,this.found=r,this.location=o,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Ad)}h5e(Ad,Error);Ad.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var E="",I;for(I=0;I0){for(I=1,v=1;I{switch(Fe[1]){case"|":return be|Fe[3];case"&":return be&Fe[3];case"^":return be^Fe[3]}},$)},v="!",x=Te("!",!1),C=function($){return!$},F="(",N=Te("(",!1),U=")",J=Te(")",!1),te=function($){return $},ae=/^[^ \t\n\r()!|&\^]/,le=Re([" "," ",` +`,"\r","(",")","!","|","&","^"],!0,!1),ce=function($){return e.queryPattern.test($)},we=function($){return e.checkFn($)},de=Se("whitespace"),Be=/^[ \t\n\r]/,Ee=Re([" "," ",` +`,"\r"],!1,!1),g=0,me=0,Ce=[{line:1,column:1}],Ae=0,ne=[],Z=0,xe;if("startRule"in e){if(!(e.startRule in o))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=o[e.startRule]}function Le(){return t.substring(me,g)}function ht(){return Ue(me,g)}function H($,ie){throw ie=ie!==void 0?ie:Ue(me,g),S([Se($)],t.substring(me,g),ie)}function rt($,ie){throw ie=ie!==void 0?ie:Ue(me,g),w($,ie)}function Te($,ie){return{type:"literal",text:$,ignoreCase:ie}}function Re($,ie,be){return{type:"class",parts:$,inverted:ie,ignoreCase:be}}function ke(){return{type:"any"}}function Ye(){return{type:"end"}}function Se($){return{type:"other",description:$}}function et($){var ie=Ce[$],be;if(ie)return ie;for(be=$-1;!Ce[be];)be--;for(ie=Ce[be],ie={line:ie.line,column:ie.column};be<$;)t.charCodeAt(be)===10?(ie.line++,ie.column=1):ie.column++,be++;return Ce[$]=ie,ie}function Ue($,ie){var be=et($),Fe=et(ie);return{start:{offset:$,line:be.line,column:be.column},end:{offset:ie,line:Fe.line,column:Fe.column}}}function b($){gAe&&(Ae=g,ne=[]),ne.push($))}function w($,ie){return new Ad($,null,null,ie)}function S($,ie,be){return new Ad(Ad.buildMessage($,ie),$,ie,be)}function y(){var $,ie,be,Fe,at,dt,Gt,tr;if($=g,ie=R(),ie!==r){for(be=[],Fe=g,at=X(),at!==r?(t.charCodeAt(g)===124?(dt=n,g++):(dt=r,Z===0&&b(u)),dt===r&&(t.charCodeAt(g)===38?(dt=A,g++):(dt=r,Z===0&&b(p)),dt===r&&(t.charCodeAt(g)===94?(dt=h,g++):(dt=r,Z===0&&b(E)))),dt!==r?(Gt=X(),Gt!==r?(tr=R(),tr!==r?(at=[at,dt,Gt,tr],Fe=at):(g=Fe,Fe=r)):(g=Fe,Fe=r)):(g=Fe,Fe=r)):(g=Fe,Fe=r);Fe!==r;)be.push(Fe),Fe=g,at=X(),at!==r?(t.charCodeAt(g)===124?(dt=n,g++):(dt=r,Z===0&&b(u)),dt===r&&(t.charCodeAt(g)===38?(dt=A,g++):(dt=r,Z===0&&b(p)),dt===r&&(t.charCodeAt(g)===94?(dt=h,g++):(dt=r,Z===0&&b(E)))),dt!==r?(Gt=X(),Gt!==r?(tr=R(),tr!==r?(at=[at,dt,Gt,tr],Fe=at):(g=Fe,Fe=r)):(g=Fe,Fe=r)):(g=Fe,Fe=r)):(g=Fe,Fe=r);be!==r?(me=$,ie=I(ie,be),$=ie):(g=$,$=r)}else g=$,$=r;return $}function R(){var $,ie,be,Fe,at,dt;return $=g,t.charCodeAt(g)===33?(ie=v,g++):(ie=r,Z===0&&b(x)),ie!==r?(be=R(),be!==r?(me=$,ie=C(be),$=ie):(g=$,$=r)):(g=$,$=r),$===r&&($=g,t.charCodeAt(g)===40?(ie=F,g++):(ie=r,Z===0&&b(N)),ie!==r?(be=X(),be!==r?(Fe=y(),Fe!==r?(at=X(),at!==r?(t.charCodeAt(g)===41?(dt=U,g++):(dt=r,Z===0&&b(J)),dt!==r?(me=$,ie=te(Fe),$=ie):(g=$,$=r)):(g=$,$=r)):(g=$,$=r)):(g=$,$=r)):(g=$,$=r),$===r&&($=V())),$}function V(){var $,ie,be,Fe,at;if($=g,ie=X(),ie!==r){if(be=g,Fe=[],ae.test(t.charAt(g))?(at=t.charAt(g),g++):(at=r,Z===0&&b(le)),at!==r)for(;at!==r;)Fe.push(at),ae.test(t.charAt(g))?(at=t.charAt(g),g++):(at=r,Z===0&&b(le));else Fe=r;Fe!==r?be=t.substring(be,g):be=Fe,be!==r?(me=g,Fe=ce(be),Fe?Fe=void 0:Fe=r,Fe!==r?(me=$,ie=we(be),$=ie):(g=$,$=r)):(g=$,$=r)}else g=$,$=r;return $}function X(){var $,ie;for(Z++,$=[],Be.test(t.charAt(g))?(ie=t.charAt(g),g++):(ie=r,Z===0&&b(Ee));ie!==r;)$.push(ie),Be.test(t.charAt(g))?(ie=t.charAt(g),g++):(ie=r,Z===0&&b(Ee));return Z--,$===r&&(ie=r,Z===0&&b(de)),$}if(xe=a(),xe!==r&&g===t.length)return xe;throw xe!==r&&g{var{parse:d5e}=$V();DD.makeParser=(t=/[a-z]+/)=>(e,r)=>d5e(e,{queryPattern:t,checkFn:r});DD.parse=DD.makeParser()});var rX=_((xQt,tX)=>{"use strict";tX.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var fL=_((kQt,iX)=>{var II=rX(),nX={};for(let t of Object.keys(II))nX[II[t]]=t;var Ar={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};iX.exports=Ar;for(let t of Object.keys(Ar)){if(!("channels"in Ar[t]))throw new Error("missing channels property: "+t);if(!("labels"in Ar[t]))throw new Error("missing channel labels property: "+t);if(Ar[t].labels.length!==Ar[t].channels)throw new Error("channel and label counts mismatch: "+t);let{channels:e,labels:r}=Ar[t];delete Ar[t].channels,delete Ar[t].labels,Object.defineProperty(Ar[t],"channels",{value:e}),Object.defineProperty(Ar[t],"labels",{value:r})}Ar.rgb.hsl=function(t){let e=t[0]/255,r=t[1]/255,o=t[2]/255,a=Math.min(e,r,o),n=Math.max(e,r,o),u=n-a,A,p;n===a?A=0:e===n?A=(r-o)/u:r===n?A=2+(o-e)/u:o===n&&(A=4+(e-r)/u),A=Math.min(A*60,360),A<0&&(A+=360);let h=(a+n)/2;return n===a?p=0:h<=.5?p=u/(n+a):p=u/(2-n-a),[A,p*100,h*100]};Ar.rgb.hsv=function(t){let e,r,o,a,n,u=t[0]/255,A=t[1]/255,p=t[2]/255,h=Math.max(u,A,p),E=h-Math.min(u,A,p),I=function(v){return(h-v)/6/E+1/2};return E===0?(a=0,n=0):(n=E/h,e=I(u),r=I(A),o=I(p),u===h?a=o-r:A===h?a=1/3+e-o:p===h&&(a=2/3+r-e),a<0?a+=1:a>1&&(a-=1)),[a*360,n*100,h*100]};Ar.rgb.hwb=function(t){let e=t[0],r=t[1],o=t[2],a=Ar.rgb.hsl(t)[0],n=1/255*Math.min(e,Math.min(r,o));return o=1-1/255*Math.max(e,Math.max(r,o)),[a,n*100,o*100]};Ar.rgb.cmyk=function(t){let e=t[0]/255,r=t[1]/255,o=t[2]/255,a=Math.min(1-e,1-r,1-o),n=(1-e-a)/(1-a)||0,u=(1-r-a)/(1-a)||0,A=(1-o-a)/(1-a)||0;return[n*100,u*100,A*100,a*100]};function m5e(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}Ar.rgb.keyword=function(t){let e=nX[t];if(e)return e;let r=1/0,o;for(let a of Object.keys(II)){let n=II[a],u=m5e(t,n);u.04045?((e+.055)/1.055)**2.4:e/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,o=o>.04045?((o+.055)/1.055)**2.4:o/12.92;let a=e*.4124+r*.3576+o*.1805,n=e*.2126+r*.7152+o*.0722,u=e*.0193+r*.1192+o*.9505;return[a*100,n*100,u*100]};Ar.rgb.lab=function(t){let e=Ar.rgb.xyz(t),r=e[0],o=e[1],a=e[2];r/=95.047,o/=100,a/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,o=o>.008856?o**(1/3):7.787*o+16/116,a=a>.008856?a**(1/3):7.787*a+16/116;let n=116*o-16,u=500*(r-o),A=200*(o-a);return[n,u,A]};Ar.hsl.rgb=function(t){let e=t[0]/360,r=t[1]/100,o=t[2]/100,a,n,u;if(r===0)return u=o*255,[u,u,u];o<.5?a=o*(1+r):a=o+r-o*r;let A=2*o-a,p=[0,0,0];for(let h=0;h<3;h++)n=e+1/3*-(h-1),n<0&&n++,n>1&&n--,6*n<1?u=A+(a-A)*6*n:2*n<1?u=a:3*n<2?u=A+(a-A)*(2/3-n)*6:u=A,p[h]=u*255;return p};Ar.hsl.hsv=function(t){let e=t[0],r=t[1]/100,o=t[2]/100,a=r,n=Math.max(o,.01);o*=2,r*=o<=1?o:2-o,a*=n<=1?n:2-n;let u=(o+r)/2,A=o===0?2*a/(n+a):2*r/(o+r);return[e,A*100,u*100]};Ar.hsv.rgb=function(t){let e=t[0]/60,r=t[1]/100,o=t[2]/100,a=Math.floor(e)%6,n=e-Math.floor(e),u=255*o*(1-r),A=255*o*(1-r*n),p=255*o*(1-r*(1-n));switch(o*=255,a){case 0:return[o,p,u];case 1:return[A,o,u];case 2:return[u,o,p];case 3:return[u,A,o];case 4:return[p,u,o];case 5:return[o,u,A]}};Ar.hsv.hsl=function(t){let e=t[0],r=t[1]/100,o=t[2]/100,a=Math.max(o,.01),n,u;u=(2-r)*o;let A=(2-r)*a;return n=r*a,n/=A<=1?A:2-A,n=n||0,u/=2,[e,n*100,u*100]};Ar.hwb.rgb=function(t){let e=t[0]/360,r=t[1]/100,o=t[2]/100,a=r+o,n;a>1&&(r/=a,o/=a);let u=Math.floor(6*e),A=1-o;n=6*e-u,(u&1)!==0&&(n=1-n);let p=r+n*(A-r),h,E,I;switch(u){default:case 6:case 0:h=A,E=p,I=r;break;case 1:h=p,E=A,I=r;break;case 2:h=r,E=A,I=p;break;case 3:h=r,E=p,I=A;break;case 4:h=p,E=r,I=A;break;case 5:h=A,E=r,I=p;break}return[h*255,E*255,I*255]};Ar.cmyk.rgb=function(t){let e=t[0]/100,r=t[1]/100,o=t[2]/100,a=t[3]/100,n=1-Math.min(1,e*(1-a)+a),u=1-Math.min(1,r*(1-a)+a),A=1-Math.min(1,o*(1-a)+a);return[n*255,u*255,A*255]};Ar.xyz.rgb=function(t){let e=t[0]/100,r=t[1]/100,o=t[2]/100,a,n,u;return a=e*3.2406+r*-1.5372+o*-.4986,n=e*-.9689+r*1.8758+o*.0415,u=e*.0557+r*-.204+o*1.057,a=a>.0031308?1.055*a**(1/2.4)-.055:a*12.92,n=n>.0031308?1.055*n**(1/2.4)-.055:n*12.92,u=u>.0031308?1.055*u**(1/2.4)-.055:u*12.92,a=Math.min(Math.max(0,a),1),n=Math.min(Math.max(0,n),1),u=Math.min(Math.max(0,u),1),[a*255,n*255,u*255]};Ar.xyz.lab=function(t){let e=t[0],r=t[1],o=t[2];e/=95.047,r/=100,o/=108.883,e=e>.008856?e**(1/3):7.787*e+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,o=o>.008856?o**(1/3):7.787*o+16/116;let a=116*r-16,n=500*(e-r),u=200*(r-o);return[a,n,u]};Ar.lab.xyz=function(t){let e=t[0],r=t[1],o=t[2],a,n,u;n=(e+16)/116,a=r/500+n,u=n-o/200;let A=n**3,p=a**3,h=u**3;return n=A>.008856?A:(n-16/116)/7.787,a=p>.008856?p:(a-16/116)/7.787,u=h>.008856?h:(u-16/116)/7.787,a*=95.047,n*=100,u*=108.883,[a,n,u]};Ar.lab.lch=function(t){let e=t[0],r=t[1],o=t[2],a;a=Math.atan2(o,r)*360/2/Math.PI,a<0&&(a+=360);let u=Math.sqrt(r*r+o*o);return[e,u,a]};Ar.lch.lab=function(t){let e=t[0],r=t[1],a=t[2]/360*2*Math.PI,n=r*Math.cos(a),u=r*Math.sin(a);return[e,n,u]};Ar.rgb.ansi16=function(t,e=null){let[r,o,a]=t,n=e===null?Ar.rgb.hsv(t)[2]:e;if(n=Math.round(n/50),n===0)return 30;let u=30+(Math.round(a/255)<<2|Math.round(o/255)<<1|Math.round(r/255));return n===2&&(u+=60),u};Ar.hsv.ansi16=function(t){return Ar.rgb.ansi16(Ar.hsv.rgb(t),t[2])};Ar.rgb.ansi256=function(t){let e=t[0],r=t[1],o=t[2];return e===r&&r===o?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(r/255*5)+Math.round(o/255*5)};Ar.ansi16.rgb=function(t){let e=t%10;if(e===0||e===7)return t>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let r=(~~(t>50)+1)*.5,o=(e&1)*r*255,a=(e>>1&1)*r*255,n=(e>>2&1)*r*255;return[o,a,n]};Ar.ansi256.rgb=function(t){if(t>=232){let n=(t-232)*10+8;return[n,n,n]}t-=16;let e,r=Math.floor(t/36)/5*255,o=Math.floor((e=t%36)/6)/5*255,a=e%6/5*255;return[r,o,a]};Ar.rgb.hex=function(t){let r=(((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255)).toString(16).toUpperCase();return"000000".substring(r.length)+r};Ar.hex.rgb=function(t){let e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let r=e[0];e[0].length===3&&(r=r.split("").map(A=>A+A).join(""));let o=parseInt(r,16),a=o>>16&255,n=o>>8&255,u=o&255;return[a,n,u]};Ar.rgb.hcg=function(t){let e=t[0]/255,r=t[1]/255,o=t[2]/255,a=Math.max(Math.max(e,r),o),n=Math.min(Math.min(e,r),o),u=a-n,A,p;return u<1?A=n/(1-u):A=0,u<=0?p=0:a===e?p=(r-o)/u%6:a===r?p=2+(o-e)/u:p=4+(e-r)/u,p/=6,p%=1,[p*360,u*100,A*100]};Ar.hsl.hcg=function(t){let e=t[1]/100,r=t[2]/100,o=r<.5?2*e*r:2*e*(1-r),a=0;return o<1&&(a=(r-.5*o)/(1-o)),[t[0],o*100,a*100]};Ar.hsv.hcg=function(t){let e=t[1]/100,r=t[2]/100,o=e*r,a=0;return o<1&&(a=(r-o)/(1-o)),[t[0],o*100,a*100]};Ar.hcg.rgb=function(t){let e=t[0]/360,r=t[1]/100,o=t[2]/100;if(r===0)return[o*255,o*255,o*255];let a=[0,0,0],n=e%1*6,u=n%1,A=1-u,p=0;switch(Math.floor(n)){case 0:a[0]=1,a[1]=u,a[2]=0;break;case 1:a[0]=A,a[1]=1,a[2]=0;break;case 2:a[0]=0,a[1]=1,a[2]=u;break;case 3:a[0]=0,a[1]=A,a[2]=1;break;case 4:a[0]=u,a[1]=0,a[2]=1;break;default:a[0]=1,a[1]=0,a[2]=A}return p=(1-r)*o,[(r*a[0]+p)*255,(r*a[1]+p)*255,(r*a[2]+p)*255]};Ar.hcg.hsv=function(t){let e=t[1]/100,r=t[2]/100,o=e+r*(1-e),a=0;return o>0&&(a=e/o),[t[0],a*100,o*100]};Ar.hcg.hsl=function(t){let e=t[1]/100,o=t[2]/100*(1-e)+.5*e,a=0;return o>0&&o<.5?a=e/(2*o):o>=.5&&o<1&&(a=e/(2*(1-o))),[t[0],a*100,o*100]};Ar.hcg.hwb=function(t){let e=t[1]/100,r=t[2]/100,o=e+r*(1-e);return[t[0],(o-e)*100,(1-o)*100]};Ar.hwb.hcg=function(t){let e=t[1]/100,o=1-t[2]/100,a=o-e,n=0;return a<1&&(n=(o-a)/(1-a)),[t[0],a*100,n*100]};Ar.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]};Ar.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]};Ar.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]};Ar.gray.hsl=function(t){return[0,0,t[0]]};Ar.gray.hsv=Ar.gray.hsl;Ar.gray.hwb=function(t){return[0,100,t[0]]};Ar.gray.cmyk=function(t){return[0,0,0,t[0]]};Ar.gray.lab=function(t){return[t[0],0,0]};Ar.gray.hex=function(t){let e=Math.round(t[0]/100*255)&255,o=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(o.length)+o};Ar.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}});var oX=_((QQt,sX)=>{var SD=fL();function y5e(){let t={},e=Object.keys(SD);for(let r=e.length,o=0;o{var pL=fL(),I5e=oX(),by={},B5e=Object.keys(pL);function v5e(t){let e=function(...r){let o=r[0];return o==null?o:(o.length>1&&(r=o),t(r))};return"conversion"in t&&(e.conversion=t.conversion),e}function P5e(t){let e=function(...r){let o=r[0];if(o==null)return o;o.length>1&&(r=o);let a=t(r);if(typeof a=="object")for(let n=a.length,u=0;u{by[t]={},Object.defineProperty(by[t],"channels",{value:pL[t].channels}),Object.defineProperty(by[t],"labels",{value:pL[t].labels});let e=I5e(t);Object.keys(e).forEach(o=>{let a=e[o];by[t][o]=P5e(a),by[t][o].raw=v5e(a)})});aX.exports=by});var BI=_((FQt,pX)=>{"use strict";var cX=(t,e)=>(...r)=>`\x1B[${t(...r)+e}m`,uX=(t,e)=>(...r)=>{let o=t(...r);return`\x1B[${38+e};5;${o}m`},AX=(t,e)=>(...r)=>{let o=t(...r);return`\x1B[${38+e};2;${o[0]};${o[1]};${o[2]}m`},bD=t=>t,fX=(t,e,r)=>[t,e,r],xy=(t,e,r)=>{Object.defineProperty(t,e,{get:()=>{let o=r();return Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0}),o},enumerable:!0,configurable:!0})},hL,ky=(t,e,r,o)=>{hL===void 0&&(hL=lX());let a=o?10:0,n={};for(let[u,A]of Object.entries(hL)){let p=u==="ansi16"?"ansi":u;u===e?n[p]=t(r,a):typeof A=="object"&&(n[p]=t(A[e],a))}return n};function D5e(){let t=new Map,e={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};e.color.gray=e.color.blackBright,e.bgColor.bgGray=e.bgColor.bgBlackBright,e.color.grey=e.color.blackBright,e.bgColor.bgGrey=e.bgColor.bgBlackBright;for(let[r,o]of Object.entries(e)){for(let[a,n]of Object.entries(o))e[a]={open:`\x1B[${n[0]}m`,close:`\x1B[${n[1]}m`},o[a]=e[a],t.set(n[0],n[1]);Object.defineProperty(e,r,{value:o,enumerable:!1})}return Object.defineProperty(e,"codes",{value:t,enumerable:!1}),e.color.close="\x1B[39m",e.bgColor.close="\x1B[49m",xy(e.color,"ansi",()=>ky(cX,"ansi16",bD,!1)),xy(e.color,"ansi256",()=>ky(uX,"ansi256",bD,!1)),xy(e.color,"ansi16m",()=>ky(AX,"rgb",fX,!1)),xy(e.bgColor,"ansi",()=>ky(cX,"ansi16",bD,!0)),xy(e.bgColor,"ansi256",()=>ky(uX,"ansi256",bD,!0)),xy(e.bgColor,"ansi16m",()=>ky(AX,"rgb",fX,!0)),e}Object.defineProperty(pX,"exports",{enumerable:!0,get:D5e})});var gX=_((TQt,hX)=>{"use strict";hX.exports=(t,e=process.argv)=>{let r=t.startsWith("-")?"":t.length===1?"-":"--",o=e.indexOf(r+t),a=e.indexOf("--");return o!==-1&&(a===-1||o{"use strict";var S5e=ve("os"),dX=ve("tty"),Ul=gX(),{env:cs}=process,Vp;Ul("no-color")||Ul("no-colors")||Ul("color=false")||Ul("color=never")?Vp=0:(Ul("color")||Ul("colors")||Ul("color=true")||Ul("color=always"))&&(Vp=1);"FORCE_COLOR"in cs&&(cs.FORCE_COLOR==="true"?Vp=1:cs.FORCE_COLOR==="false"?Vp=0:Vp=cs.FORCE_COLOR.length===0?1:Math.min(parseInt(cs.FORCE_COLOR,10),3));function gL(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function dL(t,e){if(Vp===0)return 0;if(Ul("color=16m")||Ul("color=full")||Ul("color=truecolor"))return 3;if(Ul("color=256"))return 2;if(t&&!e&&Vp===void 0)return 0;let r=Vp||0;if(cs.TERM==="dumb")return r;if(process.platform==="win32"){let o=S5e.release().split(".");return Number(o[0])>=10&&Number(o[2])>=10586?Number(o[2])>=14931?3:2:1}if("CI"in cs)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(o=>o in cs)||cs.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in cs)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(cs.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in cs)return 1;if(cs.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in cs){let o=parseInt((cs.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(cs.TERM_PROGRAM){case"iTerm.app":return o>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(cs.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(cs.TERM)||"COLORTERM"in cs?1:r}function b5e(t){let e=dL(t,t&&t.isTTY);return gL(e)}mX.exports={supportsColor:b5e,stdout:gL(dL(!0,dX.isatty(1))),stderr:gL(dL(!0,dX.isatty(2)))}});var EX=_((NQt,yX)=>{"use strict";var x5e=(t,e,r)=>{let o=t.indexOf(e);if(o===-1)return t;let a=e.length,n=0,u="";do u+=t.substr(n,o-n)+e+r,n=o+a,o=t.indexOf(e,n);while(o!==-1);return u+=t.substr(n),u},k5e=(t,e,r,o)=>{let a=0,n="";do{let u=t[o-1]==="\r";n+=t.substr(a,(u?o-1:o)-a)+e+(u?`\r +`:` +`)+r,a=o+1,o=t.indexOf(` +`,a)}while(o!==-1);return n+=t.substr(a),n};yX.exports={stringReplaceAll:x5e,stringEncaseCRLFWithFirstIndex:k5e}});var vX=_((OQt,BX)=>{"use strict";var Q5e=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,CX=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,R5e=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,F5e=/\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi,T5e=new Map([["n",` +`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function IX(t){let e=t[0]==="u",r=t[1]==="{";return e&&!r&&t.length===5||t[0]==="x"&&t.length===3?String.fromCharCode(parseInt(t.slice(1),16)):e&&r?String.fromCodePoint(parseInt(t.slice(2,-1),16)):T5e.get(t)||t}function L5e(t,e){let r=[],o=e.trim().split(/\s*,\s*/g),a;for(let n of o){let u=Number(n);if(!Number.isNaN(u))r.push(u);else if(a=n.match(R5e))r.push(a[2].replace(F5e,(A,p,h)=>p?IX(p):h));else throw new Error(`Invalid Chalk template style argument: ${n} (in style '${t}')`)}return r}function N5e(t){CX.lastIndex=0;let e=[],r;for(;(r=CX.exec(t))!==null;){let o=r[1];if(r[2]){let a=L5e(o,r[2]);e.push([o].concat(a))}else e.push([o])}return e}function wX(t,e){let r={};for(let a of e)for(let n of a.styles)r[n[0]]=a.inverse?null:n.slice(1);let o=t;for(let[a,n]of Object.entries(r))if(!!Array.isArray(n)){if(!(a in o))throw new Error(`Unknown Chalk style: ${a}`);o=n.length>0?o[a](...n):o[a]}return o}BX.exports=(t,e)=>{let r=[],o=[],a=[];if(e.replace(Q5e,(n,u,A,p,h,E)=>{if(u)a.push(IX(u));else if(p){let I=a.join("");a=[],o.push(r.length===0?I:wX(t,r)(I)),r.push({inverse:A,styles:N5e(p)})}else if(h){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");o.push(wX(t,r)(a.join(""))),a=[],r.pop()}else a.push(E)}),o.push(a.join("")),r.length>0){let n=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(n)}return o.join("")}});var BL=_((MQt,bX)=>{"use strict";var vI=BI(),{stdout:EL,stderr:CL}=mL(),{stringReplaceAll:O5e,stringEncaseCRLFWithFirstIndex:M5e}=EX(),PX=["ansi","ansi","ansi256","ansi16m"],Qy=Object.create(null),U5e=(t,e={})=>{if(e.level>3||e.level<0)throw new Error("The `level` option should be an integer from 0 to 3");let r=EL?EL.level:0;t.level=e.level===void 0?r:e.level},wL=class{constructor(e){return DX(e)}},DX=t=>{let e={};return U5e(e,t),e.template=(...r)=>q5e(e.template,...r),Object.setPrototypeOf(e,xD.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=wL,e.template};function xD(t){return DX(t)}for(let[t,e]of Object.entries(vI))Qy[t]={get(){let r=kD(this,IL(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,t,{value:r}),r}};Qy.visible={get(){let t=kD(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:t}),t}};var SX=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let t of SX)Qy[t]={get(){let{level:e}=this;return function(...r){let o=IL(vI.color[PX[e]][t](...r),vI.color.close,this._styler);return kD(this,o,this._isEmpty)}}};for(let t of SX){let e="bg"+t[0].toUpperCase()+t.slice(1);Qy[e]={get(){let{level:r}=this;return function(...o){let a=IL(vI.bgColor[PX[r]][t](...o),vI.bgColor.close,this._styler);return kD(this,a,this._isEmpty)}}}}var _5e=Object.defineProperties(()=>{},{...Qy,level:{enumerable:!0,get(){return this._generator.level},set(t){this._generator.level=t}}}),IL=(t,e,r)=>{let o,a;return r===void 0?(o=t,a=e):(o=r.openAll+t,a=e+r.closeAll),{open:t,close:e,openAll:o,closeAll:a,parent:r}},kD=(t,e,r)=>{let o=(...a)=>H5e(o,a.length===1?""+a[0]:a.join(" "));return o.__proto__=_5e,o._generator=t,o._styler=e,o._isEmpty=r,o},H5e=(t,e)=>{if(t.level<=0||!e)return t._isEmpty?"":e;let r=t._styler;if(r===void 0)return e;let{openAll:o,closeAll:a}=r;if(e.indexOf("\x1B")!==-1)for(;r!==void 0;)e=O5e(e,r.close,r.open),r=r.parent;let n=e.indexOf(` +`);return n!==-1&&(e=M5e(e,a,o,n)),o+e+a},yL,q5e=(t,...e)=>{let[r]=e;if(!Array.isArray(r))return e.join(" ");let o=e.slice(1),a=[r.raw[0]];for(let n=1;n{"use strict";_l.isInteger=t=>typeof t=="number"?Number.isInteger(t):typeof t=="string"&&t.trim()!==""?Number.isInteger(Number(t)):!1;_l.find=(t,e)=>t.nodes.find(r=>r.type===e);_l.exceedsLimit=(t,e,r=1,o)=>o===!1||!_l.isInteger(t)||!_l.isInteger(e)?!1:(Number(e)-Number(t))/Number(r)>=o;_l.escapeNode=(t,e=0,r)=>{let o=t.nodes[e];!o||(r&&o.type===r||o.type==="open"||o.type==="close")&&o.escaped!==!0&&(o.value="\\"+o.value,o.escaped=!0)};_l.encloseBrace=t=>t.type!=="brace"?!1:t.commas>>0+t.ranges>>0===0?(t.invalid=!0,!0):!1;_l.isInvalidBrace=t=>t.type!=="brace"?!1:t.invalid===!0||t.dollar?!0:t.commas>>0+t.ranges>>0===0||t.open!==!0||t.close!==!0?(t.invalid=!0,!0):!1;_l.isOpenOrClose=t=>t.type==="open"||t.type==="close"?!0:t.open===!0||t.close===!0;_l.reduce=t=>t.reduce((e,r)=>(r.type==="text"&&e.push(r.value),r.type==="range"&&(r.type="text"),e),[]);_l.flatten=(...t)=>{let e=[],r=o=>{for(let a=0;a{"use strict";var xX=QD();kX.exports=(t,e={})=>{let r=(o,a={})=>{let n=e.escapeInvalid&&xX.isInvalidBrace(a),u=o.invalid===!0&&e.escapeInvalid===!0,A="";if(o.value)return(n||u)&&xX.isOpenOrClose(o)?"\\"+o.value:o.value;if(o.value)return o.value;if(o.nodes)for(let p of o.nodes)A+=r(p);return A};return r(t)}});var RX=_((HQt,QX)=>{"use strict";QX.exports=function(t){return typeof t=="number"?t-t===0:typeof t=="string"&&t.trim()!==""?Number.isFinite?Number.isFinite(+t):isFinite(+t):!1}});var HX=_((qQt,_X)=>{"use strict";var FX=RX(),fd=(t,e,r)=>{if(FX(t)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||t===e)return String(t);if(FX(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let o={relaxZeros:!0,...r};typeof o.strictZeros=="boolean"&&(o.relaxZeros=o.strictZeros===!1);let a=String(o.relaxZeros),n=String(o.shorthand),u=String(o.capture),A=String(o.wrap),p=t+":"+e+"="+a+n+u+A;if(fd.cache.hasOwnProperty(p))return fd.cache[p].result;let h=Math.min(t,e),E=Math.max(t,e);if(Math.abs(h-E)===1){let F=t+"|"+e;return o.capture?`(${F})`:o.wrap===!1?F:`(?:${F})`}let I=UX(t)||UX(e),v={min:t,max:e,a:h,b:E},x=[],C=[];if(I&&(v.isPadded=I,v.maxLen=String(v.max).length),h<0){let F=E<0?Math.abs(E):1;C=TX(F,Math.abs(h),v,o),h=v.a=0}return E>=0&&(x=TX(h,E,v,o)),v.negatives=C,v.positives=x,v.result=G5e(C,x,o),o.capture===!0?v.result=`(${v.result})`:o.wrap!==!1&&x.length+C.length>1&&(v.result=`(?:${v.result})`),fd.cache[p]=v,v.result};function G5e(t,e,r){let o=vL(t,e,"-",!1,r)||[],a=vL(e,t,"",!1,r)||[],n=vL(t,e,"-?",!0,r)||[];return o.concat(n).concat(a).join("|")}function j5e(t,e){let r=1,o=1,a=NX(t,r),n=new Set([e]);for(;t<=a&&a<=e;)n.add(a),r+=1,a=NX(t,r);for(a=OX(e+1,o)-1;t1&&A.count.pop(),A.count.push(E.count[0]),A.string=A.pattern+MX(A.count),u=h+1;continue}r.isPadded&&(I=J5e(h,r,o)),E.string=I+E.pattern+MX(E.count),n.push(E),u=h+1,A=E}return n}function vL(t,e,r,o,a){let n=[];for(let u of t){let{string:A}=u;!o&&!LX(e,"string",A)&&n.push(r+A),o&&LX(e,"string",A)&&n.push(r+A)}return n}function W5e(t,e){let r=[];for(let o=0;oe?1:e>t?-1:0}function LX(t,e,r){return t.some(o=>o[e]===r)}function NX(t,e){return Number(String(t).slice(0,-e)+"9".repeat(e))}function OX(t,e){return t-t%Math.pow(10,e)}function MX(t){let[e=0,r=""]=t;return r||e>1?`{${e+(r?","+r:"")}}`:""}function z5e(t,e,r){return`[${t}${e-t===1?"":"-"}${e}]`}function UX(t){return/^-?(0+)\d/.test(t)}function J5e(t,e,r){if(!e.isPadded)return t;let o=Math.abs(e.maxLen-String(t).length),a=r.relaxZeros!==!1;switch(o){case 0:return"";case 1:return a?"0?":"0";case 2:return a?"0{0,2}":"00";default:return a?`0{0,${o}}`:`0{${o}}`}}fd.cache={};fd.clearCache=()=>fd.cache={};_X.exports=fd});var SL=_((GQt,JX)=>{"use strict";var V5e=ve("util"),jX=HX(),qX=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),X5e=t=>e=>t===!0?Number(e):String(e),PL=t=>typeof t=="number"||typeof t=="string"&&t!=="",DI=t=>Number.isInteger(+t),DL=t=>{let e=`${t}`,r=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++r]==="0";);return r>0},Z5e=(t,e,r)=>typeof t=="string"||typeof e=="string"?!0:r.stringify===!0,$5e=(t,e,r)=>{if(e>0){let o=t[0]==="-"?"-":"";o&&(t=t.slice(1)),t=o+t.padStart(o?e-1:e,"0")}return r===!1?String(t):t},GX=(t,e)=>{let r=t[0]==="-"?"-":"";for(r&&(t=t.slice(1),e--);t.length{t.negatives.sort((u,A)=>uA?1:0),t.positives.sort((u,A)=>uA?1:0);let r=e.capture?"":"?:",o="",a="",n;return t.positives.length&&(o=t.positives.join("|")),t.negatives.length&&(a=`-(${r}${t.negatives.join("|")})`),o&&a?n=`${o}|${a}`:n=o||a,e.wrap?`(${r}${n})`:n},YX=(t,e,r,o)=>{if(r)return jX(t,e,{wrap:!1,...o});let a=String.fromCharCode(t);if(t===e)return a;let n=String.fromCharCode(e);return`[${a}-${n}]`},WX=(t,e,r)=>{if(Array.isArray(t)){let o=r.wrap===!0,a=r.capture?"":"?:";return o?`(${a}${t.join("|")})`:t.join("|")}return jX(t,e,r)},KX=(...t)=>new RangeError("Invalid range arguments: "+V5e.inspect(...t)),zX=(t,e,r)=>{if(r.strictRanges===!0)throw KX([t,e]);return[]},t7e=(t,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${t}" to be a number`);return[]},r7e=(t,e,r=1,o={})=>{let a=Number(t),n=Number(e);if(!Number.isInteger(a)||!Number.isInteger(n)){if(o.strictRanges===!0)throw KX([t,e]);return[]}a===0&&(a=0),n===0&&(n=0);let u=a>n,A=String(t),p=String(e),h=String(r);r=Math.max(Math.abs(r),1);let E=DL(A)||DL(p)||DL(h),I=E?Math.max(A.length,p.length,h.length):0,v=E===!1&&Z5e(t,e,o)===!1,x=o.transform||X5e(v);if(o.toRegex&&r===1)return YX(GX(t,I),GX(e,I),!0,o);let C={negatives:[],positives:[]},F=J=>C[J<0?"negatives":"positives"].push(Math.abs(J)),N=[],U=0;for(;u?a>=n:a<=n;)o.toRegex===!0&&r>1?F(a):N.push($5e(x(a,U),I,v)),a=u?a-r:a+r,U++;return o.toRegex===!0?r>1?e7e(C,o):WX(N,null,{wrap:!1,...o}):N},n7e=(t,e,r=1,o={})=>{if(!DI(t)&&t.length>1||!DI(e)&&e.length>1)return zX(t,e,o);let a=o.transform||(v=>String.fromCharCode(v)),n=`${t}`.charCodeAt(0),u=`${e}`.charCodeAt(0),A=n>u,p=Math.min(n,u),h=Math.max(n,u);if(o.toRegex&&r===1)return YX(p,h,!1,o);let E=[],I=0;for(;A?n>=u:n<=u;)E.push(a(n,I)),n=A?n-r:n+r,I++;return o.toRegex===!0?WX(E,null,{wrap:!1,options:o}):E},FD=(t,e,r,o={})=>{if(e==null&&PL(t))return[t];if(!PL(t)||!PL(e))return zX(t,e,o);if(typeof r=="function")return FD(t,e,1,{transform:r});if(qX(r))return FD(t,e,0,r);let a={...o};return a.capture===!0&&(a.wrap=!0),r=r||a.step||1,DI(r)?DI(t)&&DI(e)?r7e(t,e,r,a):n7e(t,e,Math.max(Math.abs(r),1),a):r!=null&&!qX(r)?t7e(r,a):FD(t,e,1,r)};JX.exports=FD});var ZX=_((jQt,XX)=>{"use strict";var i7e=SL(),VX=QD(),s7e=(t,e={})=>{let r=(o,a={})=>{let n=VX.isInvalidBrace(a),u=o.invalid===!0&&e.escapeInvalid===!0,A=n===!0||u===!0,p=e.escapeInvalid===!0?"\\":"",h="";if(o.isOpen===!0||o.isClose===!0)return p+o.value;if(o.type==="open")return A?p+o.value:"(";if(o.type==="close")return A?p+o.value:")";if(o.type==="comma")return o.prev.type==="comma"?"":A?o.value:"|";if(o.value)return o.value;if(o.nodes&&o.ranges>0){let E=VX.reduce(o.nodes),I=i7e(...E,{...e,wrap:!1,toRegex:!0});if(I.length!==0)return E.length>1&&I.length>1?`(${I})`:I}if(o.nodes)for(let E of o.nodes)h+=r(E,o);return h};return r(t)};XX.exports=s7e});var tZ=_((YQt,eZ)=>{"use strict";var o7e=SL(),$X=RD(),Ry=QD(),pd=(t="",e="",r=!1)=>{let o=[];if(t=[].concat(t),e=[].concat(e),!e.length)return t;if(!t.length)return r?Ry.flatten(e).map(a=>`{${a}}`):e;for(let a of t)if(Array.isArray(a))for(let n of a)o.push(pd(n,e,r));else for(let n of e)r===!0&&typeof n=="string"&&(n=`{${n}}`),o.push(Array.isArray(n)?pd(a,n,r):a+n);return Ry.flatten(o)},a7e=(t,e={})=>{let r=e.rangeLimit===void 0?1e3:e.rangeLimit,o=(a,n={})=>{a.queue=[];let u=n,A=n.queue;for(;u.type!=="brace"&&u.type!=="root"&&u.parent;)u=u.parent,A=u.queue;if(a.invalid||a.dollar){A.push(pd(A.pop(),$X(a,e)));return}if(a.type==="brace"&&a.invalid!==!0&&a.nodes.length===2){A.push(pd(A.pop(),["{}"]));return}if(a.nodes&&a.ranges>0){let I=Ry.reduce(a.nodes);if(Ry.exceedsLimit(...I,e.step,r))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let v=o7e(...I,e);v.length===0&&(v=$X(a,e)),A.push(pd(A.pop(),v)),a.nodes=[];return}let p=Ry.encloseBrace(a),h=a.queue,E=a;for(;E.type!=="brace"&&E.type!=="root"&&E.parent;)E=E.parent,h=E.queue;for(let I=0;I{"use strict";rZ.exports={MAX_LENGTH:1024*64,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:` +`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var lZ=_((KQt,aZ)=>{"use strict";var l7e=RD(),{MAX_LENGTH:iZ,CHAR_BACKSLASH:bL,CHAR_BACKTICK:c7e,CHAR_COMMA:u7e,CHAR_DOT:A7e,CHAR_LEFT_PARENTHESES:f7e,CHAR_RIGHT_PARENTHESES:p7e,CHAR_LEFT_CURLY_BRACE:h7e,CHAR_RIGHT_CURLY_BRACE:g7e,CHAR_LEFT_SQUARE_BRACKET:sZ,CHAR_RIGHT_SQUARE_BRACKET:oZ,CHAR_DOUBLE_QUOTE:d7e,CHAR_SINGLE_QUOTE:m7e,CHAR_NO_BREAK_SPACE:y7e,CHAR_ZERO_WIDTH_NOBREAK_SPACE:E7e}=nZ(),C7e=(t,e={})=>{if(typeof t!="string")throw new TypeError("Expected a string");let r=e||{},o=typeof r.maxLength=="number"?Math.min(iZ,r.maxLength):iZ;if(t.length>o)throw new SyntaxError(`Input length (${t.length}), exceeds max characters (${o})`);let a={type:"root",input:t,nodes:[]},n=[a],u=a,A=a,p=0,h=t.length,E=0,I=0,v,x={},C=()=>t[E++],F=N=>{if(N.type==="text"&&A.type==="dot"&&(A.type="text"),A&&A.type==="text"&&N.type==="text"){A.value+=N.value;return}return u.nodes.push(N),N.parent=u,N.prev=A,A=N,N};for(F({type:"bos"});E0){if(u.ranges>0){u.ranges=0;let N=u.nodes.shift();u.nodes=[N,{type:"text",value:l7e(u)}]}F({type:"comma",value:v}),u.commas++;continue}if(v===A7e&&I>0&&u.commas===0){let N=u.nodes;if(I===0||N.length===0){F({type:"text",value:v});continue}if(A.type==="dot"){if(u.range=[],A.value+=v,A.type="range",u.nodes.length!==3&&u.nodes.length!==5){u.invalid=!0,u.ranges=0,A.type="text";continue}u.ranges++,u.args=[];continue}if(A.type==="range"){N.pop();let U=N[N.length-1];U.value+=A.value+v,A=U,u.ranges--;continue}F({type:"dot",value:v});continue}F({type:"text",value:v})}do if(u=n.pop(),u.type!=="root"){u.nodes.forEach(J=>{J.nodes||(J.type==="open"&&(J.isOpen=!0),J.type==="close"&&(J.isClose=!0),J.nodes||(J.type="text"),J.invalid=!0)});let N=n[n.length-1],U=N.nodes.indexOf(u);N.nodes.splice(U,1,...u.nodes)}while(n.length>0);return F({type:"eos"}),a};aZ.exports=C7e});var AZ=_((zQt,uZ)=>{"use strict";var cZ=RD(),w7e=ZX(),I7e=tZ(),B7e=lZ(),nl=(t,e={})=>{let r=[];if(Array.isArray(t))for(let o of t){let a=nl.create(o,e);Array.isArray(a)?r.push(...a):r.push(a)}else r=[].concat(nl.create(t,e));return e&&e.expand===!0&&e.nodupes===!0&&(r=[...new Set(r)]),r};nl.parse=(t,e={})=>B7e(t,e);nl.stringify=(t,e={})=>cZ(typeof t=="string"?nl.parse(t,e):t,e);nl.compile=(t,e={})=>(typeof t=="string"&&(t=nl.parse(t,e)),w7e(t,e));nl.expand=(t,e={})=>{typeof t=="string"&&(t=nl.parse(t,e));let r=I7e(t,e);return e.noempty===!0&&(r=r.filter(Boolean)),e.nodupes===!0&&(r=[...new Set(r)]),r};nl.create=(t,e={})=>t===""||t.length<3?[t]:e.expand!==!0?nl.compile(t,e):nl.expand(t,e);uZ.exports=nl});var SI=_((JQt,dZ)=>{"use strict";var v7e=ve("path"),zu="\\\\/",fZ=`[^${zu}]`,vf="\\.",P7e="\\+",D7e="\\?",TD="\\/",S7e="(?=.)",pZ="[^/]",xL=`(?:${TD}|$)`,hZ=`(?:^|${TD})`,kL=`${vf}{1,2}${xL}`,b7e=`(?!${vf})`,x7e=`(?!${hZ}${kL})`,k7e=`(?!${vf}{0,1}${xL})`,Q7e=`(?!${kL})`,R7e=`[^.${TD}]`,F7e=`${pZ}*?`,gZ={DOT_LITERAL:vf,PLUS_LITERAL:P7e,QMARK_LITERAL:D7e,SLASH_LITERAL:TD,ONE_CHAR:S7e,QMARK:pZ,END_ANCHOR:xL,DOTS_SLASH:kL,NO_DOT:b7e,NO_DOTS:x7e,NO_DOT_SLASH:k7e,NO_DOTS_SLASH:Q7e,QMARK_NO_DOT:R7e,STAR:F7e,START_ANCHOR:hZ},T7e={...gZ,SLASH_LITERAL:`[${zu}]`,QMARK:fZ,STAR:`${fZ}*?`,DOTS_SLASH:`${vf}{1,2}(?:[${zu}]|$)`,NO_DOT:`(?!${vf})`,NO_DOTS:`(?!(?:^|[${zu}])${vf}{1,2}(?:[${zu}]|$))`,NO_DOT_SLASH:`(?!${vf}{0,1}(?:[${zu}]|$))`,NO_DOTS_SLASH:`(?!${vf}{1,2}(?:[${zu}]|$))`,QMARK_NO_DOT:`[^.${zu}]`,START_ANCHOR:`(?:^|[${zu}])`,END_ANCHOR:`(?:[${zu}]|$)`},L7e={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};dZ.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:L7e,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:v7e.sep,extglobChars(t){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${t.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(t){return t===!0?T7e:gZ}}});var bI=_(Da=>{"use strict";var N7e=ve("path"),O7e=process.platform==="win32",{REGEX_BACKSLASH:M7e,REGEX_REMOVE_BACKSLASH:U7e,REGEX_SPECIAL_CHARS:_7e,REGEX_SPECIAL_CHARS_GLOBAL:H7e}=SI();Da.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);Da.hasRegexChars=t=>_7e.test(t);Da.isRegexChar=t=>t.length===1&&Da.hasRegexChars(t);Da.escapeRegex=t=>t.replace(H7e,"\\$1");Da.toPosixSlashes=t=>t.replace(M7e,"/");Da.removeBackslashes=t=>t.replace(U7e,e=>e==="\\"?"":e);Da.supportsLookbehinds=()=>{let t=process.version.slice(1).split(".").map(Number);return t.length===3&&t[0]>=9||t[0]===8&&t[1]>=10};Da.isWindows=t=>t&&typeof t.windows=="boolean"?t.windows:O7e===!0||N7e.sep==="\\";Da.escapeLast=(t,e,r)=>{let o=t.lastIndexOf(e,r);return o===-1?t:t[o-1]==="\\"?Da.escapeLast(t,e,o-1):`${t.slice(0,o)}\\${t.slice(o)}`};Da.removePrefix=(t,e={})=>{let r=t;return r.startsWith("./")&&(r=r.slice(2),e.prefix="./"),r};Da.wrapOutput=(t,e={},r={})=>{let o=r.contains?"":"^",a=r.contains?"":"$",n=`${o}(?:${t})${a}`;return e.negated===!0&&(n=`(?:^(?!${n}).*$)`),n}});var vZ=_((XQt,BZ)=>{"use strict";var mZ=bI(),{CHAR_ASTERISK:QL,CHAR_AT:q7e,CHAR_BACKWARD_SLASH:xI,CHAR_COMMA:G7e,CHAR_DOT:RL,CHAR_EXCLAMATION_MARK:FL,CHAR_FORWARD_SLASH:IZ,CHAR_LEFT_CURLY_BRACE:TL,CHAR_LEFT_PARENTHESES:LL,CHAR_LEFT_SQUARE_BRACKET:j7e,CHAR_PLUS:Y7e,CHAR_QUESTION_MARK:yZ,CHAR_RIGHT_CURLY_BRACE:W7e,CHAR_RIGHT_PARENTHESES:EZ,CHAR_RIGHT_SQUARE_BRACKET:K7e}=SI(),CZ=t=>t===IZ||t===xI,wZ=t=>{t.isPrefix!==!0&&(t.depth=t.isGlobstar?1/0:1)},z7e=(t,e)=>{let r=e||{},o=t.length-1,a=r.parts===!0||r.scanToEnd===!0,n=[],u=[],A=[],p=t,h=-1,E=0,I=0,v=!1,x=!1,C=!1,F=!1,N=!1,U=!1,J=!1,te=!1,ae=!1,le=!1,ce=0,we,de,Be={value:"",depth:0,isGlob:!1},Ee=()=>h>=o,g=()=>p.charCodeAt(h+1),me=()=>(we=de,p.charCodeAt(++h));for(;h0&&(Ae=p.slice(0,E),p=p.slice(E),I-=E),Ce&&C===!0&&I>0?(Ce=p.slice(0,I),ne=p.slice(I)):C===!0?(Ce="",ne=p):Ce=p,Ce&&Ce!==""&&Ce!=="/"&&Ce!==p&&CZ(Ce.charCodeAt(Ce.length-1))&&(Ce=Ce.slice(0,-1)),r.unescape===!0&&(ne&&(ne=mZ.removeBackslashes(ne)),Ce&&J===!0&&(Ce=mZ.removeBackslashes(Ce)));let Z={prefix:Ae,input:t,start:E,base:Ce,glob:ne,isBrace:v,isBracket:x,isGlob:C,isExtglob:F,isGlobstar:N,negated:te,negatedExtglob:ae};if(r.tokens===!0&&(Z.maxDepth=0,CZ(de)||u.push(Be),Z.tokens=u),r.parts===!0||r.tokens===!0){let xe;for(let Le=0;Le{"use strict";var LD=SI(),il=bI(),{MAX_LENGTH:ND,POSIX_REGEX_SOURCE:J7e,REGEX_NON_SPECIAL_CHARS:V7e,REGEX_SPECIAL_CHARS_BACKREF:X7e,REPLACEMENTS:PZ}=LD,Z7e=(t,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...t,e);t.sort();let r=`[${t.join("-")}]`;try{new RegExp(r)}catch{return t.map(a=>il.escapeRegex(a)).join("..")}return r},Fy=(t,e)=>`Missing ${t}: "${e}" - use "\\\\${e}" to match literal characters`,NL=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");t=PZ[t]||t;let r={...e},o=typeof r.maxLength=="number"?Math.min(ND,r.maxLength):ND,a=t.length;if(a>o)throw new SyntaxError(`Input length: ${a}, exceeds maximum allowed length: ${o}`);let n={type:"bos",value:"",output:r.prepend||""},u=[n],A=r.capture?"":"?:",p=il.isWindows(e),h=LD.globChars(p),E=LD.extglobChars(h),{DOT_LITERAL:I,PLUS_LITERAL:v,SLASH_LITERAL:x,ONE_CHAR:C,DOTS_SLASH:F,NO_DOT:N,NO_DOT_SLASH:U,NO_DOTS_SLASH:J,QMARK:te,QMARK_NO_DOT:ae,STAR:le,START_ANCHOR:ce}=h,we=b=>`(${A}(?:(?!${ce}${b.dot?F:I}).)*?)`,de=r.dot?"":N,Be=r.dot?te:ae,Ee=r.bash===!0?we(r):le;r.capture&&(Ee=`(${Ee})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let g={input:t,index:-1,start:0,dot:r.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:u};t=il.removePrefix(t,g),a=t.length;let me=[],Ce=[],Ae=[],ne=n,Z,xe=()=>g.index===a-1,Le=g.peek=(b=1)=>t[g.index+b],ht=g.advance=()=>t[++g.index]||"",H=()=>t.slice(g.index+1),rt=(b="",w=0)=>{g.consumed+=b,g.index+=w},Te=b=>{g.output+=b.output!=null?b.output:b.value,rt(b.value)},Re=()=>{let b=1;for(;Le()==="!"&&(Le(2)!=="("||Le(3)==="?");)ht(),g.start++,b++;return b%2===0?!1:(g.negated=!0,g.start++,!0)},ke=b=>{g[b]++,Ae.push(b)},Ye=b=>{g[b]--,Ae.pop()},Se=b=>{if(ne.type==="globstar"){let w=g.braces>0&&(b.type==="comma"||b.type==="brace"),S=b.extglob===!0||me.length&&(b.type==="pipe"||b.type==="paren");b.type!=="slash"&&b.type!=="paren"&&!w&&!S&&(g.output=g.output.slice(0,-ne.output.length),ne.type="star",ne.value="*",ne.output=Ee,g.output+=ne.output)}if(me.length&&b.type!=="paren"&&(me[me.length-1].inner+=b.value),(b.value||b.output)&&Te(b),ne&&ne.type==="text"&&b.type==="text"){ne.value+=b.value,ne.output=(ne.output||"")+b.value;return}b.prev=ne,u.push(b),ne=b},et=(b,w)=>{let S={...E[w],conditions:1,inner:""};S.prev=ne,S.parens=g.parens,S.output=g.output;let y=(r.capture?"(":"")+S.open;ke("parens"),Se({type:b,value:w,output:g.output?"":C}),Se({type:"paren",extglob:!0,value:ht(),output:y}),me.push(S)},Ue=b=>{let w=b.close+(r.capture?")":""),S;if(b.type==="negate"){let y=Ee;if(b.inner&&b.inner.length>1&&b.inner.includes("/")&&(y=we(r)),(y!==Ee||xe()||/^\)+$/.test(H()))&&(w=b.close=`)$))${y}`),b.inner.includes("*")&&(S=H())&&/^\.[^\\/.]+$/.test(S)){let R=NL(S,{...e,fastpaths:!1}).output;w=b.close=`)${R})${y})`}b.prev.type==="bos"&&(g.negatedExtglob=!0)}Se({type:"paren",extglob:!0,value:Z,output:w}),Ye("parens")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(t)){let b=!1,w=t.replace(X7e,(S,y,R,V,X,$)=>V==="\\"?(b=!0,S):V==="?"?y?y+V+(X?te.repeat(X.length):""):$===0?Be+(X?te.repeat(X.length):""):te.repeat(R.length):V==="."?I.repeat(R.length):V==="*"?y?y+V+(X?Ee:""):Ee:y?S:`\\${S}`);return b===!0&&(r.unescape===!0?w=w.replace(/\\/g,""):w=w.replace(/\\+/g,S=>S.length%2===0?"\\\\":S?"\\":"")),w===t&&r.contains===!0?(g.output=t,g):(g.output=il.wrapOutput(w,g,e),g)}for(;!xe();){if(Z=ht(),Z==="\0")continue;if(Z==="\\"){let S=Le();if(S==="/"&&r.bash!==!0||S==="."||S===";")continue;if(!S){Z+="\\",Se({type:"text",value:Z});continue}let y=/^\\+/.exec(H()),R=0;if(y&&y[0].length>2&&(R=y[0].length,g.index+=R,R%2!==0&&(Z+="\\")),r.unescape===!0?Z=ht():Z+=ht(),g.brackets===0){Se({type:"text",value:Z});continue}}if(g.brackets>0&&(Z!=="]"||ne.value==="["||ne.value==="[^")){if(r.posix!==!1&&Z===":"){let S=ne.value.slice(1);if(S.includes("[")&&(ne.posix=!0,S.includes(":"))){let y=ne.value.lastIndexOf("["),R=ne.value.slice(0,y),V=ne.value.slice(y+2),X=J7e[V];if(X){ne.value=R+X,g.backtrack=!0,ht(),!n.output&&u.indexOf(ne)===1&&(n.output=C);continue}}}(Z==="["&&Le()!==":"||Z==="-"&&Le()==="]")&&(Z=`\\${Z}`),Z==="]"&&(ne.value==="["||ne.value==="[^")&&(Z=`\\${Z}`),r.posix===!0&&Z==="!"&&ne.value==="["&&(Z="^"),ne.value+=Z,Te({value:Z});continue}if(g.quotes===1&&Z!=='"'){Z=il.escapeRegex(Z),ne.value+=Z,Te({value:Z});continue}if(Z==='"'){g.quotes=g.quotes===1?0:1,r.keepQuotes===!0&&Se({type:"text",value:Z});continue}if(Z==="("){ke("parens"),Se({type:"paren",value:Z});continue}if(Z===")"){if(g.parens===0&&r.strictBrackets===!0)throw new SyntaxError(Fy("opening","("));let S=me[me.length-1];if(S&&g.parens===S.parens+1){Ue(me.pop());continue}Se({type:"paren",value:Z,output:g.parens?")":"\\)"}),Ye("parens");continue}if(Z==="["){if(r.nobracket===!0||!H().includes("]")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(Fy("closing","]"));Z=`\\${Z}`}else ke("brackets");Se({type:"bracket",value:Z});continue}if(Z==="]"){if(r.nobracket===!0||ne&&ne.type==="bracket"&&ne.value.length===1){Se({type:"text",value:Z,output:`\\${Z}`});continue}if(g.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(Fy("opening","["));Se({type:"text",value:Z,output:`\\${Z}`});continue}Ye("brackets");let S=ne.value.slice(1);if(ne.posix!==!0&&S[0]==="^"&&!S.includes("/")&&(Z=`/${Z}`),ne.value+=Z,Te({value:Z}),r.literalBrackets===!1||il.hasRegexChars(S))continue;let y=il.escapeRegex(ne.value);if(g.output=g.output.slice(0,-ne.value.length),r.literalBrackets===!0){g.output+=y,ne.value=y;continue}ne.value=`(${A}${y}|${ne.value})`,g.output+=ne.value;continue}if(Z==="{"&&r.nobrace!==!0){ke("braces");let S={type:"brace",value:Z,output:"(",outputIndex:g.output.length,tokensIndex:g.tokens.length};Ce.push(S),Se(S);continue}if(Z==="}"){let S=Ce[Ce.length-1];if(r.nobrace===!0||!S){Se({type:"text",value:Z,output:Z});continue}let y=")";if(S.dots===!0){let R=u.slice(),V=[];for(let X=R.length-1;X>=0&&(u.pop(),R[X].type!=="brace");X--)R[X].type!=="dots"&&V.unshift(R[X].value);y=Z7e(V,r),g.backtrack=!0}if(S.comma!==!0&&S.dots!==!0){let R=g.output.slice(0,S.outputIndex),V=g.tokens.slice(S.tokensIndex);S.value=S.output="\\{",Z=y="\\}",g.output=R;for(let X of V)g.output+=X.output||X.value}Se({type:"brace",value:Z,output:y}),Ye("braces"),Ce.pop();continue}if(Z==="|"){me.length>0&&me[me.length-1].conditions++,Se({type:"text",value:Z});continue}if(Z===","){let S=Z,y=Ce[Ce.length-1];y&&Ae[Ae.length-1]==="braces"&&(y.comma=!0,S="|"),Se({type:"comma",value:Z,output:S});continue}if(Z==="/"){if(ne.type==="dot"&&g.index===g.start+1){g.start=g.index+1,g.consumed="",g.output="",u.pop(),ne=n;continue}Se({type:"slash",value:Z,output:x});continue}if(Z==="."){if(g.braces>0&&ne.type==="dot"){ne.value==="."&&(ne.output=I);let S=Ce[Ce.length-1];ne.type="dots",ne.output+=Z,ne.value+=Z,S.dots=!0;continue}if(g.braces+g.parens===0&&ne.type!=="bos"&&ne.type!=="slash"){Se({type:"text",value:Z,output:I});continue}Se({type:"dot",value:Z,output:I});continue}if(Z==="?"){if(!(ne&&ne.value==="(")&&r.noextglob!==!0&&Le()==="("&&Le(2)!=="?"){et("qmark",Z);continue}if(ne&&ne.type==="paren"){let y=Le(),R=Z;if(y==="<"&&!il.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(ne.value==="("&&!/[!=<:]/.test(y)||y==="<"&&!/<([!=]|\w+>)/.test(H()))&&(R=`\\${Z}`),Se({type:"text",value:Z,output:R});continue}if(r.dot!==!0&&(ne.type==="slash"||ne.type==="bos")){Se({type:"qmark",value:Z,output:ae});continue}Se({type:"qmark",value:Z,output:te});continue}if(Z==="!"){if(r.noextglob!==!0&&Le()==="("&&(Le(2)!=="?"||!/[!=<:]/.test(Le(3)))){et("negate",Z);continue}if(r.nonegate!==!0&&g.index===0){Re();continue}}if(Z==="+"){if(r.noextglob!==!0&&Le()==="("&&Le(2)!=="?"){et("plus",Z);continue}if(ne&&ne.value==="("||r.regex===!1){Se({type:"plus",value:Z,output:v});continue}if(ne&&(ne.type==="bracket"||ne.type==="paren"||ne.type==="brace")||g.parens>0){Se({type:"plus",value:Z});continue}Se({type:"plus",value:v});continue}if(Z==="@"){if(r.noextglob!==!0&&Le()==="("&&Le(2)!=="?"){Se({type:"at",extglob:!0,value:Z,output:""});continue}Se({type:"text",value:Z});continue}if(Z!=="*"){(Z==="$"||Z==="^")&&(Z=`\\${Z}`);let S=V7e.exec(H());S&&(Z+=S[0],g.index+=S[0].length),Se({type:"text",value:Z});continue}if(ne&&(ne.type==="globstar"||ne.star===!0)){ne.type="star",ne.star=!0,ne.value+=Z,ne.output=Ee,g.backtrack=!0,g.globstar=!0,rt(Z);continue}let b=H();if(r.noextglob!==!0&&/^\([^?]/.test(b)){et("star",Z);continue}if(ne.type==="star"){if(r.noglobstar===!0){rt(Z);continue}let S=ne.prev,y=S.prev,R=S.type==="slash"||S.type==="bos",V=y&&(y.type==="star"||y.type==="globstar");if(r.bash===!0&&(!R||b[0]&&b[0]!=="/")){Se({type:"star",value:Z,output:""});continue}let X=g.braces>0&&(S.type==="comma"||S.type==="brace"),$=me.length&&(S.type==="pipe"||S.type==="paren");if(!R&&S.type!=="paren"&&!X&&!$){Se({type:"star",value:Z,output:""});continue}for(;b.slice(0,3)==="/**";){let ie=t[g.index+4];if(ie&&ie!=="/")break;b=b.slice(3),rt("/**",3)}if(S.type==="bos"&&xe()){ne.type="globstar",ne.value+=Z,ne.output=we(r),g.output=ne.output,g.globstar=!0,rt(Z);continue}if(S.type==="slash"&&S.prev.type!=="bos"&&!V&&xe()){g.output=g.output.slice(0,-(S.output+ne.output).length),S.output=`(?:${S.output}`,ne.type="globstar",ne.output=we(r)+(r.strictSlashes?")":"|$)"),ne.value+=Z,g.globstar=!0,g.output+=S.output+ne.output,rt(Z);continue}if(S.type==="slash"&&S.prev.type!=="bos"&&b[0]==="/"){let ie=b[1]!==void 0?"|$":"";g.output=g.output.slice(0,-(S.output+ne.output).length),S.output=`(?:${S.output}`,ne.type="globstar",ne.output=`${we(r)}${x}|${x}${ie})`,ne.value+=Z,g.output+=S.output+ne.output,g.globstar=!0,rt(Z+ht()),Se({type:"slash",value:"/",output:""});continue}if(S.type==="bos"&&b[0]==="/"){ne.type="globstar",ne.value+=Z,ne.output=`(?:^|${x}|${we(r)}${x})`,g.output=ne.output,g.globstar=!0,rt(Z+ht()),Se({type:"slash",value:"/",output:""});continue}g.output=g.output.slice(0,-ne.output.length),ne.type="globstar",ne.output=we(r),ne.value+=Z,g.output+=ne.output,g.globstar=!0,rt(Z);continue}let w={type:"star",value:Z,output:Ee};if(r.bash===!0){w.output=".*?",(ne.type==="bos"||ne.type==="slash")&&(w.output=de+w.output),Se(w);continue}if(ne&&(ne.type==="bracket"||ne.type==="paren")&&r.regex===!0){w.output=Z,Se(w);continue}(g.index===g.start||ne.type==="slash"||ne.type==="dot")&&(ne.type==="dot"?(g.output+=U,ne.output+=U):r.dot===!0?(g.output+=J,ne.output+=J):(g.output+=de,ne.output+=de),Le()!=="*"&&(g.output+=C,ne.output+=C)),Se(w)}for(;g.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(Fy("closing","]"));g.output=il.escapeLast(g.output,"["),Ye("brackets")}for(;g.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(Fy("closing",")"));g.output=il.escapeLast(g.output,"("),Ye("parens")}for(;g.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(Fy("closing","}"));g.output=il.escapeLast(g.output,"{"),Ye("braces")}if(r.strictSlashes!==!0&&(ne.type==="star"||ne.type==="bracket")&&Se({type:"maybe_slash",value:"",output:`${x}?`}),g.backtrack===!0){g.output="";for(let b of g.tokens)g.output+=b.output!=null?b.output:b.value,b.suffix&&(g.output+=b.suffix)}return g};NL.fastpaths=(t,e)=>{let r={...e},o=typeof r.maxLength=="number"?Math.min(ND,r.maxLength):ND,a=t.length;if(a>o)throw new SyntaxError(`Input length: ${a}, exceeds maximum allowed length: ${o}`);t=PZ[t]||t;let n=il.isWindows(e),{DOT_LITERAL:u,SLASH_LITERAL:A,ONE_CHAR:p,DOTS_SLASH:h,NO_DOT:E,NO_DOTS:I,NO_DOTS_SLASH:v,STAR:x,START_ANCHOR:C}=LD.globChars(n),F=r.dot?I:E,N=r.dot?v:E,U=r.capture?"":"?:",J={negated:!1,prefix:""},te=r.bash===!0?".*?":x;r.capture&&(te=`(${te})`);let ae=de=>de.noglobstar===!0?te:`(${U}(?:(?!${C}${de.dot?h:u}).)*?)`,le=de=>{switch(de){case"*":return`${F}${p}${te}`;case".*":return`${u}${p}${te}`;case"*.*":return`${F}${te}${u}${p}${te}`;case"*/*":return`${F}${te}${A}${p}${N}${te}`;case"**":return F+ae(r);case"**/*":return`(?:${F}${ae(r)}${A})?${N}${p}${te}`;case"**/*.*":return`(?:${F}${ae(r)}${A})?${N}${te}${u}${p}${te}`;case"**/.*":return`(?:${F}${ae(r)}${A})?${u}${p}${te}`;default:{let Be=/^(.*?)\.(\w+)$/.exec(de);if(!Be)return;let Ee=le(Be[1]);return Ee?Ee+u+Be[2]:void 0}}},ce=il.removePrefix(t,J),we=le(ce);return we&&r.strictSlashes!==!0&&(we+=`${A}?`),we};DZ.exports=NL});var xZ=_(($Qt,bZ)=>{"use strict";var $7e=ve("path"),eYe=vZ(),OL=SZ(),ML=bI(),tYe=SI(),rYe=t=>t&&typeof t=="object"&&!Array.isArray(t),Mi=(t,e,r=!1)=>{if(Array.isArray(t)){let E=t.map(v=>Mi(v,e,r));return v=>{for(let x of E){let C=x(v);if(C)return C}return!1}}let o=rYe(t)&&t.tokens&&t.input;if(t===""||typeof t!="string"&&!o)throw new TypeError("Expected pattern to be a non-empty string");let a=e||{},n=ML.isWindows(e),u=o?Mi.compileRe(t,e):Mi.makeRe(t,e,!1,!0),A=u.state;delete u.state;let p=()=>!1;if(a.ignore){let E={...e,ignore:null,onMatch:null,onResult:null};p=Mi(a.ignore,E,r)}let h=(E,I=!1)=>{let{isMatch:v,match:x,output:C}=Mi.test(E,u,e,{glob:t,posix:n}),F={glob:t,state:A,regex:u,posix:n,input:E,output:C,match:x,isMatch:v};return typeof a.onResult=="function"&&a.onResult(F),v===!1?(F.isMatch=!1,I?F:!1):p(E)?(typeof a.onIgnore=="function"&&a.onIgnore(F),F.isMatch=!1,I?F:!1):(typeof a.onMatch=="function"&&a.onMatch(F),I?F:!0)};return r&&(h.state=A),h};Mi.test=(t,e,r,{glob:o,posix:a}={})=>{if(typeof t!="string")throw new TypeError("Expected input to be a string");if(t==="")return{isMatch:!1,output:""};let n=r||{},u=n.format||(a?ML.toPosixSlashes:null),A=t===o,p=A&&u?u(t):t;return A===!1&&(p=u?u(t):t,A=p===o),(A===!1||n.capture===!0)&&(n.matchBase===!0||n.basename===!0?A=Mi.matchBase(t,e,r,a):A=e.exec(p)),{isMatch:Boolean(A),match:A,output:p}};Mi.matchBase=(t,e,r,o=ML.isWindows(r))=>(e instanceof RegExp?e:Mi.makeRe(e,r)).test($7e.basename(t));Mi.isMatch=(t,e,r)=>Mi(e,r)(t);Mi.parse=(t,e)=>Array.isArray(t)?t.map(r=>Mi.parse(r,e)):OL(t,{...e,fastpaths:!1});Mi.scan=(t,e)=>eYe(t,e);Mi.compileRe=(t,e,r=!1,o=!1)=>{if(r===!0)return t.output;let a=e||{},n=a.contains?"":"^",u=a.contains?"":"$",A=`${n}(?:${t.output})${u}`;t&&t.negated===!0&&(A=`^(?!${A}).*$`);let p=Mi.toRegex(A,e);return o===!0&&(p.state=t),p};Mi.makeRe=(t,e={},r=!1,o=!1)=>{if(!t||typeof t!="string")throw new TypeError("Expected a non-empty string");let a={negated:!1,fastpaths:!0};return e.fastpaths!==!1&&(t[0]==="."||t[0]==="*")&&(a.output=OL.fastpaths(t,e)),a.output||(a=OL(t,e)),Mi.compileRe(a,e,r,o)};Mi.toRegex=(t,e)=>{try{let r=e||{};return new RegExp(t,r.flags||(r.nocase?"i":""))}catch(r){if(e&&e.debug===!0)throw r;return/$^/}};Mi.constants=tYe;bZ.exports=Mi});var QZ=_((eRt,kZ)=>{"use strict";kZ.exports=xZ()});var Xo=_((tRt,LZ)=>{"use strict";var FZ=ve("util"),TZ=AZ(),Ju=QZ(),UL=bI(),RZ=t=>t===""||t==="./",yi=(t,e,r)=>{e=[].concat(e),t=[].concat(t);let o=new Set,a=new Set,n=new Set,u=0,A=E=>{n.add(E.output),r&&r.onResult&&r.onResult(E)};for(let E=0;E!o.has(E));if(r&&h.length===0){if(r.failglob===!0)throw new Error(`No matches found for "${e.join(", ")}"`);if(r.nonull===!0||r.nullglob===!0)return r.unescape?e.map(E=>E.replace(/\\/g,"")):e}return h};yi.match=yi;yi.matcher=(t,e)=>Ju(t,e);yi.isMatch=(t,e,r)=>Ju(e,r)(t);yi.any=yi.isMatch;yi.not=(t,e,r={})=>{e=[].concat(e).map(String);let o=new Set,a=[],n=A=>{r.onResult&&r.onResult(A),a.push(A.output)},u=new Set(yi(t,e,{...r,onResult:n}));for(let A of a)u.has(A)||o.add(A);return[...o]};yi.contains=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${FZ.inspect(t)}"`);if(Array.isArray(e))return e.some(o=>yi.contains(t,o,r));if(typeof e=="string"){if(RZ(t)||RZ(e))return!1;if(t.includes(e)||t.startsWith("./")&&t.slice(2).includes(e))return!0}return yi.isMatch(t,e,{...r,contains:!0})};yi.matchKeys=(t,e,r)=>{if(!UL.isObject(t))throw new TypeError("Expected the first argument to be an object");let o=yi(Object.keys(t),e,r),a={};for(let n of o)a[n]=t[n];return a};yi.some=(t,e,r)=>{let o=[].concat(t);for(let a of[].concat(e)){let n=Ju(String(a),r);if(o.some(u=>n(u)))return!0}return!1};yi.every=(t,e,r)=>{let o=[].concat(t);for(let a of[].concat(e)){let n=Ju(String(a),r);if(!o.every(u=>n(u)))return!1}return!0};yi.all=(t,e,r)=>{if(typeof t!="string")throw new TypeError(`Expected a string: "${FZ.inspect(t)}"`);return[].concat(e).every(o=>Ju(o,r)(t))};yi.capture=(t,e,r)=>{let o=UL.isWindows(r),n=Ju.makeRe(String(t),{...r,capture:!0}).exec(o?UL.toPosixSlashes(e):e);if(n)return n.slice(1).map(u=>u===void 0?"":u)};yi.makeRe=(...t)=>Ju.makeRe(...t);yi.scan=(...t)=>Ju.scan(...t);yi.parse=(t,e)=>{let r=[];for(let o of[].concat(t||[]))for(let a of TZ(String(o),e))r.push(Ju.parse(a,e));return r};yi.braces=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return e&&e.nobrace===!0||!/\{.*\}/.test(t)?[t]:TZ(t,e)};yi.braceExpand=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");return yi.braces(t,{...e,expand:!0})};LZ.exports=yi});var OZ=_((rRt,NZ)=>{"use strict";NZ.exports=({onlyFirst:t=!1}={})=>{let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,t?void 0:"g")}});var OD=_((nRt,MZ)=>{"use strict";var nYe=OZ();MZ.exports=t=>typeof t=="string"?t.replace(nYe(),""):t});var _Z=_((iRt,UZ)=>{function iYe(){this.__data__=[],this.size=0}UZ.exports=iYe});var Ty=_((sRt,HZ)=>{function sYe(t,e){return t===e||t!==t&&e!==e}HZ.exports=sYe});var kI=_((oRt,qZ)=>{var oYe=Ty();function aYe(t,e){for(var r=t.length;r--;)if(oYe(t[r][0],e))return r;return-1}qZ.exports=aYe});var jZ=_((aRt,GZ)=>{var lYe=kI(),cYe=Array.prototype,uYe=cYe.splice;function AYe(t){var e=this.__data__,r=lYe(e,t);if(r<0)return!1;var o=e.length-1;return r==o?e.pop():uYe.call(e,r,1),--this.size,!0}GZ.exports=AYe});var WZ=_((lRt,YZ)=>{var fYe=kI();function pYe(t){var e=this.__data__,r=fYe(e,t);return r<0?void 0:e[r][1]}YZ.exports=pYe});var zZ=_((cRt,KZ)=>{var hYe=kI();function gYe(t){return hYe(this.__data__,t)>-1}KZ.exports=gYe});var VZ=_((uRt,JZ)=>{var dYe=kI();function mYe(t,e){var r=this.__data__,o=dYe(r,t);return o<0?(++this.size,r.push([t,e])):r[o][1]=e,this}JZ.exports=mYe});var QI=_((ARt,XZ)=>{var yYe=_Z(),EYe=jZ(),CYe=WZ(),wYe=zZ(),IYe=VZ();function Ly(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var BYe=QI();function vYe(){this.__data__=new BYe,this.size=0}ZZ.exports=vYe});var t$=_((pRt,e$)=>{function PYe(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}e$.exports=PYe});var n$=_((hRt,r$)=>{function DYe(t){return this.__data__.get(t)}r$.exports=DYe});var s$=_((gRt,i$)=>{function SYe(t){return this.__data__.has(t)}i$.exports=SYe});var _L=_((dRt,o$)=>{var bYe=typeof global=="object"&&global&&global.Object===Object&&global;o$.exports=bYe});var Hl=_((mRt,a$)=>{var xYe=_L(),kYe=typeof self=="object"&&self&&self.Object===Object&&self,QYe=xYe||kYe||Function("return this")();a$.exports=QYe});var hd=_((yRt,l$)=>{var RYe=Hl(),FYe=RYe.Symbol;l$.exports=FYe});var f$=_((ERt,A$)=>{var c$=hd(),u$=Object.prototype,TYe=u$.hasOwnProperty,LYe=u$.toString,RI=c$?c$.toStringTag:void 0;function NYe(t){var e=TYe.call(t,RI),r=t[RI];try{t[RI]=void 0;var o=!0}catch{}var a=LYe.call(t);return o&&(e?t[RI]=r:delete t[RI]),a}A$.exports=NYe});var h$=_((CRt,p$)=>{var OYe=Object.prototype,MYe=OYe.toString;function UYe(t){return MYe.call(t)}p$.exports=UYe});var gd=_((wRt,m$)=>{var g$=hd(),_Ye=f$(),HYe=h$(),qYe="[object Null]",GYe="[object Undefined]",d$=g$?g$.toStringTag:void 0;function jYe(t){return t==null?t===void 0?GYe:qYe:d$&&d$ in Object(t)?_Ye(t):HYe(t)}m$.exports=jYe});var sl=_((IRt,y$)=>{function YYe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}y$.exports=YYe});var MD=_((BRt,E$)=>{var WYe=gd(),KYe=sl(),zYe="[object AsyncFunction]",JYe="[object Function]",VYe="[object GeneratorFunction]",XYe="[object Proxy]";function ZYe(t){if(!KYe(t))return!1;var e=WYe(t);return e==JYe||e==VYe||e==zYe||e==XYe}E$.exports=ZYe});var w$=_((vRt,C$)=>{var $Ye=Hl(),eWe=$Ye["__core-js_shared__"];C$.exports=eWe});var v$=_((PRt,B$)=>{var HL=w$(),I$=function(){var t=/[^.]+$/.exec(HL&&HL.keys&&HL.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function tWe(t){return!!I$&&I$ in t}B$.exports=tWe});var qL=_((DRt,P$)=>{var rWe=Function.prototype,nWe=rWe.toString;function iWe(t){if(t!=null){try{return nWe.call(t)}catch{}try{return t+""}catch{}}return""}P$.exports=iWe});var S$=_((SRt,D$)=>{var sWe=MD(),oWe=v$(),aWe=sl(),lWe=qL(),cWe=/[\\^$.*+?()[\]{}|]/g,uWe=/^\[object .+?Constructor\]$/,AWe=Function.prototype,fWe=Object.prototype,pWe=AWe.toString,hWe=fWe.hasOwnProperty,gWe=RegExp("^"+pWe.call(hWe).replace(cWe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function dWe(t){if(!aWe(t)||oWe(t))return!1;var e=sWe(t)?gWe:uWe;return e.test(lWe(t))}D$.exports=dWe});var x$=_((bRt,b$)=>{function mWe(t,e){return t?.[e]}b$.exports=mWe});var Xp=_((xRt,k$)=>{var yWe=S$(),EWe=x$();function CWe(t,e){var r=EWe(t,e);return yWe(r)?r:void 0}k$.exports=CWe});var UD=_((kRt,Q$)=>{var wWe=Xp(),IWe=Hl(),BWe=wWe(IWe,"Map");Q$.exports=BWe});var FI=_((QRt,R$)=>{var vWe=Xp(),PWe=vWe(Object,"create");R$.exports=PWe});var L$=_((RRt,T$)=>{var F$=FI();function DWe(){this.__data__=F$?F$(null):{},this.size=0}T$.exports=DWe});var O$=_((FRt,N$)=>{function SWe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}N$.exports=SWe});var U$=_((TRt,M$)=>{var bWe=FI(),xWe="__lodash_hash_undefined__",kWe=Object.prototype,QWe=kWe.hasOwnProperty;function RWe(t){var e=this.__data__;if(bWe){var r=e[t];return r===xWe?void 0:r}return QWe.call(e,t)?e[t]:void 0}M$.exports=RWe});var H$=_((LRt,_$)=>{var FWe=FI(),TWe=Object.prototype,LWe=TWe.hasOwnProperty;function NWe(t){var e=this.__data__;return FWe?e[t]!==void 0:LWe.call(e,t)}_$.exports=NWe});var G$=_((NRt,q$)=>{var OWe=FI(),MWe="__lodash_hash_undefined__";function UWe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=OWe&&e===void 0?MWe:e,this}q$.exports=UWe});var Y$=_((ORt,j$)=>{var _We=L$(),HWe=O$(),qWe=U$(),GWe=H$(),jWe=G$();function Ny(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var W$=Y$(),YWe=QI(),WWe=UD();function KWe(){this.size=0,this.__data__={hash:new W$,map:new(WWe||YWe),string:new W$}}K$.exports=KWe});var V$=_((URt,J$)=>{function zWe(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}J$.exports=zWe});var TI=_((_Rt,X$)=>{var JWe=V$();function VWe(t,e){var r=t.__data__;return JWe(e)?r[typeof e=="string"?"string":"hash"]:r.map}X$.exports=VWe});var $$=_((HRt,Z$)=>{var XWe=TI();function ZWe(t){var e=XWe(this,t).delete(t);return this.size-=e?1:0,e}Z$.exports=ZWe});var tee=_((qRt,eee)=>{var $We=TI();function eKe(t){return $We(this,t).get(t)}eee.exports=eKe});var nee=_((GRt,ree)=>{var tKe=TI();function rKe(t){return tKe(this,t).has(t)}ree.exports=rKe});var see=_((jRt,iee)=>{var nKe=TI();function iKe(t,e){var r=nKe(this,t),o=r.size;return r.set(t,e),this.size+=r.size==o?0:1,this}iee.exports=iKe});var _D=_((YRt,oee)=>{var sKe=z$(),oKe=$$(),aKe=tee(),lKe=nee(),cKe=see();function Oy(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e{var uKe=QI(),AKe=UD(),fKe=_D(),pKe=200;function hKe(t,e){var r=this.__data__;if(r instanceof uKe){var o=r.__data__;if(!AKe||o.length{var gKe=QI(),dKe=$Z(),mKe=t$(),yKe=n$(),EKe=s$(),CKe=lee();function My(t){var e=this.__data__=new gKe(t);this.size=e.size}My.prototype.clear=dKe;My.prototype.delete=mKe;My.prototype.get=yKe;My.prototype.has=EKe;My.prototype.set=CKe;cee.exports=My});var Aee=_((zRt,uee)=>{var wKe="__lodash_hash_undefined__";function IKe(t){return this.__data__.set(t,wKe),this}uee.exports=IKe});var pee=_((JRt,fee)=>{function BKe(t){return this.__data__.has(t)}fee.exports=BKe});var gee=_((VRt,hee)=>{var vKe=_D(),PKe=Aee(),DKe=pee();function qD(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new vKe;++e{function SKe(t,e){for(var r=-1,o=t==null?0:t.length;++r{function bKe(t,e){return t.has(e)}yee.exports=bKe});var jL=_(($Rt,Cee)=>{var xKe=gee(),kKe=mee(),QKe=Eee(),RKe=1,FKe=2;function TKe(t,e,r,o,a,n){var u=r&RKe,A=t.length,p=e.length;if(A!=p&&!(u&&p>A))return!1;var h=n.get(t),E=n.get(e);if(h&&E)return h==e&&E==t;var I=-1,v=!0,x=r&FKe?new xKe:void 0;for(n.set(t,e),n.set(e,t);++I{var LKe=Hl(),NKe=LKe.Uint8Array;wee.exports=NKe});var Bee=_((tFt,Iee)=>{function OKe(t){var e=-1,r=Array(t.size);return t.forEach(function(o,a){r[++e]=[a,o]}),r}Iee.exports=OKe});var Pee=_((rFt,vee)=>{function MKe(t){var e=-1,r=Array(t.size);return t.forEach(function(o){r[++e]=o}),r}vee.exports=MKe});var kee=_((nFt,xee)=>{var Dee=hd(),See=YL(),UKe=Ty(),_Ke=jL(),HKe=Bee(),qKe=Pee(),GKe=1,jKe=2,YKe="[object Boolean]",WKe="[object Date]",KKe="[object Error]",zKe="[object Map]",JKe="[object Number]",VKe="[object RegExp]",XKe="[object Set]",ZKe="[object String]",$Ke="[object Symbol]",eze="[object ArrayBuffer]",tze="[object DataView]",bee=Dee?Dee.prototype:void 0,WL=bee?bee.valueOf:void 0;function rze(t,e,r,o,a,n,u){switch(r){case tze:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case eze:return!(t.byteLength!=e.byteLength||!n(new See(t),new See(e)));case YKe:case WKe:case JKe:return UKe(+t,+e);case KKe:return t.name==e.name&&t.message==e.message;case VKe:case ZKe:return t==e+"";case zKe:var A=HKe;case XKe:var p=o&GKe;if(A||(A=qKe),t.size!=e.size&&!p)return!1;var h=u.get(t);if(h)return h==e;o|=jKe,u.set(t,e);var E=_Ke(A(t),A(e),o,a,n,u);return u.delete(t),E;case $Ke:if(WL)return WL.call(t)==WL.call(e)}return!1}xee.exports=rze});var GD=_((iFt,Qee)=>{function nze(t,e){for(var r=-1,o=e.length,a=t.length;++r{var ize=Array.isArray;Ree.exports=ize});var KL=_((oFt,Fee)=>{var sze=GD(),oze=ql();function aze(t,e,r){var o=e(t);return oze(t)?o:sze(o,r(t))}Fee.exports=aze});var Lee=_((aFt,Tee)=>{function lze(t,e){for(var r=-1,o=t==null?0:t.length,a=0,n=[];++r{function cze(){return[]}Nee.exports=cze});var jD=_((cFt,Mee)=>{var uze=Lee(),Aze=zL(),fze=Object.prototype,pze=fze.propertyIsEnumerable,Oee=Object.getOwnPropertySymbols,hze=Oee?function(t){return t==null?[]:(t=Object(t),uze(Oee(t),function(e){return pze.call(t,e)}))}:Aze;Mee.exports=hze});var _ee=_((uFt,Uee)=>{function gze(t,e){for(var r=-1,o=Array(t);++r{function dze(t){return t!=null&&typeof t=="object"}Hee.exports=dze});var Gee=_((fFt,qee)=>{var mze=gd(),yze=Vu(),Eze="[object Arguments]";function Cze(t){return yze(t)&&mze(t)==Eze}qee.exports=Cze});var LI=_((pFt,Wee)=>{var jee=Gee(),wze=Vu(),Yee=Object.prototype,Ize=Yee.hasOwnProperty,Bze=Yee.propertyIsEnumerable,vze=jee(function(){return arguments}())?jee:function(t){return wze(t)&&Ize.call(t,"callee")&&!Bze.call(t,"callee")};Wee.exports=vze});var zee=_((hFt,Kee)=>{function Pze(){return!1}Kee.exports=Pze});var OI=_((NI,Uy)=>{var Dze=Hl(),Sze=zee(),Xee=typeof NI=="object"&&NI&&!NI.nodeType&&NI,Jee=Xee&&typeof Uy=="object"&&Uy&&!Uy.nodeType&&Uy,bze=Jee&&Jee.exports===Xee,Vee=bze?Dze.Buffer:void 0,xze=Vee?Vee.isBuffer:void 0,kze=xze||Sze;Uy.exports=kze});var MI=_((gFt,Zee)=>{var Qze=9007199254740991,Rze=/^(?:0|[1-9]\d*)$/;function Fze(t,e){var r=typeof t;return e=e??Qze,!!e&&(r=="number"||r!="symbol"&&Rze.test(t))&&t>-1&&t%1==0&&t{var Tze=9007199254740991;function Lze(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=Tze}$ee.exports=Lze});var tte=_((mFt,ete)=>{var Nze=gd(),Oze=YD(),Mze=Vu(),Uze="[object Arguments]",_ze="[object Array]",Hze="[object Boolean]",qze="[object Date]",Gze="[object Error]",jze="[object Function]",Yze="[object Map]",Wze="[object Number]",Kze="[object Object]",zze="[object RegExp]",Jze="[object Set]",Vze="[object String]",Xze="[object WeakMap]",Zze="[object ArrayBuffer]",$ze="[object DataView]",eJe="[object Float32Array]",tJe="[object Float64Array]",rJe="[object Int8Array]",nJe="[object Int16Array]",iJe="[object Int32Array]",sJe="[object Uint8Array]",oJe="[object Uint8ClampedArray]",aJe="[object Uint16Array]",lJe="[object Uint32Array]",ui={};ui[eJe]=ui[tJe]=ui[rJe]=ui[nJe]=ui[iJe]=ui[sJe]=ui[oJe]=ui[aJe]=ui[lJe]=!0;ui[Uze]=ui[_ze]=ui[Zze]=ui[Hze]=ui[$ze]=ui[qze]=ui[Gze]=ui[jze]=ui[Yze]=ui[Wze]=ui[Kze]=ui[zze]=ui[Jze]=ui[Vze]=ui[Xze]=!1;function cJe(t){return Mze(t)&&Oze(t.length)&&!!ui[Nze(t)]}ete.exports=cJe});var WD=_((yFt,rte)=>{function uJe(t){return function(e){return t(e)}}rte.exports=uJe});var KD=_((UI,_y)=>{var AJe=_L(),nte=typeof UI=="object"&&UI&&!UI.nodeType&&UI,_I=nte&&typeof _y=="object"&&_y&&!_y.nodeType&&_y,fJe=_I&&_I.exports===nte,JL=fJe&&AJe.process,pJe=function(){try{var t=_I&&_I.require&&_I.require("util").types;return t||JL&&JL.binding&&JL.binding("util")}catch{}}();_y.exports=pJe});var zD=_((EFt,ote)=>{var hJe=tte(),gJe=WD(),ite=KD(),ste=ite&&ite.isTypedArray,dJe=ste?gJe(ste):hJe;ote.exports=dJe});var VL=_((CFt,ate)=>{var mJe=_ee(),yJe=LI(),EJe=ql(),CJe=OI(),wJe=MI(),IJe=zD(),BJe=Object.prototype,vJe=BJe.hasOwnProperty;function PJe(t,e){var r=EJe(t),o=!r&&yJe(t),a=!r&&!o&&CJe(t),n=!r&&!o&&!a&&IJe(t),u=r||o||a||n,A=u?mJe(t.length,String):[],p=A.length;for(var h in t)(e||vJe.call(t,h))&&!(u&&(h=="length"||a&&(h=="offset"||h=="parent")||n&&(h=="buffer"||h=="byteLength"||h=="byteOffset")||wJe(h,p)))&&A.push(h);return A}ate.exports=PJe});var JD=_((wFt,lte)=>{var DJe=Object.prototype;function SJe(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||DJe;return t===r}lte.exports=SJe});var XL=_((IFt,cte)=>{function bJe(t,e){return function(r){return t(e(r))}}cte.exports=bJe});var Ate=_((BFt,ute)=>{var xJe=XL(),kJe=xJe(Object.keys,Object);ute.exports=kJe});var pte=_((vFt,fte)=>{var QJe=JD(),RJe=Ate(),FJe=Object.prototype,TJe=FJe.hasOwnProperty;function LJe(t){if(!QJe(t))return RJe(t);var e=[];for(var r in Object(t))TJe.call(t,r)&&r!="constructor"&&e.push(r);return e}fte.exports=LJe});var HI=_((PFt,hte)=>{var NJe=MD(),OJe=YD();function MJe(t){return t!=null&&OJe(t.length)&&!NJe(t)}hte.exports=MJe});var VD=_((DFt,gte)=>{var UJe=VL(),_Je=pte(),HJe=HI();function qJe(t){return HJe(t)?UJe(t):_Je(t)}gte.exports=qJe});var ZL=_((SFt,dte)=>{var GJe=KL(),jJe=jD(),YJe=VD();function WJe(t){return GJe(t,YJe,jJe)}dte.exports=WJe});var Ete=_((bFt,yte)=>{var mte=ZL(),KJe=1,zJe=Object.prototype,JJe=zJe.hasOwnProperty;function VJe(t,e,r,o,a,n){var u=r&KJe,A=mte(t),p=A.length,h=mte(e),E=h.length;if(p!=E&&!u)return!1;for(var I=p;I--;){var v=A[I];if(!(u?v in e:JJe.call(e,v)))return!1}var x=n.get(t),C=n.get(e);if(x&&C)return x==e&&C==t;var F=!0;n.set(t,e),n.set(e,t);for(var N=u;++I{var XJe=Xp(),ZJe=Hl(),$Je=XJe(ZJe,"DataView");Cte.exports=$Je});var Bte=_((kFt,Ite)=>{var eVe=Xp(),tVe=Hl(),rVe=eVe(tVe,"Promise");Ite.exports=rVe});var Pte=_((QFt,vte)=>{var nVe=Xp(),iVe=Hl(),sVe=nVe(iVe,"Set");vte.exports=sVe});var Ste=_((RFt,Dte)=>{var oVe=Xp(),aVe=Hl(),lVe=oVe(aVe,"WeakMap");Dte.exports=lVe});var qI=_((FFt,Tte)=>{var $L=wte(),eN=UD(),tN=Bte(),rN=Pte(),nN=Ste(),Fte=gd(),Hy=qL(),bte="[object Map]",cVe="[object Object]",xte="[object Promise]",kte="[object Set]",Qte="[object WeakMap]",Rte="[object DataView]",uVe=Hy($L),AVe=Hy(eN),fVe=Hy(tN),pVe=Hy(rN),hVe=Hy(nN),dd=Fte;($L&&dd(new $L(new ArrayBuffer(1)))!=Rte||eN&&dd(new eN)!=bte||tN&&dd(tN.resolve())!=xte||rN&&dd(new rN)!=kte||nN&&dd(new nN)!=Qte)&&(dd=function(t){var e=Fte(t),r=e==cVe?t.constructor:void 0,o=r?Hy(r):"";if(o)switch(o){case uVe:return Rte;case AVe:return bte;case fVe:return xte;case pVe:return kte;case hVe:return Qte}return e});Tte.exports=dd});var qte=_((TFt,Hte)=>{var iN=HD(),gVe=jL(),dVe=kee(),mVe=Ete(),Lte=qI(),Nte=ql(),Ote=OI(),yVe=zD(),EVe=1,Mte="[object Arguments]",Ute="[object Array]",XD="[object Object]",CVe=Object.prototype,_te=CVe.hasOwnProperty;function wVe(t,e,r,o,a,n){var u=Nte(t),A=Nte(e),p=u?Ute:Lte(t),h=A?Ute:Lte(e);p=p==Mte?XD:p,h=h==Mte?XD:h;var E=p==XD,I=h==XD,v=p==h;if(v&&Ote(t)){if(!Ote(e))return!1;u=!0,E=!1}if(v&&!E)return n||(n=new iN),u||yVe(t)?gVe(t,e,r,o,a,n):dVe(t,e,p,r,o,a,n);if(!(r&EVe)){var x=E&&_te.call(t,"__wrapped__"),C=I&&_te.call(e,"__wrapped__");if(x||C){var F=x?t.value():t,N=C?e.value():e;return n||(n=new iN),a(F,N,r,o,n)}}return v?(n||(n=new iN),mVe(t,e,r,o,a,n)):!1}Hte.exports=wVe});var Wte=_((LFt,Yte)=>{var IVe=qte(),Gte=Vu();function jte(t,e,r,o,a){return t===e?!0:t==null||e==null||!Gte(t)&&!Gte(e)?t!==t&&e!==e:IVe(t,e,r,o,jte,a)}Yte.exports=jte});var zte=_((NFt,Kte)=>{var BVe=Wte();function vVe(t,e){return BVe(t,e)}Kte.exports=vVe});var sN=_((OFt,Jte)=>{var PVe=Xp(),DVe=function(){try{var t=PVe(Object,"defineProperty");return t({},"",{}),t}catch{}}();Jte.exports=DVe});var ZD=_((MFt,Xte)=>{var Vte=sN();function SVe(t,e,r){e=="__proto__"&&Vte?Vte(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}Xte.exports=SVe});var oN=_((UFt,Zte)=>{var bVe=ZD(),xVe=Ty();function kVe(t,e,r){(r!==void 0&&!xVe(t[e],r)||r===void 0&&!(e in t))&&bVe(t,e,r)}Zte.exports=kVe});var ere=_((_Ft,$te)=>{function QVe(t){return function(e,r,o){for(var a=-1,n=Object(e),u=o(e),A=u.length;A--;){var p=u[t?A:++a];if(r(n[p],p,n)===!1)break}return e}}$te.exports=QVe});var rre=_((HFt,tre)=>{var RVe=ere(),FVe=RVe();tre.exports=FVe});var aN=_((GI,qy)=>{var TVe=Hl(),ore=typeof GI=="object"&&GI&&!GI.nodeType&&GI,nre=ore&&typeof qy=="object"&&qy&&!qy.nodeType&&qy,LVe=nre&&nre.exports===ore,ire=LVe?TVe.Buffer:void 0,sre=ire?ire.allocUnsafe:void 0;function NVe(t,e){if(e)return t.slice();var r=t.length,o=sre?sre(r):new t.constructor(r);return t.copy(o),o}qy.exports=NVe});var $D=_((qFt,lre)=>{var are=YL();function OVe(t){var e=new t.constructor(t.byteLength);return new are(e).set(new are(t)),e}lre.exports=OVe});var lN=_((GFt,cre)=>{var MVe=$D();function UVe(t,e){var r=e?MVe(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}cre.exports=UVe});var eS=_((jFt,ure)=>{function _Ve(t,e){var r=-1,o=t.length;for(e||(e=Array(o));++r{var HVe=sl(),Are=Object.create,qVe=function(){function t(){}return function(e){if(!HVe(e))return{};if(Are)return Are(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}();fre.exports=qVe});var tS=_((WFt,hre)=>{var GVe=XL(),jVe=GVe(Object.getPrototypeOf,Object);hre.exports=jVe});var cN=_((KFt,gre)=>{var YVe=pre(),WVe=tS(),KVe=JD();function zVe(t){return typeof t.constructor=="function"&&!KVe(t)?YVe(WVe(t)):{}}gre.exports=zVe});var mre=_((zFt,dre)=>{var JVe=HI(),VVe=Vu();function XVe(t){return VVe(t)&&JVe(t)}dre.exports=XVe});var uN=_((JFt,Ere)=>{var ZVe=gd(),$Ve=tS(),eXe=Vu(),tXe="[object Object]",rXe=Function.prototype,nXe=Object.prototype,yre=rXe.toString,iXe=nXe.hasOwnProperty,sXe=yre.call(Object);function oXe(t){if(!eXe(t)||ZVe(t)!=tXe)return!1;var e=$Ve(t);if(e===null)return!0;var r=iXe.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&yre.call(r)==sXe}Ere.exports=oXe});var AN=_((VFt,Cre)=>{function aXe(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}Cre.exports=aXe});var rS=_((XFt,wre)=>{var lXe=ZD(),cXe=Ty(),uXe=Object.prototype,AXe=uXe.hasOwnProperty;function fXe(t,e,r){var o=t[e];(!(AXe.call(t,e)&&cXe(o,r))||r===void 0&&!(e in t))&&lXe(t,e,r)}wre.exports=fXe});var md=_((ZFt,Ire)=>{var pXe=rS(),hXe=ZD();function gXe(t,e,r,o){var a=!r;r||(r={});for(var n=-1,u=e.length;++n{function dXe(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}Bre.exports=dXe});var Dre=_((eTt,Pre)=>{var mXe=sl(),yXe=JD(),EXe=vre(),CXe=Object.prototype,wXe=CXe.hasOwnProperty;function IXe(t){if(!mXe(t))return EXe(t);var e=yXe(t),r=[];for(var o in t)o=="constructor"&&(e||!wXe.call(t,o))||r.push(o);return r}Pre.exports=IXe});var Gy=_((tTt,Sre)=>{var BXe=VL(),vXe=Dre(),PXe=HI();function DXe(t){return PXe(t)?BXe(t,!0):vXe(t)}Sre.exports=DXe});var xre=_((rTt,bre)=>{var SXe=md(),bXe=Gy();function xXe(t){return SXe(t,bXe(t))}bre.exports=xXe});var Lre=_((nTt,Tre)=>{var kre=oN(),kXe=aN(),QXe=lN(),RXe=eS(),FXe=cN(),Qre=LI(),Rre=ql(),TXe=mre(),LXe=OI(),NXe=MD(),OXe=sl(),MXe=uN(),UXe=zD(),Fre=AN(),_Xe=xre();function HXe(t,e,r,o,a,n,u){var A=Fre(t,r),p=Fre(e,r),h=u.get(p);if(h){kre(t,r,h);return}var E=n?n(A,p,r+"",t,e,u):void 0,I=E===void 0;if(I){var v=Rre(p),x=!v&&LXe(p),C=!v&&!x&&UXe(p);E=p,v||x||C?Rre(A)?E=A:TXe(A)?E=RXe(A):x?(I=!1,E=kXe(p,!0)):C?(I=!1,E=QXe(p,!0)):E=[]:MXe(p)||Qre(p)?(E=A,Qre(A)?E=_Xe(A):(!OXe(A)||NXe(A))&&(E=FXe(p))):I=!1}I&&(u.set(p,E),a(E,p,o,n,u),u.delete(p)),kre(t,r,E)}Tre.exports=HXe});var Mre=_((iTt,Ore)=>{var qXe=HD(),GXe=oN(),jXe=rre(),YXe=Lre(),WXe=sl(),KXe=Gy(),zXe=AN();function Nre(t,e,r,o,a){t!==e&&jXe(e,function(n,u){if(a||(a=new qXe),WXe(n))YXe(t,e,u,r,Nre,o,a);else{var A=o?o(zXe(t,u),n,u+"",t,e,a):void 0;A===void 0&&(A=n),GXe(t,u,A)}},KXe)}Ore.exports=Nre});var fN=_((sTt,Ure)=>{function JXe(t){return t}Ure.exports=JXe});var Hre=_((oTt,_re)=>{function VXe(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}_re.exports=VXe});var pN=_((aTt,Gre)=>{var XXe=Hre(),qre=Math.max;function ZXe(t,e,r){return e=qre(e===void 0?t.length-1:e,0),function(){for(var o=arguments,a=-1,n=qre(o.length-e,0),u=Array(n);++a{function $Xe(t){return function(){return t}}jre.exports=$Xe});var zre=_((cTt,Kre)=>{var eZe=Yre(),Wre=sN(),tZe=fN(),rZe=Wre?function(t,e){return Wre(t,"toString",{configurable:!0,enumerable:!1,value:eZe(e),writable:!0})}:tZe;Kre.exports=rZe});var Vre=_((uTt,Jre)=>{var nZe=800,iZe=16,sZe=Date.now;function oZe(t){var e=0,r=0;return function(){var o=sZe(),a=iZe-(o-r);if(r=o,a>0){if(++e>=nZe)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}Jre.exports=oZe});var hN=_((ATt,Xre)=>{var aZe=zre(),lZe=Vre(),cZe=lZe(aZe);Xre.exports=cZe});var $re=_((fTt,Zre)=>{var uZe=fN(),AZe=pN(),fZe=hN();function pZe(t,e){return fZe(AZe(t,e,uZe),t+"")}Zre.exports=pZe});var tne=_((pTt,ene)=>{var hZe=Ty(),gZe=HI(),dZe=MI(),mZe=sl();function yZe(t,e,r){if(!mZe(r))return!1;var o=typeof e;return(o=="number"?gZe(r)&&dZe(e,r.length):o=="string"&&e in r)?hZe(r[e],t):!1}ene.exports=yZe});var nne=_((hTt,rne)=>{var EZe=$re(),CZe=tne();function wZe(t){return EZe(function(e,r){var o=-1,a=r.length,n=a>1?r[a-1]:void 0,u=a>2?r[2]:void 0;for(n=t.length>3&&typeof n=="function"?(a--,n):void 0,u&&CZe(r[0],r[1],u)&&(n=a<3?void 0:n,a=1),e=Object(e);++o{var IZe=Mre(),BZe=nne(),vZe=BZe(function(t,e,r,o){IZe(t,e,r,o)});ine.exports=vZe});var He={};zt(He,{AsyncActions:()=>mN,BufferStream:()=>dN,CachingStrategy:()=>mne,DefaultStream:()=>yN,allSettledSafe:()=>_c,assertNever:()=>CN,bufferStream:()=>Wy,buildIgnorePattern:()=>QZe,convertMapsToIndexableObjects:()=>iS,dynamicRequire:()=>Pf,escapeRegExp:()=>DZe,getArrayWithDefault:()=>WI,getFactoryWithDefault:()=>al,getMapWithDefault:()=>KI,getSetWithDefault:()=>jy,groupBy:()=>TZe,isIndexableObject:()=>gN,isPathLike:()=>RZe,isTaggedYarnVersion:()=>PZe,makeDeferred:()=>hne,mapAndFilter:()=>ol,mapAndFind:()=>YI,mergeIntoTarget:()=>Ene,overrideType:()=>SZe,parseBoolean:()=>zI,parseInt:()=>Ky,parseOptionalBoolean:()=>yne,plural:()=>nS,prettifyAsyncErrors:()=>Yy,prettifySyncErrors:()=>wN,releaseAfterUseAsync:()=>xZe,replaceEnvVariables:()=>sS,sortMap:()=>Rs,toMerged:()=>FZe,tryParseOptionalBoolean:()=>IN,validateEnum:()=>bZe});function PZe(t){return!!(Ane.default.valid(t)&&t.match(/^[^-]+(-rc\.[0-9]+)?$/))}function nS(t,{one:e,more:r,zero:o=r}){return t===0?o:t===1?e:r}function DZe(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function SZe(t){}function CN(t){throw new Error(`Assertion failed: Unexpected object '${t}'`)}function bZe(t,e){let r=Object.values(t);if(!r.includes(e))throw new st(`Invalid value for enumeration: ${JSON.stringify(e)} (expected one of ${r.map(o=>JSON.stringify(o)).join(", ")})`);return e}function ol(t,e){let r=[];for(let o of t){let a=e(o);a!==fne&&r.push(a)}return r}function YI(t,e){for(let r of t){let o=e(r);if(o!==pne)return o}}function gN(t){return typeof t=="object"&&t!==null}async function _c(t){let e=await Promise.allSettled(t),r=[];for(let o of e){if(o.status==="rejected")throw o.reason;r.push(o.value)}return r}function iS(t){if(t instanceof Map&&(t=Object.fromEntries(t)),gN(t))for(let e of Object.keys(t)){let r=t[e];gN(r)&&(t[e]=iS(r))}return t}function al(t,e,r){let o=t.get(e);return typeof o>"u"&&t.set(e,o=r()),o}function WI(t,e){let r=t.get(e);return typeof r>"u"&&t.set(e,r=[]),r}function jy(t,e){let r=t.get(e);return typeof r>"u"&&t.set(e,r=new Set),r}function KI(t,e){let r=t.get(e);return typeof r>"u"&&t.set(e,r=new Map),r}async function xZe(t,e){if(e==null)return await t();try{return await t()}finally{await e()}}async function Yy(t,e){try{return await t()}catch(r){throw r.message=e(r.message),r}}function wN(t,e){try{return t()}catch(r){throw r.message=e(r.message),r}}async function Wy(t){return await new Promise((e,r)=>{let o=[];t.on("error",a=>{r(a)}),t.on("data",a=>{o.push(a)}),t.on("end",()=>{e(Buffer.concat(o))})})}function hne(){let t,e;return{promise:new Promise((o,a)=>{t=o,e=a}),resolve:t,reject:e}}function gne(t){return jI(ue.fromPortablePath(t))}function dne(path){let physicalPath=ue.fromPortablePath(path),currentCacheEntry=jI.cache[physicalPath];delete jI.cache[physicalPath];let result;try{result=gne(physicalPath);let freshCacheEntry=jI.cache[physicalPath],dynamicModule=eval("module"),freshCacheIndex=dynamicModule.children.indexOf(freshCacheEntry);freshCacheIndex!==-1&&dynamicModule.children.splice(freshCacheIndex,1)}finally{jI.cache[physicalPath]=currentCacheEntry}return result}function kZe(t){let e=one.get(t),r=oe.statSync(t);if(e?.mtime===r.mtimeMs)return e.instance;let o=dne(t);return one.set(t,{mtime:r.mtimeMs,instance:o}),o}function Pf(t,{cachingStrategy:e=2}={}){switch(e){case 0:return dne(t);case 1:return kZe(t);case 2:return gne(t);default:throw new Error("Unsupported caching strategy")}}function Rs(t,e){let r=Array.from(t);Array.isArray(e)||(e=[e]);let o=[];for(let n of e)o.push(r.map(u=>n(u)));let a=r.map((n,u)=>u);return a.sort((n,u)=>{for(let A of o){let p=A[n]A[u]?1:0;if(p!==0)return p}return 0}),a.map(n=>r[n])}function QZe(t){return t.length===0?null:t.map(e=>`(${cne.default.makeRe(e,{windows:!1,dot:!0}).source})`).join("|")}function sS(t,{env:e}){let r=/\${(?[\d\w_]+)(?:)?(?:-(?[^}]*))?}/g;return t.replace(r,(...o)=>{let{variableName:a,colon:n,fallback:u}=o[o.length-1],A=Object.hasOwn(e,a),p=e[a];if(p||A&&!n)return p;if(u!=null)return u;throw new st(`Environment variable not found (${a})`)})}function zI(t){switch(t){case"true":case"1":case 1:case!0:return!0;case"false":case"0":case 0:case!1:return!1;default:throw new Error(`Couldn't parse "${t}" as a boolean`)}}function yne(t){return typeof t>"u"?t:zI(t)}function IN(t){try{return yne(t)}catch{return null}}function RZe(t){return!!(ue.isAbsolute(t)||t.match(/^(\.{1,2}|~)\//))}function Ene(t,...e){let r=u=>({value:u}),o=r(t),a=e.map(u=>r(u)),{value:n}=(0,lne.default)(o,...a,(u,A)=>{if(Array.isArray(u)&&Array.isArray(A)){for(let p of A)u.find(h=>(0,ane.default)(h,p))||u.push(p);return u}});return n}function FZe(...t){return Ene({},...t)}function TZe(t,e){let r=Object.create(null);for(let o of t){let a=o[e];r[a]??=[],r[a].push(o)}return r}function Ky(t){return typeof t=="string"?Number.parseInt(t,10):t}var ane,lne,cne,une,Ane,EN,fne,pne,dN,mN,yN,jI,one,mne,Gl=Et(()=>{Dt();qt();ane=Ze(zte()),lne=Ze(sne()),cne=Ze(Xo()),une=Ze(sd()),Ane=Ze(Vn()),EN=ve("stream");fne=Symbol();ol.skip=fne;pne=Symbol();YI.skip=pne;dN=class extends EN.Transform{constructor(){super(...arguments);this.chunks=[]}_transform(r,o,a){if(o!=="buffer"||!Buffer.isBuffer(r))throw new Error("Assertion failed: BufferStream only accept buffers");this.chunks.push(r),a(null,null)}_flush(r){r(null,Buffer.concat(this.chunks))}};mN=class{constructor(e){this.deferred=new Map;this.promises=new Map;this.limit=(0,une.default)(e)}set(e,r){let o=this.deferred.get(e);typeof o>"u"&&this.deferred.set(e,o=hne());let a=this.limit(()=>r());return this.promises.set(e,a),a.then(()=>{this.promises.get(e)===a&&o.resolve()},n=>{this.promises.get(e)===a&&o.reject(n)}),o.promise}reduce(e,r){let o=this.promises.get(e)??Promise.resolve();this.set(e,()=>r(o))}async wait(){await Promise.all(this.promises.values())}},yN=class extends EN.Transform{constructor(r=Buffer.alloc(0)){super();this.active=!0;this.ifEmpty=r}_transform(r,o,a){if(o!=="buffer"||!Buffer.isBuffer(r))throw new Error("Assertion failed: DefaultStream only accept buffers");this.active=!1,a(null,r)}_flush(r){this.active&&this.ifEmpty.length>0?r(null,this.ifEmpty):r(null)}},jI=eval("require");one=new Map;mne=(o=>(o[o.NoCache=0]="NoCache",o[o.FsTime=1]="FsTime",o[o.Node=2]="Node",o))(mne||{})});var zy,BN,vN,Cne=Et(()=>{zy=(r=>(r.HARD="HARD",r.SOFT="SOFT",r))(zy||{}),BN=(o=>(o.Dependency="Dependency",o.PeerDependency="PeerDependency",o.PeerDependencyMeta="PeerDependencyMeta",o))(BN||{}),vN=(o=>(o.Inactive="inactive",o.Redundant="redundant",o.Active="active",o))(vN||{})});var pe={};zt(pe,{LogLevel:()=>uS,Style:()=>aS,Type:()=>yt,addLogFilterSupport:()=>XI,applyColor:()=>Vs,applyHyperlink:()=>Vy,applyStyle:()=>yd,json:()=>Ed,jsonOrPretty:()=>OZe,mark:()=>xN,pretty:()=>Ut,prettyField:()=>Xu,prettyList:()=>bN,prettyTruncatedLocatorList:()=>cS,stripAnsi:()=>Jy.default,supportsColor:()=>lS,supportsHyperlinks:()=>SN,tuple:()=>Hc});function wne(t){let e=["KiB","MiB","GiB","TiB"],r=e.length;for(;r>1&&t<1024**r;)r-=1;let o=1024**r;return`${Math.floor(t*100/o)/100} ${e[r-1]}`}function Hc(t,e){return[e,t]}function yd(t,e,r){return t.get("enableColors")&&r&2&&(e=VI.default.bold(e)),e}function Vs(t,e,r){if(!t.get("enableColors"))return e;let o=LZe.get(r);if(o===null)return e;let a=typeof o>"u"?r:DN.level>=3?o[0]:o[1],n=typeof a=="number"?PN.ansi256(a):a.startsWith("#")?PN.hex(a):PN[a];if(typeof n!="function")throw new Error(`Invalid format type ${a}`);return n(e)}function Vy(t,e,r){return t.get("enableHyperlinks")?NZe?`\x1B]8;;${r}\x1B\\${e}\x1B]8;;\x1B\\`:`\x1B]8;;${r}\x07${e}\x1B]8;;\x07`:e}function Ut(t,e,r){if(e===null)return Vs(t,"null",yt.NULL);if(Object.hasOwn(oS,r))return oS[r].pretty(t,e);if(typeof e!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof e}`);return Vs(t,e,r)}function bN(t,e,r,{separator:o=", "}={}){return[...e].map(a=>Ut(t,a,r)).join(o)}function Ed(t,e){if(t===null)return null;if(Object.hasOwn(oS,e))return oS[e].json(t);if(typeof t!="string")throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof t}`);return t}function OZe(t,e,[r,o]){return t?Ed(r,o):Ut(e,r,o)}function xN(t){return{Check:Vs(t,"\u2713","green"),Cross:Vs(t,"\u2718","red"),Question:Vs(t,"?","cyan")}}function Xu(t,{label:e,value:[r,o]}){return`${Ut(t,e,yt.CODE)}: ${Ut(t,r,o)}`}function cS(t,e,r){let o=[],a=[...e],n=r;for(;a.length>0;){let h=a[0],E=`${qr(t,h)}, `,I=kN(h).length+2;if(o.length>0&&nh).join("").slice(0,-2);let u="X".repeat(a.length.toString().length),A=`and ${u} more.`,p=a.length;for(;o.length>1&&nh).join(""),A.replace(u,Ut(t,p,yt.NUMBER))].join("")}function XI(t,{configuration:e}){let r=e.get("logFilters"),o=new Map,a=new Map,n=[];for(let I of r){let v=I.get("level");if(typeof v>"u")continue;let x=I.get("code");typeof x<"u"&&o.set(x,v);let C=I.get("text");typeof C<"u"&&a.set(C,v);let F=I.get("pattern");typeof F<"u"&&n.push([Ine.default.matcher(F,{contains:!0}),v])}n.reverse();let u=(I,v,x)=>{if(I===null||I===0)return x;let C=a.size>0||n.length>0?(0,Jy.default)(v):v;if(a.size>0){let F=a.get(C);if(typeof F<"u")return F??x}if(n.length>0){for(let[F,N]of n)if(F(C))return N??x}if(o.size>0){let F=o.get(Ku(I));if(typeof F<"u")return F??x}return x},A=t.reportInfo,p=t.reportWarning,h=t.reportError,E=function(I,v,x,C){switch(u(v,x,C)){case"info":A.call(I,v,x);break;case"warning":p.call(I,v??0,x);break;case"error":h.call(I,v??0,x);break}};t.reportInfo=function(...I){return E(this,...I,"info")},t.reportWarning=function(...I){return E(this,...I,"warning")},t.reportError=function(...I){return E(this,...I,"error")}}var VI,JI,Ine,Jy,Bne,yt,aS,DN,lS,SN,PN,LZe,Do,oS,NZe,uS,jl=Et(()=>{Dt();VI=Ze(BL()),JI=Ze(rd());qt();Ine=Ze(Xo()),Jy=Ze(OD()),Bne=ve("util");pD();So();yt={NO_HINT:"NO_HINT",ID:"ID",NULL:"NULL",SCOPE:"SCOPE",NAME:"NAME",RANGE:"RANGE",REFERENCE:"REFERENCE",NUMBER:"NUMBER",PATH:"PATH",URL:"URL",ADDED:"ADDED",REMOVED:"REMOVED",CODE:"CODE",INSPECT:"INSPECT",DURATION:"DURATION",SIZE:"SIZE",SIZE_DIFF:"SIZE_DIFF",IDENT:"IDENT",DESCRIPTOR:"DESCRIPTOR",LOCATOR:"LOCATOR",RESOLUTION:"RESOLUTION",DEPENDENT:"DEPENDENT",PACKAGE_EXTENSION:"PACKAGE_EXTENSION",SETTING:"SETTING",MARKDOWN:"MARKDOWN",MARKDOWN_INLINE:"MARKDOWN_INLINE"},aS=(e=>(e[e.BOLD=2]="BOLD",e))(aS||{}),DN=JI.default.GITHUB_ACTIONS?{level:2}:VI.default.supportsColor?{level:VI.default.supportsColor.level}:{level:0},lS=DN.level!==0,SN=lS&&!JI.default.GITHUB_ACTIONS&&!JI.default.CIRCLE&&!JI.default.GITLAB,PN=new VI.default.Instance(DN),LZe=new Map([[yt.NO_HINT,null],[yt.NULL,["#a853b5",129]],[yt.SCOPE,["#d75f00",166]],[yt.NAME,["#d7875f",173]],[yt.RANGE,["#00afaf",37]],[yt.REFERENCE,["#87afff",111]],[yt.NUMBER,["#ffd700",220]],[yt.PATH,["#d75fd7",170]],[yt.URL,["#d75fd7",170]],[yt.ADDED,["#5faf00",70]],[yt.REMOVED,["#ff3131",160]],[yt.CODE,["#87afff",111]],[yt.SIZE,["#ffd700",220]]]),Do=t=>t;oS={[yt.ID]:Do({pretty:(t,e)=>typeof e=="number"?Vs(t,`${e}`,yt.NUMBER):Vs(t,e,yt.CODE),json:t=>t}),[yt.INSPECT]:Do({pretty:(t,e)=>(0,Bne.inspect)(e,{depth:1/0,colors:t.get("enableColors"),compact:!0,breakLength:1/0}),json:t=>t}),[yt.NUMBER]:Do({pretty:(t,e)=>Vs(t,`${e}`,yt.NUMBER),json:t=>t}),[yt.IDENT]:Do({pretty:(t,e)=>us(t,e),json:t=>rn(t)}),[yt.LOCATOR]:Do({pretty:(t,e)=>qr(t,e),json:t=>ba(t)}),[yt.DESCRIPTOR]:Do({pretty:(t,e)=>Gn(t,e),json:t=>Sa(t)}),[yt.RESOLUTION]:Do({pretty:(t,{descriptor:e,locator:r})=>ZI(t,e,r),json:({descriptor:t,locator:e})=>({descriptor:Sa(t),locator:e!==null?ba(e):null})}),[yt.DEPENDENT]:Do({pretty:(t,{locator:e,descriptor:r})=>QN(t,e,r),json:({locator:t,descriptor:e})=>({locator:ba(t),descriptor:Sa(e)})}),[yt.PACKAGE_EXTENSION]:Do({pretty:(t,e)=>{switch(e.type){case"Dependency":return`${us(t,e.parentDescriptor)} \u27A4 ${Vs(t,"dependencies",yt.CODE)} \u27A4 ${us(t,e.descriptor)}`;case"PeerDependency":return`${us(t,e.parentDescriptor)} \u27A4 ${Vs(t,"peerDependencies",yt.CODE)} \u27A4 ${us(t,e.descriptor)}`;case"PeerDependencyMeta":return`${us(t,e.parentDescriptor)} \u27A4 ${Vs(t,"peerDependenciesMeta",yt.CODE)} \u27A4 ${us(t,Zo(e.selector))} \u27A4 ${Vs(t,e.key,yt.CODE)}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${e.type}`)}},json:t=>{switch(t.type){case"Dependency":return`${rn(t.parentDescriptor)} > ${rn(t.descriptor)}`;case"PeerDependency":return`${rn(t.parentDescriptor)} >> ${rn(t.descriptor)}`;case"PeerDependencyMeta":return`${rn(t.parentDescriptor)} >> ${t.selector} / ${t.key}`;default:throw new Error(`Assertion failed: Unsupported package extension type: ${t.type}`)}}}),[yt.SETTING]:Do({pretty:(t,e)=>(t.get(e),Vy(t,Vs(t,e,yt.CODE),`https://yarnpkg.com/configuration/yarnrc#${e}`)),json:t=>t}),[yt.DURATION]:Do({pretty:(t,e)=>{if(e>1e3*60){let r=Math.floor(e/1e3/60),o=Math.ceil((e-r*60*1e3)/1e3);return o===0?`${r}m`:`${r}m ${o}s`}else{let r=Math.floor(e/1e3),o=e-r*1e3;return o===0?`${r}s`:`${r}s ${o}ms`}},json:t=>t}),[yt.SIZE]:Do({pretty:(t,e)=>Vs(t,wne(e),yt.NUMBER),json:t=>t}),[yt.SIZE_DIFF]:Do({pretty:(t,e)=>{let r=e>=0?"+":"-",o=r==="+"?yt.REMOVED:yt.ADDED;return Vs(t,`${r} ${wne(Math.max(Math.abs(e),1))}`,o)},json:t=>t}),[yt.PATH]:Do({pretty:(t,e)=>Vs(t,ue.fromPortablePath(e),yt.PATH),json:t=>ue.fromPortablePath(t)}),[yt.MARKDOWN]:Do({pretty:(t,{text:e,format:r,paragraphs:o})=>vo(e,{format:r,paragraphs:o}),json:({text:t})=>t}),[yt.MARKDOWN_INLINE]:Do({pretty:(t,e)=>(e=e.replace(/(`+)((?:.|[\n])*?)\1/g,(r,o,a)=>Ut(t,o+a+o,yt.CODE)),e=e.replace(/(\*\*)((?:.|[\n])*?)\1/g,(r,o,a)=>yd(t,a,2)),e),json:t=>t})};NZe=!!process.env.KONSOLE_VERSION;uS=(a=>(a.Error="error",a.Warning="warning",a.Info="info",a.Discard="discard",a))(uS||{})});var vne=_(Xy=>{"use strict";Object.defineProperty(Xy,"__esModule",{value:!0});Xy.splitWhen=Xy.flatten=void 0;function MZe(t){return t.reduce((e,r)=>[].concat(e,r),[])}Xy.flatten=MZe;function UZe(t,e){let r=[[]],o=0;for(let a of t)e(a)?(o++,r[o]=[]):r[o].push(a);return r}Xy.splitWhen=UZe});var Pne=_(AS=>{"use strict";Object.defineProperty(AS,"__esModule",{value:!0});AS.isEnoentCodeError=void 0;function _Ze(t){return t.code==="ENOENT"}AS.isEnoentCodeError=_Ze});var Dne=_(fS=>{"use strict";Object.defineProperty(fS,"__esModule",{value:!0});fS.createDirentFromStats=void 0;var RN=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function HZe(t,e){return new RN(t,e)}fS.createDirentFromStats=HZe});var Sne=_(Zu=>{"use strict";Object.defineProperty(Zu,"__esModule",{value:!0});Zu.removeLeadingDotSegment=Zu.escape=Zu.makeAbsolute=Zu.unixify=void 0;var qZe=ve("path"),GZe=2,jZe=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g;function YZe(t){return t.replace(/\\/g,"/")}Zu.unixify=YZe;function WZe(t,e){return qZe.resolve(t,e)}Zu.makeAbsolute=WZe;function KZe(t){return t.replace(jZe,"\\$2")}Zu.escape=KZe;function zZe(t){if(t.charAt(0)==="."){let e=t.charAt(1);if(e==="/"||e==="\\")return t.slice(GZe)}return t}Zu.removeLeadingDotSegment=zZe});var xne=_((kTt,bne)=>{bne.exports=function(e){if(typeof e!="string"||e==="")return!1;for(var r;r=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(r[2])return!0;e=e.slice(r.index+r[0].length)}return!1}});var Rne=_((QTt,Qne)=>{var JZe=xne(),kne={"{":"}","(":")","[":"]"},VZe=function(t){if(t[0]==="!")return!0;for(var e=0,r=-2,o=-2,a=-2,n=-2,u=-2;ee&&(u===-1||u>o||(u=t.indexOf("\\",e),u===-1||u>o)))||a!==-1&&t[e]==="{"&&t[e+1]!=="}"&&(a=t.indexOf("}",e),a>e&&(u=t.indexOf("\\",e),u===-1||u>a))||n!==-1&&t[e]==="("&&t[e+1]==="?"&&/[:!=]/.test(t[e+2])&&t[e+3]!==")"&&(n=t.indexOf(")",e),n>e&&(u=t.indexOf("\\",e),u===-1||u>n))||r!==-1&&t[e]==="("&&t[e+1]!=="|"&&(rr&&(u=t.indexOf("\\",r),u===-1||u>n))))return!0;if(t[e]==="\\"){var A=t[e+1];e+=2;var p=kne[A];if(p){var h=t.indexOf(p,e);h!==-1&&(e=h+1)}if(t[e]==="!")return!0}else e++}return!1},XZe=function(t){if(t[0]==="!")return!0;for(var e=0;e{"use strict";var ZZe=Rne(),$Ze=ve("path").posix.dirname,e$e=ve("os").platform()==="win32",FN="/",t$e=/\\/g,r$e=/[\{\[].*[\}\]]$/,n$e=/(^|[^\\])([\{\[]|\([^\)]+$)/,i$e=/\\([\!\*\?\|\[\]\(\)\{\}])/g;Fne.exports=function(e,r){var o=Object.assign({flipBackslashes:!0},r);o.flipBackslashes&&e$e&&e.indexOf(FN)<0&&(e=e.replace(t$e,FN)),r$e.test(e)&&(e+=FN),e+="a";do e=$Ze(e);while(ZZe(e)||n$e.test(e));return e.replace(i$e,"$1")}});var qne=_(Gr=>{"use strict";Object.defineProperty(Gr,"__esModule",{value:!0});Gr.matchAny=Gr.convertPatternsToRe=Gr.makeRe=Gr.getPatternParts=Gr.expandBraceExpansion=Gr.expandPatternsWithBraceExpansion=Gr.isAffectDepthOfReadingPattern=Gr.endsWithSlashGlobStar=Gr.hasGlobStar=Gr.getBaseDirectory=Gr.isPatternRelatedToParentDirectory=Gr.getPatternsOutsideCurrentDirectory=Gr.getPatternsInsideCurrentDirectory=Gr.getPositivePatterns=Gr.getNegativePatterns=Gr.isPositivePattern=Gr.isNegativePattern=Gr.convertToNegativePattern=Gr.convertToPositivePattern=Gr.isDynamicPattern=Gr.isStaticPattern=void 0;var s$e=ve("path"),o$e=Tne(),TN=Xo(),Lne="**",a$e="\\",l$e=/[*?]|^!/,c$e=/\[[^[]*]/,u$e=/(?:^|[^!*+?@])\([^(]*\|[^|]*\)/,A$e=/[!*+?@]\([^(]*\)/,f$e=/,|\.\./;function Nne(t,e={}){return!One(t,e)}Gr.isStaticPattern=Nne;function One(t,e={}){return t===""?!1:!!(e.caseSensitiveMatch===!1||t.includes(a$e)||l$e.test(t)||c$e.test(t)||u$e.test(t)||e.extglob!==!1&&A$e.test(t)||e.braceExpansion!==!1&&p$e(t))}Gr.isDynamicPattern=One;function p$e(t){let e=t.indexOf("{");if(e===-1)return!1;let r=t.indexOf("}",e+1);if(r===-1)return!1;let o=t.slice(e,r);return f$e.test(o)}function h$e(t){return pS(t)?t.slice(1):t}Gr.convertToPositivePattern=h$e;function g$e(t){return"!"+t}Gr.convertToNegativePattern=g$e;function pS(t){return t.startsWith("!")&&t[1]!=="("}Gr.isNegativePattern=pS;function Mne(t){return!pS(t)}Gr.isPositivePattern=Mne;function d$e(t){return t.filter(pS)}Gr.getNegativePatterns=d$e;function m$e(t){return t.filter(Mne)}Gr.getPositivePatterns=m$e;function y$e(t){return t.filter(e=>!LN(e))}Gr.getPatternsInsideCurrentDirectory=y$e;function E$e(t){return t.filter(LN)}Gr.getPatternsOutsideCurrentDirectory=E$e;function LN(t){return t.startsWith("..")||t.startsWith("./..")}Gr.isPatternRelatedToParentDirectory=LN;function C$e(t){return o$e(t,{flipBackslashes:!1})}Gr.getBaseDirectory=C$e;function w$e(t){return t.includes(Lne)}Gr.hasGlobStar=w$e;function Une(t){return t.endsWith("/"+Lne)}Gr.endsWithSlashGlobStar=Une;function I$e(t){let e=s$e.basename(t);return Une(t)||Nne(e)}Gr.isAffectDepthOfReadingPattern=I$e;function B$e(t){return t.reduce((e,r)=>e.concat(_ne(r)),[])}Gr.expandPatternsWithBraceExpansion=B$e;function _ne(t){return TN.braces(t,{expand:!0,nodupes:!0})}Gr.expandBraceExpansion=_ne;function v$e(t,e){let{parts:r}=TN.scan(t,Object.assign(Object.assign({},e),{parts:!0}));return r.length===0&&(r=[t]),r[0].startsWith("/")&&(r[0]=r[0].slice(1),r.unshift("")),r}Gr.getPatternParts=v$e;function Hne(t,e){return TN.makeRe(t,e)}Gr.makeRe=Hne;function P$e(t,e){return t.map(r=>Hne(r,e))}Gr.convertPatternsToRe=P$e;function D$e(t,e){return e.some(r=>r.test(t))}Gr.matchAny=D$e});var Wne=_((TTt,Yne)=>{"use strict";var S$e=ve("stream"),Gne=S$e.PassThrough,b$e=Array.prototype.slice;Yne.exports=x$e;function x$e(){let t=[],e=b$e.call(arguments),r=!1,o=e[e.length-1];o&&!Array.isArray(o)&&o.pipe==null?e.pop():o={};let a=o.end!==!1,n=o.pipeError===!0;o.objectMode==null&&(o.objectMode=!0),o.highWaterMark==null&&(o.highWaterMark=64*1024);let u=Gne(o);function A(){for(let E=0,I=arguments.length;E0||(r=!1,p())}function x(C){function F(){C.removeListener("merge2UnpipeEnd",F),C.removeListener("end",F),n&&C.removeListener("error",N),v()}function N(U){u.emit("error",U)}if(C._readableState.endEmitted)return v();C.on("merge2UnpipeEnd",F),C.on("end",F),n&&C.on("error",N),C.pipe(u,{end:!1}),C.resume()}for(let C=0;C{"use strict";Object.defineProperty(hS,"__esModule",{value:!0});hS.merge=void 0;var k$e=Wne();function Q$e(t){let e=k$e(t);return t.forEach(r=>{r.once("error",o=>e.emit("error",o))}),e.once("close",()=>Kne(t)),e.once("end",()=>Kne(t)),e}hS.merge=Q$e;function Kne(t){t.forEach(e=>e.emit("close"))}});var Jne=_(Zy=>{"use strict";Object.defineProperty(Zy,"__esModule",{value:!0});Zy.isEmpty=Zy.isString=void 0;function R$e(t){return typeof t=="string"}Zy.isString=R$e;function F$e(t){return t===""}Zy.isEmpty=F$e});var Df=_(bo=>{"use strict";Object.defineProperty(bo,"__esModule",{value:!0});bo.string=bo.stream=bo.pattern=bo.path=bo.fs=bo.errno=bo.array=void 0;var T$e=vne();bo.array=T$e;var L$e=Pne();bo.errno=L$e;var N$e=Dne();bo.fs=N$e;var O$e=Sne();bo.path=O$e;var M$e=qne();bo.pattern=M$e;var U$e=zne();bo.stream=U$e;var _$e=Jne();bo.string=_$e});var Zne=_(xo=>{"use strict";Object.defineProperty(xo,"__esModule",{value:!0});xo.convertPatternGroupToTask=xo.convertPatternGroupsToTasks=xo.groupPatternsByBaseDirectory=xo.getNegativePatternsAsPositive=xo.getPositivePatterns=xo.convertPatternsToTasks=xo.generate=void 0;var Sf=Df();function H$e(t,e){let r=Vne(t),o=Xne(t,e.ignore),a=r.filter(p=>Sf.pattern.isStaticPattern(p,e)),n=r.filter(p=>Sf.pattern.isDynamicPattern(p,e)),u=NN(a,o,!1),A=NN(n,o,!0);return u.concat(A)}xo.generate=H$e;function NN(t,e,r){let o=[],a=Sf.pattern.getPatternsOutsideCurrentDirectory(t),n=Sf.pattern.getPatternsInsideCurrentDirectory(t),u=ON(a),A=ON(n);return o.push(...MN(u,e,r)),"."in A?o.push(UN(".",n,e,r)):o.push(...MN(A,e,r)),o}xo.convertPatternsToTasks=NN;function Vne(t){return Sf.pattern.getPositivePatterns(t)}xo.getPositivePatterns=Vne;function Xne(t,e){return Sf.pattern.getNegativePatterns(t).concat(e).map(Sf.pattern.convertToPositivePattern)}xo.getNegativePatternsAsPositive=Xne;function ON(t){let e={};return t.reduce((r,o)=>{let a=Sf.pattern.getBaseDirectory(o);return a in r?r[a].push(o):r[a]=[o],r},e)}xo.groupPatternsByBaseDirectory=ON;function MN(t,e,r){return Object.keys(t).map(o=>UN(o,t[o],e,r))}xo.convertPatternGroupsToTasks=MN;function UN(t,e,r,o){return{dynamic:o,positive:e,negative:r,base:t,patterns:[].concat(e,r.map(Sf.pattern.convertToNegativePattern))}}xo.convertPatternGroupToTask=UN});var eie=_($y=>{"use strict";Object.defineProperty($y,"__esModule",{value:!0});$y.removeDuplicateSlashes=$y.transform=void 0;var q$e=/(?!^)\/{2,}/g;function G$e(t){return t.map(e=>$ne(e))}$y.transform=G$e;function $ne(t){return t.replace(q$e,"/")}$y.removeDuplicateSlashes=$ne});var rie=_(gS=>{"use strict";Object.defineProperty(gS,"__esModule",{value:!0});gS.read=void 0;function j$e(t,e,r){e.fs.lstat(t,(o,a)=>{if(o!==null){tie(r,o);return}if(!a.isSymbolicLink()||!e.followSymbolicLink){_N(r,a);return}e.fs.stat(t,(n,u)=>{if(n!==null){if(e.throwErrorOnBrokenSymbolicLink){tie(r,n);return}_N(r,a);return}e.markSymbolicLink&&(u.isSymbolicLink=()=>!0),_N(r,u)})})}gS.read=j$e;function tie(t,e){t(e)}function _N(t,e){t(null,e)}});var nie=_(dS=>{"use strict";Object.defineProperty(dS,"__esModule",{value:!0});dS.read=void 0;function Y$e(t,e){let r=e.fs.lstatSync(t);if(!r.isSymbolicLink()||!e.followSymbolicLink)return r;try{let o=e.fs.statSync(t);return e.markSymbolicLink&&(o.isSymbolicLink=()=>!0),o}catch(o){if(!e.throwErrorOnBrokenSymbolicLink)return r;throw o}}dS.read=Y$e});var iie=_(Zp=>{"use strict";Object.defineProperty(Zp,"__esModule",{value:!0});Zp.createFileSystemAdapter=Zp.FILE_SYSTEM_ADAPTER=void 0;var mS=ve("fs");Zp.FILE_SYSTEM_ADAPTER={lstat:mS.lstat,stat:mS.stat,lstatSync:mS.lstatSync,statSync:mS.statSync};function W$e(t){return t===void 0?Zp.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},Zp.FILE_SYSTEM_ADAPTER),t)}Zp.createFileSystemAdapter=W$e});var sie=_(qN=>{"use strict";Object.defineProperty(qN,"__esModule",{value:!0});var K$e=iie(),HN=class{constructor(e={}){this._options=e,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=K$e.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(e,r){return e??r}};qN.default=HN});var Cd=_($p=>{"use strict";Object.defineProperty($p,"__esModule",{value:!0});$p.statSync=$p.stat=$p.Settings=void 0;var oie=rie(),z$e=nie(),GN=sie();$p.Settings=GN.default;function J$e(t,e,r){if(typeof e=="function"){oie.read(t,jN(),e);return}oie.read(t,jN(e),r)}$p.stat=J$e;function V$e(t,e){let r=jN(e);return z$e.read(t,r)}$p.statSync=V$e;function jN(t={}){return t instanceof GN.default?t:new GN.default(t)}});var lie=_((YTt,aie)=>{aie.exports=X$e;function X$e(t,e){var r,o,a,n=!0;Array.isArray(t)?(r=[],o=t.length):(a=Object.keys(t),r={},o=a.length);function u(p){function h(){e&&e(p,r),e=null}n?process.nextTick(h):h()}function A(p,h,E){r[p]=E,(--o===0||h)&&u(h)}o?a?a.forEach(function(p){t[p](function(h,E){A(p,h,E)})}):t.forEach(function(p,h){p(function(E,I){A(h,E,I)})}):u(null),n=!1}});var YN=_(ES=>{"use strict";Object.defineProperty(ES,"__esModule",{value:!0});ES.IS_SUPPORT_READDIR_WITH_FILE_TYPES=void 0;var yS=process.versions.node.split(".");if(yS[0]===void 0||yS[1]===void 0)throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);var cie=Number.parseInt(yS[0],10),Z$e=Number.parseInt(yS[1],10),uie=10,$$e=10,eet=cie>uie,tet=cie===uie&&Z$e>=$$e;ES.IS_SUPPORT_READDIR_WITH_FILE_TYPES=eet||tet});var Aie=_(CS=>{"use strict";Object.defineProperty(CS,"__esModule",{value:!0});CS.createDirentFromStats=void 0;var WN=class{constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function ret(t,e){return new WN(t,e)}CS.createDirentFromStats=ret});var KN=_(wS=>{"use strict";Object.defineProperty(wS,"__esModule",{value:!0});wS.fs=void 0;var net=Aie();wS.fs=net});var zN=_(IS=>{"use strict";Object.defineProperty(IS,"__esModule",{value:!0});IS.joinPathSegments=void 0;function iet(t,e,r){return t.endsWith(r)?t+e:t+r+e}IS.joinPathSegments=iet});var mie=_(eh=>{"use strict";Object.defineProperty(eh,"__esModule",{value:!0});eh.readdir=eh.readdirWithFileTypes=eh.read=void 0;var set=Cd(),fie=lie(),oet=YN(),pie=KN(),hie=zN();function aet(t,e,r){if(!e.stats&&oet.IS_SUPPORT_READDIR_WITH_FILE_TYPES){gie(t,e,r);return}die(t,e,r)}eh.read=aet;function gie(t,e,r){e.fs.readdir(t,{withFileTypes:!0},(o,a)=>{if(o!==null){BS(r,o);return}let n=a.map(A=>({dirent:A,name:A.name,path:hie.joinPathSegments(t,A.name,e.pathSegmentSeparator)}));if(!e.followSymbolicLinks){JN(r,n);return}let u=n.map(A=>cet(A,e));fie(u,(A,p)=>{if(A!==null){BS(r,A);return}JN(r,p)})})}eh.readdirWithFileTypes=gie;function cet(t,e){return r=>{if(!t.dirent.isSymbolicLink()){r(null,t);return}e.fs.stat(t.path,(o,a)=>{if(o!==null){if(e.throwErrorOnBrokenSymbolicLink){r(o);return}r(null,t);return}t.dirent=pie.fs.createDirentFromStats(t.name,a),r(null,t)})}}function die(t,e,r){e.fs.readdir(t,(o,a)=>{if(o!==null){BS(r,o);return}let n=a.map(u=>{let A=hie.joinPathSegments(t,u,e.pathSegmentSeparator);return p=>{set.stat(A,e.fsStatSettings,(h,E)=>{if(h!==null){p(h);return}let I={name:u,path:A,dirent:pie.fs.createDirentFromStats(u,E)};e.stats&&(I.stats=E),p(null,I)})}});fie(n,(u,A)=>{if(u!==null){BS(r,u);return}JN(r,A)})})}eh.readdir=die;function BS(t,e){t(e)}function JN(t,e){t(null,e)}});var Iie=_(th=>{"use strict";Object.defineProperty(th,"__esModule",{value:!0});th.readdir=th.readdirWithFileTypes=th.read=void 0;var uet=Cd(),Aet=YN(),yie=KN(),Eie=zN();function fet(t,e){return!e.stats&&Aet.IS_SUPPORT_READDIR_WITH_FILE_TYPES?Cie(t,e):wie(t,e)}th.read=fet;function Cie(t,e){return e.fs.readdirSync(t,{withFileTypes:!0}).map(o=>{let a={dirent:o,name:o.name,path:Eie.joinPathSegments(t,o.name,e.pathSegmentSeparator)};if(a.dirent.isSymbolicLink()&&e.followSymbolicLinks)try{let n=e.fs.statSync(a.path);a.dirent=yie.fs.createDirentFromStats(a.name,n)}catch(n){if(e.throwErrorOnBrokenSymbolicLink)throw n}return a})}th.readdirWithFileTypes=Cie;function wie(t,e){return e.fs.readdirSync(t).map(o=>{let a=Eie.joinPathSegments(t,o,e.pathSegmentSeparator),n=uet.statSync(a,e.fsStatSettings),u={name:o,path:a,dirent:yie.fs.createDirentFromStats(o,n)};return e.stats&&(u.stats=n),u})}th.readdir=wie});var Bie=_(rh=>{"use strict";Object.defineProperty(rh,"__esModule",{value:!0});rh.createFileSystemAdapter=rh.FILE_SYSTEM_ADAPTER=void 0;var eE=ve("fs");rh.FILE_SYSTEM_ADAPTER={lstat:eE.lstat,stat:eE.stat,lstatSync:eE.lstatSync,statSync:eE.statSync,readdir:eE.readdir,readdirSync:eE.readdirSync};function pet(t){return t===void 0?rh.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},rh.FILE_SYSTEM_ADAPTER),t)}rh.createFileSystemAdapter=pet});var vie=_(XN=>{"use strict";Object.defineProperty(XN,"__esModule",{value:!0});var het=ve("path"),get=Cd(),det=Bie(),VN=class{constructor(e={}){this._options=e,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=det.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,het.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new get.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e??r}};XN.default=VN});var vS=_(nh=>{"use strict";Object.defineProperty(nh,"__esModule",{value:!0});nh.Settings=nh.scandirSync=nh.scandir=void 0;var Pie=mie(),met=Iie(),ZN=vie();nh.Settings=ZN.default;function yet(t,e,r){if(typeof e=="function"){Pie.read(t,$N(),e);return}Pie.read(t,$N(e),r)}nh.scandir=yet;function Eet(t,e){let r=$N(e);return met.read(t,r)}nh.scandirSync=Eet;function $N(t={}){return t instanceof ZN.default?t:new ZN.default(t)}});var Sie=_((tLt,Die)=>{"use strict";function Cet(t){var e=new t,r=e;function o(){var n=e;return n.next?e=n.next:(e=new t,r=e),n.next=null,n}function a(n){r.next=n,r=n}return{get:o,release:a}}Die.exports=Cet});var xie=_((rLt,eO)=>{"use strict";var wet=Sie();function bie(t,e,r){if(typeof t=="function"&&(r=e,e=t,t=null),r<1)throw new Error("fastqueue concurrency must be greater than 1");var o=wet(Iet),a=null,n=null,u=0,A=null,p={push:F,drain:Yl,saturated:Yl,pause:E,paused:!1,concurrency:r,running:h,resume:x,idle:C,length:I,getQueue:v,unshift:N,empty:Yl,kill:J,killAndDrain:te,error:ae};return p;function h(){return u}function E(){p.paused=!0}function I(){for(var le=a,ce=0;le;)le=le.next,ce++;return ce}function v(){for(var le=a,ce=[];le;)ce.push(le.value),le=le.next;return ce}function x(){if(!!p.paused){p.paused=!1;for(var le=0;le{"use strict";Object.defineProperty($u,"__esModule",{value:!0});$u.joinPathSegments=$u.replacePathSegmentSeparator=$u.isAppliedFilter=$u.isFatalError=void 0;function vet(t,e){return t.errorFilter===null?!0:!t.errorFilter(e)}$u.isFatalError=vet;function Pet(t,e){return t===null||t(e)}$u.isAppliedFilter=Pet;function Det(t,e){return t.split(/[/\\]/).join(e)}$u.replacePathSegmentSeparator=Det;function bet(t,e,r){return t===""?e:t.endsWith(r)?t+e:t+r+e}$u.joinPathSegments=bet});var nO=_(rO=>{"use strict";Object.defineProperty(rO,"__esModule",{value:!0});var xet=PS(),tO=class{constructor(e,r){this._root=e,this._settings=r,this._root=xet.replacePathSegmentSeparator(e,r.pathSegmentSeparator)}};rO.default=tO});var oO=_(sO=>{"use strict";Object.defineProperty(sO,"__esModule",{value:!0});var ket=ve("events"),Qet=vS(),Ret=xie(),DS=PS(),Fet=nO(),iO=class extends Fet.default{constructor(e,r){super(e,r),this._settings=r,this._scandir=Qet.scandir,this._emitter=new ket.EventEmitter,this._queue=Ret(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit("end")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}get isDestroyed(){return this._isDestroyed}destroy(){if(this._isDestroyed)throw new Error("The reader is already destroyed");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(e){this._emitter.on("entry",e)}onError(e){this._emitter.once("error",e)}onEnd(e){this._emitter.once("end",e)}_pushToQueue(e,r){let o={directory:e,base:r};this._queue.push(o,a=>{a!==null&&this._handleError(a)})}_worker(e,r){this._scandir(e.directory,this._settings.fsScandirSettings,(o,a)=>{if(o!==null){r(o,void 0);return}for(let n of a)this._handleEntry(n,e.base);r(null,void 0)})}_handleError(e){this._isDestroyed||!DS.isFatalError(this._settings,e)||(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit("error",e))}_handleEntry(e,r){if(this._isDestroyed||this._isFatalError)return;let o=e.path;r!==void 0&&(e.path=DS.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),DS.isAppliedFilter(this._settings.entryFilter,e)&&this._emitEntry(e),e.dirent.isDirectory()&&DS.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(o,r===void 0?void 0:e.path)}_emitEntry(e){this._emitter.emit("entry",e)}};sO.default=iO});var kie=_(lO=>{"use strict";Object.defineProperty(lO,"__esModule",{value:!0});var Tet=oO(),aO=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new Tet.default(this._root,this._settings),this._storage=[]}read(e){this._reader.onError(r=>{Let(e,r)}),this._reader.onEntry(r=>{this._storage.push(r)}),this._reader.onEnd(()=>{Net(e,this._storage)}),this._reader.read()}};lO.default=aO;function Let(t,e){t(e)}function Net(t,e){t(null,e)}});var Qie=_(uO=>{"use strict";Object.defineProperty(uO,"__esModule",{value:!0});var Oet=ve("stream"),Met=oO(),cO=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new Met.default(this._root,this._settings),this._stream=new Oet.Readable({objectMode:!0,read:()=>{},destroy:()=>{this._reader.isDestroyed||this._reader.destroy()}})}read(){return this._reader.onError(e=>{this._stream.emit("error",e)}),this._reader.onEntry(e=>{this._stream.push(e)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}};uO.default=cO});var Rie=_(fO=>{"use strict";Object.defineProperty(fO,"__esModule",{value:!0});var Uet=vS(),SS=PS(),_et=nO(),AO=class extends _et.default{constructor(){super(...arguments),this._scandir=Uet.scandirSync,this._storage=[],this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),this._storage}_pushToQueue(e,r){this._queue.add({directory:e,base:r})}_handleQueue(){for(let e of this._queue.values())this._handleDirectory(e.directory,e.base)}_handleDirectory(e,r){try{let o=this._scandir(e,this._settings.fsScandirSettings);for(let a of o)this._handleEntry(a,r)}catch(o){this._handleError(o)}}_handleError(e){if(!!SS.isFatalError(this._settings,e))throw e}_handleEntry(e,r){let o=e.path;r!==void 0&&(e.path=SS.joinPathSegments(r,e.name,this._settings.pathSegmentSeparator)),SS.isAppliedFilter(this._settings.entryFilter,e)&&this._pushToStorage(e),e.dirent.isDirectory()&&SS.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(o,r===void 0?void 0:e.path)}_pushToStorage(e){this._storage.push(e)}};fO.default=AO});var Fie=_(hO=>{"use strict";Object.defineProperty(hO,"__esModule",{value:!0});var Het=Rie(),pO=class{constructor(e,r){this._root=e,this._settings=r,this._reader=new Het.default(this._root,this._settings)}read(){return this._reader.read()}};hO.default=pO});var Tie=_(dO=>{"use strict";Object.defineProperty(dO,"__esModule",{value:!0});var qet=ve("path"),Get=vS(),gO=class{constructor(e={}){this._options=e,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,Number.POSITIVE_INFINITY),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,qet.sep),this.fsScandirSettings=new Get.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(e,r){return e??r}};dO.default=gO});var xS=_(eA=>{"use strict";Object.defineProperty(eA,"__esModule",{value:!0});eA.Settings=eA.walkStream=eA.walkSync=eA.walk=void 0;var Lie=kie(),jet=Qie(),Yet=Fie(),mO=Tie();eA.Settings=mO.default;function Wet(t,e,r){if(typeof e=="function"){new Lie.default(t,bS()).read(e);return}new Lie.default(t,bS(e)).read(r)}eA.walk=Wet;function Ket(t,e){let r=bS(e);return new Yet.default(t,r).read()}eA.walkSync=Ket;function zet(t,e){let r=bS(e);return new jet.default(t,r).read()}eA.walkStream=zet;function bS(t={}){return t instanceof mO.default?t:new mO.default(t)}});var kS=_(EO=>{"use strict";Object.defineProperty(EO,"__esModule",{value:!0});var Jet=ve("path"),Vet=Cd(),Nie=Df(),yO=class{constructor(e){this._settings=e,this._fsStatSettings=new Vet.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(e){return Jet.resolve(this._settings.cwd,e)}_makeEntry(e,r){let o={name:r,path:r,dirent:Nie.fs.createDirentFromStats(r,e)};return this._settings.stats&&(o.stats=e),o}_isFatalError(e){return!Nie.errno.isEnoentCodeError(e)&&!this._settings.suppressErrors}};EO.default=yO});var IO=_(wO=>{"use strict";Object.defineProperty(wO,"__esModule",{value:!0});var Xet=ve("stream"),Zet=Cd(),$et=xS(),ett=kS(),CO=class extends ett.default{constructor(){super(...arguments),this._walkStream=$et.walkStream,this._stat=Zet.stat}dynamic(e,r){return this._walkStream(e,r)}static(e,r){let o=e.map(this._getFullEntryPath,this),a=new Xet.PassThrough({objectMode:!0});a._write=(n,u,A)=>this._getEntry(o[n],e[n],r).then(p=>{p!==null&&r.entryFilter(p)&&a.push(p),n===o.length-1&&a.end(),A()}).catch(A);for(let n=0;nthis._makeEntry(a,r)).catch(a=>{if(o.errorFilter(a))return null;throw a})}_getStat(e){return new Promise((r,o)=>{this._stat(e,this._fsStatSettings,(a,n)=>a===null?r(n):o(a))})}};wO.default=CO});var Oie=_(vO=>{"use strict";Object.defineProperty(vO,"__esModule",{value:!0});var ttt=xS(),rtt=kS(),ntt=IO(),BO=class extends rtt.default{constructor(){super(...arguments),this._walkAsync=ttt.walk,this._readerStream=new ntt.default(this._settings)}dynamic(e,r){return new Promise((o,a)=>{this._walkAsync(e,r,(n,u)=>{n===null?o(u):a(n)})})}async static(e,r){let o=[],a=this._readerStream.static(e,r);return new Promise((n,u)=>{a.once("error",u),a.on("data",A=>o.push(A)),a.once("end",()=>n(o))})}};vO.default=BO});var Mie=_(DO=>{"use strict";Object.defineProperty(DO,"__esModule",{value:!0});var tE=Df(),PO=class{constructor(e,r,o){this._patterns=e,this._settings=r,this._micromatchOptions=o,this._storage=[],this._fillStorage()}_fillStorage(){let e=tE.pattern.expandPatternsWithBraceExpansion(this._patterns);for(let r of e){let o=this._getPatternSegments(r),a=this._splitSegmentsIntoSections(o);this._storage.push({complete:a.length<=1,pattern:r,segments:o,sections:a})}}_getPatternSegments(e){return tE.pattern.getPatternParts(e,this._micromatchOptions).map(o=>tE.pattern.isDynamicPattern(o,this._settings)?{dynamic:!0,pattern:o,patternRe:tE.pattern.makeRe(o,this._micromatchOptions)}:{dynamic:!1,pattern:o})}_splitSegmentsIntoSections(e){return tE.array.splitWhen(e,r=>r.dynamic&&tE.pattern.hasGlobStar(r.pattern))}};DO.default=PO});var Uie=_(bO=>{"use strict";Object.defineProperty(bO,"__esModule",{value:!0});var itt=Mie(),SO=class extends itt.default{match(e){let r=e.split("/"),o=r.length,a=this._storage.filter(n=>!n.complete||n.segments.length>o);for(let n of a){let u=n.sections[0];if(!n.complete&&o>u.length||r.every((p,h)=>{let E=n.segments[h];return!!(E.dynamic&&E.patternRe.test(p)||!E.dynamic&&E.pattern===p)}))return!0}return!1}};bO.default=SO});var _ie=_(kO=>{"use strict";Object.defineProperty(kO,"__esModule",{value:!0});var QS=Df(),stt=Uie(),xO=class{constructor(e,r){this._settings=e,this._micromatchOptions=r}getFilter(e,r,o){let a=this._getMatcher(r),n=this._getNegativePatternsRe(o);return u=>this._filter(e,u,a,n)}_getMatcher(e){return new stt.default(e,this._settings,this._micromatchOptions)}_getNegativePatternsRe(e){let r=e.filter(QS.pattern.isAffectDepthOfReadingPattern);return QS.pattern.convertPatternsToRe(r,this._micromatchOptions)}_filter(e,r,o,a){if(this._isSkippedByDeep(e,r.path)||this._isSkippedSymbolicLink(r))return!1;let n=QS.path.removeLeadingDotSegment(r.path);return this._isSkippedByPositivePatterns(n,o)?!1:this._isSkippedByNegativePatterns(n,a)}_isSkippedByDeep(e,r){return this._settings.deep===1/0?!1:this._getEntryLevel(e,r)>=this._settings.deep}_getEntryLevel(e,r){let o=r.split("/").length;if(e==="")return o;let a=e.split("/").length;return o-a}_isSkippedSymbolicLink(e){return!this._settings.followSymbolicLinks&&e.dirent.isSymbolicLink()}_isSkippedByPositivePatterns(e,r){return!this._settings.baseNameMatch&&!r.match(e)}_isSkippedByNegativePatterns(e,r){return!QS.pattern.matchAny(e,r)}};kO.default=xO});var Hie=_(RO=>{"use strict";Object.defineProperty(RO,"__esModule",{value:!0});var wd=Df(),QO=class{constructor(e,r){this._settings=e,this._micromatchOptions=r,this.index=new Map}getFilter(e,r){let o=wd.pattern.convertPatternsToRe(e,this._micromatchOptions),a=wd.pattern.convertPatternsToRe(r,this._micromatchOptions);return n=>this._filter(n,o,a)}_filter(e,r,o){if(this._settings.unique&&this._isDuplicateEntry(e)||this._onlyFileFilter(e)||this._onlyDirectoryFilter(e)||this._isSkippedByAbsoluteNegativePatterns(e.path,o))return!1;let a=this._settings.baseNameMatch?e.name:e.path,n=e.dirent.isDirectory(),u=this._isMatchToPatterns(a,r,n)&&!this._isMatchToPatterns(e.path,o,n);return this._settings.unique&&u&&this._createIndexRecord(e),u}_isDuplicateEntry(e){return this.index.has(e.path)}_createIndexRecord(e){this.index.set(e.path,void 0)}_onlyFileFilter(e){return this._settings.onlyFiles&&!e.dirent.isFile()}_onlyDirectoryFilter(e){return this._settings.onlyDirectories&&!e.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(e,r){if(!this._settings.absolute)return!1;let o=wd.path.makeAbsolute(this._settings.cwd,e);return wd.pattern.matchAny(o,r)}_isMatchToPatterns(e,r,o){let a=wd.path.removeLeadingDotSegment(e),n=wd.pattern.matchAny(a,r);return!n&&o?wd.pattern.matchAny(a+"/",r):n}};RO.default=QO});var qie=_(TO=>{"use strict";Object.defineProperty(TO,"__esModule",{value:!0});var ott=Df(),FO=class{constructor(e){this._settings=e}getFilter(){return e=>this._isNonFatalError(e)}_isNonFatalError(e){return ott.errno.isEnoentCodeError(e)||this._settings.suppressErrors}};TO.default=FO});var jie=_(NO=>{"use strict";Object.defineProperty(NO,"__esModule",{value:!0});var Gie=Df(),LO=class{constructor(e){this._settings=e}getTransformer(){return e=>this._transform(e)}_transform(e){let r=e.path;return this._settings.absolute&&(r=Gie.path.makeAbsolute(this._settings.cwd,r),r=Gie.path.unixify(r)),this._settings.markDirectories&&e.dirent.isDirectory()&&(r+="/"),this._settings.objectMode?Object.assign(Object.assign({},e),{path:r}):r}};NO.default=LO});var RS=_(MO=>{"use strict";Object.defineProperty(MO,"__esModule",{value:!0});var att=ve("path"),ltt=_ie(),ctt=Hie(),utt=qie(),Att=jie(),OO=class{constructor(e){this._settings=e,this.errorFilter=new utt.default(this._settings),this.entryFilter=new ctt.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new ltt.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new Att.default(this._settings)}_getRootDirectory(e){return att.resolve(this._settings.cwd,e.base)}_getReaderOptions(e){let r=e.base==="."?"":e.base;return{basePath:r,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(r,e.positive,e.negative),entryFilter:this.entryFilter.getFilter(e.positive,e.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}};MO.default=OO});var Yie=_(_O=>{"use strict";Object.defineProperty(_O,"__esModule",{value:!0});var ftt=Oie(),ptt=RS(),UO=class extends ptt.default{constructor(){super(...arguments),this._reader=new ftt.default(this._settings)}async read(e){let r=this._getRootDirectory(e),o=this._getReaderOptions(e);return(await this.api(r,e,o)).map(n=>o.transform(n))}api(e,r,o){return r.dynamic?this._reader.dynamic(e,o):this._reader.static(r.patterns,o)}};_O.default=UO});var Wie=_(qO=>{"use strict";Object.defineProperty(qO,"__esModule",{value:!0});var htt=ve("stream"),gtt=IO(),dtt=RS(),HO=class extends dtt.default{constructor(){super(...arguments),this._reader=new gtt.default(this._settings)}read(e){let r=this._getRootDirectory(e),o=this._getReaderOptions(e),a=this.api(r,e,o),n=new htt.Readable({objectMode:!0,read:()=>{}});return a.once("error",u=>n.emit("error",u)).on("data",u=>n.emit("data",o.transform(u))).once("end",()=>n.emit("end")),n.once("close",()=>a.destroy()),n}api(e,r,o){return r.dynamic?this._reader.dynamic(e,o):this._reader.static(r.patterns,o)}};qO.default=HO});var Kie=_(jO=>{"use strict";Object.defineProperty(jO,"__esModule",{value:!0});var mtt=Cd(),ytt=xS(),Ett=kS(),GO=class extends Ett.default{constructor(){super(...arguments),this._walkSync=ytt.walkSync,this._statSync=mtt.statSync}dynamic(e,r){return this._walkSync(e,r)}static(e,r){let o=[];for(let a of e){let n=this._getFullEntryPath(a),u=this._getEntry(n,a,r);u===null||!r.entryFilter(u)||o.push(u)}return o}_getEntry(e,r,o){try{let a=this._getStat(e);return this._makeEntry(a,r)}catch(a){if(o.errorFilter(a))return null;throw a}}_getStat(e){return this._statSync(e,this._fsStatSettings)}};jO.default=GO});var zie=_(WO=>{"use strict";Object.defineProperty(WO,"__esModule",{value:!0});var Ctt=Kie(),wtt=RS(),YO=class extends wtt.default{constructor(){super(...arguments),this._reader=new Ctt.default(this._settings)}read(e){let r=this._getRootDirectory(e),o=this._getReaderOptions(e);return this.api(r,e,o).map(o.transform)}api(e,r,o){return r.dynamic?this._reader.dynamic(e,o):this._reader.static(r.patterns,o)}};WO.default=YO});var Jie=_(nE=>{"use strict";Object.defineProperty(nE,"__esModule",{value:!0});nE.DEFAULT_FILE_SYSTEM_ADAPTER=void 0;var rE=ve("fs"),Itt=ve("os"),Btt=Math.max(Itt.cpus().length,1);nE.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:rE.lstat,lstatSync:rE.lstatSync,stat:rE.stat,statSync:rE.statSync,readdir:rE.readdir,readdirSync:rE.readdirSync};var KO=class{constructor(e={}){this._options=e,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,Btt),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,1/0),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0)}_getValue(e,r){return e===void 0?r:e}_getFileSystemMethods(e={}){return Object.assign(Object.assign({},nE.DEFAULT_FILE_SYSTEM_ADAPTER),e)}};nE.default=KO});var TS=_((SLt,Zie)=>{"use strict";var Vie=Zne(),Xie=eie(),vtt=Yie(),Ptt=Wie(),Dtt=zie(),zO=Jie(),Id=Df();async function JO(t,e){iE(t);let r=VO(t,vtt.default,e),o=await Promise.all(r);return Id.array.flatten(o)}(function(t){function e(u,A){iE(u);let p=VO(u,Dtt.default,A);return Id.array.flatten(p)}t.sync=e;function r(u,A){iE(u);let p=VO(u,Ptt.default,A);return Id.stream.merge(p)}t.stream=r;function o(u,A){iE(u);let p=Xie.transform([].concat(u)),h=new zO.default(A);return Vie.generate(p,h)}t.generateTasks=o;function a(u,A){iE(u);let p=new zO.default(A);return Id.pattern.isDynamicPattern(u,p)}t.isDynamicPattern=a;function n(u){return iE(u),Id.path.escape(u)}t.escapePath=n})(JO||(JO={}));function VO(t,e,r){let o=Xie.transform([].concat(t)),a=new zO.default(r),n=Vie.generate(o,a),u=new e(a);return n.map(u.read,u)}function iE(t){if(![].concat(t).every(o=>Id.string.isString(o)&&!Id.string.isEmpty(o)))throw new TypeError("Patterns must be a string (non empty) or an array of strings")}Zie.exports=JO});var wn={};zt(wn,{checksumFile:()=>NS,checksumPattern:()=>OS,makeHash:()=>zi});function zi(...t){let e=(0,LS.createHash)("sha512"),r="";for(let o of t)typeof o=="string"?r+=o:o&&(r&&(e.update(r),r=""),e.update(o));return r&&e.update(r),e.digest("hex")}async function NS(t,{baseFs:e,algorithm:r}={baseFs:oe,algorithm:"sha512"}){let o=await e.openPromise(t,"r");try{let n=Buffer.allocUnsafeSlow(65536),u=(0,LS.createHash)(r),A=0;for(;(A=await e.readPromise(o,n,0,65536))!==0;)u.update(A===65536?n:n.slice(0,A));return u.digest("hex")}finally{await e.closePromise(o)}}async function OS(t,{cwd:e}){let o=(await(0,XO.default)(t,{cwd:ue.fromPortablePath(e),onlyDirectories:!0})).map(A=>`${A}/**/*`),a=await(0,XO.default)([t,...o],{cwd:ue.fromPortablePath(e),onlyFiles:!1});a.sort();let n=await Promise.all(a.map(async A=>{let p=[Buffer.from(A)],h=ue.toPortablePath(A),E=await oe.lstatPromise(h);return E.isSymbolicLink()?p.push(Buffer.from(await oe.readlinkPromise(h))):E.isFile()&&p.push(await oe.readFilePromise(h)),p.join("\0")})),u=(0,LS.createHash)("sha512");for(let A of n)u.update(A);return u.digest("hex")}var LS,XO,ih=Et(()=>{Dt();LS=ve("crypto"),XO=Ze(TS())});var j={};zt(j,{allPeerRequests:()=>l1,areDescriptorsEqual:()=>nse,areIdentsEqual:()=>n1,areLocatorsEqual:()=>i1,areVirtualPackagesEquivalent:()=>Ltt,bindDescriptor:()=>Ftt,bindLocator:()=>Ttt,convertDescriptorToLocator:()=>MS,convertLocatorToDescriptor:()=>$O,convertPackageToLocator:()=>ktt,convertToIdent:()=>xtt,convertToManifestRange:()=>Ytt,copyPackage:()=>e1,devirtualizeDescriptor:()=>t1,devirtualizeLocator:()=>r1,ensureDevirtualizedDescriptor:()=>Qtt,ensureDevirtualizedLocator:()=>Rtt,getIdentVendorPath:()=>nM,isPackageCompatible:()=>GS,isVirtualDescriptor:()=>bf,isVirtualLocator:()=>qc,makeDescriptor:()=>In,makeIdent:()=>tA,makeLocator:()=>Fs,makeRange:()=>HS,parseDescriptor:()=>sh,parseFileStyleRange:()=>Gtt,parseIdent:()=>Zo,parseLocator:()=>xf,parseRange:()=>Bd,prettyDependent:()=>QN,prettyDescriptor:()=>Gn,prettyIdent:()=>us,prettyLocator:()=>qr,prettyLocatorNoColors:()=>kN,prettyRange:()=>aE,prettyReference:()=>o1,prettyResolution:()=>ZI,prettyWorkspace:()=>a1,renamePackage:()=>eM,slugifyIdent:()=>ZO,slugifyLocator:()=>oE,sortDescriptors:()=>lE,stringifyDescriptor:()=>Sa,stringifyIdent:()=>rn,stringifyLocator:()=>ba,tryParseDescriptor:()=>s1,tryParseIdent:()=>ise,tryParseLocator:()=>_S,tryParseRange:()=>qtt,virtualizeDescriptor:()=>tM,virtualizePackage:()=>rM});function tA(t,e){if(t?.startsWith("@"))throw new Error("Invalid scope: don't prefix it with '@'");return{identHash:zi(t,e),scope:t,name:e}}function In(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:zi(t.identHash,e),range:e}}function Fs(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:zi(t.identHash,e),reference:e}}function xtt(t){return{identHash:t.identHash,scope:t.scope,name:t.name}}function MS(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.descriptorHash,reference:t.range}}function $O(t){return{identHash:t.identHash,scope:t.scope,name:t.name,descriptorHash:t.locatorHash,range:t.reference}}function ktt(t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.locatorHash,reference:t.reference}}function eM(t,e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.locatorHash,reference:e.reference,version:t.version,languageName:t.languageName,linkType:t.linkType,conditions:t.conditions,dependencies:new Map(t.dependencies),peerDependencies:new Map(t.peerDependencies),dependenciesMeta:new Map(t.dependenciesMeta),peerDependenciesMeta:new Map(t.peerDependenciesMeta),bin:new Map(t.bin)}}function e1(t){return eM(t,t)}function tM(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return In(t,`virtual:${e}#${t.range}`)}function rM(t,e){if(e.includes("#"))throw new Error("Invalid entropy");return eM(t,Fs(t,`virtual:${e}#${t.reference}`))}function bf(t){return t.range.startsWith($I)}function qc(t){return t.reference.startsWith($I)}function t1(t){if(!bf(t))throw new Error("Not a virtual descriptor");return In(t,t.range.replace(US,""))}function r1(t){if(!qc(t))throw new Error("Not a virtual descriptor");return Fs(t,t.reference.replace(US,""))}function Qtt(t){return bf(t)?In(t,t.range.replace(US,"")):t}function Rtt(t){return qc(t)?Fs(t,t.reference.replace(US,"")):t}function Ftt(t,e){return t.range.includes("::")?t:In(t,`${t.range}::${sE.default.stringify(e)}`)}function Ttt(t,e){return t.reference.includes("::")?t:Fs(t,`${t.reference}::${sE.default.stringify(e)}`)}function n1(t,e){return t.identHash===e.identHash}function nse(t,e){return t.descriptorHash===e.descriptorHash}function i1(t,e){return t.locatorHash===e.locatorHash}function Ltt(t,e){if(!qc(t))throw new Error("Invalid package type");if(!qc(e))throw new Error("Invalid package type");if(!n1(t,e)||t.dependencies.size!==e.dependencies.size)return!1;for(let r of t.dependencies.values()){let o=e.dependencies.get(r.identHash);if(!o||!nse(r,o))return!1}return!0}function Zo(t){let e=ise(t);if(!e)throw new Error(`Invalid ident (${t})`);return e}function ise(t){let e=t.match(Ntt);if(!e)return null;let[,r,o]=e;return tA(typeof r<"u"?r:null,o)}function sh(t,e=!1){let r=s1(t,e);if(!r)throw new Error(`Invalid descriptor (${t})`);return r}function s1(t,e=!1){let r=e?t.match(Ott):t.match(Mtt);if(!r)return null;let[,o,a,n]=r;if(n==="unknown")throw new Error(`Invalid range (${t})`);let u=typeof o<"u"?o:null,A=typeof n<"u"?n:"unknown";return In(tA(u,a),A)}function xf(t,e=!1){let r=_S(t,e);if(!r)throw new Error(`Invalid locator (${t})`);return r}function _S(t,e=!1){let r=e?t.match(Utt):t.match(_tt);if(!r)return null;let[,o,a,n]=r;if(n==="unknown")throw new Error(`Invalid reference (${t})`);let u=typeof o<"u"?o:null,A=typeof n<"u"?n:"unknown";return Fs(tA(u,a),A)}function Bd(t,e){let r=t.match(Htt);if(r===null)throw new Error(`Invalid range (${t})`);let o=typeof r[1]<"u"?r[1]:null;if(typeof e?.requireProtocol=="string"&&o!==e.requireProtocol)throw new Error(`Invalid protocol (${o})`);if(e?.requireProtocol&&o===null)throw new Error(`Missing protocol (${o})`);let a=typeof r[3]<"u"?decodeURIComponent(r[2]):null;if(e?.requireSource&&a===null)throw new Error(`Missing source (${t})`);let n=typeof r[3]<"u"?decodeURIComponent(r[3]):decodeURIComponent(r[2]),u=e?.parseSelector?sE.default.parse(n):n,A=typeof r[4]<"u"?sE.default.parse(r[4]):null;return{protocol:o,source:a,selector:u,params:A}}function qtt(t,e){try{return Bd(t,e)}catch{return null}}function Gtt(t,{protocol:e}){let{selector:r,params:o}=Bd(t,{requireProtocol:e,requireBindings:!0});if(typeof o.locator!="string")throw new Error(`Assertion failed: Invalid bindings for ${t}`);return{parentLocator:xf(o.locator,!0),path:r}}function $ie(t){return t=t.replaceAll("%","%25"),t=t.replaceAll(":","%3A"),t=t.replaceAll("#","%23"),t}function jtt(t){return t===null?!1:Object.entries(t).length>0}function HS({protocol:t,source:e,selector:r,params:o}){let a="";return t!==null&&(a+=`${t}`),e!==null&&(a+=`${$ie(e)}#`),a+=$ie(r),jtt(o)&&(a+=`::${sE.default.stringify(o)}`),a}function Ytt(t){let{params:e,protocol:r,source:o,selector:a}=Bd(t);for(let n in e)n.startsWith("__")&&delete e[n];return HS({protocol:r,source:o,params:e,selector:a})}function rn(t){return t.scope?`@${t.scope}/${t.name}`:`${t.name}`}function Sa(t){return t.scope?`@${t.scope}/${t.name}@${t.range}`:`${t.name}@${t.range}`}function ba(t){return t.scope?`@${t.scope}/${t.name}@${t.reference}`:`${t.name}@${t.reference}`}function ZO(t){return t.scope!==null?`@${t.scope}-${t.name}`:t.name}function oE(t){let{protocol:e,selector:r}=Bd(t.reference),o=e!==null?e.replace(Wtt,""):"exotic",a=ese.default.valid(r),n=a!==null?`${o}-${a}`:`${o}`,u=10;return t.scope?`${ZO(t)}-${n}-${t.locatorHash.slice(0,u)}`:`${ZO(t)}-${n}-${t.locatorHash.slice(0,u)}`}function us(t,e){return e.scope?`${Ut(t,`@${e.scope}/`,yt.SCOPE)}${Ut(t,e.name,yt.NAME)}`:`${Ut(t,e.name,yt.NAME)}`}function qS(t){if(t.startsWith($I)){let e=qS(t.substring(t.indexOf("#")+1)),r=t.substring($I.length,$I.length+Stt);return`${e} [${r}]`}else return t.replace(Ktt,"?[...]")}function aE(t,e){return`${Ut(t,qS(e),yt.RANGE)}`}function Gn(t,e){return`${us(t,e)}${Ut(t,"@",yt.RANGE)}${aE(t,e.range)}`}function o1(t,e){return`${Ut(t,qS(e),yt.REFERENCE)}`}function qr(t,e){return`${us(t,e)}${Ut(t,"@",yt.REFERENCE)}${o1(t,e.reference)}`}function kN(t){return`${rn(t)}@${qS(t.reference)}`}function lE(t){return Rs(t,[e=>rn(e),e=>e.range])}function a1(t,e){return us(t,e.anchoredLocator)}function ZI(t,e,r){let o=bf(e)?t1(e):e;return r===null?`${Gn(t,o)} \u2192 ${xN(t).Cross}`:o.identHash===r.identHash?`${Gn(t,o)} \u2192 ${o1(t,r.reference)}`:`${Gn(t,o)} \u2192 ${qr(t,r)}`}function QN(t,e,r){return r===null?`${qr(t,e)}`:`${qr(t,e)} (via ${aE(t,r.range)})`}function nM(t){return`node_modules/${rn(t)}`}function GS(t,e){return t.conditions?btt(t.conditions,r=>{let[,o,a]=r.match(rse),n=e[o];return n?n.includes(a):!0}):!0}function l1(t){let e=new Set;if("children"in t)e.add(t);else for(let r of t.requests.values())e.add(r);for(let r of e)for(let o of r.children.values())e.add(o);return e}var sE,ese,tse,$I,Stt,rse,btt,US,Ntt,Ott,Mtt,Utt,_tt,Htt,Wtt,Ktt,So=Et(()=>{sE=Ze(ve("querystring")),ese=Ze(Vn()),tse=Ze(eX());jl();ih();Gl();So();$I="virtual:",Stt=5,rse=/(os|cpu|libc)=([a-z0-9_-]+)/,btt=(0,tse.makeParser)(rse);US=/^[^#]*#/;Ntt=/^(?:@([^/]+?)\/)?([^@/]+)$/;Ott=/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))$/,Mtt=/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))?$/;Utt=/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))$/,_tt=/^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))?$/;Htt=/^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/;Wtt=/:$/;Ktt=/\?.*/});var sse,ose=Et(()=>{So();sse={hooks:{reduceDependency:(t,e,r,o,{resolver:a,resolveOptions:n})=>{for(let{pattern:u,reference:A}of e.topLevelWorkspace.manifest.resolutions){if(u.from&&(u.from.fullName!==rn(r)||e.configuration.normalizeLocator(Fs(Zo(u.from.fullName),u.from.description??r.reference)).locatorHash!==r.locatorHash)||u.descriptor.fullName!==rn(t)||e.configuration.normalizeDependency(In(xf(u.descriptor.fullName),u.descriptor.description??t.range)).descriptorHash!==t.descriptorHash)continue;return a.bindDescriptor(e.configuration.normalizeDependency(In(t,A)),e.topLevelWorkspace.anchoredLocator,n)}return t},validateProject:async(t,e)=>{for(let r of t.workspaces){let o=a1(t.configuration,r);await t.configuration.triggerHook(a=>a.validateWorkspace,r,{reportWarning:(a,n)=>e.reportWarning(a,`${o}: ${n}`),reportError:(a,n)=>e.reportError(a,`${o}: ${n}`)})}},validateWorkspace:async(t,e)=>{let{manifest:r}=t;r.resolutions.length&&t.cwd!==t.project.cwd&&r.errors.push(new Error("Resolutions field will be ignored"));for(let o of r.errors)e.reportWarning(57,o.message)}}}});var c1,Xn,vd=Et(()=>{c1=class{supportsDescriptor(e,r){return!!(e.range.startsWith(c1.protocol)||r.project.tryWorkspaceByDescriptor(e)!==null)}supportsLocator(e,r){return!!e.reference.startsWith(c1.protocol)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){return[o.project.getWorkspaceByDescriptor(e).anchoredLocator]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){let o=r.project.getWorkspaceByCwd(e.reference.slice(c1.protocol.length));return{...e,version:o.manifest.version||"0.0.0",languageName:"unknown",linkType:"SOFT",conditions:null,dependencies:r.project.configuration.normalizeDependencyMap(new Map([...o.manifest.dependencies,...o.manifest.devDependencies])),peerDependencies:new Map([...o.manifest.peerDependencies]),dependenciesMeta:o.manifest.dependenciesMeta,peerDependenciesMeta:o.manifest.peerDependenciesMeta,bin:o.manifest.bin}}},Xn=c1;Xn.protocol="workspace:"});var Lr={};zt(Lr,{SemVer:()=>Ase.SemVer,clean:()=>Jtt,getComparator:()=>cse,mergeComparators:()=>iM,satisfiesWithPrereleases:()=>kf,simplifyRanges:()=>sM,stringifyComparator:()=>use,validRange:()=>xa});function kf(t,e,r=!1){if(!t)return!1;let o=`${e}${r}`,a=ase.get(o);if(typeof a>"u")try{a=new oh.default.Range(e,{includePrerelease:!0,loose:r})}catch{return!1}finally{ase.set(o,a||null)}else if(a===null)return!1;let n;try{n=new oh.default.SemVer(t,a)}catch{return!1}return a.test(n)?!0:(n.prerelease&&(n.prerelease=[]),a.set.some(u=>{for(let A of u)A.semver.prerelease&&(A.semver.prerelease=[]);return u.every(A=>A.test(n))}))}function xa(t){if(t.indexOf(":")!==-1)return null;let e=lse.get(t);if(typeof e<"u")return e;try{e=new oh.default.Range(t)}catch{e=null}return lse.set(t,e),e}function Jtt(t){let e=ztt.exec(t);return e?e[1]:null}function cse(t){if(t.semver===oh.default.Comparator.ANY)return{gt:null,lt:null};switch(t.operator){case"":return{gt:[">=",t.semver],lt:["<=",t.semver]};case">":case">=":return{gt:[t.operator,t.semver],lt:null};case"<":case"<=":return{gt:null,lt:[t.operator,t.semver]};default:throw new Error(`Assertion failed: Unexpected comparator operator (${t.operator})`)}}function iM(t){if(t.length===0)return null;let e=null,r=null;for(let o of t){if(o.gt){let a=e!==null?oh.default.compare(o.gt[1],e[1]):null;(a===null||a>0||a===0&&o.gt[0]===">")&&(e=o.gt)}if(o.lt){let a=r!==null?oh.default.compare(o.lt[1],r[1]):null;(a===null||a<0||a===0&&o.lt[0]==="<")&&(r=o.lt)}}if(e&&r){let o=oh.default.compare(e[1],r[1]);if(o===0&&(e[0]===">"||r[0]==="<")||o>0)return null}return{gt:e,lt:r}}function use(t){if(t.gt&&t.lt){if(t.gt[0]===">="&&t.lt[0]==="<="&&t.gt[1].version===t.lt[1].version)return t.gt[1].version;if(t.gt[0]===">="&&t.lt[0]==="<"){if(t.lt[1].version===`${t.gt[1].major+1}.0.0-0`)return`^${t.gt[1].version}`;if(t.lt[1].version===`${t.gt[1].major}.${t.gt[1].minor+1}.0-0`)return`~${t.gt[1].version}`}}let e=[];return t.gt&&e.push(t.gt[0]+t.gt[1].version),t.lt&&e.push(t.lt[0]+t.lt[1].version),e.length?e.join(" "):"*"}function sM(t){let e=t.map(o=>xa(o).set.map(a=>a.map(n=>cse(n)))),r=e.shift().map(o=>iM(o)).filter(o=>o!==null);for(let o of e){let a=[];for(let n of r)for(let u of o){let A=iM([n,...u]);A!==null&&a.push(A)}r=a}return r.length===0?null:r.map(o=>use(o)).join(" || ")}var oh,Ase,ase,lse,ztt,Qf=Et(()=>{oh=Ze(Vn()),Ase=Ze(Vn()),ase=new Map;lse=new Map;ztt=/^(?:[\sv=]*?)((0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)(?:\s*)$/});function fse(t){let e=t.match(/^[ \t]+/m);return e?e[0]:" "}function pse(t){return t.charCodeAt(0)===65279?t.slice(1):t}function $o(t){return t.replace(/\\/g,"/")}function jS(t,{yamlCompatibilityMode:e}){return e?IN(t):typeof t>"u"||typeof t=="boolean"?t:null}function hse(t,e){let r=e.search(/[^!]/);if(r===-1)return"invalid";let o=r%2===0?"":"!",a=e.slice(r);return`${o}${t}=${a}`}function oM(t,e){return e.length===1?hse(t,e[0]):`(${e.map(r=>hse(t,r)).join(" | ")})`}var gse,cE,Ot,uE=Et(()=>{Dt();Nl();gse=Ze(Vn());vd();Gl();Qf();So();cE=class{constructor(){this.indent=" ";this.name=null;this.version=null;this.os=null;this.cpu=null;this.libc=null;this.type=null;this.packageManager=null;this.private=!1;this.license=null;this.main=null;this.module=null;this.browser=null;this.languageName=null;this.bin=new Map;this.scripts=new Map;this.dependencies=new Map;this.devDependencies=new Map;this.peerDependencies=new Map;this.workspaceDefinitions=[];this.dependenciesMeta=new Map;this.peerDependenciesMeta=new Map;this.resolutions=[];this.files=null;this.publishConfig=null;this.installConfig=null;this.preferUnplugged=null;this.raw={};this.errors=[]}static async tryFind(e,{baseFs:r=new Tn}={}){let o=z.join(e,"package.json");try{return await cE.fromFile(o,{baseFs:r})}catch(a){if(a.code==="ENOENT")return null;throw a}}static async find(e,{baseFs:r}={}){let o=await cE.tryFind(e,{baseFs:r});if(o===null)throw new Error("Manifest not found");return o}static async fromFile(e,{baseFs:r=new Tn}={}){let o=new cE;return await o.loadFile(e,{baseFs:r}),o}static fromText(e){let r=new cE;return r.loadFromText(e),r}loadFromText(e){let r;try{r=JSON.parse(pse(e)||"{}")}catch(o){throw o.message+=` (when parsing ${e})`,o}this.load(r),this.indent=fse(e)}async loadFile(e,{baseFs:r=new Tn}){let o=await r.readFilePromise(e,"utf8"),a;try{a=JSON.parse(pse(o)||"{}")}catch(n){throw n.message+=` (when parsing ${e})`,n}this.load(a),this.indent=fse(o)}load(e,{yamlCompatibilityMode:r=!1}={}){if(typeof e!="object"||e===null)throw new Error(`Utterly invalid manifest data (${e})`);this.raw=e;let o=[];if(this.name=null,typeof e.name=="string")try{this.name=Zo(e.name)}catch{o.push(new Error("Parsing failed for the 'name' field"))}if(typeof e.version=="string"?this.version=e.version:this.version=null,Array.isArray(e.os)){let n=[];this.os=n;for(let u of e.os)typeof u!="string"?o.push(new Error("Parsing failed for the 'os' field")):n.push(u)}else this.os=null;if(Array.isArray(e.cpu)){let n=[];this.cpu=n;for(let u of e.cpu)typeof u!="string"?o.push(new Error("Parsing failed for the 'cpu' field")):n.push(u)}else this.cpu=null;if(Array.isArray(e.libc)){let n=[];this.libc=n;for(let u of e.libc)typeof u!="string"?o.push(new Error("Parsing failed for the 'libc' field")):n.push(u)}else this.libc=null;if(typeof e.type=="string"?this.type=e.type:this.type=null,typeof e.packageManager=="string"?this.packageManager=e.packageManager:this.packageManager=null,typeof e.private=="boolean"?this.private=e.private:this.private=!1,typeof e.license=="string"?this.license=e.license:this.license=null,typeof e.languageName=="string"?this.languageName=e.languageName:this.languageName=null,typeof e.main=="string"?this.main=$o(e.main):this.main=null,typeof e.module=="string"?this.module=$o(e.module):this.module=null,e.browser!=null)if(typeof e.browser=="string")this.browser=$o(e.browser);else{this.browser=new Map;for(let[n,u]of Object.entries(e.browser))this.browser.set($o(n),typeof u=="string"?$o(u):u)}else this.browser=null;if(this.bin=new Map,typeof e.bin=="string")e.bin.trim()===""?o.push(new Error("Invalid bin field")):this.name!==null?this.bin.set(this.name.name,$o(e.bin)):o.push(new Error("String bin field, but no attached package name"));else if(typeof e.bin=="object"&&e.bin!==null)for(let[n,u]of Object.entries(e.bin)){if(typeof u!="string"||u.trim()===""){o.push(new Error(`Invalid bin definition for '${n}'`));continue}let A=Zo(n);this.bin.set(A.name,$o(u))}if(this.scripts=new Map,typeof e.scripts=="object"&&e.scripts!==null)for(let[n,u]of Object.entries(e.scripts)){if(typeof u!="string"){o.push(new Error(`Invalid script definition for '${n}'`));continue}this.scripts.set(n,u)}if(this.dependencies=new Map,typeof e.dependencies=="object"&&e.dependencies!==null)for(let[n,u]of Object.entries(e.dependencies)){if(typeof u!="string"){o.push(new Error(`Invalid dependency range for '${n}'`));continue}let A;try{A=Zo(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}let p=In(A,u);this.dependencies.set(p.identHash,p)}if(this.devDependencies=new Map,typeof e.devDependencies=="object"&&e.devDependencies!==null)for(let[n,u]of Object.entries(e.devDependencies)){if(typeof u!="string"){o.push(new Error(`Invalid dependency range for '${n}'`));continue}let A;try{A=Zo(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}let p=In(A,u);this.devDependencies.set(p.identHash,p)}if(this.peerDependencies=new Map,typeof e.peerDependencies=="object"&&e.peerDependencies!==null)for(let[n,u]of Object.entries(e.peerDependencies)){let A;try{A=Zo(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}(typeof u!="string"||!u.startsWith(Xn.protocol)&&!xa(u))&&(o.push(new Error(`Invalid dependency range for '${n}'`)),u="*");let p=In(A,u);this.peerDependencies.set(p.identHash,p)}typeof e.workspaces=="object"&&e.workspaces!==null&&e.workspaces.nohoist&&o.push(new Error("'nohoist' is deprecated, please use 'installConfig.hoistingLimits' instead"));let a=Array.isArray(e.workspaces)?e.workspaces:typeof e.workspaces=="object"&&e.workspaces!==null&&Array.isArray(e.workspaces.packages)?e.workspaces.packages:[];this.workspaceDefinitions=[];for(let n of a){if(typeof n!="string"){o.push(new Error(`Invalid workspace definition for '${n}'`));continue}this.workspaceDefinitions.push({pattern:n})}if(this.dependenciesMeta=new Map,typeof e.dependenciesMeta=="object"&&e.dependenciesMeta!==null)for(let[n,u]of Object.entries(e.dependenciesMeta)){if(typeof u!="object"||u===null){o.push(new Error(`Invalid meta field for '${n}`));continue}let A=sh(n),p=this.ensureDependencyMeta(A),h=jS(u.built,{yamlCompatibilityMode:r});if(h===null){o.push(new Error(`Invalid built meta field for '${n}'`));continue}let E=jS(u.optional,{yamlCompatibilityMode:r});if(E===null){o.push(new Error(`Invalid optional meta field for '${n}'`));continue}let I=jS(u.unplugged,{yamlCompatibilityMode:r});if(I===null){o.push(new Error(`Invalid unplugged meta field for '${n}'`));continue}Object.assign(p,{built:h,optional:E,unplugged:I})}if(this.peerDependenciesMeta=new Map,typeof e.peerDependenciesMeta=="object"&&e.peerDependenciesMeta!==null)for(let[n,u]of Object.entries(e.peerDependenciesMeta)){if(typeof u!="object"||u===null){o.push(new Error(`Invalid meta field for '${n}'`));continue}let A=sh(n),p=this.ensurePeerDependencyMeta(A),h=jS(u.optional,{yamlCompatibilityMode:r});if(h===null){o.push(new Error(`Invalid optional meta field for '${n}'`));continue}Object.assign(p,{optional:h})}if(this.resolutions=[],typeof e.resolutions=="object"&&e.resolutions!==null)for(let[n,u]of Object.entries(e.resolutions)){if(typeof u!="string"){o.push(new Error(`Invalid resolution entry for '${n}'`));continue}try{this.resolutions.push({pattern:UP(n),reference:u})}catch(A){o.push(A);continue}}if(Array.isArray(e.files)){this.files=new Set;for(let n of e.files){if(typeof n!="string"){o.push(new Error(`Invalid files entry for '${n}'`));continue}this.files.add(n)}}else this.files=null;if(typeof e.publishConfig=="object"&&e.publishConfig!==null){if(this.publishConfig={},typeof e.publishConfig.access=="string"&&(this.publishConfig.access=e.publishConfig.access),typeof e.publishConfig.main=="string"&&(this.publishConfig.main=$o(e.publishConfig.main)),typeof e.publishConfig.module=="string"&&(this.publishConfig.module=$o(e.publishConfig.module)),e.publishConfig.browser!=null)if(typeof e.publishConfig.browser=="string")this.publishConfig.browser=$o(e.publishConfig.browser);else{this.publishConfig.browser=new Map;for(let[n,u]of Object.entries(e.publishConfig.browser))this.publishConfig.browser.set($o(n),typeof u=="string"?$o(u):u)}if(typeof e.publishConfig.registry=="string"&&(this.publishConfig.registry=e.publishConfig.registry),typeof e.publishConfig.bin=="string")this.name!==null?this.publishConfig.bin=new Map([[this.name.name,$o(e.publishConfig.bin)]]):o.push(new Error("String bin field, but no attached package name"));else if(typeof e.publishConfig.bin=="object"&&e.publishConfig.bin!==null){this.publishConfig.bin=new Map;for(let[n,u]of Object.entries(e.publishConfig.bin)){if(typeof u!="string"){o.push(new Error(`Invalid bin definition for '${n}'`));continue}this.publishConfig.bin.set(n,$o(u))}}if(Array.isArray(e.publishConfig.executableFiles)){this.publishConfig.executableFiles=new Set;for(let n of e.publishConfig.executableFiles){if(typeof n!="string"){o.push(new Error("Invalid executable file definition"));continue}this.publishConfig.executableFiles.add($o(n))}}}else this.publishConfig=null;if(typeof e.installConfig=="object"&&e.installConfig!==null){this.installConfig={};for(let n of Object.keys(e.installConfig))n==="hoistingLimits"?typeof e.installConfig.hoistingLimits=="string"?this.installConfig.hoistingLimits=e.installConfig.hoistingLimits:o.push(new Error("Invalid hoisting limits definition")):n=="selfReferences"?typeof e.installConfig.selfReferences=="boolean"?this.installConfig.selfReferences=e.installConfig.selfReferences:o.push(new Error("Invalid selfReferences definition, must be a boolean value")):o.push(new Error(`Unrecognized installConfig key: ${n}`))}else this.installConfig=null;if(typeof e.optionalDependencies=="object"&&e.optionalDependencies!==null)for(let[n,u]of Object.entries(e.optionalDependencies)){if(typeof u!="string"){o.push(new Error(`Invalid dependency range for '${n}'`));continue}let A;try{A=Zo(n)}catch{o.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}let p=In(A,u);this.dependencies.set(p.identHash,p);let h=In(A,"unknown"),E=this.ensureDependencyMeta(h);Object.assign(E,{optional:!0})}typeof e.preferUnplugged=="boolean"?this.preferUnplugged=e.preferUnplugged:this.preferUnplugged=null,this.errors=o}getForScope(e){switch(e){case"dependencies":return this.dependencies;case"devDependencies":return this.devDependencies;case"peerDependencies":return this.peerDependencies;default:throw new Error(`Unsupported value ("${e}")`)}}hasConsumerDependency(e){return!!(this.dependencies.has(e.identHash)||this.peerDependencies.has(e.identHash))}hasHardDependency(e){return!!(this.dependencies.has(e.identHash)||this.devDependencies.has(e.identHash))}hasSoftDependency(e){return!!this.peerDependencies.has(e.identHash)}hasDependency(e){return!!(this.hasHardDependency(e)||this.hasSoftDependency(e))}getConditions(){let e=[];return this.os&&this.os.length>0&&e.push(oM("os",this.os)),this.cpu&&this.cpu.length>0&&e.push(oM("cpu",this.cpu)),this.libc&&this.libc.length>0&&e.push(oM("libc",this.libc)),e.length>0?e.join(" & "):null}ensureDependencyMeta(e){if(e.range!=="unknown"&&!gse.default.valid(e.range))throw new Error(`Invalid meta field range for '${Sa(e)}'`);let r=rn(e),o=e.range!=="unknown"?e.range:null,a=this.dependenciesMeta.get(r);a||this.dependenciesMeta.set(r,a=new Map);let n=a.get(o);return n||a.set(o,n={}),n}ensurePeerDependencyMeta(e){if(e.range!=="unknown")throw new Error(`Invalid meta field range for '${Sa(e)}'`);let r=rn(e),o=this.peerDependenciesMeta.get(r);return o||this.peerDependenciesMeta.set(r,o={}),o}setRawField(e,r,{after:o=[]}={}){let a=new Set(o.filter(n=>Object.hasOwn(this.raw,n)));if(a.size===0||Object.hasOwn(this.raw,e))this.raw[e]=r;else{let n=this.raw,u=this.raw={},A=!1;for(let p of Object.keys(n))u[p]=n[p],A||(a.delete(p),a.size===0&&(u[e]=r,A=!0))}}exportTo(e,{compatibilityMode:r=!0}={}){if(Object.assign(e,this.raw),this.name!==null?e.name=rn(this.name):delete e.name,this.version!==null?e.version=this.version:delete e.version,this.os!==null?e.os=this.os:delete e.os,this.cpu!==null?e.cpu=this.cpu:delete e.cpu,this.type!==null?e.type=this.type:delete e.type,this.packageManager!==null?e.packageManager=this.packageManager:delete e.packageManager,this.private?e.private=!0:delete e.private,this.license!==null?e.license=this.license:delete e.license,this.languageName!==null?e.languageName=this.languageName:delete e.languageName,this.main!==null?e.main=this.main:delete e.main,this.module!==null?e.module=this.module:delete e.module,this.browser!==null){let n=this.browser;typeof n=="string"?e.browser=n:n instanceof Map&&(e.browser=Object.assign({},...Array.from(n.keys()).sort().map(u=>({[u]:n.get(u)}))))}else delete e.browser;this.bin.size===1&&this.name!==null&&this.bin.has(this.name.name)?e.bin=this.bin.get(this.name.name):this.bin.size>0?e.bin=Object.assign({},...Array.from(this.bin.keys()).sort().map(n=>({[n]:this.bin.get(n)}))):delete e.bin,this.workspaceDefinitions.length>0?this.raw.workspaces&&!Array.isArray(this.raw.workspaces)?e.workspaces={...this.raw.workspaces,packages:this.workspaceDefinitions.map(({pattern:n})=>n)}:e.workspaces=this.workspaceDefinitions.map(({pattern:n})=>n):this.raw.workspaces&&!Array.isArray(this.raw.workspaces)&&Object.keys(this.raw.workspaces).length>0?e.workspaces=this.raw.workspaces:delete e.workspaces;let o=[],a=[];for(let n of this.dependencies.values()){let u=this.dependenciesMeta.get(rn(n)),A=!1;if(r&&u){let p=u.get(null);p&&p.optional&&(A=!0)}A?a.push(n):o.push(n)}o.length>0?e.dependencies=Object.assign({},...lE(o).map(n=>({[rn(n)]:n.range}))):delete e.dependencies,a.length>0?e.optionalDependencies=Object.assign({},...lE(a).map(n=>({[rn(n)]:n.range}))):delete e.optionalDependencies,this.devDependencies.size>0?e.devDependencies=Object.assign({},...lE(this.devDependencies.values()).map(n=>({[rn(n)]:n.range}))):delete e.devDependencies,this.peerDependencies.size>0?e.peerDependencies=Object.assign({},...lE(this.peerDependencies.values()).map(n=>({[rn(n)]:n.range}))):delete e.peerDependencies,e.dependenciesMeta={};for(let[n,u]of Rs(this.dependenciesMeta.entries(),([A,p])=>A))for(let[A,p]of Rs(u.entries(),([h,E])=>h!==null?`0${h}`:"1")){let h=A!==null?Sa(In(Zo(n),A)):n,E={...p};r&&A===null&&delete E.optional,Object.keys(E).length!==0&&(e.dependenciesMeta[h]=E)}if(Object.keys(e.dependenciesMeta).length===0&&delete e.dependenciesMeta,this.peerDependenciesMeta.size>0?e.peerDependenciesMeta=Object.assign({},...Rs(this.peerDependenciesMeta.entries(),([n,u])=>n).map(([n,u])=>({[n]:u}))):delete e.peerDependenciesMeta,this.resolutions.length>0?e.resolutions=Object.assign({},...this.resolutions.map(({pattern:n,reference:u})=>({[_P(n)]:u}))):delete e.resolutions,this.files!==null?e.files=Array.from(this.files):delete e.files,this.preferUnplugged!==null?e.preferUnplugged=this.preferUnplugged:delete e.preferUnplugged,this.scripts!==null&&this.scripts.size>0){e.scripts??={};for(let n of Object.keys(e.scripts))this.scripts.has(n)||delete e.scripts[n];for(let[n,u]of this.scripts.entries())e.scripts[n]=u}else delete e.scripts;return e}},Ot=cE;Ot.fileName="package.json",Ot.allDependencies=["dependencies","devDependencies","peerDependencies"],Ot.hardDependencies=["dependencies","devDependencies"]});var mse=_((qLt,dse)=>{var Vtt=Hl(),Xtt=function(){return Vtt.Date.now()};dse.exports=Xtt});var Ese=_((GLt,yse)=>{var Ztt=/\s/;function $tt(t){for(var e=t.length;e--&&Ztt.test(t.charAt(e)););return e}yse.exports=$tt});var wse=_((jLt,Cse)=>{var ert=Ese(),trt=/^\s+/;function rrt(t){return t&&t.slice(0,ert(t)+1).replace(trt,"")}Cse.exports=rrt});var AE=_((YLt,Ise)=>{var nrt=gd(),irt=Vu(),srt="[object Symbol]";function ort(t){return typeof t=="symbol"||irt(t)&&nrt(t)==srt}Ise.exports=ort});var Dse=_((WLt,Pse)=>{var art=wse(),Bse=sl(),lrt=AE(),vse=0/0,crt=/^[-+]0x[0-9a-f]+$/i,urt=/^0b[01]+$/i,Art=/^0o[0-7]+$/i,frt=parseInt;function prt(t){if(typeof t=="number")return t;if(lrt(t))return vse;if(Bse(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=Bse(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=art(t);var r=urt.test(t);return r||Art.test(t)?frt(t.slice(2),r?2:8):crt.test(t)?vse:+t}Pse.exports=prt});var xse=_((KLt,bse)=>{var hrt=sl(),aM=mse(),Sse=Dse(),grt="Expected a function",drt=Math.max,mrt=Math.min;function yrt(t,e,r){var o,a,n,u,A,p,h=0,E=!1,I=!1,v=!0;if(typeof t!="function")throw new TypeError(grt);e=Sse(e)||0,hrt(r)&&(E=!!r.leading,I="maxWait"in r,n=I?drt(Sse(r.maxWait)||0,e):n,v="trailing"in r?!!r.trailing:v);function x(ce){var we=o,de=a;return o=a=void 0,h=ce,u=t.apply(de,we),u}function C(ce){return h=ce,A=setTimeout(U,e),E?x(ce):u}function F(ce){var we=ce-p,de=ce-h,Be=e-we;return I?mrt(Be,n-de):Be}function N(ce){var we=ce-p,de=ce-h;return p===void 0||we>=e||we<0||I&&de>=n}function U(){var ce=aM();if(N(ce))return J(ce);A=setTimeout(U,F(ce))}function J(ce){return A=void 0,v&&o?x(ce):(o=a=void 0,u)}function te(){A!==void 0&&clearTimeout(A),h=0,o=p=a=A=void 0}function ae(){return A===void 0?u:J(aM())}function le(){var ce=aM(),we=N(ce);if(o=arguments,a=this,p=ce,we){if(A===void 0)return C(p);if(I)return clearTimeout(A),A=setTimeout(U,e),x(p)}return A===void 0&&(A=setTimeout(U,e)),u}return le.cancel=te,le.flush=ae,le}bse.exports=yrt});var lM=_((zLt,kse)=>{var Ert=xse(),Crt=sl(),wrt="Expected a function";function Irt(t,e,r){var o=!0,a=!0;if(typeof t!="function")throw new TypeError(wrt);return Crt(r)&&(o="leading"in r?!!r.leading:o,a="trailing"in r?!!r.trailing:a),Ert(t,e,{leading:o,maxWait:e,trailing:a})}kse.exports=Irt});function vrt(t){return typeof t.reportCode<"u"}var Qse,Rse,Fse,Brt,Vt,Xs,Wl=Et(()=>{Qse=Ze(lM()),Rse=ve("stream"),Fse=ve("string_decoder"),Brt=15,Vt=class extends Error{constructor(r,o,a){super(o);this.reportExtra=a;this.reportCode=r}};Xs=class{constructor(){this.cacheHits=new Set;this.cacheMisses=new Set;this.reportedInfos=new Set;this.reportedWarnings=new Set;this.reportedErrors=new Set}getRecommendedLength(){return 180}reportCacheHit(e){this.cacheHits.add(e.locatorHash)}reportCacheMiss(e,r){this.cacheMisses.add(e.locatorHash)}static progressViaCounter(e){let r=0,o,a=new Promise(p=>{o=p}),n=p=>{let h=o;a=new Promise(E=>{o=E}),r=p,h()},u=(p=0)=>{n(r+1)},A=async function*(){for(;r{r=u}),a=(0,Qse.default)(u=>{let A=r;o=new Promise(p=>{r=p}),e=u,A()},1e3/Brt),n=async function*(){for(;;)await o,yield{title:e}}();return{[Symbol.asyncIterator](){return n},hasProgress:!1,hasTitle:!0,setTitle:a}}async startProgressPromise(e,r){let o=this.reportProgress(e);try{return await r(e)}finally{o.stop()}}startProgressSync(e,r){let o=this.reportProgress(e);try{return r(e)}finally{o.stop()}}reportInfoOnce(e,r,o){let a=o&&o.key?o.key:r;this.reportedInfos.has(a)||(this.reportedInfos.add(a),this.reportInfo(e,r),o?.reportExtra?.(this))}reportWarningOnce(e,r,o){let a=o&&o.key?o.key:r;this.reportedWarnings.has(a)||(this.reportedWarnings.add(a),this.reportWarning(e,r),o?.reportExtra?.(this))}reportErrorOnce(e,r,o){let a=o&&o.key?o.key:r;this.reportedErrors.has(a)||(this.reportedErrors.add(a),this.reportError(e,r),o?.reportExtra?.(this))}reportExceptionOnce(e){vrt(e)?this.reportErrorOnce(e.reportCode,e.message,{key:e,reportExtra:e.reportExtra}):this.reportErrorOnce(1,e.stack||e.message,{key:e})}createStreamReporter(e=null){let r=new Rse.PassThrough,o=new Fse.StringDecoder,a="";return r.on("data",n=>{let u=o.write(n),A;do if(A=u.indexOf(` +`),A!==-1){let p=a+u.substring(0,A);u=u.substring(A+1),a="",e!==null?this.reportInfo(null,`${e} ${p}`):this.reportInfo(null,p)}while(A!==-1);a+=u}),r.on("end",()=>{let n=o.end();n!==""&&(e!==null?this.reportInfo(null,`${e} ${n}`):this.reportInfo(null,n))}),r}}});var fE,cM=Et(()=>{Wl();So();fE=class{constructor(e){this.fetchers=e}supports(e,r){return!!this.tryFetcher(e,r)}getLocalPath(e,r){return this.getFetcher(e,r).getLocalPath(e,r)}async fetch(e,r){return await this.getFetcher(e,r).fetch(e,r)}tryFetcher(e,r){let o=this.fetchers.find(a=>a.supports(e,r));return o||null}getFetcher(e,r){let o=this.fetchers.find(a=>a.supports(e,r));if(!o)throw new Vt(11,`${qr(r.project.configuration,e)} isn't supported by any available fetcher`);return o}}});var Pd,uM=Et(()=>{So();Pd=class{constructor(e){this.resolvers=e.filter(r=>r)}supportsDescriptor(e,r){return!!this.tryResolverByDescriptor(e,r)}supportsLocator(e,r){return!!this.tryResolverByLocator(e,r)}shouldPersistResolution(e,r){return this.getResolverByLocator(e,r).shouldPersistResolution(e,r)}bindDescriptor(e,r,o){return this.getResolverByDescriptor(e,o).bindDescriptor(e,r,o)}getResolutionDependencies(e,r){return this.getResolverByDescriptor(e,r).getResolutionDependencies(e,r)}async getCandidates(e,r,o){return await this.getResolverByDescriptor(e,o).getCandidates(e,r,o)}async getSatisfying(e,r,o,a){return this.getResolverByDescriptor(e,a).getSatisfying(e,r,o,a)}async resolve(e,r){return await this.getResolverByLocator(e,r).resolve(e,r)}tryResolverByDescriptor(e,r){let o=this.resolvers.find(a=>a.supportsDescriptor(e,r));return o||null}getResolverByDescriptor(e,r){let o=this.resolvers.find(a=>a.supportsDescriptor(e,r));if(!o)throw new Error(`${Gn(r.project.configuration,e)} isn't supported by any available resolver`);return o}tryResolverByLocator(e,r){let o=this.resolvers.find(a=>a.supportsLocator(e,r));return o||null}getResolverByLocator(e,r){let o=this.resolvers.find(a=>a.supportsLocator(e,r));if(!o)throw new Error(`${qr(r.project.configuration,e)} isn't supported by any available resolver`);return o}}});var pE,AM=Et(()=>{Dt();So();pE=class{supports(e){return!!e.reference.startsWith("virtual:")}getLocalPath(e,r){let o=e.reference.indexOf("#");if(o===-1)throw new Error("Invalid virtual package reference");let a=e.reference.slice(o+1),n=Fs(e,a);return r.fetcher.getLocalPath(n,r)}async fetch(e,r){let o=e.reference.indexOf("#");if(o===-1)throw new Error("Invalid virtual package reference");let a=e.reference.slice(o+1),n=Fs(e,a),u=await r.fetcher.fetch(n,r);return await this.ensureVirtualLink(e,u,r)}getLocatorFilename(e){return oE(e)}async ensureVirtualLink(e,r,o){let a=r.packageFs.getRealPath(),n=o.project.configuration.get("virtualFolder"),u=this.getLocatorFilename(e),A=mi.makeVirtualPath(n,u,a),p=new _u(A,{baseFs:r.packageFs,pathUtils:z});return{...r,packageFs:p}}}});var hE,u1,Tse=Et(()=>{hE=class{static isVirtualDescriptor(e){return!!e.range.startsWith(hE.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(hE.protocol)}supportsDescriptor(e,r){return hE.isVirtualDescriptor(e)}supportsLocator(e,r){return hE.isVirtualLocator(e)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){throw new Error('Assertion failed: calling "bindDescriptor" on a virtual descriptor is unsupported')}getResolutionDependencies(e,r){throw new Error('Assertion failed: calling "getResolutionDependencies" on a virtual descriptor is unsupported')}async getCandidates(e,r,o){throw new Error('Assertion failed: calling "getCandidates" on a virtual descriptor is unsupported')}async getSatisfying(e,r,o,a){throw new Error('Assertion failed: calling "getSatisfying" on a virtual descriptor is unsupported')}async resolve(e,r){throw new Error('Assertion failed: calling "resolve" on a virtual locator is unsupported')}},u1=hE;u1.protocol="virtual:"});var gE,fM=Et(()=>{Dt();vd();gE=class{supports(e){return!!e.reference.startsWith(Xn.protocol)}getLocalPath(e,r){return this.getWorkspace(e,r).cwd}async fetch(e,r){let o=this.getWorkspace(e,r).cwd;return{packageFs:new gn(o),prefixPath:Bt.dot,localPath:o}}getWorkspace(e,r){return r.project.getWorkspaceByCwd(e.reference.slice(Xn.protocol.length))}}});function A1(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Lse(t){return typeof t>"u"?3:A1(t)?0:Array.isArray(t)?1:2}function gM(t,e){return Object.hasOwn(t,e)}function Drt(t){return A1(t)&&gM(t,"onConflict")&&typeof t.onConflict=="string"}function Srt(t){if(typeof t>"u")return{onConflict:"default",value:t};if(!Drt(t))return{onConflict:"default",value:t};if(gM(t,"value"))return t;let{onConflict:e,...r}=t;return{onConflict:e,value:r}}function Nse(t,e){let r=A1(t)&&gM(t,e)?t[e]:void 0;return Srt(r)}function dE(t,e){return[t,e,Ose]}function dM(t){return Array.isArray(t)?t[2]===Ose:!1}function pM(t,e){if(A1(t)){let r={};for(let o of Object.keys(t))r[o]=pM(t[o],e);return dE(e,r)}return Array.isArray(t)?dE(e,t.map(r=>pM(r,e))):dE(e,t)}function hM(t,e,r,o,a){let n,u=[],A=a,p=0;for(let E=a-1;E>=o;--E){let[I,v]=t[E],{onConflict:x,value:C}=Nse(v,r),F=Lse(C);if(F!==3){if(n??=F,F!==n||x==="hardReset"){p=A;break}if(F===2)return dE(I,C);if(u.unshift([I,C]),x==="reset"){p=E;break}x==="extend"&&E===o&&(o=0),A=E}}if(typeof n>"u")return null;let h=u.map(([E])=>E).join(", ");switch(n){case 1:return dE(h,new Array().concat(...u.map(([E,I])=>I.map(v=>pM(v,E)))));case 0:{let E=Object.assign({},...u.map(([,F])=>F)),I=Object.keys(E),v={},x=t.map(([F,N])=>[F,Nse(N,r).value]),C=Prt(x,([F,N])=>{let U=Lse(N);return U!==0&&U!==3});if(C!==-1){let F=x.slice(C+1);for(let N of I)v[N]=hM(F,e,N,0,F.length)}else for(let F of I)v[F]=hM(x,e,F,p,x.length);return dE(h,v)}default:throw new Error("Assertion failed: Non-extendable value type")}}function Mse(t){return hM(t.map(([e,r])=>[e,{["."]:r}]),[],".",0,t.length)}function f1(t){return dM(t)?t[1]:t}function YS(t){let e=dM(t)?t[1]:t;if(Array.isArray(e))return e.map(r=>YS(r));if(A1(e)){let r={};for(let[o,a]of Object.entries(e))r[o]=YS(a);return r}return e}function mM(t){return dM(t)?t[0]:null}var Prt,Ose,Use=Et(()=>{Prt=(t,e,r)=>{let o=[...t];return o.reverse(),o.findIndex(e,r)};Ose=Symbol()});var WS={};zt(WS,{getDefaultGlobalFolder:()=>EM,getHomeFolder:()=>mE,isFolderInside:()=>CM});function EM(){if(process.platform==="win32"){let t=ue.toPortablePath(process.env.LOCALAPPDATA||ue.join((0,yM.homedir)(),"AppData","Local"));return z.resolve(t,"Yarn/Berry")}if(process.env.XDG_DATA_HOME){let t=ue.toPortablePath(process.env.XDG_DATA_HOME);return z.resolve(t,"yarn/berry")}return z.resolve(mE(),".yarn/berry")}function mE(){return ue.toPortablePath((0,yM.homedir)()||"/usr/local/share")}function CM(t,e){let r=z.relative(e,t);return r&&!r.startsWith("..")&&!z.isAbsolute(r)}var yM,KS=Et(()=>{Dt();yM=ve("os")});var Gse=_(yE=>{"use strict";var aNt=ve("net"),xrt=ve("tls"),wM=ve("http"),_se=ve("https"),krt=ve("events"),lNt=ve("assert"),Qrt=ve("util");yE.httpOverHttp=Rrt;yE.httpsOverHttp=Frt;yE.httpOverHttps=Trt;yE.httpsOverHttps=Lrt;function Rrt(t){var e=new Rf(t);return e.request=wM.request,e}function Frt(t){var e=new Rf(t);return e.request=wM.request,e.createSocket=Hse,e.defaultPort=443,e}function Trt(t){var e=new Rf(t);return e.request=_se.request,e}function Lrt(t){var e=new Rf(t);return e.request=_se.request,e.createSocket=Hse,e.defaultPort=443,e}function Rf(t){var e=this;e.options=t||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||wM.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",function(o,a,n,u){for(var A=qse(a,n,u),p=0,h=e.requests.length;p=this.maxSockets){n.requests.push(u);return}n.createSocket(u,function(A){A.on("free",p),A.on("close",h),A.on("agentRemove",h),e.onSocket(A);function p(){n.emit("free",A,u)}function h(E){n.removeSocket(A),A.removeListener("free",p),A.removeListener("close",h),A.removeListener("agentRemove",h)}})};Rf.prototype.createSocket=function(e,r){var o=this,a={};o.sockets.push(a);var n=IM({},o.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(n.localAddress=e.localAddress),n.proxyAuth&&(n.headers=n.headers||{},n.headers["Proxy-Authorization"]="Basic "+new Buffer(n.proxyAuth).toString("base64")),ah("making CONNECT request");var u=o.request(n);u.useChunkedEncodingByDefault=!1,u.once("response",A),u.once("upgrade",p),u.once("connect",h),u.once("error",E),u.end();function A(I){I.upgrade=!0}function p(I,v,x){process.nextTick(function(){h(I,v,x)})}function h(I,v,x){if(u.removeAllListeners(),v.removeAllListeners(),I.statusCode!==200){ah("tunneling socket could not be established, statusCode=%d",I.statusCode),v.destroy();var C=new Error("tunneling socket could not be established, statusCode="+I.statusCode);C.code="ECONNRESET",e.request.emit("error",C),o.removeSocket(a);return}if(x.length>0){ah("got illegal response body from proxy"),v.destroy();var C=new Error("got illegal response body from proxy");C.code="ECONNRESET",e.request.emit("error",C),o.removeSocket(a);return}return ah("tunneling connection has established"),o.sockets[o.sockets.indexOf(a)]=v,r(v)}function E(I){u.removeAllListeners(),ah(`tunneling socket could not be established, cause=%s +`,I.message,I.stack);var v=new Error("tunneling socket could not be established, cause="+I.message);v.code="ECONNRESET",e.request.emit("error",v),o.removeSocket(a)}};Rf.prototype.removeSocket=function(e){var r=this.sockets.indexOf(e);if(r!==-1){this.sockets.splice(r,1);var o=this.requests.shift();o&&this.createSocket(o,function(a){o.request.onSocket(a)})}};function Hse(t,e){var r=this;Rf.prototype.createSocket.call(r,t,function(o){var a=t.request.getHeader("host"),n=IM({},r.options,{socket:o,servername:a?a.replace(/:.*$/,""):t.host}),u=xrt.connect(0,n);r.sockets[r.sockets.indexOf(o)]=u,e(u)})}function qse(t,e,r){return typeof t=="string"?{host:t,port:e,localAddress:r}:t}function IM(t){for(var e=1,r=arguments.length;e{jse.exports=Gse()});var Tf=_((Ff,zS)=>{"use strict";Object.defineProperty(Ff,"__esModule",{value:!0});var Wse=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function Nrt(t){return Wse.includes(t)}var Ort=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Blob","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","FormData","URLSearchParams","HTMLElement",...Wse];function Mrt(t){return Ort.includes(t)}var Urt=["null","undefined","string","number","bigint","boolean","symbol"];function _rt(t){return Urt.includes(t)}function EE(t){return e=>typeof e===t}var{toString:Kse}=Object.prototype,p1=t=>{let e=Kse.call(t).slice(8,-1);if(/HTML\w+Element/.test(e)&&De.domElement(t))return"HTMLElement";if(Mrt(e))return e},Zn=t=>e=>p1(e)===t;function De(t){if(t===null)return"null";switch(typeof t){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"boolean":return"boolean";case"function":return"Function";case"bigint":return"bigint";case"symbol":return"symbol";default:}if(De.observable(t))return"Observable";if(De.array(t))return"Array";if(De.buffer(t))return"Buffer";let e=p1(t);if(e)return e;if(t instanceof String||t instanceof Boolean||t instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}De.undefined=EE("undefined");De.string=EE("string");var Hrt=EE("number");De.number=t=>Hrt(t)&&!De.nan(t);De.bigint=EE("bigint");De.function_=EE("function");De.null_=t=>t===null;De.class_=t=>De.function_(t)&&t.toString().startsWith("class ");De.boolean=t=>t===!0||t===!1;De.symbol=EE("symbol");De.numericString=t=>De.string(t)&&!De.emptyStringOrWhitespace(t)&&!Number.isNaN(Number(t));De.array=(t,e)=>Array.isArray(t)?De.function_(e)?t.every(e):!0:!1;De.buffer=t=>{var e,r,o,a;return(a=(o=(r=(e=t)===null||e===void 0?void 0:e.constructor)===null||r===void 0?void 0:r.isBuffer)===null||o===void 0?void 0:o.call(r,t))!==null&&a!==void 0?a:!1};De.blob=t=>Zn("Blob")(t);De.nullOrUndefined=t=>De.null_(t)||De.undefined(t);De.object=t=>!De.null_(t)&&(typeof t=="object"||De.function_(t));De.iterable=t=>{var e;return De.function_((e=t)===null||e===void 0?void 0:e[Symbol.iterator])};De.asyncIterable=t=>{var e;return De.function_((e=t)===null||e===void 0?void 0:e[Symbol.asyncIterator])};De.generator=t=>{var e,r;return De.iterable(t)&&De.function_((e=t)===null||e===void 0?void 0:e.next)&&De.function_((r=t)===null||r===void 0?void 0:r.throw)};De.asyncGenerator=t=>De.asyncIterable(t)&&De.function_(t.next)&&De.function_(t.throw);De.nativePromise=t=>Zn("Promise")(t);var qrt=t=>{var e,r;return De.function_((e=t)===null||e===void 0?void 0:e.then)&&De.function_((r=t)===null||r===void 0?void 0:r.catch)};De.promise=t=>De.nativePromise(t)||qrt(t);De.generatorFunction=Zn("GeneratorFunction");De.asyncGeneratorFunction=t=>p1(t)==="AsyncGeneratorFunction";De.asyncFunction=t=>p1(t)==="AsyncFunction";De.boundFunction=t=>De.function_(t)&&!t.hasOwnProperty("prototype");De.regExp=Zn("RegExp");De.date=Zn("Date");De.error=Zn("Error");De.map=t=>Zn("Map")(t);De.set=t=>Zn("Set")(t);De.weakMap=t=>Zn("WeakMap")(t);De.weakSet=t=>Zn("WeakSet")(t);De.int8Array=Zn("Int8Array");De.uint8Array=Zn("Uint8Array");De.uint8ClampedArray=Zn("Uint8ClampedArray");De.int16Array=Zn("Int16Array");De.uint16Array=Zn("Uint16Array");De.int32Array=Zn("Int32Array");De.uint32Array=Zn("Uint32Array");De.float32Array=Zn("Float32Array");De.float64Array=Zn("Float64Array");De.bigInt64Array=Zn("BigInt64Array");De.bigUint64Array=Zn("BigUint64Array");De.arrayBuffer=Zn("ArrayBuffer");De.sharedArrayBuffer=Zn("SharedArrayBuffer");De.dataView=Zn("DataView");De.enumCase=(t,e)=>Object.values(e).includes(t);De.directInstanceOf=(t,e)=>Object.getPrototypeOf(t)===e.prototype;De.urlInstance=t=>Zn("URL")(t);De.urlString=t=>{if(!De.string(t))return!1;try{return new URL(t),!0}catch{return!1}};De.truthy=t=>Boolean(t);De.falsy=t=>!t;De.nan=t=>Number.isNaN(t);De.primitive=t=>De.null_(t)||_rt(typeof t);De.integer=t=>Number.isInteger(t);De.safeInteger=t=>Number.isSafeInteger(t);De.plainObject=t=>{if(Kse.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.getPrototypeOf({})};De.typedArray=t=>Nrt(p1(t));var Grt=t=>De.safeInteger(t)&&t>=0;De.arrayLike=t=>!De.nullOrUndefined(t)&&!De.function_(t)&&Grt(t.length);De.inRange=(t,e)=>{if(De.number(e))return t>=Math.min(0,e)&&t<=Math.max(e,0);if(De.array(e)&&e.length===2)return t>=Math.min(...e)&&t<=Math.max(...e);throw new TypeError(`Invalid range: ${JSON.stringify(e)}`)};var jrt=1,Yrt=["innerHTML","ownerDocument","style","attributes","nodeValue"];De.domElement=t=>De.object(t)&&t.nodeType===jrt&&De.string(t.nodeName)&&!De.plainObject(t)&&Yrt.every(e=>e in t);De.observable=t=>{var e,r,o,a;return t?t===((r=(e=t)[Symbol.observable])===null||r===void 0?void 0:r.call(e))||t===((a=(o=t)["@@observable"])===null||a===void 0?void 0:a.call(o)):!1};De.nodeStream=t=>De.object(t)&&De.function_(t.pipe)&&!De.observable(t);De.infinite=t=>t===1/0||t===-1/0;var zse=t=>e=>De.integer(e)&&Math.abs(e%2)===t;De.evenInteger=zse(0);De.oddInteger=zse(1);De.emptyArray=t=>De.array(t)&&t.length===0;De.nonEmptyArray=t=>De.array(t)&&t.length>0;De.emptyString=t=>De.string(t)&&t.length===0;var Wrt=t=>De.string(t)&&!/\S/.test(t);De.emptyStringOrWhitespace=t=>De.emptyString(t)||Wrt(t);De.nonEmptyString=t=>De.string(t)&&t.length>0;De.nonEmptyStringAndNotWhitespace=t=>De.string(t)&&!De.emptyStringOrWhitespace(t);De.emptyObject=t=>De.object(t)&&!De.map(t)&&!De.set(t)&&Object.keys(t).length===0;De.nonEmptyObject=t=>De.object(t)&&!De.map(t)&&!De.set(t)&&Object.keys(t).length>0;De.emptySet=t=>De.set(t)&&t.size===0;De.nonEmptySet=t=>De.set(t)&&t.size>0;De.emptyMap=t=>De.map(t)&&t.size===0;De.nonEmptyMap=t=>De.map(t)&&t.size>0;De.propertyKey=t=>De.any([De.string,De.number,De.symbol],t);De.formData=t=>Zn("FormData")(t);De.urlSearchParams=t=>Zn("URLSearchParams")(t);var Jse=(t,e,r)=>{if(!De.function_(e))throw new TypeError(`Invalid predicate: ${JSON.stringify(e)}`);if(r.length===0)throw new TypeError("Invalid number of values");return t.call(r,e)};De.any=(t,...e)=>(De.array(t)?t:[t]).some(o=>Jse(Array.prototype.some,o,e));De.all=(t,...e)=>Jse(Array.prototype.every,t,e);var Mt=(t,e,r,o={})=>{if(!t){let{multipleValues:a}=o,n=a?`received values of types ${[...new Set(r.map(u=>`\`${De(u)}\``))].join(", ")}`:`received value of type \`${De(r)}\``;throw new TypeError(`Expected value which is \`${e}\`, ${n}.`)}};Ff.assert={undefined:t=>Mt(De.undefined(t),"undefined",t),string:t=>Mt(De.string(t),"string",t),number:t=>Mt(De.number(t),"number",t),bigint:t=>Mt(De.bigint(t),"bigint",t),function_:t=>Mt(De.function_(t),"Function",t),null_:t=>Mt(De.null_(t),"null",t),class_:t=>Mt(De.class_(t),"Class",t),boolean:t=>Mt(De.boolean(t),"boolean",t),symbol:t=>Mt(De.symbol(t),"symbol",t),numericString:t=>Mt(De.numericString(t),"string with a number",t),array:(t,e)=>{Mt(De.array(t),"Array",t),e&&t.forEach(e)},buffer:t=>Mt(De.buffer(t),"Buffer",t),blob:t=>Mt(De.blob(t),"Blob",t),nullOrUndefined:t=>Mt(De.nullOrUndefined(t),"null or undefined",t),object:t=>Mt(De.object(t),"Object",t),iterable:t=>Mt(De.iterable(t),"Iterable",t),asyncIterable:t=>Mt(De.asyncIterable(t),"AsyncIterable",t),generator:t=>Mt(De.generator(t),"Generator",t),asyncGenerator:t=>Mt(De.asyncGenerator(t),"AsyncGenerator",t),nativePromise:t=>Mt(De.nativePromise(t),"native Promise",t),promise:t=>Mt(De.promise(t),"Promise",t),generatorFunction:t=>Mt(De.generatorFunction(t),"GeneratorFunction",t),asyncGeneratorFunction:t=>Mt(De.asyncGeneratorFunction(t),"AsyncGeneratorFunction",t),asyncFunction:t=>Mt(De.asyncFunction(t),"AsyncFunction",t),boundFunction:t=>Mt(De.boundFunction(t),"Function",t),regExp:t=>Mt(De.regExp(t),"RegExp",t),date:t=>Mt(De.date(t),"Date",t),error:t=>Mt(De.error(t),"Error",t),map:t=>Mt(De.map(t),"Map",t),set:t=>Mt(De.set(t),"Set",t),weakMap:t=>Mt(De.weakMap(t),"WeakMap",t),weakSet:t=>Mt(De.weakSet(t),"WeakSet",t),int8Array:t=>Mt(De.int8Array(t),"Int8Array",t),uint8Array:t=>Mt(De.uint8Array(t),"Uint8Array",t),uint8ClampedArray:t=>Mt(De.uint8ClampedArray(t),"Uint8ClampedArray",t),int16Array:t=>Mt(De.int16Array(t),"Int16Array",t),uint16Array:t=>Mt(De.uint16Array(t),"Uint16Array",t),int32Array:t=>Mt(De.int32Array(t),"Int32Array",t),uint32Array:t=>Mt(De.uint32Array(t),"Uint32Array",t),float32Array:t=>Mt(De.float32Array(t),"Float32Array",t),float64Array:t=>Mt(De.float64Array(t),"Float64Array",t),bigInt64Array:t=>Mt(De.bigInt64Array(t),"BigInt64Array",t),bigUint64Array:t=>Mt(De.bigUint64Array(t),"BigUint64Array",t),arrayBuffer:t=>Mt(De.arrayBuffer(t),"ArrayBuffer",t),sharedArrayBuffer:t=>Mt(De.sharedArrayBuffer(t),"SharedArrayBuffer",t),dataView:t=>Mt(De.dataView(t),"DataView",t),enumCase:(t,e)=>Mt(De.enumCase(t,e),"EnumCase",t),urlInstance:t=>Mt(De.urlInstance(t),"URL",t),urlString:t=>Mt(De.urlString(t),"string with a URL",t),truthy:t=>Mt(De.truthy(t),"truthy",t),falsy:t=>Mt(De.falsy(t),"falsy",t),nan:t=>Mt(De.nan(t),"NaN",t),primitive:t=>Mt(De.primitive(t),"primitive",t),integer:t=>Mt(De.integer(t),"integer",t),safeInteger:t=>Mt(De.safeInteger(t),"integer",t),plainObject:t=>Mt(De.plainObject(t),"plain object",t),typedArray:t=>Mt(De.typedArray(t),"TypedArray",t),arrayLike:t=>Mt(De.arrayLike(t),"array-like",t),domElement:t=>Mt(De.domElement(t),"HTMLElement",t),observable:t=>Mt(De.observable(t),"Observable",t),nodeStream:t=>Mt(De.nodeStream(t),"Node.js Stream",t),infinite:t=>Mt(De.infinite(t),"infinite number",t),emptyArray:t=>Mt(De.emptyArray(t),"empty array",t),nonEmptyArray:t=>Mt(De.nonEmptyArray(t),"non-empty array",t),emptyString:t=>Mt(De.emptyString(t),"empty string",t),emptyStringOrWhitespace:t=>Mt(De.emptyStringOrWhitespace(t),"empty string or whitespace",t),nonEmptyString:t=>Mt(De.nonEmptyString(t),"non-empty string",t),nonEmptyStringAndNotWhitespace:t=>Mt(De.nonEmptyStringAndNotWhitespace(t),"non-empty string and not whitespace",t),emptyObject:t=>Mt(De.emptyObject(t),"empty object",t),nonEmptyObject:t=>Mt(De.nonEmptyObject(t),"non-empty object",t),emptySet:t=>Mt(De.emptySet(t),"empty set",t),nonEmptySet:t=>Mt(De.nonEmptySet(t),"non-empty set",t),emptyMap:t=>Mt(De.emptyMap(t),"empty map",t),nonEmptyMap:t=>Mt(De.nonEmptyMap(t),"non-empty map",t),propertyKey:t=>Mt(De.propertyKey(t),"PropertyKey",t),formData:t=>Mt(De.formData(t),"FormData",t),urlSearchParams:t=>Mt(De.urlSearchParams(t),"URLSearchParams",t),evenInteger:t=>Mt(De.evenInteger(t),"even integer",t),oddInteger:t=>Mt(De.oddInteger(t),"odd integer",t),directInstanceOf:(t,e)=>Mt(De.directInstanceOf(t,e),"T",t),inRange:(t,e)=>Mt(De.inRange(t,e),"in range",t),any:(t,...e)=>Mt(De.any(t,...e),"predicate returns truthy for any value",e,{multipleValues:!0}),all:(t,...e)=>Mt(De.all(t,...e),"predicate returns truthy for all values",e,{multipleValues:!0})};Object.defineProperties(De,{class:{value:De.class_},function:{value:De.function_},null:{value:De.null_}});Object.defineProperties(Ff.assert,{class:{value:Ff.assert.class_},function:{value:Ff.assert.function_},null:{value:Ff.assert.null_}});Ff.default=De;zS.exports=De;zS.exports.default=De;zS.exports.assert=Ff.assert});var Vse=_((ANt,BM)=>{"use strict";var JS=class extends Error{constructor(e){super(e||"Promise was canceled"),this.name="CancelError"}get isCanceled(){return!0}},CE=class{static fn(e){return(...r)=>new CE((o,a,n)=>{r.push(n),e(...r).then(o,a)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((r,o)=>{this._reject=o;let a=A=>{this._isPending=!1,r(A)},n=A=>{this._isPending=!1,o(A)},u=A=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(A)};return Object.defineProperties(u,{shouldReject:{get:()=>this._rejectOnCancel,set:A=>{this._rejectOnCancel=A}}}),e(a,n,u)})}then(e,r){return this._promise.then(e,r)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._cancelHandlers.length>0)try{for(let r of this._cancelHandlers)r()}catch(r){this._reject(r)}this._isCanceled=!0,this._rejectOnCancel&&this._reject(new JS(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(CE.prototype,Promise.prototype);BM.exports=CE;BM.exports.CancelError=JS});var Xse=_((PM,DM)=>{"use strict";Object.defineProperty(PM,"__esModule",{value:!0});function Krt(t){return t.encrypted}var vM=(t,e)=>{let r;typeof e=="function"?r={connect:e}:r=e;let o=typeof r.connect=="function",a=typeof r.secureConnect=="function",n=typeof r.close=="function",u=()=>{o&&r.connect(),Krt(t)&&a&&(t.authorized?r.secureConnect():t.authorizationError||t.once("secureConnect",r.secureConnect)),n&&t.once("close",r.close)};t.writable&&!t.connecting?u():t.connecting?t.once("connect",u):t.destroyed&&n&&r.close(t._hadError)};PM.default=vM;DM.exports=vM;DM.exports.default=vM});var Zse=_((bM,xM)=>{"use strict";Object.defineProperty(bM,"__esModule",{value:!0});var zrt=Xse(),Jrt=Number(process.versions.node.split(".")[0]),SM=t=>{let e={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};t.timings=e;let r=u=>{let A=u.emit.bind(u);u.emit=(p,...h)=>(p==="error"&&(e.error=Date.now(),e.phases.total=e.error-e.start,u.emit=A),A(p,...h))};r(t),t.prependOnceListener("abort",()=>{e.abort=Date.now(),(!e.response||Jrt>=13)&&(e.phases.total=Date.now()-e.start)});let o=u=>{e.socket=Date.now(),e.phases.wait=e.socket-e.start;let A=()=>{e.lookup=Date.now(),e.phases.dns=e.lookup-e.socket};u.prependOnceListener("lookup",A),zrt.default(u,{connect:()=>{e.connect=Date.now(),e.lookup===void 0&&(u.removeListener("lookup",A),e.lookup=e.connect,e.phases.dns=e.lookup-e.socket),e.phases.tcp=e.connect-e.lookup},secureConnect:()=>{e.secureConnect=Date.now(),e.phases.tls=e.secureConnect-e.connect}})};t.socket?o(t.socket):t.prependOnceListener("socket",o);let a=()=>{var u;e.upload=Date.now(),e.phases.request=e.upload-(u=e.secureConnect,u??e.connect)};return(()=>typeof t.writableFinished=="boolean"?t.writableFinished:t.finished&&t.outputSize===0&&(!t.socket||t.socket.writableLength===0))()?a():t.prependOnceListener("finish",a),t.prependOnceListener("response",u=>{e.response=Date.now(),e.phases.firstByte=e.response-e.upload,u.timings=e,r(u),u.prependOnceListener("end",()=>{e.end=Date.now(),e.phases.download=e.end-e.response,e.phases.total=e.end-e.start})}),e};bM.default=SM;xM.exports=SM;xM.exports.default=SM});var soe=_((fNt,RM)=>{"use strict";var{V4MAPPED:Vrt,ADDRCONFIG:Xrt,ALL:ioe,promises:{Resolver:$se},lookup:Zrt}=ve("dns"),{promisify:kM}=ve("util"),$rt=ve("os"),wE=Symbol("cacheableLookupCreateConnection"),QM=Symbol("cacheableLookupInstance"),eoe=Symbol("expires"),ent=typeof ioe=="number",toe=t=>{if(!(t&&typeof t.createConnection=="function"))throw new Error("Expected an Agent instance as the first argument")},tnt=t=>{for(let e of t)e.family!==6&&(e.address=`::ffff:${e.address}`,e.family=6)},roe=()=>{let t=!1,e=!1;for(let r of Object.values($rt.networkInterfaces()))for(let o of r)if(!o.internal&&(o.family==="IPv6"?e=!0:t=!0,t&&e))return{has4:t,has6:e};return{has4:t,has6:e}},rnt=t=>Symbol.iterator in t,noe={ttl:!0},nnt={all:!0},VS=class{constructor({cache:e=new Map,maxTtl:r=1/0,fallbackDuration:o=3600,errorTtl:a=.15,resolver:n=new $se,lookup:u=Zrt}={}){if(this.maxTtl=r,this.errorTtl=a,this._cache=e,this._resolver=n,this._dnsLookup=kM(u),this._resolver instanceof $se?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=kM(this._resolver.resolve4.bind(this._resolver)),this._resolve6=kM(this._resolver.resolve6.bind(this._resolver))),this._iface=roe(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,o<1)this._fallback=!1;else{this._fallback=!0;let A=setInterval(()=>{this._hostnamesToFallback.clear()},o*1e3);A.unref&&A.unref()}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(e){this.clear(),this._resolver.setServers(e)}get servers(){return this._resolver.getServers()}lookup(e,r,o){if(typeof r=="function"?(o=r,r={}):typeof r=="number"&&(r={family:r}),!o)throw new Error("Callback must be a function.");this.lookupAsync(e,r).then(a=>{r.all?o(null,a):o(null,a.address,a.family,a.expires,a.ttl)},o)}async lookupAsync(e,r={}){typeof r=="number"&&(r={family:r});let o=await this.query(e);if(r.family===6){let a=o.filter(n=>n.family===6);r.hints&Vrt&&(ent&&r.hints&ioe||a.length===0)?tnt(o):o=a}else r.family===4&&(o=o.filter(a=>a.family===4));if(r.hints&Xrt){let{_iface:a}=this;o=o.filter(n=>n.family===6?a.has6:a.has4)}if(o.length===0){let a=new Error(`cacheableLookup ENOTFOUND ${e}`);throw a.code="ENOTFOUND",a.hostname=e,a}return r.all?o:o[0]}async query(e){let r=await this._cache.get(e);if(!r){let o=this._pending[e];if(o)r=await o;else{let a=this.queryAndCache(e);this._pending[e]=a,r=await a}}return r=r.map(o=>({...o})),r}async _resolve(e){let r=async h=>{try{return await h}catch(E){if(E.code==="ENODATA"||E.code==="ENOTFOUND")return[];throw E}},[o,a]=await Promise.all([this._resolve4(e,noe),this._resolve6(e,noe)].map(h=>r(h))),n=0,u=0,A=0,p=Date.now();for(let h of o)h.family=4,h.expires=p+h.ttl*1e3,n=Math.max(n,h.ttl);for(let h of a)h.family=6,h.expires=p+h.ttl*1e3,u=Math.max(u,h.ttl);return o.length>0?a.length>0?A=Math.min(n,u):A=n:A=u,{entries:[...o,...a],cacheTtl:A}}async _lookup(e){try{return{entries:await this._dnsLookup(e,{all:!0}),cacheTtl:0}}catch{return{entries:[],cacheTtl:0}}}async _set(e,r,o){if(this.maxTtl>0&&o>0){o=Math.min(o,this.maxTtl)*1e3,r[eoe]=Date.now()+o;try{await this._cache.set(e,r,o)}catch(a){this.lookupAsync=async()=>{let n=new Error("Cache Error. Please recreate the CacheableLookup instance.");throw n.cause=a,n}}rnt(this._cache)&&this._tick(o)}}async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._dnsLookup(e,nnt);try{let r=await this._resolve(e);r.entries.length===0&&this._fallback&&(r=await this._lookup(e),r.entries.length!==0&&this._hostnamesToFallback.add(e));let o=r.entries.length===0?this.errorTtl:r.cacheTtl;return await this._set(e,r.entries,o),delete this._pending[e],r.entries}catch(r){throw delete this._pending[e],r}}_tick(e){let r=this._nextRemovalTime;(!r||e{this._nextRemovalTime=!1;let o=1/0,a=Date.now();for(let[n,u]of this._cache){let A=u[eoe];a>=A?this._cache.delete(n):A("lookup"in r||(r.lookup=this.lookup),e[wE](r,o))}uninstall(e){if(toe(e),e[wE]){if(e[QM]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");e.createConnection=e[wE],delete e[wE],delete e[QM]}}updateInterfaceInfo(){let{_iface:e}=this;this._iface=roe(),(e.has4&&!this._iface.has4||e.has6&&!this._iface.has6)&&this._cache.clear()}clear(e){if(e){this._cache.delete(e);return}this._cache.clear()}};RM.exports=VS;RM.exports.default=VS});var loe=_((pNt,FM)=>{"use strict";var int=typeof URL>"u"?ve("url").URL:URL,snt="text/plain",ont="us-ascii",ooe=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),ant=(t,{stripHash:e})=>{let r=t.match(/^data:([^,]*?),([^#]*?)(?:#(.*))?$/);if(!r)throw new Error(`Invalid URL: ${t}`);let o=r[1].split(";"),a=r[2],n=e?"":r[3],u=!1;o[o.length-1]==="base64"&&(o.pop(),u=!0);let A=(o.shift()||"").toLowerCase(),h=[...o.map(E=>{let[I,v=""]=E.split("=").map(x=>x.trim());return I==="charset"&&(v=v.toLowerCase(),v===ont)?"":`${I}${v?`=${v}`:""}`}).filter(Boolean)];return u&&h.push("base64"),(h.length!==0||A&&A!==snt)&&h.unshift(A),`data:${h.join(";")},${u?a.trim():a}${n?`#${n}`:""}`},aoe=(t,e)=>{if(e={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...e},Reflect.has(e,"normalizeHttps"))throw new Error("options.normalizeHttps is renamed to options.forceHttp");if(Reflect.has(e,"normalizeHttp"))throw new Error("options.normalizeHttp is renamed to options.forceHttps");if(Reflect.has(e,"stripFragment"))throw new Error("options.stripFragment is renamed to options.stripHash");if(t=t.trim(),/^data:/i.test(t))return ant(t,e);let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let a=new int(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&a.protocol==="https:"&&(a.protocol="http:"),e.forceHttps&&a.protocol==="http:"&&(a.protocol="https:"),e.stripAuthentication&&(a.username="",a.password=""),e.stripHash&&(a.hash=""),a.pathname&&(a.pathname=a.pathname.replace(/((?!:).|^)\/{2,}/g,(n,u)=>/^(?!\/)/g.test(u)?`${u}/`:"/")),a.pathname&&(a.pathname=decodeURI(a.pathname)),e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let n=a.pathname.split("/"),u=n[n.length-1];ooe(u,e.removeDirectoryIndex)&&(n=n.slice(0,n.length-1),a.pathname=n.slice(1).join("/")+"/")}if(a.hostname&&(a.hostname=a.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(a.hostname)&&(a.hostname=a.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let n of[...a.searchParams.keys()])ooe(n,e.removeQueryParameters)&&a.searchParams.delete(n);return e.sortQueryParameters&&a.searchParams.sort(),e.removeTrailingSlash&&(a.pathname=a.pathname.replace(/\/$/,"")),t=a.toString(),(e.removeTrailingSlash||a.pathname==="/")&&a.hash===""&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),e.stripProtocol&&(t=t.replace(/^(?:https?:)?\/\//,"")),t};FM.exports=aoe;FM.exports.default=aoe});var Aoe=_((hNt,uoe)=>{uoe.exports=coe;function coe(t,e){if(t&&e)return coe(t)(e);if(typeof t!="function")throw new TypeError("need wrapper function");return Object.keys(t).forEach(function(o){r[o]=t[o]}),r;function r(){for(var o=new Array(arguments.length),a=0;a{var foe=Aoe();TM.exports=foe(XS);TM.exports.strict=foe(poe);XS.proto=XS(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return XS(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return poe(this)},configurable:!0})});function XS(t){var e=function(){return e.called?e.value:(e.called=!0,e.value=t.apply(this,arguments))};return e.called=!1,e}function poe(t){var e=function(){if(e.called)throw new Error(e.onceError);return e.called=!0,e.value=t.apply(this,arguments)},r=t.name||"Function wrapped with `once`";return e.onceError=r+" shouldn't be called more than once",e.called=!1,e}});var NM=_((dNt,goe)=>{var lnt=LM(),cnt=function(){},unt=function(t){return t.setHeader&&typeof t.abort=="function"},Ant=function(t){return t.stdio&&Array.isArray(t.stdio)&&t.stdio.length===3},hoe=function(t,e,r){if(typeof e=="function")return hoe(t,null,e);e||(e={}),r=lnt(r||cnt);var o=t._writableState,a=t._readableState,n=e.readable||e.readable!==!1&&t.readable,u=e.writable||e.writable!==!1&&t.writable,A=function(){t.writable||p()},p=function(){u=!1,n||r.call(t)},h=function(){n=!1,u||r.call(t)},E=function(C){r.call(t,C?new Error("exited with error code: "+C):null)},I=function(C){r.call(t,C)},v=function(){if(n&&!(a&&a.ended))return r.call(t,new Error("premature close"));if(u&&!(o&&o.ended))return r.call(t,new Error("premature close"))},x=function(){t.req.on("finish",p)};return unt(t)?(t.on("complete",p),t.on("abort",v),t.req?x():t.on("request",x)):u&&!o&&(t.on("end",A),t.on("close",A)),Ant(t)&&t.on("exit",E),t.on("end",h),t.on("finish",p),e.error!==!1&&t.on("error",I),t.on("close",v),function(){t.removeListener("complete",p),t.removeListener("abort",v),t.removeListener("request",x),t.req&&t.req.removeListener("finish",p),t.removeListener("end",A),t.removeListener("close",A),t.removeListener("finish",p),t.removeListener("exit",E),t.removeListener("end",h),t.removeListener("error",I),t.removeListener("close",v)}};goe.exports=hoe});var yoe=_((mNt,moe)=>{var fnt=LM(),pnt=NM(),OM=ve("fs"),h1=function(){},hnt=/^v?\.0/.test(process.version),ZS=function(t){return typeof t=="function"},gnt=function(t){return!hnt||!OM?!1:(t instanceof(OM.ReadStream||h1)||t instanceof(OM.WriteStream||h1))&&ZS(t.close)},dnt=function(t){return t.setHeader&&ZS(t.abort)},mnt=function(t,e,r,o){o=fnt(o);var a=!1;t.on("close",function(){a=!0}),pnt(t,{readable:e,writable:r},function(u){if(u)return o(u);a=!0,o()});var n=!1;return function(u){if(!a&&!n){if(n=!0,gnt(t))return t.close(h1);if(dnt(t))return t.abort();if(ZS(t.destroy))return t.destroy();o(u||new Error("stream was destroyed"))}}},doe=function(t){t()},ynt=function(t,e){return t.pipe(e)},Ent=function(){var t=Array.prototype.slice.call(arguments),e=ZS(t[t.length-1]||h1)&&t.pop()||h1;if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new Error("pump requires two streams per minimum");var r,o=t.map(function(a,n){var u=n0;return mnt(a,u,A,function(p){r||(r=p),p&&o.forEach(doe),!u&&(o.forEach(doe),e(r))})});return t.reduce(ynt)};moe.exports=Ent});var Coe=_((yNt,Eoe)=>{"use strict";var{PassThrough:Cnt}=ve("stream");Eoe.exports=t=>{t={...t};let{array:e}=t,{encoding:r}=t,o=r==="buffer",a=!1;e?a=!(r||o):r=r||"utf8",o&&(r=null);let n=new Cnt({objectMode:a});r&&n.setEncoding(r);let u=0,A=[];return n.on("data",p=>{A.push(p),a?u=A.length:u+=p.length}),n.getBufferedValue=()=>e?A:o?Buffer.concat(A,u):A.join(""),n.getBufferedLength=()=>u,n}});var woe=_((ENt,IE)=>{"use strict";var wnt=yoe(),Int=Coe(),$S=class extends Error{constructor(){super("maxBuffer exceeded"),this.name="MaxBufferError"}};async function eb(t,e){if(!t)return Promise.reject(new Error("Expected a stream"));e={maxBuffer:1/0,...e};let{maxBuffer:r}=e,o;return await new Promise((a,n)=>{let u=A=>{A&&(A.bufferedData=o.getBufferedValue()),n(A)};o=wnt(t,Int(e),A=>{if(A){u(A);return}a()}),o.on("data",()=>{o.getBufferedLength()>r&&u(new $S)})}),o.getBufferedValue()}IE.exports=eb;IE.exports.default=eb;IE.exports.buffer=(t,e)=>eb(t,{...e,encoding:"buffer"});IE.exports.array=(t,e)=>eb(t,{...e,array:!0});IE.exports.MaxBufferError=$S});var Boe=_((wNt,Ioe)=>{"use strict";var Bnt=new Set([200,203,204,206,300,301,308,404,405,410,414,501]),vnt=new Set([200,203,204,300,301,302,303,307,308,404,405,410,414,501]),Pnt=new Set([500,502,503,504]),Dnt={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},Snt={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function Dd(t){let e=parseInt(t,10);return isFinite(e)?e:0}function bnt(t){return t?Pnt.has(t.status):!0}function MM(t){let e={};if(!t)return e;let r=t.trim().split(/,/);for(let o of r){let[a,n]=o.split(/=/,2);e[a.trim()]=n===void 0?!0:n.trim().replace(/^"|"$/g,"")}return e}function xnt(t){let e=[];for(let r in t){let o=t[r];e.push(o===!0?r:r+"="+o)}if(!!e.length)return e.join(", ")}Ioe.exports=class{constructor(e,r,{shared:o,cacheHeuristic:a,immutableMinTimeToLive:n,ignoreCargoCult:u,_fromObject:A}={}){if(A){this._fromObject(A);return}if(!r||!r.headers)throw Error("Response headers missing");this._assertRequestHasHeaders(e),this._responseTime=this.now(),this._isShared=o!==!1,this._cacheHeuristic=a!==void 0?a:.1,this._immutableMinTtl=n!==void 0?n:24*3600*1e3,this._status="status"in r?r.status:200,this._resHeaders=r.headers,this._rescc=MM(r.headers["cache-control"]),this._method="method"in e?e.method:"GET",this._url=e.url,this._host=e.headers.host,this._noAuthorization=!e.headers.authorization,this._reqHeaders=r.headers.vary?e.headers:null,this._reqcc=MM(e.headers["cache-control"]),u&&"pre-check"in this._rescc&&"post-check"in this._rescc&&(delete this._rescc["pre-check"],delete this._rescc["post-check"],delete this._rescc["no-cache"],delete this._rescc["no-store"],delete this._rescc["must-revalidate"],this._resHeaders=Object.assign({},this._resHeaders,{"cache-control":xnt(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),r.headers["cache-control"]==null&&/no-cache/.test(r.headers.pragma)&&(this._rescc["no-cache"]=!0)}now(){return Date.now()}storable(){return!!(!this._reqcc["no-store"]&&(this._method==="GET"||this._method==="HEAD"||this._method==="POST"&&this._hasExplicitExpiration())&&vnt.has(this._status)&&!this._rescc["no-store"]&&(!this._isShared||!this._rescc.private)&&(!this._isShared||this._noAuthorization||this._allowsStoringAuthenticated())&&(this._resHeaders.expires||this._rescc["max-age"]||this._isShared&&this._rescc["s-maxage"]||this._rescc.public||Bnt.has(this._status)))}_hasExplicitExpiration(){return this._isShared&&this._rescc["s-maxage"]||this._rescc["max-age"]||this._resHeaders.expires}_assertRequestHasHeaders(e){if(!e||!e.headers)throw Error("Request headers missing")}satisfiesWithoutRevalidation(e){this._assertRequestHasHeaders(e);let r=MM(e.headers["cache-control"]);return r["no-cache"]||/no-cache/.test(e.headers.pragma)||r["max-age"]&&this.age()>r["max-age"]||r["min-fresh"]&&this.timeToLive()<1e3*r["min-fresh"]||this.stale()&&!(r["max-stale"]&&!this._rescc["must-revalidate"]&&(r["max-stale"]===!0||r["max-stale"]>this.age()-this.maxAge()))?!1:this._requestMatches(e,!1)}_requestMatches(e,r){return(!this._url||this._url===e.url)&&this._host===e.headers.host&&(!e.method||this._method===e.method||r&&e.method==="HEAD")&&this._varyMatches(e)}_allowsStoringAuthenticated(){return this._rescc["must-revalidate"]||this._rescc.public||this._rescc["s-maxage"]}_varyMatches(e){if(!this._resHeaders.vary)return!0;if(this._resHeaders.vary==="*")return!1;let r=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(let o of r)if(e.headers[o]!==this._reqHeaders[o])return!1;return!0}_copyWithoutHopByHopHeaders(e){let r={};for(let o in e)Dnt[o]||(r[o]=e[o]);if(e.connection){let o=e.connection.trim().split(/\s*,\s*/);for(let a of o)delete r[a]}if(r.warning){let o=r.warning.split(/,/).filter(a=>!/^\s*1[0-9][0-9]/.test(a));o.length?r.warning=o.join(",").trim():delete r.warning}return r}responseHeaders(){let e=this._copyWithoutHopByHopHeaders(this._resHeaders),r=this.age();return r>3600*24&&!this._hasExplicitExpiration()&&this.maxAge()>3600*24&&(e.warning=(e.warning?`${e.warning}, `:"")+'113 - "rfc7234 5.5.4"'),e.age=`${Math.round(r)}`,e.date=new Date(this.now()).toUTCString(),e}date(){let e=Date.parse(this._resHeaders.date);return isFinite(e)?e:this._responseTime}age(){let e=this._ageValue(),r=(this.now()-this._responseTime)/1e3;return e+r}_ageValue(){return Dd(this._resHeaders.age)}maxAge(){if(!this.storable()||this._rescc["no-cache"]||this._isShared&&this._resHeaders["set-cookie"]&&!this._rescc.public&&!this._rescc.immutable||this._resHeaders.vary==="*")return 0;if(this._isShared){if(this._rescc["proxy-revalidate"])return 0;if(this._rescc["s-maxage"])return Dd(this._rescc["s-maxage"])}if(this._rescc["max-age"])return Dd(this._rescc["max-age"]);let e=this._rescc.immutable?this._immutableMinTtl:0,r=this.date();if(this._resHeaders.expires){let o=Date.parse(this._resHeaders.expires);return Number.isNaN(o)||oo)return Math.max(e,(r-o)/1e3*this._cacheHeuristic)}return e}timeToLive(){let e=this.maxAge()-this.age(),r=e+Dd(this._rescc["stale-if-error"]),o=e+Dd(this._rescc["stale-while-revalidate"]);return Math.max(0,e,r,o)*1e3}stale(){return this.maxAge()<=this.age()}_useStaleIfError(){return this.maxAge()+Dd(this._rescc["stale-if-error"])>this.age()}useStaleWhileRevalidate(){return this.maxAge()+Dd(this._rescc["stale-while-revalidate"])>this.age()}static fromObject(e){return new this(void 0,void 0,{_fromObject:e})}_fromObject(e){if(this._responseTime)throw Error("Reinitialized");if(!e||e.v!==1)throw Error("Invalid serialization");this._responseTime=e.t,this._isShared=e.sh,this._cacheHeuristic=e.ch,this._immutableMinTtl=e.imm!==void 0?e.imm:24*3600*1e3,this._status=e.st,this._resHeaders=e.resh,this._rescc=e.rescc,this._method=e.m,this._url=e.u,this._host=e.h,this._noAuthorization=e.a,this._reqHeaders=e.reqh,this._reqcc=e.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(e){this._assertRequestHasHeaders(e);let r=this._copyWithoutHopByHopHeaders(e.headers);if(delete r["if-range"],!this._requestMatches(e,!0)||!this.storable())return delete r["if-none-match"],delete r["if-modified-since"],r;if(this._resHeaders.etag&&(r["if-none-match"]=r["if-none-match"]?`${r["if-none-match"]}, ${this._resHeaders.etag}`:this._resHeaders.etag),r["accept-ranges"]||r["if-match"]||r["if-unmodified-since"]||this._method&&this._method!="GET"){if(delete r["if-modified-since"],r["if-none-match"]){let a=r["if-none-match"].split(/,/).filter(n=>!/^\s*W\//.test(n));a.length?r["if-none-match"]=a.join(",").trim():delete r["if-none-match"]}}else this._resHeaders["last-modified"]&&!r["if-modified-since"]&&(r["if-modified-since"]=this._resHeaders["last-modified"]);return r}revalidatedPolicy(e,r){if(this._assertRequestHasHeaders(e),this._useStaleIfError()&&bnt(r))return{modified:!1,matches:!1,policy:this};if(!r||!r.headers)throw Error("Response headers missing");let o=!1;if(r.status!==void 0&&r.status!=304?o=!1:r.headers.etag&&!/^\s*W\//.test(r.headers.etag)?o=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag:this._resHeaders.etag&&r.headers.etag?o=this._resHeaders.etag.replace(/^\s*W\//,"")===r.headers.etag.replace(/^\s*W\//,""):this._resHeaders["last-modified"]?o=this._resHeaders["last-modified"]===r.headers["last-modified"]:!this._resHeaders.etag&&!this._resHeaders["last-modified"]&&!r.headers.etag&&!r.headers["last-modified"]&&(o=!0),!o)return{policy:new this.constructor(e,r),modified:r.status!=304,matches:!1};let a={};for(let u in this._resHeaders)a[u]=u in r.headers&&!Snt[u]?r.headers[u]:this._resHeaders[u];let n=Object.assign({},r,{status:this._status,method:this._method,headers:a});return{policy:new this.constructor(e,n,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl}),modified:!1,matches:!0}}}});var tb=_((INt,voe)=>{"use strict";voe.exports=t=>{let e={};for(let[r,o]of Object.entries(t))e[r.toLowerCase()]=o;return e}});var Doe=_((BNt,Poe)=>{"use strict";var knt=ve("stream").Readable,Qnt=tb(),UM=class extends knt{constructor(e,r,o,a){if(typeof e!="number")throw new TypeError("Argument `statusCode` should be a number");if(typeof r!="object")throw new TypeError("Argument `headers` should be an object");if(!(o instanceof Buffer))throw new TypeError("Argument `body` should be a buffer");if(typeof a!="string")throw new TypeError("Argument `url` should be a string");super(),this.statusCode=e,this.headers=Qnt(r),this.body=o,this.url=a}_read(){this.push(this.body),this.push(null)}};Poe.exports=UM});var boe=_((vNt,Soe)=>{"use strict";var Rnt=["destroy","setTimeout","socket","headers","trailers","rawHeaders","statusCode","httpVersion","httpVersionMinor","httpVersionMajor","rawTrailers","statusMessage"];Soe.exports=(t,e)=>{let r=new Set(Object.keys(t).concat(Rnt));for(let o of r)o in e||(e[o]=typeof t[o]=="function"?t[o].bind(t):t[o])}});var koe=_((PNt,xoe)=>{"use strict";var Fnt=ve("stream").PassThrough,Tnt=boe(),Lnt=t=>{if(!(t&&t.pipe))throw new TypeError("Parameter `response` must be a response stream.");let e=new Fnt;return Tnt(t,e),t.pipe(e)};xoe.exports=Lnt});var Qoe=_(_M=>{_M.stringify=function t(e){if(typeof e>"u")return e;if(e&&Buffer.isBuffer(e))return JSON.stringify(":base64:"+e.toString("base64"));if(e&&e.toJSON&&(e=e.toJSON()),e&&typeof e=="object"){var r="",o=Array.isArray(e);r=o?"[":"{";var a=!0;for(var n in e){var u=typeof e[n]=="function"||!o&&typeof e[n]>"u";Object.hasOwnProperty.call(e,n)&&!u&&(a||(r+=","),a=!1,o?e[n]==null?r+="null":r+=t(e[n]):e[n]!==void 0&&(r+=t(n)+":"+t(e[n])))}return r+=o?"]":"}",r}else return typeof e=="string"?JSON.stringify(/^:/.test(e)?":"+e:e):typeof e>"u"?"null":JSON.stringify(e)};_M.parse=function(t){return JSON.parse(t,function(e,r){return typeof r=="string"?/^:base64:/.test(r)?Buffer.from(r.substring(8),"base64"):/^:/.test(r)?r.substring(1):r:r})}});var Loe=_((SNt,Toe)=>{"use strict";var Nnt=ve("events"),Roe=Qoe(),Ont=t=>{let e={redis:"@keyv/redis",rediss:"@keyv/redis",mongodb:"@keyv/mongo",mongo:"@keyv/mongo",sqlite:"@keyv/sqlite",postgresql:"@keyv/postgres",postgres:"@keyv/postgres",mysql:"@keyv/mysql",etcd:"@keyv/etcd",offline:"@keyv/offline",tiered:"@keyv/tiered"};if(t.adapter||t.uri){let r=t.adapter||/^[^:+]*/.exec(t.uri)[0];return new(ve(e[r]))(t)}return new Map},Foe=["sqlite","postgres","mysql","mongo","redis","tiered"],HM=class extends Nnt{constructor(e,{emitErrors:r=!0,...o}={}){if(super(),this.opts={namespace:"keyv",serialize:Roe.stringify,deserialize:Roe.parse,...typeof e=="string"?{uri:e}:e,...o},!this.opts.store){let n={...this.opts};this.opts.store=Ont(n)}if(this.opts.compression){let n=this.opts.compression;this.opts.serialize=n.serialize.bind(n),this.opts.deserialize=n.deserialize.bind(n)}typeof this.opts.store.on=="function"&&r&&this.opts.store.on("error",n=>this.emit("error",n)),this.opts.store.namespace=this.opts.namespace;let a=n=>async function*(){for await(let[u,A]of typeof n=="function"?n(this.opts.store.namespace):n){let p=await this.opts.deserialize(A);if(!(this.opts.store.namespace&&!u.includes(this.opts.store.namespace))){if(typeof p.expires=="number"&&Date.now()>p.expires){this.delete(u);continue}yield[this._getKeyUnprefix(u),p.value]}}};typeof this.opts.store[Symbol.iterator]=="function"&&this.opts.store instanceof Map?this.iterator=a(this.opts.store):typeof this.opts.store.iterator=="function"&&this.opts.store.opts&&this._checkIterableAdaptar()&&(this.iterator=a(this.opts.store.iterator.bind(this.opts.store)))}_checkIterableAdaptar(){return Foe.includes(this.opts.store.opts.dialect)||Foe.findIndex(e=>this.opts.store.opts.url.includes(e))>=0}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}_getKeyPrefixArray(e){return e.map(r=>`${this.opts.namespace}:${r}`)}_getKeyUnprefix(e){return e.split(":").splice(1).join(":")}get(e,r){let{store:o}=this.opts,a=Array.isArray(e),n=a?this._getKeyPrefixArray(e):this._getKeyPrefix(e);if(a&&o.getMany===void 0){let u=[];for(let A of n)u.push(Promise.resolve().then(()=>o.get(A)).then(p=>typeof p=="string"?this.opts.deserialize(p):this.opts.compression?this.opts.deserialize(p):p).then(p=>{if(p!=null)return typeof p.expires=="number"&&Date.now()>p.expires?this.delete(A).then(()=>{}):r&&r.raw?p:p.value}));return Promise.allSettled(u).then(A=>{let p=[];for(let h of A)p.push(h.value);return p})}return Promise.resolve().then(()=>a?o.getMany(n):o.get(n)).then(u=>typeof u=="string"?this.opts.deserialize(u):this.opts.compression?this.opts.deserialize(u):u).then(u=>{if(u!=null)return a?u.map((A,p)=>{if(typeof A=="string"&&(A=this.opts.deserialize(A)),A!=null){if(typeof A.expires=="number"&&Date.now()>A.expires){this.delete(e[p]).then(()=>{});return}return r&&r.raw?A:A.value}}):typeof u.expires=="number"&&Date.now()>u.expires?this.delete(e).then(()=>{}):r&&r.raw?u:u.value})}set(e,r,o){let a=this._getKeyPrefix(e);typeof o>"u"&&(o=this.opts.ttl),o===0&&(o=void 0);let{store:n}=this.opts;return Promise.resolve().then(()=>{let u=typeof o=="number"?Date.now()+o:null;return typeof r=="symbol"&&this.emit("error","symbol cannot be serialized"),r={value:r,expires:u},this.opts.serialize(r)}).then(u=>n.set(a,u,o)).then(()=>!0)}delete(e){let{store:r}=this.opts;if(Array.isArray(e)){let a=this._getKeyPrefixArray(e);if(r.deleteMany===void 0){let n=[];for(let u of a)n.push(r.delete(u));return Promise.allSettled(n).then(u=>u.every(A=>A.value===!0))}return Promise.resolve().then(()=>r.deleteMany(a))}let o=this._getKeyPrefix(e);return Promise.resolve().then(()=>r.delete(o))}clear(){let{store:e}=this.opts;return Promise.resolve().then(()=>e.clear())}has(e){let r=this._getKeyPrefix(e),{store:o}=this.opts;return Promise.resolve().then(async()=>typeof o.has=="function"?o.has(r):await o.get(r)!==void 0)}disconnect(){let{store:e}=this.opts;if(typeof e.disconnect=="function")return e.disconnect()}};Toe.exports=HM});var Moe=_((xNt,Ooe)=>{"use strict";var Mnt=ve("events"),rb=ve("url"),Unt=loe(),_nt=woe(),qM=Boe(),Noe=Doe(),Hnt=tb(),qnt=koe(),Gnt=Loe(),Gc=class{constructor(e,r){if(typeof e!="function")throw new TypeError("Parameter `request` must be a function");return this.cache=new Gnt({uri:typeof r=="string"&&r,store:typeof r!="string"&&r,namespace:"cacheable-request"}),this.createCacheableRequest(e)}createCacheableRequest(e){return(r,o)=>{let a;if(typeof r=="string")a=GM(rb.parse(r)),r={};else if(r instanceof rb.URL)a=GM(rb.parse(r.toString())),r={};else{let[I,...v]=(r.path||"").split("?"),x=v.length>0?`?${v.join("?")}`:"";a=GM({...r,pathname:I,search:x})}r={headers:{},method:"GET",cache:!0,strictTtl:!1,automaticFailover:!1,...r,...jnt(a)},r.headers=Hnt(r.headers);let n=new Mnt,u=Unt(rb.format(a),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),A=`${r.method}:${u}`,p=!1,h=!1,E=I=>{h=!0;let v=!1,x,C=new Promise(N=>{x=()=>{v||(v=!0,N())}}),F=N=>{if(p&&!I.forceRefresh){N.status=N.statusCode;let J=qM.fromObject(p.cachePolicy).revalidatedPolicy(I,N);if(!J.modified){let te=J.policy.responseHeaders();N=new Noe(p.statusCode,te,p.body,p.url),N.cachePolicy=J.policy,N.fromCache=!0}}N.fromCache||(N.cachePolicy=new qM(I,N,I),N.fromCache=!1);let U;I.cache&&N.cachePolicy.storable()?(U=qnt(N),(async()=>{try{let J=_nt.buffer(N);if(await Promise.race([C,new Promise(ce=>N.once("end",ce))]),v)return;let te=await J,ae={cachePolicy:N.cachePolicy.toObject(),url:N.url,statusCode:N.fromCache?p.statusCode:N.statusCode,body:te},le=I.strictTtl?N.cachePolicy.timeToLive():void 0;I.maxTtl&&(le=le?Math.min(le,I.maxTtl):I.maxTtl),await this.cache.set(A,ae,le)}catch(J){n.emit("error",new Gc.CacheError(J))}})()):I.cache&&p&&(async()=>{try{await this.cache.delete(A)}catch(J){n.emit("error",new Gc.CacheError(J))}})(),n.emit("response",U||N),typeof o=="function"&&o(U||N)};try{let N=e(I,F);N.once("error",x),N.once("abort",x),n.emit("request",N)}catch(N){n.emit("error",new Gc.RequestError(N))}};return(async()=>{let I=async x=>{await Promise.resolve();let C=x.cache?await this.cache.get(A):void 0;if(typeof C>"u")return E(x);let F=qM.fromObject(C.cachePolicy);if(F.satisfiesWithoutRevalidation(x)&&!x.forceRefresh){let N=F.responseHeaders(),U=new Noe(C.statusCode,N,C.body,C.url);U.cachePolicy=F,U.fromCache=!0,n.emit("response",U),typeof o=="function"&&o(U)}else p=C,x.headers=F.revalidationHeaders(x),E(x)},v=x=>n.emit("error",new Gc.CacheError(x));this.cache.once("error",v),n.on("response",()=>this.cache.removeListener("error",v));try{await I(r)}catch(x){r.automaticFailover&&!h&&E(r),n.emit("error",new Gc.CacheError(x))}})(),n}}};function jnt(t){let e={...t};return e.path=`${t.pathname||"/"}${t.search||""}`,delete e.pathname,delete e.search,e}function GM(t){return{protocol:t.protocol,auth:t.auth,hostname:t.hostname||t.host||"localhost",port:t.port,pathname:t.pathname,search:t.search}}Gc.RequestError=class extends Error{constructor(t){super(t.message),this.name="RequestError",Object.assign(this,t)}};Gc.CacheError=class extends Error{constructor(t){super(t.message),this.name="CacheError",Object.assign(this,t)}};Ooe.exports=Gc});var _oe=_((RNt,Uoe)=>{"use strict";var Ynt=["aborted","complete","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];Uoe.exports=(t,e)=>{if(e._readableState.autoDestroy)throw new Error("The second stream must have the `autoDestroy` option set to `false`");let r=new Set(Object.keys(t).concat(Ynt)),o={};for(let a of r)a in e||(o[a]={get(){let n=t[a];return typeof n=="function"?n.bind(t):n},set(n){t[a]=n},enumerable:!0,configurable:!1});return Object.defineProperties(e,o),t.once("aborted",()=>{e.destroy(),e.emit("aborted")}),t.once("close",()=>{t.complete&&e.readable?e.once("end",()=>{e.emit("close")}):e.emit("close")}),e}});var qoe=_((FNt,Hoe)=>{"use strict";var{Transform:Wnt,PassThrough:Knt}=ve("stream"),jM=ve("zlib"),znt=_oe();Hoe.exports=t=>{let e=(t.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(e))return t;let r=e==="br";if(r&&typeof jM.createBrotliDecompress!="function")return t.destroy(new Error("Brotli is not supported on Node.js < 12")),t;let o=!0,a=new Wnt({transform(A,p,h){o=!1,h(null,A)},flush(A){A()}}),n=new Knt({autoDestroy:!1,destroy(A,p){t.destroy(),p(A)}}),u=r?jM.createBrotliDecompress():jM.createUnzip();return u.once("error",A=>{if(o&&!t.readable){n.end();return}n.destroy(A)}),znt(t,n),t.pipe(a).pipe(u).pipe(n),n}});var WM=_((TNt,Goe)=>{"use strict";var YM=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=e.maxSize,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,r){if(this.cache.set(e,r),this._size++,this._size>=this.maxSize){if(this._size=0,typeof this.onEviction=="function")for(let[o,a]of this.oldCache.entries())this.onEviction(o,a);this.oldCache=this.cache,this.cache=new Map}}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){let r=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,r),r}}set(e,r){return this.cache.has(e)?this.cache.set(e,r):this._set(e,r),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e))return this.oldCache.get(e)}delete(e){let r=this.cache.delete(e);return r&&this._size--,this.oldCache.delete(e)||r}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache)yield e;for(let e of this.oldCache){let[r]=e;this.cache.has(r)||(yield e)}}get size(){let e=0;for(let r of this.oldCache.keys())this.cache.has(r)||e++;return Math.min(this._size+e,this.maxSize)}};Goe.exports=YM});var zM=_((LNt,Koe)=>{"use strict";var Jnt=ve("events"),Vnt=ve("tls"),Xnt=ve("http2"),Znt=WM(),ea=Symbol("currentStreamsCount"),joe=Symbol("request"),Kl=Symbol("cachedOriginSet"),BE=Symbol("gracefullyClosing"),$nt=["maxDeflateDynamicTableSize","maxSessionMemory","maxHeaderListPairs","maxOutstandingPings","maxReservedRemoteStreams","maxSendHeaderBlockLength","paddingStrategy","localAddress","path","rejectUnauthorized","minDHSize","ca","cert","clientCertEngine","ciphers","key","pfx","servername","minVersion","maxVersion","secureProtocol","crl","honorCipherOrder","ecdhCurve","dhparam","secureOptions","sessionIdContext"],eit=(t,e,r)=>{let o=0,a=t.length;for(;o>>1;r(t[n],e)?o=n+1:a=n}return o},tit=(t,e)=>t.remoteSettings.maxConcurrentStreams>e.remoteSettings.maxConcurrentStreams,KM=(t,e)=>{for(let r of t)r[Kl].lengthe[Kl].includes(o))&&r[ea]+e[ea]<=e.remoteSettings.maxConcurrentStreams&&Woe(r)},rit=(t,e)=>{for(let r of t)e[Kl].lengthr[Kl].includes(o))&&e[ea]+r[ea]<=r.remoteSettings.maxConcurrentStreams&&Woe(e)},Yoe=({agent:t,isFree:e})=>{let r={};for(let o in t.sessions){let n=t.sessions[o].filter(u=>{let A=u[rA.kCurrentStreamsCount]{t[BE]=!0,t[ea]===0&&t.close()},rA=class extends Jnt{constructor({timeout:e=6e4,maxSessions:r=1/0,maxFreeSessions:o=10,maxCachedTlsSessions:a=100}={}){super(),this.sessions={},this.queue={},this.timeout=e,this.maxSessions=r,this.maxFreeSessions=o,this._freeSessionsCount=0,this._sessionsCount=0,this.settings={enablePush:!1},this.tlsSessionCache=new Znt({maxSize:a})}static normalizeOrigin(e,r){return typeof e=="string"&&(e=new URL(e)),r&&e.hostname!==r&&(e.hostname=r),e.origin}normalizeOptions(e){let r="";if(e)for(let o of $nt)e[o]&&(r+=`:${e[o]}`);return r}_tryToCreateNewSession(e,r){if(!(e in this.queue)||!(r in this.queue[e]))return;let o=this.queue[e][r];this._sessionsCount{Array.isArray(o)?(o=[...o],a()):o=[{resolve:a,reject:n}];let u=this.normalizeOptions(r),A=rA.normalizeOrigin(e,r&&r.servername);if(A===void 0){for(let{reject:E}of o)E(new TypeError("The `origin` argument needs to be a string or an URL object"));return}if(u in this.sessions){let E=this.sessions[u],I=-1,v=-1,x;for(let C of E){let F=C.remoteSettings.maxConcurrentStreams;if(F=F||C[BE]||C.destroyed)continue;x||(I=F),N>v&&(x=C,v=N)}}if(x){if(o.length!==1){for(let{reject:C}of o){let F=new Error(`Expected the length of listeners to be 1, got ${o.length}. +Please report this to https://github.com/szmarczak/http2-wrapper/`);C(F)}return}o[0].resolve(x);return}}if(u in this.queue){if(A in this.queue[u]){this.queue[u][A].listeners.push(...o),this._tryToCreateNewSession(u,A);return}}else this.queue[u]={};let p=()=>{u in this.queue&&this.queue[u][A]===h&&(delete this.queue[u][A],Object.keys(this.queue[u]).length===0&&delete this.queue[u])},h=()=>{let E=`${A}:${u}`,I=!1;try{let v=Xnt.connect(e,{createConnection:this.createConnection,settings:this.settings,session:this.tlsSessionCache.get(E),...r});v[ea]=0,v[BE]=!1;let x=()=>v[ea]{this.tlsSessionCache.set(E,N)}),v.once("error",N=>{for(let{reject:U}of o)U(N);this.tlsSessionCache.delete(E)}),v.setTimeout(this.timeout,()=>{v.destroy()}),v.once("close",()=>{if(I){C&&this._freeSessionsCount--,this._sessionsCount--;let N=this.sessions[u];N.splice(N.indexOf(v),1),N.length===0&&delete this.sessions[u]}else{let N=new Error("Session closed without receiving a SETTINGS frame");N.code="HTTP2WRAPPER_NOSETTINGS";for(let{reject:U}of o)U(N);p()}this._tryToCreateNewSession(u,A)});let F=()=>{if(!(!(u in this.queue)||!x())){for(let N of v[Kl])if(N in this.queue[u]){let{listeners:U}=this.queue[u][N];for(;U.length!==0&&x();)U.shift().resolve(v);let J=this.queue[u];if(J[N].listeners.length===0&&(delete J[N],Object.keys(J).length===0)){delete this.queue[u];break}if(!x())break}}};v.on("origin",()=>{v[Kl]=v.originSet,x()&&(F(),KM(this.sessions[u],v))}),v.once("remoteSettings",()=>{if(v.ref(),v.unref(),this._sessionsCount++,h.destroyed){let N=new Error("Agent has been destroyed");for(let U of o)U.reject(N);v.destroy();return}v[Kl]=v.originSet;{let N=this.sessions;if(u in N){let U=N[u];U.splice(eit(U,v,tit),0,v)}else N[u]=[v]}this._freeSessionsCount+=1,I=!0,this.emit("session",v),F(),p(),v[ea]===0&&this._freeSessionsCount>this.maxFreeSessions&&v.close(),o.length!==0&&(this.getSession(A,r,o),o.length=0),v.on("remoteSettings",()=>{F(),KM(this.sessions[u],v)})}),v[joe]=v.request,v.request=(N,U)=>{if(v[BE])throw new Error("The session is gracefully closing. No new streams are allowed.");let J=v[joe](N,U);return v.ref(),++v[ea],v[ea]===v.remoteSettings.maxConcurrentStreams&&this._freeSessionsCount--,J.once("close",()=>{if(C=x(),--v[ea],!v.destroyed&&!v.closed&&(rit(this.sessions[u],v),x()&&!v.closed)){C||(this._freeSessionsCount++,C=!0);let te=v[ea]===0;te&&v.unref(),te&&(this._freeSessionsCount>this.maxFreeSessions||v[BE])?v.close():(KM(this.sessions[u],v),F())}}),J}}catch(v){for(let x of o)x.reject(v);p()}};h.listeners=o,h.completed=!1,h.destroyed=!1,this.queue[u][A]=h,this._tryToCreateNewSession(u,A)})}request(e,r,o,a){return new Promise((n,u)=>{this.getSession(e,r,[{reject:u,resolve:A=>{try{n(A.request(o,a))}catch(p){u(p)}}}])})}createConnection(e,r){return rA.connect(e,r)}static connect(e,r){r.ALPNProtocols=["h2"];let o=e.port||443,a=e.hostname||e.host;return typeof r.servername>"u"&&(r.servername=a),Vnt.connect(o,a,r)}closeFreeSessions(){for(let e of Object.values(this.sessions))for(let r of e)r[ea]===0&&r.close()}destroy(e){for(let r of Object.values(this.sessions))for(let o of r)o.destroy(e);for(let r of Object.values(this.queue))for(let o of Object.values(r))o.destroyed=!0;this.queue={}}get freeSessions(){return Yoe({agent:this,isFree:!0})}get busySessions(){return Yoe({agent:this,isFree:!1})}};rA.kCurrentStreamsCount=ea;rA.kGracefullyClosing=BE;Koe.exports={Agent:rA,globalAgent:new rA}});var VM=_((NNt,zoe)=>{"use strict";var{Readable:nit}=ve("stream"),JM=class extends nit{constructor(e,r){super({highWaterMark:r,autoDestroy:!1}),this.statusCode=null,this.statusMessage="",this.httpVersion="2.0",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,r){return this.req.setTimeout(e,r),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume())}_read(){this.req&&this.req._request.resume()}};zoe.exports=JM});var XM=_((ONt,Joe)=>{"use strict";Joe.exports=t=>{let e={protocol:t.protocol,hostname:typeof t.hostname=="string"&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return typeof t.port=="string"&&t.port.length!==0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var Xoe=_((MNt,Voe)=>{"use strict";Voe.exports=(t,e,r)=>{for(let o of r)t.on(o,(...a)=>e.emit(o,...a))}});var $oe=_((UNt,Zoe)=>{"use strict";Zoe.exports=t=>{switch(t){case":method":case":scheme":case":authority":case":path":return!0;default:return!1}}});var tae=_((HNt,eae)=>{"use strict";var vE=(t,e,r)=>{eae.exports[e]=class extends t{constructor(...a){super(typeof r=="string"?r:r(a)),this.name=`${super.name} [${e}]`,this.code=e}}};vE(TypeError,"ERR_INVALID_ARG_TYPE",t=>{let e=t[0].includes(".")?"property":"argument",r=t[1],o=Array.isArray(r);return o&&(r=`${r.slice(0,-1).join(", ")} or ${r.slice(-1)}`),`The "${t[0]}" ${e} must be ${o?"one of":"of"} type ${r}. Received ${typeof t[2]}`});vE(TypeError,"ERR_INVALID_PROTOCOL",t=>`Protocol "${t[0]}" not supported. Expected "${t[1]}"`);vE(Error,"ERR_HTTP_HEADERS_SENT",t=>`Cannot ${t[0]} headers after they are sent to the client`);vE(TypeError,"ERR_INVALID_HTTP_TOKEN",t=>`${t[0]} must be a valid HTTP token [${t[1]}]`);vE(TypeError,"ERR_HTTP_INVALID_HEADER_VALUE",t=>`Invalid value "${t[0]} for header "${t[1]}"`);vE(TypeError,"ERR_INVALID_CHAR",t=>`Invalid character in ${t[0]} [${t[1]}]`)});var r4=_((qNt,lae)=>{"use strict";var iit=ve("http2"),{Writable:sit}=ve("stream"),{Agent:rae,globalAgent:oit}=zM(),ait=VM(),lit=XM(),cit=Xoe(),uit=$oe(),{ERR_INVALID_ARG_TYPE:ZM,ERR_INVALID_PROTOCOL:Ait,ERR_HTTP_HEADERS_SENT:nae,ERR_INVALID_HTTP_TOKEN:fit,ERR_HTTP_INVALID_HEADER_VALUE:pit,ERR_INVALID_CHAR:hit}=tae(),{HTTP2_HEADER_STATUS:iae,HTTP2_HEADER_METHOD:sae,HTTP2_HEADER_PATH:oae,HTTP2_METHOD_CONNECT:git}=iit.constants,ko=Symbol("headers"),$M=Symbol("origin"),e4=Symbol("session"),aae=Symbol("options"),nb=Symbol("flushedHeaders"),g1=Symbol("jobs"),dit=/^[\^`\-\w!#$%&*+.|~]+$/,mit=/[^\t\u0020-\u007E\u0080-\u00FF]/,t4=class extends sit{constructor(e,r,o){super({autoDestroy:!1});let a=typeof e=="string"||e instanceof URL;if(a&&(e=lit(e instanceof URL?e:new URL(e))),typeof r=="function"||r===void 0?(o=r,r=a?e:{...e}):r={...e,...r},r.h2session)this[e4]=r.h2session;else if(r.agent===!1)this.agent=new rae({maxFreeSessions:0});else if(typeof r.agent>"u"||r.agent===null)typeof r.createConnection=="function"?(this.agent=new rae({maxFreeSessions:0}),this.agent.createConnection=r.createConnection):this.agent=oit;else if(typeof r.agent.request=="function")this.agent=r.agent;else throw new ZM("options.agent",["Agent-like Object","undefined","false"],r.agent);if(r.protocol&&r.protocol!=="https:")throw new Ait(r.protocol,"https:");let n=r.port||r.defaultPort||this.agent&&this.agent.defaultPort||443,u=r.hostname||r.host||"localhost";delete r.hostname,delete r.host,delete r.port;let{timeout:A}=r;if(r.timeout=void 0,this[ko]=Object.create(null),this[g1]=[],this.socket=null,this.connection=null,this.method=r.method||"GET",this.path=r.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,r.headers)for(let[p,h]of Object.entries(r.headers))this.setHeader(p,h);r.auth&&!("authorization"in this[ko])&&(this[ko].authorization="Basic "+Buffer.from(r.auth).toString("base64")),r.session=r.tlsSession,r.path=r.socketPath,this[aae]=r,n===443?(this[$M]=`https://${u}`,":authority"in this[ko]||(this[ko][":authority"]=u)):(this[$M]=`https://${u}:${n}`,":authority"in this[ko]||(this[ko][":authority"]=`${u}:${n}`)),A&&this.setTimeout(A),o&&this.once("response",o),this[nb]=!1}get method(){return this[ko][sae]}set method(e){e&&(this[ko][sae]=e.toUpperCase())}get path(){return this[ko][oae]}set path(e){e&&(this[ko][oae]=e)}get _mustNotHaveABody(){return this.method==="GET"||this.method==="HEAD"||this.method==="DELETE"}_write(e,r,o){if(this._mustNotHaveABody){o(new Error("The GET, HEAD and DELETE methods must NOT have a body"));return}this.flushHeaders();let a=()=>this._request.write(e,r,o);this._request?a():this[g1].push(a)}_final(e){if(this.destroyed)return;this.flushHeaders();let r=()=>{if(this._mustNotHaveABody){e();return}this._request.end(e)};this._request?r():this[g1].push(r)}abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=>this.emit("abort")),this.aborted=!0,this.destroy())}_destroy(e,r){this.res&&this.res._dump(),this._request&&this._request.destroy(),r(e)}async flushHeaders(){if(this[nb]||this.destroyed)return;this[nb]=!0;let e=this.method===git,r=o=>{if(this._request=o,this.destroyed){o.destroy();return}e||cit(o,this,["timeout","continue","close","error"]);let a=u=>(...A)=>{!this.writable&&!this.destroyed?u(...A):this.once("finish",()=>{u(...A)})};o.once("response",a((u,A,p)=>{let h=new ait(this.socket,o.readableHighWaterMark);this.res=h,h.req=this,h.statusCode=u[iae],h.headers=u,h.rawHeaders=p,h.once("end",()=>{this.aborted?(h.aborted=!0,h.emit("aborted")):(h.complete=!0,h.socket=null,h.connection=null)}),e?(h.upgrade=!0,this.emit("connect",h,o,Buffer.alloc(0))?this.emit("close"):o.destroy()):(o.on("data",E=>{!h._dumped&&!h.push(E)&&o.pause()}),o.once("end",()=>{h.push(null)}),this.emit("response",h)||h._dump())})),o.once("headers",a(u=>this.emit("information",{statusCode:u[iae]}))),o.once("trailers",a((u,A,p)=>{let{res:h}=this;h.trailers=u,h.rawTrailers=p}));let{socket:n}=o.session;this.socket=n,this.connection=n;for(let u of this[g1])u();this.emit("socket",this.socket)};if(this[e4])try{r(this[e4].request(this[ko]))}catch(o){this.emit("error",o)}else{this.reusedSocket=!0;try{r(await this.agent.request(this[$M],this[aae],this[ko]))}catch(o){this.emit("error",o)}}}getHeader(e){if(typeof e!="string")throw new ZM("name","string",e);return this[ko][e.toLowerCase()]}get headersSent(){return this[nb]}removeHeader(e){if(typeof e!="string")throw new ZM("name","string",e);if(this.headersSent)throw new nae("remove");delete this[ko][e.toLowerCase()]}setHeader(e,r){if(this.headersSent)throw new nae("set");if(typeof e!="string"||!dit.test(e)&&!uit(e))throw new fit("Header name",e);if(typeof r>"u")throw new pit(r,e);if(mit.test(r))throw new hit("header content",e);this[ko][e.toLowerCase()]=r}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,r){let o=()=>this._request.setTimeout(e,r);return this._request?o():this[g1].push(o),this}get maxHeadersCount(){if(!this.destroyed&&this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}};lae.exports=t4});var uae=_((GNt,cae)=>{"use strict";var yit=ve("tls");cae.exports=(t={},e=yit.connect)=>new Promise((r,o)=>{let a=!1,n,u=async()=>{await p,n.off("timeout",A),n.off("error",o),t.resolveSocket?(r({alpnProtocol:n.alpnProtocol,socket:n,timeout:a}),a&&(await Promise.resolve(),n.emit("timeout"))):(n.destroy(),r({alpnProtocol:n.alpnProtocol,timeout:a}))},A=async()=>{a=!0,u()},p=(async()=>{try{n=await e(t,u),n.on("error",o),n.once("timeout",A)}catch(h){o(h)}})()})});var fae=_((jNt,Aae)=>{"use strict";var Eit=ve("net");Aae.exports=t=>{let e=t.host,r=t.headers&&t.headers.host;return r&&(r.startsWith("[")?r.indexOf("]")===-1?e=r:e=r.slice(1,-1):e=r.split(":",1)[0]),Eit.isIP(e)?"":e}});var gae=_((YNt,i4)=>{"use strict";var pae=ve("http"),n4=ve("https"),Cit=uae(),wit=WM(),Iit=r4(),Bit=fae(),vit=XM(),ib=new wit({maxSize:100}),d1=new Map,hae=(t,e,r)=>{e._httpMessage={shouldKeepAlive:!0};let o=()=>{t.emit("free",e,r)};e.on("free",o);let a=()=>{t.removeSocket(e,r)};e.on("close",a);let n=()=>{t.removeSocket(e,r),e.off("close",a),e.off("free",o),e.off("agentRemove",n)};e.on("agentRemove",n),t.emit("free",e,r)},Pit=async t=>{let e=`${t.host}:${t.port}:${t.ALPNProtocols.sort()}`;if(!ib.has(e)){if(d1.has(e))return(await d1.get(e)).alpnProtocol;let{path:r,agent:o}=t;t.path=t.socketPath;let a=Cit(t);d1.set(e,a);try{let{socket:n,alpnProtocol:u}=await a;if(ib.set(e,u),t.path=r,u==="h2")n.destroy();else{let{globalAgent:A}=n4,p=n4.Agent.prototype.createConnection;o?o.createConnection===p?hae(o,n,t):n.destroy():A.createConnection===p?hae(A,n,t):n.destroy()}return d1.delete(e),u}catch(n){throw d1.delete(e),n}}return ib.get(e)};i4.exports=async(t,e,r)=>{if((typeof t=="string"||t instanceof URL)&&(t=vit(new URL(t))),typeof e=="function"&&(r=e,e=void 0),e={ALPNProtocols:["h2","http/1.1"],...t,...e,resolveSocket:!0},!Array.isArray(e.ALPNProtocols)||e.ALPNProtocols.length===0)throw new Error("The `ALPNProtocols` option must be an Array with at least one entry");e.protocol=e.protocol||"https:";let o=e.protocol==="https:";e.host=e.hostname||e.host||"localhost",e.session=e.tlsSession,e.servername=e.servername||Bit(e),e.port=e.port||(o?443:80),e._defaultAgent=o?n4.globalAgent:pae.globalAgent;let a=e.agent;if(a){if(a.addRequest)throw new Error("The `options.agent` object can contain only `http`, `https` or `http2` properties");e.agent=a[o?"https":"http"]}return o&&await Pit(e)==="h2"?(a&&(e.agent=a.http2),new Iit(e,r)):pae.request(e,r)};i4.exports.protocolCache=ib});var mae=_((WNt,dae)=>{"use strict";var Dit=ve("http2"),Sit=zM(),s4=r4(),bit=VM(),xit=gae(),kit=(t,e,r)=>new s4(t,e,r),Qit=(t,e,r)=>{let o=new s4(t,e,r);return o.end(),o};dae.exports={...Dit,ClientRequest:s4,IncomingMessage:bit,...Sit,request:kit,get:Qit,auto:xit}});var a4=_(o4=>{"use strict";Object.defineProperty(o4,"__esModule",{value:!0});var yae=Tf();o4.default=t=>yae.default.nodeStream(t)&&yae.default.function_(t.getBoundary)});var Iae=_(l4=>{"use strict";Object.defineProperty(l4,"__esModule",{value:!0});var Cae=ve("fs"),wae=ve("util"),Eae=Tf(),Rit=a4(),Fit=wae.promisify(Cae.stat);l4.default=async(t,e)=>{if(e&&"content-length"in e)return Number(e["content-length"]);if(!t)return 0;if(Eae.default.string(t))return Buffer.byteLength(t);if(Eae.default.buffer(t))return t.length;if(Rit.default(t))return wae.promisify(t.getLength.bind(t))();if(t instanceof Cae.ReadStream){let{size:r}=await Fit(t.path);return r===0?void 0:r}}});var u4=_(c4=>{"use strict";Object.defineProperty(c4,"__esModule",{value:!0});function Tit(t,e,r){let o={};for(let a of r)o[a]=(...n)=>{e.emit(a,...n)},t.on(a,o[a]);return()=>{for(let a of r)t.off(a,o[a])}}c4.default=Tit});var Bae=_(A4=>{"use strict";Object.defineProperty(A4,"__esModule",{value:!0});A4.default=()=>{let t=[];return{once(e,r,o){e.once(r,o),t.push({origin:e,event:r,fn:o})},unhandleAll(){for(let e of t){let{origin:r,event:o,fn:a}=e;r.removeListener(o,a)}t.length=0}}}});var Pae=_(m1=>{"use strict";Object.defineProperty(m1,"__esModule",{value:!0});m1.TimeoutError=void 0;var Lit=ve("net"),Nit=Bae(),vae=Symbol("reentry"),Oit=()=>{},sb=class extends Error{constructor(e,r){super(`Timeout awaiting '${r}' for ${e}ms`),this.event=r,this.name="TimeoutError",this.code="ETIMEDOUT"}};m1.TimeoutError=sb;m1.default=(t,e,r)=>{if(vae in t)return Oit;t[vae]=!0;let o=[],{once:a,unhandleAll:n}=Nit.default(),u=(I,v,x)=>{var C;let F=setTimeout(v,I,I,x);(C=F.unref)===null||C===void 0||C.call(F);let N=()=>{clearTimeout(F)};return o.push(N),N},{host:A,hostname:p}=r,h=(I,v)=>{t.destroy(new sb(I,v))},E=()=>{for(let I of o)I();n()};if(t.once("error",I=>{if(E(),t.listenerCount("error")===0)throw I}),t.once("close",E),a(t,"response",I=>{a(I,"end",E)}),typeof e.request<"u"&&u(e.request,h,"request"),typeof e.socket<"u"){let I=()=>{h(e.socket,"socket")};t.setTimeout(e.socket,I),o.push(()=>{t.removeListener("timeout",I)})}return a(t,"socket",I=>{var v;let{socketPath:x}=t;if(I.connecting){let C=Boolean(x??Lit.isIP((v=p??A)!==null&&v!==void 0?v:"")!==0);if(typeof e.lookup<"u"&&!C&&typeof I.address().address>"u"){let F=u(e.lookup,h,"lookup");a(I,"lookup",F)}if(typeof e.connect<"u"){let F=()=>u(e.connect,h,"connect");C?a(I,"connect",F()):a(I,"lookup",N=>{N===null&&a(I,"connect",F())})}typeof e.secureConnect<"u"&&r.protocol==="https:"&&a(I,"connect",()=>{let F=u(e.secureConnect,h,"secureConnect");a(I,"secureConnect",F)})}if(typeof e.send<"u"){let C=()=>u(e.send,h,"send");I.connecting?a(I,"connect",()=>{a(t,"upload-complete",C())}):a(t,"upload-complete",C())}}),typeof e.response<"u"&&a(t,"upload-complete",()=>{let I=u(e.response,h,"response");a(t,"response",I)}),E}});var Sae=_(f4=>{"use strict";Object.defineProperty(f4,"__esModule",{value:!0});var Dae=Tf();f4.default=t=>{t=t;let e={protocol:t.protocol,hostname:Dae.default.string(t.hostname)&&t.hostname.startsWith("[")?t.hostname.slice(1,-1):t.hostname,host:t.host,hash:t.hash,search:t.search,pathname:t.pathname,href:t.href,path:`${t.pathname||""}${t.search||""}`};return Dae.default.string(t.port)&&t.port.length>0&&(e.port=Number(t.port)),(t.username||t.password)&&(e.auth=`${t.username||""}:${t.password||""}`),e}});var bae=_(p4=>{"use strict";Object.defineProperty(p4,"__esModule",{value:!0});var Mit=ve("url"),Uit=["protocol","host","hostname","port","pathname","search"];p4.default=(t,e)=>{var r,o;if(e.path){if(e.pathname)throw new TypeError("Parameters `path` and `pathname` are mutually exclusive.");if(e.search)throw new TypeError("Parameters `path` and `search` are mutually exclusive.");if(e.searchParams)throw new TypeError("Parameters `path` and `searchParams` are mutually exclusive.")}if(e.search&&e.searchParams)throw new TypeError("Parameters `search` and `searchParams` are mutually exclusive.");if(!t){if(!e.protocol)throw new TypeError("No URL protocol specified");t=`${e.protocol}//${(o=(r=e.hostname)!==null&&r!==void 0?r:e.host)!==null&&o!==void 0?o:""}`}let a=new Mit.URL(t);if(e.path){let n=e.path.indexOf("?");n===-1?e.pathname=e.path:(e.pathname=e.path.slice(0,n),e.search=e.path.slice(n+1)),delete e.path}for(let n of Uit)e[n]&&(a[n]=e[n].toString());return a}});var xae=_(g4=>{"use strict";Object.defineProperty(g4,"__esModule",{value:!0});var h4=class{constructor(){this.weakMap=new WeakMap,this.map=new Map}set(e,r){typeof e=="object"?this.weakMap.set(e,r):this.map.set(e,r)}get(e){return typeof e=="object"?this.weakMap.get(e):this.map.get(e)}has(e){return typeof e=="object"?this.weakMap.has(e):this.map.has(e)}};g4.default=h4});var m4=_(d4=>{"use strict";Object.defineProperty(d4,"__esModule",{value:!0});var _it=async t=>{let e=[],r=0;for await(let o of t)e.push(o),r+=Buffer.byteLength(o);return Buffer.isBuffer(e[0])?Buffer.concat(e,r):Buffer.from(e.join(""))};d4.default=_it});var Qae=_(Sd=>{"use strict";Object.defineProperty(Sd,"__esModule",{value:!0});Sd.dnsLookupIpVersionToFamily=Sd.isDnsLookupIpVersion=void 0;var kae={auto:0,ipv4:4,ipv6:6};Sd.isDnsLookupIpVersion=t=>t in kae;Sd.dnsLookupIpVersionToFamily=t=>{if(Sd.isDnsLookupIpVersion(t))return kae[t];throw new Error("Invalid DNS lookup IP version")}});var y4=_(ob=>{"use strict";Object.defineProperty(ob,"__esModule",{value:!0});ob.isResponseOk=void 0;ob.isResponseOk=t=>{let{statusCode:e}=t,r=t.request.options.followRedirect?299:399;return e>=200&&e<=r||e===304}});var Fae=_(E4=>{"use strict";Object.defineProperty(E4,"__esModule",{value:!0});var Rae=new Set;E4.default=t=>{Rae.has(t)||(Rae.add(t),process.emitWarning(`Got: ${t}`,{type:"DeprecationWarning"}))}});var Tae=_(C4=>{"use strict";Object.defineProperty(C4,"__esModule",{value:!0});var Ai=Tf(),Hit=(t,e)=>{if(Ai.default.null_(t.encoding))throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");Ai.assert.any([Ai.default.string,Ai.default.undefined],t.encoding),Ai.assert.any([Ai.default.boolean,Ai.default.undefined],t.resolveBodyOnly),Ai.assert.any([Ai.default.boolean,Ai.default.undefined],t.methodRewriting),Ai.assert.any([Ai.default.boolean,Ai.default.undefined],t.isStream),Ai.assert.any([Ai.default.string,Ai.default.undefined],t.responseType),t.responseType===void 0&&(t.responseType="text");let{retry:r}=t;if(e?t.retry={...e.retry}:t.retry={calculateDelay:o=>o.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},Ai.default.object(r)?(t.retry={...t.retry,...r},t.retry.methods=[...new Set(t.retry.methods.map(o=>o.toUpperCase()))],t.retry.statusCodes=[...new Set(t.retry.statusCodes)],t.retry.errorCodes=[...new Set(t.retry.errorCodes)]):Ai.default.number(r)&&(t.retry.limit=r),Ai.default.undefined(t.retry.maxRetryAfter)&&(t.retry.maxRetryAfter=Math.min(...[t.timeout.request,t.timeout.connect].filter(Ai.default.number))),Ai.default.object(t.pagination)){e&&(t.pagination={...e.pagination,...t.pagination});let{pagination:o}=t;if(!Ai.default.function_(o.transform))throw new Error("`options.pagination.transform` must be implemented");if(!Ai.default.function_(o.shouldContinue))throw new Error("`options.pagination.shouldContinue` must be implemented");if(!Ai.default.function_(o.filter))throw new TypeError("`options.pagination.filter` must be implemented");if(!Ai.default.function_(o.paginate))throw new Error("`options.pagination.paginate` must be implemented")}return t.responseType==="json"&&t.headers.accept===void 0&&(t.headers.accept="application/json"),t};C4.default=Hit});var Lae=_(y1=>{"use strict";Object.defineProperty(y1,"__esModule",{value:!0});y1.retryAfterStatusCodes=void 0;y1.retryAfterStatusCodes=new Set([413,429,503]);var qit=({attemptCount:t,retryOptions:e,error:r,retryAfter:o})=>{if(t>e.limit)return 0;let a=e.methods.includes(r.options.method),n=e.errorCodes.includes(r.code),u=r.response&&e.statusCodes.includes(r.response.statusCode);if(!a||!n&&!u)return 0;if(r.response){if(o)return e.maxRetryAfter===void 0||o>e.maxRetryAfter?0:o;if(r.response.statusCode===413)return 0}let A=Math.random()*100;return 2**(t-1)*1e3+A};y1.default=qit});var w1=_(Bn=>{"use strict";Object.defineProperty(Bn,"__esModule",{value:!0});Bn.UnsupportedProtocolError=Bn.ReadError=Bn.TimeoutError=Bn.UploadError=Bn.CacheError=Bn.HTTPError=Bn.MaxRedirectsError=Bn.RequestError=Bn.setNonEnumerableProperties=Bn.knownHookEvents=Bn.withoutBody=Bn.kIsNormalizedAlready=void 0;var Nae=ve("util"),Oae=ve("stream"),Git=ve("fs"),lh=ve("url"),Mae=ve("http"),w4=ve("http"),jit=ve("https"),Yit=Zse(),Wit=soe(),Uae=Moe(),Kit=qoe(),zit=mae(),Jit=tb(),ot=Tf(),Vit=Iae(),_ae=a4(),Xit=u4(),Hae=Pae(),Zit=Sae(),qae=bae(),$it=xae(),est=m4(),Gae=Qae(),tst=y4(),ch=Fae(),rst=Tae(),nst=Lae(),I4,Zs=Symbol("request"),ub=Symbol("response"),PE=Symbol("responseSize"),DE=Symbol("downloadedSize"),SE=Symbol("bodySize"),bE=Symbol("uploadedSize"),ab=Symbol("serverResponsesPiped"),jae=Symbol("unproxyEvents"),Yae=Symbol("isFromCache"),B4=Symbol("cancelTimeouts"),Wae=Symbol("startedReading"),xE=Symbol("stopReading"),lb=Symbol("triggerRead"),uh=Symbol("body"),E1=Symbol("jobs"),Kae=Symbol("originalResponse"),zae=Symbol("retryTimeout");Bn.kIsNormalizedAlready=Symbol("isNormalizedAlready");var ist=ot.default.string(process.versions.brotli);Bn.withoutBody=new Set(["GET","HEAD"]);Bn.knownHookEvents=["init","beforeRequest","beforeRedirect","beforeError","beforeRetry","afterResponse"];function sst(t){for(let e in t){let r=t[e];if(!ot.default.string(r)&&!ot.default.number(r)&&!ot.default.boolean(r)&&!ot.default.null_(r)&&!ot.default.undefined(r))throw new TypeError(`The \`searchParams\` value '${String(r)}' must be a string, number, boolean or null`)}}function ost(t){return ot.default.object(t)&&!("statusCode"in t)}var v4=new $it.default,ast=async t=>new Promise((e,r)=>{let o=a=>{r(a)};t.pending||e(),t.once("error",o),t.once("ready",()=>{t.off("error",o),e()})}),lst=new Set([300,301,302,303,304,307,308]),cst=["context","body","json","form"];Bn.setNonEnumerableProperties=(t,e)=>{let r={};for(let o of t)if(!!o)for(let a of cst)a in o&&(r[a]={writable:!0,configurable:!0,enumerable:!1,value:o[a]});Object.defineProperties(e,r)};var Ji=class extends Error{constructor(e,r,o){var a;if(super(e),Error.captureStackTrace(this,this.constructor),this.name="RequestError",this.code=r.code,o instanceof mb?(Object.defineProperty(this,"request",{enumerable:!1,value:o}),Object.defineProperty(this,"response",{enumerable:!1,value:o[ub]}),Object.defineProperty(this,"options",{enumerable:!1,value:o.options})):Object.defineProperty(this,"options",{enumerable:!1,value:o}),this.timings=(a=this.request)===null||a===void 0?void 0:a.timings,ot.default.string(r.stack)&&ot.default.string(this.stack)){let n=this.stack.indexOf(this.message)+this.message.length,u=this.stack.slice(n).split(` +`).reverse(),A=r.stack.slice(r.stack.indexOf(r.message)+r.message.length).split(` +`).reverse();for(;A.length!==0&&A[0]===u[0];)u.shift();this.stack=`${this.stack.slice(0,n)}${u.reverse().join(` +`)}${A.reverse().join(` +`)}`}}};Bn.RequestError=Ji;var Ab=class extends Ji{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e),this.name="MaxRedirectsError"}};Bn.MaxRedirectsError=Ab;var fb=class extends Ji{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request),this.name="HTTPError"}};Bn.HTTPError=fb;var pb=class extends Ji{constructor(e,r){super(e.message,e,r),this.name="CacheError"}};Bn.CacheError=pb;var hb=class extends Ji{constructor(e,r){super(e.message,e,r),this.name="UploadError"}};Bn.UploadError=hb;var gb=class extends Ji{constructor(e,r,o){super(e.message,e,o),this.name="TimeoutError",this.event=e.event,this.timings=r}};Bn.TimeoutError=gb;var C1=class extends Ji{constructor(e,r){super(e.message,e,r),this.name="ReadError"}};Bn.ReadError=C1;var db=class extends Ji{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e),this.name="UnsupportedProtocolError"}};Bn.UnsupportedProtocolError=db;var ust=["socket","connect","continue","information","upgrade","timeout"],mb=class extends Oae.Duplex{constructor(e,r={},o){super({autoDestroy:!1,highWaterMark:0}),this[DE]=0,this[bE]=0,this.requestInitialized=!1,this[ab]=new Set,this.redirects=[],this[xE]=!1,this[lb]=!1,this[E1]=[],this.retryCount=0,this._progressCallbacks=[];let a=()=>this._unlockWrite(),n=()=>this._lockWrite();this.on("pipe",h=>{h.prependListener("data",a),h.on("data",n),h.prependListener("end",a),h.on("end",n)}),this.on("unpipe",h=>{h.off("data",a),h.off("data",n),h.off("end",a),h.off("end",n)}),this.on("pipe",h=>{h instanceof w4.IncomingMessage&&(this.options.headers={...h.headers,...this.options.headers})});let{json:u,body:A,form:p}=r;if((u||A||p)&&this._lockWrite(),Bn.kIsNormalizedAlready in r)this.options=r;else try{this.options=this.constructor.normalizeArguments(e,r,o)}catch(h){ot.default.nodeStream(r.body)&&r.body.destroy(),this.destroy(h);return}(async()=>{var h;try{this.options.body instanceof Git.ReadStream&&await ast(this.options.body);let{url:E}=this.options;if(!E)throw new TypeError("Missing `url` property");if(this.requestUrl=E.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(h=this[Zs])===null||h===void 0||h.destroy();return}for(let I of this[E1])I();this[E1].length=0,this.requestInitialized=!0}catch(E){if(E instanceof Ji){this._beforeError(E);return}this.destroyed||this.destroy(E)}})()}static normalizeArguments(e,r,o){var a,n,u,A,p;let h=r;if(ot.default.object(e)&&!ot.default.urlInstance(e))r={...o,...e,...r};else{if(e&&r&&r.url!==void 0)throw new TypeError("The `url` option is mutually exclusive with the `input` argument");r={...o,...r},e!==void 0&&(r.url=e),ot.default.urlInstance(r.url)&&(r.url=new lh.URL(r.url.toString()))}if(r.cache===!1&&(r.cache=void 0),r.dnsCache===!1&&(r.dnsCache=void 0),ot.assert.any([ot.default.string,ot.default.undefined],r.method),ot.assert.any([ot.default.object,ot.default.undefined],r.headers),ot.assert.any([ot.default.string,ot.default.urlInstance,ot.default.undefined],r.prefixUrl),ot.assert.any([ot.default.object,ot.default.undefined],r.cookieJar),ot.assert.any([ot.default.object,ot.default.string,ot.default.undefined],r.searchParams),ot.assert.any([ot.default.object,ot.default.string,ot.default.undefined],r.cache),ot.assert.any([ot.default.object,ot.default.number,ot.default.undefined],r.timeout),ot.assert.any([ot.default.object,ot.default.undefined],r.context),ot.assert.any([ot.default.object,ot.default.undefined],r.hooks),ot.assert.any([ot.default.boolean,ot.default.undefined],r.decompress),ot.assert.any([ot.default.boolean,ot.default.undefined],r.ignoreInvalidCookies),ot.assert.any([ot.default.boolean,ot.default.undefined],r.followRedirect),ot.assert.any([ot.default.number,ot.default.undefined],r.maxRedirects),ot.assert.any([ot.default.boolean,ot.default.undefined],r.throwHttpErrors),ot.assert.any([ot.default.boolean,ot.default.undefined],r.http2),ot.assert.any([ot.default.boolean,ot.default.undefined],r.allowGetBody),ot.assert.any([ot.default.string,ot.default.undefined],r.localAddress),ot.assert.any([Gae.isDnsLookupIpVersion,ot.default.undefined],r.dnsLookupIpVersion),ot.assert.any([ot.default.object,ot.default.undefined],r.https),ot.assert.any([ot.default.boolean,ot.default.undefined],r.rejectUnauthorized),r.https&&(ot.assert.any([ot.default.boolean,ot.default.undefined],r.https.rejectUnauthorized),ot.assert.any([ot.default.function_,ot.default.undefined],r.https.checkServerIdentity),ot.assert.any([ot.default.string,ot.default.object,ot.default.array,ot.default.undefined],r.https.certificateAuthority),ot.assert.any([ot.default.string,ot.default.object,ot.default.array,ot.default.undefined],r.https.key),ot.assert.any([ot.default.string,ot.default.object,ot.default.array,ot.default.undefined],r.https.certificate),ot.assert.any([ot.default.string,ot.default.undefined],r.https.passphrase),ot.assert.any([ot.default.string,ot.default.buffer,ot.default.array,ot.default.undefined],r.https.pfx)),ot.assert.any([ot.default.object,ot.default.undefined],r.cacheOptions),ot.default.string(r.method)?r.method=r.method.toUpperCase():r.method="GET",r.headers===o?.headers?r.headers={...r.headers}:r.headers=Jit({...o?.headers,...r.headers}),"slashes"in r)throw new TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if("auth"in r)throw new TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if("searchParams"in r&&r.searchParams&&r.searchParams!==o?.searchParams){let x;if(ot.default.string(r.searchParams)||r.searchParams instanceof lh.URLSearchParams)x=new lh.URLSearchParams(r.searchParams);else{sst(r.searchParams),x=new lh.URLSearchParams;for(let C in r.searchParams){let F=r.searchParams[C];F===null?x.append(C,""):F!==void 0&&x.append(C,F)}}(a=o?.searchParams)===null||a===void 0||a.forEach((C,F)=>{x.has(F)||x.append(F,C)}),r.searchParams=x}if(r.username=(n=r.username)!==null&&n!==void 0?n:"",r.password=(u=r.password)!==null&&u!==void 0?u:"",ot.default.undefined(r.prefixUrl)?r.prefixUrl=(A=o?.prefixUrl)!==null&&A!==void 0?A:"":(r.prefixUrl=r.prefixUrl.toString(),r.prefixUrl!==""&&!r.prefixUrl.endsWith("/")&&(r.prefixUrl+="/")),ot.default.string(r.url)){if(r.url.startsWith("/"))throw new Error("`input` must not start with a slash when using `prefixUrl`");r.url=qae.default(r.prefixUrl+r.url,r)}else(ot.default.undefined(r.url)&&r.prefixUrl!==""||r.protocol)&&(r.url=qae.default(r.prefixUrl,r));if(r.url){"port"in r&&delete r.port;let{prefixUrl:x}=r;Object.defineProperty(r,"prefixUrl",{set:F=>{let N=r.url;if(!N.href.startsWith(F))throw new Error(`Cannot change \`prefixUrl\` from ${x} to ${F}: ${N.href}`);r.url=new lh.URL(F+N.href.slice(x.length)),x=F},get:()=>x});let{protocol:C}=r.url;if(C==="unix:"&&(C="http:",r.url=new lh.URL(`http://unix${r.url.pathname}${r.url.search}`)),r.searchParams&&(r.url.search=r.searchParams.toString()),C!=="http:"&&C!=="https:")throw new db(r);r.username===""?r.username=r.url.username:r.url.username=r.username,r.password===""?r.password=r.url.password:r.url.password=r.password}let{cookieJar:E}=r;if(E){let{setCookie:x,getCookieString:C}=E;ot.assert.function_(x),ot.assert.function_(C),x.length===4&&C.length===0&&(x=Nae.promisify(x.bind(r.cookieJar)),C=Nae.promisify(C.bind(r.cookieJar)),r.cookieJar={setCookie:x,getCookieString:C})}let{cache:I}=r;if(I&&(v4.has(I)||v4.set(I,new Uae((x,C)=>{let F=x[Zs](x,C);return ot.default.promise(F)&&(F.once=(N,U)=>{if(N==="error")F.catch(U);else if(N==="abort")(async()=>{try{(await F).once("abort",U)}catch{}})();else throw new Error(`Unknown HTTP2 promise event: ${N}`);return F}),F},I))),r.cacheOptions={...r.cacheOptions},r.dnsCache===!0)I4||(I4=new Wit.default),r.dnsCache=I4;else if(!ot.default.undefined(r.dnsCache)&&!r.dnsCache.lookup)throw new TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${ot.default(r.dnsCache)}`);ot.default.number(r.timeout)?r.timeout={request:r.timeout}:o&&r.timeout!==o.timeout?r.timeout={...o.timeout,...r.timeout}:r.timeout={...r.timeout},r.context||(r.context={});let v=r.hooks===o?.hooks;r.hooks={...r.hooks};for(let x of Bn.knownHookEvents)if(x in r.hooks)if(ot.default.array(r.hooks[x]))r.hooks[x]=[...r.hooks[x]];else throw new TypeError(`Parameter \`${x}\` must be an Array, got ${ot.default(r.hooks[x])}`);else r.hooks[x]=[];if(o&&!v)for(let x of Bn.knownHookEvents)o.hooks[x].length>0&&(r.hooks[x]=[...o.hooks[x],...r.hooks[x]]);if("family"in r&&ch.default('"options.family" was never documented, please use "options.dnsLookupIpVersion"'),o?.https&&(r.https={...o.https,...r.https}),"rejectUnauthorized"in r&&ch.default('"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"'),"checkServerIdentity"in r&&ch.default('"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"'),"ca"in r&&ch.default('"options.ca" was never documented, please use "options.https.certificateAuthority"'),"key"in r&&ch.default('"options.key" was never documented, please use "options.https.key"'),"cert"in r&&ch.default('"options.cert" was never documented, please use "options.https.certificate"'),"passphrase"in r&&ch.default('"options.passphrase" was never documented, please use "options.https.passphrase"'),"pfx"in r&&ch.default('"options.pfx" was never documented, please use "options.https.pfx"'),"followRedirects"in r)throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(r.agent){for(let x in r.agent)if(x!=="http"&&x!=="https"&&x!=="http2")throw new TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${x}\``)}return r.maxRedirects=(p=r.maxRedirects)!==null&&p!==void 0?p:0,Bn.setNonEnumerableProperties([o,h],r),rst.default(r,o)}_lockWrite(){let e=()=>{throw new TypeError("The payload has been already provided")};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){let{options:e}=this,{headers:r}=e,o=!ot.default.undefined(e.form),a=!ot.default.undefined(e.json),n=!ot.default.undefined(e.body),u=o||a||n,A=Bn.withoutBody.has(e.method)&&!(e.method==="GET"&&e.allowGetBody);if(this._cannotHaveBody=A,u){if(A)throw new TypeError(`The \`${e.method}\` method cannot be used with a body`);if([n,o,a].filter(p=>p).length>1)throw new TypeError("The `body`, `json` and `form` options are mutually exclusive");if(n&&!(e.body instanceof Oae.Readable)&&!ot.default.string(e.body)&&!ot.default.buffer(e.body)&&!_ae.default(e.body))throw new TypeError("The `body` option must be a stream.Readable, string or Buffer");if(o&&!ot.default.object(e.form))throw new TypeError("The `form` option must be an Object");{let p=!ot.default.string(r["content-type"]);n?(_ae.default(e.body)&&p&&(r["content-type"]=`multipart/form-data; boundary=${e.body.getBoundary()}`),this[uh]=e.body):o?(p&&(r["content-type"]="application/x-www-form-urlencoded"),this[uh]=new lh.URLSearchParams(e.form).toString()):(p&&(r["content-type"]="application/json"),this[uh]=e.stringifyJson(e.json));let h=await Vit.default(this[uh],e.headers);ot.default.undefined(r["content-length"])&&ot.default.undefined(r["transfer-encoding"])&&!A&&!ot.default.undefined(h)&&(r["content-length"]=String(h))}}else A?this._lockWrite():this._unlockWrite();this[SE]=Number(r["content-length"])||void 0}async _onResponseBase(e){let{options:r}=this,{url:o}=r;this[Kae]=e,r.decompress&&(e=Kit(e));let a=e.statusCode,n=e;n.statusMessage=n.statusMessage?n.statusMessage:Mae.STATUS_CODES[a],n.url=r.url.toString(),n.requestUrl=this.requestUrl,n.redirectUrls=this.redirects,n.request=this,n.isFromCache=e.fromCache||!1,n.ip=this.ip,n.retryCount=this.retryCount,this[Yae]=n.isFromCache,this[PE]=Number(e.headers["content-length"])||void 0,this[ub]=e,e.once("end",()=>{this[PE]=this[DE],this.emit("downloadProgress",this.downloadProgress)}),e.once("error",A=>{e.destroy(),this._beforeError(new C1(A,this))}),e.once("aborted",()=>{this._beforeError(new C1({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this))}),this.emit("downloadProgress",this.downloadProgress);let u=e.headers["set-cookie"];if(ot.default.object(r.cookieJar)&&u){let A=u.map(async p=>r.cookieJar.setCookie(p,o.toString()));r.ignoreInvalidCookies&&(A=A.map(async p=>p.catch(()=>{})));try{await Promise.all(A)}catch(p){this._beforeError(p);return}}if(r.followRedirect&&e.headers.location&&lst.has(a)){if(e.resume(),this[Zs]&&(this[B4](),delete this[Zs],this[jae]()),(a===303&&r.method!=="GET"&&r.method!=="HEAD"||!r.methodRewriting)&&(r.method="GET","body"in r&&delete r.body,"json"in r&&delete r.json,"form"in r&&delete r.form,this[uh]=void 0,delete r.headers["content-length"]),this.redirects.length>=r.maxRedirects){this._beforeError(new Ab(this));return}try{let p=Buffer.from(e.headers.location,"binary").toString(),h=new lh.URL(p,o),E=h.toString();decodeURI(E),h.hostname!==o.hostname||h.port!==o.port?("host"in r.headers&&delete r.headers.host,"cookie"in r.headers&&delete r.headers.cookie,"authorization"in r.headers&&delete r.headers.authorization,(r.username||r.password)&&(r.username="",r.password="")):(h.username=r.username,h.password=r.password),this.redirects.push(E),r.url=h;for(let I of r.hooks.beforeRedirect)await I(r,n);this.emit("redirect",n,r),await this._makeRequest()}catch(p){this._beforeError(p);return}return}if(r.isStream&&r.throwHttpErrors&&!tst.isResponseOk(n)){this._beforeError(new fb(n));return}e.on("readable",()=>{this[lb]&&this._read()}),this.on("resume",()=>{e.resume()}),this.on("pause",()=>{e.pause()}),e.once("end",()=>{this.push(null)}),this.emit("response",e);for(let A of this[ab])if(!A.headersSent){for(let p in e.headers){let h=r.decompress?p!=="content-encoding":!0,E=e.headers[p];h&&A.setHeader(p,E)}A.statusCode=a}}async _onResponse(e){try{await this._onResponseBase(e)}catch(r){this._beforeError(r)}}_onRequest(e){let{options:r}=this,{timeout:o,url:a}=r;Yit.default(e),this[B4]=Hae.default(e,o,a);let n=r.cache?"cacheableResponse":"response";e.once(n,p=>{this._onResponse(p)}),e.once("error",p=>{var h;e.destroy(),(h=e.res)===null||h===void 0||h.removeAllListeners("end"),p=p instanceof Hae.TimeoutError?new gb(p,this.timings,this):new Ji(p.message,p,this),this._beforeError(p)}),this[jae]=Xit.default(e,this,ust),this[Zs]=e,this.emit("uploadProgress",this.uploadProgress);let u=this[uh],A=this.redirects.length===0?this:e;ot.default.nodeStream(u)?(u.pipe(A),u.once("error",p=>{this._beforeError(new hb(p,this))})):(this._unlockWrite(),ot.default.undefined(u)?(this._cannotHaveBody||this._noPipe)&&(A.end(),this._lockWrite()):(this._writeRequest(u,void 0,()=>{}),A.end(),this._lockWrite())),this.emit("request",e)}async _createCacheableRequest(e,r){return new Promise((o,a)=>{Object.assign(r,Zit.default(e)),delete r.url;let n,u=v4.get(r.cache)(r,async A=>{A._readableState.autoDestroy=!1,n&&(await n).emit("cacheableResponse",A),o(A)});r.url=e,u.once("error",a),u.once("request",async A=>{n=A,o(n)})})}async _makeRequest(){var e,r,o,a,n;let{options:u}=this,{headers:A}=u;for(let U in A)if(ot.default.undefined(A[U]))delete A[U];else if(ot.default.null_(A[U]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${U}\` header`);if(u.decompress&&ot.default.undefined(A["accept-encoding"])&&(A["accept-encoding"]=ist?"gzip, deflate, br":"gzip, deflate"),u.cookieJar){let U=await u.cookieJar.getCookieString(u.url.toString());ot.default.nonEmptyString(U)&&(u.headers.cookie=U)}for(let U of u.hooks.beforeRequest){let J=await U(u);if(!ot.default.undefined(J)){u.request=()=>J;break}}u.body&&this[uh]!==u.body&&(this[uh]=u.body);let{agent:p,request:h,timeout:E,url:I}=u;if(u.dnsCache&&!("lookup"in u)&&(u.lookup=u.dnsCache.lookup),I.hostname==="unix"){let U=/(?.+?):(?.+)/.exec(`${I.pathname}${I.search}`);if(U?.groups){let{socketPath:J,path:te}=U.groups;Object.assign(u,{socketPath:J,path:te,host:""})}}let v=I.protocol==="https:",x;u.http2?x=zit.auto:x=v?jit.request:Mae.request;let C=(e=u.request)!==null&&e!==void 0?e:x,F=u.cache?this._createCacheableRequest:C;p&&!u.http2&&(u.agent=p[v?"https":"http"]),u[Zs]=C,delete u.request,delete u.timeout;let N=u;if(N.shared=(r=u.cacheOptions)===null||r===void 0?void 0:r.shared,N.cacheHeuristic=(o=u.cacheOptions)===null||o===void 0?void 0:o.cacheHeuristic,N.immutableMinTimeToLive=(a=u.cacheOptions)===null||a===void 0?void 0:a.immutableMinTimeToLive,N.ignoreCargoCult=(n=u.cacheOptions)===null||n===void 0?void 0:n.ignoreCargoCult,u.dnsLookupIpVersion!==void 0)try{N.family=Gae.dnsLookupIpVersionToFamily(u.dnsLookupIpVersion)}catch{throw new Error("Invalid `dnsLookupIpVersion` option value")}u.https&&("rejectUnauthorized"in u.https&&(N.rejectUnauthorized=u.https.rejectUnauthorized),u.https.checkServerIdentity&&(N.checkServerIdentity=u.https.checkServerIdentity),u.https.certificateAuthority&&(N.ca=u.https.certificateAuthority),u.https.certificate&&(N.cert=u.https.certificate),u.https.key&&(N.key=u.https.key),u.https.passphrase&&(N.passphrase=u.https.passphrase),u.https.pfx&&(N.pfx=u.https.pfx));try{let U=await F(I,N);ot.default.undefined(U)&&(U=x(I,N)),u.request=h,u.timeout=E,u.agent=p,u.https&&("rejectUnauthorized"in u.https&&delete N.rejectUnauthorized,u.https.checkServerIdentity&&delete N.checkServerIdentity,u.https.certificateAuthority&&delete N.ca,u.https.certificate&&delete N.cert,u.https.key&&delete N.key,u.https.passphrase&&delete N.passphrase,u.https.pfx&&delete N.pfx),ost(U)?this._onRequest(U):this.writable?(this.once("finish",()=>{this._onResponse(U)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(U)}catch(U){throw U instanceof Uae.CacheError?new pb(U,this):new Ji(U.message,U,this)}}async _error(e){try{for(let r of this.options.hooks.beforeError)e=await r(e)}catch(r){e=new Ji(r.message,r,this)}this.destroy(e)}_beforeError(e){if(this[xE])return;let{options:r}=this,o=this.retryCount+1;this[xE]=!0,e instanceof Ji||(e=new Ji(e.message,e,this));let a=e,{response:n}=a;(async()=>{if(n&&!n.body){n.setEncoding(this._readableState.encoding);try{n.rawBody=await est.default(n),n.body=n.rawBody.toString()}catch{}}if(this.listenerCount("retry")!==0){let u;try{let A;n&&"retry-after"in n.headers&&(A=Number(n.headers["retry-after"]),Number.isNaN(A)?(A=Date.parse(n.headers["retry-after"])-Date.now(),A<=0&&(A=1)):A*=1e3),u=await r.retry.calculateDelay({attemptCount:o,retryOptions:r.retry,error:a,retryAfter:A,computedValue:nst.default({attemptCount:o,retryOptions:r.retry,error:a,retryAfter:A,computedValue:0})})}catch(A){this._error(new Ji(A.message,A,this));return}if(u){let A=async()=>{try{for(let p of this.options.hooks.beforeRetry)await p(this.options,a,o)}catch(p){this._error(new Ji(p.message,e,this));return}this.destroyed||(this.destroy(),this.emit("retry",o,e))};this[zae]=setTimeout(A,u);return}}this._error(a)})()}_read(){this[lb]=!0;let e=this[ub];if(e&&!this[xE]){e.readableLength&&(this[lb]=!1);let r;for(;(r=e.read())!==null;){this[DE]+=r.length,this[Wae]=!0;let o=this.downloadProgress;o.percent<1&&this.emit("downloadProgress",o),this.push(r)}}}_write(e,r,o){let a=()=>{this._writeRequest(e,r,o)};this.requestInitialized?a():this[E1].push(a)}_writeRequest(e,r,o){this[Zs].destroyed||(this._progressCallbacks.push(()=>{this[bE]+=Buffer.byteLength(e,r);let a=this.uploadProgress;a.percent<1&&this.emit("uploadProgress",a)}),this[Zs].write(e,r,a=>{!a&&this._progressCallbacks.length>0&&this._progressCallbacks.shift()(),o(a)}))}_final(e){let r=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();if(!(Zs in this)){e();return}if(this[Zs].destroyed){e();return}this[Zs].end(o=>{o||(this[SE]=this[bE],this.emit("uploadProgress",this.uploadProgress),this[Zs].emit("upload-complete")),e(o)})};this.requestInitialized?r():this[E1].push(r)}_destroy(e,r){var o;this[xE]=!0,clearTimeout(this[zae]),Zs in this&&(this[B4](),!((o=this[ub])===null||o===void 0)&&o.complete||this[Zs].destroy()),e!==null&&!ot.default.undefined(e)&&!(e instanceof Ji)&&(e=new Ji(e.message,e,this)),r(e)}get _isAboutToError(){return this[xE]}get ip(){var e;return(e=this.socket)===null||e===void 0?void 0:e.remoteAddress}get aborted(){var e,r,o;return((r=(e=this[Zs])===null||e===void 0?void 0:e.destroyed)!==null&&r!==void 0?r:this.destroyed)&&!(!((o=this[Kae])===null||o===void 0)&&o.complete)}get socket(){var e,r;return(r=(e=this[Zs])===null||e===void 0?void 0:e.socket)!==null&&r!==void 0?r:void 0}get downloadProgress(){let e;return this[PE]?e=this[DE]/this[PE]:this[PE]===this[DE]?e=1:e=0,{percent:e,transferred:this[DE],total:this[PE]}}get uploadProgress(){let e;return this[SE]?e=this[bE]/this[SE]:this[SE]===this[bE]?e=1:e=0,{percent:e,transferred:this[bE],total:this[SE]}}get timings(){var e;return(e=this[Zs])===null||e===void 0?void 0:e.timings}get isFromCache(){return this[Yae]}pipe(e,r){if(this[Wae])throw new Error("Failed to pipe. The response has been emitted already.");return e instanceof w4.ServerResponse&&this[ab].add(e),super.pipe(e,r)}unpipe(e){return e instanceof w4.ServerResponse&&this[ab].delete(e),super.unpipe(e),this}};Bn.default=mb});var I1=_(jc=>{"use strict";var Ast=jc&&jc.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),fst=jc&&jc.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Ast(e,t,r)};Object.defineProperty(jc,"__esModule",{value:!0});jc.CancelError=jc.ParseError=void 0;var Jae=w1(),P4=class extends Jae.RequestError{constructor(e,r){let{options:o}=r.request;super(`${e.message} in "${o.url.toString()}"`,e,r.request),this.name="ParseError"}};jc.ParseError=P4;var D4=class extends Jae.RequestError{constructor(e){super("Promise was canceled",{},e),this.name="CancelError"}get isCanceled(){return!0}};jc.CancelError=D4;fst(w1(),jc)});var Xae=_(S4=>{"use strict";Object.defineProperty(S4,"__esModule",{value:!0});var Vae=I1(),pst=(t,e,r,o)=>{let{rawBody:a}=t;try{if(e==="text")return a.toString(o);if(e==="json")return a.length===0?"":r(a.toString());if(e==="buffer")return a;throw new Vae.ParseError({message:`Unknown body type '${e}'`,name:"Error"},t)}catch(n){throw new Vae.ParseError(n,t)}};S4.default=pst});var b4=_(Ah=>{"use strict";var hst=Ah&&Ah.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),gst=Ah&&Ah.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&hst(e,t,r)};Object.defineProperty(Ah,"__esModule",{value:!0});var dst=ve("events"),mst=Tf(),yst=Vse(),yb=I1(),Zae=Xae(),$ae=w1(),Est=u4(),Cst=m4(),ele=y4(),wst=["request","response","redirect","uploadProgress","downloadProgress"];function tle(t){let e,r,o=new dst.EventEmitter,a=new yst((u,A,p)=>{let h=E=>{let I=new $ae.default(void 0,t);I.retryCount=E,I._noPipe=!0,p(()=>I.destroy()),p.shouldReject=!1,p(()=>A(new yb.CancelError(I))),e=I,I.once("response",async C=>{var F;if(C.retryCount=E,C.request.aborted)return;let N;try{N=await Cst.default(I),C.rawBody=N}catch{return}if(I._isAboutToError)return;let U=((F=C.headers["content-encoding"])!==null&&F!==void 0?F:"").toLowerCase(),J=["gzip","deflate","br"].includes(U),{options:te}=I;if(J&&!te.decompress)C.body=N;else try{C.body=Zae.default(C,te.responseType,te.parseJson,te.encoding)}catch(ae){if(C.body=N.toString(),ele.isResponseOk(C)){I._beforeError(ae);return}}try{for(let[ae,le]of te.hooks.afterResponse.entries())C=await le(C,async ce=>{let we=$ae.default.normalizeArguments(void 0,{...ce,retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1},te);we.hooks.afterResponse=we.hooks.afterResponse.slice(0,ae);for(let Be of we.hooks.beforeRetry)await Be(we);let de=tle(we);return p(()=>{de.catch(()=>{}),de.cancel()}),de})}catch(ae){I._beforeError(new yb.RequestError(ae.message,ae,I));return}if(!ele.isResponseOk(C)){I._beforeError(new yb.HTTPError(C));return}r=C,u(I.options.resolveBodyOnly?C.body:C)});let v=C=>{if(a.isCanceled)return;let{options:F}=I;if(C instanceof yb.HTTPError&&!F.throwHttpErrors){let{response:N}=C;u(I.options.resolveBodyOnly?N.body:N);return}A(C)};I.once("error",v);let x=I.options.body;I.once("retry",(C,F)=>{var N,U;if(x===((N=F.request)===null||N===void 0?void 0:N.options.body)&&mst.default.nodeStream((U=F.request)===null||U===void 0?void 0:U.options.body)){v(F);return}h(C)}),Est.default(I,o,wst)};h(0)});a.on=(u,A)=>(o.on(u,A),a);let n=u=>{let A=(async()=>{await a;let{options:p}=r.request;return Zae.default(r,u,p.parseJson,p.encoding)})();return Object.defineProperties(A,Object.getOwnPropertyDescriptors(a)),A};return a.json=()=>{let{headers:u}=e.options;return!e.writableFinished&&u.accept===void 0&&(u.accept="application/json"),n("json")},a.buffer=()=>n("buffer"),a.text=()=>n("text"),a}Ah.default=tle;gst(I1(),Ah)});var rle=_(x4=>{"use strict";Object.defineProperty(x4,"__esModule",{value:!0});var Ist=I1();function Bst(t,...e){let r=(async()=>{if(t instanceof Ist.RequestError)try{for(let a of e)if(a)for(let n of a)t=await n(t)}catch(a){t=a}throw t})(),o=()=>r;return r.json=o,r.text=o,r.buffer=o,r.on=o,r}x4.default=Bst});var sle=_(k4=>{"use strict";Object.defineProperty(k4,"__esModule",{value:!0});var nle=Tf();function ile(t){for(let e of Object.values(t))(nle.default.plainObject(e)||nle.default.array(e))&&ile(e);return Object.freeze(t)}k4.default=ile});var ale=_(ole=>{"use strict";Object.defineProperty(ole,"__esModule",{value:!0})});var Q4=_(Jl=>{"use strict";var vst=Jl&&Jl.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),Pst=Jl&&Jl.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&vst(e,t,r)};Object.defineProperty(Jl,"__esModule",{value:!0});Jl.defaultHandler=void 0;var lle=Tf(),zl=b4(),Dst=rle(),Cb=w1(),Sst=sle(),bst={RequestError:zl.RequestError,CacheError:zl.CacheError,ReadError:zl.ReadError,HTTPError:zl.HTTPError,MaxRedirectsError:zl.MaxRedirectsError,TimeoutError:zl.TimeoutError,ParseError:zl.ParseError,CancelError:zl.CancelError,UnsupportedProtocolError:zl.UnsupportedProtocolError,UploadError:zl.UploadError},xst=async t=>new Promise(e=>{setTimeout(e,t)}),{normalizeArguments:Eb}=Cb.default,cle=(...t)=>{let e;for(let r of t)e=Eb(void 0,r,e);return e},kst=t=>t.isStream?new Cb.default(void 0,t):zl.default(t),Qst=t=>"defaults"in t&&"options"in t.defaults,Rst=["get","post","put","patch","head","delete"];Jl.defaultHandler=(t,e)=>e(t);var ule=(t,e)=>{if(t)for(let r of t)r(e)},Ale=t=>{t._rawHandlers=t.handlers,t.handlers=t.handlers.map(o=>(a,n)=>{let u,A=o(a,p=>(u=n(p),u));if(A!==u&&!a.isStream&&u){let p=A,{then:h,catch:E,finally:I}=p;Object.setPrototypeOf(p,Object.getPrototypeOf(u)),Object.defineProperties(p,Object.getOwnPropertyDescriptors(u)),p.then=h,p.catch=E,p.finally=I}return A});let e=(o,a={},n)=>{var u,A;let p=0,h=E=>t.handlers[p++](E,p===t.handlers.length?kst:h);if(lle.default.plainObject(o)){let E={...o,...a};Cb.setNonEnumerableProperties([o,a],E),a=E,o=void 0}try{let E;try{ule(t.options.hooks.init,a),ule((u=a.hooks)===null||u===void 0?void 0:u.init,a)}catch(v){E=v}let I=Eb(o,a,n??t.options);if(I[Cb.kIsNormalizedAlready]=!0,E)throw new zl.RequestError(E.message,E,I);return h(I)}catch(E){if(a.isStream)throw E;return Dst.default(E,t.options.hooks.beforeError,(A=a.hooks)===null||A===void 0?void 0:A.beforeError)}};e.extend=(...o)=>{let a=[t.options],n=[...t._rawHandlers],u;for(let A of o)Qst(A)?(a.push(A.defaults.options),n.push(...A.defaults._rawHandlers),u=A.defaults.mutableDefaults):(a.push(A),"handlers"in A&&n.push(...A.handlers),u=A.mutableDefaults);return n=n.filter(A=>A!==Jl.defaultHandler),n.length===0&&n.push(Jl.defaultHandler),Ale({options:cle(...a),handlers:n,mutableDefaults:Boolean(u)})};let r=async function*(o,a){let n=Eb(o,a,t.options);n.resolveBodyOnly=!1;let u=n.pagination;if(!lle.default.object(u))throw new TypeError("`options.pagination` must be implemented");let A=[],{countLimit:p}=u,h=0;for(;h{let n=[];for await(let u of r(o,a))n.push(u);return n},e.paginate.each=r,e.stream=(o,a)=>e(o,{...a,isStream:!0});for(let o of Rst)e[o]=(a,n)=>e(a,{...n,method:o}),e.stream[o]=(a,n)=>e(a,{...n,method:o,isStream:!0});return Object.assign(e,bst),Object.defineProperty(e,"defaults",{value:t.mutableDefaults?t:Sst.default(t),writable:t.mutableDefaults,configurable:t.mutableDefaults,enumerable:!0}),e.mergeOptions=cle,e};Jl.default=Ale;Pst(ale(),Jl)});var hle=_((Lf,wb)=>{"use strict";var Fst=Lf&&Lf.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),fle=Lf&&Lf.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Fst(e,t,r)};Object.defineProperty(Lf,"__esModule",{value:!0});var Tst=ve("url"),ple=Q4(),Lst={options:{method:"GET",retry:{limit:2,methods:["GET","PUT","HEAD","DELETE","OPTIONS","TRACE"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"],maxRetryAfter:void 0,calculateDelay:({computedValue:t})=>t},timeout:{},headers:{"user-agent":"got (https://github.com/sindresorhus/got)"},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:"text",resolveBodyOnly:!1,maxRedirects:10,prefixUrl:"",methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:t=>t.request.options.responseType==="json"?t.body:JSON.parse(t.body),paginate:t=>{if(!Reflect.has(t.headers,"link"))return!1;let e=t.headers.link.split(","),r;for(let o of e){let a=o.split(";");if(a[1].includes("next")){r=a[0].trimStart().trim(),r=r.slice(1,-1);break}}return r?{url:new Tst.URL(r)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:1/0,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:t=>JSON.parse(t),stringifyJson:t=>JSON.stringify(t),cacheOptions:{}},handlers:[ple.defaultHandler],mutableDefaults:!1},R4=ple.default(Lst);Lf.default=R4;wb.exports=R4;wb.exports.default=R4;wb.exports.__esModule=!0;fle(Q4(),Lf);fle(b4(),Lf)});var sn={};zt(sn,{Method:()=>wle,del:()=>_st,get:()=>N4,getNetworkSettings:()=>Cle,post:()=>O4,put:()=>Ust,request:()=>B1});function mle(t){let e=new URL(t),r={host:e.hostname,headers:{}};return e.port&&(r.port=Number(e.port)),e.username&&e.password&&(r.proxyAuth=`${e.username}:${e.password}`),{proxy:r}}async function F4(t){return al(dle,t,()=>oe.readFilePromise(t).then(e=>(dle.set(t,e),e)))}function Mst({statusCode:t,statusMessage:e},r){let o=Ut(r,t,yt.NUMBER),a=`https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/${t}`;return Vy(r,`${o}${e?` (${e})`:""}`,a)}async function Ib(t,{configuration:e,customErrorMessage:r}){try{return await t}catch(o){if(o.name!=="HTTPError")throw o;let a=r?.(o,e)??o.response.body?.error;a==null&&(o.message.startsWith("Response code")?a="The remote server failed to provide the requested resource":a=o.message),o.code==="ETIMEDOUT"&&o.event==="socket"&&(a+=`(can be increased via ${Ut(e,"httpTimeout",yt.SETTING)})`);let n=new Vt(35,a,u=>{o.response&&u.reportError(35,` ${Xu(e,{label:"Response Code",value:Hc(yt.NO_HINT,Mst(o.response,e))})}`),o.request&&(u.reportError(35,` ${Xu(e,{label:"Request Method",value:Hc(yt.NO_HINT,o.request.options.method)})}`),u.reportError(35,` ${Xu(e,{label:"Request URL",value:Hc(yt.URL,o.request.requestUrl)})}`)),o.request.redirects.length>0&&u.reportError(35,` ${Xu(e,{label:"Request Redirects",value:Hc(yt.NO_HINT,bN(e,o.request.redirects,yt.URL))})}`),o.request.retryCount===o.request.options.retry.limit&&u.reportError(35,` ${Xu(e,{label:"Request Retry Count",value:Hc(yt.NO_HINT,`${Ut(e,o.request.retryCount,yt.NUMBER)} (can be increased via ${Ut(e,"httpRetry",yt.SETTING)})`)})}`)});throw n.originalError=o,n}}function Cle(t,e){let r=[...e.configuration.get("networkSettings")].sort(([u],[A])=>A.length-u.length),o={enableNetwork:void 0,httpsCaFilePath:void 0,httpProxy:void 0,httpsProxy:void 0,httpsKeyFilePath:void 0,httpsCertFilePath:void 0},a=Object.keys(o),n=typeof t=="string"?new URL(t):t;for(let[u,A]of r)if(L4.default.isMatch(n.hostname,u))for(let p of a){let h=A.get(p);h!==null&&typeof o[p]>"u"&&(o[p]=h)}for(let u of a)typeof o[u]>"u"&&(o[u]=e.configuration.get(u));return o}async function B1(t,e,{configuration:r,headers:o,jsonRequest:a,jsonResponse:n,method:u="GET",wrapNetworkRequest:A}){let p={target:t,body:e,configuration:r,headers:o,jsonRequest:a,jsonResponse:n,method:u},h=async()=>await Hst(t,e,p),E=typeof A<"u"?await A(h,p):h;return await(await r.reduceHook(v=>v.wrapNetworkRequest,E,p))()}async function N4(t,{configuration:e,jsonResponse:r,customErrorMessage:o,wrapNetworkRequest:a,...n}){let u=()=>Ib(B1(t,null,{configuration:e,wrapNetworkRequest:a,...n}),{configuration:e,customErrorMessage:o}).then(p=>p.body),A=await(typeof a<"u"?u():al(gle,t,()=>u().then(p=>(gle.set(t,p),p))));return r?JSON.parse(A.toString()):A}async function Ust(t,e,{customErrorMessage:r,...o}){return(await Ib(B1(t,e,{...o,method:"PUT"}),{customErrorMessage:r,configuration:o.configuration})).body}async function O4(t,e,{customErrorMessage:r,...o}){return(await Ib(B1(t,e,{...o,method:"POST"}),{customErrorMessage:r,configuration:o.configuration})).body}async function _st(t,{customErrorMessage:e,...r}){return(await Ib(B1(t,null,{...r,method:"DELETE"}),{customErrorMessage:e,configuration:r.configuration})).body}async function Hst(t,e,{configuration:r,headers:o,jsonRequest:a,jsonResponse:n,method:u="GET"}){let A=typeof t=="string"?new URL(t):t,p=Cle(A,{configuration:r});if(p.enableNetwork===!1)throw new Vt(80,`Request to '${A.href}' has been blocked because of your configuration settings`);if(A.protocol==="http:"&&!L4.default.isMatch(A.hostname,r.get("unsafeHttpWhitelist")))throw new Vt(81,`Unsafe http requests must be explicitly whitelisted in your configuration (${A.hostname})`);let E={agent:{http:p.httpProxy?T4.default.httpOverHttp(mle(p.httpProxy)):Nst,https:p.httpsProxy?T4.default.httpsOverHttp(mle(p.httpsProxy)):Ost},headers:o,method:u};E.responseType=n?"json":"buffer",e!==null&&(Buffer.isBuffer(e)||!a&&typeof e=="string"?E.body=e:E.json=e);let I=r.get("httpTimeout"),v=r.get("httpRetry"),x=r.get("enableStrictSsl"),C=p.httpsCaFilePath,F=p.httpsCertFilePath,N=p.httpsKeyFilePath,{default:U}=await Promise.resolve().then(()=>Ze(hle())),J=C?await F4(C):void 0,te=F?await F4(F):void 0,ae=N?await F4(N):void 0,le=U.extend({timeout:{socket:I},retry:v,https:{rejectUnauthorized:x,certificateAuthority:J,certificate:te,key:ae},...E});return r.getLimit("networkConcurrency")(()=>le(A))}var yle,Ele,L4,T4,gle,dle,Nst,Ost,wle,Bb=Et(()=>{Dt();yle=ve("https"),Ele=ve("http"),L4=Ze(Xo()),T4=Ze(Yse());Wl();jl();Gl();gle=new Map,dle=new Map,Nst=new Ele.Agent({keepAlive:!0}),Ost=new yle.Agent({keepAlive:!0});wle=(a=>(a.GET="GET",a.PUT="PUT",a.POST="POST",a.DELETE="DELETE",a))(wle||{})});var Vi={};zt(Vi,{availableParallelism:()=>U4,getArchitecture:()=>v1,getArchitectureName:()=>Wst,getArchitectureSet:()=>M4,getCaller:()=>Vst,major:()=>qst,openUrl:()=>Gst});function Yst(){if(process.platform==="darwin"||process.platform==="win32")return null;let t;try{t=oe.readFileSync(jst)}catch{}if(typeof t<"u"){if(t&&(t.includes("GLIBC")||t.includes("libc")))return"glibc";if(t&&t.includes("musl"))return"musl"}let r=(process.report?.getReport()??{}).sharedObjects??[],o=/\/(?:(ld-linux-|[^/]+-linux-gnu\/)|(libc.musl-|ld-musl-))/;return YI(r,a=>{let n=a.match(o);if(!n)return YI.skip;if(n[1])return"glibc";if(n[2])return"musl";throw new Error("Assertion failed: Expected the libc variant to have been detected")})??null}function v1(){return Ble=Ble??{os:process.platform,cpu:process.arch,libc:Yst()}}function Wst(t=v1()){return t.libc?`${t.os}-${t.cpu}-${t.libc}`:`${t.os}-${t.cpu}`}function M4(){let t=v1();return vle=vle??{os:[t.os],cpu:[t.cpu],libc:t.libc?[t.libc]:[]}}function Jst(t){let e=Kst.exec(t);if(!e)return null;let r=e[2]&&e[2].indexOf("native")===0,o=e[2]&&e[2].indexOf("eval")===0,a=zst.exec(e[2]);return o&&a!=null&&(e[2]=a[1],e[3]=a[2],e[4]=a[3]),{file:r?null:e[2],methodName:e[1]||"",arguments:r?[e[2]]:[],line:e[3]?+e[3]:null,column:e[4]?+e[4]:null}}function Vst(){let e=new Error().stack.split(` +`)[3];return Jst(e)}function U4(){return typeof vb.default.availableParallelism<"u"?vb.default.availableParallelism():Math.max(1,vb.default.cpus().length)}var vb,qst,Ile,Gst,jst,Ble,vle,Kst,zst,Pb=Et(()=>{Dt();vb=Ze(ve("os"));Db();Gl();qst=Number(process.versions.node.split(".")[0]),Ile=new Map([["darwin","open"],["linux","xdg-open"],["win32","explorer.exe"]]).get(process.platform),Gst=typeof Ile<"u"?async t=>{try{return await _4(Ile,[t],{cwd:z.cwd()}),!0}catch{return!1}}:void 0,jst="/usr/bin/ldd";Kst=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack||\/|[a-z]:\\|\\\\).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,zst=/\((\S*)(?::(\d+))(?::(\d+))\)/});function Y4(t,e,r,o,a){let n=f1(r);if(o.isArray||o.type==="ANY"&&Array.isArray(n))return Array.isArray(n)?n.map((u,A)=>H4(t,`${e}[${A}]`,u,o,a)):String(n).split(/,/).map(u=>H4(t,e,u,o,a));if(Array.isArray(n))throw new Error(`Non-array configuration settings "${e}" cannot be an array`);return H4(t,e,r,o,a)}function H4(t,e,r,o,a){let n=f1(r);switch(o.type){case"ANY":return YS(n);case"SHAPE":return eot(t,e,r,o,a);case"MAP":return tot(t,e,r,o,a)}if(n===null&&!o.isNullable&&o.default!==null)throw new Error(`Non-nullable configuration settings "${e}" cannot be set to null`);if(o.values?.includes(n))return n;let A=(()=>{if(o.type==="BOOLEAN"&&typeof n!="string")return zI(n);if(typeof n!="string")throw new Error(`Expected configuration setting "${e}" to be a string, got ${typeof n}`);let p=sS(n,{env:t.env});switch(o.type){case"ABSOLUTE_PATH":{let h=a,E=mM(r);return E&&E[0]!=="<"&&(h=z.dirname(E)),z.resolve(h,ue.toPortablePath(p))}case"LOCATOR_LOOSE":return xf(p,!1);case"NUMBER":return parseInt(p);case"LOCATOR":return xf(p);case"BOOLEAN":return zI(p);default:return p}})();if(o.values&&!o.values.includes(A))throw new Error(`Invalid value, expected one of ${o.values.join(", ")}`);return A}function eot(t,e,r,o,a){let n=f1(r);if(typeof n!="object"||Array.isArray(n))throw new st(`Object configuration settings "${e}" must be an object`);let u=W4(t,o,{ignoreArrays:!0});if(n===null)return u;for(let[A,p]of Object.entries(n)){let h=`${e}.${A}`;if(!o.properties[A])throw new st(`Unrecognized configuration settings found: ${e}.${A} - run "yarn config -v" to see the list of settings supported in Yarn`);u.set(A,Y4(t,h,p,o.properties[A],a))}return u}function tot(t,e,r,o,a){let n=f1(r),u=new Map;if(typeof n!="object"||Array.isArray(n))throw new st(`Map configuration settings "${e}" must be an object`);if(n===null)return u;for(let[A,p]of Object.entries(n)){let h=o.normalizeKeys?o.normalizeKeys(A):A,E=`${e}['${h}']`,I=o.valueDefinition;u.set(h,Y4(t,E,p,I,a))}return u}function W4(t,e,{ignoreArrays:r=!1}={}){switch(e.type){case"SHAPE":{if(e.isArray&&!r)return[];let o=new Map;for(let[a,n]of Object.entries(e.properties))o.set(a,W4(t,n));return o}case"MAP":return e.isArray&&!r?[]:new Map;case"ABSOLUTE_PATH":return e.default===null?null:t.projectCwd===null?Array.isArray(e.default)?e.default.map(o=>z.normalize(o)):z.isAbsolute(e.default)?z.normalize(e.default):e.isNullable?null:void 0:Array.isArray(e.default)?e.default.map(o=>z.resolve(t.projectCwd,o)):z.resolve(t.projectCwd,e.default);default:return e.default}}function bb(t,e,r){if(e.type==="SECRET"&&typeof t=="string"&&r.hideSecrets)return $st;if(e.type==="ABSOLUTE_PATH"&&typeof t=="string"&&r.getNativePaths)return ue.fromPortablePath(t);if(e.isArray&&Array.isArray(t)){let o=[];for(let a of t)o.push(bb(a,e,r));return o}if(e.type==="MAP"&&t instanceof Map){if(t.size===0)return;let o=new Map;for(let[a,n]of t.entries()){let u=bb(n,e.valueDefinition,r);typeof u<"u"&&o.set(a,u)}return o}if(e.type==="SHAPE"&&t instanceof Map){if(t.size===0)return;let o=new Map;for(let[a,n]of t.entries()){let u=e.properties[a],A=bb(n,u,r);typeof A<"u"&&o.set(a,A)}return o}return t}function rot(){let t={};for(let[e,r]of Object.entries(process.env))e=e.toLowerCase(),e.startsWith(xb)&&(e=(0,Dle.default)(e.slice(xb.length)),t[e]=r);return t}function G4(){let t=`${xb}rc_filename`;for(let[e,r]of Object.entries(process.env))if(e.toLowerCase()===t&&typeof r=="string")return r;return j4}async function Ple(t){try{return await oe.readFilePromise(t)}catch{return Buffer.of()}}async function not(t,e){return Buffer.compare(...await Promise.all([Ple(t),Ple(e)]))===0}async function iot(t,e){let[r,o]=await Promise.all([oe.statPromise(t),oe.statPromise(e)]);return r.dev===o.dev&&r.ino===o.ino}async function oot({configuration:t,selfPath:e}){let r=t.get("yarnPath");return t.get("ignorePath")||r===null||r===e||await sot(r,e)?null:r}var Dle,Nf,Sle,ble,xle,q4,Xst,P1,Zst,kE,xb,j4,$st,D1,kle,kb,Sb,sot,nA,Ke,S1=Et(()=>{Dt();Nl();Dle=Ze(sz()),Nf=Ze(rd());qt();Sle=Ze(Zz()),ble=ve("module"),xle=Ze(sd()),q4=ve("stream");ose();uE();cM();uM();AM();Tse();fM();vd();Use();KS();jl();ih();Bb();Gl();Pb();Qf();So();Xst=function(){if(!Nf.GITHUB_ACTIONS||!process.env.GITHUB_EVENT_PATH)return!1;let t=ue.toPortablePath(process.env.GITHUB_EVENT_PATH),e;try{e=oe.readJsonSync(t)}catch{return!1}return!(!("repository"in e)||!e.repository||(e.repository.private??!0))}(),P1=new Set(["@yarnpkg/plugin-constraints","@yarnpkg/plugin-exec","@yarnpkg/plugin-interactive-tools","@yarnpkg/plugin-stage","@yarnpkg/plugin-typescript","@yarnpkg/plugin-version","@yarnpkg/plugin-workspace-tools"]),Zst=new Set(["isTestEnv","injectNpmUser","injectNpmPassword","injectNpm2FaToken","zipDataEpilogue","cacheCheckpointOverride","cacheVersionOverride","lockfileVersionOverride","binFolder","version","flags","profile","gpg","ignoreNode","wrapOutput","home","confDir","registry","ignoreCwd"]),kE=/^(?!v)[a-z0-9._-]+$/i,xb="yarn_",j4=".yarnrc.yml",$st="********",D1=(E=>(E.ANY="ANY",E.BOOLEAN="BOOLEAN",E.ABSOLUTE_PATH="ABSOLUTE_PATH",E.LOCATOR="LOCATOR",E.LOCATOR_LOOSE="LOCATOR_LOOSE",E.NUMBER="NUMBER",E.STRING="STRING",E.SECRET="SECRET",E.SHAPE="SHAPE",E.MAP="MAP",E))(D1||{}),kle=yt,kb=(r=>(r.JUNCTIONS="junctions",r.SYMLINKS="symlinks",r))(kb||{}),Sb={lastUpdateCheck:{description:"Last timestamp we checked whether new Yarn versions were available",type:"STRING",default:null},yarnPath:{description:"Path to the local executable that must be used over the global one",type:"ABSOLUTE_PATH",default:null},ignorePath:{description:"If true, the local executable will be ignored when using the global one",type:"BOOLEAN",default:!1},globalFolder:{description:"Folder where all system-global files are stored",type:"ABSOLUTE_PATH",default:EM()},cacheFolder:{description:"Folder where the cache files must be written",type:"ABSOLUTE_PATH",default:"./.yarn/cache"},compressionLevel:{description:"Zip files compression level, from 0 to 9 or mixed (a variant of 9, which stores some files uncompressed, when compression doesn't yield good results)",type:"NUMBER",values:["mixed",0,1,2,3,4,5,6,7,8,9],default:0},virtualFolder:{description:"Folder where the virtual packages (cf doc) will be mapped on the disk (must be named __virtual__)",type:"ABSOLUTE_PATH",default:"./.yarn/__virtual__"},installStatePath:{description:"Path of the file where the install state will be persisted",type:"ABSOLUTE_PATH",default:"./.yarn/install-state.gz"},immutablePatterns:{description:"Array of glob patterns; files matching them won't be allowed to change during immutable installs",type:"STRING",default:[],isArray:!0},rcFilename:{description:"Name of the files where the configuration can be found",type:"STRING",default:G4()},enableGlobalCache:{description:"If true, the system-wide cache folder will be used regardless of `cache-folder`",type:"BOOLEAN",default:!0},cacheMigrationMode:{description:"Defines the conditions under which Yarn upgrades should cause the cache archives to be regenerated.",type:"STRING",values:["always","match-spec","required-only"],default:"always"},enableColors:{description:"If true, the CLI is allowed to use colors in its output",type:"BOOLEAN",default:lS,defaultText:""},enableHyperlinks:{description:"If true, the CLI is allowed to use hyperlinks in its output",type:"BOOLEAN",default:SN,defaultText:""},enableInlineBuilds:{description:"If true, the CLI will print the build output on the command line",type:"BOOLEAN",default:Nf.isCI,defaultText:""},enableMessageNames:{description:"If true, the CLI will prefix most messages with codes suitable for search engines",type:"BOOLEAN",default:!0},enableProgressBars:{description:"If true, the CLI is allowed to show a progress bar for long-running events",type:"BOOLEAN",default:!Nf.isCI,defaultText:""},enableTimers:{description:"If true, the CLI is allowed to print the time spent executing commands",type:"BOOLEAN",default:!0},enableTips:{description:"If true, installs will print a helpful message every day of the week",type:"BOOLEAN",default:!Nf.isCI,defaultText:""},preferInteractive:{description:"If true, the CLI will automatically use the interactive mode when called from a TTY",type:"BOOLEAN",default:!1},preferTruncatedLines:{description:"If true, the CLI will truncate lines that would go beyond the size of the terminal",type:"BOOLEAN",default:!1},progressBarStyle:{description:"Which style of progress bar should be used (only when progress bars are enabled)",type:"STRING",default:void 0,defaultText:""},defaultLanguageName:{description:"Default language mode that should be used when a package doesn't offer any insight",type:"STRING",default:"node"},defaultProtocol:{description:"Default resolution protocol used when resolving pure semver and tag ranges",type:"STRING",default:"npm:"},enableTransparentWorkspaces:{description:"If false, Yarn won't automatically resolve workspace dependencies unless they use the `workspace:` protocol",type:"BOOLEAN",default:!0},supportedArchitectures:{description:"Architectures that Yarn will fetch and inject into the resolver",type:"SHAPE",properties:{os:{description:"Array of supported process.platform strings, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]},cpu:{description:"Array of supported process.arch strings, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]},libc:{description:"Array of supported libc libraries, or null to target them all",type:"STRING",isArray:!0,isNullable:!0,default:["current"]}}},enableMirror:{description:"If true, the downloaded packages will be retrieved and stored in both the local and global folders",type:"BOOLEAN",default:!0},enableNetwork:{description:"If false, Yarn will refuse to use the network if required to",type:"BOOLEAN",default:!0},enableOfflineMode:{description:"If true, Yarn will attempt to retrieve files and metadata from the global cache rather than the network",type:"BOOLEAN",default:!1},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:"STRING",default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:"STRING",default:null},unsafeHttpWhitelist:{description:"List of the hostnames for which http queries are allowed (glob patterns are supported)",type:"STRING",default:[],isArray:!0},httpTimeout:{description:"Timeout of each http request in milliseconds",type:"NUMBER",default:6e4},httpRetry:{description:"Retry times on http failure",type:"NUMBER",default:3},networkConcurrency:{description:"Maximal number of concurrent requests",type:"NUMBER",default:50},taskPoolConcurrency:{description:"Maximal amount of concurrent heavy task processing",type:"NUMBER",default:U4()},taskPoolMode:{description:"Execution strategy for heavy tasks",type:"STRING",values:["async","workers"],default:"workers"},networkSettings:{description:"Network settings per hostname (glob patterns are supported)",type:"MAP",valueDefinition:{description:"",type:"SHAPE",properties:{httpsCaFilePath:{description:"Path to file containing one or multiple Certificate Authority signing certificates",type:"ABSOLUTE_PATH",default:null},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:"BOOLEAN",default:null},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:"STRING",default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:"STRING",default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:"ABSOLUTE_PATH",default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:"ABSOLUTE_PATH",default:null}}}},httpsCaFilePath:{description:"A path to a file containing one or multiple Certificate Authority signing certificates",type:"ABSOLUTE_PATH",default:null},httpsKeyFilePath:{description:"Path to file containing private key in PEM format",type:"ABSOLUTE_PATH",default:null},httpsCertFilePath:{description:"Path to file containing certificate chain in PEM format",type:"ABSOLUTE_PATH",default:null},enableStrictSsl:{description:"If false, SSL certificate errors will be ignored",type:"BOOLEAN",default:!0},logFilters:{description:"Overrides for log levels",type:"SHAPE",isArray:!0,concatenateValues:!0,properties:{code:{description:"Code of the messages covered by this override",type:"STRING",default:void 0},text:{description:"Code of the texts covered by this override",type:"STRING",default:void 0},pattern:{description:"Code of the patterns covered by this override",type:"STRING",default:void 0},level:{description:"Log level override, set to null to remove override",type:"STRING",values:Object.values(uS),isNullable:!0,default:void 0}}},enableTelemetry:{description:"If true, telemetry will be periodically sent, following the rules in https://yarnpkg.com/advanced/telemetry",type:"BOOLEAN",default:!0},telemetryInterval:{description:"Minimal amount of time between two telemetry uploads, in days",type:"NUMBER",default:7},telemetryUserId:{description:"If you desire to tell us which project you are, you can set this field. Completely optional and opt-in.",type:"STRING",default:null},enableHardenedMode:{description:"If true, automatically enable --check-resolutions --refresh-lockfile on installs",type:"BOOLEAN",default:Nf.isPR&&Xst,defaultText:""},enableScripts:{description:"If true, packages are allowed to have install scripts by default",type:"BOOLEAN",default:!0},enableStrictSettings:{description:"If true, unknown settings will cause Yarn to abort",type:"BOOLEAN",default:!0},enableImmutableCache:{description:"If true, the cache is reputed immutable and actions that would modify it will throw",type:"BOOLEAN",default:!1},checksumBehavior:{description:"Enumeration defining what to do when a checksum doesn't match expectations",type:"STRING",default:"throw"},injectEnvironmentFiles:{description:"List of all the environment files that Yarn should inject inside the process when it starts",type:"ABSOLUTE_PATH",default:[".env.yarn?"],isArray:!0},packageExtensions:{description:"Map of package corrections to apply on the dependency tree",type:"MAP",valueDefinition:{description:"The extension that will be applied to any package whose version matches the specified range",type:"SHAPE",properties:{dependencies:{description:"The set of dependencies that must be made available to the current package in order for it to work properly",type:"MAP",valueDefinition:{description:"A range",type:"STRING"}},peerDependencies:{description:"Inherited dependencies - the consumer of the package will be tasked to provide them",type:"MAP",valueDefinition:{description:"A semver range",type:"STRING"}},peerDependenciesMeta:{description:"Extra information related to the dependencies listed in the peerDependencies field",type:"MAP",valueDefinition:{description:"The peerDependency meta",type:"SHAPE",properties:{optional:{description:"If true, the selected peer dependency will be marked as optional by the package manager and the consumer omitting it won't be reported as an error",type:"BOOLEAN",default:!1}}}}}}}};sot=process.platform==="win32"?not:iot;nA=class{constructor(e){this.isCI=Nf.isCI;this.projectCwd=null;this.plugins=new Map;this.settings=new Map;this.values=new Map;this.sources=new Map;this.invalid=new Map;this.env={};this.limits=new Map;this.packageExtensions=null;this.startingCwd=e}static create(e,r,o){let a=new nA(e);typeof r<"u"&&!(r instanceof Map)&&(a.projectCwd=r),a.importSettings(Sb);let n=typeof o<"u"?o:r instanceof Map?r:new Map;for(let[u,A]of n)a.activatePlugin(u,A);return a}static async find(e,r,{strict:o=!0,usePathCheck:a=null,useRc:n=!0}={}){let u=rot();delete u.rcFilename;let A=new nA(e),p=await nA.findRcFiles(e),h=await nA.findFolderRcFile(mE());h&&(p.find(we=>we.path===h.path)||p.unshift(h));let E=Mse(p.map(ce=>[ce.path,ce.data])),I=Bt.dot,v=new Set(Object.keys(Sb)),x=({yarnPath:ce,ignorePath:we,injectEnvironmentFiles:de})=>({yarnPath:ce,ignorePath:we,injectEnvironmentFiles:de}),C=({yarnPath:ce,ignorePath:we,injectEnvironmentFiles:de,...Be})=>{let Ee={};for(let[g,me]of Object.entries(Be))v.has(g)&&(Ee[g]=me);return Ee},F=({yarnPath:ce,ignorePath:we,...de})=>{let Be={};for(let[Ee,g]of Object.entries(de))v.has(Ee)||(Be[Ee]=g);return Be};if(A.importSettings(x(Sb)),A.useWithSource("",x(u),e,{strict:!1}),E){let[ce,we]=E;A.useWithSource(ce,x(we),I,{strict:!1})}if(a){if(await oot({configuration:A,selfPath:a})!==null)return A;A.useWithSource("",{ignorePath:!0},e,{strict:!1,overwrite:!0})}let N=await nA.findProjectCwd(e);A.startingCwd=e,A.projectCwd=N;let U=Object.assign(Object.create(null),process.env);A.env=U;let J=await Promise.all(A.get("injectEnvironmentFiles").map(async ce=>{let we=ce.endsWith("?")?await oe.readFilePromise(ce.slice(0,-1),"utf8").catch(()=>""):await oe.readFilePromise(ce,"utf8");return(0,Sle.parse)(we)}));for(let ce of J)for(let[we,de]of Object.entries(ce))A.env[we]=sS(de,{env:U});if(A.importSettings(C(Sb)),A.useWithSource("",C(u),e,{strict:o}),E){let[ce,we]=E;A.useWithSource(ce,C(we),I,{strict:o})}let te=ce=>"default"in ce?ce.default:ce,ae=new Map([["@@core",sse]]);if(r!==null)for(let ce of r.plugins.keys())ae.set(ce,te(r.modules.get(ce)));for(let[ce,we]of ae)A.activatePlugin(ce,we);let le=new Map([]);if(r!==null){let ce=new Map;for(let Be of ble.builtinModules)ce.set(Be,()=>Pf(Be));for(let[Be,Ee]of r.modules)ce.set(Be,()=>Ee);let we=new Set,de=async(Be,Ee)=>{let{factory:g,name:me}=Pf(Be);if(!g||we.has(me))return;let Ce=new Map(ce),Ae=Z=>{if(Ce.has(Z))return Ce.get(Z)();throw new st(`This plugin cannot access the package referenced via ${Z} which is neither a builtin, nor an exposed entry`)},ne=await Yy(async()=>te(await g(Ae)),Z=>`${Z} (when initializing ${me}, defined in ${Ee})`);ce.set(me,()=>ne),we.add(me),le.set(me,ne)};if(u.plugins)for(let Be of u.plugins.split(";")){let Ee=z.resolve(e,ue.toPortablePath(Be));await de(Ee,"")}for(let{path:Be,cwd:Ee,data:g}of p)if(!!n&&!!Array.isArray(g.plugins))for(let me of g.plugins){let Ce=typeof me!="string"?me.path:me,Ae=me?.spec??"",ne=me?.checksum??"";if(P1.has(Ae))continue;let Z=z.resolve(Ee,ue.toPortablePath(Ce));if(!await oe.existsPromise(Z)){if(!Ae){let ht=Ut(A,z.basename(Z,".cjs"),yt.NAME),H=Ut(A,".gitignore",yt.NAME),rt=Ut(A,A.values.get("rcFilename"),yt.NAME),Te=Ut(A,"https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored",yt.URL);throw new st(`Missing source for the ${ht} plugin - please try to remove the plugin from ${rt} then reinstall it manually. This error usually occurs because ${H} is incorrect, check ${Te} to make sure your plugin folder isn't gitignored.`)}if(!Ae.match(/^https?:/)){let ht=Ut(A,z.basename(Z,".cjs"),yt.NAME),H=Ut(A,A.values.get("rcFilename"),yt.NAME);throw new st(`Failed to recognize the source for the ${ht} plugin - please try to delete the plugin from ${H} then reinstall it manually.`)}let xe=await N4(Ae,{configuration:A}),Le=zi(xe);if(ne&&ne!==Le){let ht=Ut(A,z.basename(Z,".cjs"),yt.NAME),H=Ut(A,A.values.get("rcFilename"),yt.NAME),rt=Ut(A,`yarn plugin import ${Ae}`,yt.CODE);throw new st(`Failed to fetch the ${ht} plugin from its remote location: its checksum seems to have changed. If this is expected, please remove the plugin from ${H} then run ${rt} to reimport it.`)}await oe.mkdirPromise(z.dirname(Z),{recursive:!0}),await oe.writeFilePromise(Z,xe)}await de(Z,Be)}}for(let[ce,we]of le)A.activatePlugin(ce,we);if(A.useWithSource("",F(u),e,{strict:o}),E){let[ce,we]=E;A.useWithSource(ce,F(we),I,{strict:o})}return A.get("enableGlobalCache")&&(A.values.set("cacheFolder",`${A.get("globalFolder")}/cache`),A.sources.set("cacheFolder","")),A}static async findRcFiles(e){let r=G4(),o=[],a=e,n=null;for(;a!==n;){n=a;let u=z.join(n,r);if(oe.existsSync(u)){let A=await oe.readFilePromise(u,"utf8"),p;try{p=Ki(A)}catch{let E="";throw A.match(/^\s+(?!-)[^:]+\s+\S+/m)&&(E=" (in particular, make sure you list the colons after each key name)"),new st(`Parse error when loading ${u}; please check it's proper Yaml${E}`)}o.unshift({path:u,cwd:n,data:p})}a=z.dirname(n)}return o}static async findFolderRcFile(e){let r=z.join(e,dr.rc),o;try{o=await oe.readFilePromise(r,"utf8")}catch(n){if(n.code==="ENOENT")return null;throw n}let a=Ki(o);return{path:r,cwd:e,data:a}}static async findProjectCwd(e){let r=null,o=e,a=null;for(;o!==a;){if(a=o,oe.existsSync(z.join(a,dr.lockfile)))return a;oe.existsSync(z.join(a,dr.manifest))&&(r=a),o=z.dirname(a)}return r}static async updateConfiguration(e,r,o={}){let a=G4(),n=z.join(e,a),u=oe.existsSync(n)?Ki(await oe.readFilePromise(n,"utf8")):{},A=!1,p;if(typeof r=="function"){try{p=r(u)}catch{p=r({})}if(p===u)return!1}else{p=u;for(let h of Object.keys(r)){let E=u[h],I=r[h],v;if(typeof I=="function")try{v=I(E)}catch{v=I(void 0)}else v=I;E!==v&&(v===nA.deleteProperty?delete p[h]:p[h]=v,A=!0)}if(!A)return!1}return await oe.changeFilePromise(n,Ba(p),{automaticNewlines:!0}),!0}static async addPlugin(e,r){r.length!==0&&await nA.updateConfiguration(e,o=>{let a=o.plugins??[];if(a.length===0)return{...o,plugins:r};let n=[],u=[...r];for(let A of a){let p=typeof A!="string"?A.path:A,h=u.find(E=>E.path===p);h?(n.push(h),u=u.filter(E=>E!==h)):n.push(A)}return n.push(...u),{...o,plugins:n}})}static async updateHomeConfiguration(e){let r=mE();return await nA.updateConfiguration(r,e)}activatePlugin(e,r){this.plugins.set(e,r),typeof r.configuration<"u"&&this.importSettings(r.configuration)}importSettings(e){for(let[r,o]of Object.entries(e))if(o!=null){if(this.settings.has(r))throw new Error(`Cannot redefine settings "${r}"`);this.settings.set(r,o),this.values.set(r,W4(this,o))}}useWithSource(e,r,o,a){try{this.use(e,r,o,a)}catch(n){throw n.message+=` (in ${Ut(this,e,yt.PATH)})`,n}}use(e,r,o,{strict:a=!0,overwrite:n=!1}={}){a=a&&this.get("enableStrictSettings");for(let u of["enableStrictSettings",...Object.keys(r)]){let A=r[u],p=mM(A);if(p&&(e=p),typeof A>"u"||u==="plugins"||e===""&&Zst.has(u))continue;if(u==="rcFilename")throw new st(`The rcFilename settings can only be set via ${`${xb}RC_FILENAME`.toUpperCase()}, not via a rc file`);let h=this.settings.get(u);if(!h){let I=mE(),v=e[0]!=="<"?z.dirname(e):null;if(a&&!(v!==null?I===v:!1))throw new st(`Unrecognized or legacy configuration settings found: ${u} - run "yarn config -v" to see the list of settings supported in Yarn`);this.invalid.set(u,e);continue}if(this.sources.has(u)&&!(n||h.type==="MAP"||h.isArray&&h.concatenateValues))continue;let E;try{E=Y4(this,u,A,h,o)}catch(I){throw I.message+=` in ${Ut(this,e,yt.PATH)}`,I}if(u==="enableStrictSettings"&&e!==""){a=E;continue}if(h.type==="MAP"){let I=this.values.get(u);this.values.set(u,new Map(n?[...I,...E]:[...E,...I])),this.sources.set(u,`${this.sources.get(u)}, ${e}`)}else if(h.isArray&&h.concatenateValues){let I=this.values.get(u);this.values.set(u,n?[...I,...E]:[...E,...I]),this.sources.set(u,`${this.sources.get(u)}, ${e}`)}else this.values.set(u,E),this.sources.set(u,e)}}get(e){if(!this.values.has(e))throw new Error(`Invalid configuration key "${e}"`);return this.values.get(e)}getSpecial(e,{hideSecrets:r=!1,getNativePaths:o=!1}){let a=this.get(e),n=this.settings.get(e);if(typeof n>"u")throw new st(`Couldn't find a configuration settings named "${e}"`);return bb(a,n,{hideSecrets:r,getNativePaths:o})}getSubprocessStreams(e,{header:r,prefix:o,report:a}){let n,u,A=oe.createWriteStream(e);if(this.get("enableInlineBuilds")){let p=a.createStreamReporter(`${o} ${Ut(this,"STDOUT","green")}`),h=a.createStreamReporter(`${o} ${Ut(this,"STDERR","red")}`);n=new q4.PassThrough,n.pipe(p),n.pipe(A),u=new q4.PassThrough,u.pipe(h),u.pipe(A)}else n=A,u=A,typeof r<"u"&&n.write(`${r} +`);return{stdout:n,stderr:u}}makeResolver(){let e=[];for(let r of this.plugins.values())for(let o of r.resolvers||[])e.push(new o);return new Pd([new u1,new Xn,...e])}makeFetcher(){let e=[];for(let r of this.plugins.values())for(let o of r.fetchers||[])e.push(new o);return new fE([new pE,new gE,...e])}getLinkers(){let e=[];for(let r of this.plugins.values())for(let o of r.linkers||[])e.push(new o);return e}getSupportedArchitectures(){let e=v1(),r=this.get("supportedArchitectures"),o=r.get("os");o!==null&&(o=o.map(u=>u==="current"?e.os:u));let a=r.get("cpu");a!==null&&(a=a.map(u=>u==="current"?e.cpu:u));let n=r.get("libc");return n!==null&&(n=ol(n,u=>u==="current"?e.libc??ol.skip:u)),{os:o,cpu:a,libc:n}}async getPackageExtensions(){if(this.packageExtensions!==null)return this.packageExtensions;this.packageExtensions=new Map;let e=this.packageExtensions,r=(o,a,{userProvided:n=!1}={})=>{if(!xa(o.range))throw new Error("Only semver ranges are allowed as keys for the packageExtensions setting");let u=new Ot;u.load(a,{yamlCompatibilityMode:!0});let A=WI(e,o.identHash),p=[];A.push([o.range,p]);let h={status:"inactive",userProvided:n,parentDescriptor:o};for(let E of u.dependencies.values())p.push({...h,type:"Dependency",descriptor:E});for(let E of u.peerDependencies.values())p.push({...h,type:"PeerDependency",descriptor:E});for(let[E,I]of u.peerDependenciesMeta)for(let[v,x]of Object.entries(I))p.push({...h,type:"PeerDependencyMeta",selector:E,key:v,value:x})};await this.triggerHook(o=>o.registerPackageExtensions,this,r);for(let[o,a]of this.get("packageExtensions"))r(sh(o,!0),iS(a),{userProvided:!0});return e}normalizeLocator(e){return xa(e.reference)?Fs(e,`${this.get("defaultProtocol")}${e.reference}`):kE.test(e.reference)?Fs(e,`${this.get("defaultProtocol")}${e.reference}`):e}normalizeDependency(e){return xa(e.range)?In(e,`${this.get("defaultProtocol")}${e.range}`):kE.test(e.range)?In(e,`${this.get("defaultProtocol")}${e.range}`):e}normalizeDependencyMap(e){return new Map([...e].map(([r,o])=>[r,this.normalizeDependency(o)]))}normalizePackage(e,{packageExtensions:r}){let o=e1(e),a=r.get(e.identHash);if(typeof a<"u"){let u=e.version;if(u!==null){for(let[A,p]of a)if(!!kf(u,A))for(let h of p)switch(h.status==="inactive"&&(h.status="redundant"),h.type){case"Dependency":typeof o.dependencies.get(h.descriptor.identHash)>"u"&&(h.status="active",o.dependencies.set(h.descriptor.identHash,this.normalizeDependency(h.descriptor)));break;case"PeerDependency":typeof o.peerDependencies.get(h.descriptor.identHash)>"u"&&(h.status="active",o.peerDependencies.set(h.descriptor.identHash,h.descriptor));break;case"PeerDependencyMeta":{let E=o.peerDependenciesMeta.get(h.selector);(typeof E>"u"||!Object.hasOwn(E,h.key)||E[h.key]!==h.value)&&(h.status="active",al(o.peerDependenciesMeta,h.selector,()=>({}))[h.key]=h.value)}break;default:CN(h)}}}let n=u=>u.scope?`${u.scope}__${u.name}`:`${u.name}`;for(let u of o.peerDependenciesMeta.keys()){let A=Zo(u);o.peerDependencies.has(A.identHash)||o.peerDependencies.set(A.identHash,In(A,"*"))}for(let u of o.peerDependencies.values()){if(u.scope==="types")continue;let A=n(u),p=tA("types",A),h=rn(p);o.peerDependencies.has(p.identHash)||o.peerDependenciesMeta.has(h)||(o.peerDependencies.set(p.identHash,In(p,"*")),o.peerDependenciesMeta.set(h,{optional:!0}))}return o.dependencies=new Map(Rs(o.dependencies,([,u])=>Sa(u))),o.peerDependencies=new Map(Rs(o.peerDependencies,([,u])=>Sa(u))),o}getLimit(e){return al(this.limits,e,()=>(0,xle.default)(this.get(e)))}async triggerHook(e,...r){for(let o of this.plugins.values()){let a=o.hooks;if(!a)continue;let n=e(a);!n||await n(...r)}}async triggerMultipleHooks(e,r){for(let o of r)await this.triggerHook(e,...o)}async reduceHook(e,r,...o){let a=r;for(let n of this.plugins.values()){let u=n.hooks;if(!u)continue;let A=e(u);!A||(a=await A(a,...o))}return a}async firstHook(e,...r){for(let o of this.plugins.values()){let a=o.hooks;if(!a)continue;let n=e(a);if(!n)continue;let u=await n(...r);if(typeof u<"u")return u}return null}},Ke=nA;Ke.deleteProperty=Symbol(),Ke.telemetry=null});var Ur={};zt(Ur,{EndStrategy:()=>V4,ExecError:()=>Qb,PipeError:()=>b1,execvp:()=>_4,pipevp:()=>Yc});function bd(t){return t!==null&&typeof t.fd=="number"}function K4(){}function z4(){for(let t of xd)t.kill()}async function Yc(t,e,{cwd:r,env:o=process.env,strict:a=!1,stdin:n=null,stdout:u,stderr:A,end:p=2}){let h=["pipe","pipe","pipe"];n===null?h[0]="ignore":bd(n)&&(h[0]=n),bd(u)&&(h[1]=u),bd(A)&&(h[2]=A);let E=(0,J4.default)(t,e,{cwd:ue.fromPortablePath(r),env:{...o,PWD:ue.fromPortablePath(r)},stdio:h});xd.add(E),xd.size===1&&(process.on("SIGINT",K4),process.on("SIGTERM",z4)),!bd(n)&&n!==null&&n.pipe(E.stdin),bd(u)||E.stdout.pipe(u,{end:!1}),bd(A)||E.stderr.pipe(A,{end:!1});let I=()=>{for(let v of new Set([u,A]))bd(v)||v.end()};return new Promise((v,x)=>{E.on("error",C=>{xd.delete(E),xd.size===0&&(process.off("SIGINT",K4),process.off("SIGTERM",z4)),(p===2||p===1)&&I(),x(C)}),E.on("close",(C,F)=>{xd.delete(E),xd.size===0&&(process.off("SIGINT",K4),process.off("SIGTERM",z4)),(p===2||p===1&&C!==0)&&I(),C===0||!a?v({code:X4(C,F)}):x(new b1({fileName:t,code:C,signal:F}))})})}async function _4(t,e,{cwd:r,env:o=process.env,encoding:a="utf8",strict:n=!1}){let u=["ignore","pipe","pipe"],A=[],p=[],h=ue.fromPortablePath(r);typeof o.PWD<"u"&&(o={...o,PWD:h});let E=(0,J4.default)(t,e,{cwd:h,env:o,stdio:u});return E.stdout.on("data",I=>{A.push(I)}),E.stderr.on("data",I=>{p.push(I)}),await new Promise((I,v)=>{E.on("error",x=>{let C=Ke.create(r),F=Ut(C,t,yt.PATH);v(new Vt(1,`Process ${F} failed to spawn`,N=>{N.reportError(1,` ${Xu(C,{label:"Thrown Error",value:Hc(yt.NO_HINT,x.message)})}`)}))}),E.on("close",(x,C)=>{let F=a==="buffer"?Buffer.concat(A):Buffer.concat(A).toString(a),N=a==="buffer"?Buffer.concat(p):Buffer.concat(p).toString(a);x===0||!n?I({code:X4(x,C),stdout:F,stderr:N}):v(new Qb({fileName:t,code:x,signal:C,stdout:F,stderr:N}))})})}function X4(t,e){let r=aot.get(e);return typeof r<"u"?128+r:t??1}function lot(t,e,{configuration:r,report:o}){o.reportError(1,` ${Xu(r,t!==null?{label:"Exit Code",value:Hc(yt.NUMBER,t)}:{label:"Exit Signal",value:Hc(yt.CODE,e)})}`)}var J4,V4,b1,Qb,xd,aot,Db=Et(()=>{Dt();J4=Ze(oT());S1();Wl();jl();V4=(o=>(o[o.Never=0]="Never",o[o.ErrorCode=1]="ErrorCode",o[o.Always=2]="Always",o))(V4||{}),b1=class extends Vt{constructor({fileName:r,code:o,signal:a}){let n=Ke.create(z.cwd()),u=Ut(n,r,yt.PATH);super(1,`Child ${u} reported an error`,A=>{lot(o,a,{configuration:n,report:A})});this.code=X4(o,a)}},Qb=class extends b1{constructor({fileName:r,code:o,signal:a,stdout:n,stderr:u}){super({fileName:r,code:o,signal:a});this.stdout=n,this.stderr=u}};xd=new Set;aot=new Map([["SIGINT",2],["SIGQUIT",3],["SIGKILL",9],["SIGTERM",15]])});function Rle(t){Qle=t}function x1(){return typeof Z4>"u"&&(Z4=Qle()),Z4}var Z4,Qle,$4=Et(()=>{Qle=()=>{throw new Error("Assertion failed: No libzip instance is available, and no factory was configured")}});var Fle=_((Rb,tU)=>{var cot=Object.assign({},ve("fs")),eU=function(){var t=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(t=t||__filename),function(e){e=e||{};var r=typeof e<"u"?e:{},o,a;r.ready=new Promise(function(We,tt){o=We,a=tt});var n={},u;for(u in r)r.hasOwnProperty(u)&&(n[u]=r[u]);var A=[],p="./this.program",h=function(We,tt){throw tt},E=!1,I=!0,v="";function x(We){return r.locateFile?r.locateFile(We,v):v+We}var C,F,N,U;I&&(E?v=ve("path").dirname(v)+"/":v=__dirname+"/",C=function(tt,It){var or=ii(tt);return or?It?or:or.toString():(N||(N=cot),U||(U=ve("path")),tt=U.normalize(tt),N.readFileSync(tt,It?null:"utf8"))},F=function(tt){var It=C(tt,!0);return It.buffer||(It=new Uint8Array(It)),me(It.buffer),It},process.argv.length>1&&(p=process.argv[1].replace(/\\/g,"/")),A=process.argv.slice(2),h=function(We){process.exit(We)},r.inspect=function(){return"[Emscripten Module object]"});var J=r.print||console.log.bind(console),te=r.printErr||console.warn.bind(console);for(u in n)n.hasOwnProperty(u)&&(r[u]=n[u]);n=null,r.arguments&&(A=r.arguments),r.thisProgram&&(p=r.thisProgram),r.quit&&(h=r.quit);var ae=0,le=function(We){ae=We},ce;r.wasmBinary&&(ce=r.wasmBinary);var we=r.noExitRuntime||!0;typeof WebAssembly!="object"&&Ti("no native wasm support detected");function de(We,tt,It){switch(tt=tt||"i8",tt.charAt(tt.length-1)==="*"&&(tt="i32"),tt){case"i1":return Ye[We>>0];case"i8":return Ye[We>>0];case"i16":return up((We>>1)*2);case"i32":return Us((We>>2)*4);case"i64":return Us((We>>2)*4);case"float":return uu((We>>2)*4);case"double":return cp((We>>3)*8);default:Ti("invalid type for getValue: "+tt)}return null}var Be,Ee=!1,g;function me(We,tt){We||Ti("Assertion failed: "+tt)}function Ce(We){var tt=r["_"+We];return me(tt,"Cannot call unknown function "+We+", make sure it is exported"),tt}function Ae(We,tt,It,or,ee){var ye={string:function(ts){var bi=0;if(ts!=null&&ts!==0){var Ho=(ts.length<<2)+1;bi=Un(Ho),ht(ts,bi,Ho)}return bi},array:function(ts){var bi=Un(ts.length);return Te(ts,bi),bi}};function Ne(ts){return tt==="string"?xe(ts):tt==="boolean"?Boolean(ts):ts}var ft=Ce(We),pt=[],Lt=0;if(or)for(var rr=0;rr=It)&&Se[or];)++or;return Z.decode(Se.subarray(We,or))}function Le(We,tt,It,or){if(!(or>0))return 0;for(var ee=It,ye=It+or-1,Ne=0;Ne=55296&&ft<=57343){var pt=We.charCodeAt(++Ne);ft=65536+((ft&1023)<<10)|pt&1023}if(ft<=127){if(It>=ye)break;tt[It++]=ft}else if(ft<=2047){if(It+1>=ye)break;tt[It++]=192|ft>>6,tt[It++]=128|ft&63}else if(ft<=65535){if(It+2>=ye)break;tt[It++]=224|ft>>12,tt[It++]=128|ft>>6&63,tt[It++]=128|ft&63}else{if(It+3>=ye)break;tt[It++]=240|ft>>18,tt[It++]=128|ft>>12&63,tt[It++]=128|ft>>6&63,tt[It++]=128|ft&63}}return tt[It]=0,It-ee}function ht(We,tt,It){return Le(We,Se,tt,It)}function H(We){for(var tt=0,It=0;It=55296&&or<=57343&&(or=65536+((or&1023)<<10)|We.charCodeAt(++It)&1023),or<=127?++tt:or<=2047?tt+=2:or<=65535?tt+=3:tt+=4}return tt}function rt(We){var tt=H(We)+1,It=Ni(tt);return It&&Le(We,Ye,It,tt),It}function Te(We,tt){Ye.set(We,tt)}function Re(We,tt){return We%tt>0&&(We+=tt-We%tt),We}var ke,Ye,Se,et,Ue,b,w,S,y,R;function V(We){ke=We,r.HEAP_DATA_VIEW=R=new DataView(We),r.HEAP8=Ye=new Int8Array(We),r.HEAP16=et=new Int16Array(We),r.HEAP32=b=new Int32Array(We),r.HEAPU8=Se=new Uint8Array(We),r.HEAPU16=Ue=new Uint16Array(We),r.HEAPU32=w=new Uint32Array(We),r.HEAPF32=S=new Float32Array(We),r.HEAPF64=y=new Float64Array(We)}var X=r.INITIAL_MEMORY||16777216,$,ie=[],be=[],Fe=[],at=!1;function dt(){if(r.preRun)for(typeof r.preRun=="function"&&(r.preRun=[r.preRun]);r.preRun.length;)bt(r.preRun.shift());so(ie)}function Gt(){at=!0,so(be)}function tr(){if(r.postRun)for(typeof r.postRun=="function"&&(r.postRun=[r.postRun]);r.postRun.length;)kr(r.postRun.shift());so(Fe)}function bt(We){ie.unshift(We)}function ln(We){be.unshift(We)}function kr(We){Fe.unshift(We)}var mr=0,br=null,Kr=null;function Kn(We){mr++,r.monitorRunDependencies&&r.monitorRunDependencies(mr)}function Os(We){if(mr--,r.monitorRunDependencies&&r.monitorRunDependencies(mr),mr==0&&(br!==null&&(clearInterval(br),br=null),Kr)){var tt=Kr;Kr=null,tt()}}r.preloadedImages={},r.preloadedAudios={};function Ti(We){r.onAbort&&r.onAbort(We),We+="",te(We),Ee=!0,g=1,We="abort("+We+"). Build with -s ASSERTIONS=1 for more info.";var tt=new WebAssembly.RuntimeError(We);throw a(tt),tt}var gs="data:application/octet-stream;base64,";function no(We){return We.startsWith(gs)}var Si="data:application/octet-stream;base64,AGFzbQEAAAAB/wEkYAN/f38Bf2ABfwF/YAJ/fwF/YAF/AGAEf39/fwF/YAN/f38AYAV/f39/fwF/YAJ/fwBgBH9/f38AYAABf2AFf39/fn8BfmAEf35/fwF/YAR/f35/AX5gAn9+AX9gA398fwBgA39/fgF/YAF/AX5gBn9/f39/fwF/YAN/fn8Bf2AEf39/fwF+YAV/f35/fwF/YAR/f35/AX9gA39/fgF+YAJ/fgBgAn9/AX5gBX9/f39/AGADf35/AX5gBX5+f35/AX5gA39/fwF+YAZ/fH9/f38Bf2AAAGAHf35/f39+fwF/YAV/fn9/fwF/YAV/f39/fwF+YAJ+fwF/YAJ/fAACJQYBYQFhAAMBYQFiAAEBYQFjAAABYQFkAAEBYQFlAAIBYQFmAAED5wHlAQMAAwEDAwEHDAgDFgcNEgEDDRcFAQ8DEAUQAwIBAhgECxkEAQMBBQsFAwMDARACBAMAAggLBwEAAwADGgQDGwYGABwBBgMTFBEHBwcVCx4ABAgHBAICAgAfAQICAgIGFSAAIQAiAAIBBgIHAg0LEw0FAQUCACMDAQAUAAAGBQECBQUDCwsSAgEDBQIHAQEICAACCQQEAQABCAEBCQoBAwkBAQEBBgEGBgYABAIEBAQGEQQEAAARAAEDCQEJAQAJCQkBAQECCgoAAAMPAQEBAwACAgICBQIABwAKBgwHAAADAgICBQEEBQFwAT8/BQcBAYACgIACBgkBfwFBgInBAgsH+gEzAWcCAAFoAFQBaQDqAQFqALsBAWsAwQEBbACpAQFtAKgBAW4ApwEBbwClAQFwAKMBAXEAoAEBcgCbAQFzAMABAXQAugEBdQC5AQF2AEsBdwDiAQF4AMgBAXkAxwEBegDCAQFBAMkBAUIAuAEBQwAGAUQACQFFAKYBAUYAtwEBRwC2AQFIALUBAUkAtAEBSgCzAQFLALIBAUwAsQEBTQCwAQFOAK8BAU8AvAEBUACuAQFRAK0BAVIArAEBUwAaAVQACwFVAKQBAVYAMgFXAQABWACrAQFZAKoBAVoAxgEBXwDFAQEkAMQBAmFhAL8BAmJhAL4BAmNhAL0BCXgBAEEBCz6iAeMBjgGQAVpbjwFYnwGdAVeeAV1coQFZVlWcAZoBmQGYAZcBlgGVAZQBkwGSAZEB6QHoAecB5gHlAeQB4QHfAeAB3gHdAdwB2gHbAYUB2QHYAdcB1gHVAdQB0wHSAdEB0AHPAc4BzQHMAcsBygE4wwEK1N8G5QHMDAEHfwJAIABFDQAgAEEIayIDIABBBGsoAgAiAUF4cSIAaiEFAkAgAUEBcQ0AIAFBA3FFDQEgAyADKAIAIgFrIgNBxIQBKAIASQ0BIAAgAWohACADQciEASgCAEcEQCABQf8BTQRAIAMoAggiAiABQQN2IgRBA3RB3IQBakYaIAIgAygCDCIBRgRAQbSEAUG0hAEoAgBBfiAEd3E2AgAMAwsgAiABNgIMIAEgAjYCCAwCCyADKAIYIQYCQCADIAMoAgwiAUcEQCADKAIIIgIgATYCDCABIAI2AggMAQsCQCADQRRqIgIoAgAiBA0AIANBEGoiAigCACIEDQBBACEBDAELA0AgAiEHIAQiAUEUaiICKAIAIgQNACABQRBqIQIgASgCECIEDQALIAdBADYCAAsgBkUNAQJAIAMgAygCHCICQQJ0QeSGAWoiBCgCAEYEQCAEIAE2AgAgAQ0BQbiEAUG4hAEoAgBBfiACd3E2AgAMAwsgBkEQQRQgBigCECADRhtqIAE2AgAgAUUNAgsgASAGNgIYIAMoAhAiAgRAIAEgAjYCECACIAE2AhgLIAMoAhQiAkUNASABIAI2AhQgAiABNgIYDAELIAUoAgQiAUEDcUEDRw0AQbyEASAANgIAIAUgAUF+cTYCBCADIABBAXI2AgQgACADaiAANgIADwsgAyAFTw0AIAUoAgQiAUEBcUUNAAJAIAFBAnFFBEAgBUHMhAEoAgBGBEBBzIQBIAM2AgBBwIQBQcCEASgCACAAaiIANgIAIAMgAEEBcjYCBCADQciEASgCAEcNA0G8hAFBADYCAEHIhAFBADYCAA8LIAVByIQBKAIARgRAQciEASADNgIAQbyEAUG8hAEoAgAgAGoiADYCACADIABBAXI2AgQgACADaiAANgIADwsgAUF4cSAAaiEAAkAgAUH/AU0EQCAFKAIIIgIgAUEDdiIEQQN0QdyEAWpGGiACIAUoAgwiAUYEQEG0hAFBtIQBKAIAQX4gBHdxNgIADAILIAIgATYCDCABIAI2AggMAQsgBSgCGCEGAkAgBSAFKAIMIgFHBEAgBSgCCCICQcSEASgCAEkaIAIgATYCDCABIAI2AggMAQsCQCAFQRRqIgIoAgAiBA0AIAVBEGoiAigCACIEDQBBACEBDAELA0AgAiEHIAQiAUEUaiICKAIAIgQNACABQRBqIQIgASgCECIEDQALIAdBADYCAAsgBkUNAAJAIAUgBSgCHCICQQJ0QeSGAWoiBCgCAEYEQCAEIAE2AgAgAQ0BQbiEAUG4hAEoAgBBfiACd3E2AgAMAgsgBkEQQRQgBigCECAFRhtqIAE2AgAgAUUNAQsgASAGNgIYIAUoAhAiAgRAIAEgAjYCECACIAE2AhgLIAUoAhQiAkUNACABIAI2AhQgAiABNgIYCyADIABBAXI2AgQgACADaiAANgIAIANByIQBKAIARw0BQbyEASAANgIADwsgBSABQX5xNgIEIAMgAEEBcjYCBCAAIANqIAA2AgALIABB/wFNBEAgAEEDdiIBQQN0QdyEAWohAAJ/QbSEASgCACICQQEgAXQiAXFFBEBBtIQBIAEgAnI2AgAgAAwBCyAAKAIICyECIAAgAzYCCCACIAM2AgwgAyAANgIMIAMgAjYCCA8LQR8hAiADQgA3AhAgAEH///8HTQRAIABBCHYiASABQYD+P2pBEHZBCHEiAXQiAiACQYDgH2pBEHZBBHEiAnQiBCAEQYCAD2pBEHZBAnEiBHRBD3YgASACciAEcmsiAUEBdCAAIAFBFWp2QQFxckEcaiECCyADIAI2AhwgAkECdEHkhgFqIQECQAJAAkBBuIQBKAIAIgRBASACdCIHcUUEQEG4hAEgBCAHcjYCACABIAM2AgAgAyABNgIYDAELIABBAEEZIAJBAXZrIAJBH0YbdCECIAEoAgAhAQNAIAEiBCgCBEF4cSAARg0CIAJBHXYhASACQQF0IQIgBCABQQRxaiIHQRBqKAIAIgENAAsgByADNgIQIAMgBDYCGAsgAyADNgIMIAMgAzYCCAwBCyAEKAIIIgAgAzYCDCAEIAM2AgggA0EANgIYIAMgBDYCDCADIAA2AggLQdSEAUHUhAEoAgBBAWsiAEF/IAAbNgIACwuDBAEDfyACQYAETwRAIAAgASACEAIaIAAPCyAAIAJqIQMCQCAAIAFzQQNxRQRAAkAgAEEDcUUEQCAAIQIMAQsgAkEBSARAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAkEDcUUNASACIANJDQALCwJAIANBfHEiBEHAAEkNACACIARBQGoiBUsNAANAIAIgASgCADYCACACIAEoAgQ2AgQgAiABKAIINgIIIAIgASgCDDYCDCACIAEoAhA2AhAgAiABKAIUNgIUIAIgASgCGDYCGCACIAEoAhw2AhwgAiABKAIgNgIgIAIgASgCJDYCJCACIAEoAig2AiggAiABKAIsNgIsIAIgASgCMDYCMCACIAEoAjQ2AjQgAiABKAI4NgI4IAIgASgCPDYCPCABQUBrIQEgAkFAayICIAVNDQALCyACIARPDQEDQCACIAEoAgA2AgAgAUEEaiEBIAJBBGoiAiAESQ0ACwwBCyADQQRJBEAgACECDAELIAAgA0EEayIESwRAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAiABLQABOgABIAIgAS0AAjoAAiACIAEtAAM6AAMgAUEEaiEBIAJBBGoiAiAETQ0ACwsgAiADSQRAA0AgAiABLQAAOgAAIAFBAWohASACQQFqIgIgA0cNAAsLIAALGgAgAARAIAAtAAEEQCAAKAIEEAYLIAAQBgsLoi4BDH8jAEEQayIMJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEH0AU0EQEG0hAEoAgAiBUEQIABBC2pBeHEgAEELSRsiCEEDdiICdiIBQQNxBEAgAUF/c0EBcSACaiIDQQN0IgFB5IQBaigCACIEQQhqIQACQCAEKAIIIgIgAUHchAFqIgFGBEBBtIQBIAVBfiADd3E2AgAMAQsgAiABNgIMIAEgAjYCCAsgBCADQQN0IgFBA3I2AgQgASAEaiIBIAEoAgRBAXI2AgQMDQsgCEG8hAEoAgAiCk0NASABBEACQEECIAJ0IgBBACAAa3IgASACdHEiAEEAIABrcUEBayIAIABBDHZBEHEiAnYiAUEFdkEIcSIAIAJyIAEgAHYiAUECdkEEcSIAciABIAB2IgFBAXZBAnEiAHIgASAAdiIBQQF2QQFxIgByIAEgAHZqIgNBA3QiAEHkhAFqKAIAIgQoAggiASAAQdyEAWoiAEYEQEG0hAEgBUF+IAN3cSIFNgIADAELIAEgADYCDCAAIAE2AggLIARBCGohACAEIAhBA3I2AgQgBCAIaiICIANBA3QiASAIayIDQQFyNgIEIAEgBGogAzYCACAKBEAgCkEDdiIBQQN0QdyEAWohB0HIhAEoAgAhBAJ/IAVBASABdCIBcUUEQEG0hAEgASAFcjYCACAHDAELIAcoAggLIQEgByAENgIIIAEgBDYCDCAEIAc2AgwgBCABNgIIC0HIhAEgAjYCAEG8hAEgAzYCAAwNC0G4hAEoAgAiBkUNASAGQQAgBmtxQQFrIgAgAEEMdkEQcSICdiIBQQV2QQhxIgAgAnIgASAAdiIBQQJ2QQRxIgByIAEgAHYiAUEBdkECcSIAciABIAB2IgFBAXZBAXEiAHIgASAAdmpBAnRB5IYBaigCACIBKAIEQXhxIAhrIQMgASECA0ACQCACKAIQIgBFBEAgAigCFCIARQ0BCyAAKAIEQXhxIAhrIgIgAyACIANJIgIbIQMgACABIAIbIQEgACECDAELCyABIAhqIgkgAU0NAiABKAIYIQsgASABKAIMIgRHBEAgASgCCCIAQcSEASgCAEkaIAAgBDYCDCAEIAA2AggMDAsgAUEUaiICKAIAIgBFBEAgASgCECIARQ0EIAFBEGohAgsDQCACIQcgACIEQRRqIgIoAgAiAA0AIARBEGohAiAEKAIQIgANAAsgB0EANgIADAsLQX8hCCAAQb9/Sw0AIABBC2oiAEF4cSEIQbiEASgCACIJRQ0AQQAgCGshAwJAAkACQAJ/QQAgCEGAAkkNABpBHyAIQf///wdLDQAaIABBCHYiACAAQYD+P2pBEHZBCHEiAnQiACAAQYDgH2pBEHZBBHEiAXQiACAAQYCAD2pBEHZBAnEiAHRBD3YgASACciAAcmsiAEEBdCAIIABBFWp2QQFxckEcagsiBUECdEHkhgFqKAIAIgJFBEBBACEADAELQQAhACAIQQBBGSAFQQF2ayAFQR9GG3QhAQNAAkAgAigCBEF4cSAIayIHIANPDQAgAiEEIAciAw0AQQAhAyACIQAMAwsgACACKAIUIgcgByACIAFBHXZBBHFqKAIQIgJGGyAAIAcbIQAgAUEBdCEBIAINAAsLIAAgBHJFBEBBAiAFdCIAQQAgAGtyIAlxIgBFDQMgAEEAIABrcUEBayIAIABBDHZBEHEiAnYiAUEFdkEIcSIAIAJyIAEgAHYiAUECdkEEcSIAciABIAB2IgFBAXZBAnEiAHIgASAAdiIBQQF2QQFxIgByIAEgAHZqQQJ0QeSGAWooAgAhAAsgAEUNAQsDQCAAKAIEQXhxIAhrIgEgA0khAiABIAMgAhshAyAAIAQgAhshBCAAKAIQIgEEfyABBSAAKAIUCyIADQALCyAERQ0AIANBvIQBKAIAIAhrTw0AIAQgCGoiBiAETQ0BIAQoAhghBSAEIAQoAgwiAUcEQCAEKAIIIgBBxIQBKAIASRogACABNgIMIAEgADYCCAwKCyAEQRRqIgIoAgAiAEUEQCAEKAIQIgBFDQQgBEEQaiECCwNAIAIhByAAIgFBFGoiAigCACIADQAgAUEQaiECIAEoAhAiAA0ACyAHQQA2AgAMCQsgCEG8hAEoAgAiAk0EQEHIhAEoAgAhAwJAIAIgCGsiAUEQTwRAQbyEASABNgIAQciEASADIAhqIgA2AgAgACABQQFyNgIEIAIgA2ogATYCACADIAhBA3I2AgQMAQtByIQBQQA2AgBBvIQBQQA2AgAgAyACQQNyNgIEIAIgA2oiACAAKAIEQQFyNgIECyADQQhqIQAMCwsgCEHAhAEoAgAiBkkEQEHAhAEgBiAIayIBNgIAQcyEAUHMhAEoAgAiAiAIaiIANgIAIAAgAUEBcjYCBCACIAhBA3I2AgQgAkEIaiEADAsLQQAhACAIQS9qIgkCf0GMiAEoAgAEQEGUiAEoAgAMAQtBmIgBQn83AgBBkIgBQoCggICAgAQ3AgBBjIgBIAxBDGpBcHFB2KrVqgVzNgIAQaCIAUEANgIAQfCHAUEANgIAQYAgCyIBaiIFQQAgAWsiB3EiAiAITQ0KQeyHASgCACIEBEBB5IcBKAIAIgMgAmoiASADTQ0LIAEgBEsNCwtB8IcBLQAAQQRxDQUCQAJAQcyEASgCACIDBEBB9IcBIQADQCADIAAoAgAiAU8EQCABIAAoAgRqIANLDQMLIAAoAggiAA0ACwtBABApIgFBf0YNBiACIQVBkIgBKAIAIgNBAWsiACABcQRAIAIgAWsgACABakEAIANrcWohBQsgBSAITQ0GIAVB/v///wdLDQZB7IcBKAIAIgQEQEHkhwEoAgAiAyAFaiIAIANNDQcgACAESw0HCyAFECkiACABRw0BDAgLIAUgBmsgB3EiBUH+////B0sNBSAFECkiASAAKAIAIAAoAgRqRg0EIAEhAAsCQCAAQX9GDQAgCEEwaiAFTQ0AQZSIASgCACIBIAkgBWtqQQAgAWtxIgFB/v///wdLBEAgACEBDAgLIAEQKUF/RwRAIAEgBWohBSAAIQEMCAtBACAFaxApGgwFCyAAIgFBf0cNBgwECwALQQAhBAwHC0EAIQEMBQsgAUF/Rw0CC0HwhwFB8IcBKAIAQQRyNgIACyACQf7///8HSw0BIAIQKSEBQQAQKSEAIAFBf0YNASAAQX9GDQEgACABTQ0BIAAgAWsiBSAIQShqTQ0BC0HkhwFB5IcBKAIAIAVqIgA2AgBB6IcBKAIAIABJBEBB6IcBIAA2AgALAkACQAJAQcyEASgCACIHBEBB9IcBIQADQCABIAAoAgAiAyAAKAIEIgJqRg0CIAAoAggiAA0ACwwCC0HEhAEoAgAiAEEAIAAgAU0bRQRAQcSEASABNgIAC0EAIQBB+IcBIAU2AgBB9IcBIAE2AgBB1IQBQX82AgBB2IQBQYyIASgCADYCAEGAiAFBADYCAANAIABBA3QiA0HkhAFqIANB3IQBaiICNgIAIANB6IQBaiACNgIAIABBAWoiAEEgRw0AC0HAhAEgBUEoayIDQXggAWtBB3FBACABQQhqQQdxGyIAayICNgIAQcyEASAAIAFqIgA2AgAgACACQQFyNgIEIAEgA2pBKDYCBEHQhAFBnIgBKAIANgIADAILIAAtAAxBCHENACADIAdLDQAgASAHTQ0AIAAgAiAFajYCBEHMhAEgB0F4IAdrQQdxQQAgB0EIakEHcRsiAGoiAjYCAEHAhAFBwIQBKAIAIAVqIgEgAGsiADYCACACIABBAXI2AgQgASAHakEoNgIEQdCEAUGciAEoAgA2AgAMAQtBxIQBKAIAIAFLBEBBxIQBIAE2AgALIAEgBWohAkH0hwEhAAJAAkACQAJAAkACQANAIAIgACgCAEcEQCAAKAIIIgANAQwCCwsgAC0ADEEIcUUNAQtB9IcBIQADQCAHIAAoAgAiAk8EQCACIAAoAgRqIgQgB0sNAwsgACgCCCEADAALAAsgACABNgIAIAAgACgCBCAFajYCBCABQXggAWtBB3FBACABQQhqQQdxG2oiCSAIQQNyNgIEIAJBeCACa0EHcUEAIAJBCGpBB3EbaiIFIAggCWoiBmshAiAFIAdGBEBBzIQBIAY2AgBBwIQBQcCEASgCACACaiIANgIAIAYgAEEBcjYCBAwDCyAFQciEASgCAEYEQEHIhAEgBjYCAEG8hAFBvIQBKAIAIAJqIgA2AgAgBiAAQQFyNgIEIAAgBmogADYCAAwDCyAFKAIEIgBBA3FBAUYEQCAAQXhxIQcCQCAAQf8BTQRAIAUoAggiAyAAQQN2IgBBA3RB3IQBakYaIAMgBSgCDCIBRgRAQbSEAUG0hAEoAgBBfiAAd3E2AgAMAgsgAyABNgIMIAEgAzYCCAwBCyAFKAIYIQgCQCAFIAUoAgwiAUcEQCAFKAIIIgAgATYCDCABIAA2AggMAQsCQCAFQRRqIgAoAgAiAw0AIAVBEGoiACgCACIDDQBBACEBDAELA0AgACEEIAMiAUEUaiIAKAIAIgMNACABQRBqIQAgASgCECIDDQALIARBADYCAAsgCEUNAAJAIAUgBSgCHCIDQQJ0QeSGAWoiACgCAEYEQCAAIAE2AgAgAQ0BQbiEAUG4hAEoAgBBfiADd3E2AgAMAgsgCEEQQRQgCCgCECAFRhtqIAE2AgAgAUUNAQsgASAINgIYIAUoAhAiAARAIAEgADYCECAAIAE2AhgLIAUoAhQiAEUNACABIAA2AhQgACABNgIYCyAFIAdqIQUgAiAHaiECCyAFIAUoAgRBfnE2AgQgBiACQQFyNgIEIAIgBmogAjYCACACQf8BTQRAIAJBA3YiAEEDdEHchAFqIQICf0G0hAEoAgAiAUEBIAB0IgBxRQRAQbSEASAAIAFyNgIAIAIMAQsgAigCCAshACACIAY2AgggACAGNgIMIAYgAjYCDCAGIAA2AggMAwtBHyEAIAJB////B00EQCACQQh2IgAgAEGA/j9qQRB2QQhxIgN0IgAgAEGA4B9qQRB2QQRxIgF0IgAgAEGAgA9qQRB2QQJxIgB0QQ92IAEgA3IgAHJrIgBBAXQgAiAAQRVqdkEBcXJBHGohAAsgBiAANgIcIAZCADcCECAAQQJ0QeSGAWohBAJAQbiEASgCACIDQQEgAHQiAXFFBEBBuIQBIAEgA3I2AgAgBCAGNgIAIAYgBDYCGAwBCyACQQBBGSAAQQF2ayAAQR9GG3QhACAEKAIAIQEDQCABIgMoAgRBeHEgAkYNAyAAQR12IQEgAEEBdCEAIAMgAUEEcWoiBCgCECIBDQALIAQgBjYCECAGIAM2AhgLIAYgBjYCDCAGIAY2AggMAgtBwIQBIAVBKGsiA0F4IAFrQQdxQQAgAUEIakEHcRsiAGsiAjYCAEHMhAEgACABaiIANgIAIAAgAkEBcjYCBCABIANqQSg2AgRB0IQBQZyIASgCADYCACAHIARBJyAEa0EHcUEAIARBJ2tBB3EbakEvayIAIAAgB0EQakkbIgJBGzYCBCACQfyHASkCADcCECACQfSHASkCADcCCEH8hwEgAkEIajYCAEH4hwEgBTYCAEH0hwEgATYCAEGAiAFBADYCACACQRhqIQADQCAAQQc2AgQgAEEIaiEBIABBBGohACABIARJDQALIAIgB0YNAyACIAIoAgRBfnE2AgQgByACIAdrIgRBAXI2AgQgAiAENgIAIARB/wFNBEAgBEEDdiIAQQN0QdyEAWohAgJ/QbSEASgCACIBQQEgAHQiAHFFBEBBtIQBIAAgAXI2AgAgAgwBCyACKAIICyEAIAIgBzYCCCAAIAc2AgwgByACNgIMIAcgADYCCAwEC0EfIQAgB0IANwIQIARB////B00EQCAEQQh2IgAgAEGA/j9qQRB2QQhxIgJ0IgAgAEGA4B9qQRB2QQRxIgF0IgAgAEGAgA9qQRB2QQJxIgB0QQ92IAEgAnIgAHJrIgBBAXQgBCAAQRVqdkEBcXJBHGohAAsgByAANgIcIABBAnRB5IYBaiEDAkBBuIQBKAIAIgJBASAAdCIBcUUEQEG4hAEgASACcjYCACADIAc2AgAgByADNgIYDAELIARBAEEZIABBAXZrIABBH0YbdCEAIAMoAgAhAQNAIAEiAigCBEF4cSAERg0EIABBHXYhASAAQQF0IQAgAiABQQRxaiIDKAIQIgENAAsgAyAHNgIQIAcgAjYCGAsgByAHNgIMIAcgBzYCCAwDCyADKAIIIgAgBjYCDCADIAY2AgggBkEANgIYIAYgAzYCDCAGIAA2AggLIAlBCGohAAwFCyACKAIIIgAgBzYCDCACIAc2AgggB0EANgIYIAcgAjYCDCAHIAA2AggLQcCEASgCACIAIAhNDQBBwIQBIAAgCGsiATYCAEHMhAFBzIQBKAIAIgIgCGoiADYCACAAIAFBAXI2AgQgAiAIQQNyNgIEIAJBCGohAAwDC0GEhAFBMDYCAEEAIQAMAgsCQCAFRQ0AAkAgBCgCHCICQQJ0QeSGAWoiACgCACAERgRAIAAgATYCACABDQFBuIQBIAlBfiACd3EiCTYCAAwCCyAFQRBBFCAFKAIQIARGG2ogATYCACABRQ0BCyABIAU2AhggBCgCECIABEAgASAANgIQIAAgATYCGAsgBCgCFCIARQ0AIAEgADYCFCAAIAE2AhgLAkAgA0EPTQRAIAQgAyAIaiIAQQNyNgIEIAAgBGoiACAAKAIEQQFyNgIEDAELIAQgCEEDcjYCBCAGIANBAXI2AgQgAyAGaiADNgIAIANB/wFNBEAgA0EDdiIAQQN0QdyEAWohAgJ/QbSEASgCACIBQQEgAHQiAHFFBEBBtIQBIAAgAXI2AgAgAgwBCyACKAIICyEAIAIgBjYCCCAAIAY2AgwgBiACNgIMIAYgADYCCAwBC0EfIQAgA0H///8HTQRAIANBCHYiACAAQYD+P2pBEHZBCHEiAnQiACAAQYDgH2pBEHZBBHEiAXQiACAAQYCAD2pBEHZBAnEiAHRBD3YgASACciAAcmsiAEEBdCADIABBFWp2QQFxckEcaiEACyAGIAA2AhwgBkIANwIQIABBAnRB5IYBaiECAkACQCAJQQEgAHQiAXFFBEBBuIQBIAEgCXI2AgAgAiAGNgIAIAYgAjYCGAwBCyADQQBBGSAAQQF2ayAAQR9GG3QhACACKAIAIQgDQCAIIgEoAgRBeHEgA0YNAiAAQR12IQIgAEEBdCEAIAEgAkEEcWoiAigCECIIDQALIAIgBjYCECAGIAE2AhgLIAYgBjYCDCAGIAY2AggMAQsgASgCCCIAIAY2AgwgASAGNgIIIAZBADYCGCAGIAE2AgwgBiAANgIICyAEQQhqIQAMAQsCQCALRQ0AAkAgASgCHCICQQJ0QeSGAWoiACgCACABRgRAIAAgBDYCACAEDQFBuIQBIAZBfiACd3E2AgAMAgsgC0EQQRQgCygCECABRhtqIAQ2AgAgBEUNAQsgBCALNgIYIAEoAhAiAARAIAQgADYCECAAIAQ2AhgLIAEoAhQiAEUNACAEIAA2AhQgACAENgIYCwJAIANBD00EQCABIAMgCGoiAEEDcjYCBCAAIAFqIgAgACgCBEEBcjYCBAwBCyABIAhBA3I2AgQgCSADQQFyNgIEIAMgCWogAzYCACAKBEAgCkEDdiIAQQN0QdyEAWohBEHIhAEoAgAhAgJ/QQEgAHQiACAFcUUEQEG0hAEgACAFcjYCACAEDAELIAQoAggLIQAgBCACNgIIIAAgAjYCDCACIAQ2AgwgAiAANgIIC0HIhAEgCTYCAEG8hAEgAzYCAAsgAUEIaiEACyAMQRBqJAAgAAuJAQEDfyAAKAIcIgEQMAJAIAAoAhAiAiABKAIQIgMgAiADSRsiAkUNACAAKAIMIAEoAgggAhAHGiAAIAAoAgwgAmo2AgwgASABKAIIIAJqNgIIIAAgACgCFCACajYCFCAAIAAoAhAgAms2AhAgASABKAIQIAJrIgA2AhAgAA0AIAEgASgCBDYCCAsLzgEBBX8CQCAARQ0AIAAoAjAiAQRAIAAgAUEBayIBNgIwIAENAQsgACgCIARAIABBATYCICAAEBoaCyAAKAIkQQFGBEAgABBDCwJAIAAoAiwiAUUNACAALQAoDQACQCABKAJEIgNFDQAgASgCTCEEA0AgACAEIAJBAnRqIgUoAgBHBEAgAyACQQFqIgJHDQEMAgsLIAUgBCADQQFrIgJBAnRqKAIANgIAIAEgAjYCRAsLIABBAEIAQQUQDhogACgCACIBBEAgARALCyAAEAYLC1oCAn4BfwJ/AkACQCAALQAARQ0AIAApAxAiAUJ9Vg0AIAFCAnwiAiAAKQMIWA0BCyAAQQA6AABBAAwBC0EAIAAoAgQiA0UNABogACACNwMQIAMgAadqLwAACwthAgJ+AX8CQAJAIAAtAABFDQAgACkDECICQn1WDQAgAkICfCIDIAApAwhYDQELIABBADoAAA8LIAAoAgQiBEUEQA8LIAAgAzcDECAEIAKnaiIAIAFBCHY6AAEgACABOgAAC8wCAQJ/IwBBEGsiBCQAAkAgACkDGCADrYinQQFxRQRAIABBDGoiAARAIABBADYCBCAAQRw2AgALQn8hAgwBCwJ+IAAoAgAiBUUEQCAAKAIIIAEgAiADIAAoAgQRDAAMAQsgBSAAKAIIIAEgAiADIAAoAgQRCgALIgJCf1UNAAJAIANBBGsOCwEAAAAAAAAAAAABAAsCQAJAIAAtABhBEHFFBEAgAEEMaiIBBEAgAUEANgIEIAFBHDYCAAsMAQsCfiAAKAIAIgFFBEAgACgCCCAEQQhqQghBBCAAKAIEEQwADAELIAEgACgCCCAEQQhqQghBBCAAKAIEEQoAC0J/VQ0BCyAAQQxqIgAEQCAAQQA2AgQgAEEUNgIACwwBCyAEKAIIIQEgBCgCDCEDIABBDGoiAARAIAAgAzYCBCAAIAE2AgALCyAEQRBqJAAgAguTFQIOfwN+AkACQAJAAkACQAJAAkACQAJAAkACQCAAKALwLQRAIAAoAogBQQFIDQEgACgCACIEKAIsQQJHDQQgAC8B5AENAyAALwHoAQ0DIAAvAewBDQMgAC8B8AENAyAALwH0AQ0DIAAvAfgBDQMgAC8B/AENAyAALwGcAg0DIAAvAaACDQMgAC8BpAINAyAALwGoAg0DIAAvAawCDQMgAC8BsAINAyAALwG0Ag0DIAAvAbgCDQMgAC8BvAINAyAALwHAAg0DIAAvAcQCDQMgAC8ByAINAyAALwHUAg0DIAAvAdgCDQMgAC8B3AINAyAALwHgAg0DIAAvAYgCDQIgAC8BjAINAiAALwGYAg0CQSAhBgNAIAAgBkECdCIFai8B5AENAyAAIAVBBHJqLwHkAQ0DIAAgBUEIcmovAeQBDQMgACAFQQxyai8B5AENAyAGQQRqIgZBgAJHDQALDAMLIABBBzYC/C0gAkF8Rw0FIAFFDQUMBgsgAkEFaiIEIQcMAwtBASEHCyAEIAc2AiwLIAAgAEHoFmoQUSAAIABB9BZqEFEgAC8B5gEhBCAAIABB7BZqKAIAIgxBAnRqQf//AzsB6gEgAEGQFmohECAAQZQWaiERIABBjBZqIQdBACEGIAxBAE4EQEEHQYoBIAQbIQ1BBEEDIAQbIQpBfyEJA0AgBCEIIAAgCyIOQQFqIgtBAnRqLwHmASEEAkACQCAGQQFqIgVB//8DcSIPIA1B//8DcU8NACAEIAhHDQAgBSEGDAELAn8gACAIQQJ0akHMFWogCkH//wNxIA9LDQAaIAgEQEEBIQUgByAIIAlGDQEaIAAgCEECdGpBzBVqIgYgBi8BAEEBajsBACAHDAELQQEhBSAQIBEgBkH//wNxQQpJGwsiBiAGLwEAIAVqOwEAQQAhBgJ/IARFBEBBAyEKQYoBDAELQQNBBCAEIAhGIgUbIQpBBkEHIAUbCyENIAghCQsgDCAORw0ACwsgAEHaE2ovAQAhBCAAIABB+BZqKAIAIgxBAnRqQd4TakH//wM7AQBBACEGIAxBAE4EQEEHQYoBIAQbIQ1BBEEDIAQbIQpBfyEJQQAhCwNAIAQhCCAAIAsiDkEBaiILQQJ0akHaE2ovAQAhBAJAAkAgBkEBaiIFQf//A3EiDyANQf//A3FPDQAgBCAIRw0AIAUhBgwBCwJ/IAAgCEECdGpBzBVqIApB//8DcSAPSw0AGiAIBEBBASEFIAcgCCAJRg0BGiAAIAhBAnRqQcwVaiIGIAYvAQBBAWo7AQAgBwwBC0EBIQUgECARIAZB//8DcUEKSRsLIgYgBi8BACAFajsBAEEAIQYCfyAERQRAQQMhCkGKAQwBC0EDQQQgBCAIRiIFGyEKQQZBByAFGwshDSAIIQkLIAwgDkcNAAsLIAAgAEGAF2oQUSAAIAAoAvgtAn9BEiAAQYoWai8BAA0AGkERIABB0hVqLwEADQAaQRAgAEGGFmovAQANABpBDyAAQdYVai8BAA0AGkEOIABBghZqLwEADQAaQQ0gAEHaFWovAQANABpBDCAAQf4Vai8BAA0AGkELIABB3hVqLwEADQAaQQogAEH6FWovAQANABpBCSAAQeIVai8BAA0AGkEIIABB9hVqLwEADQAaQQcgAEHmFWovAQANABpBBiAAQfIVai8BAA0AGkEFIABB6hVqLwEADQAaQQQgAEHuFWovAQANABpBA0ECIABBzhVqLwEAGwsiBkEDbGoiBEERajYC+C0gACgC/C1BCmpBA3YiByAEQRtqQQN2IgRNBEAgByEEDAELIAAoAowBQQRHDQAgByEECyAEIAJBBGpPQQAgARsNASAEIAdHDQQLIANBAmqtIRIgACkDmC4hFCAAKAKgLiIBQQNqIgdBP0sNASASIAGthiAUhCESDAILIAAgASACIAMQOQwDCyABQcAARgRAIAAoAgQgACgCEGogFDcAACAAIAAoAhBBCGo2AhBBAyEHDAELIAAoAgQgACgCEGogEiABrYYgFIQ3AAAgACAAKAIQQQhqNgIQIAFBPWshByASQcAAIAFrrYghEgsgACASNwOYLiAAIAc2AqAuIABBgMEAQYDKABCHAQwBCyADQQRqrSESIAApA5guIRQCQCAAKAKgLiIBQQNqIgRBP00EQCASIAGthiAUhCESDAELIAFBwABGBEAgACgCBCAAKAIQaiAUNwAAIAAgACgCEEEIajYCEEEDIQQMAQsgACgCBCAAKAIQaiASIAGthiAUhDcAACAAIAAoAhBBCGo2AhAgAUE9ayEEIBJBwAAgAWutiCESCyAAIBI3A5guIAAgBDYCoC4gAEHsFmooAgAiC6xCgAJ9IRMgAEH4FmooAgAhCQJAAkACfwJ+AkACfwJ/IARBOk0EQCATIASthiAShCETIARBBWoMAQsgBEHAAEYEQCAAKAIEIAAoAhBqIBI3AAAgACAAKAIQQQhqNgIQIAmsIRJCBSEUQQoMAgsgACgCBCAAKAIQaiATIASthiAShDcAACAAIAAoAhBBCGo2AhAgE0HAACAEa62IIRMgBEE7awshBSAJrCESIAVBOksNASAFrSEUIAVBBWoLIQcgEiAUhiAThAwBCyAFQcAARgRAIAAoAgQgACgCEGogEzcAACAAIAAoAhBBCGo2AhAgBq1CA30hE0IFIRRBCQwCCyAAKAIEIAAoAhBqIBIgBa2GIBOENwAAIAAgACgCEEEIajYCECAFQTtrIQcgEkHAACAFa62ICyESIAatQgN9IRMgB0E7Sw0BIAetIRQgB0EEagshBCATIBSGIBKEIRMMAQsgB0HAAEYEQCAAKAIEIAAoAhBqIBI3AAAgACAAKAIQQQhqNgIQQQQhBAwBCyAAKAIEIAAoAhBqIBMgB62GIBKENwAAIAAgACgCEEEIajYCECAHQTxrIQQgE0HAACAHa62IIRMLQQAhBQNAIAAgBSIBQZDWAGotAABBAnRqQc4VajMBACEUAn8gBEE8TQRAIBQgBK2GIBOEIRMgBEEDagwBCyAEQcAARgRAIAAoAgQgACgCEGogEzcAACAAIAAoAhBBCGo2AhAgFCETQQMMAQsgACgCBCAAKAIQaiAUIASthiAThDcAACAAIAAoAhBBCGo2AhAgFEHAACAEa62IIRMgBEE9awshBCABQQFqIQUgASAGRw0ACyAAIAQ2AqAuIAAgEzcDmC4gACAAQeQBaiICIAsQhgEgACAAQdgTaiIBIAkQhgEgACACIAEQhwELIAAQiAEgAwRAAkAgACgCoC4iBEE5TgRAIAAoAgQgACgCEGogACkDmC43AAAgACAAKAIQQQhqNgIQDAELIARBGU4EQCAAKAIEIAAoAhBqIAApA5guPgAAIAAgAEGcLmo1AgA3A5guIAAgACgCEEEEajYCECAAIAAoAqAuQSBrIgQ2AqAuCyAEQQlOBH8gACgCBCAAKAIQaiAAKQOYLj0AACAAIAAoAhBBAmo2AhAgACAAKQOYLkIQiDcDmC4gACgCoC5BEGsFIAQLQQFIDQAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiAAKQOYLjwAAAsgAEEANgKgLiAAQgA3A5guCwsZACAABEAgACgCABAGIAAoAgwQBiAAEAYLC6wBAQJ+Qn8hAwJAIAAtACgNAAJAAkAgACgCIEUNACACQgBTDQAgAlANASABDQELIABBDGoiAARAIABBADYCBCAAQRI2AgALQn8PCyAALQA1DQBCACEDIAAtADQNACACUA0AA0AgACABIAOnaiACIAN9QQEQDiIEQn9XBEAgAEEBOgA1Qn8gAyADUBsPCyAEUEUEQCADIAR8IgMgAloNAgwBCwsgAEEBOgA0CyADC3UCAn4BfwJAAkAgAC0AAEUNACAAKQMQIgJCe1YNACACQgR8IgMgACkDCFgNAQsgAEEAOgAADwsgACgCBCIERQRADwsgACADNwMQIAQgAqdqIgAgAUEYdjoAAyAAIAFBEHY6AAIgACABQQh2OgABIAAgAToAAAtUAgF+AX8CQAJAIAAtAABFDQAgASAAKQMQIgF8IgIgAVQNACACIAApAwhYDQELIABBADoAAEEADwsgACgCBCIDRQRAQQAPCyAAIAI3AxAgAyABp2oLdwECfyMAQRBrIgMkAEF/IQQCQCAALQAoDQAgACgCIEEAIAJBA0kbRQRAIABBDGoiAARAIABBADYCBCAAQRI2AgALDAELIAMgAjYCCCADIAE3AwAgACADQhBBBhAOQgBTDQBBACEEIABBADoANAsgA0EQaiQAIAQLVwICfgF/AkACQCAALQAARQ0AIAApAxAiAUJ7Vg0AIAFCBHwiAiAAKQMIWA0BCyAAQQA6AABBAA8LIAAoAgQiA0UEQEEADwsgACACNwMQIAMgAadqKAAAC1UCAX4BfyAABEACQCAAKQMIUA0AQgEhAQNAIAAoAgAgAkEEdGoQPiABIAApAwhaDQEgAachAiABQgF8IQEMAAsACyAAKAIAEAYgACgCKBAQIAAQBgsLZAECfwJAAkACQCAARQRAIAGnEAkiA0UNAkEYEAkiAkUNAQwDCyAAIQNBGBAJIgINAkEADwsgAxAGC0EADwsgAkIANwMQIAIgATcDCCACIAM2AgQgAkEBOgAAIAIgAEU6AAEgAgudAQICfgF/AkACQCAALQAARQ0AIAApAxAiAkJ3Vg0AIAJCCHwiAyAAKQMIWA0BCyAAQQA6AAAPCyAAKAIEIgRFBEAPCyAAIAM3AxAgBCACp2oiACABQjiIPAAHIAAgAUIwiDwABiAAIAFCKIg8AAUgACABQiCIPAAEIAAgAUIYiDwAAyAAIAFCEIg8AAIgACABQgiIPAABIAAgATwAAAvwAgICfwF+AkAgAkUNACAAIAJqIgNBAWsgAToAACAAIAE6AAAgAkEDSQ0AIANBAmsgAToAACAAIAE6AAEgA0EDayABOgAAIAAgAToAAiACQQdJDQAgA0EEayABOgAAIAAgAToAAyACQQlJDQAgAEEAIABrQQNxIgRqIgMgAUH/AXFBgYKECGwiADYCACADIAIgBGtBfHEiAmoiAUEEayAANgIAIAJBCUkNACADIAA2AgggAyAANgIEIAFBCGsgADYCACABQQxrIAA2AgAgAkEZSQ0AIAMgADYCGCADIAA2AhQgAyAANgIQIAMgADYCDCABQRBrIAA2AgAgAUEUayAANgIAIAFBGGsgADYCACABQRxrIAA2AgAgAiADQQRxQRhyIgFrIgJBIEkNACAArUKBgICAEH4hBSABIANqIQEDQCABIAU3AxggASAFNwMQIAEgBTcDCCABIAU3AwAgAUEgaiEBIAJBIGsiAkEfSw0ACwsLbwEDfyAAQQxqIQICQAJ/IAAoAiAiAUUEQEF/IQFBEgwBCyAAIAFBAWsiAzYCIEEAIQEgAw0BIABBAEIAQQIQDhogACgCACIARQ0BIAAQGkF/Sg0BQRQLIQAgAgRAIAJBADYCBCACIAA2AgALCyABC58BAgF/AX4CfwJAAn4gACgCACIDKAIkQQFGQQAgAkJ/VRtFBEAgA0EMaiIBBEAgAUEANgIEIAFBEjYCAAtCfwwBCyADIAEgAkELEA4LIgRCf1cEQCAAKAIAIQEgAEEIaiIABEAgACABKAIMNgIAIAAgASgCEDYCBAsMAQtBACACIARRDQEaIABBCGoEQCAAQRs2AgwgAEEGNgIICwtBfwsLJAEBfyAABEADQCAAKAIAIQEgACgCDBAGIAAQBiABIgANAAsLC5gBAgJ+AX8CQAJAIAAtAABFDQAgACkDECIBQndWDQAgAUIIfCICIAApAwhYDQELIABBADoAAEIADwsgACgCBCIDRQRAQgAPCyAAIAI3AxAgAyABp2oiADEABkIwhiAAMQAHQjiGhCAAMQAFQiiGhCAAMQAEQiCGhCAAMQADQhiGhCAAMQACQhCGhCAAMQABQgiGhCAAMQAAfAsjACAAQShGBEAgAhAGDwsgAgRAIAEgAkEEaygCACAAEQcACwsyACAAKAIkQQFHBEAgAEEMaiIABEAgAEEANgIEIABBEjYCAAtCfw8LIABBAEIAQQ0QDgsPACAABEAgABA2IAAQBgsLgAEBAX8gAC0AKAR/QX8FIAFFBEAgAEEMagRAIABBADYCECAAQRI2AgwLQX8PCyABECoCQCAAKAIAIgJFDQAgAiABECFBf0oNACAAKAIAIQEgAEEMaiIABEAgACABKAIMNgIAIAAgASgCEDYCBAtBfw8LIAAgAUI4QQMQDkI/h6cLC38BA38gACEBAkAgAEEDcQRAA0AgAS0AAEUNAiABQQFqIgFBA3ENAAsLA0AgASICQQRqIQEgAigCACIDQX9zIANBgYKECGtxQYCBgoR4cUUNAAsgA0H/AXFFBEAgAiAAaw8LA0AgAi0AASEDIAJBAWoiASECIAMNAAsLIAEgAGsL3wIBCH8gAEUEQEEBDwsCQCAAKAIIIgINAEEBIQQgAC8BBCIHRQRAQQEhAgwBCyAAKAIAIQgDQAJAIAMgCGoiBS0AACICQSBPBEAgAkEYdEEYdUF/Sg0BCyACQQ1NQQBBASACdEGAzABxGw0AAn8CfyACQeABcUHAAUYEQEEBIQYgA0EBagwBCyACQfABcUHgAUYEQCADQQJqIQNBACEGQQEMAgsgAkH4AXFB8AFHBEBBBCECDAULQQAhBiADQQNqCyEDQQALIQlBBCECIAMgB08NAiAFLQABQcABcUGAAUcNAkEDIQQgBg0AIAUtAAJBwAFxQYABRw0CIAkNACAFLQADQcABcUGAAUcNAgsgBCECIANBAWoiAyAHSQ0ACwsgACACNgIIAn8CQCABRQ0AAkAgAUECRw0AIAJBA0cNAEECIQIgAEECNgIICyABIAJGDQBBBSACQQFHDQEaCyACCwtIAgJ+An8jAEEQayIEIAE2AgxCASAArYYhAgNAIAQgAUEEaiIANgIMIAIiA0IBIAEoAgAiBa2GhCECIAAhASAFQX9KDQALIAMLhwUBB38CQAJAIABFBEBBxRQhAiABRQ0BIAFBADYCAEHFFA8LIAJBwABxDQEgACgCCEUEQCAAQQAQIxoLIAAoAgghBAJAIAJBgAFxBEAgBEEBa0ECTw0BDAMLIARBBEcNAgsCQCAAKAIMIgINACAAAn8gACgCACEIIABBEGohCUEAIQICQAJAAkACQCAALwEEIgUEQEEBIQQgBUEBcSEHIAVBAUcNAQwCCyAJRQ0CIAlBADYCAEEADAQLIAVBfnEhBgNAIARBAUECQQMgAiAIai0AAEEBdEHQFGovAQAiCkGAEEkbIApBgAFJG2pBAUECQQMgCCACQQFyai0AAEEBdEHQFGovAQAiBEGAEEkbIARBgAFJG2ohBCACQQJqIQIgBkECayIGDQALCwJ/IAcEQCAEQQFBAkEDIAIgCGotAABBAXRB0BRqLwEAIgJBgBBJGyACQYABSRtqIQQLIAQLEAkiB0UNASAFQQEgBUEBSxshCkEAIQVBACEGA0AgBSAHaiEDAn8gBiAIai0AAEEBdEHQFGovAQAiAkH/AE0EQCADIAI6AAAgBUEBagwBCyACQf8PTQRAIAMgAkE/cUGAAXI6AAEgAyACQQZ2QcABcjoAACAFQQJqDAELIAMgAkE/cUGAAXI6AAIgAyACQQx2QeABcjoAACADIAJBBnZBP3FBgAFyOgABIAVBA2oLIQUgBkEBaiIGIApHDQALIAcgBEEBayICakEAOgAAIAlFDQAgCSACNgIACyAHDAELIAMEQCADQQA2AgQgA0EONgIAC0EACyICNgIMIAINAEEADwsgAUUNACABIAAoAhA2AgALIAIPCyABBEAgASAALwEENgIACyAAKAIAC4MBAQR/QRIhBQJAAkAgACkDMCABWA0AIAGnIQYgACgCQCEEIAJBCHEiB0UEQCAEIAZBBHRqKAIEIgINAgsgBCAGQQR0aiIEKAIAIgJFDQAgBC0ADEUNAUEXIQUgBw0BC0EAIQIgAyAAQQhqIAMbIgAEQCAAQQA2AgQgACAFNgIACwsgAgtuAQF/IwBBgAJrIgUkAAJAIARBgMAEcQ0AIAIgA0wNACAFIAFB/wFxIAIgA2siAkGAAiACQYACSSIBGxAZIAFFBEADQCAAIAVBgAIQLiACQYACayICQf8BSw0ACwsgACAFIAIQLgsgBUGAAmokAAuBAQEBfyMAQRBrIgQkACACIANsIQICQCAAQSdGBEAgBEEMaiACEIwBIQBBACAEKAIMIAAbIQAMAQsgAUEBIAJBxABqIAARAAAiAUUEQEEAIQAMAQtBwAAgAUE/cWsiACABakHAAEEAIABBBEkbaiIAQQRrIAE2AAALIARBEGokACAAC1IBAn9BhIEBKAIAIgEgAEEDakF8cSICaiEAAkAgAkEAIAAgAU0bDQAgAD8AQRB0SwRAIAAQA0UNAQtBhIEBIAA2AgAgAQ8LQYSEAUEwNgIAQX8LNwAgAEJ/NwMQIABBADYCCCAAQgA3AwAgAEEANgIwIABC/////w83AyggAEIANwMYIABCADcDIAulAQEBf0HYABAJIgFFBEBBAA8LAkAgAARAIAEgAEHYABAHGgwBCyABQgA3AyAgAUEANgIYIAFC/////w83AxAgAUEAOwEMIAFBv4YoNgIIIAFBAToABiABQQA6AAQgAUIANwNIIAFBgIDYjXg2AkQgAUIANwMoIAFCADcDMCABQgA3AzggAUFAa0EAOwEAIAFCADcDUAsgAUEBOgAFIAFBADYCACABC1gCAn4BfwJAAkAgAC0AAEUNACAAKQMQIgMgAq18IgQgA1QNACAEIAApAwhYDQELIABBADoAAA8LIAAoAgQiBUUEQA8LIAAgBDcDECAFIAOnaiABIAIQBxoLlgEBAn8CQAJAIAJFBEAgAacQCSIFRQ0BQRgQCSIEDQIgBRAGDAELIAIhBUEYEAkiBA0BCyADBEAgA0EANgIEIANBDjYCAAtBAA8LIARCADcDECAEIAE3AwggBCAFNgIEIARBAToAACAEIAJFOgABIAAgBSABIAMQZUEASAR/IAQtAAEEQCAEKAIEEAYLIAQQBkEABSAECwubAgEDfyAALQAAQSBxRQRAAkAgASEDAkAgAiAAIgEoAhAiAAR/IAAFAn8gASABLQBKIgBBAWsgAHI6AEogASgCACIAQQhxBEAgASAAQSByNgIAQX8MAQsgAUIANwIEIAEgASgCLCIANgIcIAEgADYCFCABIAAgASgCMGo2AhBBAAsNASABKAIQCyABKAIUIgVrSwRAIAEgAyACIAEoAiQRAAAaDAILAn8gASwAS0F/SgRAIAIhAANAIAIgACIERQ0CGiADIARBAWsiAGotAABBCkcNAAsgASADIAQgASgCJBEAACAESQ0CIAMgBGohAyABKAIUIQUgAiAEawwBCyACCyEAIAUgAyAAEAcaIAEgASgCFCAAajYCFAsLCwvNBQEGfyAAKAIwIgNBhgJrIQYgACgCPCECIAMhAQNAIAAoAkQgAiAAKAJoIgRqayECIAEgBmogBE0EQCAAKAJIIgEgASADaiADEAcaAkAgAyAAKAJsIgFNBEAgACABIANrNgJsDAELIABCADcCbAsgACAAKAJoIANrIgE2AmggACAAKAJYIANrNgJYIAEgACgChC5JBEAgACABNgKELgsgAEH8gAEoAgARAwAgAiADaiECCwJAIAAoAgAiASgCBCIERQ0AIAAoAjwhBSAAIAIgBCACIARJGyICBH8gACgCSCAAKAJoaiAFaiEFIAEgBCACazYCBAJAAkACQAJAIAEoAhwiBCgCFEEBaw4CAQACCyAEQaABaiAFIAEoAgAgAkHcgAEoAgARCAAMAgsgASABKAIwIAUgASgCACACQcSAASgCABEEADYCMAwBCyAFIAEoAgAgAhAHGgsgASABKAIAIAJqNgIAIAEgASgCCCACajYCCCAAKAI8BSAFCyACaiICNgI8AkAgACgChC4iASACakEDSQ0AIAAoAmggAWshAQJAIAAoAnRBgQhPBEAgACAAIAAoAkggAWoiAi0AACACLQABIAAoAnwRAAA2AlQMAQsgAUUNACAAIAFBAWsgACgChAERAgAaCyAAKAKELiAAKAI8IgJBAUZrIgRFDQAgACABIAQgACgCgAERBQAgACAAKAKELiAEazYChC4gACgCPCECCyACQYUCSw0AIAAoAgAoAgRFDQAgACgCMCEBDAELCwJAIAAoAkQiAiAAKAJAIgNNDQAgAAJ/IAAoAjwgACgCaGoiASADSwRAIAAoAkggAWpBACACIAFrIgNBggIgA0GCAkkbIgMQGSABIANqDAELIAFBggJqIgEgA00NASAAKAJIIANqQQAgAiADayICIAEgA2siAyACIANJGyIDEBkgACgCQCADags2AkALC50CAQF/AkAgAAJ/IAAoAqAuIgFBwABGBEAgACgCBCAAKAIQaiAAKQOYLjcAACAAQgA3A5guIAAgACgCEEEIajYCEEEADAELIAFBIE4EQCAAKAIEIAAoAhBqIAApA5guPgAAIAAgAEGcLmo1AgA3A5guIAAgACgCEEEEajYCECAAIAAoAqAuQSBrIgE2AqAuCyABQRBOBEAgACgCBCAAKAIQaiAAKQOYLj0AACAAIAAoAhBBAmo2AhAgACAAKQOYLkIQiDcDmC4gACAAKAKgLkEQayIBNgKgLgsgAUEISA0BIAAgACgCECIBQQFqNgIQ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KAJUIgEEfyABQQAgARAiEBkgACgCVAVBAAsQBiAAQQA2AlQLC9wMAgl/AX4jAEFAaiIGJAACQAJAAkACQAJAIAEoAjBBABAjIgVBAkZBACABKAI4QQAQIyIEQQFGGw0AIAVBAUZBACAEQQJGGw0AIAVBAkciAw0BIARBAkcNAQsgASABLwEMQYAQcjsBDEEAIQMMAQsgASABLwEMQf/vA3E7AQxBACEFIANFBEBB9eABIAEoAjAgAEEIahBpIgVFDQILIAJBgAJxBEAgBSEDDAELIARBAkcEQCAFIQMMAQtB9cYBIAEoAjggAEEIahBpIgNFBEAgBRAcDAILIAMgBTYCAAsgASABLwEMQf7/A3EgAS8BUiIFQQBHcjsBDAJAAkACQAJAAn8CQAJAIAEpAyhC/v///w9WDQAgASkDIEL+////D1YNACACQYAEcUUNASABKQNIQv////8PVA0BCyAFQYECa0H//wNxQQNJIQdBAQwBCyAFQYECa0H//wNxIQQgAkGACnFBgApHDQEgBEEDSSEHQQALIQkgBkIcEBciBEUEQCAAQQhqIgAEQCAAQQA2AgQgAEEONgIACyADEBwMBQsgAkGACHEhBQJAAkAgAkGAAnEEQAJAIAUNACABKQMgQv////8PVg0AIAEpAyhCgICAgBBUDQMLIAQgASkDKBAYIAEpAyAhDAwBCwJAAkACQCAFDQAgASkDIEL/////D1YNACABKQMoIgxC/////w9WDQEgASkDSEKAgICAEFQNBAsgASkDKCIMQv////8PVA0BCyAEIAwQGAsgASkDICIMQv////8PWgRAIAQgDBAYCyABKQNIIgxC/////w9UDQELIAQgDBAYCyAELQAARQRAIABBCGoiAARAIABBADYCBCAAQRQ2AgALIAQQCCADEBwMBQtBASEKQQEgBC0AAAR+IAQpAxAFQgALp0H//wNxIAYQRyEFIAQQCCAFIAM2AgAgBw0BDAILIAMhBSAEQQJLDQELIAZCBxAXIgRFBEAgAEEIaiIABEAgAEEANgIEIABBDjYCAAsgBRAcDAMLIARBAhANIARBhxJBAhAsIAQgAS0AUhBwIAQgAS8BEBANIAQtAABFBEAgAEEIaiIABEAgAEEANgIEIABBFDYCAAsgBBAIDAILQYGyAkEHIAYQRyEDIAQQCCADIAU2AgBBASEL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NgIEIABB7A42AhggGiEdDAMLIARB/wFxIgJBwABxRQRAIAggDSADLwECQQJ0aiAdp0F/IAJ0QX9zcUECdGoiAy0AASICayEIIB0gAq2IIR0gAy0AACIERQ0HDAELCyAEQSBxBEAgB0G//gA2AgQgASECDAgLIAdB0f4ANgIEIABB0A42AhggASECDAcLIB1BfyAGdEF/c62DIBt8IhunIQUgCCAEQQ9xIgNrIQggGiAErUIPg4ghHSABIBdrIgYgAjMBAiAaQX8gA3RBf3Otg3ynIgRPDQIgBCAGayIGIBlNDQEgBygCjEdFDQEgB0HR/gA2AgQgAEG5DDYCGAsgASECIAshBQwFCwJAIA5FBEAgDCARIAZraiEDDAELIAYgDk0EQCAMIA4gBmtqIQMMAQsgDCARIAYgDmsiBmtqIQMgBSAGTQ0AIAUgBmshBQJAAkAgASADTSABIA8gAWusIhogBq0iGyAaIBtUGyIapyIGaiICIANLcQ0AIAMgBmogAUsgASADT3ENACABIAMgBhAHGiACIQEMAQsgASADIAMgAWsiASABQR91IgFqIAFzIgIQByACaiEBIBogAq0iHn0iHFANACACIANqIQIDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgASACKQAANwAAIAEgAikAGDcAGCABIAIpABA3ABAgASACKQAINwAIIBpCIH0hGiACQSBqIQIgAUEgaiEBIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAEgAikAADcAACABIAIpABg3ABggASACKQAQNwAQIAEgAikACDcACCABIAIpADg3ADggASACKQAwNwAwIAEgAikAKDcAKCABIAIpACA3ACAgASACKQBYNwBYIAEgAikAUDcAUCABIAIpAEg3AEggASACKQBANwBAIAEgAikAYDcAYCABIAIpAGg3AGggASACKQBwNwBwIAEgAikAeDcAeCACQYABaiECIAFBgAFqIQEgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAEgAikAADcAACABIAIpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCABIAIpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCABIAIoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCABIAIvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCABIAItAAA6AAAgAkEBaiECIAFBAWohAQsgHEIAUg0ACwsgDiEGIAwhAwsgBSAGSwRAAkACQCABIANNIAEgDyABa6wiGiAGrSIbIBogG1QbIhqnIglqIgIgA0txDQAgAyAJaiABSyABIANPcQ0AIAEgAyAJEAcaDAELIAEgAyADIAFrIgEgAUEfdSIBaiABcyIBEAcgAWohAiAaIAGtIh59IhxQDQAgASADaiEBA0ACQCAcIB4gHCAeVBsiG0IgVARAIBshGgwBCyAbIhpCIH0iIEIFiEIBfEIDgyIfUEUEQANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCAaQiB9IRogAUEgaiEBIAJBIGohAiAfQgF9Ih9CAFINAAsLICBC4ABUDQADQCACIAEpAAA3AAAgAiABKQAYNwAYIAIgASkAEDcAECACIAEpAAg3AAggAiABKQA4NwA4IAIgASkAMDcAMCACIAEpACg3ACggAiABKQAgNwAgIAIgASkAWDcAWCACIAEpAFA3AFAgAiABKQBINwBIIAIgASkAQDcAQCACIAEpAGA3AGAgAiABKQBoNwBoIAIgASkAcDcAcCACIAEpAHg3AHggAUGAAWohASACQYABaiECIBpCgAF9IhpCH1YNAAsLIBpCEFoEQCACIAEpAAA3AAAgAiABKQAINwAIIBpCEH0hGiACQRBqIQIgAUEQaiEBCyAaQghaBEAgAiABKQAANwAAIBpCCH0hGiACQQhqIQIgAUEIaiEBCyAaQgRaBEAgAiABKAAANgAAIBpCBH0hGiACQQRqIQIgAUEEaiEBCyAaQgJaBEAgAiABLwAAOwAAIBpCAn0hGiACQQJqIQIgAUECaiEBCyAcIBt9IRwgGlBFBEAgAiABLQAAOgAAIAJBAWohAiABQQFqIQELIBxCAFINAAsLIAUgBmshAUEAIARrIQUCQCAEQQdLBEAgBCEDDAELIAEgBE0EQCAEIQMMAQsgAiAEayEFA0ACQCACIAUpAAA3AAAgBEEBdCEDIAEgBGshASACIARqIQIgBEEDSw0AIAMhBCABIANLDQELC0EAIANrIQULIAIgBWohBAJAIAUgDyACa6wiGiABrSIbIBogG1QbIhqnIgFIIAVBf0pxDQAgBUEBSCABIARqIAJLcQ0AIAIgBCABEAcgAWohAgwDCyACIAQgAyADQR91IgFqIAFzIgEQByABaiECIBogAa0iHn0iHFANAiABIARqIQEDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIBpCIH0hGiABQSBqIQEgAkEgaiECIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCACIAEpADg3ADggAiABKQAwNwAwIAIgASkAKDcAKCACIAEpACA3ACAgAiABKQBYNwBYIAIgASkAUDcAUCACIAEpAEg3AEggAiABKQBANwBAIAIgASkAYDcAYCACIAEpAGg3AGggAiABKQBwNwBwIAIgASkAeDcAeCABQYABaiEBIAJBgAFqIQIgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAIgASkAADcAACACIAEpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCACIAEpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCACIAEoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCACIAEvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCACIAEtAAA6AAAgAkEBaiECIAFBAWohAQsgHFBFDQALDAILAkAgASADTSABIA8gAWusIhogBa0iGyAaIBtUGyIapyIEaiICIANLcQ0AIAMgBGogAUsgASADT3ENACABIAMgBBAHGgwCCyABIAMgAyABayIBIAFBH3UiAWogAXMiARAHIAFqIQIgGiABrSIefSIcUA0BIAEgA2ohAQNAAkAgHCAeIBwgHlQbIhtCIFQEQCAbIRoMAQsgGyIaQiB9IiBCBYhCAXxCA4MiH1BFBEADQCACIAEpAAA3AAAgAiABKQAYNwAYIAIgASkAEDcAECACIAEpAAg3AAggGkIgfSEaIAFBIGohASACQSBqIQIgH0IBfSIfQgBSDQALCyAgQuAAVA0AA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIAIgASkAODcAOCACIAEpADA3ADAgAiABKQAoNwAoIAIgASkAIDcAICACIAEpAFg3AFggAiABKQBQNwBQIAIgASkASDcASCACIAEpAEA3AEAgAiABKQBgNwBgIAIgASkAaDcAaCACIAEpAHA3AHAgAiABKQB4NwB4IAFBgAFqIQEgAkGAAWohAiAaQoABfSIaQh9WDQALCyAaQhBaBEAgAiABKQAANwAAIAIgASkACDcACCAaQhB9IRogAkEQaiECIAFBEGohAQsgGkIIWgRAIAIgASkAADcAACAaQgh9IRogAkEIaiECIAFBCGohAQsgGkIEWgRAIAIgASgAADYAACAaQgR9IRogAkEEaiECIAFBBGohAQsgGkICWgRAIAIgAS8AADsAACAaQgJ9IRogAkECaiECIAFBAmohAQsgHCAbfSEcIBpQRQRAIAIgAS0AADoAACACQQFqIQIgAUEBaiEBCyAcUEUNAAsMAQsCQAJAIBYEQAJAIAQgBUkEQCAHKAKYRyAESw0BCyABIARrIQMCQEEAIARrIgVBf0ogDyABa6wiGiAbIBogG1QbIhqnIgIgBUpxDQAgBUEBSCACIANqIAFLcQ0AIAEgAyACEAcgAmohAgwFCyABIAMgBCAEQR91IgFqIAFzIgEQByABaiECIBogAa0iHn0iHFANBCABIANqIQEDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIBpCIH0hGiABQSBqIQEgAkEgaiECIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCACIAEpADg3ADggAiABKQAwNwAwIAIgASkAKDcAKCACIAEpACA3ACAgAiABKQBYNwBYIAIgASkAUDcAUCACIAEpAEg3AEggAiABKQBANwBAIAIgASkAYDcAYCACIAEpAGg3AGggAiABKQBwNwBwIAIgASkAeDcAeCABQYABaiEBIAJBgAFqIQIgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAIgASkAADcAACACIAEpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCACIAEpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCACIAEoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCACIAEvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCACIAEtAAA6AAAgAkEBaiECIAFBAWohAQsgHFBFDQALDAQLIBAgAWsiCUEBaiIGIAUgBSAGSxshAyABIARrIQIgAUEHcUUNAiADRQ0CIAEgAi0AADoAACACQQFqIQIgAUEBaiIGQQdxQQAgA0EBayIFGw0BIAYhASAFIQMgCSEGDAILAkAgBCAFSQRAIAcoAphHIARLDQELIAEgASAEayIGKQAANwAAIAEgBUEBa0EHcUEBaiIDaiECIAUgA2siBEUNAyADIAZqIQEDQCACIAEpAAA3AAAgAUEIaiEBIAJBCGohAiAEQQhrIgQNAAsMAwsgASAEIAUQPyECDAILIAEgAi0AADoAASAJQQFrIQYgA0ECayEFIAJBAWohAgJAIAFBAmoiCkEHcUUNACAFRQ0AIAEgAi0AADoAAiAJQQJrIQYgA0EDayEFIAJBAWohAgJAIAFBA2oiCkEHcUUNACAFRQ0AIAEgAi0AADoAAyAJQQNrIQYgA0EEayEFIAJBAWohAgJAIAFBBGoiCkEHcUUNACAFRQ0AIAEgAi0AADoABCAJQQRrIQYgA0EFayEFIAJBAWohAgJAIAFBBWoiCkEHcUUNACAFRQ0AIAEgAi0AADoABSAJQQVrIQYgA0EGayEFIAJBAWohAgJAIAFBBmoiCkEHcUUNACAFRQ0AIAEgAi0AADoABiAJQQZrIQYgA0EHayEFIAJBAWohAgJAIAFBB2oiCkEHcUUNACAFRQ0AIAEgAi0AADoAByAJQQdrIQYgA0EIayEDIAFBCGohASACQQFqIQIMBgsgCiEBIAUhAwwFCyAKIQEgBSEDDAQLIAohASAFIQMMAwsgCiEBIAUhAwwCCyAKIQEgBSEDDAELIAohASAFIQMLAkACQCAGQRdNBEAgA0UNASADQQFrIQUgA0EHcSIEBEADQCABIAItAAA6AAAgA0EBayEDIAFBAWohASACQQFqIQIgBEEBayIEDQALCyAFQQdJDQEDQCABIAItAAA6AAAgASACLQABOgABIAEgAi0AAjoAAiABIAItAAM6AAMgASACLQAEOgAEIAEgAi0ABToABSABIAItAAY6AAYgASACLQAHOgAHIAFBCGohASACQQhqIQIgA0EIayIDDQALDAELIAMNAQsgASECDAELIAEgBCADED8hAgsgCyEFDAELIAEgAy0AAjoAACABQQFqIQILIAUgFE8NACACIBNJDQELCyAAIAI2AgwgACAFIAhBA3ZrIgE2AgAgACATIAJrQYMCajYCECAAIBQgAWtBDmo2AgQgByAIQQdxIgA2AogBIAcgHUJ/IACthkJ/hYM+AoQBC+cFAQR/IAMgAiACIANLGyEEIAAgAWshAgJAIABBB3FFDQAgBEUNACAAIAItAAA6AAAgA0EBayEGIAJBAWohAiAAQQFqIgdBB3FBACAEQQFrIgUbRQRAIAchACAFIQQgBiEDDAELIAAgAi0AADoAASADQQJrIQYgBEECayEFIAJBAWohAgJAIABBAmoiB0EHcUUNACAFRQ0AIAAgAi0AADoAAiADQQNrIQYgBEEDayEFIAJBAWohAgJAIABBA2oiB0EHcUUNACAFRQ0AIAAgAi0AADoAAyADQQRrIQYgBEEEayEFIAJBAWohAgJAIABBBGoiB0EHcUUNACAFRQ0AIAAgAi0AADoABCADQQVrIQYgBEEFayEFIAJBAWohAgJAIABBBWoiB0EHcUUNACAFRQ0AIAAgAi0AADoABSADQQZrIQYgBEEGayEFIAJBAWohAgJAIABBBmoiB0EHcUUNACAFRQ0AIAAgAi0AADoABiADQQdrIQYgBEEHayEFIAJBAWohAgJAIABBB2oiB0EHcUUNACAFRQ0AIAAgAi0AADoAByADQQhrIQMgBEEIayEEIABBCGohACACQQFqIQIMBgsgByEAIAUhBCAGIQMMBQsgByEAIAUhBCAGIQMMBAsgByEAIAUhBCAGIQMMAwsgByEAIAUhBCAGIQMMAgsgByEAIAUhBCAGIQMMAQsgByEAIAUhBCAGIQMLAkAgA0EXTQRAIARFDQEgBEEBayEBIARBB3EiAwRAA0AgACACLQAAOgAAIARBAWshBCAAQQFqIQAgAkEBaiECIANBAWsi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CyAAIAMtAAAEfiADKQMQBUIAC6dB//8DcSADKAIEEEcLIQUgAxAICyAEQRBqJAAgBQvgAQICfwF+QTAQCSICRQRAIAEEQCABQQA2AgQgAUEONgIAC0EADwsgAkIANwMIIAJBADYCACACQgA3AxAgAkIANwMYIAJCADcDICACQgA3ACUgAFAEQCACDwsCQCAAQv////8AVg0AIACnQQR0EAkiA0UNACACIAM2AgBBACEBQgEhBANAIAMgAUEEdGoiAUIANwIAIAFCADcABSAAIARSBEAgBKchASAEQgF8IQQMAQsLIAIgADcDCCACIAA3AxAgAg8LIAEEQCABQQA2AgQgAUEONgIAC0EAEBAgAhAGQQAL7gECA38BfiMAQRBrIgQkAAJAIARBDGpCBBAXIgNFBEBBfyECDAELAkAgAQRAIAJBgAZxIQUDQAJAIAUgASgCBHFFDQACQCADKQMIQgBUBEAgA0EAOgAADAELIANCADcDECADQQE6AAALIAMgAS8BCBANIAMgAS8BChANIAMtAABFBEAgAEEIaiIABEAgAEEANgIEIABBFDYCAAtBfyECDAQLQX8hAiAAIARBDGpCBBAbQQBIDQMgATMBCiIGUA0AIAAgASgCDCAGEBtBAEgNAwsgASgCACIBDQALC0EAIQILIAMQCAsgBEEQaiQAIAILPAEBfyAABEAgAUGABnEhAQNAIAEgACgCBHEEQCACIAAvAQpqQQRqIQILIAAoAgAiAA0ACwsgAkH//wNxC5wBAQN/IABFBEBBAA8LIAAhAwNAAn8CQAJAIAAvAQgiAUH04AFNBEAgAUEBRg0BIAFB9cYBRg0BDAILIAFBgbICRg0AIAFB9eABRw0BCyAAKAIAIQEgAEEANgIAIAAoAgwQBiAAEAYgASADIAAgA0YbIQMCQCACRQRAQQAhAgwBCyACIAE2AgALIAEMAQsgACICKAIACyIADQALIAMLsgQCBX8BfgJAAkACQCAAIAGtEBciAQRAIAEtAAANAUEAIQAMAgsgBARAIARBADYCBCAEQQ42AgALQQAPC0EAIQADQCABLQAABH4gASkDCCABKQMQfQVCAAtCBFQNASABEAwhByABIAEQDCIGrRATIghFBEBBACECIAQEQCAEQQA2AgQgBEEVNgIACyABEAggAEUNAwNAIAAoAgAhASAAKAIMEAYg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DCAAQRg2AggLDAMLIAAgBiAFLwFqQQAgBCABEQYAIQEgBhALIAFFDQILAkAgDUUEQCABIQMMAQsgACABIAUvAWgQgQEhAyABEAsgA0UNAQsCQCAJRSAMckUEQCADIQEMAQsgACADQQEQgAEhASADEAsgAUUNAQsgASEDDAELQQAhAwsgBUHwAGokACADC4UBAQF/IAFFBEAgAEEIaiIABEAgAEEANgIEIABBEjYCAAtBAA8LQTgQCSIDRQRAIABBCGoiAARAIABBADYCBCAAQQ42AgALQQAPCyADQQA2AhAgA0IANwIIIANCADcDKCADQQA2AgQgAyACNgIAIANCADcDGCADQQA2AjAgACABQTsgAxBCCw8AIAAgASACQQBBABCCAQusAgECfyABRQRAIABBCGoiAARAIABBADYCBCAAQRI2AgALQQAPCwJAIAJBfUsNACACQf//A3FBCEYNACAAQQhqIgAEQCAAQQA2AgQgAEEQNgIAC0EADwsCQEGwwAAQCSIFBEAgBUEANgIIIAVCADcCACAFQYiBAUGogQEgAxs2AqhAIAUgAjYCFCAFIAM6ABAgBUEAOgAPIAVBADsBDCAFIAMgAkF9SyIGcToADiAFQQggAiAGG0H//wNxIAQgBUGIgQFBqIEBIAMbKAIAEQAAIgI2AqxAIAINASAFEDEgBRAGCyAAQQhqIgAEQCAAQQA2AgQgAEEONgIAC0EADwsgACABQTogBRBCIgAEfyAABSAFKAKsQCAFKAKoQCgCBBEDACAFEDEgBRAGQQALC6ABAQF/IAIgACgCBCIDIAIgA0kbIgIEQCAAIAMgAms2AgQCQAJAAkACQCAAKAIcIgMoAhRBAWsOAgEAAgsgA0GgAWogASAAKAIAIAJB3IABKAIAEQgADAILIAAgACgCMCABIAAoAgAgAkHEgAEoAgARBAA2AjAMAQsgASAAKAIAIAIQBxoLIAAgACgCACACajYCACAAIAAoAgggAmo2AggLC7cCAQR/QX4hAgJAIABFDQAgACgCIEUNACAAKAIkIgRFDQAgACgCHCIBRQ0AIAEoAgAgAEcNAAJAAkAgASgCICIDQTlrDjkBAgICAgICAgICAgIBAgICAQICAgICAgICAgICAgICAgICAQICAgICAgICAgICAQICAgICAgICAgEACyADQZoFRg0AIANBKkcNAQsCfwJ/An8gASgCBCICBEAgBCAAKAIoIAIQHiAAKAIcIQELIAEoAlAiAgsEQCAAKAIkIAAoAiggAhAeIAAoAhwhAQsgASgCTCICCwRAIAAoAiQgACgCKCACEB4gACgCHCEBCyABKAJIIgILBEAgACgCJCAAKAIoIAIQHiAAKAIcIQELIAAoAiQgACgCKCABEB4gAEEANgIcQX1BACADQfEARhshAgsgAgvrCQEIfyAAKAIwIgMgACgCDEEFayICIAIgA0sbIQggACgCACIEKAIEIQkgAUEERiEHAkADQCAEKAIQIgMgACgCoC5BKmpBA3UiAkkEQEEBIQYMAgsgCCADIAJrIgMgACgCaCAAKAJYayICIAQoAgRqIgVB//8DIAVB//8DSRsiBiADIAZJGyIDSwRAQQEhBiADQQBHIAdyRQ0CIAFFDQIgAyAFRw0CCyAAQQBBACAHIAMgBUZxIgUQOSAAIAAoAhBBBGsiBDYCECAAKAIEIARqIAM7AAAgACAAKAIQQQJqIgQ2AhAgACgCBCAEaiADQX9zOwAAIAAgACgCEEECajYCECAAKAIAEAoCfyACBEAgACgCACgCDCAAKAJIIAAoAlhqIAMgAiACIANLGyICEAcaIAAoAgAiBCAEKAIMIAJqNgIMIAQgBCgCECACazYCECAEIAQoAhQgAmo2AhQgACAAKAJYIAJqNgJYIAMgAmshAwsgAwsEQCAAKAIAIgIgAigCDCADEIMBIAAoAgAiAiACKAIMIANqNgIMIAIgAigCECADazYCECACIAIoAhQgA2o2AhQLIAAoAgAhBCAFRQ0AC0EAIQYLAkAgCSAEKAIEayICRQRAIAAoAmghAwwBCwJAIAAoAjAiAyACTQRAIABBAjYCgC4gACgCSCAEKAIAIANrIAMQBxogACAAKAIwIgM2AoQuIAAgAzYCaAwBCyACIAAoAkQgACgCaCIFa08EQCAAIAUgA2siBDYCaCAAKAJIIgUgAyAFaiAEEAcaIAAoAoAuIgNBAU0EQCAAIANBAWo2AoAuCyAAIAAoAmgiBSAAKAKELiIDIAMgBUsbNgKELiAAKAIAIQQLIAAoAkggBWogBCgCACACayACEAcaIAAgACgCaCACaiIDNgJoIAAgACgCMCAAKAKELiIEayIFIAIgAiAFSxsgBGo2AoQuCyAAIAM2AlgLIAAgAyAAKAJAIgIgAiADSRs2AkBBAyECAkAgBkUNACAAKAIAIgUoAgQhAgJAAkAgAUF7cUUNACACDQBBASECIAMgACgCWEYNAiAAKAJEIANrIQRBACECDAELIAIgACgCRCADayIETQ0AIAAoAlgiByAAKAIwIgZIDQAgACADIAZrIgM2AmggACAHIAZrNgJYIAAoAkgiAiACIAZqIAMQBxogACgCgC4iA0EBTQRAIAAgA0EBajYCgC4LIAAgACgCaCIDIAAoAoQuIgIgAiADSxs2AoQuIAAoAjAgBGohBCAAKAIAIgUoAgQhAgsCQCACIAQgAiAESRsiAkUEQCAAKAIwIQUMAQsgBSAAKAJIIANqIAIQgwEgACAAKAJoIAJqIgM2AmggACAAKAIwIgUgACgChC4iBGsiBiACIAIgBksbIARqNgKELgsgACADIAAoAkAiAiACIANJGzYCQCADIAAoAlgiBmsiAyAFIAAoAgwgACgCoC5BKmpBA3VrIgJB//8DIAJB//8DSRsiBCAEIAVLG0kEQEEAIQIgAUEERiADQQBHckUNASABRQ0BIAAoAgAoAgQNASADIARLDQELQQAhAiABQQRGBEAgACgCACgCBEUgAyAETXEhAgsgACAAKAJIIAZqIAQgAyADIARLGyIBIAIQOSAAIAAoAlggAWo2AlggACgCABAKQQJBACACGw8LIAIL/woCCn8DfiAAKQOYLiENIAAoAqAuIQQgAkEATgRAQQRBAyABLwECIggbIQlBB0GKASAIGyEFQX8hCgNAIAghByABIAsiDEEBaiILQQJ0ai8BAiEIAkACQCAGQQFqIgMgBU4NACAHIAhHDQAgAyEGDAELAkAgAyAJSARAIAAgB0ECdGoiBkHOFWohCSAGQcwVaiEKA0AgCjMBACEPAn8gBCAJLwEAIgZqIgVBP00EQCAPIASthiANhCENIAUMAQsgBEHAAEYEQCAAKAIEIAAoAhBqIA03AAAgACAAKAIQQQhqNgIQIA8hDSAGDAELIAAoAgQgACgCEGogDyAErYYgDYQ3AAAgACAAKAIQQQhqNgIQIA9BwAAgBGutiCENIAVBQGoLIQQgA0EBayIDDQALDAELIAcEQAJAIAcgCkYEQCANIQ8gBCEFIAMhBgwBCyAAIAdBAnRqIgNBzBVqMwEAIQ8gBCADQc4Vai8BACIDaiIFQT9NBEAgDyAErYYgDYQhDwwBCyAEQcAARgRAIAAoAgQgACgCEGogDTcAACAAIAAoAhBBCGo2AhAgAyEFDAELIAAoAgQgACgCEGogDyAErYYgDYQ3AAAgACAAKAIQQQhqNgIQIAVBQGohBSAPQcAAIARrrYghDwsgADMBjBYhDgJAIAUgAC8BjhYiBGoiA0E/TQRAIA4gBa2GIA+EIQ4MAQsgBUHAAEYEQCAAKAIEIAAoAhBqIA83AAAgACAAKAIQQQhqNgIQIAQhAwwBCyAAKAIEIAAoAhBqIA4gBa2GIA+ENwAAIAAgACgCEEEIajYCECADQUBqIQMgDkHAACAFa62IIQ4LIAasQgN9IQ0gA0E9TQRAIANBAmohBCANIAOthiAOhCENDAILIANBwABGBEAgACgCBCAAKAIQaiAONwAAIAAgACgCEEEIajYCEEECIQQMAgsgACgCBCAAKAIQaiANIAOthiAOhDcAACAAIAAoAhBBCGo2AhAgA0E+ayEEIA1BwAAgA2utiCENDAELIAZBCUwEQCAAMwGQFiEOAkAgBCAALwGSFiIFaiIDQT9NBEAgDiAErYYgDYQhDgwBCyAEQcAARgRAIAAoAgQgACgCEGogDTcAACAAIAAoAhBBCGo2AhAgBSEDDAELIAAoAgQgACgCEGogDiAErYYgDYQ3AAAgACAAKAIQQQhqNgIQIANBQGohAyAOQcAAIARrrYghDgsgBqxCAn0hDSADQTxNBEAgA0EDaiEEIA0gA62GIA6EIQ0MAgsgA0HAAEYEQCAAKAIEIAAoAhBqIA43AAAgACAAKAIQQQhqNgIQQQMhBAwCCyAAKAIEIAAoAhBqIA0gA62GIA6ENwAAIAAgACgCEEEIajYCECADQT1rIQQgDUHAACADa62IIQ0MAQsgADMBlBYhDgJAIAQgAC8BlhYiBWoiA0E/TQRAIA4gBK2GIA2EIQ4MAQsgBEHAAEYEQCAAKAIEIAAoAhBqIA03AAAgACAAKAIQQQhqNgIQIAUhAwwBCyAAKAIEIAAoAhBqIA4gBK2GIA2ENwAAIAAgACgCEEEIajYCECADQUBqIQMgDkHAACAEa62IIQ4LIAatQgp9IQ0gA0E4TQRAIANBB2ohBCANIAOthiAOhCENDAELIANBwABGBEAgACgCBCAAKAIQaiAONwAAIAAgACgCEEEIajYCEEEHIQQMAQsgACgCBCAAKAIQaiANIAOthiAOhDcAACAAIAAoAhBBCGo2AhAgA0E5ayEEIA1BwAAgA2utiCENC0EAIQYCfyAIRQRAQYoBIQVBAwwBC0EGQQcgByAIRiIDGyEFQQNBBCADGwshCSAHIQoLIAIgDEcNAAsLIAAgBDYCoC4gACANNwOYLgv5BQIIfwJ+AkAgACgC8C1FBEAgACkDmC4hCyAAKAKgLiEDDAELA0AgCSIDQQNqIQkgAyAAKALsLWoiAy0AAiEFIAApA5guIQwgACgCoC4hBAJAIAMvAAAiB0UEQCABIAVBAnRqIgMzAQAhCyAEIAMvAQIiBWoiA0E/TQRAIAsgBK2GIAyEIQsMAgsgBEHAAEYEQCAAKAIEIAAoAhBqIAw3AAAgACAAKAIQQQhqNgIQIAUhAwwCCyAAKAIEIAAoAhBqIAsgBK2GIAyENwAAIAAgACgCEEEIajYCECADQUBqIQMgC0HAACAEa62IIQsMAQsgBUGAzwBqLQAAIghBAnQiBiABaiIDQYQIajMBACELIANBhghqLwEAIQMgCEEIa0ETTQRAIAUgBkGA0QBqKAIAa60gA62GIAuEIQsgBkHA0wBqKAIAIANqIQMLIAMgAiAHQQFrIgcgB0EHdkGAAmogB0GAAkkbQYDLAGotAAAiBUECdCIIaiIKLwECaiEGIAozAQAgA62GIAuEIQsgBCAFQQRJBH8gBgUgByAIQYDSAGooAgBrrSAGrYYgC4QhCyAIQcDUAGooAgAgBmoLIgVqIgNBP00EQCALIASthiAMhCELDAELIARBwABGBEAgACgCBCAAKAIQaiAMNwAAIAAgACgCEEEIajYCECAFIQMMAQsgACgCBCAAKAIQaiALIASthiAMhDcAACAAIAAoAhBBCGo2AhAgA0FAaiEDIAtBwAAgBGutiCELCyAAIAs3A5guIAAgAzYCoC4gCSAAKALwLUkNAAsLIAFBgAhqMwEAIQwCQCADIAFBgghqLwEAIgJqIgFBP00EQCAMIAOthiALhCEMDAELIANBwABGBEAgACgCBCAAKAIQaiALNwAAIAAgACgCEEEIajYCECACIQEMAQsgACgCBCAAKAIQaiAMIAOthiALhDcAACAAIAAoAhBBCGo2AhAgAUFAaiEBIAxBwAAgA2utiCEMCyAAIAw3A5guIAAgATYCoC4L8AQBA38gAEHkAWohAgNAIAIgAUECdCIDakEAOwEAIAIgA0EEcmpBADsBACABQQJqIgFBngJHDQALIABBADsBzBUgAEEAOwHYEyAAQZQWakEAOwEAIABBkBZqQQA7AQAgAEGMFmpBADsBACAAQYgWakEAOwEAIABBhBZqQQA7AQAgAEGAFmpBADsBACAAQfwVakEAOwEAIABB+BVqQQA7AQAgAEH0FWpBADsBACAAQfAVakEAOwEAIABB7BVqQQA7AQAgAEHoFWpBADsBACAAQeQVakEAOwEAIABB4BVqQQA7AQAgAEHcFWpBADsBACAAQdgVakEAOwEAIABB1BVqQQA7AQAgAEHQFWpBADsBACAAQcwUakEAOwEAIABByBRqQQA7AQAgAEHEFGpBADsBACAAQcAUakEAOwEAIABBvBRqQQA7AQAgAEG4FGpBADsBACAAQbQUakEAOwEAIABBsBRqQQA7AQAgAEGsFGpBADsBACAAQagUakEAOwEAIABBpBRqQQA7AQAgAEGgFGpBADsBACAAQZwUakEAOwEAIABBmBRqQQA7AQAgAEGUFGpBADsBACAAQZAUakEAOwEAIABBjBRqQQA7AQAgAEGIFGpBADsBACAAQYQUakEAOwEAIABBgBRqQQA7AQAgAEH8E2pBADsBACAAQfgTakEAOwEAIABB9BNqQQA7AQAgAEHwE2pBADsBACAAQewTakEAOwEAIABB6BNqQQA7AQAgAEHkE2pBADsBACAAQeATakEAOwEAIABB3BNqQQA7AQAgAEIANwL8LSAAQeQJakEBOwEAIABBADYC+C0gAEEANgLwLQuKAwIGfwR+QcgAEAkiBEUEQEEADwsgBEIANwMAIARCADcDMCAEQQA2AiggBEIANwMgIARCADcDGCAEQgA3AxAgBEIANwMIIARCADcDOCABUARAIARBCBAJIgA2AgQgAEUEQCAEEAYgAwRAIANBADYCBCADQQ42AgALQQAPCyAAQgA3AwAgBA8LAkAgAaciBUEEdBAJIgZFDQAgBCAGNgIAIAVBA3RBCGoQCSIFRQ0AIAQgATcDECAEIAU2AgQDQCAAIAynIghBBHRqIgcpAwgiDVBFBEAgBygCACIHRQRAIAMEQCADQQA2AgQgA0ESNgIACyAGEAYgBRAGIAQQBkEADwsgBiAKp0EEdGoiCSANNwMIIAkgBzYCACAFIAhBA3RqIAs3AwAgCyANfCELIApCAXwhCgsgDEIBfCIMIAFSDQALIAQgCjcDCCAEQgAgCiACGzcDGCAFIAqnQQN0aiALNwMAIAQgCzcDMCAEDwsgAwRAIANBADYCBCADQQ42AgALIAYQBiAEEAZBAAvlAQIDfwF+QX8hBQJAIAAgASACQQAQJiIERQ0AIAAgASACEIsBIgZFDQACfgJAIAJBCHENACAAKAJAIAGnQQR0aigCCCICRQ0AIAIgAxAhQQBOBEAgAykDAAwCCyAAQQhqIgAEQCAAQQA2AgQgAEEPNgIAC0F/DwsgAxAqIAMgBCgCGDYCLCADIAQpAyg3AxggAyAEKAIUNgIoIAMgBCkDIDcDICADIAQoAhA7ATAgAyAELwFSOwEyQvwBQtwBIAQtAAYbCyEHIAMgBjYCCCADIAE3AxAgAyAHQgOENwMAQQAhBQsgBQspAQF/IAAgASACIABBCGoiABAmIgNFBEBBAA8LIAMoAjBBACACIAAQJQuAAwEGfwJ/An9BMCABQYB/Sw0BGgJ/IAFBgH9PBEBBhIQBQTA2AgBBAAwBC0EAQRAgAUELakF4cSABQQtJGyIFQcwAahAJIgFFDQAaIAFBCGshAgJAIAFBP3FFBEAgAiEBDAELIAFBBGsiBigCACIHQXhxIAFBP2pBQHFBCGsiASABQUBrIAEgAmtBD0sbIgEgAmsiA2shBCAHQQNxRQRAIAIoAgAhAiABIAQ2AgQgASACIANqNgIADAELIAEgBCABKAIEQQFxckECcjYCBCABIARqIgQgBCgCBEEBcjYCBCAGIAMgBigCAEEBcXJBAnI2AgAgAiADaiIEIAQoAgRBAXI2AgQgAiADEDsLAkAgASgCBCICQQNxRQ0AIAJBeHEiAyAFQRBqTQ0AIAEgBSACQQFxckECcjYCBCABIAVqIgIgAyAFayIFQQNyNgIEIAEgA2oiAyADKAIEQQFyNgIEIAIgBRA7CyABQQhqCyIBRQsEQEEwDwsgACABNgIAQQALCwoAIABBiIQBEAQL6AIBBX8gACgCUCEBIAAvATAhBEEEIQUDQCABQQAgAS8BACICIARrIgMgAiADSRs7AQAgAUEAIAEvAQIiAiAEayIDIAIgA0kbOwECIAFBACABLwEEIgIgBGsiAyACIANJGzsBBCABQQAgAS8BBiICIARrIgMgAiADSRs7AQYgBUGAgARGRQRAIAFBCGohASAFQQRqIQUMAQsLAkAgBEUNACAEQQNxIQUgACgCTCEBIARBAWtBA08EQCAEIAVrIQADQCABQQAgAS8BACICIARrIgMgAiADSRs7AQAgAUEAIAEvAQIiAiAEayIDIAIgA0kbOwECIAFBACABLwEEIgIgBGsiAyACIANJGzsBBCABQQAgAS8BBiICIARrIgMgAiADSRs7AQYgAUEIaiEBIABBBGsiAA0ACwsgBUUNAANAIAFBACABLwEAIgAgBGsiAiAAIAJJGzsBACABQQJqIQEgBUEBayIFDQALCwuDAQEEfyACQQFOBEAgAiAAKAJIIAFqIgJqIQMgACgCUCEEA0AgBCACKAAAQbHz3fF5bEEPdkH+/wdxaiIFLwEAIgYgAUH//wNxRwRAIAAoAkwgASAAKAI4cUH//wNxQQF0aiAGOwEAIAUgATsBAAsgAUEBaiEBIAJBAWoiAiADSQ0ACwsLUAECfyABIAAoAlAgACgCSCABaigAAEGx893xeWxBD3ZB/v8HcWoiAy8BACICRwRAIAAoAkwgACgCOCABcUEBdGogAjsBACADIAE7AQALIAILugEBAX8jAEEQayICJAAgAkEAOgAIQYCBAUECNgIAQfyAAUEDNgIAQfiAAUEENgIAQfSAAUEFNgIAQfCAAUEGNgIAQeyAAUEHNgIAQeiAAUEINgIAQeSAAUEJNgIAQeCAAUEKNgIAQdyAAUELNgIAQdiAAUEMNgIAQdSAAUENNgIAQdCAAUEONgIAQcyAAUEPNgIAQciAAUEQNgIAQcSAAUERNgIAQcCAAUESNgIAIAAgARBYIAJBEGokAAu9AQEBfyMAQRBrIgEkACABQQA6AAhBgIEBQQI2AgBB/IABQQM2AgBB+IABQQQ2AgBB9IABQQU2AgBB8IABQQY2AgBB7IABQQc2AgBB6IABQQg2AgBB5IABQQk2AgBB4IABQQo2AgBB3IABQQs2AgBB2IABQQw2AgBB1IABQQ02AgBB0IABQQ42AgBBzIABQQ82AgBByIABQRA2AgBBxIABQRE2AgBBwIABQRI2AgAgAEEANgJAIAFBEGokAEEAC70BAQF/IwBBEGsiASQAIAFBADoACEGAgQFBAjYCAEH8gAFBAzYCAEH4gAFBBDYCAEH0gAFBBTYCAEHwgAFBBjYCAEHsgAFBBzYCAEHogAFBCDYCAEHkgAFBCTYCAEHggAFBCjYCAEHcgAFBCzYCAEHYgAFBDDYCAEHUgAFBDTYCAEHQgAFBDjYCAEHMgAFBDzYCAEHIgAFBEDYCAEHEgAFBETYCAEHAgAFBEjYCACAAKAJAIQAgAUEQaiQAIAALvgEBAX8jAEEQayIEJAAgBEEAOgAIQYCBAUECNgIAQfyAAUEDNgIAQfiAAUEENgIAQfSAAUEFNgIAQfCAAUEGNgIAQeyAAUEHNgIAQeiAAUEINgIAQeSAAUEJNgIAQeCAAUEKNgIAQdyAAUELNgIAQdiAAUEMNgIAQdSAAUENNgIAQdCAAUEONgIAQcyAAUEPNgIAQciAAUEQNgIAQcSAAUERNgIAQcCAAUESNgIAIAAgASACIAMQVyAEQRBqJAALygEAIwBBEGsiAyQAIANBADoACEGAgQFBAjYCAEH8gAFBAzYCAEH4gAFBBDYCAEH0gAFBBTYCAEHwgAFBBjYCAEHsgAFBBzYCAEHogAFBCDYCAEHkgAFBCTYCAEHggAFBCjYCAEHcgAFBCzYCAEHYgAFBDDYCAEHUgAFBDTYCAEHQgAFBDjYCAEHMgAFBDzYCAEHIgAFBEDYCAEHEgAFBETYCAEHAgAFBEjYCACAAIAAoAkAgASACQdSAASgCABEAADYCQCADQRBqJAALwAEBAX8jAEEQayIDJAAgA0EAOgAIQYCBAUECNgIAQfyAAUEDNgIAQfiAAUEENgIAQfSAAUEFNgIAQfCAAUEGNgIAQeyAAUEHNgIAQeiAAUEINgIAQeSAAUEJNgIAQeCAAUEKNgIAQdyAAUELNgIAQdiAAUEMNgIAQdSAAUENNgIAQdCAAUEONgIAQcyAAUEPNgIAQciAAUEQNgIAQcSAAUERNgIAQcCAAUESNgIAIAAgASACEF0hACADQRBqJAAgAAu+AQEBfyMAQRBrIgIkACACQQA6AAhBgIEBQQI2AgBB/IABQQM2AgBB+IABQQQ2AgBB9IABQQU2AgBB8IABQQY2AgBB7IABQQc2AgBB6IABQQg2AgBB5IABQQk2AgBB4IABQQo2AgBB3IABQQs2AgBB2IABQQw2AgBB1IABQQ02AgBB0IABQQ42AgBBzIABQQ82AgBByIABQRA2AgBBxIABQRE2AgBBwIABQRI2AgAgACABEFwhACACQRBqJAAgAAu2AQEBfyMAQRBrIgAkACAAQQA6AAhBgIEBQQI2AgBB/IABQQM2AgBB+IABQQQ2AgBB9IABQQU2AgBB8IABQQY2AgBB7IABQQc2AgBB6IABQQg2AgBB5IABQQk2AgBB4IABQQo2AgBB3IABQQs2AgBB2IABQQw2AgBB1IABQQ02AgBB0IABQQ42AgBBzIABQQ82AgBByIABQRA2AgBBxIABQRE2AgBBwIABQRI2AgAgAEEQaiQAQQgLwgEBAX8jAEEQayIEJAAgBEEAOgAIQYCBAUECNgIAQfyAAUEDNgIAQfiAAUEENgIAQfSAAUEFNgIAQfCAAUEGNgIAQeyAAUEHNgIAQeiAAUEINgIAQeSAAUEJNgIAQeCAAUEKNgIAQdyAAUELNgIAQdiAAUEMNgIAQdSAAUENNgIAQdCAAUEONgIAQcyAAUEPNgIAQciAAUEQNgIAQcSAAUERNgIAQcCAAUESNgIAIAAgASACIAMQWSEAIARBEGokACAAC8IBAQF/IwBBEGsiBCQAIARBADoACEGAgQFBAjYCAEH8gAFBAzYCAEH4gAFBBDYCAEH0gAFBBTYCAEHwgAFBBjYCAEHsgAFBBzYCAEHogAFBCDYCAEHkgAFBCTYCAEHggAFBCjYCAEHcgAFBCzYCAEHYgAFBDDYCAEHUgAFBDTYCAEHQgAFBDjYCAEHMgAFBDzYCAEHIgAFBEDYCAEHEgAFBETYCAEHAgAFBEjYCACAAIAEgAiADEFYhACAEQRBqJAAgAAsHACAALwEwC8ABAQF/IwBBEGsiAyQAIANBADoACEGAgQFBAjYCAEH8gAFBAzYCAEH4gAFBBDYCAEH0gAFBBTYCAEHwgAFBBjYCAEHsgAFBBzYCAEHogAFBCDYCAEHkgAFBCTYCAEHggAFBCjYCAEHcgAFBCzYCAEHYgAFBDDYCAEHUgAFBDTYCAEHQgAFBDjYCAEHMgAFBDzYCAEHIgAFBEDYCAEHEgAFBETYCAEHAgAFBEjYCACAAIAEgAhBVIQAgA0EQaiQAIAALBwAgACgCQAsaACAAIAAoAkAgASACQdSAASgCABEAADYCQAsLACAAQQA2AkBBAAsHACAAKAIgCwQAQQgLzgUCA34BfyMAQYBAaiIIJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAEDhECAwwFAAEECAkJCQkJCQcJBgkLIANCCFoEfiACIAEoAmQ2AgAgAiABKAJoNgIEQggFQn8LIQYMCwsgARAGDAoLIAEoAhAiAgRAIAIgASkDGCABQeQAaiICEEEiA1ANCCABKQMIIgVCf4UgA1QEQCACBEAgAkEANgIEIAJBFTYCAAsMCQsgAUEANgIQIAEgAyAFfDcDCCABIAEpAwAgA3w3AwALIAEtAHgEQCABKQMAIQUMCQtCACEDIAEpAwAiBVAEQCABQgA3AyAMCgsDQCAAIAggBSADfSIFQoDAACAFQoDAAFQbEBEiB0J/VwRAIAFB5ABqIgEEQCABIAAoAgw2AgAgASAAKAIQNgIECwwJCyAHUEUEQCABKQMAIgUgAyAHfCIDWA0KDAELCyABQeQAagRAIAFBADYCaCABQRE2AmQLDAcLIAEpAwggASkDICIFfSIHIAMgAyAHVhsiA1ANCAJAIAEtAHhFDQAgACAFQQAQFEF/Sg0AIAFB5ABqIgEEQCABIAAoAgw2AgAgASAAKAIQNgIECwwHCyAAIAIgAxARIgZCf1cEQCABQeQAagRAIAFBADYCaCABQRE2AmQLDAcLIAEgASkDICAGfCIDNwMgIAZCAFINCEIAIQYgAyABKQMIWg0IIAFB5ABqBEAgAUEANgJoIAFBETYCZAsMBgsgASkDICABKQMAIgV9IAEpAwggBX0gAiADIAFB5ABqEEQiA0IAUw0FIAEgASkDACADfDcDIAwHCyACIAFBKGoQYEEfdawhBgwGCyABMABgIQYMBQsgASkDcCEGDAQLIAEpAyAgASkDAH0hBgwDCyABQeQAagRAIAFBADYCaCABQRw2AmQLC0J/IQYMAQsgASAFNwMgCyAIQYBAayQAIAYLBwAgACgCAAsPACAAIAAoAjBBAWo2AjALGABB+IMBQgA3AgBBgIQBQQA2AgBB+IMBCwcAIABBDGoLBwAgACgCLAsHACAAKAIoCwcAIAAoAhgLFQAgACABrSACrUIghoQgAyAEEIoBCxMBAX4gABAzIgFCIIinEAAgAacLbwEBfiABrSACrUIghoQhBSMAQRBrIgEkAAJ/IABFBEAgBVBFBEAgBARAIARBADYCBCAEQRI2AgALQQAMAgtBAEIAIAMgBBA6DAELIAEgBTcDCCABIAA2AgAgAUIBIAMgBBA6CyEAIAFBEGokACAACxQAIAAgASACrSADrUIghoQgBBBSC9oCAgJ/AX4CfyABrSACrUIghoQiByAAKQMwVEEAIARBCkkbRQRAIABBCGoEQCAAQQA2AgwgAEESNgIIC0F/DAELIAAtABhBAnEEQCAAQQhqBEAgAEEANgIMIABBGTYCCAtBfwwBCyADBH8gA0H//wNxQQhGIANBfUtyBUEBC0UEQCAAQQhqBEAgAEEANgIMIABBEDYCCAtBfwwBCyAAKAJAIgEgB6ciBUEEdGooAgAiAgR/IAIoAhAgA0YFIANBf0YLIQYgASAFQQR0aiIBIQUgASgCBCEBAkAgBgRAIAFFDQEgAUEAOwFQIAEgASgCAEF+cSIANgIAIAANASABECAgBUEANgIEQQAMAgsCQCABDQAgBSACECsiATYCBCABDQAgAEEIagRAIABBADYCDCAAQQ42AggLQX8MAgsgASAEOwFQIAEgAzYCECABIAEoAgBBAXI2AgALQQALCxwBAX4gACABIAIgAEEIahBMIgNCIIinEAAgA6cLHwEBfiAAIAEgAq0gA61CIIaEEBEiBEIgiKcQACAEpwteAQF+An5CfyAARQ0AGiAAKQMwIgIgAUEIcUUNABpCACACUA0AGiAAKAJAIQADQCACIAKnQQR0IABqQRBrKAIADQEaIAJCAX0iAkIAUg0AC0IACyICQiCIpxAAIAKnCxMAIAAgAa0gAq1CIIaEIAMQiwELnwEBAn4CfiACrSADrUIghoQhBUJ/IQQCQCAARQ0AIAAoAgQNACAAQQRqIQIgBUJ/VwRAIAIEQCACQQA2AgQgAkESNgIAC0J/DAILQgAhBCAALQAQDQAgBVANACAAKAIUIAEgBRARIgRCf1UNACAAKAIUIQAgAgRAIAIgACgCDDYCACACIAAoAhA2AgQLQn8hBAsgBAsiBEIgiKcQACAEpwueAQEBfwJ/IAAgACABrSACrUIghoQgAyAAKAIcEH8iAQRAIAEQMkF/TARAIABBCGoEQCAAIAEoAgw2AgggACABKAIQNgIMCyABEAtBAAwCC0EYEAkiBEUEQCAAQQhqBEAgAEEANgIMIABBDjYCCAsgARALQQAMAgsgBCAANgIAIARBADYCDCAEQgA3AgQgBCABNgIUIARBADoAEAsgBAsLsQICAX8BfgJ/QX8hBAJAIAAgAa0gAq1CIIaEIgZBAEEAECZFDQAgAC0AGEECcQRAIABBCGoEQCAAQQA2AgwgAEEZNgIIC0F/DAILIAAoAkAiASAGpyICQQR0aiIEKAIIIgUEQEEAIQQgBSADEHFBf0oNASAAQQhqBEAgAEEANgIMIABBDzYCCAtBfwwCCwJAIAQoAgAiBQRAIAUoAhQgA0YNAQsCQCABIAJBBHRqIgEoAgQiBA0AIAEgBRArIgQ2AgQgBA0AIABBCGoEQCAAQQA2AgwgAEEONgIIC0F/DAMLIAQgAzYCFCAEIAQoAgBBIHI2AgBBAAwCC0EAIQQgASACQQR0aiIBKAIEIgBFDQAgACAAKAIAQV9xIgI2AgAgAg0AIAAQICABQQA2AgQLIAQLCxQAIAAgAa0gAq1CIIaEIAQgBRBzCxIAIAAgAa0gAq1CIIaEIAMQFAtBAQF+An4gAUEAIAIbRQRAIABBCGoEQCAAQQA2AgwgAEESNgIIC0J/DAELIAAgASACIAMQdAsiBEIgiKcQACAEpwvGAwIFfwF+An4CQAJAIAAiBC0AGEECcQRAIARBCGoEQCAEQQA2AgwgBEEZNgIICwwBCyABRQRAIARBCGoEQCAEQQA2AgwgBEESNgIICwwBCyABECIiByABakEBay0AAEEvRwRAIAdBAmoQCSIARQRAIARBCGoEQCAEQQA2AgwgBEEONgIICwwCCwJAAkAgACIGIAEiBXNBA3ENACAFQQNxBEADQCAGIAUtAAAiAzoAACADRQ0DIAZBAWohBiAFQQFqIgVBA3ENAAsLIAUoAgAiA0F/cyADQYGChAhrcUGAgYKEeHENAANAIAYgAzYCACAFKAIEIQMgBkEEaiEGIAVBBGohBSADQYGChAhrIANBf3NxQYCBgoR4cUUNAAsLIAYgBS0AACIDOgAAIANFDQADQCAGIAUtAAEiAzoAASAGQQFqIQYgBUEBaiEFIAMNAAsLIAcgACIDakEvOwAACyAEQQBCAEEAEFIiAEUEQCADEAYMAQsgBCADIAEgAxsgACACEHQhCCADEAYgCEJ/VwRAIAAQCyAIDAMLIAQgCEEDQYCA/I8EEHNBf0oNASAEIAgQchoLQn8hCAsgCAsiCEIgiKcQACAIpwsQACAAIAGtIAKtQiCGhBByCxYAIAAgAa0gAq1CIIaEIAMgBCAFEGYL3iMDD38IfgF8IwBB8ABrIgkkAAJAIAFBAE5BACAAG0UEQCACBEAgAkEANgIEIAJBEjYCAAsMAQsgACkDGCISAn5BsIMBKQMAIhNCf1EEQCAJQoOAgIBwNwMwIAlChoCAgPAANwMoIAlCgYCAgCA3AyBBsIMBQQAgCUEgahAkNwMAIAlCj4CAgHA3AxAgCUKJgICAoAE3AwAgCUKMgICA0AE3AwhBuIMBQQggCRAkNwMAQbCDASkDACETCyATC4MgE1IEQCACBEAgAkEANgIEIAJBHDYCAAsMAQsgASABQRByQbiDASkDACITIBKDIBNRGyIKQRhxQRhGBEAgAgRAIAJBADYCBCACQRk2AgALDAELIAlBOGoQKgJAIAAgCUE4ahAhBEACQCAAKAIMQQVGBEAgACgCEEEsRg0BCyACBEAgAiAAKAIMNgIAIAIgACgCEDYCBAsMAgsgCkEBcUUEQCACBEAgAkEANgIEIAJBCTYCAAsMAwsgAhBJIgVFDQEgBSAKNgIEIAUgADYCACAKQRBxRQ0CIAUgBSgCFEECcjYCFCAFIAUoAhhBAnI2AhgMAgsgCkECcQRAIAIEQCACQQA2AgQgAkEKNgIACwwCCyAAEDJBf0wEQCACBEAgAiAAKAIMNgIAIAIgACgCEDYCBAsMAQsCfyAKQQhxBEACQCACEEkiAUUNACABIAo2AgQgASAANgIAIApBEHFFDQAgASABKAIUQQJyNgIUIAEgASgCGEECcjYCGAsgAQwBCyMAQUBqIg4kACAOQQhqECoCQCAAIA5BCGoQIUF/TARAIAIEQCACIAAoAgw2AgAgAiAAKAIQNgIECwwBCyAOLQAIQQRxRQRAIAIEQCACQYoBNgIEIAJBBDYCAAsMAQsgDikDICETIAIQSSIFRQRAQQAhBQwBCyAFIAo2AgQgBSAANgIAIApBEHEEQCAFIAUoAhRBAnI2AhQgBSAFKAIYQQJyNgIYCwJAAkACQCATUARAAn8gACEBAkADQCABKQMYQoCAEINCAFINASABKAIAIgENAAtBAQwBCyABQQBCAEESEA6nCw0EIAVBCGoEQCAFQQA2AgwgBUETNgIICwwBCyMAQdAAayIBJAACQCATQhVYBEAgBUEIagRAIAVBADYCDCAFQRM2AggLDAELAkACQCAFKAIAQgAgE0KqgAQgE0KqgARUGyISfUECEBRBf0oNACAFKAIAIgMoAgxBBEYEQCADKAIQQRZGDQELIAVBCGoEQCAFIAMoAgw2AgggBSADKAIQNgIMCwwBCyAFKAIAEDMiE0J/VwRAIAUoAgAhAyAFQQhqIggEQCAIIAMoAgw2AgAgCCADKAIQNgIECwwBCyAFKAIAIBJBACAFQQhqIg8QLSIERQ0BIBJCqoAEWgRAAkAgBCkDCEIUVARAIARBADoAAAwBCyAEQhQ3AxAgBEEBOgAACwsgAQRAIAFBADYCBCABQRM2AgALIARCABATIQwCQCAELQAABH4gBCkDCCAEKQMQfQVCAAunIgdBEmtBA0sEQEJ/IRcDQCAMQQFrIQMgByAMakEVayEGAkADQCADQQFqIgNB0AAgBiADaxB6IgNFDQEgA0EBaiIMQZ8SQQMQPQ0ACwJAIAMgBCgCBGusIhIgBCkDCFYEQCAEQQA6AAAMAQsgBCASNwMQIARBAToAAAsgBC0AAAR+IAQpAxAFQgALIRICQCAELQAABH4gBCkDCCAEKQMQfQVCAAtCFVgEQCABBEAgAUEANgIEIAFBEzYCAAsMAQsgBEIEEBMoAABB0JaVMEcEQCABBEAgAUEANgIEIAFBEzYCAAsMAQsCQAJAAkAgEkIUVA0AIAQoAgQgEqdqQRRrKAAAQdCWmThHDQACQCASQhR9IhQgBCIDKQMIVgRAIANBADoAAAwBCyADIBQ3AxAgA0EBOgAACyAFKAIUIRAgBSgCACEGIAMtAAAEfiAEKQMQBUIACyEWIARCBBATGiAEEAwhCyAEEAwhDSAEEB0iFEJ/VwRAIAEEQCABQRY2AgQgAUEENgIACwwECyAUQjh8IhUgEyAWfCIWVgRAIAEEQCABQQA2AgQgAUEVNgIACwwECwJAAkAgEyAUVg0AIBUgEyAEKQMIfFYNAAJAIBQgE30iFSAEKQMIVgRAIANBADoAAAwBCyADIBU3AxAgA0EBOgAAC0EAIQcMAQsgBiAUQQAQFEF/TARAIAEEQCABIAYoAgw2AgAgASAGKAIQNgIECwwFC0EBIQcgBkI4IAFBEGogARAtIgNFDQQLIANCBBATKAAAQdCWmTBHBEAgAQRAIAFBADYCBCABQRU2AgALIAdFDQQgAxAIDAQLIAMQHSEVAkAgEEEEcSIGRQ0AIBQgFXxCDHwgFlENACABBEAgAUEANgIEIAFBFTYCAAsgB0UNBCADEAgMBAsgA0IEEBMaIAMQFSIQIAsgC0H//wNGGyELIAMQFSIRIA0gDUH//wNGGyENAkAgBkUNACANIBFGQQAgCyAQRhsNACABBEAgAUEANgIEIAFBFTYCAAsgB0UNBCADEAgMBAsgCyANcgRAIAEEQCABQQA2AgQgAUEBNgIACyAHRQ0EIAMQCAwECyADEB0iGCADEB1SBEAgAQRAIAFBADYCBCABQQE2AgALIAdFDQQgAxAIDAQLIAMQHSEVIAMQHSEWIAMtAABFBEAgAQRAIAFBADYCBCABQRQ2AgALIAdFDQQgAxAIDAQLIAcEQCADEAgLAkAgFkIAWQRAIBUgFnwiGSAWWg0BCyABBEAgAUEWNgIEIAFBBDYCAAsMBAsgEyAUfCIUIBlUBEAgAQRAIAFBADYCBCABQRU2AgALDAQLAkAgBkUNACAUIBlRDQAgAQRAIAFBADYCBCABQRU2AgALDAQLIBggFUIugFgNASABBEAgAUEANgIEIAFBFTYCAAsMAwsCQCASIAQpAwhWBEAgBEEAOgAADAELIAQgEjcDECAEQQE6AAALIAUoAhQhAyAELQAABH4gBCkDCCAEKQMQfQVCAAtCFVgEQCABBEAgAUEANgIEIAFBFTYCAAsMAwsgBC0AAAR+IAQpAxAFQgALIRQgBEIEEBMaIAQQFQRAIAEEQCABQQA2AgQgAUEBNgIACwwDCyAEEAwgBBAMIgZHBEAgAQRAIAFBADYCBCABQRM2AgALDAMLIAQQFSEHIAQQFa0iFiAHrSIVfCIYIBMgFHwiFFYEQCABBEAgAUEANgIEIAFBFTYCAAsMAwsCQCADQQRxRQ0AIBQgGFENACABBEAgAUEANgIEIAFBFTYCAAsMAwsgBq0gARBqIgNFDQIgAyAWNwMgIAMgFTcDGCADQQA6ACwMAQsgGCABEGoiA0UNASADIBY3AyAgAyAVNwMYIANBAToALAsCQCASQhR8IhQgBCkDCFYEQCAEQQA6AAAMAQsgBCAUNwMQIARBAToAAAsgBBAMIQYCQCADKQMYIAMpAyB8IBIgE3xWDQACQCAGRQRAIAUtAARBBHFFDQELAkAgEkIWfCISIAQpAwhWBEAgBEEAOgAADAELIAQgEjcDECAEQQE6AAALIAQtAAAEfiAEKQMIIAQpAxB9BUIACyIUIAatIhJUDQEgBS0ABEEEcUEAIBIgFFIbDQEgBkUNACADIAQgEhATIAZBACABEDUiBjYCKCAGDQAgAxAWDAILAkAgEyADKQMgIhJYBEACQCASIBN9IhIgBCkDCFYEQCAEQQA6AAAMAQsgBCASNwMQIARBAToAAAsgBCADKQMYEBMiBkUNAiAGIAMpAxgQFyIHDQEgAQRAIAFBADYCBCABQQ42AgALIAMQFgwDCyAFKAIAIBJBABAUIQcgBSgCACEGIAdBf0wEQCABBEAgASAGKAIMNgIAIAEgBigCEDYCBAsgAxAWDAMLQQAhByAGEDMgAykDIFENACABBEAgAUEANgIEIAFBEzYCAAsgAxAWDAILQgAhFAJAAkAgAykDGCIWUEUEQANAIBQgAykDCFIiC0UEQCADLQAsDQMgFkIuVA0DAn8CQCADKQMQIhVCgIAEfCISIBVaQQAgEkKAgICAAVQbRQ0AIAMoAgAgEqdBBHQQNCIGRQ0AIAMgBjYCAAJAIAMpAwgiFSASWg0AIAYgFadBBHRqIgZCADcCACAGQgA3AAUgFUIBfCIVIBJRDQADQCADKAIAIBWnQQR0aiIGQgA3AgAgBkIANwAFIBVCAXwiFSASUg0ACwsgAyASNwMIIAMgEjcDEEEBDAELIAEEQCABQQA2AgQgAUEONgIAC0EAC0UNBAtB2AAQCSIGBH8gBkIANwMgIAZBADYCGCAGQv////8PNwMQIAZBADsBDCAGQb+GKDYCCCAGQQE6AAYgBkEAOwEEIAZBADYCACAGQgA3A0ggBkGAgNiNeDYCRCAGQgA3AyggBkIANwMwIAZCADcDOCAGQUBrQQA7AQAgBkIANwNQIAYFQQALIQYgAygCACAUp0EEdGogBjYCAAJAIAYEQCAGIAUoAgAgB0EAIAEQaCISQn9VDQELIAsNBCABKAIAQRNHDQQgAQRAIAFBADYCBCABQRU2AgALDAQLIBRCAXwhFCAWIBJ9IhZCAFINAAsLIBQgAykDCFINAAJAIAUtAARBBHFFDQAgBwRAIActAAAEfyAHKQMQIAcpAwhRBUEAC0UNAgwBCyAFKAIAEDMiEkJ/VwRAIAUoAgAhBiABBEAgASAGKAIMNgIAIAEgBigCEDYCBAsgAxAWDAULIBIgAykDGCADKQMgfFINAQsgBxAIAn4gCARAAn8gF0IAVwRAIAUgCCABEEghFwsgBSADIAEQSCISIBdVCwRAIAgQFiASDAILIAMQFgwFC0IAIAUtAARBBHFFDQAaIAUgAyABEEgLIRcgAyEIDAMLIAEEQCABQQA2AgQgAUEVNgIACyAHEAggAxAWDAILIAMQFiAHEAgMAQsgAQRAIAFBADYCBCABQRU2AgALIAMQFgsCQCAMIAQoAgRrrCISIAQpAwhWBEAgBEEAOgAADAELIAQgEjcDECAEQQE6AAALIAQtAAAEfiAEKQMIIAQpAxB9BUIAC6ciB0ESa0EDSw0BCwsgBBAIIBdCf1UNAwwBCyAEEAgLIA8iAwRAIAMgASgCADYCACADIAEoAgQ2AgQLIAgQFgtBACEICyABQdAAaiQAIAgNAQsgAgRAIAIgBSgCCDYCACACIAUoAgw2AgQLDAELIAUgCCgCADYCQCAFIAgpAwg3AzAgBSAIKQMQNwM4IAUgCCgCKDYCICAIEAYgBSgCUCEIIAVBCGoiBCEBQQAhBwJAIAUpAzAiE1ANAEGAgICAeCEGAn8gE7pEAAAAAAAA6D+jRAAA4P///+9BpCIaRAAAAAAAAPBBYyAaRAAAAAAAAAAAZnEEQCAaqwwBC0EACyIDQYCAgIB4TQRAIANBAWsiA0EBdiADciIDQQJ2IANyIgNBBHYgA3IiA0EIdiADciIDQRB2IANyQQFqIQYLIAYgCCgCACIMTQ0AIAYQPCILRQRAIAEEQCABQQA2AgQgAUEONgIACwwBCwJAIAgpAwhCACAMG1AEQCAIKAIQIQ8MAQsgCCgCECEPA0AgDyAHQQJ0aigCACIBBEADQCABKAIYIQMgASALIAEoAhwgBnBBAnRqIg0oAgA2AhggDSABNgIAIAMiAQ0ACwsgB0EBaiIHIAxHDQALCyAPEAYgCCAGNgIAIAggCzYCEAsCQCAFKQMwUA0AQgAhEwJAIApBBHFFBEADQCAFKAJAIBOnQQR0aigCACgCMEEAQQAgAhAlIgFFDQQgBSgCUCABIBNBCCAEEE1FBEAgBCgCAEEKRw0DCyATQgF8IhMgBSkDMFQNAAwDCwALA0AgBSgCQCATp0EEdGooAgAoAjBBAEEAIAIQJSIBRQ0DIAUoAlAgASATQQggBBBNRQ0BIBNCAXwiEyAFKQMwVA0ACwwBCyACBEAgAiAEKAIANgIAIAIgBCgCBDYCBAsMAQsgBSAFKAIUNgIYDAELIAAgACgCMEEBajYCMCAFEEtBACEFCyAOQUBrJAAgBQsiBQ0BIAAQGhoLQQAhBQsgCUHwAGokACAFCxAAIwAgAGtBcHEiACQAIAALBgAgACQACwQAIwAL4CoDEX8IfgN8IwBBwMAAayIHJABBfyECAkAgAEUNAAJ/IAAtAChFBEBBACAAKAIYIAAoAhRGDQEaC0EBCyEBAkACQCAAKQMwIhRQRQRAIAAoAkAhCgNAIAogEqdBBHRqIgMtAAwhCwJAAkAgAygCCA0AIAsNACADKAIEIgNFDQEgAygCAEUNAQtBASEBCyAXIAtBAXOtQv8Bg3whFyASQgF8IhIgFFINAAsgF0IAUg0BCyAAKAIEQQhxIAFyRQ0BAn8gACgCACIDKAIkIgFBA0cEQCADKAIgBH9BfyADEBpBAEgNAhogAygCJAUgAQsEQCADEEMLQX8gA0EAQgBBDxAOQgBTDQEaIANBAzYCJAtBAAtBf0oNASAAKAIAKAIMQRZGBEAgACgCACgCEEEsRg0CCyAAKAIAIQEgAEEIagRAIAAgASgCDDYCCCAAIAEoAhA2AgwLDAILIAFFDQAgFCAXVARAIABBCGoEQCAAQQA2AgwgAEEUNgIICwwCCyAXp0EDdBAJIgtFDQFCfyEWQgAhEgNAAkAgCiASp0EEdGoiBigCACIDRQ0AAkAgBigCCA0AIAYtAAwNACAGKAIEIgFFDQEgASgCAEUNAQsgFiADKQNIIhMgEyAWVhshFgsgBi0ADEUEQCAXIBlYBEAgCxAGIABBCGoEQCAAQQA2AgwgAEEUNgIICwwECyALIBmnQQN0aiASNwMAIBlCAXwhGQsgEkIBfCISIBRSDQALIBcgGVYEQCALEAYgAEEIagRAIABBADYCDCAAQRQ2AggLDAILAkACQCAAKAIAKQMYQoCACINQDQACQAJAIBZCf1INACAAKQMwIhNQDQIgE0IBgyEVIAAoAkAhAwJAIBNCAVEEQEJ/IRRCACESQgAhFgwBCyATQn6DIRlCfyEUQgAhEkIAIRYDQCADIBKnQQR0aigCACIBBEAgFiABKQNIIhMgEyAWVCIBGyEWIBQgEiABGyEUCyADIBJCAYQiGKdBBHRqKAIAIgEEQCAWIAEpA0giEyATIBZUIgEbIRYgFCAYIAEbIRQLIBJCAnwhEiAZQgJ9IhlQRQ0ACwsCQCAVUA0AIAMgEqdBBHRqKAIAIgFFDQAgFiABKQNIIhMgEyAWVCIBGyEWIBQgEiABGyEUCyAUQn9RDQBCACETIwBBEGsiBiQAAkAgACAUIABBCGoiCBBBIhVQDQAgFSAAKAJAIBSnQQR0aigCACIKKQMgIhh8IhQgGFpBACAUQn9VG0UEQCAIBEAgCEEWNgIEIAhBBDYCAAsMAQsgCi0ADEEIcUUEQCAUIRMMAQsgACgCACAUQQAQFCEBIAAoAgAhAyABQX9MBEAgCARAIAggAygCDDYCACAIIAMoAhA2AgQLDAELIAMgBkEMakIEEBFCBFIEQCAAKAIAIQEgCARAIAggASgCDDYCACAIIAEoAhA2AgQLDAELIBRCBHwgFCAGKAAMQdCWncAARhtCFEIMAn9BASEBAkAgCikDKEL+////D1YNACAKKQMgQv7///8PVg0AQQAhAQsgAQsbfCIUQn9XBEAgCARAIAhBFjYCBCAIQQQ2AgALDAELIBQhEwsgBkEQaiQAIBMiFkIAUg0BIAsQBgwFCyAWUA0BCwJ/IAAoAgAiASgCJEEBRgRAIAFBDGoEQCABQQA2AhAgAUESNgIMC0F/DAELQX8gAUEAIBZBERAOQgBTDQAaIAFBATYCJEEAC0F/Sg0BC0IAIRYCfyAAKAIAIgEoAiRBAUYEQCABQQxqBEAgAUEANgIQIAFBEjYCDAtBfwwBC0F/IAFBAEIAQQgQDkIAUw0AGiABQQE2AiRBAAtBf0oNACAAKAIAIQEgAEEIagRAIAAgASgCDDYCCCAAIAEoAhA2AgwLIAsQBgwCCyAAKAJUIgIEQCACQgA3AxggAigCAEQAAAAAAAAAACACKAIMIAIoAgQRDgALIABBCGohBCAXuiEcQgAhFAJAAkACQANAIBcgFCITUgRAIBO6IByjIRsgE0IBfCIUuiAcoyEaAkAgACgCVCICRQ0AIAIgGjkDKCACIBs5AyAgAisDECAaIBuhRAAAAAAAAAAAoiAboCIaIAIrAxihY0UNACACKAIAIBogAigCDCACKAIEEQ4AIAIgGjkDGAsCfwJAIAAoAkAgCyATp0EDdGopAwAiE6dBBHRqIg0oAgAiAQRAIAEpA0ggFlQNAQsgDSgCBCEFAkACfwJAIA0oAggiAkUEQCAFRQ0BQQEgBSgCACICQQFxDQIaIAJBwABxQQZ2DAILQQEgBQ0BGgsgDSABECsiBTYCBCAFRQ0BIAJBAEcLIQZBACEJIwBBEGsiDCQAAkAgEyAAKQMwWgRAIABBCGoEQCAAQQA2AgwgAEESNgIIC0F/IQkMAQsgACgCQCIKIBOnIgNBBHRqIg8oAgAiAkUNACACLQAEDQACQCACKQNIQhp8IhhCf1cEQCAAQQhqBEAgAEEWNgIMIABBBDYCCAsMAQtBfyEJIAAoAgAgGEEAEBRBf0wEQCAAKAIAIQIgAEEIagRAIAAgAigCDDYCCCAAIAIoAhA2AgwLDAILIAAoAgBCBCAMQQxqIABBCGoiDhAtIhBFDQEgEBAMIQEgEBAMIQggEC0AAAR/IBApAxAgECkDCFEFQQALIQIgEBAIIAJFBEAgDgRAIA5BADYCBCAOQRQ2AgALDAILAkAgCEUNACAAKAIAIAGtQQEQFEF/TARAQYSEASgCACECIA4EQCAOIAI2AgQgDkEENgIACwwDC0EAIAAoAgAgCEEAIA4QRSIBRQ0BIAEgCEGAAiAMQQhqIA4QbiECIAEQBiACRQ0BIAwoAggiAkUNACAMIAIQbSICNgIIIA8oAgAoAjQgAhBvIQIgDygCACACNgI0CyAPKAIAIgJBAToABEEAIQkgCiADQQR0aigCBCIBRQ0BIAEtAAQNASACKAI0IQIgAUEBOgAEIAEgAjYCNAwBC0F/IQkLIAxBEGokACAJQQBIDQUgACgCABAfIhhCAFMNBSAFIBg3A0ggBgRAQQAhDCANKAIIIg0hASANRQRAIAAgACATQQhBABB/IgwhASAMRQ0HCwJAAkAgASAHQQhqECFBf0wEQCAEBEAgBCABKAIMNgIAIAQgASgCEDYCBAsMAQsgBykDCCISQsAAg1AEQCAHQQA7ATggByASQsAAhCISNwMICwJAAkAgBSgCECICQX5PBEAgBy8BOCIDRQ0BIAUgAzYCECADIQIMAgsgAg0AIBJCBINQDQAgByAHKQMgNwMoIAcgEkIIhCISNwMIQQAhAgwBCyAHIBJC9////w+DIhI3AwgLIBJCgAGDUARAIAdBADsBOiAHIBJCgAGEIhI3AwgLAn8gEkIEg1AEQEJ/IRVBgAoMAQsgBSAHKQMgIhU3AyggEkIIg1AEQAJAAkACQAJAQQggAiACQX1LG0H//wNxDg0CAwMDAwMDAwEDAwMAAwtBgApBgAIgFUKUwuTzD1YbDAQLQYAKQYACIBVCg4Ow/w9WGwwDC0GACkGAAiAVQv////8PVhsMAgtBgApBgAIgFUIAUhsMAQsgBSAHKQMoNwMgQYACCyEPIAAoAgAQHyITQn9XBEAgACgCACECIAQEQCAEIAIoAgw2AgAgBCACKAIQNgIECwwBCyAFIAUvAQxB9/8DcTsBDCAAIAUgDxA3IgpBAEgNACAHLwE4IghBCCAFKAIQIgMgA0F9SxtB//8DcSICRyEGAkACQAJAAkACQAJAAkAgAiAIRwRAIANBAEchAwwBC0EAIQMgBS0AAEGAAXFFDQELIAUvAVIhCSAHLwE6IQIMAQsgBS8BUiIJIAcvAToiAkYNAQsgASABKAIwQQFqNgIwIAJB//8DcQ0BIAEhAgwCCyABIAEoAjBBAWo2AjBBACEJDAILQSZBACAHLwE6QQFGGyICRQRAIAQEQCAEQQA2AgQgBEEYNgIACyABEAsMAwsgACABIAcvATpBACAAKAIcIAIRBgAhAiABEAsgAkUNAgsgCUEARyEJIAhBAEcgBnFFBEAgAiEBDAELIAAgAiAHLwE4EIEBIQEgAhALIAFFDQELAkAgCEUgBnJFBEAgASECDAELIAAgAUEAEIABIQIgARALIAJFDQELAkAgA0UEQCACIQMMAQsgACACIAUoAhBBASAFLwFQEIIBIQMgAhALIANFDQELAkAgCUUEQCADIQEMAQsgBSgCVCIBRQRAIAAoAhwhAQsCfyAFLwFSGkEBCwRAIAQEQCAEQQA2AgQgBEEYNgIACyADEAsMAgsgACADIAUvAVJBASABQQARBgAhASADEAsgAUUNAQsgACgCABAfIhhCf1cEQCAAKAIAIQIgBARAIAQgAigCDDYCACAEIAIoAhA2AgQLDAELAkAgARAyQQBOBEACfwJAAkAgASAHQUBrQoDAABARIhJCAVMNAEIAIRkgFUIAVQRAIBW5IRoDQCAAIAdBQGsgEhAbQQBIDQMCQCASQoDAAFINACAAKAJUIgJFDQAgAiAZQoBAfSIZuSAaoxB7CyABIAdBQGtCgMAAEBEiEkIAVQ0ACwwBCwNAIAAgB0FAayASEBtBAEgNAiABIAdBQGtCgMAAEBEiEkIAVQ0ACwtBACASQn9VDQEaIAQEQCAEIAEoAgw2AgAgBCABKAIQNgIECwtBfwshAiABEBoaDAELIAQEQCAEIAEoAgw2AgAgBCABKAIQNgIEC0F/IQILIAEgB0EIahAhQX9MBEAgBARAIAQgASgCDDYCACAEIAEoAhA2AgQLQX8hAgsCf0EAIQkCQCABIgNFDQADQCADLQAaQQFxBEBB/wEhCSADQQBCAEEQEA4iFUIAUw0CIBVCBFkEQCADQQxqBEAgA0EANgIQIANBFDYCDAsMAwsgFachCQwCCyADKAIAIgMNAAsLIAlBGHRBGHUiA0F/TAsEQCAEBEAgBCABKAIMNgIAIAQgASgCEDYCBAsgARALDAELIAEQCyACQQBIDQAgACgCABAfIRUgACgCACECIBVCf1cEQCAEBEAgBCACKAIMNgIAIAQgAigCEDYCBAsMAQsgAiATEHVBf0wEQCAAKAIAIQIgBARAIAQgAigCDDYCACAEIAIoAhA2AgQLDAELIAcpAwgiE0LkAINC5ABSBEAgBARAIARBADYCBCAEQRQ2AgALDAELAkAgBS0AAEEgcQ0AIBNCEINQRQRAIAUgBygCMDYCFAwBCyAFQRRqEAEaCyAFIAcvATg2AhAgBSAHKAI0NgIYIAcpAyAhEyAFIBUgGH03AyAgBSATNwMoIAUgBS8BDEH5/wNxIANB/wFxQQF0cjsBDCAPQQp2IQNBPyEBAkACQAJAAkAgBSgCECICQQxrDgMAAQIBCyAFQS47AQoMAgtBLSEBIAMNACAFKQMoQv7///8PVg0AIAUpAyBC/v///w9WDQBBFCEBIAJBCEYNACAFLwFSQQFGDQAgBSgCMCICBH8gAi8BBAVBAAtB//8DcSICBEAgAiAFKAIwKAIAakEBay0AAEEvRg0BC0EKIQELIAUgATsBCgsgACAFIA8QNyICQQBIDQAgAiAKRwRAIAQEQCAEQQA2AgQgBEEUNgIACwwBCyAAKAIAIBUQdUF/Sg0BIAAoAgAhAiAEBEAgBCACKAIMNgIAIAQgAigCEDYCBAsLIA0NByAMEAsMBwsgDQ0CIAwQCwwCCyAFIAUvAQxB9/8DcTsBDCAAIAVBgAIQN0EASA0FIAAgEyAEEEEiE1ANBSAAKAIAIBNBABAUQX9MBEAgACgCACECIAQEQCAEIAIoAgw2AgAgBCACKAIQNgIECwwGCyAFKQMgIRIjAEGAQGoiAyQAAkAgElBFBEAgAEEIaiECIBK6IRoDQEF/IQEgACgCACADIBJCgMAAIBJCgMAAVBsiEyACEGVBAEgNAiAAIAMgExAbQQBIDQIgACgCVCAaIBIgE30iErqhIBqjEHsgEkIAUg0ACwtBACEBCyADQYBAayQAIAFBf0oNAUEBIREgAUEcdkEIcUEIRgwCCyAEBEAgBEEANgIEIARBDjYCAAsMBAtBAAtFDQELCyARDQBBfyECAkAgACgCABAfQgBTDQAgFyEUQQAhCkIAIRcjAEHwAGsiESQAAkAgACgCABAfIhVCAFkEQCAUUEUEQANAIAAgACgCQCALIBenQQN0aigCAEEEdGoiAygCBCIBBH8gAQUgAygCAAtBgAQQNyIBQQBIBEBCfyEXDAQLIAFBAEcgCnIhCiAXQgF8IhcgFFINAAsLQn8hFyAAKAIAEB8iGEJ/VwRAIAAoAgAhASAAQQhqBEAgACABKAIMNgIIIAAgASgCEDYCDAsMAgsgEULiABAXIgZFBEAgAEEIagRAIABBADYCDCAAQQ42AggLDAILIBggFX0hEyAVQv////8PViAUQv//A1ZyIApyQQFxBEAgBkGZEkEEECwgBkIsEBggBkEtEA0gBkEtEA0gBkEAEBIgBkEAEBIgBiAUEBggBiAUEBggBiATEBggBiAVEBggBkGUEkEEECwgBkEAEBIgBiAYEBggBkEBEBILIAZBnhJBBBAsIAZBABASIAYgFEL//wMgFEL//wNUG6dB//8DcSIBEA0gBiABEA0gBkF/IBOnIBNC/v///w9WGxASIAZBfyAVpyAVQv7///8PVhsQEiAGIABBJEEgIAAtACgbaigCACIDBH8gAy8BBAVBAAtB//8DcRANIAYtAABFBEAgAEEIagRAIABBADYCDCAAQRQ2AggLIAYQCAwCCyAAIAYoAgQgBi0AAAR+IAYpAxAFQgALEBshASAGEAggAUEASA0BIAMEQCAAIAMoAgAgAzMBBBAbQQBIDQILIBMhFwwBCyAAKAIAIQEgAEEIagRAIAAgASgCDDYCCCAAIAEoAhA2AgwLQn8hFwsgEUHwAGokACAXQgBTDQAgACgCABAfQj+HpyECCyALEAYgAkEASA0BAn8gACgCACIBKAIkQQFHBEAgAUEMagRAIAFBADYCECABQRI2AgwLQX8MAQsgASgCICICQQJPBEAgAUEMagRAIAFBADYCECABQR02AgwLQX8MAQsCQCACQQFHDQAgARAaQQBODQBBfwwBCyABQQBCAEEJEA5Cf1cEQCABQQI2AiRBfwwBCyABQQA2AiRBAAtFDQIgACgCACECIAQEQCAEIAIoAgw2AgAgBCACKAIQNgIECwwBCyALEAYLIAAoAlQQfCAAKAIAEENBfyECDAILIAAoAlQQfAsgABBLQQAhAgsgB0HAwABqJAAgAgtFAEHwgwFCADcDAEHogwFCADcDAEHggwFCADcDAEHYgwFCADcDAEHQgwFCADcDAEHIgwFCADcDAEHAgwFCADcDAEHAgwELoQMBCH8jAEGgAWsiAiQAIAAQMQJAAn8CQCAAKAIAIgFBAE4EQCABQbATKAIASA0BCyACIAE2AhAgAkEgakH2ESACQRBqEHZBASEGIAJBIGohBCACQSBqECIhA0EADAELIAFBAnQiAUGwEmooAgAhBQJ/AkACQCABQcATaigCAEEBaw4CAAEECyAAKAIEIQNB9IIBKAIAIQdBACEBAkACQANAIAMgAUHQ8QBqLQAARwRAQdcAIQQgAUEBaiIBQdcARw0BDAILCyABIgQNAEGw8gAhAwwBC0Gw8gAhAQNAIAEtAAAhCCABQQFqIgMhASAIDQAgAyEBIARBAWsiBA0ACwsgBygCFBogAwwBC0EAIAAoAgRrQQJ0QdjAAGooAgALIgRFDQEgBBAiIQMgBUUEQEEAIQVBASEGQQAMAQsgBRAiQQJqCyEBIAEgA2pBAWoQCSIBRQRAQegSKAIAIQUMAQsgAiAENgIIIAJBrBJBkRIgBhs2AgQgAkGsEiAFIAYbNgIAIAFBqwogAhB2IAAgATYCCCABIQULIAJBoAFqJAAgBQszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQBxogACAAKAIUIAFqNgIUIAILBgBBsIgBCwYAQayIAQsGAEGkiAELBwAgAEEEagsHACAAQQhqCyYBAX8gACgCFCIBBEAgARALCyAAKAIEIQEgAEEEahAxIAAQBiABC6kBAQN/AkAgAC0AACICRQ0AA0AgAS0AACIERQRAIAIhAwwCCwJAIAIgBEYNACACQSByIAIgAkHBAGtBGkkbIAEtAAAiAkEgciACIAJBwQBrQRpJG0YNACAALQAAIQMMAgsgAUEBaiEBIAAtAAEhAiAAQQFqIQAgAg0ACwsgA0H/AXEiAEEgciAAIABBwQBrQRpJGyABLQAAIgBBIHIgACAAQcEAa0EaSRtrC8sGAgJ+An8jAEHgAGsiByQAAkACQAJAAkACQAJAAkACQAJAAkACQCAEDg8AAQoCAwQGBwgICAgICAUICyABQgA3AyAMCQsgACACIAMQESIFQn9XBEAgAUEIaiIBBEAgASAAKAIMNgIAIAEgACgCEDYCBAsMCAsCQCAFUARAIAEpAygiAyABKQMgUg0BIAEgAzcDGCABQQE2AgQgASgCAEUNASAAIAdBKGoQIUF/TARAIAFBCGoiAQRAIAEgACgCDDYCACABIAAoAhA2AgQLDAoLAkAgBykDKCIDQiCDUA0AIAcoAlQgASgCMEYNACABQQhqBEAgAUEANgIMIAFBBzYCCAsMCgsgA0IEg1ANASAHKQNAIAEpAxhRDQEgAUEIagRAIAFBADYCDCABQRU2AggLDAkLIAEoAgQNACABKQMoIgMgASkDICIGVA0AIAUgAyAGfSIDWA0AIAEoAjAhBANAIAECfyAFIAN9IgZC/////w8gBkL/////D1QbIganIQBBACACIAOnaiIIRQ0AGiAEIAggAEHUgAEoAgARAAALIgQ2AjAgASABKQMoIAZ8NwMoIAUgAyAGfCIDVg0ACwsgASABKQMgIAV8NwMgDAgLIAEoAgRFDQcgAiABKQMYIgM3AxggASgCMCEAIAJBADYCMCACIAM3AyAgAiAANgIsIAIgAikDAELsAYQ3AwAMBwsgA0IIWgR+IAIgASgCCDYCACACIAEoAgw2AgRCCAVCfwshBQwGCyABEAYMBQtCfyEFIAApAxgiA0J/VwRAIAFBCGoiAQRAIAEgACgCDDYCACABIAAoAhA2AgQLDAULIAdBfzYCGCAHQo+AgICAAjcDECAHQoyAgIDQATcDCCAHQomAgICgATcDACADQQggBxAkQn+FgyEFDAQLIANCD1gEQCABQQhqBEAgAUEANgIMIAFBEjYCCAsMAwsgAkUNAgJAIAAgAikDACACKAIIEBRBAE4EQCAAEDMiA0J/VQ0BCyABQQhqIgEEQCABIAAoAgw2AgAgASAAKAIQNgIECwwDCyABIAM3AyAMAwsgASkDICEFDAILIAFBCGoEQCABQQA2AgwgAUEcNgIICwtCfyEFCyAHQeAAaiQAIAULjAcCAn4CfyMAQRBrIgckAAJAAkACQAJAAkACQAJAAkACQAJAIAQOEQABAgMFBggICAgICAgIBwgECAsgAUJ/NwMgIAFBADoADyABQQA7AQwgAUIANwMYIAEoAqxAIAEoAqhAKAIMEQEArUIBfSEFDAgLQn8hBSABKAIADQdCACEFIANQDQcgAS0ADQ0HIAFBKGohBAJAA0ACQCAHIAMgBX03AwggASgCrEAgAiAFp2ogB0EIaiABKAKoQCgCHBEAACEIQgAgBykDCCAIQQJGGyAFfCEFAkACQAJAIAhBAWsOAwADAQILIAFBAToADSABKQMgIgNCf1cEQCABBEAgAUEANgIEIAFBFDYCAAsMBQsgAS0ADkUNBCADIAVWDQQgASADNwMYIAFBAToADyACIAQgA6cQBxogASkDGCEFDAwLIAEtAAwNAyAAIARCgMAAEBEiBkJ/VwRAIAEEQCABIAAoAgw2AgAgASAAKAIQNgIECwwECyAGUARAIAFBAToADCABKAKsQCABKAKoQCgCGBEDACABKQMgQn9VDQEgAUIANwMgDAELAkAgASkDIEIAWQRAIAFBADoADgwBCyABIAY3AyALIAEoAqxAIAQgBiABKAKoQCgCFBEPABoLIAMgBVYNAQwCCwsgASgCAA0AIAEEQCABQQA2AgQgAUEUNgIACwsgBVBFBEAgAUEAOgAOIAEgASkDGCAFfDcDGAwIC0J/QgAgASgCABshBQwHCyABKAKsQCABKAKoQCgCEBEBAK1CAX0hBQwGCyABLQAQBEAgAS0ADQRAIAIgAS0ADwR/QQAFQQggASgCFCIAIABBfUsbCzsBMCACIAEpAxg3AyAgAiACKQMAQsgAhDcDAAwHCyACIAIpAwBCt////w+DNwMADAYLIAJBADsBMCACKQMAIQMgAS0ADQRAIAEpAxghBSACIANCxACENwMAIAIgBTcDGEIAIQUMBgsgAiADQrv///8Pg0LAAIQ3AwAMBQsgAS0ADw0EIAEoAqxAIAEoAqhAKAIIEQEArCEFDAQLIANCCFoEfiACIAEoAgA2AgAgAiABKAIENgIEQggFQn8LIQUMAwsgAUUNAiABKAKsQCABKAKoQCgCBBEDACABEDEgARAGDAILIAdBfzYCAEEQIAcQJEI/hCEFDAELIAEEQCABQQA2AgQgAUEUNgIAC0J/IQULIAdBEGokACAFC2MAQcgAEAkiAEUEQEGEhAEoAgAhASACBEAgAiABNgIEIAJBATYCAAsgAA8LIABBADoADCAAQQA6AAQgACACNgIAIABBADYCOCAAQgA3AzAgACABQQkgAUEBa0EJSRs2AgggAAu3fAIefwZ+IAIpAwAhIiAAIAE2AhwgACAiQv////8PICJC/////w9UGz4CICAAQRBqIQECfyAALQAEBEACfyAALQAMQQJ0IQpBfiEEAkACQAJAIAEiBUUNACAFKAIgRQ0AIAUoAiRFDQAgBSgCHCIDRQ0AIAMoAgAgBUcNAAJAAkAgAygCICIGQTlrDjkBAgICAgICAgICAgIBAgICAQICAgICAgICAgICAgICAgICAQICAgICAgICAgICAQICAgICAgICAgEACyAGQZoFRg0AIAZBKkcNAQsgCkEFSw0AAkACQCAFKAIMRQ0AIAUoAgQiAQRAIAUoAgBFDQELIAZBmgVHDQEgCkEERg0BCyAFQeDAACgCADYCGEF+DAQLIAUoAhBFDQEgAygCJCEEIAMgCjYCJAJAIAMoAhAEQCADEDACQCAFKAIQIgYgAygCECIIIAYgCEkbIgFFDQAgBSgCDCADKAIIIAEQBxogBSAFKAIMIAFqNgIMIAMgAygCCCABajYCCCAFIAUoAhQgAWo2AhQgBSAFKAIQIAFrIgY2AhAgAyADKAIQIAFrIgg2AhAgCA0AIAMgAygCBDYCCEEAIQgLIAYEQCADKAIgIQYMAgsMBAsgAQ0AIApBAXRBd0EAIApBBEsbaiAEQQF0QXdBACAEQQRKG2pKDQAgCkEERg0ADAILAkACQAJAAkACQCAGQSpHBEAgBkGaBUcNASAFKAIERQ0DDAcLIAMoAhRFBEAgA0HxADYCIAwCCyADKAI0QQx0QYDwAWshBAJAIAMoAowBQQJODQAgAygCiAEiAUEBTA0AIAFBBUwEQCAEQcAAciEEDAELQYABQcABIAFBBkYbIARyIQQLIAMoAgQgCGogBEEgciAEIAMoAmgbIgFBH3AgAXJBH3NBCHQgAUGA/gNxQQh2cjsAACADIAMoAhBBAmoiATYCECADKAJoBEAgAygCBCABaiAFKAIwIgFBGHQgAUEIdEGAgPwHcXIgAUEIdkGA/gNxIAFBGHZycjYAACADIAMoAhBBBGo2AhALIAVBATYCMCADQfEANgIgIAUQCiADKAIQDQcgAygCICEGCwJAAkACQAJAIAZBOUYEfyADQaABakHkgAEoAgARAQAaIAMgAygCECIBQQFqNgIQIAEgAygCBGpBHzoAACADIAMoAhAiAUEBajYCECABIAMoAgRqQYsBOgAAIAMgAygCECIBQQFqNgIQIAEgAygCBGpBCDoAAAJAIAMoAhwiAUUEQCADKAIEIAMoAhBqQQA2AAAgAyADKAIQIgFBBWo2AhAgASADKAIEakEAOgAEQQIhBCADKAKIASIBQQlHBEBBBCABQQJIQQJ0IAMoAowBQQFKGyEECyADIAMoAhAiAUEBajYCECABIAMoAgRqIAQ6AAAgAyADKAIQIgFBAWo2AhAgASADKAIEakEDOgAAIANB8QA2AiAgBRAKIAMoAhBFDQEMDQsgASgCJCELIAEoAhwhCSABKAIQIQggASgCLCENIAEoAgAhBiADIAMoAhAiAUEBajYCEEECIQQgASADKAIEaiANQQBHQQF0IAZBAEdyIAhBAEdBAnRyIAlBAEdBA3RyIAtBAEdBBHRyOgAAIAMoAgQgAygCEGogAygCHCgCBDYAACADIAMoAhAiDUEEaiIGNgIQIAMoAogBIgFBCUcEQEEEIAFBAkhBAnQgAygCjAFBAUobIQQLIAMgDUEFajYCECADKAIEIAZqIAQ6AAAgAygCHCgCDCEEIAMgAygCECIBQQFqNgIQIAEgAygCBGogBDoAACADKAIcIgEoAhAEfyADKAIEIAMoAhBqIAEoAhQ7AAAgAyADKAIQQQJqNgIQIAMoAhwFIAELKAIsBEAgBQJ/IAUoAjAhBiADKAIQIQRBACADKAIEIgFFDQAaIAYgASAEQdSAASgCABEAAAs2AjALIANBxQA2AiAgA0EANgIYDAILIAMoAiAFIAYLQcUAaw4jAAQEBAEEBAQEBAQEBAQEBAQEBAQEBAIEBAQEBAQEBAQEBAMECyADKAIcIgEoAhAiBgRAIAMoAgwiCCADKAIQIgQgAS8BFCADKAIYIg1rIglqSQRAA0AgAygCBCAEaiAGIA1qIAggBGsiCBAHGiADIAMoAgwiDTYCEAJAIAMoAhwoAixFDQAgBCANTw0AIAUCfyAFKAIwIQZBACADKAIEIARqIgFFDQAaIAYgASANIARrQdSAASgCABEAAAs2AjALIAMgAygCGCAIajYCGCAFKAIcIgYQMAJAIAUoAhAiBCAGKAIQIgEgASAESxsiAUUNACAFKAIMIAYoAgggARAHGiAFIAUoAgwgAWo2AgwgBiAGKAIIIAFqNgIIIAUgBSgCFCABajYCFCAFIAUoAhAgAWs2AhAgBiAGKAIQIAFrIgE2AhAgAQ0AIAYgBigCBDYCCAsgAygCEA0MIAMoAhghDSADKAIcKAIQIQZBACEEIAkgCGsiCSADKAIMIghLDQALCyADKAIEIARqIAYgDWogCRAHGiADIAMoAhAgCWoiDTYCEAJAIAMoAhwoAixFDQAgBCANTw0AIAUCfyAFKAIwIQZBACADKAIEIARqIgFFDQAaIAYgASANIARrQdSAASgCABEAAAs2AjALIANBADYCGAsgA0HJADYCIAsgAygCHCgCHARAIAMoAhAiBCEJA0ACQCAEIAMoAgxHDQACQCADKAIcKAIsRQ0AIAQgCU0NACAFAn8gBSgCMCEGQQAgAygCBCAJaiIBRQ0AGiAGIAEgBCAJa0HUgAEoAgARAAALNgIwCyAFKAIcIgYQMAJAIAUoAhAiBCAGKAIQIgEgASAESxsiAUUNACAFKAIMIAYoAgggARAHGiAFIAUoAgwgAWo2AgwgBiAGKAIIIAFqNgIIIAUgBSgCFCABajYCFCAFIAUoAhAgAWs2AhAgBiAGKAIQIAFrIgE2AhAgAQ0AIAYgBigCBDYCCAtBACEEQQAhCSADKAIQRQ0ADAsLIAMoAhwoAhwhBiADIAMoAhgiAUEBajYCGCABIAZqLQAAIQEgAyAEQQFqNgIQIAMoAgQgBGogAToAACABBEAgAygCECEEDAELCwJAIAMoAhwoAixFDQAgAygCECIGIAlNDQAgBQJ/IAUoAjAhBEEAIAMoAgQgCWoiAUUNABogBCABIAYgCWtB1IABKAIAEQAACzYCMAsgA0EANgIYCyADQdsANgIgCwJAIAMoAhwoAiRFDQAgAygCECIEIQkDQAJAIAQgAygCDEcNAAJAIAMoAhwoAixFDQAgBCAJTQ0AIAUCfyAFKAIwIQZBACADKAIEIAlqIgFFDQAaIAYgASAEIAlrQdSAASgCABEAAAs2AjALIAUoAhwiBhAwAkAgBSgCECIEIAYoAhAiASABIARLGyIBRQ0AIAUoAgwgBigCCCABEAcaIAUgBSgCDCABajYCDCAGIAYoAgggAWo2AgggBSAFKAIUIAFqNgIUIAUgBSgCECABazYCECAGIAYoAhAgAWsiATYCECABDQAgBiAGKAIENgIIC0EAIQRBACEJIAMoAhBFDQAMCgsgAygCHCgCJCEGIAMgAygCGCIBQQFqNgIYIAEgBmotAAAhASADIARBAWo2AhAgAygCBCAEaiABOgAAIAEEQCADKAIQIQQMAQsLIAMoAhwoAixFDQAgAygCECIGIAlNDQAgBQJ/IAUoAjAhBEEAIAMoAgQgCWoiAUUNABogBCABIAYgCWtB1IABKAIAEQAACzYCMAsgA0HnADYCIAsCQCADKAIcKAIsBEAgAygCDCADKAIQIgFBAmpJBH8gBRAKIAMoAhANAkEABSABCyADKAIEaiAFKAIwOwAAIAMgAygCEEECajYCECADQaABakHkgAEoAgARAQAaCyADQfEANgIgIAUQCiADKAIQRQ0BDAcLDAYLIAUoAgQNAQsgAygCPA0AIApFDQEgAygCIEGaBUYNAQsCfyADKAKIASIBRQRAIAMgChCFAQwBCwJAAkACQCADKAKMAUECaw4CAAECCwJ/AkADQAJAAkAgAygCPA0AIAMQLyADKAI8DQAgCg0BQQAMBAsgAygCSCADKAJoai0AACEEIAMgAygC8C0iAUEBajYC8C0gASADKALsLWpBADoAACADIAMoAvAtIgFBAWo2AvAtIAEgAygC7C1qQQA6AAAgAyADKALwLSIBQQFqNgLwLSABIAMoAuwtaiAEOgAAIAMgBEECdGoiASABLwHkAUEBajsB5AEgAyADKAI8QQFrNgI8IAMgAygCaEEBaiIBNgJoIAMoAvAtIAMoAvQtRw0BQQAhBCADIAMoAlgiBkEATgR/IAMoAkggBmoFQQALIAEgBmtBABAPIAMgAygCaDYCWCADKAIAEAogAygCACgCEA0BDAILCyADQQA2AoQuIApBBEYEQCADIAMoAlgiAUEATgR/IAMoAkggAWoFQQALIAMoAmggAWtBARAPIAMgAygCaDYCWCADKAIAEApBA0ECIAMoAgAoAhAbDAILIAMoAvAtBEBBACEEIAMgAygCWCIBQQBOBH8gAygCSCABagVBAAsgAygCaCABa0EAEA8gAyADKAJoNgJYIAMoAgAQCiADKAIAKAIQRQ0BC0EBIQQLIAQL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bGl0ZXJhbC9sZW5ndGhzIHNldABpbnZhbGlkIGNvZGUgbGVuZ3RocyBzZXQAdW5rbm93biBoZWFkZXIgZmxhZ3Mgc2V0AGludmFsaWQgZGlzdGFuY2VzIHNldABpbnZhbGlkIGJpdCBsZW5ndGggcmVwZWF0AEZpbGUgYWxyZWFkeSBleGlzdHMAdG9vIG1hbnkgbGVuZ3RoIG9yIGRpc3RhbmNlIHN5bWJvbHMAaW52YWxpZCBzdG9yZWQgYmxvY2sgbGVuZ3RocwAlcyVzJXMAYnVmZmVyIGVycm9yAE5vIGVycm9yAHN0cmVhbSBlcnJvcgBUZWxsIGVycm9yAEludGVybmFsIGVycm9yAFNlZWsgZXJyb3IAV3JpdGUgZXJyb3IAZmlsZSBlcnJvcgBSZWFkIGVycm9yAFpsaWIgZXJyb3IAZGF0YSBlcnJvcgBDUkMgZXJyb3IAaW5jb21wYXRpYmxlIHZlcnNpb24AaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCBoZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawBoZWFkZXIgY3JjIG1pc21hdGNoADEuMi4xMy56bGliLW5nAGludmFsaWQgd2luZG93IHNpemUAUmVhZC1vbmx5IGFyY2hpdmUATm90IGEgemlwIGFyY2hpdmUAUmVzb3VyY2Ugc3RpbGwgaW4gdXNlAE1hbGxvYyBmYWlsdXJlAGludmFsaWQgYmxvY2sgdHlwZQBGYWlsdXJlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZQBDYW4ndCBvcGVuIGZpbGUATm8gc3VjaCBmaWxlAFByZW1hdHVyZSBlbmQgb2YgZmlsZQBDYW4ndCByZW1vdmUgZmlsZQBpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUAaW52YWxpZCBkaXN0YW5jZSBjb2RlAHVua25vd24gY29tcHJlc3Npb24gbWV0aG9kAHN0cmVhbSBlbmQAQ29tcHJlc3NlZCBkYXRhIGludmFsaWQATXVsdGktZGlzayB6aXAgYXJjaGl2ZXMgbm90IHN1cHBvcnRl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UgAIANIACAAyAAgAsgAIAHIACADyAAgACgAIAIoACABKAAgAygAIACoACACqAAgAagAIAOoACAAaAAgAmgAIAFoACADaAAgAOgAIALoACAB6AAgA+gAIAAYACACGAAgARgAIAMYACAAmAAgApgAIAGYACADmAAgAFgAIAJYACABWAAgA1gAIADYACAC2AAgAdgAIAPYACAAOAAgAjgAIAE4ACADOAAgALgAIAK4ACABuAAgA7gAIAB4ACACeAAgAXgAIAN4ACAA+AAgAvgAIAH4ACAD+AAgAAQAIAIEACABBAAgAwQAIACEACAChAAgAYQAIAOEACAARAAgAkQAIAFEACADRAAgAMQAIALEACABxAAgA8QAIAAkACACJAAgASQAIAMkACAApAAgAqQAIAGkACADpAAgAGQAIAJkACABZAAgA2QAIADkACAC5AAgAeQAIAPkACAAFAAgAhQAIAEUACADFAAgAJQAIAKUACABlAAgA5QAIABUACACVAAgAVQAIANUACAA1AAgAtQAIAHUACAD1AAgADQAIAI0ACABNAAgAzQAIAC0ACACtAAgAbQAIAO0ACAAdAAgAnQAIAF0ACADdAAgAPQAIAL0ACAB9AAgA/QAIABMACQATAQkAkwAJAJMBCQBTAAkAUwEJANMACQDTAQkAMwAJADMBCQCzAAkAswEJAHMACQBzAQkA8wAJAPMBCQALAAkACwEJAIsACQCLAQkASwAJAEsBCQDLAAkAywEJACsACQArAQkAqwAJAKsBCQBrAAkAawEJAOsACQDrAQkAGwAJABsBCQCbAAkAmwEJAFsACQBbAQkA2wAJANsBCQA7AAkAOwEJALsACQC7AQkAewAJAHsBCQD7AAkA+wEJAAcACQAHAQkAhwAJAIcBCQBHAAkARwEJAMcACQDHAQkAJwAJACcBCQCnAAkApwEJAGcACQBnAQkA5wAJAOcBCQAXAAkAFwEJAJcACQCXAQkAVwAJAFcBCQDXAAkA1wEJADcACQA3AQkAtwAJALcBCQB3AAkAdwEJAPcACQD3AQkADwAJAA8BCQCPAAkAjwEJAE8ACQBPAQkAzwAJAM8BCQAvAAkALwEJAK8ACQCvAQkAbwAJAG8BCQDvAAkA7wEJAB8ACQAfAQkAnwAJAJ8BCQBfAAkAXwEJAN8ACQDfAQkAPwAJAD8BCQC/AAkA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SXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AQcCAAQuFARMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAgERQADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAQfSCAQsCXEQAQbCDAQsQ/////////////////////w==";no(Si)||(Si=x(Si));function Ms(We){try{if(We==Si&&ce)return new Uint8Array(ce);var tt=ii(We);if(tt)return tt;if(F)return F(We);throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(It){Ti(It)}}function io(We,tt){var It,or,ee;try{ee=Ms(We),or=new WebAssembly.Module(ee),It=new WebAssembly.Instance(or,tt)}catch(Ne){var ye=Ne.toString();throw te("failed to compile wasm module: "+ye),(ye.includes("imported Memory")||ye.includes("memory import"))&&te("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."),Ne}return[It,or]}function uc(){var We={a:Ua};function tt(ee,ye){var Ne=ee.exports;r.asm=Ne,Be=r.asm.g,V(Be.buffer),$=r.asm.W,ln(r.asm.h),Os("wasm-instantiate")}if(Kn("wasm-instantiate"),r.instantiateWasm)try{var It=r.instantiateWasm(We,tt);return It}catch(ee){return te("Module.instantiateWasm callback failed with error: "+ee),!1}var or=io(Si,We);return tt(or[0]),r.asm}function uu(We){return R.getFloat32(We,!0)}function cp(We){return R.getFloat64(We,!0)}function up(We){return R.getInt16(We,!0)}function Us(We){return R.getInt32(We,!0)}function Pn(We,tt){R.setInt32(We,tt,!0)}function so(We){for(;We.length>0;){var tt=We.shift();if(typeof tt=="function"){tt(r);continue}var It=tt.func;typeof It=="number"?tt.arg===void 0?$.get(It)():$.get(It)(tt.arg):It(tt.arg===void 0?null:tt.arg)}}function _s(We,tt){var It=new Date(Us((We>>2)*4)*1e3);Pn((tt>>2)*4,It.getUTCSeconds()),Pn((tt+4>>2)*4,It.getUTCMinutes()),Pn((tt+8>>2)*4,It.getUTCHours()),Pn((tt+12>>2)*4,It.getUTCDate()),Pn((tt+16>>2)*4,It.getUTCMonth()),Pn((tt+20>>2)*4,It.getUTCFullYear()-1900),Pn((tt+24>>2)*4,It.getUTCDay()),Pn((tt+36>>2)*4,0),Pn((tt+32>>2)*4,0);var or=Date.UTC(It.getUTCFullYear(),0,1,0,0,0,0),ee=(It.getTime()-or)/(1e3*60*60*24)|0;return Pn((tt+28>>2)*4,ee),_s.GMTString||(_s.GMTString=rt("GMT")),Pn((tt+40>>2)*4,_s.GMTString),tt}function yl(We,tt){return _s(We,tt)}function El(We,tt,It){Se.copyWithin(We,tt,tt+It)}function oo(We){try{return Be.grow(We-ke.byteLength+65535>>>16),V(Be.buffer),1}catch{}}function zn(We){var tt=Se.length;We=We>>>0;var It=2147483648;if(We>It)return!1;for(var or=1;or<=4;or*=2){var ee=tt*(1+.2/or);ee=Math.min(ee,We+100663296);var ye=Math.min(It,Re(Math.max(We,ee),65536)),Ne=oo(ye);if(Ne)return!0}return!1}function On(We){le(We)}function Li(We){var tt=Date.now()/1e3|0;return We&&Pn((We>>2)*4,tt),tt}function Mn(){if(Mn.called)return;Mn.called=!0;var We=new Date().getFullYear(),tt=new Date(We,0,1),It=new Date(We,6,1),or=tt.getTimezoneOffset(),ee=It.getTimezoneOffset(),ye=Math.max(or,ee);Pn((ys()>>2)*4,ye*60),Pn((ms()>>2)*4,Number(or!=ee));function Ne($r){var Gi=$r.toTimeString().match(/\(([A-Za-z ]+)\)$/);return Gi?Gi[1]:"GMT"}var ft=Ne(tt),pt=Ne(It),Lt=rt(ft),rr=rt(pt);ee>2)*4,Lt),Pn((wi()+4>>2)*4,rr)):(Pn((wi()>>2)*4,rr),Pn((wi()+4>>2)*4,Lt))}function _i(We){Mn();var tt=Date.UTC(Us((We+20>>2)*4)+1900,Us((We+16>>2)*4),Us((We+12>>2)*4),Us((We+8>>2)*4),Us((We+4>>2)*4),Us((We>>2)*4),0),It=new Date(tt);Pn((We+24>>2)*4,It.getUTCDay());var or=Date.UTC(It.getUTCFullYear(),0,1,0,0,0,0),ee=(It.getTime()-or)/(1e3*60*60*24)|0;return Pn((We+28>>2)*4,ee),It.getTime()/1e3|0}var ir=typeof atob=="function"?atob:function(We){var tt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",It="",or,ee,ye,Ne,ft,pt,Lt,rr=0;We=We.replace(/[^A-Za-z0-9\+\/\=]/g,"");do Ne=tt.indexOf(We.charAt(rr++)),ft=tt.indexOf(We.charAt(rr++)),pt=tt.indexOf(We.charAt(rr++)),Lt=tt.indexOf(We.charAt(rr++)),or=Ne<<2|ft>>4,ee=(ft&15)<<4|pt>>2,ye=(pt&3)<<6|Lt,It=It+String.fromCharCode(or),pt!==64&&(It=It+String.fromCharCode(ee)),Lt!==64&&(It=It+String.fromCharCode(ye));while(rr0||(dt(),mr>0))return;function tt(){Dn||(Dn=!0,r.calledRun=!0,!Ee&&(Gt(),o(r),r.onRuntimeInitialized&&r.onRuntimeInitialized(),tr()))}r.setStatus?(r.setStatus("Running..."),setTimeout(function(){setTimeout(function(){r.setStatus("")},1),tt()},1)):tt()}if(r.run=Cs,r.preInit)for(typeof r.preInit=="function"&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();return Cs(),e}}();typeof Rb=="object"&&typeof tU=="object"?tU.exports=eU:typeof define=="function"&&define.amd?define([],function(){return eU}):typeof Rb=="object"&&(Rb.createModule=eU)});var Of,Tle,Lle,Nle=Et(()=>{Of=["number","number"],Tle=(Z=>(Z[Z.ZIP_ER_OK=0]="ZIP_ER_OK",Z[Z.ZIP_ER_MULTIDISK=1]="ZIP_ER_MULTIDISK",Z[Z.ZIP_ER_RENAME=2]="ZIP_ER_RENAME",Z[Z.ZIP_ER_CLOSE=3]="ZIP_ER_CLOSE",Z[Z.ZIP_ER_SEEK=4]="ZIP_ER_SEEK",Z[Z.ZIP_ER_READ=5]="ZIP_ER_READ",Z[Z.ZIP_ER_WRITE=6]="ZIP_ER_WRITE",Z[Z.ZIP_ER_CRC=7]="ZIP_ER_CRC",Z[Z.ZIP_ER_ZIPCLOSED=8]="ZIP_ER_ZIPCLOSED",Z[Z.ZIP_ER_NOENT=9]="ZIP_ER_NOENT",Z[Z.ZIP_ER_EXISTS=10]="ZIP_ER_EXISTS",Z[Z.ZIP_ER_OPEN=11]="ZIP_ER_OPEN",Z[Z.ZIP_ER_TMPOPEN=12]="ZIP_ER_TMPOPEN",Z[Z.ZIP_ER_ZLIB=13]="ZIP_ER_ZLIB",Z[Z.ZIP_ER_MEMORY=14]="ZIP_ER_MEMORY",Z[Z.ZIP_ER_CHANGED=15]="ZIP_ER_CHANGED",Z[Z.ZIP_ER_COMPNOTSUPP=16]="ZIP_ER_COMPNOTSUPP",Z[Z.ZIP_ER_EOF=17]="ZIP_ER_EOF",Z[Z.ZIP_ER_INVAL=18]="ZIP_ER_INVAL",Z[Z.ZIP_ER_NOZIP=19]="ZIP_ER_NOZIP",Z[Z.ZIP_ER_INTERNAL=20]="ZIP_ER_INTERNAL",Z[Z.ZIP_ER_INCONS=21]="ZIP_ER_INCONS",Z[Z.ZIP_ER_REMOVE=22]="ZIP_ER_REMOVE",Z[Z.ZIP_ER_DELETED=23]="ZIP_ER_DELETED",Z[Z.ZIP_ER_ENCRNOTSUPP=24]="ZIP_ER_ENCRNOTSUPP",Z[Z.ZIP_ER_RDONLY=25]="ZIP_ER_RDONLY",Z[Z.ZIP_ER_NOPASSWD=26]="ZIP_ER_NOPASSWD",Z[Z.ZIP_ER_WRONGPASSWD=27]="ZIP_ER_WRONGPASSWD",Z[Z.ZIP_ER_OPNOTSUPP=28]="ZIP_ER_OPNOTSUPP",Z[Z.ZIP_ER_INUSE=29]="ZIP_ER_INUSE",Z[Z.ZIP_ER_TELL=30]="ZIP_ER_TELL",Z[Z.ZIP_ER_COMPRESSED_DATA=31]="ZIP_ER_COMPRESSED_DATA",Z))(Tle||{}),Lle=t=>({get HEAPU8(){return t.HEAPU8},errors:Tle,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_EXCL:2,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_FL_COMPRESSED:4,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:t._malloc(1),uint32S:t._malloc(4),malloc:t._malloc,free:t._free,getValue:t.getValue,openFromSource:t.cwrap("zip_open_from_source","number",["number","number","number"]),close:t.cwrap("zip_close","number",["number"]),discard:t.cwrap("zip_discard",null,["number"]),getError:t.cwrap("zip_get_error","number",["number"]),getName:t.cwrap("zip_get_name","string",["number","number","number"]),getNumEntries:t.cwrap("zip_get_num_entries","number",["number","number"]),delete:t.cwrap("zip_delete","number",["number","number"]),statIndex:t.cwrap("zip_stat_index","number",["number",...Of,"number","number"]),fopenIndex:t.cwrap("zip_fopen_index","number",["number",...Of,"number"]),fread:t.cwrap("zip_fread","number",["number","number","number","number"]),fclose:t.cwrap("zip_fclose","number",["number"]),dir:{add:t.cwrap("zip_dir_add","number",["number","string"])},file:{add:t.cwrap("zip_file_add","number",["number","string","number","number"]),getError:t.cwrap("zip_file_get_error","number",["number"]),getExternalAttributes:t.cwrap("zip_file_get_external_attributes","number",["number",...Of,"number","number","number"]),setExternalAttributes:t.cwrap("zip_file_set_external_attributes","number",["number",...Of,"number","number","number"]),setMtime:t.cwrap("zip_file_set_mtime","number",["number",...Of,"number","number"]),setCompression:t.cwrap("zip_set_file_compression","number",["number",...Of,"number","number"])},ext:{countSymlinks:t.cwrap("zip_ext_count_symlinks","number",["number"])},error:{initWithCode:t.cwrap("zip_error_init_with_code",null,["number","number"]),strerror:t.cwrap("zip_error_strerror","string",["number"])},name:{locate:t.cwrap("zip_name_locate","number",["number","string","number"])},source:{fromUnattachedBuffer:t.cwrap("zip_source_buffer_create","number",["number",...Of,"number","number"]),fromBuffer:t.cwrap("zip_source_buffer","number",["number","number",...Of,"number"]),free:t.cwrap("zip_source_free",null,["number"]),keep:t.cwrap("zip_source_keep",null,["number"]),open:t.cwrap("zip_source_open","number",["number"]),close:t.cwrap("zip_source_close","number",["number"]),seek:t.cwrap("zip_source_seek","number",["number",...Of,"number"]),tell:t.cwrap("zip_source_tell","number",["number"]),read:t.cwrap("zip_source_read","number",["number","number","number"]),error:t.cwrap("zip_source_error","number",["number"])},struct:{statS:t.cwrap("zipstruct_statS","number",[]),statSize:t.cwrap("zipstruct_stat_size","number",["number"]),statCompSize:t.cwrap("zipstruct_stat_comp_size","number",["number"]),statCompMethod:t.cwrap("zipstruct_stat_comp_method","number",["number"]),statMtime:t.cwrap("zipstruct_stat_mtime","number",["number"]),statCrc:t.cwrap("zipstruct_stat_crc","number",["number"]),errorS:t.cwrap("zipstruct_errorS","number",[]),errorCodeZip:t.cwrap("zipstruct_error_code_zip","number",["number"])}})});function rU(t,e){let r=t.indexOf(e);if(r<=0)return null;let o=r;for(;r>=0&&(o=r+e.length,t[o]!==z.sep);){if(t[r-1]===z.sep)return null;r=t.indexOf(e,o)}return t.length>o&&t[o]!==z.sep?null:t.slice(0,o)}var Vl,Ole=Et(()=>{Dt();Dt();iA();Vl=class extends qp{static async openPromise(e,r){let o=new Vl(r);try{return await e(o)}finally{o.saveAndClose()}}constructor(e={}){let r=e.fileExtensions,o=e.readOnlyArchives,a=typeof r>"u"?A=>rU(A,".zip"):A=>{for(let p of r){let h=rU(A,p);if(h)return h}return null},n=(A,p)=>new Xi(p,{baseFs:A,readOnly:o,stats:A.statSync(p)}),u=async(A,p)=>{let h={baseFs:A,readOnly:o,stats:await A.statPromise(p)};return()=>new Xi(p,h)};super({...e,factorySync:n,factoryPromise:u,getMountPoint:a})}}});function uot(t){if(typeof t=="string"&&String(+t)===t)return+t;if(typeof t=="number"&&Number.isFinite(t))return t<0?Date.now()/1e3:t;if(Mle.types.isDate(t))return t.getTime()/1e3;throw new Error("Invalid time")}function Fb(){return Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])}var ta,nU,Mle,iU,Ule,Tb,Xi,sU=Et(()=>{Dt();Dt();Dt();Dt();Dt();Dt();ta=ve("fs"),nU=ve("stream"),Mle=ve("util"),iU=Ze(ve("zlib"));$4();Ule="mixed";Tb=class extends Error{constructor(r,o){super(r);this.name="Libzip Error",this.code=o}},Xi=class extends Uu{constructor(r,o={}){super();this.listings=new Map;this.entries=new Map;this.fileSources=new Map;this.fds=new Map;this.nextFd=0;this.ready=!1;this.readOnly=!1;let a=o;if(this.level=typeof a.level<"u"?a.level:Ule,r??=Fb(),typeof r=="string"){let{baseFs:A=new Tn}=a;this.baseFs=A,this.path=r}else this.path=null,this.baseFs=null;if(o.stats)this.stats=o.stats;else if(typeof r=="string")try{this.stats=this.baseFs.statSync(r)}catch(A){if(A.code==="ENOENT"&&a.create)this.stats=Ea.makeDefaultStats();else throw A}else this.stats=Ea.makeDefaultStats();this.libzip=x1();let n=this.libzip.malloc(4);try{let A=0;o.readOnly&&(A|=this.libzip.ZIP_RDONLY,this.readOnly=!0),typeof r=="string"&&(r=a.create?Fb():this.baseFs.readFileSync(r));let p=this.allocateUnattachedSource(r);try{this.zip=this.libzip.openFromSource(p,A,n),this.lzSource=p}catch(h){throw this.libzip.source.free(p),h}if(this.zip===0){let h=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(h,this.libzip.getValue(n,"i32")),this.makeLibzipError(h)}}finally{this.libzip.free(n)}this.listings.set(Bt.root,new Set);let u=this.libzip.getNumEntries(this.zip,0);for(let A=0;Ar)throw new Error("Overread");let n=Buffer.from(this.libzip.HEAPU8.subarray(o,o+r));return process.env.YARN_IS_TEST_ENV&&process.env.YARN_ZIP_DATA_EPILOGUE&&(n=Buffer.concat([n,Buffer.from(process.env.YARN_ZIP_DATA_EPILOGUE)])),n}finally{this.libzip.free(o)}}finally{this.libzip.source.close(this.lzSource),this.libzip.source.free(this.lzSource),this.ready=!1}}discardAndClose(){this.prepareClose(),this.libzip.discard(this.zip),this.ready=!1}saveAndClose(){if(!this.path||!this.baseFs)throw new Error("ZipFS cannot be saved and must be discarded when loaded from a buffer");if(this.readOnly){this.discardAndClose();return}let r=this.baseFs.existsSync(this.path)||this.stats.mode===Ea.DEFAULT_MODE?void 0:this.stats.mode;this.baseFs.writeFileSync(this.path,this.getBufferAndClose(),{mode:r}),this.ready=!1}resolve(r){return z.resolve(Bt.root,r)}async openPromise(r,o,a){return this.openSync(r,o,a)}openSync(r,o,a){let n=this.nextFd++;return this.fds.set(n,{cursor:0,p:r}),n}hasOpenFileHandles(){return!!this.fds.size}async opendirPromise(r,o){return this.opendirSync(r,o)}opendirSync(r,o={}){let a=this.resolveFilename(`opendir '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw nr.ENOENT(`opendir '${r}'`);let n=this.listings.get(a);if(!n)throw nr.ENOTDIR(`opendir '${r}'`);let u=[...n],A=this.openSync(a,"r");return bP(this,a,u,{onClose:()=>{this.closeSync(A)}})}async readPromise(r,o,a,n,u){return this.readSync(r,o,a,n,u)}readSync(r,o,a=0,n=o.byteLength,u=-1){let A=this.fds.get(r);if(typeof A>"u")throw nr.EBADF("read");let p=u===-1||u===null?A.cursor:u,h=this.readFileSync(A.p);h.copy(o,a,p,p+n);let E=Math.max(0,Math.min(h.length-p,n));return(u===-1||u===null)&&(A.cursor+=E),E}async writePromise(r,o,a,n,u){return typeof o=="string"?this.writeSync(r,o,u):this.writeSync(r,o,a,n,u)}writeSync(r,o,a,n,u){throw typeof this.fds.get(r)>"u"?nr.EBADF("read"):new Error("Unimplemented")}async closePromise(r){return this.closeSync(r)}closeSync(r){if(typeof this.fds.get(r)>"u")throw nr.EBADF("read");this.fds.delete(r)}createReadStream(r,{encoding:o}={}){if(r===null)throw new Error("Unimplemented");let a=this.openSync(r,"r"),n=Object.assign(new nU.PassThrough({emitClose:!0,autoDestroy:!0,destroy:(A,p)=>{clearImmediate(u),this.closeSync(a),p(A)}}),{close(){n.destroy()},bytesRead:0,path:r,pending:!1}),u=setImmediate(async()=>{try{let A=await this.readFilePromise(r,o);n.bytesRead=A.length,n.end(A)}catch(A){n.destroy(A)}});return n}createWriteStream(r,{encoding:o}={}){if(this.readOnly)throw nr.EROFS(`open '${r}'`);if(r===null)throw new Error("Unimplemented");let a=[],n=this.openSync(r,"w"),u=Object.assign(new nU.PassThrough({autoDestroy:!0,emitClose:!0,destroy:(A,p)=>{try{A?p(A):(this.writeFileSync(r,Buffer.concat(a),o),p(null))}catch(h){p(h)}finally{this.closeSync(n)}}}),{close(){u.destroy()},bytesWritten:0,path:r,pending:!1});return u.on("data",A=>{let p=Buffer.from(A);u.bytesWritten+=p.length,a.push(p)}),u}async realpathPromise(r){return this.realpathSync(r)}realpathSync(r){let o=this.resolveFilename(`lstat '${r}'`,r);if(!this.entries.has(o)&&!this.listings.has(o))throw nr.ENOENT(`lstat '${r}'`);return o}async existsPromise(r){return this.existsSync(r)}existsSync(r){if(!this.ready)throw nr.EBUSY(`archive closed, existsSync '${r}'`);if(this.symlinkCount===0){let a=z.resolve(Bt.root,r);return this.entries.has(a)||this.listings.has(a)}let o;try{o=this.resolveFilename(`stat '${r}'`,r,void 0,!1)}catch{return!1}return o===void 0?!1:this.entries.has(o)||this.listings.has(o)}async accessPromise(r,o){return this.accessSync(r,o)}accessSync(r,o=ta.constants.F_OK){let a=this.resolveFilename(`access '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw nr.ENOENT(`access '${r}'`);if(this.readOnly&&o&ta.constants.W_OK)throw nr.EROFS(`access '${r}'`)}async statPromise(r,o={bigint:!1}){return o.bigint?this.statSync(r,{bigint:!0}):this.statSync(r)}statSync(r,o={bigint:!1,throwIfNoEntry:!0}){let a=this.resolveFilename(`stat '${r}'`,r,void 0,o.throwIfNoEntry);if(a!==void 0){if(!this.entries.has(a)&&!this.listings.has(a)){if(o.throwIfNoEntry===!1)return;throw nr.ENOENT(`stat '${r}'`)}if(r[r.length-1]==="/"&&!this.listings.has(a))throw nr.ENOTDIR(`stat '${r}'`);return this.statImpl(`stat '${r}'`,a,o)}}async fstatPromise(r,o){return this.fstatSync(r,o)}fstatSync(r,o){let a=this.fds.get(r);if(typeof a>"u")throw nr.EBADF("fstatSync");let{p:n}=a,u=this.resolveFilename(`stat '${n}'`,n);if(!this.entries.has(u)&&!this.listings.has(u))throw nr.ENOENT(`stat '${n}'`);if(n[n.length-1]==="/"&&!this.listings.has(u))throw nr.ENOTDIR(`stat '${n}'`);return this.statImpl(`fstat '${n}'`,u,o)}async lstatPromise(r,o={bigint:!1}){return o.bigint?this.lstatSync(r,{bigint:!0}):this.lstatSync(r)}lstatSync(r,o={bigint:!1,throwIfNoEntry:!0}){let a=this.resolveFilename(`lstat '${r}'`,r,!1,o.throwIfNoEntry);if(a!==void 0){if(!this.entries.has(a)&&!this.listings.has(a)){if(o.throwIfNoEntry===!1)return;throw nr.ENOENT(`lstat '${r}'`)}if(r[r.length-1]==="/"&&!this.listings.has(a))throw nr.ENOTDIR(`lstat '${r}'`);return this.statImpl(`lstat '${r}'`,a,o)}}statImpl(r,o,a={}){let n=this.entries.get(o);if(typeof n<"u"){let u=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,n,0,0,u)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let p=this.stats.uid,h=this.stats.gid,E=this.libzip.struct.statSize(u)>>>0,I=512,v=Math.ceil(E/I),x=(this.libzip.struct.statMtime(u)>>>0)*1e3,C=x,F=x,N=x,U=new Date(C),J=new Date(F),te=new Date(N),ae=new Date(x),le=this.listings.has(o)?ta.constants.S_IFDIR:this.isSymbolicLink(n)?ta.constants.S_IFLNK:ta.constants.S_IFREG,ce=le===ta.constants.S_IFDIR?493:420,we=le|this.getUnixMode(n,ce)&511,de=this.libzip.struct.statCrc(u),Be=Object.assign(new Ea.StatEntry,{uid:p,gid:h,size:E,blksize:I,blocks:v,atime:U,birthtime:J,ctime:te,mtime:ae,atimeMs:C,birthtimeMs:F,ctimeMs:N,mtimeMs:x,mode:we,crc:de});return a.bigint===!0?Ea.convertToBigIntStats(Be):Be}if(this.listings.has(o)){let u=this.stats.uid,A=this.stats.gid,p=0,h=512,E=0,I=this.stats.mtimeMs,v=this.stats.mtimeMs,x=this.stats.mtimeMs,C=this.stats.mtimeMs,F=new Date(I),N=new Date(v),U=new Date(x),J=new Date(C),te=ta.constants.S_IFDIR|493,ae=0,le=Object.assign(new Ea.StatEntry,{uid:u,gid:A,size:p,blksize:h,blocks:E,atime:F,birthtime:N,ctime:U,mtime:J,atimeMs:I,birthtimeMs:v,ctimeMs:x,mtimeMs:C,mode:te,crc:ae});return a.bigint===!0?Ea.convertToBigIntStats(le):le}throw new Error("Unreachable")}getUnixMode(r,o){if(this.libzip.file.getExternalAttributes(this.zip,r,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?o:this.libzip.getValue(this.libzip.uint32S,"i32")>>>16}registerListing(r){let o=this.listings.get(r);if(o)return o;this.registerListing(z.dirname(r)).add(z.basename(r));let n=new Set;return this.listings.set(r,n),n}registerEntry(r,o){this.registerListing(z.dirname(r)).add(z.basename(r)),this.entries.set(r,o)}unregisterListing(r){this.listings.delete(r),this.listings.get(z.dirname(r))?.delete(z.basename(r))}unregisterEntry(r){this.unregisterListing(r);let o=this.entries.get(r);this.entries.delete(r),!(typeof o>"u")&&(this.fileSources.delete(o),this.isSymbolicLink(o)&&this.symlinkCount--)}deleteEntry(r,o){if(this.unregisterEntry(r),this.libzip.delete(this.zip,o)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}resolveFilename(r,o,a=!0,n=!0){if(!this.ready)throw nr.EBUSY(`archive closed, ${r}`);let u=z.resolve(Bt.root,o);if(u==="/")return Bt.root;let A=this.entries.get(u);if(a&&A!==void 0)if(this.symlinkCount!==0&&this.isSymbolicLink(A)){let p=this.getFileSource(A).toString();return this.resolveFilename(r,z.resolve(z.dirname(u),p),!0,n)}else return u;for(;;){let p=this.resolveFilename(r,z.dirname(u),!0,n);if(p===void 0)return p;let h=this.listings.has(p),E=this.entries.has(p);if(!h&&!E){if(n===!1)return;throw nr.ENOENT(r)}if(!h)throw nr.ENOTDIR(r);if(u=z.resolve(p,z.basename(u)),!a||this.symlinkCount===0)break;let I=this.libzip.name.locate(this.zip,u.slice(1),0);if(I===-1)break;if(this.isSymbolicLink(I)){let v=this.getFileSource(I).toString();u=z.resolve(z.dirname(u),v)}else break}return u}allocateBuffer(r){Buffer.isBuffer(r)||(r=Buffer.from(r));let o=this.libzip.malloc(r.byteLength);if(!o)throw new Error("Couldn't allocate enough memory");return new Uint8Array(this.libzip.HEAPU8.buffer,o,r.byteLength).set(r),{buffer:o,byteLength:r.byteLength}}allocateUnattachedSource(r){let o=this.libzip.struct.errorS(),{buffer:a,byteLength:n}=this.allocateBuffer(r),u=this.libzip.source.fromUnattachedBuffer(a,n,0,1,o);if(u===0)throw this.libzip.free(o),this.makeLibzipError(o);return u}allocateSource(r){let{buffer:o,byteLength:a}=this.allocateBuffer(r),n=this.libzip.source.fromBuffer(this.zip,o,a,0,1);if(n===0)throw this.libzip.free(o),this.makeLibzipError(this.libzip.getError(this.zip));return n}setFileSource(r,o){let a=Buffer.isBuffer(o)?o:Buffer.from(o),n=z.relative(Bt.root,r),u=this.allocateSource(o);try{let A=this.libzip.file.add(this.zip,n,u,this.libzip.ZIP_FL_OVERWRITE);if(A===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));if(this.level!=="mixed"){let p=this.level===0?this.libzip.ZIP_CM_STORE:this.libzip.ZIP_CM_DEFLATE;if(this.libzip.file.setCompression(this.zip,A,0,p,this.level)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}return this.fileSources.set(A,a),A}catch(A){throw this.libzip.source.free(u),A}}isSymbolicLink(r){if(this.symlinkCount===0)return!1;if(this.libzip.file.getExternalAttributes(this.zip,r,0,0,this.libzip.uint08S,this.libzip.uint32S)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?!1:(this.libzip.getValue(this.libzip.uint32S,"i32")>>>16&ta.constants.S_IFMT)===ta.constants.S_IFLNK}getFileSource(r,o={asyncDecompress:!1}){let a=this.fileSources.get(r);if(typeof a<"u")return a;let n=this.libzip.struct.statS();if(this.libzip.statIndex(this.zip,r,0,0,n)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));let A=this.libzip.struct.statCompSize(n),p=this.libzip.struct.statCompMethod(n),h=this.libzip.malloc(A);try{let E=this.libzip.fopenIndex(this.zip,r,0,this.libzip.ZIP_FL_COMPRESSED);if(E===0)throw this.makeLibzipError(this.libzip.getError(this.zip));try{let I=this.libzip.fread(E,h,A,0);if(I===-1)throw this.makeLibzipError(this.libzip.file.getError(E));if(IA)throw new Error("Overread");let v=this.libzip.HEAPU8.subarray(h,h+A),x=Buffer.from(v);if(p===0)return this.fileSources.set(r,x),x;if(o.asyncDecompress)return new Promise((C,F)=>{iU.default.inflateRaw(x,(N,U)=>{N?F(N):(this.fileSources.set(r,U),C(U))})});{let C=iU.default.inflateRawSync(x);return this.fileSources.set(r,C),C}}finally{this.libzip.fclose(E)}}finally{this.libzip.free(h)}}async fchmodPromise(r,o){return this.chmodPromise(this.fdToPath(r,"fchmod"),o)}fchmodSync(r,o){return this.chmodSync(this.fdToPath(r,"fchmodSync"),o)}async chmodPromise(r,o){return this.chmodSync(r,o)}chmodSync(r,o){if(this.readOnly)throw nr.EROFS(`chmod '${r}'`);o&=493;let a=this.resolveFilename(`chmod '${r}'`,r,!1),n=this.entries.get(a);if(typeof n>"u")throw new Error(`Assertion failed: The entry should have been registered (${a})`);let A=this.getUnixMode(n,ta.constants.S_IFREG|0)&-512|o;if(this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,A<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async fchownPromise(r,o,a){return this.chownPromise(this.fdToPath(r,"fchown"),o,a)}fchownSync(r,o,a){return this.chownSync(this.fdToPath(r,"fchownSync"),o,a)}async chownPromise(r,o,a){return this.chownSync(r,o,a)}chownSync(r,o,a){throw new Error("Unimplemented")}async renamePromise(r,o){return this.renameSync(r,o)}renameSync(r,o){throw new Error("Unimplemented")}async copyFilePromise(r,o,a){let{indexSource:n,indexDest:u,resolvedDestP:A}=this.prepareCopyFile(r,o,a),p=await this.getFileSource(n,{asyncDecompress:!0}),h=this.setFileSource(A,p);h!==u&&this.registerEntry(A,h)}copyFileSync(r,o,a=0){let{indexSource:n,indexDest:u,resolvedDestP:A}=this.prepareCopyFile(r,o,a),p=this.getFileSource(n),h=this.setFileSource(A,p);h!==u&&this.registerEntry(A,h)}prepareCopyFile(r,o,a=0){if(this.readOnly)throw nr.EROFS(`copyfile '${r} -> '${o}'`);if((a&ta.constants.COPYFILE_FICLONE_FORCE)!==0)throw nr.ENOSYS("unsupported clone operation",`copyfile '${r}' -> ${o}'`);let n=this.resolveFilename(`copyfile '${r} -> ${o}'`,r),u=this.entries.get(n);if(typeof u>"u")throw nr.EINVAL(`copyfile '${r}' -> '${o}'`);let A=this.resolveFilename(`copyfile '${r}' -> ${o}'`,o),p=this.entries.get(A);if((a&(ta.constants.COPYFILE_EXCL|ta.constants.COPYFILE_FICLONE_FORCE))!==0&&typeof p<"u")throw nr.EEXIST(`copyfile '${r}' -> '${o}'`);return{indexSource:u,resolvedDestP:A,indexDest:p}}async appendFilePromise(r,o,a){if(this.readOnly)throw nr.EROFS(`open '${r}'`);return typeof a>"u"?a={flag:"a"}:typeof a=="string"?a={flag:"a",encoding:a}:typeof a.flag>"u"&&(a={flag:"a",...a}),this.writeFilePromise(r,o,a)}appendFileSync(r,o,a={}){if(this.readOnly)throw nr.EROFS(`open '${r}'`);return typeof a>"u"?a={flag:"a"}:typeof a=="string"?a={flag:"a",encoding:a}:typeof a.flag>"u"&&(a={flag:"a",...a}),this.writeFileSync(r,o,a)}fdToPath(r,o){let a=this.fds.get(r)?.p;if(typeof a>"u")throw nr.EBADF(o);return a}async writeFilePromise(r,o,a){let{encoding:n,mode:u,index:A,resolvedP:p}=this.prepareWriteFile(r,a);A!==void 0&&typeof a=="object"&&a.flag&&a.flag.includes("a")&&(o=Buffer.concat([await this.getFileSource(A,{asyncDecompress:!0}),Buffer.from(o)])),n!==null&&(o=o.toString(n));let h=this.setFileSource(p,o);h!==A&&this.registerEntry(p,h),u!==null&&await this.chmodPromise(p,u)}writeFileSync(r,o,a){let{encoding:n,mode:u,index:A,resolvedP:p}=this.prepareWriteFile(r,a);A!==void 0&&typeof a=="object"&&a.flag&&a.flag.includes("a")&&(o=Buffer.concat([this.getFileSource(A),Buffer.from(o)])),n!==null&&(o=o.toString(n));let h=this.setFileSource(p,o);h!==A&&this.registerEntry(p,h),u!==null&&this.chmodSync(p,u)}prepareWriteFile(r,o){if(typeof r=="number"&&(r=this.fdToPath(r,"read")),this.readOnly)throw nr.EROFS(`open '${r}'`);let a=this.resolveFilename(`open '${r}'`,r);if(this.listings.has(a))throw nr.EISDIR(`open '${r}'`);let n=null,u=null;typeof o=="string"?n=o:typeof o=="object"&&({encoding:n=null,mode:u=null}=o);let A=this.entries.get(a);return{encoding:n,mode:u,resolvedP:a,index:A}}async unlinkPromise(r){return this.unlinkSync(r)}unlinkSync(r){if(this.readOnly)throw nr.EROFS(`unlink '${r}'`);let o=this.resolveFilename(`unlink '${r}'`,r);if(this.listings.has(o))throw nr.EISDIR(`unlink '${r}'`);let a=this.entries.get(o);if(typeof a>"u")throw nr.EINVAL(`unlink '${r}'`);this.deleteEntry(o,a)}async utimesPromise(r,o,a){return this.utimesSync(r,o,a)}utimesSync(r,o,a){if(this.readOnly)throw nr.EROFS(`utimes '${r}'`);let n=this.resolveFilename(`utimes '${r}'`,r);this.utimesImpl(n,a)}async lutimesPromise(r,o,a){return this.lutimesSync(r,o,a)}lutimesSync(r,o,a){if(this.readOnly)throw nr.EROFS(`lutimes '${r}'`);let n=this.resolveFilename(`utimes '${r}'`,r,!1);this.utimesImpl(n,a)}utimesImpl(r,o){this.listings.has(r)&&(this.entries.has(r)||this.hydrateDirectory(r));let a=this.entries.get(r);if(a===void 0)throw new Error("Unreachable");if(this.libzip.file.setMtime(this.zip,a,0,uot(o),0)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip))}async mkdirPromise(r,o){return this.mkdirSync(r,o)}mkdirSync(r,{mode:o=493,recursive:a=!1}={}){if(a)return this.mkdirpSync(r,{chmod:o});if(this.readOnly)throw nr.EROFS(`mkdir '${r}'`);let n=this.resolveFilename(`mkdir '${r}'`,r);if(this.entries.has(n)||this.listings.has(n))throw nr.EEXIST(`mkdir '${r}'`);this.hydrateDirectory(n),this.chmodSync(n,o)}async rmdirPromise(r,o){return this.rmdirSync(r,o)}rmdirSync(r,{recursive:o=!1}={}){if(this.readOnly)throw nr.EROFS(`rmdir '${r}'`);if(o){this.removeSync(r);return}let a=this.resolveFilename(`rmdir '${r}'`,r),n=this.listings.get(a);if(!n)throw nr.ENOTDIR(`rmdir '${r}'`);if(n.size>0)throw nr.ENOTEMPTY(`rmdir '${r}'`);let u=this.entries.get(a);if(typeof u>"u")throw nr.EINVAL(`rmdir '${r}'`);this.deleteEntry(r,u)}async rmPromise(r,o){return this.rmSync(r,o)}rmSync(r,{recursive:o=!1}={}){if(this.readOnly)throw nr.EROFS(`rm '${r}'`);if(o){this.removeSync(r);return}let a=this.resolveFilename(`rm '${r}'`,r),n=this.listings.get(a);if(!n)throw nr.ENOTDIR(`rm '${r}'`);if(n.size>0)throw nr.ENOTEMPTY(`rm '${r}'`);let u=this.entries.get(a);if(typeof u>"u")throw nr.EINVAL(`rm '${r}'`);this.deleteEntry(r,u)}hydrateDirectory(r){let o=this.libzip.dir.add(this.zip,z.relative(Bt.root,r));if(o===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));return this.registerListing(r),this.registerEntry(r,o),o}async linkPromise(r,o){return this.linkSync(r,o)}linkSync(r,o){throw nr.EOPNOTSUPP(`link '${r}' -> '${o}'`)}async symlinkPromise(r,o){return this.symlinkSync(r,o)}symlinkSync(r,o){if(this.readOnly)throw nr.EROFS(`symlink '${r}' -> '${o}'`);let a=this.resolveFilename(`symlink '${r}' -> '${o}'`,o);if(this.listings.has(a))throw nr.EISDIR(`symlink '${r}' -> '${o}'`);if(this.entries.has(a))throw nr.EEXIST(`symlink '${r}' -> '${o}'`);let n=this.setFileSource(a,r);if(this.registerEntry(a,n),this.libzip.file.setExternalAttributes(this.zip,n,0,0,this.libzip.ZIP_OPSYS_UNIX,(ta.constants.S_IFLNK|511)<<16)===-1)throw this.makeLibzipError(this.libzip.getError(this.zip));this.symlinkCount+=1}async readFilePromise(r,o){typeof o=="object"&&(o=o?o.encoding:void 0);let a=await this.readFileBuffer(r,{asyncDecompress:!0});return o?a.toString(o):a}readFileSync(r,o){typeof o=="object"&&(o=o?o.encoding:void 0);let a=this.readFileBuffer(r);return o?a.toString(o):a}readFileBuffer(r,o={asyncDecompress:!1}){typeof r=="number"&&(r=this.fdToPath(r,"read"));let a=this.resolveFilename(`open '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw nr.ENOENT(`open '${r}'`);if(r[r.length-1]==="/"&&!this.listings.has(a))throw nr.ENOTDIR(`open '${r}'`);if(this.listings.has(a))throw nr.EISDIR("read");let n=this.entries.get(a);if(n===void 0)throw new Error("Unreachable");return this.getFileSource(n,o)}async readdirPromise(r,o){return this.readdirSync(r,o)}readdirSync(r,o){let a=this.resolveFilename(`scandir '${r}'`,r);if(!this.entries.has(a)&&!this.listings.has(a))throw nr.ENOENT(`scandir '${r}'`);let n=this.listings.get(a);if(!n)throw nr.ENOTDIR(`scandir '${r}'`);if(o?.recursive)if(o?.withFileTypes){let u=Array.from(n,A=>Object.assign(this.statImpl("lstat",z.join(r,A)),{name:A,path:Bt.dot}));for(let A of u){if(!A.isDirectory())continue;let p=z.join(A.path,A.name),h=this.listings.get(z.join(a,p));for(let E of h)u.push(Object.assign(this.statImpl("lstat",z.join(r,p,E)),{name:E,path:p}))}return u}else{let u=[...n];for(let A of u){let p=this.listings.get(z.join(a,A));if(!(typeof p>"u"))for(let h of p)u.push(z.join(A,h))}return u}else return o?.withFileTypes?Array.from(n,u=>Object.assign(this.statImpl("lstat",z.join(r,u)),{name:u,path:void 0})):[...n]}async readlinkPromise(r){let o=this.prepareReadlink(r);return(await this.getFileSource(o,{asyncDecompress:!0})).toString()}readlinkSync(r){let o=this.prepareReadlink(r);return this.getFileSource(o).toString()}prepareReadlink(r){let o=this.resolveFilename(`readlink '${r}'`,r,!1);if(!this.entries.has(o)&&!this.listings.has(o))throw nr.ENOENT(`readlink '${r}'`);if(r[r.length-1]==="/"&&!this.listings.has(o))throw nr.ENOTDIR(`open '${r}'`);if(this.listings.has(o))throw nr.EINVAL(`readlink '${r}'`);let a=this.entries.get(o);if(a===void 0)throw new Error("Unreachable");if(!this.isSymbolicLink(a))throw nr.EINVAL(`readlink '${r}'`);return a}async truncatePromise(r,o=0){let a=this.resolveFilename(`open '${r}'`,r),n=this.entries.get(a);if(typeof n>"u")throw nr.EINVAL(`open '${r}'`);let u=await this.getFileSource(n,{asyncDecompress:!0}),A=Buffer.alloc(o,0);return u.copy(A),await this.writeFilePromise(r,A)}truncateSync(r,o=0){let a=this.resolveFilename(`open '${r}'`,r),n=this.entries.get(a);if(typeof n>"u")throw nr.EINVAL(`open '${r}'`);let u=this.getFileSource(n),A=Buffer.alloc(o,0);return u.copy(A),this.writeFileSync(r,A)}async ftruncatePromise(r,o){return this.truncatePromise(this.fdToPath(r,"ftruncate"),o)}ftruncateSync(r,o){return this.truncateSync(this.fdToPath(r,"ftruncateSync"),o)}watch(r,o,a){let n;switch(typeof o){case"function":case"string":case"undefined":n=!0;break;default:({persistent:n=!0}=o);break}if(!n)return{on:()=>{},close:()=>{}};let u=setInterval(()=>{},24*60*60*1e3);return{on:()=>{},close:()=>{clearInterval(u)}}}watchFile(r,o,a){let n=z.resolve(Bt.root,r);return ry(this,n,o,a)}unwatchFile(r,o){let a=z.resolve(Bt.root,r);return Ug(this,a,o)}}});function Hle(t,e,r=Buffer.alloc(0),o){let a=new Xi(r),n=I=>I===e||I.startsWith(`${e}/`)?I.slice(0,e.length):null,u=async(I,v)=>()=>a,A=(I,v)=>a,p={...t},h=new Tn(p),E=new qp({baseFs:h,getMountPoint:n,factoryPromise:u,factorySync:A,magicByte:21,maxAge:1/0,typeCheck:o?.typeCheck});return Yw(_le.default,new Gp(E)),a}var _le,qle=Et(()=>{Dt();_le=Ze(ve("fs"));sU()});var Gle=Et(()=>{Ole();sU();qle()});var k1={};zt(k1,{DEFAULT_COMPRESSION_LEVEL:()=>Ule,LibzipError:()=>Tb,ZipFS:()=>Xi,ZipOpenFS:()=>Vl,getArchivePart:()=>rU,getLibzipPromise:()=>fot,getLibzipSync:()=>Aot,makeEmptyArchive:()=>Fb,mountMemoryDrive:()=>Hle});function Aot(){return x1()}async function fot(){return x1()}var jle,iA=Et(()=>{$4();jle=Ze(Fle());Nle();Gle();Rle(()=>{let t=(0,jle.default)();return Lle(t)})});var QE,Yle=Et(()=>{Dt();qt();Q1();QE=class extends it{constructor(){super(...arguments);this.cwd=ge.String("--cwd",process.cwd(),{description:"The directory to run the command in"});this.commandName=ge.String();this.args=ge.Proxy()}async execute(){let r=this.args.length>0?`${this.commandName} ${this.args.join(" ")}`:this.commandName;return await RE(r,[],{cwd:ue.toPortablePath(this.cwd),stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}};QE.usage={description:"run a command using yarn's portable shell",details:` + This command will run a command using Yarn's portable shell. + + Make sure to escape glob patterns, redirections, and other features that might be expanded by your own shell. + + Note: To escape something from Yarn's shell, you might have to escape it twice, the first time from your own shell. + + Note: Don't use this command in Yarn scripts, as Yarn's shell is automatically used. + + For a list of features, visit: https://github.com/yarnpkg/berry/blob/master/packages/yarnpkg-shell/README.md. + `,examples:[["Run a simple command","$0 echo Hello"],["Run a command with a glob pattern","$0 echo '*.js'"],["Run a command with a redirection","$0 echo Hello World '>' hello.txt"],["Run a command with an escaped glob pattern (The double escape is needed in Unix shells)",`$0 echo '"*.js"'`],["Run a command with a variable (Double quotes are needed in Unix shells, to prevent them from expanding the variable)",'$0 "GREETING=Hello echo $GREETING World"']]}});var ll,Wle=Et(()=>{ll=class extends Error{constructor(e){super(e),this.name="ShellError"}}});var Ob={};zt(Ob,{fastGlobOptions:()=>Jle,isBraceExpansion:()=>oU,isGlobPattern:()=>pot,match:()=>hot,micromatchOptions:()=>Nb});function pot(t){if(!Lb.default.scan(t,Nb).isGlob)return!1;try{Lb.default.parse(t,Nb)}catch{return!1}return!0}function hot(t,{cwd:e,baseFs:r}){return(0,Kle.default)(t,{...Jle,cwd:ue.fromPortablePath(e),fs:FP(zle.default,new Gp(r))})}function oU(t){return Lb.default.scan(t,Nb).isBrace}var Kle,zle,Lb,Nb,Jle,Vle=Et(()=>{Dt();Kle=Ze(TS()),zle=Ze(ve("fs")),Lb=Ze(Xo()),Nb={strictBrackets:!0},Jle={onlyDirectories:!1,onlyFiles:!1}});function aU(){}function lU(){for(let t of kd)t.kill()}function ece(t,e,r,o){return a=>{let n=a[0]instanceof sA.Transform?"pipe":a[0],u=a[1]instanceof sA.Transform?"pipe":a[1],A=a[2]instanceof sA.Transform?"pipe":a[2],p=(0,Zle.default)(t,e,{...o,stdio:[n,u,A]});return kd.add(p),kd.size===1&&(process.on("SIGINT",aU),process.on("SIGTERM",lU)),a[0]instanceof sA.Transform&&a[0].pipe(p.stdin),a[1]instanceof sA.Transform&&p.stdout.pipe(a[1],{end:!1}),a[2]instanceof sA.Transform&&p.stderr.pipe(a[2],{end:!1}),{stdin:p.stdin,promise:new Promise(h=>{p.on("error",E=>{switch(kd.delete(p),kd.size===0&&(process.off("SIGINT",aU),process.off("SIGTERM",lU)),E.code){case"ENOENT":a[2].write(`command not found: ${t} +`),h(127);break;case"EACCES":a[2].write(`permission denied: ${t} +`),h(128);break;default:a[2].write(`uncaught error: ${E.message} +`),h(1);break}}),p.on("close",E=>{kd.delete(p),kd.size===0&&(process.off("SIGINT",aU),process.off("SIGTERM",lU)),h(E!==null?E:129)})})}}}function tce(t){return e=>{let r=e[0]==="pipe"?new sA.PassThrough:e[0];return{stdin:r,promise:Promise.resolve().then(()=>t({stdin:r,stdout:e[1],stderr:e[2]}))}}}function Mb(t,e){return FE.start(t,e)}function Xle(t,e=null){let r=new sA.PassThrough,o=new $le.StringDecoder,a="";return r.on("data",n=>{let u=o.write(n),A;do if(A=u.indexOf(` +`),A!==-1){let p=a+u.substring(0,A);u=u.substring(A+1),a="",t(e!==null?`${e} ${p}`:p)}while(A!==-1);a+=u}),r.on("end",()=>{let n=o.end();n!==""&&t(e!==null?`${e} ${n}`:n)}),r}function rce(t,{prefix:e}){return{stdout:Xle(r=>t.stdout.write(`${r} +`),t.stdout.isTTY?e:null),stderr:Xle(r=>t.stderr.write(`${r} +`),t.stderr.isTTY?e:null)}}var Zle,sA,$le,kd,Xl,cU,FE,uU=Et(()=>{Zle=Ze(oT()),sA=ve("stream"),$le=ve("string_decoder"),kd=new Set;Xl=class{constructor(e){this.stream=e}close(){}get(){return this.stream}},cU=class{constructor(){this.stream=null}close(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");this.stream.end()}attach(e){this.stream=e}get(){if(this.stream===null)throw new Error("Assertion failed: No stream attached");return this.stream}},FE=class{constructor(e,r){this.stdin=null;this.stdout=null;this.stderr=null;this.pipe=null;this.ancestor=e,this.implementation=r}static start(e,{stdin:r,stdout:o,stderr:a}){let n=new FE(null,e);return n.stdin=r,n.stdout=o,n.stderr=a,n}pipeTo(e,r=1){let o=new FE(this,e),a=new cU;return o.pipe=a,o.stdout=this.stdout,o.stderr=this.stderr,(r&1)===1?this.stdout=a:this.ancestor!==null&&(this.stderr=this.ancestor.stdout),(r&2)===2?this.stderr=a:this.ancestor!==null&&(this.stderr=this.ancestor.stderr),o}async exec(){let e=["ignore","ignore","ignore"];if(this.pipe)e[0]="pipe";else{if(this.stdin===null)throw new Error("Assertion failed: No input stream registered");e[0]=this.stdin.get()}let r;if(this.stdout===null)throw new Error("Assertion failed: No output stream registered");r=this.stdout,e[1]=r.get();let o;if(this.stderr===null)throw new Error("Assertion failed: No error stream registered");o=this.stderr,e[2]=o.get();let a=this.implementation(e);return this.pipe&&this.pipe.attach(a.stdin),await a.promise.then(n=>(r.close(),o.close(),n))}async run(){let e=[];for(let o=this;o;o=o.ancestor)e.push(o.exec());return(await Promise.all(e))[0]}}});var L1={};zt(L1,{EntryCommand:()=>QE,ShellError:()=>ll,execute:()=>RE,globUtils:()=>Ob});function nce(t,e,r){let o=new cl.PassThrough({autoDestroy:!0});switch(t){case 0:(e&1)===1&&r.stdin.pipe(o,{end:!1}),(e&2)===2&&r.stdin instanceof cl.Writable&&o.pipe(r.stdin,{end:!1});break;case 1:(e&1)===1&&r.stdout.pipe(o,{end:!1}),(e&2)===2&&o.pipe(r.stdout,{end:!1});break;case 2:(e&1)===1&&r.stderr.pipe(o,{end:!1}),(e&2)===2&&o.pipe(r.stderr,{end:!1});break;default:throw new ll(`Bad file descriptor: "${t}"`)}return o}function _b(t,e={}){let r={...t,...e};return r.environment={...t.environment,...e.environment},r.variables={...t.variables,...e.variables},r}async function dot(t,e,r){let o=[],a=new cl.PassThrough;return a.on("data",n=>o.push(n)),await Hb(t,e,_b(r,{stdout:a})),Buffer.concat(o).toString().replace(/[\r\n]+$/,"")}async function ice(t,e,r){let o=t.map(async n=>{let u=await Qd(n.args,e,r);return{name:n.name,value:u.join(" ")}});return(await Promise.all(o)).reduce((n,u)=>(n[u.name]=u.value,n),{})}function Ub(t){return t.match(/[^ \r\n\t]+/g)||[]}async function uce(t,e,r,o,a=o){switch(t.name){case"$":o(String(process.pid));break;case"#":o(String(e.args.length));break;case"@":if(t.quoted)for(let n of e.args)a(n);else for(let n of e.args){let u=Ub(n);for(let A=0;A=0&&n"u"&&(t.defaultValue?u=(await Qd(t.defaultValue,e,r)).join(" "):t.alternativeValue&&(u="")),typeof u>"u")throw A?new ll(`Unbound argument #${n}`):new ll(`Unbound variable "${t.name}"`);if(t.quoted)o(u);else{let p=Ub(u);for(let E=0;Eo.push(n));let a=Number(o.join(" "));return Number.isNaN(a)?R1({type:"variable",name:o.join(" ")},e,r):R1({type:"number",value:a},e,r)}else return mot[t.type](await R1(t.left,e,r),await R1(t.right,e,r))}async function Qd(t,e,r){let o=new Map,a=[],n=[],u=E=>{n.push(E)},A=()=>{n.length>0&&a.push(n.join("")),n=[]},p=E=>{u(E),A()},h=(E,I,v)=>{let x=JSON.stringify({type:E,fd:I}),C=o.get(x);typeof C>"u"&&o.set(x,C=[]),C.push(v)};for(let E of t){let I=!1;switch(E.type){case"redirection":{let v=await Qd(E.args,e,r);for(let x of v)h(E.subtype,E.fd,x)}break;case"argument":for(let v of E.segments)switch(v.type){case"text":u(v.text);break;case"glob":u(v.pattern),I=!0;break;case"shell":{let x=await dot(v.shell,e,r);if(v.quoted)u(x);else{let C=Ub(x);for(let F=0;F"u")throw new Error("Assertion failed: Expected a glob pattern to have been set");let x=await e.glob.match(v,{cwd:r.cwd,baseFs:e.baseFs});if(x.length===0){let C=oU(v)?". Note: Brace expansion of arbitrary strings isn't currently supported. For more details, please read this issue: https://github.com/yarnpkg/berry/issues/22":"";throw new ll(`No matches found: "${v}"${C}`)}for(let C of x.sort())p(C)}}if(o.size>0){let E=[];for(let[I,v]of o.entries())E.splice(E.length,0,I,String(v.length),...v);a.splice(0,0,"__ysh_set_redirects",...E,"--")}return a}function F1(t,e,r){e.builtins.has(t[0])||(t=["command",...t]);let o=ue.fromPortablePath(r.cwd),a=r.environment;typeof a.PWD<"u"&&(a={...a,PWD:o});let[n,...u]=t;if(n==="command")return ece(u[0],u.slice(1),e,{cwd:o,env:a});let A=e.builtins.get(n);if(typeof A>"u")throw new Error(`Assertion failed: A builtin should exist for "${n}"`);return tce(async({stdin:p,stdout:h,stderr:E})=>{let{stdin:I,stdout:v,stderr:x}=r;r.stdin=p,r.stdout=h,r.stderr=E;try{return await A(u,e,r)}finally{r.stdin=I,r.stdout=v,r.stderr=x}})}function yot(t,e,r){return o=>{let a=new cl.PassThrough,n=Hb(t,e,_b(r,{stdin:a}));return{stdin:a,promise:n}}}function Eot(t,e,r){return o=>{let a=new cl.PassThrough,n=Hb(t,e,r);return{stdin:a,promise:n}}}function sce(t,e,r,o){if(e.length===0)return t;{let a;do a=String(Math.random());while(Object.hasOwn(o.procedures,a));return o.procedures={...o.procedures},o.procedures[a]=t,F1([...e,"__ysh_run_procedure",a],r,o)}}async function oce(t,e,r){let o=t,a=null,n=null;for(;o;){let u=o.then?{...r}:r,A;switch(o.type){case"command":{let p=await Qd(o.args,e,r),h=await ice(o.envs,e,r);A=o.envs.length?F1(p,e,_b(u,{environment:h})):F1(p,e,u)}break;case"subshell":{let p=await Qd(o.args,e,r),h=yot(o.subshell,e,u);A=sce(h,p,e,u)}break;case"group":{let p=await Qd(o.args,e,r),h=Eot(o.group,e,u);A=sce(h,p,e,u)}break;case"envs":{let p=await ice(o.envs,e,r);u.environment={...u.environment,...p},A=F1(["true"],e,u)}break}if(typeof A>"u")throw new Error("Assertion failed: An action should have been generated");if(a===null)n=Mb(A,{stdin:new Xl(u.stdin),stdout:new Xl(u.stdout),stderr:new Xl(u.stderr)});else{if(n===null)throw new Error("Assertion failed: The execution pipeline should have been setup");switch(a){case"|":n=n.pipeTo(A,1);break;case"|&":n=n.pipeTo(A,3);break}}o.then?(a=o.then.type,o=o.then.chain):o=null}if(n===null)throw new Error("Assertion failed: The execution pipeline should have been setup");return await n.run()}async function Cot(t,e,r,{background:o=!1}={}){function a(n){let u=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],A=u[n%u.length];return ace.default.hex(A)}if(o){let n=r.nextBackgroundJobIndex++,u=a(n),A=`[${n}]`,p=u(A),{stdout:h,stderr:E}=rce(r,{prefix:p});return r.backgroundJobs.push(oce(t,e,_b(r,{stdout:h,stderr:E})).catch(I=>E.write(`${I.message} +`)).finally(()=>{r.stdout.isTTY&&r.stdout.write(`Job ${p}, '${u(cy(t))}' has ended +`)})),0}return await oce(t,e,r)}async function wot(t,e,r,{background:o=!1}={}){let a,n=A=>{a=A,r.variables["?"]=String(A)},u=async A=>{try{return await Cot(A.chain,e,r,{background:o&&typeof A.then>"u"})}catch(p){if(!(p instanceof ll))throw p;return r.stderr.write(`${p.message} +`),1}};for(n(await u(t));t.then;){if(r.exitCode!==null)return r.exitCode;switch(t.then.type){case"&&":a===0&&n(await u(t.then.line));break;case"||":a!==0&&n(await u(t.then.line));break;default:throw new Error(`Assertion failed: Unsupported command type: "${t.then.type}"`)}t=t.then.line}return a}async function Hb(t,e,r){let o=r.backgroundJobs;r.backgroundJobs=[];let a=0;for(let{command:n,type:u}of t){if(a=await wot(n,e,r,{background:u==="&"}),r.exitCode!==null)return r.exitCode;r.variables["?"]=String(a)}return await Promise.all(r.backgroundJobs),r.backgroundJobs=o,a}function Ace(t){switch(t.type){case"variable":return t.name==="@"||t.name==="#"||t.name==="*"||Number.isFinite(parseInt(t.name,10))||"defaultValue"in t&&!!t.defaultValue&&t.defaultValue.some(e=>T1(e))||"alternativeValue"in t&&!!t.alternativeValue&&t.alternativeValue.some(e=>T1(e));case"arithmetic":return AU(t.arithmetic);case"shell":return fU(t.shell);default:return!1}}function T1(t){switch(t.type){case"redirection":return t.args.some(e=>T1(e));case"argument":return t.segments.some(e=>Ace(e));default:throw new Error(`Assertion failed: Unsupported argument type: "${t.type}"`)}}function AU(t){switch(t.type){case"variable":return Ace(t);case"number":return!1;default:return AU(t.left)||AU(t.right)}}function fU(t){return t.some(({command:e})=>{for(;e;){let r=e.chain;for(;r;){let o;switch(r.type){case"subshell":o=fU(r.subshell);break;case"command":o=r.envs.some(a=>a.args.some(n=>T1(n)))||r.args.some(a=>T1(a));break}if(o)return!0;if(!r.then)break;r=r.then.chain}if(!e.then)break;e=e.then.line}return!1})}async function RE(t,e=[],{baseFs:r=new Tn,builtins:o={},cwd:a=ue.toPortablePath(process.cwd()),env:n=process.env,stdin:u=process.stdin,stdout:A=process.stdout,stderr:p=process.stderr,variables:h={},glob:E=Ob}={}){let I={};for(let[C,F]of Object.entries(n))typeof F<"u"&&(I[C]=F);let v=new Map(got);for(let[C,F]of Object.entries(o))v.set(C,F);u===null&&(u=new cl.PassThrough,u.end());let x=NP(t,E);if(!fU(x)&&x.length>0&&e.length>0){let{command:C}=x[x.length-1];for(;C.then;)C=C.then.line;let F=C.chain;for(;F.then;)F=F.then.chain;F.type==="command"&&(F.args=F.args.concat(e.map(N=>({type:"argument",segments:[{type:"text",text:N}]}))))}return await Hb(x,{args:e,baseFs:r,builtins:v,initialStdin:u,initialStdout:A,initialStderr:p,glob:E},{cwd:a,environment:I,exitCode:null,procedures:{},stdin:u,stdout:A,stderr:p,variables:Object.assign({},h,{["?"]:0}),nextBackgroundJobIndex:1,backgroundJobs:[]})}var ace,lce,cl,cce,got,mot,Q1=Et(()=>{Dt();Nl();ace=Ze(BL()),lce=ve("os"),cl=ve("stream"),cce=ve("timers/promises");Yle();Wle();Vle();uU();uU();got=new Map([["cd",async([t=(0,lce.homedir)(),...e],r,o)=>{let a=z.resolve(o.cwd,ue.toPortablePath(t));if(!(await r.baseFs.statPromise(a).catch(u=>{throw u.code==="ENOENT"?new ll(`cd: no such file or directory: ${t}`):u})).isDirectory())throw new ll(`cd: not a directory: ${t}`);return o.cwd=a,0}],["pwd",async(t,e,r)=>(r.stdout.write(`${ue.fromPortablePath(r.cwd)} +`),0)],[":",async(t,e,r)=>0],["true",async(t,e,r)=>0],["false",async(t,e,r)=>1],["exit",async([t,...e],r,o)=>o.exitCode=parseInt(t??o.variables["?"],10)],["echo",async(t,e,r)=>(r.stdout.write(`${t.join(" ")} +`),0)],["sleep",async([t],e,r)=>{if(typeof t>"u")throw new ll("sleep: missing operand");let o=Number(t);if(Number.isNaN(o))throw new ll(`sleep: invalid time interval '${t}'`);return await(0,cce.setTimeout)(1e3*o,0)}],["__ysh_run_procedure",async(t,e,r)=>{let o=r.procedures[t[0]];return await Mb(o,{stdin:new Xl(r.stdin),stdout:new Xl(r.stdout),stderr:new Xl(r.stderr)}).run()}],["__ysh_set_redirects",async(t,e,r)=>{let o=r.stdin,a=r.stdout,n=r.stderr,u=[],A=[],p=[],h=0;for(;t[h]!=="--";){let I=t[h++],{type:v,fd:x}=JSON.parse(I),C=J=>{switch(x){case null:case 0:u.push(J);break;default:throw new Error(`Unsupported file descriptor: "${x}"`)}},F=J=>{switch(x){case null:case 1:A.push(J);break;case 2:p.push(J);break;default:throw new Error(`Unsupported file descriptor: "${x}"`)}},N=Number(t[h++]),U=h+N;for(let J=h;Je.baseFs.createReadStream(z.resolve(r.cwd,ue.toPortablePath(t[J]))));break;case"<<<":C(()=>{let te=new cl.PassThrough;return process.nextTick(()=>{te.write(`${t[J]} +`),te.end()}),te});break;case"<&":C(()=>nce(Number(t[J]),1,r));break;case">":case">>":{let te=z.resolve(r.cwd,ue.toPortablePath(t[J]));F(te==="/dev/null"?new cl.Writable({autoDestroy:!0,emitClose:!0,write(ae,le,ce){setImmediate(ce)}}):e.baseFs.createWriteStream(te,v===">>"?{flags:"a"}:void 0))}break;case">&":F(nce(Number(t[J]),2,r));break;default:throw new Error(`Assertion failed: Unsupported redirection type: "${v}"`)}}if(u.length>0){let I=new cl.PassThrough;o=I;let v=x=>{if(x===u.length)I.end();else{let C=u[x]();C.pipe(I,{end:!1}),C.on("end",()=>{v(x+1)})}};v(0)}if(A.length>0){let I=new cl.PassThrough;a=I;for(let v of A)I.pipe(v)}if(p.length>0){let I=new cl.PassThrough;n=I;for(let v of p)I.pipe(v)}let E=await Mb(F1(t.slice(h+1),e,r),{stdin:new Xl(o),stdout:new Xl(a),stderr:new Xl(n)}).run();return await Promise.all(A.map(I=>new Promise((v,x)=>{I.on("error",C=>{x(C)}),I.on("close",()=>{v()}),I.end()}))),await Promise.all(p.map(I=>new Promise((v,x)=>{I.on("error",C=>{x(C)}),I.on("close",()=>{v()}),I.end()}))),E}]]);mot={addition:(t,e)=>t+e,subtraction:(t,e)=>t-e,multiplication:(t,e)=>t*e,division:(t,e)=>Math.trunc(t/e)}});var qb=_((s4t,fce)=>{function Iot(t,e){for(var r=-1,o=t==null?0:t.length,a=Array(o);++r{var pce=hd(),Bot=qb(),vot=ql(),Pot=AE(),Dot=1/0,hce=pce?pce.prototype:void 0,gce=hce?hce.toString:void 0;function dce(t){if(typeof t=="string")return t;if(vot(t))return Bot(t,dce)+"";if(Pot(t))return gce?gce.call(t):"";var e=t+"";return e=="0"&&1/t==-Dot?"-0":e}mce.exports=dce});var N1=_((a4t,Ece)=>{var Sot=yce();function bot(t){return t==null?"":Sot(t)}Ece.exports=bot});var pU=_((l4t,Cce)=>{function xot(t,e,r){var o=-1,a=t.length;e<0&&(e=-e>a?0:a+e),r=r>a?a:r,r<0&&(r+=a),a=e>r?0:r-e>>>0,e>>>=0;for(var n=Array(a);++o{var kot=pU();function Qot(t,e,r){var o=t.length;return r=r===void 0?o:r,!e&&r>=o?t:kot(t,e,r)}wce.exports=Qot});var hU=_((u4t,Bce)=>{var Rot="\\ud800-\\udfff",Fot="\\u0300-\\u036f",Tot="\\ufe20-\\ufe2f",Lot="\\u20d0-\\u20ff",Not=Fot+Tot+Lot,Oot="\\ufe0e\\ufe0f",Mot="\\u200d",Uot=RegExp("["+Mot+Rot+Not+Oot+"]");function _ot(t){return Uot.test(t)}Bce.exports=_ot});var Pce=_((A4t,vce)=>{function Hot(t){return t.split("")}vce.exports=Hot});var Fce=_((f4t,Rce)=>{var Dce="\\ud800-\\udfff",qot="\\u0300-\\u036f",Got="\\ufe20-\\ufe2f",jot="\\u20d0-\\u20ff",Yot=qot+Got+jot,Wot="\\ufe0e\\ufe0f",Kot="["+Dce+"]",gU="["+Yot+"]",dU="\\ud83c[\\udffb-\\udfff]",zot="(?:"+gU+"|"+dU+")",Sce="[^"+Dce+"]",bce="(?:\\ud83c[\\udde6-\\uddff]){2}",xce="[\\ud800-\\udbff][\\udc00-\\udfff]",Jot="\\u200d",kce=zot+"?",Qce="["+Wot+"]?",Vot="(?:"+Jot+"(?:"+[Sce,bce,xce].join("|")+")"+Qce+kce+")*",Xot=Qce+kce+Vot,Zot="(?:"+[Sce+gU+"?",gU,bce,xce,Kot].join("|")+")",$ot=RegExp(dU+"(?="+dU+")|"+Zot+Xot,"g");function eat(t){return t.match($ot)||[]}Rce.exports=eat});var Lce=_((p4t,Tce)=>{var tat=Pce(),rat=hU(),nat=Fce();function iat(t){return rat(t)?nat(t):tat(t)}Tce.exports=iat});var Oce=_((h4t,Nce)=>{var sat=Ice(),oat=hU(),aat=Lce(),lat=N1();function cat(t){return function(e){e=lat(e);var r=oat(e)?aat(e):void 0,o=r?r[0]:e.charAt(0),a=r?sat(r,1).join(""):e.slice(1);return o[t]()+a}}Nce.exports=cat});var Uce=_((g4t,Mce)=>{var uat=Oce(),Aat=uat("toUpperCase");Mce.exports=Aat});var mU=_((d4t,_ce)=>{var fat=N1(),pat=Uce();function hat(t){return pat(fat(t).toLowerCase())}_ce.exports=hat});var Hce=_((m4t,Gb)=>{function gat(){var t=0,e=1,r=2,o=3,a=4,n=5,u=6,A=7,p=8,h=9,E=10,I=11,v=12,x=13,C=14,F=15,N=16,U=17,J=0,te=1,ae=2,le=3,ce=4;function we(g,me){return 55296<=g.charCodeAt(me)&&g.charCodeAt(me)<=56319&&56320<=g.charCodeAt(me+1)&&g.charCodeAt(me+1)<=57343}function de(g,me){me===void 0&&(me=0);var Ce=g.charCodeAt(me);if(55296<=Ce&&Ce<=56319&&me=1){var Ae=g.charCodeAt(me-1),ne=Ce;return 55296<=Ae&&Ae<=56319?(Ae-55296)*1024+(ne-56320)+65536:ne}return Ce}function Be(g,me,Ce){var Ae=[g].concat(me).concat([Ce]),ne=Ae[Ae.length-2],Z=Ce,xe=Ae.lastIndexOf(C);if(xe>1&&Ae.slice(1,xe).every(function(H){return H==o})&&[o,x,U].indexOf(g)==-1)return ae;var Le=Ae.lastIndexOf(a);if(Le>0&&Ae.slice(1,Le).every(function(H){return H==a})&&[v,a].indexOf(ne)==-1)return Ae.filter(function(H){return H==a}).length%2==1?le:ce;if(ne==t&&Z==e)return J;if(ne==r||ne==t||ne==e)return Z==C&&me.every(function(H){return H==o})?ae:te;if(Z==r||Z==t||Z==e)return te;if(ne==u&&(Z==u||Z==A||Z==h||Z==E))return J;if((ne==h||ne==A)&&(Z==A||Z==p))return J;if((ne==E||ne==p)&&Z==p)return J;if(Z==o||Z==F)return J;if(Z==n)return J;if(ne==v)return J;var ht=Ae.indexOf(o)!=-1?Ae.lastIndexOf(o)-1:Ae.length-2;return[x,U].indexOf(Ae[ht])!=-1&&Ae.slice(ht+1,-1).every(function(H){return H==o})&&Z==C||ne==F&&[N,U].indexOf(Z)!=-1?J:me.indexOf(a)!=-1?ae:ne==a&&Z==a?J:te}this.nextBreak=function(g,me){if(me===void 0&&(me=0),me<0)return 0;if(me>=g.length-1)return g.length;for(var Ce=Ee(de(g,me)),Ae=[],ne=me+1;ne{var dat=/^(.*?)(\x1b\[[^m]+m|\x1b\]8;;.*?(\x1b\\|\u0007))/,jb;function mat(){if(jb)return jb;if(typeof Intl.Segmenter<"u"){let t=new Intl.Segmenter("en",{granularity:"grapheme"});return jb=e=>Array.from(t.segment(e),({segment:r})=>r)}else{let t=Hce(),e=new t;return jb=r=>e.splitGraphemes(r)}}qce.exports=(t,e=0,r=t.length)=>{if(e<0||r<0)throw new RangeError("Negative indices aren't supported by this implementation");let o=r-e,a="",n=0,u=0;for(;t.length>0;){let A=t.match(dat)||[t,t,void 0],p=mat()(A[1]),h=Math.min(e-n,p.length);p=p.slice(h);let E=Math.min(o-u,p.length);a+=p.slice(0,E).join(""),n+=h,u+=E,typeof A[2]<"u"&&(a+=A[2]),t=t.slice(A[0].length)}return a}});var nn,O1=Et(()=>{nn=process.env.YARN_IS_TEST_ENV?"0.0.0":"4.3.1"});function Jce(t,{configuration:e,json:r}){if(!e.get("enableMessageNames"))return"";let a=Ku(t===null?0:t);return!r&&t===null?Ut(e,a,"grey"):a}function yU(t,{configuration:e,json:r}){let o=Jce(t,{configuration:e,json:r});if(!o||t===null||t===0)return o;let a=wr[t],n=`https://yarnpkg.com/advanced/error-codes#${o}---${a}`.toLowerCase();return Vy(e,o,n)}async function TE({configuration:t,stdout:e,forceError:r},o){let a=await Ft.start({configuration:t,stdout:e,includeFooter:!1},async n=>{let u=!1,A=!1;for(let p of o)typeof p.option<"u"&&(p.error||r?(A=!0,n.reportError(50,p.message)):(u=!0,n.reportWarning(50,p.message)),p.callback?.());u&&!A&&n.reportSeparator()});return a.hasErrors()?a.exitCode():null}var Kce,Yb,yat,jce,Yce,fh,zce,Wce,Eat,Cat,Wb,wat,Ft,M1=Et(()=>{Kce=Ze(Gce()),Yb=Ze(rd());pD();Wl();O1();jl();yat="\xB7",jce=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],Yce=80,fh=Yb.default.GITHUB_ACTIONS?{start:t=>`::group::${t} +`,end:t=>`::endgroup:: +`}:Yb.default.TRAVIS?{start:t=>`travis_fold:start:${t} +`,end:t=>`travis_fold:end:${t} +`}:Yb.default.GITLAB?{start:t=>`section_start:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}[collapsed=true]\r\x1B[0K${t} +`,end:t=>`section_end:${Math.floor(Date.now()/1e3)}:${t.toLowerCase().replace(/\W+/g,"_")}\r\x1B[0K`}:null,zce=fh!==null,Wce=new Date,Eat=["iTerm.app","Apple_Terminal","WarpTerminal","vscode"].includes(process.env.TERM_PROGRAM)||!!process.env.WT_SESSION,Cat=t=>t,Wb=Cat({patrick:{date:[17,3],chars:["\u{1F340}","\u{1F331}"],size:40},simba:{date:[19,7],chars:["\u{1F981}","\u{1F334}"],size:40},jack:{date:[31,10],chars:["\u{1F383}","\u{1F987}"],size:40},hogsfather:{date:[31,12],chars:["\u{1F389}","\u{1F384}"],size:40},default:{chars:["=","-"],size:80}}),wat=Eat&&Object.keys(Wb).find(t=>{let e=Wb[t];return!(e.date&&(e.date[0]!==Wce.getDate()||e.date[1]!==Wce.getMonth()+1))})||"default";Ft=class extends Xs{constructor({configuration:r,stdout:o,json:a=!1,forceSectionAlignment:n=!1,includeNames:u=!0,includePrefix:A=!0,includeFooter:p=!0,includeLogs:h=!a,includeInfos:E=h,includeWarnings:I=h}){super();this.uncommitted=new Set;this.warningCount=0;this.errorCount=0;this.timerFooter=[];this.startTime=Date.now();this.indent=0;this.level=0;this.progress=new Map;this.progressTime=0;this.progressFrame=0;this.progressTimeout=null;this.progressStyle=null;this.progressMaxScaledSize=null;if(XI(this,{configuration:r}),this.configuration=r,this.forceSectionAlignment=n,this.includeNames=u,this.includePrefix=A,this.includeFooter=p,this.includeInfos=E,this.includeWarnings=I,this.json=a,this.stdout=o,r.get("enableProgressBars")&&!a&&o.isTTY&&o.columns>22){let v=r.get("progressBarStyle")||wat;if(!Object.hasOwn(Wb,v))throw new Error("Assertion failed: Invalid progress bar style");this.progressStyle=Wb[v];let x=Math.min(this.getRecommendedLength(),80);this.progressMaxScaledSize=Math.floor(this.progressStyle.size*x/80)}}static async start(r,o){let a=new this(r),n=process.emitWarning;process.emitWarning=(u,A)=>{if(typeof u!="string"){let h=u;u=h.message,A=A??h.name}let p=typeof A<"u"?`${A}: ${u}`:u;a.reportWarning(0,p)},r.includeVersion&&a.reportInfo(0,yd(r.configuration,`Yarn ${nn}`,2));try{await o(a)}catch(u){a.reportExceptionOnce(u)}finally{await a.finalize(),process.emitWarning=n}return a}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}getRecommendedLength(){let o=this.progressStyle!==null?this.stdout.columns-1:super.getRecommendedLength();return Math.max(40,o-12-this.indent*2)}startSectionSync({reportHeader:r,reportFooter:o,skipIfEmpty:a},n){let u={committed:!1,action:()=>{r?.()}};a?this.uncommitted.add(u):(u.action(),u.committed=!0);let A=Date.now();try{return n()}catch(p){throw this.reportExceptionOnce(p),p}finally{let p=Date.now();this.uncommitted.delete(u),u.committed&&o?.(p-A)}}async startSectionPromise({reportHeader:r,reportFooter:o,skipIfEmpty:a},n){let u={committed:!1,action:()=>{r?.()}};a?this.uncommitted.add(u):(u.action(),u.committed=!0);let A=Date.now();try{return await n()}catch(p){throw this.reportExceptionOnce(p),p}finally{let p=Date.now();this.uncommitted.delete(u),u.committed&&o?.(p-A)}}startTimerImpl(r,o,a){return{cb:typeof o=="function"?o:a,reportHeader:()=>{this.level+=1,this.reportInfo(null,`\u250C ${r}`),this.indent+=1,fh!==null&&!this.json&&this.includeInfos&&this.stdout.write(fh.start(r))},reportFooter:A=>{if(this.indent-=1,fh!==null&&!this.json&&this.includeInfos){this.stdout.write(fh.end(r));for(let p of this.timerFooter)p()}this.configuration.get("enableTimers")&&A>200?this.reportInfo(null,`\u2514 Completed in ${Ut(this.configuration,A,yt.DURATION)}`):this.reportInfo(null,"\u2514 Completed"),this.level-=1},skipIfEmpty:(typeof o=="function"?{}:o).skipIfEmpty}}startTimerSync(r,o,a){let{cb:n,...u}=this.startTimerImpl(r,o,a);return this.startSectionSync(u,n)}async startTimerPromise(r,o,a){let{cb:n,...u}=this.startTimerImpl(r,o,a);return this.startSectionPromise(u,n)}reportSeparator(){this.indent===0?this.writeLine(""):this.reportInfo(null,"")}reportInfo(r,o){if(!this.includeInfos)return;this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"",u=`${this.formatPrefix(n,"blueBright")}${o}`;this.json?this.reportJson({type:"info",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:o}):this.writeLine(u)}reportWarning(r,o){if(this.warningCount+=1,!this.includeWarnings)return;this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"";this.json?this.reportJson({type:"warning",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:o}):this.writeLine(`${this.formatPrefix(n,"yellowBright")}${o}`)}reportError(r,o){this.errorCount+=1,this.timerFooter.push(()=>this.reportErrorImpl(r,o)),this.reportErrorImpl(r,o)}reportErrorImpl(r,o){this.commit();let a=this.formatNameWithHyperlink(r),n=a?`${a}: `:"";this.json?this.reportJson({type:"error",name:r,displayName:this.formatName(r),indent:this.formatIndent(),data:o}):this.writeLine(`${this.formatPrefix(n,"redBright")}${o}`,{truncate:!1})}reportFold(r,o){if(!fh)return;let a=`${fh.start(r)}${o}${fh.end(r)}`;this.timerFooter.push(()=>this.stdout.write(a))}reportProgress(r){if(this.progressStyle===null)return{...Promise.resolve(),stop:()=>{}};if(r.hasProgress&&r.hasTitle)throw new Error("Unimplemented: Progress bars can't have both progress and titles.");let o=!1,a=Promise.resolve().then(async()=>{let u={progress:r.hasProgress?0:void 0,title:r.hasTitle?"":void 0};this.progress.set(r,{definition:u,lastScaledSize:r.hasProgress?-1:void 0,lastTitle:void 0}),this.refreshProgress({delta:-1});for await(let{progress:A,title:p}of r)o||u.progress===A&&u.title===p||(u.progress=A,u.title=p,this.refreshProgress());n()}),n=()=>{o||(o=!0,this.progress.delete(r),this.refreshProgress({delta:1}))};return{...a,stop:n}}reportJson(r){this.json&&this.writeLine(`${JSON.stringify(r)}`)}async finalize(){if(!this.includeFooter)return;let r="";this.errorCount>0?r="Failed with errors":this.warningCount>0?r="Done with warnings":r="Done";let o=Ut(this.configuration,Date.now()-this.startTime,yt.DURATION),a=this.configuration.get("enableTimers")?`${r} in ${o}`:r;this.errorCount>0?this.reportError(0,a):this.warningCount>0?this.reportWarning(0,a):this.reportInfo(0,a)}writeLine(r,{truncate:o}={}){this.clearProgress({clear:!0}),this.stdout.write(`${this.truncate(r,{truncate:o})} +`),this.writeProgress()}writeLines(r,{truncate:o}={}){this.clearProgress({delta:r.length});for(let a of r)this.stdout.write(`${this.truncate(a,{truncate:o})} +`);this.writeProgress()}commit(){let r=this.uncommitted;this.uncommitted=new Set;for(let o of r)o.committed=!0,o.action()}clearProgress({delta:r=0,clear:o=!1}){this.progressStyle!==null&&this.progress.size+r>0&&(this.stdout.write(`\x1B[${this.progress.size+r}A`),(r>0||o)&&this.stdout.write("\x1B[0J"))}writeProgress(){if(this.progressStyle===null||(this.progressTimeout!==null&&clearTimeout(this.progressTimeout),this.progressTimeout=null,this.progress.size===0))return;let r=Date.now();r-this.progressTime>Yce&&(this.progressFrame=(this.progressFrame+1)%jce.length,this.progressTime=r);let o=jce[this.progressFrame];for(let a of this.progress.values()){let n="";if(typeof a.lastScaledSize<"u"){let h=this.progressStyle.chars[0].repeat(a.lastScaledSize),E=this.progressStyle.chars[1].repeat(this.progressMaxScaledSize-a.lastScaledSize);n=` ${h}${E}`}let u=this.formatName(null),A=u?`${u}: `:"",p=a.definition.title?` ${a.definition.title}`:"";this.stdout.write(`${Ut(this.configuration,"\u27A4","blueBright")} ${A}${o}${n}${p} +`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress({force:!0})},Yce)}refreshProgress({delta:r=0,force:o=!1}={}){let a=!1,n=!1;if(o||this.progress.size===0)a=!0;else for(let u of this.progress.values()){let A=typeof u.definition.progress<"u"?Math.trunc(this.progressMaxScaledSize*u.definition.progress):void 0,p=u.lastScaledSize;u.lastScaledSize=A;let h=u.lastTitle;if(u.lastTitle=u.definition.title,A!==p||(n=h!==u.definition.title)){a=!0;break}}a&&(this.clearProgress({delta:r,clear:n}),this.writeProgress())}truncate(r,{truncate:o}={}){return this.progressStyle===null&&(o=!1),typeof o>"u"&&(o=this.configuration.get("preferTruncatedLines")),o&&(r=(0,Kce.default)(r,0,this.stdout.columns-1)),r}formatName(r){return this.includeNames?Jce(r,{configuration:this.configuration,json:this.json}):""}formatPrefix(r,o){return this.includePrefix?`${Ut(this.configuration,"\u27A4",o)} ${r}${this.formatIndent()}`:""}formatNameWithHyperlink(r){return this.includeNames?yU(r,{configuration:this.configuration,json:this.json}):""}formatIndent(){return this.level>0||!this.forceSectionAlignment?"\u2502 ".repeat(this.indent):`${yat} `}}});var An={};zt(An,{PackageManager:()=>Zce,detectPackageManager:()=>$ce,executePackageAccessibleBinary:()=>iue,executePackageScript:()=>Kb,executePackageShellcode:()=>EU,executeWorkspaceAccessibleBinary:()=>bat,executeWorkspaceLifecycleScript:()=>rue,executeWorkspaceScript:()=>tue,getPackageAccessibleBinaries:()=>zb,getWorkspaceAccessibleBinaries:()=>nue,hasPackageScript:()=>Pat,hasWorkspaceScript:()=>CU,isNodeScript:()=>wU,makeScriptEnv:()=>U1,maybeExecuteWorkspaceLifecycleScript:()=>Sat,prepareExternalProject:()=>vat});async function ph(t,e,r,o=[]){if(process.platform==="win32"){let a=`@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @"${r}" ${o.map(n=>`"${n.replace('"','""')}"`).join(" ")} %*`;await oe.writeFilePromise(z.format({dir:t,name:e,ext:".cmd"}),a)}await oe.writeFilePromise(z.join(t,e),`#!/bin/sh +exec "${r}" ${o.map(a=>`'${a.replace(/'/g,`'"'"'`)}'`).join(" ")} "$@" +`,{mode:493})}async function $ce(t){let e=await Ot.tryFind(t);if(e?.packageManager){let o=_S(e.packageManager);if(o?.name){let a=`found ${JSON.stringify({packageManager:e.packageManager})} in manifest`,[n]=o.reference.split(".");switch(o.name){case"yarn":return{packageManagerField:!0,packageManager:Number(n)===1?"Yarn Classic":"Yarn",reason:a};case"npm":return{packageManagerField:!0,packageManager:"npm",reason:a};case"pnpm":return{packageManagerField:!0,packageManager:"pnpm",reason:a}}}}let r;try{r=await oe.readFilePromise(z.join(t,dr.lockfile),"utf8")}catch{}return r!==void 0?r.match(/^__metadata:$/m)?{packageManager:"Yarn",reason:'"__metadata" key found in yarn.lock'}:{packageManager:"Yarn Classic",reason:'"__metadata" key not found in yarn.lock, must be a Yarn classic lockfile'}:oe.existsSync(z.join(t,"package-lock.json"))?{packageManager:"npm",reason:`found npm's "package-lock.json" lockfile`}:oe.existsSync(z.join(t,"pnpm-lock.yaml"))?{packageManager:"pnpm",reason:`found pnpm's "pnpm-lock.yaml" lockfile`}:null}async function U1({project:t,locator:e,binFolder:r,ignoreCorepack:o,lifecycleScript:a,baseEnv:n=t?.configuration.env??process.env}){let u={};for(let[E,I]of Object.entries(n))typeof I<"u"&&(u[E.toLowerCase()!=="path"?E:"PATH"]=I);let A=ue.fromPortablePath(r);u.BERRY_BIN_FOLDER=ue.fromPortablePath(A);let p=process.env.COREPACK_ROOT&&!o?ue.join(process.env.COREPACK_ROOT,"dist/yarn.js"):process.argv[1];if(await Promise.all([ph(r,"node",process.execPath),...nn!==null?[ph(r,"run",process.execPath,[p,"run"]),ph(r,"yarn",process.execPath,[p]),ph(r,"yarnpkg",process.execPath,[p]),ph(r,"node-gyp",process.execPath,[p,"run","--top-level","node-gyp"])]:[]]),t&&(u.INIT_CWD=ue.fromPortablePath(t.configuration.startingCwd),u.PROJECT_CWD=ue.fromPortablePath(t.cwd)),u.PATH=u.PATH?`${A}${ue.delimiter}${u.PATH}`:`${A}`,u.npm_execpath=`${A}${ue.sep}yarn`,u.npm_node_execpath=`${A}${ue.sep}node`,e){if(!t)throw new Error("Assertion failed: Missing project");let E=t.tryWorkspaceByLocator(e),I=E?E.manifest.version??"":t.storedPackages.get(e.locatorHash).version??"";u.npm_package_name=rn(e),u.npm_package_version=I;let v;if(E)v=E.cwd;else{let x=t.storedPackages.get(e.locatorHash);if(!x)throw new Error(`Package for ${qr(t.configuration,e)} not found in the project`);let C=t.configuration.getLinkers(),F={project:t,report:new Ft({stdout:new hh.PassThrough,configuration:t.configuration})},N=C.find(U=>U.supportsPackage(x,F));if(!N)throw new Error(`The package ${qr(t.configuration,x)} isn't supported by any of the available linkers`);v=await N.findPackageLocation(x,F)}u.npm_package_json=ue.fromPortablePath(z.join(v,dr.manifest))}let h=nn!==null?`yarn/${nn}`:`yarn/${Pf("@yarnpkg/core").version}-core`;return u.npm_config_user_agent=`${h} npm/? node/${process.version} ${process.platform} ${process.arch}`,a&&(u.npm_lifecycle_event=a),t&&await t.configuration.triggerHook(E=>E.setupScriptEnvironment,t,u,async(E,I,v)=>await ph(r,E,I,v)),u}async function vat(t,e,{configuration:r,report:o,workspace:a=null,locator:n=null}){await Bat(async()=>{await oe.mktempPromise(async u=>{let A=z.join(u,"pack.log"),p=null,{stdout:h,stderr:E}=r.getSubprocessStreams(A,{prefix:ue.fromPortablePath(t),report:o}),I=n&&qc(n)?r1(n):n,v=I?ba(I):"an external project";h.write(`Packing ${v} from sources +`);let x=await $ce(t),C;x!==null?(h.write(`Using ${x.packageManager} for bootstrap. Reason: ${x.reason} + +`),C=x.packageManager):(h.write(`No package manager configuration detected; defaulting to Yarn + +`),C="Yarn");let F=C==="Yarn"&&!x?.packageManagerField;await oe.mktempPromise(async N=>{let U=await U1({binFolder:N,ignoreCorepack:F}),te=new Map([["Yarn Classic",async()=>{let le=a!==null?["workspace",a]:[],ce=z.join(t,dr.manifest),we=await oe.readFilePromise(ce),de=await Yc(process.execPath,[process.argv[1],"set","version","classic","--only-if-needed","--yarn-path"],{cwd:t,env:U,stdin:p,stdout:h,stderr:E,end:1});if(de.code!==0)return de.code;await oe.writeFilePromise(ce,we),await oe.appendFilePromise(z.join(t,".npmignore"),`/.yarn +`),h.write(` +`),delete U.NODE_ENV;let Be=await Yc("yarn",["install"],{cwd:t,env:U,stdin:p,stdout:h,stderr:E,end:1});if(Be.code!==0)return Be.code;h.write(` +`);let Ee=await Yc("yarn",[...le,"pack","--filename",ue.fromPortablePath(e)],{cwd:t,env:U,stdin:p,stdout:h,stderr:E});return Ee.code!==0?Ee.code:0}],["Yarn",async()=>{let le=a!==null?["workspace",a]:[];U.YARN_ENABLE_INLINE_BUILDS="1";let ce=z.join(t,dr.lockfile);await oe.existsPromise(ce)||await oe.writeFilePromise(ce,"");let we=await Yc("yarn",[...le,"pack","--install-if-needed","--filename",ue.fromPortablePath(e)],{cwd:t,env:U,stdin:p,stdout:h,stderr:E});return we.code!==0?we.code:0}],["npm",async()=>{if(a!==null){let me=new hh.PassThrough,Ce=Wy(me);me.pipe(h,{end:!1});let Ae=await Yc("npm",["--version"],{cwd:t,env:U,stdin:p,stdout:me,stderr:E,end:0});if(me.end(),Ae.code!==0)return h.end(),E.end(),Ae.code;let ne=(await Ce).toString().trim();if(!kf(ne,">=7.x")){let Z=tA(null,"npm"),xe=In(Z,ne),Le=In(Z,">=7.x");throw new Error(`Workspaces aren't supported by ${Gn(r,xe)}; please upgrade to ${Gn(r,Le)} (npm has been detected as the primary package manager for ${Ut(r,t,yt.PATH)})`)}}let le=a!==null?["--workspace",a]:[];delete U.npm_config_user_agent,delete U.npm_config_production,delete U.NPM_CONFIG_PRODUCTION,delete U.NODE_ENV;let ce=await Yc("npm",["install","--legacy-peer-deps"],{cwd:t,env:U,stdin:p,stdout:h,stderr:E,end:1});if(ce.code!==0)return ce.code;let we=new hh.PassThrough,de=Wy(we);we.pipe(h);let Be=await Yc("npm",["pack","--silent",...le],{cwd:t,env:U,stdin:p,stdout:we,stderr:E});if(Be.code!==0)return Be.code;let Ee=(await de).toString().trim().replace(/^.*\n/s,""),g=z.resolve(t,ue.toPortablePath(Ee));return await oe.renamePromise(g,e),0}]]).get(C);if(typeof te>"u")throw new Error("Assertion failed: Unsupported workflow");let ae=await te();if(!(ae===0||typeof ae>"u"))throw oe.detachTemp(u),new Vt(58,`Packing the package failed (exit code ${ae}, logs can be found here: ${Ut(r,A,yt.PATH)})`)})})})}async function Pat(t,e,{project:r}){let o=r.tryWorkspaceByLocator(t);if(o!==null)return CU(o,e);let a=r.storedPackages.get(t.locatorHash);if(!a)throw new Error(`Package for ${qr(r.configuration,t)} not found in the project`);return await Vl.openPromise(async n=>{let u=r.configuration,A=r.configuration.getLinkers(),p={project:r,report:new Ft({stdout:new hh.PassThrough,configuration:u})},h=A.find(x=>x.supportsPackage(a,p));if(!h)throw new Error(`The package ${qr(r.configuration,a)} isn't supported by any of the available linkers`);let E=await h.findPackageLocation(a,p),I=new gn(E,{baseFs:n});return(await Ot.find(Bt.dot,{baseFs:I})).scripts.has(e)})}async function Kb(t,e,r,{cwd:o,project:a,stdin:n,stdout:u,stderr:A}){return await oe.mktempPromise(async p=>{let{manifest:h,env:E,cwd:I}=await eue(t,{project:a,binFolder:p,cwd:o,lifecycleScript:e}),v=h.scripts.get(e);if(typeof v>"u")return 1;let x=async()=>await RE(v,r,{cwd:I,env:E,stdin:n,stdout:u,stderr:A});return await(await a.configuration.reduceHook(F=>F.wrapScriptExecution,x,a,t,e,{script:v,args:r,cwd:I,env:E,stdin:n,stdout:u,stderr:A}))()})}async function EU(t,e,r,{cwd:o,project:a,stdin:n,stdout:u,stderr:A}){return await oe.mktempPromise(async p=>{let{env:h,cwd:E}=await eue(t,{project:a,binFolder:p,cwd:o});return await RE(e,r,{cwd:E,env:h,stdin:n,stdout:u,stderr:A})})}async function Dat(t,{binFolder:e,cwd:r,lifecycleScript:o}){let a=await U1({project:t.project,locator:t.anchoredLocator,binFolder:e,lifecycleScript:o});return await IU(e,await nue(t)),typeof r>"u"&&(r=z.dirname(await oe.realpathPromise(z.join(t.cwd,"package.json")))),{manifest:t.manifest,binFolder:e,env:a,cwd:r}}async function eue(t,{project:e,binFolder:r,cwd:o,lifecycleScript:a}){let n=e.tryWorkspaceByLocator(t);if(n!==null)return Dat(n,{binFolder:r,cwd:o,lifecycleScript:a});let u=e.storedPackages.get(t.locatorHash);if(!u)throw new Error(`Package for ${qr(e.configuration,t)} not found in the project`);return await Vl.openPromise(async A=>{let p=e.configuration,h=e.configuration.getLinkers(),E={project:e,report:new Ft({stdout:new hh.PassThrough,configuration:p})},I=h.find(N=>N.supportsPackage(u,E));if(!I)throw new Error(`The package ${qr(e.configuration,u)} isn't supported by any of the available linkers`);let v=await U1({project:e,locator:t,binFolder:r,lifecycleScript:a});await IU(r,await zb(t,{project:e}));let x=await I.findPackageLocation(u,E),C=new gn(x,{baseFs:A}),F=await Ot.find(Bt.dot,{baseFs:C});return typeof o>"u"&&(o=x),{manifest:F,binFolder:r,env:v,cwd:o}})}async function tue(t,e,r,{cwd:o,stdin:a,stdout:n,stderr:u}){return await Kb(t.anchoredLocator,e,r,{cwd:o,project:t.project,stdin:a,stdout:n,stderr:u})}function CU(t,e){return t.manifest.scripts.has(e)}async function rue(t,e,{cwd:r,report:o}){let{configuration:a}=t.project,n=null;await oe.mktempPromise(async u=>{let A=z.join(u,`${e}.log`),p=`# This file contains the result of Yarn calling the "${e}" lifecycle script inside a workspace ("${ue.fromPortablePath(t.cwd)}") +`,{stdout:h,stderr:E}=a.getSubprocessStreams(A,{report:o,prefix:qr(a,t.anchoredLocator),header:p});o.reportInfo(36,`Calling the "${e}" lifecycle script`);let I=await tue(t,e,[],{cwd:r,stdin:n,stdout:h,stderr:E});if(h.end(),E.end(),I!==0)throw oe.detachTemp(u),new Vt(36,`${(0,Vce.default)(e)} script failed (exit code ${Ut(a,I,yt.NUMBER)}, logs can be found here: ${Ut(a,A,yt.PATH)}); run ${Ut(a,`yarn ${e}`,yt.CODE)} to investigate`)})}async function Sat(t,e,r){CU(t,e)&&await rue(t,e,r)}function wU(t){let e=z.extname(t);if(e.match(/\.[cm]?[jt]sx?$/))return!0;if(e===".exe"||e===".bin")return!1;let r=Buffer.alloc(4),o;try{o=oe.openSync(t,"r")}catch{return!0}try{oe.readSync(o,r,0,r.length,0)}finally{oe.closeSync(o)}let a=r.readUint32BE();return!(a===3405691582||a===3489328638||a===2135247942||(a&4294901760)===1297743872)}async function zb(t,{project:e}){let r=e.configuration,o=new Map,a=e.storedPackages.get(t.locatorHash);if(!a)throw new Error(`Package for ${qr(r,t)} not found in the project`);let n=new hh.Writable,u=r.getLinkers(),A={project:e,report:new Ft({configuration:r,stdout:n})},p=new Set([t.locatorHash]);for(let E of a.dependencies.values()){let I=e.storedResolutions.get(E.descriptorHash);if(!I)throw new Error(`Assertion failed: The resolution (${Gn(r,E)}) should have been registered`);p.add(I)}let h=await Promise.all(Array.from(p,async E=>{let I=e.storedPackages.get(E);if(!I)throw new Error(`Assertion failed: The package (${E}) should have been registered`);if(I.bin.size===0)return ol.skip;let v=u.find(C=>C.supportsPackage(I,A));if(!v)return ol.skip;let x=null;try{x=await v.findPackageLocation(I,A)}catch(C){if(C.code==="LOCATOR_NOT_INSTALLED")return ol.skip;throw C}return{dependency:I,packageLocation:x}}));for(let E of h){if(E===ol.skip)continue;let{dependency:I,packageLocation:v}=E;for(let[x,C]of I.bin){let F=z.resolve(v,C);o.set(x,[I,ue.fromPortablePath(F),wU(F)])}}return o}async function nue(t){return await zb(t.anchoredLocator,{project:t.project})}async function IU(t,e){await Promise.all(Array.from(e,([r,[,o,a]])=>a?ph(t,r,process.execPath,[o]):ph(t,r,o,[])))}async function iue(t,e,r,{cwd:o,project:a,stdin:n,stdout:u,stderr:A,nodeArgs:p=[],packageAccessibleBinaries:h}){h??=await zb(t,{project:a});let E=h.get(e);if(!E)throw new Error(`Binary not found (${e}) for ${qr(a.configuration,t)}`);return await oe.mktempPromise(async I=>{let[,v]=E,x=await U1({project:a,locator:t,binFolder:I});await IU(x.BERRY_BIN_FOLDER,h);let C=wU(ue.toPortablePath(v))?Yc(process.execPath,[...p,v,...r],{cwd:o,env:x,stdin:n,stdout:u,stderr:A}):Yc(v,r,{cwd:o,env:x,stdin:n,stdout:u,stderr:A}),F;try{F=await C}finally{await oe.removePromise(x.BERRY_BIN_FOLDER)}return F.code})}async function bat(t,e,r,{cwd:o,stdin:a,stdout:n,stderr:u,packageAccessibleBinaries:A}){return await iue(t.anchoredLocator,e,r,{project:t.project,cwd:o,stdin:a,stdout:n,stderr:u,packageAccessibleBinaries:A})}var Vce,Xce,hh,Zce,Iat,Bat,BU=Et(()=>{Dt();Dt();iA();Q1();Vce=Ze(mU()),Xce=Ze(sd()),hh=ve("stream");uE();Wl();M1();O1();Db();jl();Gl();Qf();So();Zce=(a=>(a.Yarn1="Yarn Classic",a.Yarn2="Yarn",a.Npm="npm",a.Pnpm="pnpm",a))(Zce||{});Iat=2,Bat=(0,Xce.default)(Iat)});var LE=_((U4t,oue)=>{"use strict";var sue=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"]]);oue.exports=t=>t?Object.keys(t).map(e=>[sue.has(e)?sue.get(e):e,t[e]]).reduce((e,r)=>(e[r[0]]=r[1],e),Object.create(null)):{}});var OE=_((_4t,gue)=>{"use strict";var aue=typeof process=="object"&&process?process:{stdout:null,stderr:null},xat=ve("events"),lue=ve("stream"),cue=ve("string_decoder").StringDecoder,Mf=Symbol("EOF"),Uf=Symbol("maybeEmitEnd"),gh=Symbol("emittedEnd"),Jb=Symbol("emittingEnd"),_1=Symbol("emittedError"),Vb=Symbol("closed"),uue=Symbol("read"),Xb=Symbol("flush"),Aue=Symbol("flushChunk"),ka=Symbol("encoding"),_f=Symbol("decoder"),Zb=Symbol("flowing"),H1=Symbol("paused"),NE=Symbol("resume"),Ts=Symbol("bufferLength"),vU=Symbol("bufferPush"),PU=Symbol("bufferShift"),Qo=Symbol("objectMode"),Ro=Symbol("destroyed"),DU=Symbol("emitData"),fue=Symbol("emitEnd"),SU=Symbol("emitEnd2"),Hf=Symbol("async"),q1=t=>Promise.resolve().then(t),pue=global._MP_NO_ITERATOR_SYMBOLS_!=="1",kat=pue&&Symbol.asyncIterator||Symbol("asyncIterator not implemented"),Qat=pue&&Symbol.iterator||Symbol("iterator not implemented"),Rat=t=>t==="end"||t==="finish"||t==="prefinish",Fat=t=>t instanceof ArrayBuffer||typeof t=="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0,Tat=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t),$b=class{constructor(e,r,o){this.src=e,this.dest=r,this.opts=o,this.ondrain=()=>e[NE](),r.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},bU=class extends $b{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(e,r,o){super(e,r,o),this.proxyErrors=a=>r.emit("error",a),e.on("error",this.proxyErrors)}};gue.exports=class hue extends lue{constructor(e){super(),this[Zb]=!1,this[H1]=!1,this.pipes=[],this.buffer=[],this[Qo]=e&&e.objectMode||!1,this[Qo]?this[ka]=null:this[ka]=e&&e.encoding||null,this[ka]==="buffer"&&(this[ka]=null),this[Hf]=e&&!!e.async||!1,this[_f]=this[ka]?new cue(this[ka]):null,this[Mf]=!1,this[gh]=!1,this[Jb]=!1,this[Vb]=!1,this[_1]=null,this.writable=!0,this.readable=!0,this[Ts]=0,this[Ro]=!1}get bufferLength(){return this[Ts]}get encoding(){return this[ka]}set encoding(e){if(this[Qo])throw new Error("cannot set encoding in objectMode");if(this[ka]&&e!==this[ka]&&(this[_f]&&this[_f].lastNeed||this[Ts]))throw new Error("cannot change encoding");this[ka]!==e&&(this[_f]=e?new cue(e):null,this.buffer.length&&(this.buffer=this.buffer.map(r=>this[_f].write(r)))),this[ka]=e}setEncoding(e){this.encoding=e}get objectMode(){return this[Qo]}set objectMode(e){this[Qo]=this[Qo]||!!e}get async(){return this[Hf]}set async(e){this[Hf]=this[Hf]||!!e}write(e,r,o){if(this[Mf])throw new Error("write after end");if(this[Ro])return this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;typeof r=="function"&&(o=r,r="utf8"),r||(r="utf8");let a=this[Hf]?q1:n=>n();return!this[Qo]&&!Buffer.isBuffer(e)&&(Tat(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):Fat(e)?e=Buffer.from(e):typeof e!="string"&&(this.objectMode=!0)),this[Qo]?(this.flowing&&this[Ts]!==0&&this[Xb](!0),this.flowing?this.emit("data",e):this[vU](e),this[Ts]!==0&&this.emit("readable"),o&&a(o),this.flowing):e.length?(typeof e=="string"&&!(r===this[ka]&&!this[_f].lastNeed)&&(e=Buffer.from(e,r)),Buffer.isBuffer(e)&&this[ka]&&(e=this[_f].write(e)),this.flowing&&this[Ts]!==0&&this[Xb](!0),this.flowing?this.emit("data",e):this[vU](e),this[Ts]!==0&&this.emit("readable"),o&&a(o),this.flowing):(this[Ts]!==0&&this.emit("readable"),o&&a(o),this.flowing)}read(e){if(this[Ro])return null;if(this[Ts]===0||e===0||e>this[Ts])return this[Uf](),null;this[Qo]&&(e=null),this.buffer.length>1&&!this[Qo]&&(this.encoding?this.buffer=[this.buffer.join("")]:this.buffer=[Buffer.concat(this.buffer,this[Ts])]);let r=this[uue](e||null,this.buffer[0]);return this[Uf](),r}[uue](e,r){return e===r.length||e===null?this[PU]():(this.buffer[0]=r.slice(e),r=r.slice(0,e),this[Ts]-=e),this.emit("data",r),!this.buffer.length&&!this[Mf]&&this.emit("drain"),r}end(e,r,o){return typeof e=="function"&&(o=e,e=null),typeof r=="function"&&(o=r,r="utf8"),e&&this.write(e,r),o&&this.once("end",o),this[Mf]=!0,this.writable=!1,(this.flowing||!this[H1])&&this[Uf](),this}[NE](){this[Ro]||(this[H1]=!1,this[Zb]=!0,this.emit("resume"),this.buffer.length?this[Xb]():this[Mf]?this[Uf]():this.emit("drain"))}resume(){return this[NE]()}pause(){this[Zb]=!1,this[H1]=!0}get destroyed(){return this[Ro]}get flowing(){return this[Zb]}get paused(){return this[H1]}[vU](e){this[Qo]?this[Ts]+=1:this[Ts]+=e.length,this.buffer.push(e)}[PU](){return this.buffer.length&&(this[Qo]?this[Ts]-=1:this[Ts]-=this.buffer[0].length),this.buffer.shift()}[Xb](e){do;while(this[Aue](this[PU]()));!e&&!this.buffer.length&&!this[Mf]&&this.emit("drain")}[Aue](e){return e?(this.emit("data",e),this.flowing):!1}pipe(e,r){if(this[Ro])return;let o=this[gh];return r=r||{},e===aue.stdout||e===aue.stderr?r.end=!1:r.end=r.end!==!1,r.proxyErrors=!!r.proxyErrors,o?r.end&&e.end():(this.pipes.push(r.proxyErrors?new bU(this,e,r):new $b(this,e,r)),this[Hf]?q1(()=>this[NE]()):this[NE]()),e}unpipe(e){let r=this.pipes.find(o=>o.dest===e);r&&(this.pipes.splice(this.pipes.indexOf(r),1),r.unpipe())}addListener(e,r){return this.on(e,r)}on(e,r){let o=super.on(e,r);return e==="data"&&!this.pipes.length&&!this.flowing?this[NE]():e==="readable"&&this[Ts]!==0?super.emit("readable"):Rat(e)&&this[gh]?(super.emit(e),this.removeAllListeners(e)):e==="error"&&this[_1]&&(this[Hf]?q1(()=>r.call(this,this[_1])):r.call(this,this[_1])),o}get emittedEnd(){return this[gh]}[Uf](){!this[Jb]&&!this[gh]&&!this[Ro]&&this.buffer.length===0&&this[Mf]&&(this[Jb]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[Vb]&&this.emit("close"),this[Jb]=!1)}emit(e,r,...o){if(e!=="error"&&e!=="close"&&e!==Ro&&this[Ro])return;if(e==="data")return r?this[Hf]?q1(()=>this[DU](r)):this[DU](r):!1;if(e==="end")return this[fue]();if(e==="close"){if(this[Vb]=!0,!this[gh]&&!this[Ro])return;let n=super.emit("close");return this.removeAllListeners("close"),n}else if(e==="error"){this[_1]=r;let n=super.emit("error",r);return this[Uf](),n}else if(e==="resume"){let n=super.emit("resume");return this[Uf](),n}else if(e==="finish"||e==="prefinish"){let n=super.emit(e);return this.removeAllListeners(e),n}let a=super.emit(e,r,...o);return this[Uf](),a}[DU](e){for(let o of this.pipes)o.dest.write(e)===!1&&this.pause();let r=super.emit("data",e);return this[Uf](),r}[fue](){this[gh]||(this[gh]=!0,this.readable=!1,this[Hf]?q1(()=>this[SU]()):this[SU]())}[SU](){if(this[_f]){let r=this[_f].end();if(r){for(let o of this.pipes)o.dest.write(r);super.emit("data",r)}}for(let r of this.pipes)r.end();let e=super.emit("end");return this.removeAllListeners("end"),e}collect(){let e=[];this[Qo]||(e.dataLength=0);let r=this.promise();return this.on("data",o=>{e.push(o),this[Qo]||(e.dataLength+=o.length)}),r.then(()=>e)}concat(){return this[Qo]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(e=>this[Qo]?Promise.reject(new Error("cannot concat in objectMode")):this[ka]?e.join(""):Buffer.concat(e,e.dataLength))}promise(){return new Promise((e,r)=>{this.on(Ro,()=>r(new Error("stream destroyed"))),this.on("error",o=>r(o)),this.on("end",()=>e())})}[kat](){return{next:()=>{let r=this.read();if(r!==null)return Promise.resolve({done:!1,value:r});if(this[Mf])return Promise.resolve({done:!0});let o=null,a=null,n=h=>{this.removeListener("data",u),this.removeListener("end",A),a(h)},u=h=>{this.removeListener("error",n),this.removeListener("end",A),this.pause(),o({value:h,done:!!this[Mf]})},A=()=>{this.removeListener("error",n),this.removeListener("data",u),o({done:!0})},p=()=>n(new Error("stream destroyed"));return new Promise((h,E)=>{a=E,o=h,this.once(Ro,p),this.once("error",n),this.once("end",A),this.once("data",u)})}}}[Qat](){return{next:()=>{let r=this.read();return{value:r,done:r===null}}}}destroy(e){return this[Ro]?(e?this.emit("error",e):this.emit(Ro),this):(this[Ro]=!0,this.buffer.length=0,this[Ts]=0,typeof this.close=="function"&&!this[Vb]&&this.close(),e?this.emit("error",e):this.emit(Ro),this)}static isStream(e){return!!e&&(e instanceof hue||e instanceof lue||e instanceof xat&&(typeof e.pipe=="function"||typeof e.write=="function"&&typeof e.end=="function"))}}});var mue=_((H4t,due)=>{var Lat=ve("zlib").constants||{ZLIB_VERNUM:4736};due.exports=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:1/0,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},Lat))});var jU=_(ul=>{"use strict";var FU=ve("assert"),dh=ve("buffer").Buffer,Cue=ve("zlib"),Rd=ul.constants=mue(),Nat=OE(),yue=dh.concat,Fd=Symbol("_superWrite"),UE=class extends Error{constructor(e){super("zlib: "+e.message),this.code=e.code,this.errno=e.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+e.message,Error.captureStackTrace(this,this.constructor)}get name(){return"ZlibError"}},Oat=Symbol("opts"),G1=Symbol("flushFlag"),Eue=Symbol("finishFlushFlag"),GU=Symbol("fullFlushFlag"),ti=Symbol("handle"),ex=Symbol("onError"),ME=Symbol("sawError"),xU=Symbol("level"),kU=Symbol("strategy"),QU=Symbol("ended"),q4t=Symbol("_defaultFullFlush"),tx=class extends Nat{constructor(e,r){if(!e||typeof e!="object")throw new TypeError("invalid options for ZlibBase constructor");super(e),this[ME]=!1,this[QU]=!1,this[Oat]=e,this[G1]=e.flush,this[Eue]=e.finishFlush;try{this[ti]=new Cue[r](e)}catch(o){throw new UE(o)}this[ex]=o=>{this[ME]||(this[ME]=!0,this.close(),this.emit("error",o))},this[ti].on("error",o=>this[ex](new UE(o))),this.once("end",()=>this.close)}close(){this[ti]&&(this[ti].close(),this[ti]=null,this.emit("close"))}reset(){if(!this[ME])return FU(this[ti],"zlib binding closed"),this[ti].reset()}flush(e){this.ended||(typeof e!="number"&&(e=this[GU]),this.write(Object.assign(dh.alloc(0),{[G1]:e})))}end(e,r,o){return e&&this.write(e,r),this.flush(this[Eue]),this[QU]=!0,super.end(null,null,o)}get ended(){return this[QU]}write(e,r,o){if(typeof r=="function"&&(o=r,r="utf8"),typeof e=="string"&&(e=dh.from(e,r)),this[ME])return;FU(this[ti],"zlib binding closed");let a=this[ti]._handle,n=a.close;a.close=()=>{};let u=this[ti].close;this[ti].close=()=>{},dh.concat=h=>h;let A;try{let h=typeof e[G1]=="number"?e[G1]:this[G1];A=this[ti]._processChunk(e,h),dh.concat=yue}catch(h){dh.concat=yue,this[ex](new UE(h))}finally{this[ti]&&(this[ti]._handle=a,a.close=n,this[ti].close=u,this[ti].removeAllListeners("error"))}this[ti]&&this[ti].on("error",h=>this[ex](new UE(h)));let p;if(A)if(Array.isArray(A)&&A.length>0){p=this[Fd](dh.from(A[0]));for(let h=1;h{this.flush(a),n()};try{this[ti].params(e,r)}finally{this[ti].flush=o}this[ti]&&(this[xU]=e,this[kU]=r)}}}},TU=class extends qf{constructor(e){super(e,"Deflate")}},LU=class extends qf{constructor(e){super(e,"Inflate")}},RU=Symbol("_portable"),NU=class extends qf{constructor(e){super(e,"Gzip"),this[RU]=e&&!!e.portable}[Fd](e){return this[RU]?(this[RU]=!1,e[9]=255,super[Fd](e)):super[Fd](e)}},OU=class extends qf{constructor(e){super(e,"Gunzip")}},MU=class extends qf{constructor(e){super(e,"DeflateRaw")}},UU=class extends qf{constructor(e){super(e,"InflateRaw")}},_U=class extends qf{constructor(e){super(e,"Unzip")}},rx=class extends tx{constructor(e,r){e=e||{},e.flush=e.flush||Rd.BROTLI_OPERATION_PROCESS,e.finishFlush=e.finishFlush||Rd.BROTLI_OPERATION_FINISH,super(e,r),this[GU]=Rd.BROTLI_OPERATION_FLUSH}},HU=class extends rx{constructor(e){super(e,"BrotliCompress")}},qU=class extends rx{constructor(e){super(e,"BrotliDecompress")}};ul.Deflate=TU;ul.Inflate=LU;ul.Gzip=NU;ul.Gunzip=OU;ul.DeflateRaw=MU;ul.InflateRaw=UU;ul.Unzip=_U;typeof Cue.BrotliCompress=="function"?(ul.BrotliCompress=HU,ul.BrotliDecompress=qU):ul.BrotliCompress=ul.BrotliDecompress=class{constructor(){throw new Error("Brotli is not supported in this version of Node.js")}}});var _E=_((Y4t,wue)=>{var Mat=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform;wue.exports=Mat!=="win32"?t=>t:t=>t&&t.replace(/\\/g,"/")});var nx=_((K4t,Iue)=>{"use strict";var Uat=OE(),YU=_E(),WU=Symbol("slurp");Iue.exports=class extends Uat{constructor(e,r,o){switch(super(),this.pause(),this.extended=r,this.globalExtended=o,this.header=e,this.startBlockSize=512*Math.ceil(e.size/512),this.blockRemain=this.startBlockSize,this.remain=e.size,this.type=e.type,this.meta=!1,this.ignore=!1,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}this.path=YU(e.path),this.mode=e.mode,this.mode&&(this.mode=this.mode&4095),this.uid=e.uid,this.gid=e.gid,this.uname=e.uname,this.gname=e.gname,this.size=e.size,this.mtime=e.mtime,this.atime=e.atime,this.ctime=e.ctime,this.linkpath=YU(e.linkpath),this.uname=e.uname,this.gname=e.gname,r&&this[WU](r),o&&this[WU](o,!0)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");let o=this.remain,a=this.blockRemain;return this.remain=Math.max(0,o-r),this.blockRemain=Math.max(0,a-r),this.ignore?!0:o>=r?super.write(e):super.write(e.slice(0,o))}[WU](e,r){for(let o in e)e[o]!==null&&e[o]!==void 0&&!(r&&o==="path")&&(this[o]=o==="path"||o==="linkpath"?YU(e[o]):e[o])}}});var KU=_(ix=>{"use strict";ix.name=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]);ix.code=new Map(Array.from(ix.name).map(t=>[t[1],t[0]]))});var Due=_((J4t,Pue)=>{"use strict";var _at=(t,e)=>{if(Number.isSafeInteger(t))t<0?qat(t,e):Hat(t,e);else throw Error("cannot encode number outside of javascript safe integer range");return e},Hat=(t,e)=>{e[0]=128;for(var r=e.length;r>1;r--)e[r-1]=t&255,t=Math.floor(t/256)},qat=(t,e)=>{e[0]=255;var r=!1;t=t*-1;for(var o=e.length;o>1;o--){var a=t&255;t=Math.floor(t/256),r?e[o-1]=Bue(a):a===0?e[o-1]=0:(r=!0,e[o-1]=vue(a))}},Gat=t=>{let e=t[0],r=e===128?Yat(t.slice(1,t.length)):e===255?jat(t):null;if(r===null)throw Error("invalid base256 encoding");if(!Number.isSafeInteger(r))throw Error("parsed number outside of javascript safe integer range");return r},jat=t=>{for(var e=t.length,r=0,o=!1,a=e-1;a>-1;a--){var n=t[a],u;o?u=Bue(n):n===0?u=n:(o=!0,u=vue(n)),u!==0&&(r-=u*Math.pow(256,e-a-1))}return r},Yat=t=>{for(var e=t.length,r=0,o=e-1;o>-1;o--){var a=t[o];a!==0&&(r+=a*Math.pow(256,e-o-1))}return r},Bue=t=>(255^t)&255,vue=t=>(255^t)+1&255;Pue.exports={encode:_at,parse:Gat}});var qE=_((V4t,bue)=>{"use strict";var zU=KU(),HE=ve("path").posix,Sue=Due(),JU=Symbol("slurp"),Al=Symbol("type"),ZU=class{constructor(e,r,o,a){this.cksumValid=!1,this.needPax=!1,this.nullBlock=!1,this.block=null,this.path=null,this.mode=null,this.uid=null,this.gid=null,this.size=null,this.mtime=null,this.cksum=null,this[Al]="0",this.linkpath=null,this.uname=null,this.gname=null,this.devmaj=0,this.devmin=0,this.atime=null,this.ctime=null,Buffer.isBuffer(e)?this.decode(e,r||0,o,a):e&&this.set(e)}decode(e,r,o,a){if(r||(r=0),!e||!(e.length>=r+512))throw new Error("need 512 bytes for header");if(this.path=Td(e,r,100),this.mode=mh(e,r+100,8),this.uid=mh(e,r+108,8),this.gid=mh(e,r+116,8),this.size=mh(e,r+124,12),this.mtime=VU(e,r+136,12),this.cksum=mh(e,r+148,12),this[JU](o),this[JU](a,!0),this[Al]=Td(e,r+156,1),this[Al]===""&&(this[Al]="0"),this[Al]==="0"&&this.path.substr(-1)==="/"&&(this[Al]="5"),this[Al]==="5"&&(this.size=0),this.linkpath=Td(e,r+157,100),e.slice(r+257,r+265).toString()==="ustar\x0000")if(this.uname=Td(e,r+265,32),this.gname=Td(e,r+297,32),this.devmaj=mh(e,r+329,8),this.devmin=mh(e,r+337,8),e[r+475]!==0){let u=Td(e,r+345,155);this.path=u+"/"+this.path}else{let u=Td(e,r+345,130);u&&(this.path=u+"/"+this.path),this.atime=VU(e,r+476,12),this.ctime=VU(e,r+488,12)}let n=8*32;for(let u=r;u=r+512))throw new Error("need 512 bytes for header");let o=this.ctime||this.atime?130:155,a=Wat(this.path||"",o),n=a[0],u=a[1];this.needPax=a[2],this.needPax=Ld(e,r,100,n)||this.needPax,this.needPax=yh(e,r+100,8,this.mode)||this.needPax,this.needPax=yh(e,r+108,8,this.uid)||this.needPax,this.needPax=yh(e,r+116,8,this.gid)||this.needPax,this.needPax=yh(e,r+124,12,this.size)||this.needPax,this.needPax=XU(e,r+136,12,this.mtime)||this.needPax,e[r+156]=this[Al].charCodeAt(0),this.needPax=Ld(e,r+157,100,this.linkpath)||this.needPax,e.write("ustar\x0000",r+257,8),this.needPax=Ld(e,r+265,32,this.uname)||this.needPax,this.needPax=Ld(e,r+297,32,this.gname)||this.needPax,this.needPax=yh(e,r+329,8,this.devmaj)||this.needPax,this.needPax=yh(e,r+337,8,this.devmin)||this.needPax,this.needPax=Ld(e,r+345,o,u)||this.needPax,e[r+475]!==0?this.needPax=Ld(e,r+345,155,u)||this.needPax:(this.needPax=Ld(e,r+345,130,u)||this.needPax,this.needPax=XU(e,r+476,12,this.atime)||this.needPax,this.needPax=XU(e,r+488,12,this.ctime)||this.needPax);let A=8*32;for(let p=r;p{let o=t,a="",n,u=HE.parse(t).root||".";if(Buffer.byteLength(o)<100)n=[o,a,!1];else{a=HE.dirname(o),o=HE.basename(o);do Buffer.byteLength(o)<=100&&Buffer.byteLength(a)<=e?n=[o,a,!1]:Buffer.byteLength(o)>100&&Buffer.byteLength(a)<=e?n=[o.substr(0,100-1),a,!0]:(o=HE.join(HE.basename(a),o),a=HE.dirname(a));while(a!==u&&!n);n||(n=[t.substr(0,100-1),"",!0])}return n},Td=(t,e,r)=>t.slice(e,e+r).toString("utf8").replace(/\0.*/,""),VU=(t,e,r)=>Kat(mh(t,e,r)),Kat=t=>t===null?null:new Date(t*1e3),mh=(t,e,r)=>t[e]&128?Sue.parse(t.slice(e,e+r)):Jat(t,e,r),zat=t=>isNaN(t)?null:t,Jat=(t,e,r)=>zat(parseInt(t.slice(e,e+r).toString("utf8").replace(/\0.*$/,"").trim(),8)),Vat={12:8589934591,8:2097151},yh=(t,e,r,o)=>o===null?!1:o>Vat[r]||o<0?(Sue.encode(o,t.slice(e,e+r)),!0):(Xat(t,e,r,o),!1),Xat=(t,e,r,o)=>t.write(Zat(o,r),e,r,"ascii"),Zat=(t,e)=>$at(Math.floor(t).toString(8),e),$at=(t,e)=>(t.length===e-1?t:new Array(e-t.length-1).join("0")+t+" ")+"\0",XU=(t,e,r,o)=>o===null?!1:yh(t,e,r,o.getTime()/1e3),elt=new Array(156).join("\0"),Ld=(t,e,r,o)=>o===null?!1:(t.write(o+elt,e,r,"utf8"),o.length!==Buffer.byteLength(o)||o.length>r);bue.exports=ZU});var sx=_((X4t,xue)=>{"use strict";var tlt=qE(),rlt=ve("path"),j1=class{constructor(e,r){this.atime=e.atime||null,this.charset=e.charset||null,this.comment=e.comment||null,this.ctime=e.ctime||null,this.gid=e.gid||null,this.gname=e.gname||null,this.linkpath=e.linkpath||null,this.mtime=e.mtime||null,this.path=e.path||null,this.size=e.size||null,this.uid=e.uid||null,this.uname=e.uname||null,this.dev=e.dev||null,this.ino=e.ino||null,this.nlink=e.nlink||null,this.global=r||!1}encode(){let e=this.encodeBody();if(e==="")return null;let r=Buffer.byteLength(e),o=512*Math.ceil(1+r/512),a=Buffer.allocUnsafe(o);for(let n=0;n<512;n++)a[n]=0;new tlt({path:("PaxHeader/"+rlt.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:r,mtime:this.mtime||null,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime||null,ctime:this.ctime||null}).encode(a),a.write(e,512,r,"utf8");for(let n=r+512;n=Math.pow(10,n)&&(n+=1),n+a+o}};j1.parse=(t,e,r)=>new j1(nlt(ilt(t),e),r);var nlt=(t,e)=>e?Object.keys(t).reduce((r,o)=>(r[o]=t[o],r),e):t,ilt=t=>t.replace(/\n$/,"").split(` +`).reduce(slt,Object.create(null)),slt=(t,e)=>{let r=parseInt(e,10);if(r!==Buffer.byteLength(e)+1)return t;e=e.substr((r+" ").length);let o=e.split("="),a=o.shift().replace(/^SCHILY\.(dev|ino|nlink)/,"$1");if(!a)return t;let n=o.join("=");return t[a]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(a)?new Date(n*1e3):/^[0-9]+$/.test(n)?+n:n,t};xue.exports=j1});var GE=_((Z4t,kue)=>{kue.exports=t=>{let e=t.length-1,r=-1;for(;e>-1&&t.charAt(e)==="/";)r=e,e--;return r===-1?t:t.slice(0,r)}});var ox=_(($4t,Que)=>{"use strict";Que.exports=t=>class extends t{warn(e,r,o={}){this.file&&(o.file=this.file),this.cwd&&(o.cwd=this.cwd),o.code=r instanceof Error&&r.code||e,o.tarCode=e,!this.strict&&o.recoverable!==!1?(r instanceof Error&&(o=Object.assign(r,o),r=r.message),this.emit("warn",o.tarCode,r,o)):r instanceof Error?this.emit("error",Object.assign(r,o)):this.emit("error",Object.assign(new Error(`${e}: ${r}`),o))}}});var e3=_((tUt,Rue)=>{"use strict";var ax=["|","<",">","?",":"],$U=ax.map(t=>String.fromCharCode(61440+t.charCodeAt(0))),olt=new Map(ax.map((t,e)=>[t,$U[e]])),alt=new Map($U.map((t,e)=>[t,ax[e]]));Rue.exports={encode:t=>ax.reduce((e,r)=>e.split(r).join(olt.get(r)),t),decode:t=>$U.reduce((e,r)=>e.split(r).join(alt.get(r)),t)}});var t3=_((rUt,Tue)=>{var{isAbsolute:llt,parse:Fue}=ve("path").win32;Tue.exports=t=>{let e="",r=Fue(t);for(;llt(t)||r.root;){let o=t.charAt(0)==="/"&&t.slice(0,4)!=="//?/"?"/":r.root;t=t.substr(o.length),e+=o,r=Fue(t)}return[e,t]}});var Nue=_((nUt,Lue)=>{"use strict";Lue.exports=(t,e,r)=>(t&=4095,r&&(t=(t|384)&-19),e&&(t&256&&(t|=64),t&32&&(t|=8),t&4&&(t|=1)),t)});var A3=_((oUt,Vue)=>{"use strict";var Gue=OE(),jue=sx(),Yue=qE(),aA=ve("fs"),Oue=ve("path"),oA=_E(),clt=GE(),Wue=(t,e)=>e?(t=oA(t).replace(/^\.(\/|$)/,""),clt(e)+"/"+t):oA(t),ult=16*1024*1024,Mue=Symbol("process"),Uue=Symbol("file"),_ue=Symbol("directory"),n3=Symbol("symlink"),Hue=Symbol("hardlink"),Y1=Symbol("header"),lx=Symbol("read"),i3=Symbol("lstat"),cx=Symbol("onlstat"),s3=Symbol("onread"),o3=Symbol("onreadlink"),a3=Symbol("openfile"),l3=Symbol("onopenfile"),Eh=Symbol("close"),ux=Symbol("mode"),c3=Symbol("awaitDrain"),r3=Symbol("ondrain"),lA=Symbol("prefix"),que=Symbol("hadError"),Kue=ox(),Alt=e3(),zue=t3(),Jue=Nue(),Ax=Kue(class extends Gue{constructor(e,r){if(r=r||{},super(r),typeof e!="string")throw new TypeError("path is required");this.path=oA(e),this.portable=!!r.portable,this.myuid=process.getuid&&process.getuid()||0,this.myuser=process.env.USER||"",this.maxReadSize=r.maxReadSize||ult,this.linkCache=r.linkCache||new Map,this.statCache=r.statCache||new Map,this.preservePaths=!!r.preservePaths,this.cwd=oA(r.cwd||process.cwd()),this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.mtime=r.mtime||null,this.prefix=r.prefix?oA(r.prefix):null,this.fd=null,this.blockLen=null,this.blockRemain=null,this.buf=null,this.offset=null,this.length=null,this.pos=null,this.remain=null,typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let o=!1;if(!this.preservePaths){let[a,n]=zue(this.path);a&&(this.path=n,o=a)}this.win32=!!r.win32||process.platform==="win32",this.win32&&(this.path=Alt.decode(this.path.replace(/\\/g,"/")),e=e.replace(/\\/g,"/")),this.absolute=oA(r.absolute||Oue.resolve(this.cwd,e)),this.path===""&&(this.path="./"),o&&this.warn("TAR_ENTRY_INFO",`stripping ${o} from absolute path`,{entry:this,path:o+this.path}),this.statCache.has(this.absolute)?this[cx](this.statCache.get(this.absolute)):this[i3]()}emit(e,...r){return e==="error"&&(this[que]=!0),super.emit(e,...r)}[i3](){aA.lstat(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[cx](r)})}[cx](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=plt(e),this.emit("stat",e),this[Mue]()}[Mue](){switch(this.type){case"File":return this[Uue]();case"Directory":return this[_ue]();case"SymbolicLink":return this[n3]();default:return this.end()}}[ux](e){return Jue(e,this.type==="Directory",this.portable)}[lA](e){return Wue(e,this.prefix)}[Y1](){this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.header=new Yue({path:this[lA](this.path),linkpath:this.type==="Link"?this[lA](this.linkpath):this.linkpath,mode:this[ux](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&super.write(new jue({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this[lA](this.path),linkpath:this.type==="Link"?this[lA](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),super.write(this.header.block)}[_ue](){this.path.substr(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[Y1](),this.end()}[n3](){aA.readlink(this.absolute,(e,r)=>{if(e)return this.emit("error",e);this[o3](r)})}[o3](e){this.linkpath=oA(e),this[Y1](),this.end()}[Hue](e){this.type="Link",this.linkpath=oA(Oue.relative(this.cwd,e)),this.stat.size=0,this[Y1](),this.end()}[Uue](){if(this.stat.nlink>1){let e=this.stat.dev+":"+this.stat.ino;if(this.linkCache.has(e)){let r=this.linkCache.get(e);if(r.indexOf(this.cwd)===0)return this[Hue](r)}this.linkCache.set(e,this.absolute)}if(this[Y1](),this.stat.size===0)return this.end();this[a3]()}[a3](){aA.open(this.absolute,"r",(e,r)=>{if(e)return this.emit("error",e);this[l3](r)})}[l3](e){if(this.fd=e,this[que])return this[Eh]();this.blockLen=512*Math.ceil(this.stat.size/512),this.blockRemain=this.blockLen;let r=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(r),this.offset=0,this.pos=0,this.remain=this.stat.size,this.length=this.buf.length,this[lx]()}[lx](){let{fd:e,buf:r,offset:o,length:a,pos:n}=this;aA.read(e,r,o,a,n,(u,A)=>{if(u)return this[Eh](()=>this.emit("error",u));this[s3](A)})}[Eh](e){aA.close(this.fd,e)}[s3](e){if(e<=0&&this.remain>0){let a=new Error("encountered unexpected EOF");return a.path=this.absolute,a.syscall="read",a.code="EOF",this[Eh](()=>this.emit("error",a))}if(e>this.remain){let a=new Error("did not encounter expected EOF");return a.path=this.absolute,a.syscall="read",a.code="EOF",this[Eh](()=>this.emit("error",a))}if(e===this.remain)for(let a=e;athis[r3]())}[c3](e){this.once("drain",e)}write(e){if(this.blockRemaine?this.emit("error",e):this.end());this.offset>=this.length&&(this.buf=Buffer.allocUnsafe(Math.min(this.blockRemain,this.buf.length)),this.offset=0),this.length=this.buf.length-this.offset,this[lx]()}}),u3=class extends Ax{[i3](){this[cx](aA.lstatSync(this.absolute))}[n3](){this[o3](aA.readlinkSync(this.absolute))}[a3](){this[l3](aA.openSync(this.absolute,"r"))}[lx](){let e=!0;try{let{fd:r,buf:o,offset:a,length:n,pos:u}=this,A=aA.readSync(r,o,a,n,u);this[s3](A),e=!1}finally{if(e)try{this[Eh](()=>{})}catch{}}}[c3](e){e()}[Eh](e){aA.closeSync(this.fd),e()}},flt=Kue(class extends Gue{constructor(e,r){r=r||{},super(r),this.preservePaths=!!r.preservePaths,this.portable=!!r.portable,this.strict=!!r.strict,this.noPax=!!r.noPax,this.noMtime=!!r.noMtime,this.readEntry=e,this.type=e.type,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.prefix=r.prefix||null,this.path=oA(e.path),this.mode=this[ux](e.mode),this.uid=this.portable?null:e.uid,this.gid=this.portable?null:e.gid,this.uname=this.portable?null:e.uname,this.gname=this.portable?null:e.gname,this.size=e.size,this.mtime=this.noMtime?null:r.mtime||e.mtime,this.atime=this.portable?null:e.atime,this.ctime=this.portable?null:e.ctime,this.linkpath=oA(e.linkpath),typeof r.onwarn=="function"&&this.on("warn",r.onwarn);let o=!1;if(!this.preservePaths){let[a,n]=zue(this.path);a&&(this.path=n,o=a)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.header=new Yue({path:this[lA](this.path),linkpath:this.type==="Link"?this[lA](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),o&&this.warn("TAR_ENTRY_INFO",`stripping ${o} from absolute path`,{entry:this,path:o+this.path}),this.header.encode()&&!this.noPax&&super.write(new jue({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this[lA](this.path),linkpath:this.type==="Link"?this[lA](this.linkpath):this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),e.pipe(this)}[lA](e){return Wue(e,this.prefix)}[ux](e){return Jue(e,this.type==="Directory",this.portable)}write(e){let r=e.length;if(r>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=r,super.write(e)}end(){return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),super.end()}});Ax.Sync=u3;Ax.Tar=flt;var plt=t=>t.isFile()?"File":t.isDirectory()?"Directory":t.isSymbolicLink()?"SymbolicLink":"Unsupported";Vue.exports=Ax});var Cx=_((lUt,nAe)=>{"use strict";var yx=class{constructor(e,r){this.path=e||"./",this.absolute=r,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},hlt=OE(),glt=jU(),dlt=nx(),C3=A3(),mlt=C3.Sync,ylt=C3.Tar,Elt=BD(),Xue=Buffer.alloc(1024),hx=Symbol("onStat"),fx=Symbol("ended"),cA=Symbol("queue"),jE=Symbol("current"),Nd=Symbol("process"),px=Symbol("processing"),Zue=Symbol("processJob"),uA=Symbol("jobs"),f3=Symbol("jobDone"),gx=Symbol("addFSEntry"),$ue=Symbol("addTarEntry"),d3=Symbol("stat"),m3=Symbol("readdir"),dx=Symbol("onreaddir"),mx=Symbol("pipe"),eAe=Symbol("entry"),p3=Symbol("entryOpt"),y3=Symbol("writeEntryClass"),rAe=Symbol("write"),h3=Symbol("ondrain"),Ex=ve("fs"),tAe=ve("path"),Clt=ox(),g3=_E(),w3=Clt(class extends hlt{constructor(e){super(e),e=e||Object.create(null),this.opt=e,this.file=e.file||"",this.cwd=e.cwd||process.cwd(),this.maxReadSize=e.maxReadSize,this.preservePaths=!!e.preservePaths,this.strict=!!e.strict,this.noPax=!!e.noPax,this.prefix=g3(e.prefix||""),this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.readdirCache=e.readdirCache||new Map,this[y3]=C3,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),this.portable=!!e.portable,this.zip=null,e.gzip?(typeof e.gzip!="object"&&(e.gzip={}),this.portable&&(e.gzip.portable=!0),this.zip=new glt.Gzip(e.gzip),this.zip.on("data",r=>super.write(r)),this.zip.on("end",r=>super.end()),this.zip.on("drain",r=>this[h3]()),this.on("resume",r=>this.zip.resume())):this.on("drain",this[h3]),this.noDirRecurse=!!e.noDirRecurse,this.follow=!!e.follow,this.noMtime=!!e.noMtime,this.mtime=e.mtime||null,this.filter=typeof e.filter=="function"?e.filter:r=>!0,this[cA]=new Elt,this[uA]=0,this.jobs=+e.jobs||4,this[px]=!1,this[fx]=!1}[rAe](e){return super.write(e)}add(e){return this.write(e),this}end(e){return e&&this.write(e),this[fx]=!0,this[Nd](),this}write(e){if(this[fx])throw new Error("write after end");return e instanceof dlt?this[$ue](e):this[gx](e),this.flowing}[$ue](e){let r=g3(tAe.resolve(this.cwd,e.path));if(!this.filter(e.path,e))e.resume();else{let o=new yx(e.path,r,!1);o.entry=new ylt(e,this[p3](o)),o.entry.on("end",a=>this[f3](o)),this[uA]+=1,this[cA].push(o)}this[Nd]()}[gx](e){let r=g3(tAe.resolve(this.cwd,e));this[cA].push(new yx(e,r)),this[Nd]()}[d3](e){e.pending=!0,this[uA]+=1;let r=this.follow?"stat":"lstat";Ex[r](e.absolute,(o,a)=>{e.pending=!1,this[uA]-=1,o?this.emit("error",o):this[hx](e,a)})}[hx](e,r){this.statCache.set(e.absolute,r),e.stat=r,this.filter(e.path,r)||(e.ignore=!0),this[Nd]()}[m3](e){e.pending=!0,this[uA]+=1,Ex.readdir(e.absolute,(r,o)=>{if(e.pending=!1,this[uA]-=1,r)return this.emit("error",r);this[dx](e,o)})}[dx](e,r){this.readdirCache.set(e.absolute,r),e.readdir=r,this[Nd]()}[Nd](){if(!this[px]){this[px]=!0;for(let e=this[cA].head;e!==null&&this[uA]this.warn(r,o,a),noPax:this.noPax,cwd:this.cwd,absolute:e.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime,prefix:this.prefix}}[eAe](e){this[uA]+=1;try{return new this[y3](e.path,this[p3](e)).on("end",()=>this[f3](e)).on("error",r=>this.emit("error",r))}catch(r){this.emit("error",r)}}[h3](){this[jE]&&this[jE].entry&&this[jE].entry.resume()}[mx](e){e.piped=!0,e.readdir&&e.readdir.forEach(a=>{let n=e.path,u=n==="./"?"":n.replace(/\/*$/,"/");this[gx](u+a)});let r=e.entry,o=this.zip;o?r.on("data",a=>{o.write(a)||r.pause()}):r.on("data",a=>{super.write(a)||r.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}}),E3=class extends w3{constructor(e){super(e),this[y3]=mlt}pause(){}resume(){}[d3](e){let r=this.follow?"statSync":"lstatSync";this[hx](e,Ex[r](e.absolute))}[m3](e,r){this[dx](e,Ex.readdirSync(e.absolute))}[mx](e){let r=e.entry,o=this.zip;e.readdir&&e.readdir.forEach(a=>{let n=e.path,u=n==="./"?"":n.replace(/\/*$/,"/");this[gx](u+a)}),o?r.on("data",a=>{o.write(a)}):r.on("data",a=>{super[rAe](a)})}};w3.Sync=E3;nAe.exports=w3});var ZE=_(K1=>{"use strict";var wlt=OE(),Ilt=ve("events").EventEmitter,Qa=ve("fs"),v3=Qa.writev;if(!v3){let t=process.binding("fs"),e=t.FSReqWrap||t.FSReqCallback;v3=(r,o,a,n)=>{let u=(p,h)=>n(p,h,o),A=new e;A.oncomplete=u,t.writeBuffers(r,o,a,A)}}var VE=Symbol("_autoClose"),Wc=Symbol("_close"),W1=Symbol("_ended"),jn=Symbol("_fd"),iAe=Symbol("_finished"),wh=Symbol("_flags"),I3=Symbol("_flush"),P3=Symbol("_handleChunk"),D3=Symbol("_makeBuf"),Px=Symbol("_mode"),wx=Symbol("_needDrain"),zE=Symbol("_onerror"),XE=Symbol("_onopen"),B3=Symbol("_onread"),WE=Symbol("_onwrite"),Ih=Symbol("_open"),Gf=Symbol("_path"),Od=Symbol("_pos"),AA=Symbol("_queue"),KE=Symbol("_read"),sAe=Symbol("_readSize"),Ch=Symbol("_reading"),Ix=Symbol("_remain"),oAe=Symbol("_size"),Bx=Symbol("_write"),YE=Symbol("_writing"),vx=Symbol("_defaultFlag"),JE=Symbol("_errored"),Dx=class extends wlt{constructor(e,r){if(r=r||{},super(r),this.readable=!0,this.writable=!1,typeof e!="string")throw new TypeError("path must be a string");this[JE]=!1,this[jn]=typeof r.fd=="number"?r.fd:null,this[Gf]=e,this[sAe]=r.readSize||16*1024*1024,this[Ch]=!1,this[oAe]=typeof r.size=="number"?r.size:1/0,this[Ix]=this[oAe],this[VE]=typeof r.autoClose=="boolean"?r.autoClose:!0,typeof this[jn]=="number"?this[KE]():this[Ih]()}get fd(){return this[jn]}get path(){return this[Gf]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[Ih](){Qa.open(this[Gf],"r",(e,r)=>this[XE](e,r))}[XE](e,r){e?this[zE](e):(this[jn]=r,this.emit("open",r),this[KE]())}[D3](){return Buffer.allocUnsafe(Math.min(this[sAe],this[Ix]))}[KE](){if(!this[Ch]){this[Ch]=!0;let e=this[D3]();if(e.length===0)return process.nextTick(()=>this[B3](null,0,e));Qa.read(this[jn],e,0,e.length,null,(r,o,a)=>this[B3](r,o,a))}}[B3](e,r,o){this[Ch]=!1,e?this[zE](e):this[P3](r,o)&&this[KE]()}[Wc](){if(this[VE]&&typeof this[jn]=="number"){let e=this[jn];this[jn]=null,Qa.close(e,r=>r?this.emit("error",r):this.emit("close"))}}[zE](e){this[Ch]=!0,this[Wc](),this.emit("error",e)}[P3](e,r){let o=!1;return this[Ix]-=e,e>0&&(o=super.write(ethis[XE](e,r))}[XE](e,r){this[vx]&&this[wh]==="r+"&&e&&e.code==="ENOENT"?(this[wh]="w",this[Ih]()):e?this[zE](e):(this[jn]=r,this.emit("open",r),this[I3]())}end(e,r){return e&&this.write(e,r),this[W1]=!0,!this[YE]&&!this[AA].length&&typeof this[jn]=="number"&&this[WE](null,0),this}write(e,r){return typeof e=="string"&&(e=Buffer.from(e,r)),this[W1]?(this.emit("error",new Error("write() after end()")),!1):this[jn]===null||this[YE]||this[AA].length?(this[AA].push(e),this[wx]=!0,!1):(this[YE]=!0,this[Bx](e),!0)}[Bx](e){Qa.write(this[jn],e,0,e.length,this[Od],(r,o)=>this[WE](r,o))}[WE](e,r){e?this[zE](e):(this[Od]!==null&&(this[Od]+=r),this[AA].length?this[I3]():(this[YE]=!1,this[W1]&&!this[iAe]?(this[iAe]=!0,this[Wc](),this.emit("finish")):this[wx]&&(this[wx]=!1,this.emit("drain"))))}[I3](){if(this[AA].length===0)this[W1]&&this[WE](null,0);else if(this[AA].length===1)this[Bx](this[AA].pop());else{let e=this[AA];this[AA]=[],v3(this[jn],e,this[Od],(r,o)=>this[WE](r,o))}}[Wc](){if(this[VE]&&typeof this[jn]=="number"){let e=this[jn];this[jn]=null,Qa.close(e,r=>r?this.emit("error",r):this.emit("close"))}}},b3=class extends Sx{[Ih](){let e;if(this[vx]&&this[wh]==="r+")try{e=Qa.openSync(this[Gf],this[wh],this[Px])}catch(r){if(r.code==="ENOENT")return this[wh]="w",this[Ih]();throw r}else e=Qa.openSync(this[Gf],this[wh],this[Px]);this[XE](null,e)}[Wc](){if(this[VE]&&typeof this[jn]=="number"){let e=this[jn];this[jn]=null,Qa.closeSync(e),this.emit("close")}}[Bx](e){let r=!0;try{this[WE](null,Qa.writeSync(this[jn],e,0,e.length,this[Od])),r=!1}finally{if(r)try{this[Wc]()}catch{}}}};K1.ReadStream=Dx;K1.ReadStreamSync=S3;K1.WriteStream=Sx;K1.WriteStreamSync=b3});var Tx=_((AUt,pAe)=>{"use strict";var Blt=ox(),vlt=qE(),Plt=ve("events"),Dlt=BD(),Slt=1024*1024,blt=nx(),aAe=sx(),xlt=jU(),x3=Buffer.from([31,139]),Zl=Symbol("state"),Md=Symbol("writeEntry"),jf=Symbol("readEntry"),k3=Symbol("nextEntry"),lAe=Symbol("processEntry"),$l=Symbol("extendedHeader"),z1=Symbol("globalExtendedHeader"),Bh=Symbol("meta"),cAe=Symbol("emitMeta"),fi=Symbol("buffer"),Yf=Symbol("queue"),Ud=Symbol("ended"),uAe=Symbol("emittedEnd"),_d=Symbol("emit"),Ra=Symbol("unzip"),bx=Symbol("consumeChunk"),xx=Symbol("consumeChunkSub"),Q3=Symbol("consumeBody"),AAe=Symbol("consumeMeta"),fAe=Symbol("consumeHeader"),kx=Symbol("consuming"),R3=Symbol("bufferConcat"),F3=Symbol("maybeEnd"),J1=Symbol("writing"),vh=Symbol("aborted"),Qx=Symbol("onDone"),Hd=Symbol("sawValidEntry"),Rx=Symbol("sawNullBlock"),Fx=Symbol("sawEOF"),klt=t=>!0;pAe.exports=Blt(class extends Plt{constructor(e){e=e||{},super(e),this.file=e.file||"",this[Hd]=null,this.on(Qx,r=>{(this[Zl]==="begin"||this[Hd]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),e.ondone?this.on(Qx,e.ondone):this.on(Qx,r=>{this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close")}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||Slt,this.filter=typeof e.filter=="function"?e.filter:klt,this.writable=!0,this.readable=!1,this[Yf]=new Dlt,this[fi]=null,this[jf]=null,this[Md]=null,this[Zl]="begin",this[Bh]="",this[$l]=null,this[z1]=null,this[Ud]=!1,this[Ra]=null,this[vh]=!1,this[Rx]=!1,this[Fx]=!1,typeof e.onwarn=="function"&&this.on("warn",e.onwarn),typeof e.onentry=="function"&&this.on("entry",e.onentry)}[fAe](e,r){this[Hd]===null&&(this[Hd]=!1);let o;try{o=new vlt(e,r,this[$l],this[z1])}catch(a){return this.warn("TAR_ENTRY_INVALID",a)}if(o.nullBlock)this[Rx]?(this[Fx]=!0,this[Zl]==="begin"&&(this[Zl]="header"),this[_d]("eof")):(this[Rx]=!0,this[_d]("nullBlock"));else if(this[Rx]=!1,!o.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:o});else if(!o.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:o});else{let a=o.type;if(/^(Symbolic)?Link$/.test(a)&&!o.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:o});else if(!/^(Symbolic)?Link$/.test(a)&&o.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:o});else{let n=this[Md]=new blt(o,this[$l],this[z1]);if(!this[Hd])if(n.remain){let u=()=>{n.invalid||(this[Hd]=!0)};n.on("end",u)}else this[Hd]=!0;n.meta?n.size>this.maxMetaEntrySize?(n.ignore=!0,this[_d]("ignoredEntry",n),this[Zl]="ignore",n.resume()):n.size>0&&(this[Bh]="",n.on("data",u=>this[Bh]+=u),this[Zl]="meta"):(this[$l]=null,n.ignore=n.ignore||!this.filter(n.path,n),n.ignore?(this[_d]("ignoredEntry",n),this[Zl]=n.remain?"ignore":"header",n.resume()):(n.remain?this[Zl]="body":(this[Zl]="header",n.end()),this[jf]?this[Yf].push(n):(this[Yf].push(n),this[k3]())))}}}[lAe](e){let r=!0;return e?Array.isArray(e)?this.emit.apply(this,e):(this[jf]=e,this.emit("entry",e),e.emittedEnd||(e.on("end",o=>this[k3]()),r=!1)):(this[jf]=null,r=!1),r}[k3](){do;while(this[lAe](this[Yf].shift()));if(!this[Yf].length){let e=this[jf];!e||e.flowing||e.size===e.remain?this[J1]||this.emit("drain"):e.once("drain",o=>this.emit("drain"))}}[Q3](e,r){let o=this[Md],a=o.blockRemain,n=a>=e.length&&r===0?e:e.slice(r,r+a);return o.write(n),o.blockRemain||(this[Zl]="header",this[Md]=null,o.end()),n.length}[AAe](e,r){let o=this[Md],a=this[Q3](e,r);return this[Md]||this[cAe](o),a}[_d](e,r,o){!this[Yf].length&&!this[jf]?this.emit(e,r,o):this[Yf].push([e,r,o])}[cAe](e){switch(this[_d]("meta",this[Bh]),e.type){case"ExtendedHeader":case"OldExtendedHeader":this[$l]=aAe.parse(this[Bh],this[$l],!1);break;case"GlobalExtendedHeader":this[z1]=aAe.parse(this[Bh],this[z1],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":this[$l]=this[$l]||Object.create(null),this[$l].path=this[Bh].replace(/\0.*/,"");break;case"NextFileHasLongLinkpath":this[$l]=this[$l]||Object.create(null),this[$l].linkpath=this[Bh].replace(/\0.*/,"");break;default:throw new Error("unknown meta: "+e.type)}}abort(e){this[vh]=!0,this.emit("abort",e),this.warn("TAR_ABORT",e,{recoverable:!1})}write(e){if(this[vh])return;if(this[Ra]===null&&e){if(this[fi]&&(e=Buffer.concat([this[fi],e]),this[fi]=null),e.lengththis[bx](n)),this[Ra].on("error",n=>this.abort(n)),this[Ra].on("end",n=>{this[Ud]=!0,this[bx]()}),this[J1]=!0;let a=this[Ra][o?"end":"write"](e);return this[J1]=!1,a}}this[J1]=!0,this[Ra]?this[Ra].write(e):this[bx](e),this[J1]=!1;let r=this[Yf].length?!1:this[jf]?this[jf].flowing:!0;return!r&&!this[Yf].length&&this[jf].once("drain",o=>this.emit("drain")),r}[R3](e){e&&!this[vh]&&(this[fi]=this[fi]?Buffer.concat([this[fi],e]):e)}[F3](){if(this[Ud]&&!this[uAe]&&!this[vh]&&!this[kx]){this[uAe]=!0;let e=this[Md];if(e&&e.blockRemain){let r=this[fi]?this[fi].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${e.blockRemain} more bytes, only ${r} available)`,{entry:e}),this[fi]&&e.write(this[fi]),e.end()}this[_d](Qx)}}[bx](e){if(this[kx])this[R3](e);else if(!e&&!this[fi])this[F3]();else{if(this[kx]=!0,this[fi]){this[R3](e);let r=this[fi];this[fi]=null,this[xx](r)}else this[xx](e);for(;this[fi]&&this[fi].length>=512&&!this[vh]&&!this[Fx];){let r=this[fi];this[fi]=null,this[xx](r)}this[kx]=!1}(!this[fi]||this[Ud])&&this[F3]()}[xx](e){let r=0,o=e.length;for(;r+512<=o&&!this[vh]&&!this[Fx];)switch(this[Zl]){case"begin":case"header":this[fAe](e,r),r+=512;break;case"ignore":case"body":r+=this[Q3](e,r);break;case"meta":r+=this[AAe](e,r);break;default:throw new Error("invalid state: "+this[Zl])}r{"use strict";var Qlt=LE(),gAe=Tx(),$E=ve("fs"),Rlt=ZE(),hAe=ve("path"),T3=GE();mAe.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let o=Qlt(t);if(o.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!o.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&Tlt(o,e),o.noResume||Flt(o),o.file&&o.sync?Llt(o):o.file?Nlt(o,r):dAe(o)};var Flt=t=>{let e=t.onentry;t.onentry=e?r=>{e(r),r.resume()}:r=>r.resume()},Tlt=(t,e)=>{let r=new Map(e.map(n=>[T3(n),!0])),o=t.filter,a=(n,u)=>{let A=u||hAe.parse(n).root||".",p=n===A?!1:r.has(n)?r.get(n):a(hAe.dirname(n),A);return r.set(n,p),p};t.filter=o?(n,u)=>o(n,u)&&a(T3(n)):n=>a(T3(n))},Llt=t=>{let e=dAe(t),r=t.file,o=!0,a;try{let n=$E.statSync(r),u=t.maxReadSize||16*1024*1024;if(n.size{let r=new gAe(t),o=t.maxReadSize||16*1024*1024,a=t.file,n=new Promise((u,A)=>{r.on("error",A),r.on("end",u),$E.stat(a,(p,h)=>{if(p)A(p);else{let E=new Rlt.ReadStream(a,{readSize:o,size:h.size});E.on("error",A),E.pipe(r)}})});return e?n.then(e,e):n},dAe=t=>new gAe(t)});var BAe=_((pUt,IAe)=>{"use strict";var Olt=LE(),Nx=Cx(),yAe=ZE(),EAe=Lx(),CAe=ve("path");IAe.exports=(t,e,r)=>{if(typeof e=="function"&&(r=e),Array.isArray(t)&&(e=t,t={}),!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");e=Array.from(e);let o=Olt(t);if(o.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!o.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return o.file&&o.sync?Mlt(o,e):o.file?Ult(o,e,r):o.sync?_lt(o,e):Hlt(o,e)};var Mlt=(t,e)=>{let r=new Nx.Sync(t),o=new yAe.WriteStreamSync(t.file,{mode:t.mode||438});r.pipe(o),wAe(r,e)},Ult=(t,e,r)=>{let o=new Nx(t),a=new yAe.WriteStream(t.file,{mode:t.mode||438});o.pipe(a);let n=new Promise((u,A)=>{a.on("error",A),a.on("close",u),o.on("error",A)});return L3(o,e),r?n.then(r,r):n},wAe=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?EAe({file:CAe.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:o=>t.add(o)}):t.add(r)}),t.end()},L3=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return EAe({file:CAe.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:o=>t.add(o)}).then(o=>L3(t,e));t.add(r)}t.end()},_lt=(t,e)=>{let r=new Nx.Sync(t);return wAe(r,e),r},Hlt=(t,e)=>{let r=new Nx(t);return L3(r,e),r}});var N3=_((hUt,kAe)=>{"use strict";var qlt=LE(),vAe=Cx(),fl=ve("fs"),PAe=ZE(),DAe=Lx(),SAe=ve("path"),bAe=qE();kAe.exports=(t,e,r)=>{let o=qlt(t);if(!o.file)throw new TypeError("file is required");if(o.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),o.sync?Glt(o,e):Ylt(o,e,r)};var Glt=(t,e)=>{let r=new vAe.Sync(t),o=!0,a,n;try{try{a=fl.openSync(t.file,"r+")}catch(p){if(p.code==="ENOENT")a=fl.openSync(t.file,"w+");else throw p}let u=fl.fstatSync(a),A=Buffer.alloc(512);e:for(n=0;nu.size)break;n+=h,t.mtimeCache&&t.mtimeCache.set(p.path,p.mtime)}o=!1,jlt(t,r,n,a,e)}finally{if(o)try{fl.closeSync(a)}catch{}}},jlt=(t,e,r,o,a)=>{let n=new PAe.WriteStreamSync(t.file,{fd:o,start:r});e.pipe(n),Wlt(e,a)},Ylt=(t,e,r)=>{e=Array.from(e);let o=new vAe(t),a=(u,A,p)=>{let h=(C,F)=>{C?fl.close(u,N=>p(C)):p(null,F)},E=0;if(A===0)return h(null,0);let I=0,v=Buffer.alloc(512),x=(C,F)=>{if(C)return h(C);if(I+=F,I<512&&F)return fl.read(u,v,I,v.length-I,E+I,x);if(E===0&&v[0]===31&&v[1]===139)return h(new Error("cannot append to compressed archives"));if(I<512)return h(null,E);let N=new bAe(v);if(!N.cksumValid)return h(null,E);let U=512*Math.ceil(N.size/512);if(E+U+512>A||(E+=U+512,E>=A))return h(null,E);t.mtimeCache&&t.mtimeCache.set(N.path,N.mtime),I=0,fl.read(u,v,0,512,E,x)};fl.read(u,v,0,512,E,x)},n=new Promise((u,A)=>{o.on("error",A);let p="r+",h=(E,I)=>{if(E&&E.code==="ENOENT"&&p==="r+")return p="w+",fl.open(t.file,p,h);if(E)return A(E);fl.fstat(I,(v,x)=>{if(v)return fl.close(I,()=>A(v));a(I,x.size,(C,F)=>{if(C)return A(C);let N=new PAe.WriteStream(t.file,{fd:I,start:F});o.pipe(N),N.on("error",A),N.on("close",u),xAe(o,e)})})};fl.open(t.file,p,h)});return r?n.then(r,r):n},Wlt=(t,e)=>{e.forEach(r=>{r.charAt(0)==="@"?DAe({file:SAe.resolve(t.cwd,r.substr(1)),sync:!0,noResume:!0,onentry:o=>t.add(o)}):t.add(r)}),t.end()},xAe=(t,e)=>{for(;e.length;){let r=e.shift();if(r.charAt(0)==="@")return DAe({file:SAe.resolve(t.cwd,r.substr(1)),noResume:!0,onentry:o=>t.add(o)}).then(o=>xAe(t,e));t.add(r)}t.end()}});var RAe=_((gUt,QAe)=>{"use strict";var Klt=LE(),zlt=N3();QAe.exports=(t,e,r)=>{let o=Klt(t);if(!o.file)throw new TypeError("file is required");if(o.gzip)throw new TypeError("cannot append to compressed archives");if(!e||!Array.isArray(e)||!e.length)throw new TypeError("no files or directories specified");return e=Array.from(e),Jlt(o),zlt(o,e,r)};var Jlt=t=>{let e=t.filter;t.mtimeCache||(t.mtimeCache=new Map),t.filter=e?(r,o)=>e(r,o)&&!(t.mtimeCache.get(r)>o.mtime):(r,o)=>!(t.mtimeCache.get(r)>o.mtime)}});var LAe=_((dUt,TAe)=>{var{promisify:FAe}=ve("util"),Ph=ve("fs"),Vlt=t=>{if(!t)t={mode:511,fs:Ph};else if(typeof t=="object")t={mode:511,fs:Ph,...t};else if(typeof t=="number")t={mode:t,fs:Ph};else if(typeof t=="string")t={mode:parseInt(t,8),fs:Ph};else throw new TypeError("invalid options argument");return t.mkdir=t.mkdir||t.fs.mkdir||Ph.mkdir,t.mkdirAsync=FAe(t.mkdir),t.stat=t.stat||t.fs.stat||Ph.stat,t.statAsync=FAe(t.stat),t.statSync=t.statSync||t.fs.statSync||Ph.statSync,t.mkdirSync=t.mkdirSync||t.fs.mkdirSync||Ph.mkdirSync,t};TAe.exports=Vlt});var OAe=_((mUt,NAe)=>{var Xlt=process.platform,{resolve:Zlt,parse:$lt}=ve("path"),ect=t=>{if(/\0/.test(t))throw Object.assign(new TypeError("path must be a string without null bytes"),{path:t,code:"ERR_INVALID_ARG_VALUE"});if(t=Zlt(t),Xlt==="win32"){let e=/[*|"<>?:]/,{root:r}=$lt(t);if(e.test(t.substr(r.length)))throw Object.assign(new Error("Illegal characters in path."),{path:t,code:"EINVAL"})}return t};NAe.exports=ect});var qAe=_((yUt,HAe)=>{var{dirname:MAe}=ve("path"),UAe=(t,e,r=void 0)=>r===e?Promise.resolve():t.statAsync(e).then(o=>o.isDirectory()?r:void 0,o=>o.code==="ENOENT"?UAe(t,MAe(e),e):void 0),_Ae=(t,e,r=void 0)=>{if(r!==e)try{return t.statSync(e).isDirectory()?r:void 0}catch(o){return o.code==="ENOENT"?_Ae(t,MAe(e),e):void 0}};HAe.exports={findMade:UAe,findMadeSync:_Ae}});var U3=_((EUt,jAe)=>{var{dirname:GAe}=ve("path"),O3=(t,e,r)=>{e.recursive=!1;let o=GAe(t);return o===t?e.mkdirAsync(t,e).catch(a=>{if(a.code!=="EISDIR")throw a}):e.mkdirAsync(t,e).then(()=>r||t,a=>{if(a.code==="ENOENT")return O3(o,e).then(n=>O3(t,e,n));if(a.code!=="EEXIST"&&a.code!=="EROFS")throw a;return e.statAsync(t).then(n=>{if(n.isDirectory())return r;throw a},()=>{throw a})})},M3=(t,e,r)=>{let o=GAe(t);if(e.recursive=!1,o===t)try{return e.mkdirSync(t,e)}catch(a){if(a.code!=="EISDIR")throw a;return}try{return e.mkdirSync(t,e),r||t}catch(a){if(a.code==="ENOENT")return M3(t,e,M3(o,e,r));if(a.code!=="EEXIST"&&a.code!=="EROFS")throw a;try{if(!e.statSync(t).isDirectory())throw a}catch{throw a}}};jAe.exports={mkdirpManual:O3,mkdirpManualSync:M3}});var KAe=_((CUt,WAe)=>{var{dirname:YAe}=ve("path"),{findMade:tct,findMadeSync:rct}=qAe(),{mkdirpManual:nct,mkdirpManualSync:ict}=U3(),sct=(t,e)=>(e.recursive=!0,YAe(t)===t?e.mkdirAsync(t,e):tct(e,t).then(o=>e.mkdirAsync(t,e).then(()=>o).catch(a=>{if(a.code==="ENOENT")return nct(t,e);throw a}))),oct=(t,e)=>{if(e.recursive=!0,YAe(t)===t)return e.mkdirSync(t,e);let o=rct(e,t);try{return e.mkdirSync(t,e),o}catch(a){if(a.code==="ENOENT")return ict(t,e);throw a}};WAe.exports={mkdirpNative:sct,mkdirpNativeSync:oct}});var XAe=_((wUt,VAe)=>{var zAe=ve("fs"),act=process.version,_3=act.replace(/^v/,"").split("."),JAe=+_3[0]>10||+_3[0]==10&&+_3[1]>=12,lct=JAe?t=>t.mkdir===zAe.mkdir:()=>!1,cct=JAe?t=>t.mkdirSync===zAe.mkdirSync:()=>!1;VAe.exports={useNative:lct,useNativeSync:cct}});var nfe=_((IUt,rfe)=>{var eC=LAe(),tC=OAe(),{mkdirpNative:ZAe,mkdirpNativeSync:$Ae}=KAe(),{mkdirpManual:efe,mkdirpManualSync:tfe}=U3(),{useNative:uct,useNativeSync:Act}=XAe(),rC=(t,e)=>(t=tC(t),e=eC(e),uct(e)?ZAe(t,e):efe(t,e)),fct=(t,e)=>(t=tC(t),e=eC(e),Act(e)?$Ae(t,e):tfe(t,e));rC.sync=fct;rC.native=(t,e)=>ZAe(tC(t),eC(e));rC.manual=(t,e)=>efe(tC(t),eC(e));rC.nativeSync=(t,e)=>$Ae(tC(t),eC(e));rC.manualSync=(t,e)=>tfe(tC(t),eC(e));rfe.exports=rC});var ufe=_((BUt,cfe)=>{"use strict";var ec=ve("fs"),qd=ve("path"),pct=ec.lchown?"lchown":"chown",hct=ec.lchownSync?"lchownSync":"chownSync",sfe=ec.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),ife=(t,e,r)=>{try{return ec[hct](t,e,r)}catch(o){if(o.code!=="ENOENT")throw o}},gct=(t,e,r)=>{try{return ec.chownSync(t,e,r)}catch(o){if(o.code!=="ENOENT")throw o}},dct=sfe?(t,e,r,o)=>a=>{!a||a.code!=="EISDIR"?o(a):ec.chown(t,e,r,o)}:(t,e,r,o)=>o,H3=sfe?(t,e,r)=>{try{return ife(t,e,r)}catch(o){if(o.code!=="EISDIR")throw o;gct(t,e,r)}}:(t,e,r)=>ife(t,e,r),mct=process.version,ofe=(t,e,r)=>ec.readdir(t,e,r),yct=(t,e)=>ec.readdirSync(t,e);/^v4\./.test(mct)&&(ofe=(t,e,r)=>ec.readdir(t,r));var Ox=(t,e,r,o)=>{ec[pct](t,e,r,dct(t,e,r,a=>{o(a&&a.code!=="ENOENT"?a:null)}))},afe=(t,e,r,o,a)=>{if(typeof e=="string")return ec.lstat(qd.resolve(t,e),(n,u)=>{if(n)return a(n.code!=="ENOENT"?n:null);u.name=e,afe(t,u,r,o,a)});if(e.isDirectory())q3(qd.resolve(t,e.name),r,o,n=>{if(n)return a(n);let u=qd.resolve(t,e.name);Ox(u,r,o,a)});else{let n=qd.resolve(t,e.name);Ox(n,r,o,a)}},q3=(t,e,r,o)=>{ofe(t,{withFileTypes:!0},(a,n)=>{if(a){if(a.code==="ENOENT")return o();if(a.code!=="ENOTDIR"&&a.code!=="ENOTSUP")return o(a)}if(a||!n.length)return Ox(t,e,r,o);let u=n.length,A=null,p=h=>{if(!A){if(h)return o(A=h);if(--u===0)return Ox(t,e,r,o)}};n.forEach(h=>afe(t,h,e,r,p))})},Ect=(t,e,r,o)=>{if(typeof e=="string")try{let a=ec.lstatSync(qd.resolve(t,e));a.name=e,e=a}catch(a){if(a.code==="ENOENT")return;throw a}e.isDirectory()&&lfe(qd.resolve(t,e.name),r,o),H3(qd.resolve(t,e.name),r,o)},lfe=(t,e,r)=>{let o;try{o=yct(t,{withFileTypes:!0})}catch(a){if(a.code==="ENOENT")return;if(a.code==="ENOTDIR"||a.code==="ENOTSUP")return H3(t,e,r);throw a}return o&&o.length&&o.forEach(a=>Ect(t,a,e,r)),H3(t,e,r)};cfe.exports=q3;q3.sync=lfe});var hfe=_((vUt,G3)=>{"use strict";var Afe=nfe(),tc=ve("fs"),Mx=ve("path"),ffe=ufe(),Kc=_E(),Ux=class extends Error{constructor(e,r){super("Cannot extract through symbolic link"),this.path=r,this.symlink=e}get name(){return"SylinkError"}},_x=class extends Error{constructor(e,r){super(r+": Cannot cd into '"+e+"'"),this.path=e,this.code=r}get name(){return"CwdError"}},Hx=(t,e)=>t.get(Kc(e)),V1=(t,e,r)=>t.set(Kc(e),r),Cct=(t,e)=>{tc.stat(t,(r,o)=>{(r||!o.isDirectory())&&(r=new _x(t,r&&r.code||"ENOTDIR")),e(r)})};G3.exports=(t,e,r)=>{t=Kc(t);let o=e.umask,a=e.mode|448,n=(a&o)!==0,u=e.uid,A=e.gid,p=typeof u=="number"&&typeof A=="number"&&(u!==e.processUid||A!==e.processGid),h=e.preserve,E=e.unlink,I=e.cache,v=Kc(e.cwd),x=(N,U)=>{N?r(N):(V1(I,t,!0),U&&p?ffe(U,u,A,J=>x(J)):n?tc.chmod(t,a,r):r())};if(I&&Hx(I,t)===!0)return x();if(t===v)return Cct(t,x);if(h)return Afe(t,{mode:a}).then(N=>x(null,N),x);let F=Kc(Mx.relative(v,t)).split("/");qx(v,F,a,I,E,v,null,x)};var qx=(t,e,r,o,a,n,u,A)=>{if(!e.length)return A(null,u);let p=e.shift(),h=Kc(Mx.resolve(t+"/"+p));if(Hx(o,h))return qx(h,e,r,o,a,n,u,A);tc.mkdir(h,r,pfe(h,e,r,o,a,n,u,A))},pfe=(t,e,r,o,a,n,u,A)=>p=>{p?tc.lstat(t,(h,E)=>{if(h)h.path=h.path&&Kc(h.path),A(h);else if(E.isDirectory())qx(t,e,r,o,a,n,u,A);else if(a)tc.unlink(t,I=>{if(I)return A(I);tc.mkdir(t,r,pfe(t,e,r,o,a,n,u,A))});else{if(E.isSymbolicLink())return A(new Ux(t,t+"/"+e.join("/")));A(p)}}):(u=u||t,qx(t,e,r,o,a,n,u,A))},wct=t=>{let e=!1,r="ENOTDIR";try{e=tc.statSync(t).isDirectory()}catch(o){r=o.code}finally{if(!e)throw new _x(t,r)}};G3.exports.sync=(t,e)=>{t=Kc(t);let r=e.umask,o=e.mode|448,a=(o&r)!==0,n=e.uid,u=e.gid,A=typeof n=="number"&&typeof u=="number"&&(n!==e.processUid||u!==e.processGid),p=e.preserve,h=e.unlink,E=e.cache,I=Kc(e.cwd),v=N=>{V1(E,t,!0),N&&A&&ffe.sync(N,n,u),a&&tc.chmodSync(t,o)};if(E&&Hx(E,t)===!0)return v();if(t===I)return wct(I),v();if(p)return v(Afe.sync(t,o));let C=Kc(Mx.relative(I,t)).split("/"),F=null;for(let N=C.shift(),U=I;N&&(U+="/"+N);N=C.shift())if(U=Kc(Mx.resolve(U)),!Hx(E,U))try{tc.mkdirSync(U,o),F=F||U,V1(E,U,!0)}catch{let te=tc.lstatSync(U);if(te.isDirectory()){V1(E,U,!0);continue}else if(h){tc.unlinkSync(U),tc.mkdirSync(U,o),F=F||U,V1(E,U,!0);continue}else if(te.isSymbolicLink())return new Ux(U,U+"/"+C.join("/"))}return v(F)}});var Y3=_((PUt,gfe)=>{var j3=Object.create(null),{hasOwnProperty:Ict}=Object.prototype;gfe.exports=t=>(Ict.call(j3,t)||(j3[t]=t.normalize("NFKD")),j3[t])});var Efe=_((DUt,yfe)=>{var dfe=ve("assert"),Bct=Y3(),vct=GE(),{join:mfe}=ve("path"),Pct=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,Dct=Pct==="win32";yfe.exports=()=>{let t=new Map,e=new Map,r=h=>h.split("/").slice(0,-1).reduce((I,v)=>(I.length&&(v=mfe(I[I.length-1],v)),I.push(v||"/"),I),[]),o=new Set,a=h=>{let E=e.get(h);if(!E)throw new Error("function does not have any path reservations");return{paths:E.paths.map(I=>t.get(I)),dirs:[...E.dirs].map(I=>t.get(I))}},n=h=>{let{paths:E,dirs:I}=a(h);return E.every(v=>v[0]===h)&&I.every(v=>v[0]instanceof Set&&v[0].has(h))},u=h=>o.has(h)||!n(h)?!1:(o.add(h),h(()=>A(h)),!0),A=h=>{if(!o.has(h))return!1;let{paths:E,dirs:I}=e.get(h),v=new Set;return E.forEach(x=>{let C=t.get(x);dfe.equal(C[0],h),C.length===1?t.delete(x):(C.shift(),typeof C[0]=="function"?v.add(C[0]):C[0].forEach(F=>v.add(F)))}),I.forEach(x=>{let C=t.get(x);dfe(C[0]instanceof Set),C[0].size===1&&C.length===1?t.delete(x):C[0].size===1?(C.shift(),v.add(C[0])):C[0].delete(h)}),o.delete(h),v.forEach(x=>u(x)),!0};return{check:n,reserve:(h,E)=>{h=Dct?["win32 parallelization disabled"]:h.map(v=>Bct(vct(mfe(v))).toLowerCase());let I=new Set(h.map(v=>r(v)).reduce((v,x)=>v.concat(x)));return e.set(E,{dirs:I,paths:h}),h.forEach(v=>{let x=t.get(v);x?x.push(E):t.set(v,[E])}),I.forEach(v=>{let x=t.get(v);x?x[x.length-1]instanceof Set?x[x.length-1].add(E):x.push(new Set([E])):t.set(v,[new Set([E])])}),u(E)}}}});var Ife=_((SUt,wfe)=>{var Sct=process.platform,bct=Sct==="win32",xct=global.__FAKE_TESTING_FS__||ve("fs"),{O_CREAT:kct,O_TRUNC:Qct,O_WRONLY:Rct,UV_FS_O_FILEMAP:Cfe=0}=xct.constants,Fct=bct&&!!Cfe,Tct=512*1024,Lct=Cfe|Qct|kct|Rct;wfe.exports=Fct?t=>t"w"});var e_=_((bUt,Nfe)=>{"use strict";var Nct=ve("assert"),Oct=Tx(),vn=ve("fs"),Mct=ZE(),Wf=ve("path"),Ffe=hfe(),Bfe=e3(),Uct=Efe(),_ct=t3(),pl=_E(),Hct=GE(),qct=Y3(),vfe=Symbol("onEntry"),z3=Symbol("checkFs"),Pfe=Symbol("checkFs2"),Yx=Symbol("pruneCache"),J3=Symbol("isReusable"),rc=Symbol("makeFs"),V3=Symbol("file"),X3=Symbol("directory"),Wx=Symbol("link"),Dfe=Symbol("symlink"),Sfe=Symbol("hardlink"),bfe=Symbol("unsupported"),xfe=Symbol("checkPath"),Dh=Symbol("mkdir"),Fo=Symbol("onError"),Gx=Symbol("pending"),kfe=Symbol("pend"),nC=Symbol("unpend"),W3=Symbol("ended"),K3=Symbol("maybeClose"),Z3=Symbol("skip"),X1=Symbol("doChown"),Z1=Symbol("uid"),$1=Symbol("gid"),e2=Symbol("checkedCwd"),Tfe=ve("crypto"),Lfe=Ife(),Gct=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,t2=Gct==="win32",jct=(t,e)=>{if(!t2)return vn.unlink(t,e);let r=t+".DELETE."+Tfe.randomBytes(16).toString("hex");vn.rename(t,r,o=>{if(o)return e(o);vn.unlink(r,e)})},Yct=t=>{if(!t2)return vn.unlinkSync(t);let e=t+".DELETE."+Tfe.randomBytes(16).toString("hex");vn.renameSync(t,e),vn.unlinkSync(e)},Qfe=(t,e,r)=>t===t>>>0?t:e===e>>>0?e:r,Rfe=t=>qct(Hct(pl(t))).toLowerCase(),Wct=(t,e)=>{e=Rfe(e);for(let r of t.keys()){let o=Rfe(r);(o===e||o.indexOf(e+"/")===0)&&t.delete(r)}},Kct=t=>{for(let e of t.keys())t.delete(e)},r2=class extends Oct{constructor(e){if(e||(e={}),e.ondone=r=>{this[W3]=!0,this[K3]()},super(e),this[e2]=!1,this.reservations=Uct(),this.transform=typeof e.transform=="function"?e.transform:null,this.writable=!0,this.readable=!1,this[Gx]=0,this[W3]=!1,this.dirCache=e.dirCache||new Map,typeof e.uid=="number"||typeof e.gid=="number"){if(typeof e.uid!="number"||typeof e.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(e.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=e.uid,this.gid=e.gid,this.setOwner=!0}else this.uid=null,this.gid=null,this.setOwner=!1;e.preserveOwner===void 0&&typeof e.uid!="number"?this.preserveOwner=process.getuid&&process.getuid()===0:this.preserveOwner=!!e.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.forceChown=e.forceChown===!0,this.win32=!!e.win32||t2,this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=pl(Wf.resolve(e.cwd||process.cwd())),this.strip=+e.strip||0,this.processUmask=e.noChmod?0:process.umask(),this.umask=typeof e.umask=="number"?e.umask:this.processUmask,this.dmode=e.dmode||511&~this.umask,this.fmode=e.fmode||438&~this.umask,this.on("entry",r=>this[vfe](r))}warn(e,r,o={}){return(e==="TAR_BAD_ARCHIVE"||e==="TAR_ABORT")&&(o.recoverable=!1),super.warn(e,r,o)}[K3](){this[W3]&&this[Gx]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close"))}[xfe](e){if(this.strip){let r=pl(e.path).split("/");if(r.length=this.strip)e.linkpath=o.slice(this.strip).join("/");else return!1}}if(!this.preservePaths){let r=pl(e.path),o=r.split("/");if(o.includes("..")||t2&&/^[a-z]:\.\.$/i.test(o[0]))return this.warn("TAR_ENTRY_ERROR","path contains '..'",{entry:e,path:r}),!1;let[a,n]=_ct(r);a&&(e.path=n,this.warn("TAR_ENTRY_INFO",`stripping ${a} from absolute path`,{entry:e,path:r}))}if(Wf.isAbsolute(e.path)?e.absolute=pl(Wf.resolve(e.path)):e.absolute=pl(Wf.resolve(this.cwd,e.path)),!this.preservePaths&&e.absolute.indexOf(this.cwd+"/")!==0&&e.absolute!==this.cwd)return this.warn("TAR_ENTRY_ERROR","path escaped extraction target",{entry:e,path:pl(e.path),resolvedPath:e.absolute,cwd:this.cwd}),!1;if(e.absolute===this.cwd&&e.type!=="Directory"&&e.type!=="GNUDumpDir")return!1;if(this.win32){let{root:r}=Wf.win32.parse(e.absolute);e.absolute=r+Bfe.encode(e.absolute.substr(r.length));let{root:o}=Wf.win32.parse(e.path);e.path=o+Bfe.encode(e.path.substr(o.length))}return!0}[vfe](e){if(!this[xfe](e))return e.resume();switch(Nct.equal(typeof e.absolute,"string"),e.type){case"Directory":case"GNUDumpDir":e.mode&&(e.mode=e.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[z3](e);case"CharacterDevice":case"BlockDevice":case"FIFO":default:return this[bfe](e)}}[Fo](e,r){e.name==="CwdError"?this.emit("error",e):(this.warn("TAR_ENTRY_ERROR",e,{entry:r}),this[nC](),r.resume())}[Dh](e,r,o){Ffe(pl(e),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r,noChmod:this.noChmod},o)}[X1](e){return this.forceChown||this.preserveOwner&&(typeof e.uid=="number"&&e.uid!==this.processUid||typeof e.gid=="number"&&e.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[Z1](e){return Qfe(this.uid,e.uid,this.processUid)}[$1](e){return Qfe(this.gid,e.gid,this.processGid)}[V3](e,r){let o=e.mode&4095||this.fmode,a=new Mct.WriteStream(e.absolute,{flags:Lfe(e.size),mode:o,autoClose:!1});a.on("error",p=>{a.fd&&vn.close(a.fd,()=>{}),a.write=()=>!0,this[Fo](p,e),r()});let n=1,u=p=>{if(p){a.fd&&vn.close(a.fd,()=>{}),this[Fo](p,e),r();return}--n===0&&vn.close(a.fd,h=>{h?this[Fo](h,e):this[nC](),r()})};a.on("finish",p=>{let h=e.absolute,E=a.fd;if(e.mtime&&!this.noMtime){n++;let I=e.atime||new Date,v=e.mtime;vn.futimes(E,I,v,x=>x?vn.utimes(h,I,v,C=>u(C&&x)):u())}if(this[X1](e)){n++;let I=this[Z1](e),v=this[$1](e);vn.fchown(E,I,v,x=>x?vn.chown(h,I,v,C=>u(C&&x)):u())}u()});let A=this.transform&&this.transform(e)||e;A!==e&&(A.on("error",p=>{this[Fo](p,e),r()}),e.pipe(A)),A.pipe(a)}[X3](e,r){let o=e.mode&4095||this.dmode;this[Dh](e.absolute,o,a=>{if(a){this[Fo](a,e),r();return}let n=1,u=A=>{--n===0&&(r(),this[nC](),e.resume())};e.mtime&&!this.noMtime&&(n++,vn.utimes(e.absolute,e.atime||new Date,e.mtime,u)),this[X1](e)&&(n++,vn.chown(e.absolute,this[Z1](e),this[$1](e),u)),u()})}[bfe](e){e.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${e.type}`,{entry:e}),e.resume()}[Dfe](e,r){this[Wx](e,e.linkpath,"symlink",r)}[Sfe](e,r){let o=pl(Wf.resolve(this.cwd,e.linkpath));this[Wx](e,o,"link",r)}[kfe](){this[Gx]++}[nC](){this[Gx]--,this[K3]()}[Z3](e){this[nC](),e.resume()}[J3](e,r){return e.type==="File"&&!this.unlink&&r.isFile()&&r.nlink<=1&&!t2}[z3](e){this[kfe]();let r=[e.path];e.linkpath&&r.push(e.linkpath),this.reservations.reserve(r,o=>this[Pfe](e,o))}[Yx](e){e.type==="SymbolicLink"?Kct(this.dirCache):e.type!=="Directory"&&Wct(this.dirCache,e.absolute)}[Pfe](e,r){this[Yx](e);let o=A=>{this[Yx](e),r(A)},a=()=>{this[Dh](this.cwd,this.dmode,A=>{if(A){this[Fo](A,e),o();return}this[e2]=!0,n()})},n=()=>{if(e.absolute!==this.cwd){let A=pl(Wf.dirname(e.absolute));if(A!==this.cwd)return this[Dh](A,this.dmode,p=>{if(p){this[Fo](p,e),o();return}u()})}u()},u=()=>{vn.lstat(e.absolute,(A,p)=>{if(p&&(this.keep||this.newer&&p.mtime>e.mtime)){this[Z3](e),o();return}if(A||this[J3](e,p))return this[rc](null,e,o);if(p.isDirectory()){if(e.type==="Directory"){let h=!this.noChmod&&e.mode&&(p.mode&4095)!==e.mode,E=I=>this[rc](I,e,o);return h?vn.chmod(e.absolute,e.mode,E):E()}if(e.absolute!==this.cwd)return vn.rmdir(e.absolute,h=>this[rc](h,e,o))}if(e.absolute===this.cwd)return this[rc](null,e,o);jct(e.absolute,h=>this[rc](h,e,o))})};this[e2]?n():a()}[rc](e,r,o){if(e){this[Fo](e,r),o();return}switch(r.type){case"File":case"OldFile":case"ContiguousFile":return this[V3](r,o);case"Link":return this[Sfe](r,o);case"SymbolicLink":return this[Dfe](r,o);case"Directory":case"GNUDumpDir":return this[X3](r,o)}}[Wx](e,r,o,a){vn[o](r,e.absolute,n=>{n?this[Fo](n,e):(this[nC](),e.resume()),a()})}},jx=t=>{try{return[null,t()]}catch(e){return[e,null]}},$3=class extends r2{[rc](e,r){return super[rc](e,r,()=>{})}[z3](e){if(this[Yx](e),!this[e2]){let n=this[Dh](this.cwd,this.dmode);if(n)return this[Fo](n,e);this[e2]=!0}if(e.absolute!==this.cwd){let n=pl(Wf.dirname(e.absolute));if(n!==this.cwd){let u=this[Dh](n,this.dmode);if(u)return this[Fo](u,e)}}let[r,o]=jx(()=>vn.lstatSync(e.absolute));if(o&&(this.keep||this.newer&&o.mtime>e.mtime))return this[Z3](e);if(r||this[J3](e,o))return this[rc](null,e);if(o.isDirectory()){if(e.type==="Directory"){let u=!this.noChmod&&e.mode&&(o.mode&4095)!==e.mode,[A]=u?jx(()=>{vn.chmodSync(e.absolute,e.mode)}):[];return this[rc](A,e)}let[n]=jx(()=>vn.rmdirSync(e.absolute));this[rc](n,e)}let[a]=e.absolute===this.cwd?[]:jx(()=>Yct(e.absolute));this[rc](a,e)}[V3](e,r){let o=e.mode&4095||this.fmode,a=A=>{let p;try{vn.closeSync(n)}catch(h){p=h}(A||p)&&this[Fo](A||p,e),r()},n;try{n=vn.openSync(e.absolute,Lfe(e.size),o)}catch(A){return a(A)}let u=this.transform&&this.transform(e)||e;u!==e&&(u.on("error",A=>this[Fo](A,e)),e.pipe(u)),u.on("data",A=>{try{vn.writeSync(n,A,0,A.length)}catch(p){a(p)}}),u.on("end",A=>{let p=null;if(e.mtime&&!this.noMtime){let h=e.atime||new Date,E=e.mtime;try{vn.futimesSync(n,h,E)}catch(I){try{vn.utimesSync(e.absolute,h,E)}catch{p=I}}}if(this[X1](e)){let h=this[Z1](e),E=this[$1](e);try{vn.fchownSync(n,h,E)}catch(I){try{vn.chownSync(e.absolute,h,E)}catch{p=p||I}}}a(p)})}[X3](e,r){let o=e.mode&4095||this.dmode,a=this[Dh](e.absolute,o);if(a){this[Fo](a,e),r();return}if(e.mtime&&!this.noMtime)try{vn.utimesSync(e.absolute,e.atime||new Date,e.mtime)}catch{}if(this[X1](e))try{vn.chownSync(e.absolute,this[Z1](e),this[$1](e))}catch{}r(),e.resume()}[Dh](e,r){try{return Ffe.sync(pl(e),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:r})}catch(o){return o}}[Wx](e,r,o,a){try{vn[o+"Sync"](r,e.absolute),a(),e.resume()}catch(n){return this[Fo](n,e)}}};r2.Sync=$3;Nfe.exports=r2});var Hfe=_((xUt,_fe)=>{"use strict";var zct=LE(),Kx=e_(),Mfe=ve("fs"),Ufe=ZE(),Ofe=ve("path"),t_=GE();_fe.exports=(t,e,r)=>{typeof t=="function"?(r=t,e=null,t={}):Array.isArray(t)&&(e=t,t={}),typeof e=="function"&&(r=e,e=null),e?e=Array.from(e):e=[];let o=zct(t);if(o.sync&&typeof r=="function")throw new TypeError("callback not supported for sync tar functions");if(!o.file&&typeof r=="function")throw new TypeError("callback only supported with file option");return e.length&&Jct(o,e),o.file&&o.sync?Vct(o):o.file?Xct(o,r):o.sync?Zct(o):$ct(o)};var Jct=(t,e)=>{let r=new Map(e.map(n=>[t_(n),!0])),o=t.filter,a=(n,u)=>{let A=u||Ofe.parse(n).root||".",p=n===A?!1:r.has(n)?r.get(n):a(Ofe.dirname(n),A);return r.set(n,p),p};t.filter=o?(n,u)=>o(n,u)&&a(t_(n)):n=>a(t_(n))},Vct=t=>{let e=new Kx.Sync(t),r=t.file,o=Mfe.statSync(r),a=t.maxReadSize||16*1024*1024;new Ufe.ReadStreamSync(r,{readSize:a,size:o.size}).pipe(e)},Xct=(t,e)=>{let r=new Kx(t),o=t.maxReadSize||16*1024*1024,a=t.file,n=new Promise((u,A)=>{r.on("error",A),r.on("close",u),Mfe.stat(a,(p,h)=>{if(p)A(p);else{let E=new Ufe.ReadStream(a,{readSize:o,size:h.size});E.on("error",A),E.pipe(r)}})});return e?n.then(e,e):n},Zct=t=>new Kx.Sync(t),$ct=t=>new Kx(t)});var qfe=_(As=>{"use strict";As.c=As.create=BAe();As.r=As.replace=N3();As.t=As.list=Lx();As.u=As.update=RAe();As.x=As.extract=Hfe();As.Pack=Cx();As.Unpack=e_();As.Parse=Tx();As.ReadEntry=nx();As.WriteEntry=A3();As.Header=qE();As.Pax=sx();As.types=KU()});var r_,Gfe,Sh,n2,i2,jfe=Et(()=>{r_=Ze(sd()),Gfe=ve("worker_threads"),Sh=Symbol("kTaskInfo"),n2=class{constructor(e,r){this.fn=e;this.limit=(0,r_.default)(r.poolSize)}run(e){return this.limit(()=>this.fn(e))}},i2=class{constructor(e,r){this.source=e;this.workers=[];this.limit=(0,r_.default)(r.poolSize),this.cleanupInterval=setInterval(()=>{if(this.limit.pendingCount===0&&this.limit.activeCount===0){let o=this.workers.pop();o?o.terminate():clearInterval(this.cleanupInterval)}},5e3).unref()}createWorker(){this.cleanupInterval.refresh();let e=new Gfe.Worker(this.source,{eval:!0,execArgv:[...process.execArgv,"--unhandled-rejections=strict"]});return e.on("message",r=>{if(!e[Sh])throw new Error("Assertion failed: Worker sent a result without having a task assigned");e[Sh].resolve(r),e[Sh]=null,e.unref(),this.workers.push(e)}),e.on("error",r=>{e[Sh]?.reject(r),e[Sh]=null}),e.on("exit",r=>{r!==0&&e[Sh]?.reject(new Error(`Worker exited with code ${r}`)),e[Sh]=null}),e}run(e){return this.limit(()=>{let r=this.workers.pop()??this.createWorker();return r.ref(),new Promise((o,a)=>{r[Sh]={resolve:o,reject:a},r.postMessage(e)})})}}});var Wfe=_((FUt,Yfe)=>{var n_;Yfe.exports.getContent=()=>(typeof n_>"u"&&(n_=ve("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),n_)});var Zi={};zt(Zi,{convertToZip:()=>nut,convertToZipWorker:()=>o_,extractArchiveTo:()=>Xfe,getDefaultTaskPool:()=>Jfe,getTaskPoolForConfiguration:()=>Vfe,makeArchiveFromDirectory:()=>rut});function eut(t,e){switch(t){case"async":return new n2(o_,{poolSize:e});case"workers":return new i2((0,s_.getContent)(),{poolSize:e});default:throw new Error(`Assertion failed: Unknown value ${t} for taskPoolMode`)}}function Jfe(){return typeof i_>"u"&&(i_=eut("workers",Vi.availableParallelism())),i_}function Vfe(t){return typeof t>"u"?Jfe():al(tut,t,()=>{let e=t.get("taskPoolMode"),r=t.get("taskPoolConcurrency");switch(e){case"async":return new n2(o_,{poolSize:r});case"workers":return new i2((0,s_.getContent)(),{poolSize:r});default:throw new Error(`Assertion failed: Unknown value ${e} for taskPoolMode`)}})}async function o_(t){let{tmpFile:e,tgz:r,compressionLevel:o,extractBufferOpts:a}=t,n=new Xi(e,{create:!0,level:o,stats:Ea.makeDefaultStats()}),u=Buffer.from(r.buffer,r.byteOffset,r.byteLength);return await Xfe(u,n,a),n.saveAndClose(),e}async function rut(t,{baseFs:e=new Tn,prefixPath:r=Bt.root,compressionLevel:o,inMemory:a=!1}={}){let n;if(a)n=new Xi(null,{level:o});else{let A=await oe.mktempPromise(),p=z.join(A,"archive.zip");n=new Xi(p,{create:!0,level:o})}let u=z.resolve(Bt.root,r);return await n.copyPromise(u,t,{baseFs:e,stableTime:!0,stableSort:!0}),n}async function nut(t,e={}){let r=await oe.mktempPromise(),o=z.join(r,"archive.zip"),a=e.compressionLevel??e.configuration?.get("compressionLevel")??"mixed",n={prefixPath:e.prefixPath,stripComponents:e.stripComponents};return await(e.taskPool??Vfe(e.configuration)).run({tmpFile:o,tgz:t,compressionLevel:a,extractBufferOpts:n}),new Xi(o,{level:e.compressionLevel})}async function*iut(t){let e=new zfe.default.Parse,r=new Kfe.PassThrough({objectMode:!0,autoDestroy:!0,emitClose:!0});e.on("entry",o=>{r.write(o)}),e.on("error",o=>{r.destroy(o)}),e.on("close",()=>{r.destroyed||r.end()}),e.end(t);for await(let o of r){let a=o;yield a,a.resume()}}async function Xfe(t,e,{stripComponents:r=0,prefixPath:o=Bt.dot}={}){function a(n){if(n.path[0]==="/")return!0;let u=n.path.split(/\//g);return!!(u.some(A=>A==="..")||u.length<=r)}for await(let n of iut(t)){if(a(n))continue;let u=z.normalize(ue.toPortablePath(n.path)).replace(/\/$/,"").split(/\//g);if(u.length<=r)continue;let A=u.slice(r).join("/"),p=z.join(o,A),h=420;switch((n.type==="Directory"||((n.mode??0)&73)!==0)&&(h|=73),n.type){case"Directory":e.mkdirpSync(z.dirname(p),{chmod:493,utimes:[vi.SAFE_TIME,vi.SAFE_TIME]}),e.mkdirSync(p,{mode:h}),e.utimesSync(p,vi.SAFE_TIME,vi.SAFE_TIME);break;case"OldFile":case"File":e.mkdirpSync(z.dirname(p),{chmod:493,utimes:[vi.SAFE_TIME,vi.SAFE_TIME]}),e.writeFileSync(p,await Wy(n),{mode:h}),e.utimesSync(p,vi.SAFE_TIME,vi.SAFE_TIME);break;case"SymbolicLink":e.mkdirpSync(z.dirname(p),{chmod:493,utimes:[vi.SAFE_TIME,vi.SAFE_TIME]}),e.symlinkSync(n.linkpath,p),e.lutimesSync(p,vi.SAFE_TIME,vi.SAFE_TIME);break}}return e}var Kfe,zfe,s_,i_,tut,Zfe=Et(()=>{je();Dt();iA();Kfe=ve("stream"),zfe=Ze(qfe());jfe();Gl();s_=Ze(Wfe());tut=new WeakMap});var epe=_((a_,$fe)=>{(function(t,e){typeof a_=="object"?$fe.exports=e():typeof define=="function"&&define.amd?define(e):t.treeify=e()})(a_,function(){function t(a,n){var u=n?"\u2514":"\u251C";return a?u+="\u2500 ":u+="\u2500\u2500\u2510",u}function e(a,n){var u=[];for(var A in a)!a.hasOwnProperty(A)||n&&typeof a[A]=="function"||u.push(A);return u}function r(a,n,u,A,p,h,E){var I="",v=0,x,C,F=A.slice(0);if(F.push([n,u])&&A.length>0&&(A.forEach(function(U,J){J>0&&(I+=(U[1]?" ":"\u2502")+" "),!C&&U[0]===n&&(C=!0)}),I+=t(a,u)+a,p&&(typeof n!="object"||n instanceof Date)&&(I+=": "+n),C&&(I+=" (circular ref.)"),E(I)),!C&&typeof n=="object"){var N=e(n,h);N.forEach(function(U){x=++v===N.length,r(U,n[U],x,F,p,h,E)})}}var o={};return o.asLines=function(a,n,u,A){var p=typeof u!="function"?u:!1;r(".",a,!1,[],n,p,A||u)},o.asTree=function(a,n,u){var A="";return r(".",a,!1,[],n,u,function(p){A+=p+` +`}),A},o})});var fs={};zt(fs,{emitList:()=>sut,emitTree:()=>ipe,treeNodeToJson:()=>npe,treeNodeToTreeify:()=>rpe});function rpe(t,{configuration:e}){let r={},o=0,a=(n,u)=>{let A=Array.isArray(n)?n.entries():Object.entries(n);for(let[p,h]of A){if(!h)continue;let{label:E,value:I,children:v}=h,x=[];typeof E<"u"&&x.push(yd(e,E,2)),typeof I<"u"&&x.push(Ut(e,I[0],I[1])),x.length===0&&x.push(yd(e,`${p}`,2));let C=x.join(": ").trim(),F=`\0${o++}\0`,N=u[`${F}${C}`]={};typeof v<"u"&&a(v,N)}};if(typeof t.children>"u")throw new Error("The root node must only contain children");return a(t.children,r),r}function npe(t){let e=r=>{if(typeof r.children>"u"){if(typeof r.value>"u")throw new Error("Assertion failed: Expected a value to be set if the children are missing");return Ed(r.value[0],r.value[1])}let o=Array.isArray(r.children)?r.children.entries():Object.entries(r.children??{}),a=Array.isArray(r.children)?[]:{};for(let[n,u]of o)u&&(a[out(n)]=e(u));return typeof r.value>"u"?a:{value:Ed(r.value[0],r.value[1]),children:a}};return e(t)}function sut(t,{configuration:e,stdout:r,json:o}){let a=t.map(n=>({value:n}));ipe({children:a},{configuration:e,stdout:r,json:o})}function ipe(t,{configuration:e,stdout:r,json:o,separators:a=0}){if(o){let u=Array.isArray(t.children)?t.children.values():Object.values(t.children??{});for(let A of u)A&&r.write(`${JSON.stringify(npe(A))} +`);return}let n=(0,tpe.asTree)(rpe(t,{configuration:e}),!1,!1);if(n=n.replace(/\0[0-9]+\0/g,""),a>=1&&(n=n.replace(/^([├└]─)/gm,`\u2502 +$1`).replace(/^│\n/,"")),a>=2)for(let u=0;u<2;++u)n=n.replace(/^([│ ].{2}[├│ ].{2}[^\n]+\n)(([│ ]).{2}[├└].{2}[^\n]*\n[│ ].{2}[│ ].{2}[├└]─)/gm,`$1$3 \u2502 +$2`).replace(/^│\n/,"");if(a>=3)throw new Error("Only the first two levels are accepted by treeUtils.emitTree");r.write(n)}function out(t){return typeof t=="string"?t.replace(/^\0[0-9]+\0/,""):t}var tpe,spe=Et(()=>{tpe=Ze(epe());jl()});function s2(t){let e=t.match(aut);if(!e?.groups)throw new Error("Assertion failed: Expected the checksum to match the requested pattern");let r=e.groups.cacheVersion?parseInt(e.groups.cacheVersion):null;return{cacheKey:e.groups.cacheKey??null,cacheVersion:r,cacheSpec:e.groups.cacheSpec??null,hash:e.groups.hash}}var ope,l_,c_,zx,Nr,aut,u_=Et(()=>{je();Dt();Dt();iA();ope=ve("crypto"),l_=Ze(ve("fs"));Wl();ih();Gl();So();c_=Ky(process.env.YARN_CACHE_CHECKPOINT_OVERRIDE??process.env.YARN_CACHE_VERSION_OVERRIDE??9),zx=Ky(process.env.YARN_CACHE_VERSION_OVERRIDE??10),Nr=class{constructor(e,{configuration:r,immutable:o=r.get("enableImmutableCache"),check:a=!1}){this.markedFiles=new Set;this.mutexes=new Map;this.cacheId=`-${(0,ope.randomBytes)(8).toString("hex")}.tmp`;this.configuration=r,this.cwd=e,this.immutable=o,this.check=a;let{cacheSpec:n,cacheKey:u}=Nr.getCacheKey(r);this.cacheSpec=n,this.cacheKey=u}static async find(e,{immutable:r,check:o}={}){let a=new Nr(e.get("cacheFolder"),{configuration:e,immutable:r,check:o});return await a.setup(),a}static getCacheKey(e){let r=e.get("compressionLevel"),o=r!=="mixed"?`c${r}`:"";return{cacheKey:[zx,o].join(""),cacheSpec:o}}get mirrorCwd(){if(!this.configuration.get("enableMirror"))return null;let e=`${this.configuration.get("globalFolder")}/cache`;return e!==this.cwd?e:null}getVersionFilename(e){return`${oE(e)}-${this.cacheKey}.zip`}getChecksumFilename(e,r){let a=s2(r).hash.slice(0,10);return`${oE(e)}-${a}.zip`}isChecksumCompatible(e){if(e===null)return!1;let{cacheVersion:r,cacheSpec:o}=s2(e);if(r===null||r{let de=new Xi,Be=z.join(Bt.root,nM(e));return de.mkdirSync(Be,{recursive:!0}),de.writeJsonSync(z.join(Be,dr.manifest),{name:rn(e),mocked:!0}),de},E=async(de,{isColdHit:Be,controlPath:Ee=null})=>{if(Ee===null&&u.unstablePackages?.has(e.locatorHash))return{isValid:!0,hash:null};let g=r&&!Be?s2(r).cacheKey:this.cacheKey,me=!u.skipIntegrityCheck||!r?`${g}/${await NS(de)}`:r;if(Ee!==null){let Ae=!u.skipIntegrityCheck||!r?`${this.cacheKey}/${await NS(Ee)}`:r;if(me!==Ae)throw new Vt(18,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}let Ce=null;switch(r!==null&&me!==r&&(this.check?Ce="throw":s2(r).cacheKey!==s2(me).cacheKey?Ce="update":Ce=this.configuration.get("checksumBehavior")),Ce){case null:case"update":return{isValid:!0,hash:me};case"ignore":return{isValid:!0,hash:r};case"reset":return{isValid:!1,hash:r};default:case"throw":throw new Vt(18,"The remote archive doesn't match the expected checksum")}},I=async de=>{if(!n)throw new Error(`Cache check required but no loader configured for ${qr(this.configuration,e)}`);let Be=await n(),Ee=Be.getRealPath();Be.saveAndClose(),await oe.chmodPromise(Ee,420);let g=await E(de,{controlPath:Ee,isColdHit:!1});if(!g.isValid)throw new Error("Assertion failed: Expected a valid checksum");return g.hash},v=async()=>{if(A===null||!await oe.existsPromise(A)){let de=await n(),Be=de.getRealPath();return de.saveAndClose(),{source:"loader",path:Be}}return{source:"mirror",path:A}},x=async()=>{if(!n)throw new Error(`Cache entry required but missing for ${qr(this.configuration,e)}`);if(this.immutable)throw new Vt(56,`Cache entry required but missing for ${qr(this.configuration,e)}`);let{path:de,source:Be}=await v(),{hash:Ee}=await E(de,{isColdHit:!0}),g=this.getLocatorPath(e,Ee),me=[];Be!=="mirror"&&A!==null&&me.push(async()=>{let Ae=`${A}${this.cacheId}`;await oe.copyFilePromise(de,Ae,l_.default.constants.COPYFILE_FICLONE),await oe.chmodPromise(Ae,420),await oe.renamePromise(Ae,A)}),(!u.mirrorWriteOnly||A===null)&&me.push(async()=>{let Ae=`${g}${this.cacheId}`;await oe.copyFilePromise(de,Ae,l_.default.constants.COPYFILE_FICLONE),await oe.chmodPromise(Ae,420),await oe.renamePromise(Ae,g)});let Ce=u.mirrorWriteOnly?A??g:g;return await Promise.all(me.map(Ae=>Ae())),[!1,Ce,Ee]},C=async()=>{let Be=(async()=>{let Ee=u.unstablePackages?.has(e.locatorHash),g=Ee||!r||this.isChecksumCompatible(r)?this.getLocatorPath(e,r):null,me=g!==null?this.markedFiles.has(g)||await p.existsPromise(g):!1,Ce=!!u.mockedPackages?.has(e.locatorHash)&&(!this.check||!me),Ae=Ce||me,ne=Ae?o:a;if(ne&&ne(),Ae){let Z=null,xe=g;if(!Ce)if(this.check)Z=await I(xe);else{let Le=await E(xe,{isColdHit:!1});if(Le.isValid)Z=Le.hash;else return x()}return[Ce,xe,Z]}else{if(this.immutable&&Ee)throw new Vt(56,`Cache entry required but missing for ${qr(this.configuration,e)}; consider defining ${pe.pretty(this.configuration,"supportedArchitectures",pe.Type.CODE)} to cache packages for multiple systems`);return x()}})();this.mutexes.set(e.locatorHash,Be);try{return await Be}finally{this.mutexes.delete(e.locatorHash)}};for(let de;de=this.mutexes.get(e.locatorHash);)await de;let[F,N,U]=await C();F||this.markedFiles.add(N);let J,te=F?()=>h():()=>new Xi(N,{baseFs:p,readOnly:!0}),ae=new ny(()=>wN(()=>J=te(),de=>`Failed to open the cache entry for ${qr(this.configuration,e)}: ${de}`),z),le=new _u(N,{baseFs:ae,pathUtils:z}),ce=()=>{J?.discardAndClose()},we=u.unstablePackages?.has(e.locatorHash)?null:U;return[le,ce,we]}},aut=/^(?:(?(?[0-9]+)(?.*))\/)?(?.*)$/});var Jx,ape=Et(()=>{Jx=(r=>(r[r.SCRIPT=0]="SCRIPT",r[r.SHELLCODE=1]="SHELLCODE",r))(Jx||{})});var lut,iC,A_=Et(()=>{Dt();Nl();Qf();So();lut=[[/^(git(?:\+(?:https|ssh))?:\/\/.*(?:\.git)?)#(.*)$/,(t,e,r,o)=>`${r}#commit=${o}`],[/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^/]+\/[^/]+)\/tar\.gz\/([0-9a-f]+)$/,(t,e,r="",o,a)=>`https://${r}github.com/${o}.git#commit=${a}`],[/^https:\/\/((?:[^/]+?)@)?github\.com\/([^/]+\/[^/]+?)(?:\.git)?#([0-9a-f]+)$/,(t,e,r="",o,a)=>`https://${r}github.com/${o}.git#commit=${a}`],[/^https?:\/\/[^/]+\/(?:[^/]+\/)*(?:@.+(?:\/|(?:%2f)))?([^/]+)\/(?:-|download)\/\1-[^/]+\.tgz(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.pkg\.github\.com\/download\/(?:@[^/]+)\/(?:[^/]+)\/(?:[^/]+)\/(?:[0-9a-f]+)(?:#|$)/,t=>`npm:${t}`],[/^https:\/\/npm\.fontawesome\.com\/(?:@[^/]+)\/([^/]+)\/-\/([^/]+)\/\1-\2.tgz(?:#|$)/,t=>`npm:${t}`],[/^https?:\/\/[^/]+\/.*\/(@[^/]+)\/([^/]+)\/-\/\1\/\2-(?:[.\d\w-]+)\.tgz(?:#|$)/,(t,e)=>HS({protocol:"npm:",source:null,selector:t,params:{__archiveUrl:e}})],[/^[^/]+\.tgz#[0-9a-f]+$/,t=>`npm:${t}`]],iC=class{constructor(e){this.resolver=e;this.resolutions=null}async setup(e,{report:r}){let o=z.join(e.cwd,dr.lockfile);if(!oe.existsSync(o))return;let a=await oe.readFilePromise(o,"utf8"),n=Ki(a);if(Object.hasOwn(n,"__metadata"))return;let u=this.resolutions=new Map;for(let A of Object.keys(n)){let p=s1(A);if(!p){r.reportWarning(14,`Failed to parse the string "${A}" into a proper descriptor`);continue}let h=xa(p.range)?In(p,`npm:${p.range}`):p,{version:E,resolved:I}=n[A];if(!I)continue;let v;for(let[C,F]of lut){let N=I.match(C);if(N){v=F(E,...N);break}}if(!v){r.reportWarning(14,`${Gn(e.configuration,h)}: Only some patterns can be imported from legacy lockfiles (not "${I}")`);continue}let x=h;try{let C=Bd(h.range),F=s1(C.selector,!0);F&&(x=F)}catch{}u.set(h.descriptorHash,Fs(x,v))}}supportsDescriptor(e,r){return this.resolutions?this.resolutions.has(e.descriptorHash):!1}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){if(!this.resolutions)throw new Error("Assertion failed: The resolution store should have been setup");let a=this.resolutions.get(e.descriptorHash);if(!a)throw new Error("Assertion failed: The resolution should have been registered");let n=$O(a),u=o.project.configuration.normalizeDependency(n);return await this.resolver.getCandidates(u,r,o)}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}}});var fA,lpe=Et(()=>{Wl();M1();jl();fA=class extends Xs{constructor({configuration:r,stdout:o,suggestInstall:a=!0}){super();this.errorCount=0;XI(this,{configuration:r}),this.configuration=r,this.stdout=o,this.suggestInstall=a}static async start(r,o){let a=new this(r);try{await o(a)}catch(n){a.reportExceptionOnce(n)}finally{await a.finalize()}return a}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(r){}reportCacheMiss(r){}startSectionSync(r,o){return o()}async startSectionPromise(r,o){return await o()}startTimerSync(r,o,a){return(typeof o=="function"?o:a)()}async startTimerPromise(r,o,a){return await(typeof o=="function"?o:a)()}reportSeparator(){}reportInfo(r,o){}reportWarning(r,o){}reportError(r,o){this.errorCount+=1,this.stdout.write(`${Ut(this.configuration,"\u27A4","redBright")} ${this.formatNameWithHyperlink(r)}: ${o} +`)}reportProgress(r){return{...Promise.resolve().then(async()=>{for await(let{}of r);}),stop:()=>{}}}reportJson(r){}reportFold(r,o){}async finalize(){this.errorCount>0&&(this.stdout.write(` +`),this.stdout.write(`${Ut(this.configuration,"\u27A4","redBright")} Errors happened when preparing the environment required to run this command. +`),this.suggestInstall&&this.stdout.write(`${Ut(this.configuration,"\u27A4","redBright")} This might be caused by packages being missing from the lockfile, in which case running "yarn install" might help. +`))}formatNameWithHyperlink(r){return yU(r,{configuration:this.configuration,json:!1})}}});var sC,f_=Et(()=>{So();sC=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return!!(r.project.storedResolutions.get(e.descriptorHash)||r.project.originalPackages.has(MS(e).locatorHash))}supportsLocator(e,r){return!!(r.project.originalPackages.has(e.locatorHash)&&!r.project.lockfileNeedsRefresh)}shouldPersistResolution(e,r){throw new Error("The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes")}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,o){let a=o.project.storedResolutions.get(e.descriptorHash);if(a){let u=o.project.originalPackages.get(a);if(u)return[u]}let n=o.project.originalPackages.get(MS(e).locatorHash);if(n)return[n];throw new Error("Resolution expected from the lockfile data")}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){let o=r.project.originalPackages.get(e.locatorHash);if(!o)throw new Error("The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache");return o}}});function Kf(){}function cut(t,e,r,o,a){for(var n=0,u=e.length,A=0,p=0;nx.length?F:x}),h.value=t.join(E)}else h.value=t.join(r.slice(A,A+h.count));A+=h.count,h.added||(p+=h.count)}}var v=e[u-1];return u>1&&typeof v.value=="string"&&(v.added||v.removed)&&t.equals("",v.value)&&(e[u-2].value+=v.value,e.pop()),e}function uut(t){return{newPos:t.newPos,components:t.components.slice(0)}}function Aut(t,e){if(typeof t=="function")e.callback=t;else if(t)for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e}function Ape(t,e,r){return r=Aut(r,{ignoreWhitespace:!0}),m_.diff(t,e,r)}function fut(t,e,r){return y_.diff(t,e,r)}function Vx(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Vx=function(e){return typeof e}:Vx=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Vx(t)}function p_(t){return gut(t)||dut(t)||mut(t)||yut()}function gut(t){if(Array.isArray(t))return h_(t)}function dut(t){if(typeof Symbol<"u"&&Symbol.iterator in Object(t))return Array.from(t)}function mut(t,e){if(!!t){if(typeof t=="string")return h_(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return h_(t,e)}}function h_(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,o=new Array(e);r"u"&&(u.context=4);var A=fut(r,o,u);if(!A)return;A.push({value:"",lines:[]});function p(U){return U.map(function(J){return" "+J})}for(var h=[],E=0,I=0,v=[],x=1,C=1,F=function(J){var te=A[J],ae=te.lines||te.value.replace(/\n$/,"").split(` +`);if(te.lines=ae,te.added||te.removed){var le;if(!E){var ce=A[J-1];E=x,I=C,ce&&(v=u.context>0?p(ce.lines.slice(-u.context)):[],E-=v.length,I-=v.length)}(le=v).push.apply(le,p_(ae.map(function(Ae){return(te.added?"+":"-")+Ae}))),te.added?C+=ae.length:x+=ae.length}else{if(E)if(ae.length<=u.context*2&&J=A.length-2&&ae.length<=u.context){var g=/\n$/.test(r),me=/\n$/.test(o),Ce=ae.length==0&&v.length>Ee.oldLines;!g&&Ce&&r.length>0&&v.splice(Ee.oldLines,0,"\\ No newline at end of file"),(!g&&!Ce||!me)&&v.push("\\ No newline at end of file")}h.push(Ee),E=0,I=0,v=[]}x+=ae.length,C+=ae.length}},N=0;N{Kf.prototype={diff:function(e,r){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=o.callback;typeof o=="function"&&(a=o,o={}),this.options=o;var n=this;function u(F){return a?(setTimeout(function(){a(void 0,F)},0),!0):F}e=this.castInput(e),r=this.castInput(r),e=this.removeEmpty(this.tokenize(e)),r=this.removeEmpty(this.tokenize(r));var A=r.length,p=e.length,h=1,E=A+p;o.maxEditLength&&(E=Math.min(E,o.maxEditLength));var I=[{newPos:-1,components:[]}],v=this.extractCommon(I[0],r,e,0);if(I[0].newPos+1>=A&&v+1>=p)return u([{value:this.join(r),count:r.length}]);function x(){for(var F=-1*h;F<=h;F+=2){var N=void 0,U=I[F-1],J=I[F+1],te=(J?J.newPos:0)-F;U&&(I[F-1]=void 0);var ae=U&&U.newPos+1=A&&te+1>=p)return u(cut(n,N.components,r,e,n.useLongestToken));I[F]=N}h++}if(a)(function F(){setTimeout(function(){if(h>E)return a();x()||F()},0)})();else for(;h<=E;){var C=x();if(C)return C}},pushComponent:function(e,r,o){var a=e[e.length-1];a&&a.added===r&&a.removed===o?e[e.length-1]={count:a.count+1,added:r,removed:o}:e.push({count:1,added:r,removed:o})},extractCommon:function(e,r,o,a){for(var n=r.length,u=o.length,A=e.newPos,p=A-a,h=0;A+1"u"?r:u}:o;return typeof t=="string"?t:JSON.stringify(g_(t,null,null,a),a," ")};o2.equals=function(t,e){return Kf.prototype.equals.call(o2,t.replace(/,([\r\n])/g,"$1"),e.replace(/,([\r\n])/g,"$1"))};d_=new Kf;d_.tokenize=function(t){return t.slice()};d_.join=d_.removeEmpty=function(t){return t}});var hpe=_((l3t,ppe)=>{var Cut=ql(),wut=AE(),Iut=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,But=/^\w*$/;function vut(t,e){if(Cut(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||wut(t)?!0:But.test(t)||!Iut.test(t)||e!=null&&t in Object(e)}ppe.exports=vut});var mpe=_((c3t,dpe)=>{var gpe=_D(),Put="Expected a function";function C_(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(Put);var r=function(){var o=arguments,a=e?e.apply(this,o):o[0],n=r.cache;if(n.has(a))return n.get(a);var u=t.apply(this,o);return r.cache=n.set(a,u)||n,u};return r.cache=new(C_.Cache||gpe),r}C_.Cache=gpe;dpe.exports=C_});var Epe=_((u3t,ype)=>{var Dut=mpe(),Sut=500;function but(t){var e=Dut(t,function(o){return r.size===Sut&&r.clear(),o}),r=e.cache;return e}ype.exports=but});var w_=_((A3t,Cpe)=>{var xut=Epe(),kut=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Qut=/\\(\\)?/g,Rut=xut(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(kut,function(r,o,a,n){e.push(a?n.replace(Qut,"$1"):o||r)}),e});Cpe.exports=Rut});var Gd=_((f3t,wpe)=>{var Fut=ql(),Tut=hpe(),Lut=w_(),Nut=N1();function Out(t,e){return Fut(t)?t:Tut(t,e)?[t]:Lut(Nut(t))}wpe.exports=Out});var oC=_((p3t,Ipe)=>{var Mut=AE(),Uut=1/0;function _ut(t){if(typeof t=="string"||Mut(t))return t;var e=t+"";return e=="0"&&1/t==-Uut?"-0":e}Ipe.exports=_ut});var Xx=_((h3t,Bpe)=>{var Hut=Gd(),qut=oC();function Gut(t,e){e=Hut(e,t);for(var r=0,o=e.length;t!=null&&r{var jut=rS(),Yut=Gd(),Wut=MI(),vpe=sl(),Kut=oC();function zut(t,e,r,o){if(!vpe(t))return t;e=Yut(e,t);for(var a=-1,n=e.length,u=n-1,A=t;A!=null&&++a{var Jut=Xx(),Vut=I_(),Xut=Gd();function Zut(t,e,r){for(var o=-1,a=e.length,n={};++o{function $ut(t,e){return t!=null&&e in Object(t)}bpe.exports=$ut});var B_=_((y3t,kpe)=>{var eAt=Gd(),tAt=LI(),rAt=ql(),nAt=MI(),iAt=YD(),sAt=oC();function oAt(t,e,r){e=eAt(e,t);for(var o=-1,a=e.length,n=!1;++o{var aAt=xpe(),lAt=B_();function cAt(t,e){return t!=null&&lAt(t,e,aAt)}Qpe.exports=cAt});var Tpe=_((C3t,Fpe)=>{var uAt=Spe(),AAt=Rpe();function fAt(t,e){return uAt(t,e,function(r,o){return AAt(t,o)})}Fpe.exports=fAt});var Mpe=_((w3t,Ope)=>{var Lpe=hd(),pAt=LI(),hAt=ql(),Npe=Lpe?Lpe.isConcatSpreadable:void 0;function gAt(t){return hAt(t)||pAt(t)||!!(Npe&&t&&t[Npe])}Ope.exports=gAt});var Hpe=_((I3t,_pe)=>{var dAt=GD(),mAt=Mpe();function Upe(t,e,r,o,a){var n=-1,u=t.length;for(r||(r=mAt),a||(a=[]);++n0&&r(A)?e>1?Upe(A,e-1,r,o,a):dAt(a,A):o||(a[a.length]=A)}return a}_pe.exports=Upe});var Gpe=_((B3t,qpe)=>{var yAt=Hpe();function EAt(t){var e=t==null?0:t.length;return e?yAt(t,1):[]}qpe.exports=EAt});var v_=_((v3t,jpe)=>{var CAt=Gpe(),wAt=pN(),IAt=hN();function BAt(t){return IAt(wAt(t,void 0,CAt),t+"")}jpe.exports=BAt});var P_=_((P3t,Ype)=>{var vAt=Tpe(),PAt=v_(),DAt=PAt(function(t,e){return t==null?{}:vAt(t,e)});Ype.exports=DAt});var Zx,Wpe=Et(()=>{Wl();Zx=class{constructor(e){this.resolver=e}supportsDescriptor(e,r){return this.resolver.supportsDescriptor(e,r)}supportsLocator(e,r){return this.resolver.supportsLocator(e,r)}shouldPersistResolution(e,r){return this.resolver.shouldPersistResolution(e,r)}bindDescriptor(e,r,o){return this.resolver.bindDescriptor(e,r,o)}getResolutionDependencies(e,r){return this.resolver.getResolutionDependencies(e,r)}async getCandidates(e,r,o){throw new Vt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async getSatisfying(e,r,o,a){throw new Vt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}async resolve(e,r){throw new Vt(20,`This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`)}}});var Qi,D_=Et(()=>{Wl();Qi=class extends Xs{reportCacheHit(e){}reportCacheMiss(e){}startSectionSync(e,r){return r()}async startSectionPromise(e,r){return await r()}startTimerSync(e,r,o){return(typeof r=="function"?r:o)()}async startTimerPromise(e,r,o){return await(typeof r=="function"?r:o)()}reportSeparator(){}reportInfo(e,r){}reportWarning(e,r){}reportError(e,r){}reportProgress(e){return{...Promise.resolve().then(async()=>{for await(let{}of e);}),stop:()=>{}}}reportJson(e){}reportFold(e,r){}async finalize(){}}});var Kpe,aC,S_=Et(()=>{Dt();Kpe=Ze(TS());uE();vd();jl();ih();Qf();So();aC=class{constructor(e,{project:r}){this.workspacesCwds=new Set;this.project=r,this.cwd=e}async setup(){this.manifest=await Ot.tryFind(this.cwd)??new Ot,this.relativeCwd=z.relative(this.project.cwd,this.cwd)||Bt.dot;let e=this.manifest.name?this.manifest.name:tA(null,`${this.computeCandidateName()}-${zi(this.relativeCwd).substring(0,6)}`);this.anchoredDescriptor=In(e,`${Xn.protocol}${this.relativeCwd}`),this.anchoredLocator=Fs(e,`${Xn.protocol}${this.relativeCwd}`);let r=this.manifest.workspaceDefinitions.map(({pattern:a})=>a);if(r.length===0)return;let o=await(0,Kpe.default)(r,{cwd:ue.fromPortablePath(this.cwd),onlyDirectories:!0,ignore:["**/node_modules","**/.git","**/.yarn"]});o.sort(),await o.reduce(async(a,n)=>{let u=z.resolve(this.cwd,ue.toPortablePath(n)),A=await oe.existsPromise(z.join(u,"package.json"));await a,A&&this.workspacesCwds.add(u)},Promise.resolve())}get anchoredPackage(){let e=this.project.storedPackages.get(this.anchoredLocator.locatorHash);if(!e)throw new Error(`Assertion failed: Expected workspace ${a1(this.project.configuration,this)} (${Ut(this.project.configuration,z.join(this.cwd,dr.manifest),yt.PATH)}) to have been resolved. Run "yarn install" to update the lockfile`);return e}accepts(e){let r=e.indexOf(":"),o=r!==-1?e.slice(0,r+1):null,a=r!==-1?e.slice(r+1):e;if(o===Xn.protocol&&z.normalize(a)===this.relativeCwd||o===Xn.protocol&&(a==="*"||a==="^"||a==="~"))return!0;let n=xa(a);return n?o===Xn.protocol?n.test(this.manifest.version??"0.0.0"):this.project.configuration.get("enableTransparentWorkspaces")&&this.manifest.version!==null?n.test(this.manifest.version):!1:!1}computeCandidateName(){return this.cwd===this.project.cwd?"root-workspace":`${z.basename(this.cwd)}`||"unnamed-workspace"}getRecursiveWorkspaceDependencies({dependencies:e=Ot.hardDependencies}={}){let r=new Set,o=a=>{for(let n of e)for(let u of a.manifest[n].values()){let A=this.project.tryWorkspaceByDescriptor(u);A===null||r.has(A)||(r.add(A),o(A))}};return o(this),r}getRecursiveWorkspaceDependents({dependencies:e=Ot.hardDependencies}={}){let r=new Set,o=a=>{for(let n of this.project.workspaces)e.some(A=>[...n.manifest[A].values()].some(p=>{let h=this.project.tryWorkspaceByDescriptor(p);return h!==null&&i1(h.anchoredLocator,a.anchoredLocator)}))&&!r.has(n)&&(r.add(n),o(n))};return o(this),r}getRecursiveWorkspaceChildren(){let e=new Set([this]);for(let r of e)for(let o of r.workspacesCwds){let a=this.project.workspacesByCwd.get(o);a&&e.add(a)}return e.delete(this),Array.from(e)}async persistManifest(){let e={};this.manifest.exportTo(e);let r=z.join(this.cwd,Ot.fileName),o=`${JSON.stringify(e,null,this.manifest.indent)} +`;await oe.changeFilePromise(r,o,{automaticNewlines:!0}),this.manifest.raw=e}}});function RAt({project:t,allDescriptors:e,allResolutions:r,allPackages:o,accessibleLocators:a=new Set,optionalBuilds:n=new Set,peerRequirements:u=new Map,peerWarnings:A=[],peerRequirementNodes:p=new Map,volatileDescriptors:h=new Set}){let E=new Map,I=[],v=new Map,x=new Map,C=new Map,F=new Map,N=new Map(t.workspaces.map(le=>{let ce=le.anchoredLocator.locatorHash,we=o.get(ce);if(typeof we>"u")throw new Error("Assertion failed: The workspace should have an associated package");return[ce,e1(we)]})),U=()=>{let le=oe.mktempSync(),ce=z.join(le,"stacktrace.log"),we=String(I.length+1).length,de=I.map((Be,Ee)=>`${`${Ee+1}.`.padStart(we," ")} ${ba(Be)} +`).join("");throw oe.writeFileSync(ce,de),oe.detachTemp(le),new Vt(45,`Encountered a stack overflow when resolving peer dependencies; cf ${ue.fromPortablePath(ce)}`)},J=le=>{let ce=r.get(le.descriptorHash);if(typeof ce>"u")throw new Error("Assertion failed: The resolution should have been registered");let we=o.get(ce);if(!we)throw new Error("Assertion failed: The package could not be found");return we},te=(le,ce,we,{top:de,optional:Be})=>{I.length>1e3&&U(),I.push(ce);let Ee=ae(le,ce,we,{top:de,optional:Be});return I.pop(),Ee},ae=(le,ce,we,{top:de,optional:Be})=>{if(Be||n.delete(ce.locatorHash),a.has(ce.locatorHash))return;a.add(ce.locatorHash);let Ee=o.get(ce.locatorHash);if(!Ee)throw new Error(`Assertion failed: The package (${qr(t.configuration,ce)}) should have been registered`);let g=[],me=new Map,Ce=[],Ae=[],ne=[],Z=[];for(let Le of Array.from(Ee.dependencies.values())){if(Ee.peerDependencies.has(Le.identHash)&&Ee.locatorHash!==de)continue;if(bf(Le))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");h.delete(Le.descriptorHash);let ht=Be;if(!ht){let Se=Ee.dependenciesMeta.get(rn(Le));if(typeof Se<"u"){let et=Se.get(null);typeof et<"u"&&et.optional&&(ht=!0)}}let H=r.get(Le.descriptorHash);if(!H)throw new Error(`Assertion failed: The resolution (${Gn(t.configuration,Le)}) should have been registered`);let rt=N.get(H)||o.get(H);if(!rt)throw new Error(`Assertion failed: The package (${H}, resolved from ${Gn(t.configuration,Le)}) should have been registered`);if(rt.peerDependencies.size===0){te(Le,rt,new Map,{top:de,optional:ht});continue}let Te,Re,ke=new Set,Ye=new Map;Ce.push(()=>{Te=tM(Le,ce.locatorHash),Re=rM(rt,ce.locatorHash),Ee.dependencies.delete(Le.identHash),Ee.dependencies.set(Te.identHash,Te),r.set(Te.descriptorHash,Re.locatorHash),e.set(Te.descriptorHash,Te),o.set(Re.locatorHash,Re),g.push([rt,Te,Re])}),Ae.push(()=>{F.set(Re.locatorHash,Ye);for(let Se of Re.peerDependencies.values()){let Ue=al(me,Se.identHash,()=>{let b=we.get(Se.identHash)??null,w=Ee.dependencies.get(Se.identHash);return!w&&n1(ce,Se)&&(le.identHash===ce.identHash?w=le:(w=In(ce,le.range),e.set(w.descriptorHash,w),r.set(w.descriptorHash,ce.locatorHash),h.delete(w.descriptorHash),b=null)),w||(w=In(Se,"missing:")),{subject:ce,ident:Se,provided:w,root:!b,requests:new Map,hash:`p${zi(ce.locatorHash,Se.identHash).slice(0,5)}`}}).provided;if(Ue.range==="missing:"&&Re.dependencies.has(Se.identHash)){Re.peerDependencies.delete(Se.identHash);continue}Ye.set(Se.identHash,{requester:Re,descriptor:Se,meta:Re.peerDependenciesMeta.get(rn(Se)),children:new Map}),Re.dependencies.set(Se.identHash,Ue),bf(Ue)&&jy(C,Ue.descriptorHash).add(Re.locatorHash),v.set(Ue.identHash,Ue),Ue.range==="missing:"&&ke.add(Ue.identHash)}Re.dependencies=new Map(Rs(Re.dependencies,([Se,et])=>rn(et)))}),ne.push(()=>{if(!o.has(Re.locatorHash))return;let Se=E.get(rt.locatorHash);typeof Se=="number"&&Se>=2&&U();let et=E.get(rt.locatorHash),Ue=typeof et<"u"?et+1:1;E.set(rt.locatorHash,Ue),te(Te,Re,Ye,{top:de,optional:ht}),E.set(rt.locatorHash,Ue-1)}),Z.push(()=>{let Se=Ee.dependencies.get(Le.identHash);if(typeof Se>"u")throw new Error("Assertion failed: Expected the peer dependency to have been turned into a dependency");let et=r.get(Se.descriptorHash);if(typeof et>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");let Ue=F.get(et);if(typeof Ue>"u")throw new Error("Assertion failed: Expected the peer requests to be registered");for(let b of me.values()){let w=Ue.get(b.ident.identHash);!w||(b.requests.set(Se.descriptorHash,w),p.set(b.hash,b),b.root||we.get(b.ident.identHash)?.children.set(Se.descriptorHash,w))}if(!!o.has(Re.locatorHash))for(let b of ke)Re.dependencies.delete(b)})}for(let Le of[...Ce,...Ae])Le();let xe;do{xe=!0;for(let[Le,ht,H]of g){let rt=KI(x,Le.locatorHash),Te=zi(...[...H.dependencies.values()].map(Se=>{let et=Se.range!=="missing:"?r.get(Se.descriptorHash):"missing:";if(typeof et>"u")throw new Error(`Assertion failed: Expected the resolution for ${Gn(t.configuration,Se)} to have been registered`);return et===de?`${et} (top)`:et}),ht.identHash),Re=rt.get(Te);if(typeof Re>"u"){rt.set(Te,ht);continue}if(Re===ht)continue;o.delete(H.locatorHash),e.delete(ht.descriptorHash),r.delete(ht.descriptorHash),a.delete(H.locatorHash);let ke=C.get(ht.descriptorHash)||[],Ye=[Ee.locatorHash,...ke];C.delete(ht.descriptorHash);for(let Se of Ye){let et=o.get(Se);typeof et>"u"||(et.dependencies.get(ht.identHash).descriptorHash!==Re.descriptorHash&&(xe=!1),et.dependencies.set(ht.identHash,Re))}for(let Se of me.values())Se.provided.descriptorHash===ht.descriptorHash&&(Se.provided=Re)}}while(!xe);for(let Le of[...ne,...Z])Le()};for(let le of t.workspaces){let ce=le.anchoredLocator;h.delete(le.anchoredDescriptor.descriptorHash),te(le.anchoredDescriptor,ce,new Map,{top:ce.locatorHash,optional:!1})}for(let le of p.values()){if(!le.root)continue;let ce=o.get(le.subject.locatorHash);if(typeof ce>"u")continue;for(let de of le.requests.values()){let Be=`p${zi(le.subject.locatorHash,rn(le.ident),de.requester.locatorHash).slice(0,5)}`;u.set(Be,{subject:le.subject.locatorHash,requested:le.ident,rootRequester:de.requester.locatorHash,allRequesters:Array.from(l1(de),Ee=>Ee.requester.locatorHash)})}let we=[...l1(le)];if(le.provided.range!=="missing:"){let de=J(le.provided),Be=de.version??"0.0.0",Ee=me=>{if(me.startsWith(Xn.protocol)){if(!t.tryWorkspaceByLocator(de))return null;me=me.slice(Xn.protocol.length),(me==="^"||me==="~")&&(me="*")}return me},g=!0;for(let me of we){let Ce=Ee(me.descriptor.range);if(Ce===null){g=!1;continue}if(!kf(Be,Ce)){g=!1;let Ae=`p${zi(le.subject.locatorHash,rn(le.ident),me.requester.locatorHash).slice(0,5)}`;A.push({type:1,subject:ce,requested:le.ident,requester:me.requester,version:Be,hash:Ae,requirementCount:we.length})}}if(!g){let me=we.map(Ce=>Ee(Ce.descriptor.range));A.push({type:3,node:le,range:me.includes(null)?null:sM(me),hash:le.hash})}}else{let de=!0;for(let Be of we)if(!Be.meta?.optional){de=!1;let Ee=`p${zi(le.subject.locatorHash,rn(le.ident),Be.requester.locatorHash).slice(0,5)}`;A.push({type:0,subject:ce,requested:le.ident,requester:Be.requester,hash:Ee})}de||A.push({type:2,node:le,hash:le.hash})}}}function FAt(t,e){let r=[],o=[],a=!1;for(let n of t.peerWarnings)if(!(n.type===1||n.type===0)){if(!t.tryWorkspaceByLocator(n.node.subject)){a=!0;continue}if(n.type===3){let u=t.storedResolutions.get(n.node.provided.descriptorHash);if(typeof u>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");let A=t.storedPackages.get(u);if(typeof A>"u")throw new Error("Assertion failed: Expected the package to be registered");let p=[...l1(n.node)].length>1?"and other dependencies request":"requests",h=n.range?aE(t.configuration,n.range):Ut(t.configuration,"but they have non-overlapping ranges!","redBright");r.push(`${us(t.configuration,n.node.ident)} is listed by your project with version ${o1(t.configuration,A.version??"0.0.0")} (${Ut(t.configuration,n.hash,yt.CODE)}), which doesn't satisfy what ${us(t.configuration,n.node.requests.values().next().value.requester)} ${p} (${h}).`)}if(n.type===2){let u=n.node.requests.size>1?" and other dependencies":"";o.push(`${qr(t.configuration,n.node.subject)} doesn't provide ${us(t.configuration,n.node.ident)} (${Ut(t.configuration,n.hash,yt.CODE)}), requested by ${us(t.configuration,n.node.requests.values().next().value.requester)}${u}.`)}}e.startSectionSync({reportFooter:()=>{e.reportWarning(86,`Some peer dependencies are incorrectly met by your project; run ${Ut(t.configuration,"yarn explain peer-requirements ",yt.CODE)} for details, where ${Ut(t.configuration,"",yt.CODE)} is the six-letter p-prefixed code.`)},skipIfEmpty:!0},()=>{for(let n of Rs(r,u=>Jy.default(u)))e.reportWarning(60,n);for(let n of Rs(o,u=>Jy.default(u)))e.reportWarning(2,n)}),a&&e.reportWarning(86,`Some peer dependencies are incorrectly met by dependencies; run ${Ut(t.configuration,"yarn explain peer-requirements",yt.CODE)} for details.`)}var $x,ek,tk,Vpe,k_,x_,Q_,rk,SAt,bAt,zpe,xAt,kAt,QAt,hl,b_,nk,Jpe,St,Xpe=Et(()=>{Dt();Dt();Nl();qt();$x=ve("crypto");E_();ek=Ze(P_()),tk=Ze(sd()),Vpe=Ze(Vn()),k_=ve("util"),x_=Ze(ve("v8")),Q_=Ze(ve("zlib"));u_();S1();A_();f_();uE();uM();Wl();Wpe();M1();D_();vd();S_();KS();jl();ih();Gl();Pb();BU();Qf();So();rk=Ky(process.env.YARN_LOCKFILE_VERSION_OVERRIDE??8),SAt=3,bAt=/ *, */g,zpe=/\/$/,xAt=32,kAt=(0,k_.promisify)(Q_.default.gzip),QAt=(0,k_.promisify)(Q_.default.gunzip),hl=(r=>(r.UpdateLockfile="update-lockfile",r.SkipBuild="skip-build",r))(hl||{}),b_={restoreLinkersCustomData:["linkersCustomData"],restoreResolutions:["accessibleLocators","conditionalLocators","disabledLocators","optionalBuilds","storedDescriptors","storedResolutions","storedPackages","lockFileChecksum"],restoreBuildState:["skippedBuilds","storedBuildState"]},nk=(a=>(a[a.NotProvided=0]="NotProvided",a[a.NotCompatible=1]="NotCompatible",a[a.NodeNotProvided=2]="NodeNotProvided",a[a.NodeNotCompatible=3]="NodeNotCompatible",a))(nk||{}),Jpe=t=>zi(`${SAt}`,t),St=class{constructor(e,{configuration:r}){this.resolutionAliases=new Map;this.workspaces=[];this.workspacesByCwd=new Map;this.workspacesByIdent=new Map;this.storedResolutions=new Map;this.storedDescriptors=new Map;this.storedPackages=new Map;this.storedChecksums=new Map;this.storedBuildState=new Map;this.accessibleLocators=new Set;this.conditionalLocators=new Set;this.disabledLocators=new Set;this.originalPackages=new Map;this.optionalBuilds=new Set;this.skippedBuilds=new Set;this.lockfileLastVersion=null;this.lockfileNeedsRefresh=!1;this.peerRequirements=new Map;this.peerWarnings=[];this.peerRequirementNodes=new Map;this.linkersCustomData=new Map;this.lockFileChecksum=null;this.installStateChecksum=null;this.configuration=r,this.cwd=e}static async find(e,r){if(!e.projectCwd)throw new st(`No project found in ${r}`);let o=e.projectCwd,a=r,n=null;for(;n!==e.projectCwd;){if(n=a,oe.existsSync(z.join(n,dr.manifest))){o=n;break}a=z.dirname(n)}let u=new St(e.projectCwd,{configuration:e});Ke.telemetry?.reportProject(u.cwd),await u.setupResolutions(),await u.setupWorkspaces(),Ke.telemetry?.reportWorkspaceCount(u.workspaces.length),Ke.telemetry?.reportDependencyCount(u.workspaces.reduce((C,F)=>C+F.manifest.dependencies.size+F.manifest.devDependencies.size,0));let A=u.tryWorkspaceByCwd(o);if(A)return{project:u,workspace:A,locator:A.anchoredLocator};let p=await u.findLocatorForLocation(`${o}/`,{strict:!0});if(p)return{project:u,locator:p,workspace:null};let h=Ut(e,u.cwd,yt.PATH),E=Ut(e,z.relative(u.cwd,o),yt.PATH),I=`- If ${h} isn't intended to be a project, remove any yarn.lock and/or package.json file there.`,v=`- If ${h} is intended to be a project, it might be that you forgot to list ${E} in its workspace configuration.`,x=`- Finally, if ${h} is fine and you intend ${E} to be treated as a completely separate project (not even a workspace), create an empty yarn.lock file in it.`;throw new st(`The nearest package directory (${Ut(e,o,yt.PATH)}) doesn't seem to be part of the project declared in ${Ut(e,u.cwd,yt.PATH)}. + +${[I,v,x].join(` +`)}`)}async setupResolutions(){this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;let e=z.join(this.cwd,dr.lockfile),r=this.configuration.get("defaultLanguageName");if(oe.existsSync(e)){let o=await oe.readFilePromise(e,"utf8");this.lockFileChecksum=Jpe(o);let a=Ki(o);if(a.__metadata){let n=a.__metadata.version,u=a.__metadata.cacheKey;this.lockfileLastVersion=n,this.lockfileNeedsRefresh=n"u")throw new Error(`Assertion failed: Expected the lockfile entry to have a resolution field (${A})`);let h=xf(p.resolution,!0),E=new Ot;E.load(p,{yamlCompatibilityMode:!0});let I=E.version,v=E.languageName||r,x=p.linkType.toUpperCase(),C=p.conditions??null,F=E.dependencies,N=E.peerDependencies,U=E.dependenciesMeta,J=E.peerDependenciesMeta,te=E.bin;if(p.checksum!=null){let le=typeof u<"u"&&!p.checksum.includes("/")?`${u}/${p.checksum}`:p.checksum;this.storedChecksums.set(h.locatorHash,le)}let ae={...h,version:I,languageName:v,linkType:x,conditions:C,dependencies:F,peerDependencies:N,dependenciesMeta:U,peerDependenciesMeta:J,bin:te};this.originalPackages.set(ae.locatorHash,ae);for(let le of A.split(bAt)){let ce=sh(le);n<=6&&(ce=this.configuration.normalizeDependency(ce),ce=In(ce,ce.range.replace(/^patch:[^@]+@(?!npm(:|%3A))/,"$1npm%3A"))),this.storedDescriptors.set(ce.descriptorHash,ce),this.storedResolutions.set(ce.descriptorHash,h.locatorHash)}}}else o.includes("yarn lockfile v1")&&(this.lockfileLastVersion=-1)}}async setupWorkspaces(){this.workspaces=[],this.workspacesByCwd=new Map,this.workspacesByIdent=new Map;let e=new Set,r=(0,tk.default)(4),o=async(a,n)=>{if(e.has(n))return a;e.add(n);let u=new aC(n,{project:this});await r(()=>u.setup());let A=a.then(()=>{this.addWorkspace(u)});return Array.from(u.workspacesCwds).reduce(o,A)};await o(Promise.resolve(),this.cwd)}addWorkspace(e){let r=this.workspacesByIdent.get(e.anchoredLocator.identHash);if(typeof r<"u")throw new Error(`Duplicate workspace name ${us(this.configuration,e.anchoredLocator)}: ${ue.fromPortablePath(e.cwd)} conflicts with ${ue.fromPortablePath(r.cwd)}`);this.workspaces.push(e),this.workspacesByCwd.set(e.cwd,e),this.workspacesByIdent.set(e.anchoredLocator.identHash,e)}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){z.isAbsolute(e)||(e=z.resolve(this.cwd,e)),e=z.normalize(e).replace(/\/+$/,"");let r=this.workspacesByCwd.get(e);return r||null}getWorkspaceByCwd(e){let r=this.tryWorkspaceByCwd(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByFilePath(e){let r=null;for(let o of this.workspaces)z.relative(o.cwd,e).startsWith("../")||r&&r.cwd.length>=o.cwd.length||(r=o);return r||null}getWorkspaceByFilePath(e){let r=this.tryWorkspaceByFilePath(e);if(!r)throw new Error(`Workspace not found (${e})`);return r}tryWorkspaceByIdent(e){let r=this.workspacesByIdent.get(e.identHash);return typeof r>"u"?null:r}getWorkspaceByIdent(e){let r=this.tryWorkspaceByIdent(e);if(!r)throw new Error(`Workspace not found (${us(this.configuration,e)})`);return r}tryWorkspaceByDescriptor(e){if(e.range.startsWith(Xn.protocol)){let o=e.range.slice(Xn.protocol.length);if(o!=="^"&&o!=="~"&&o!=="*"&&!xa(o))return this.tryWorkspaceByCwd(o)}let r=this.tryWorkspaceByIdent(e);return r===null||(bf(e)&&(e=t1(e)),!r.accepts(e.range))?null:r}getWorkspaceByDescriptor(e){let r=this.tryWorkspaceByDescriptor(e);if(r===null)throw new Error(`Workspace not found (${Gn(this.configuration,e)})`);return r}tryWorkspaceByLocator(e){let r=this.tryWorkspaceByIdent(e);return r===null||(qc(e)&&(e=r1(e)),r.anchoredLocator.locatorHash!==e.locatorHash)?null:r}getWorkspaceByLocator(e){let r=this.tryWorkspaceByLocator(e);if(!r)throw new Error(`Workspace not found (${qr(this.configuration,e)})`);return r}deleteDescriptor(e){this.storedResolutions.delete(e),this.storedDescriptors.delete(e)}deleteLocator(e){this.originalPackages.delete(e),this.storedPackages.delete(e),this.accessibleLocators.delete(e)}forgetResolution(e){if("descriptorHash"in e){let r=this.storedResolutions.get(e.descriptorHash);this.deleteDescriptor(e.descriptorHash);let o=new Set(this.storedResolutions.values());typeof r<"u"&&!o.has(r)&&this.deleteLocator(r)}if("locatorHash"in e){this.deleteLocator(e.locatorHash);for(let[r,o]of this.storedResolutions)o===e.locatorHash&&this.deleteDescriptor(r)}}forgetTransientResolutions(){let e=this.configuration.makeResolver(),r=new Map;for(let[o,a]of this.storedResolutions.entries()){let n=r.get(a);n||r.set(a,n=new Set),n.add(o)}for(let o of this.originalPackages.values()){let a;try{a=e.shouldPersistResolution(o,{project:this,resolver:e})}catch{a=!1}if(!a){this.deleteLocator(o.locatorHash);let n=r.get(o.locatorHash);if(n){r.delete(o.locatorHash);for(let u of n)this.deleteDescriptor(u)}}}}forgetVirtualResolutions(){for(let e of this.storedPackages.values())for(let[r,o]of e.dependencies)bf(o)&&e.dependencies.set(r,t1(o))}getDependencyMeta(e,r){let o={},n=this.topLevelWorkspace.manifest.dependenciesMeta.get(rn(e));if(!n)return o;let u=n.get(null);if(u&&Object.assign(o,u),r===null||!Vpe.default.valid(r))return o;for(let[A,p]of n)A!==null&&A===r&&Object.assign(o,p);return o}async findLocatorForLocation(e,{strict:r=!1}={}){let o=new Qi,a=this.configuration.getLinkers(),n={project:this,report:o};for(let u of a){let A=await u.findPackageLocator(e,n);if(A){if(r&&(await u.findPackageLocation(A,n)).replace(zpe,"")!==e.replace(zpe,""))continue;return A}}return null}async loadUserConfig(){let e=z.join(this.cwd,".pnp.cjs");await oe.existsPromise(e)&&Pf(e).setup();let r=z.join(this.cwd,"yarn.config.cjs");return await oe.existsPromise(r)?Pf(r):null}async preparePackage(e,{resolver:r,resolveOptions:o}){let a=await this.configuration.getPackageExtensions(),n=this.configuration.normalizePackage(e,{packageExtensions:a});for(let[u,A]of n.dependencies){let p=await this.configuration.reduceHook(E=>E.reduceDependency,A,this,n,A,{resolver:r,resolveOptions:o});if(!n1(A,p))throw new Error("Assertion failed: The descriptor ident cannot be changed through aliases");let h=r.bindDescriptor(p,n,o);n.dependencies.set(u,h)}return n}async resolveEverything(e){if(!this.workspacesByCwd||!this.workspacesByIdent)throw new Error("Workspaces must have been setup before calling this function");this.forgetVirtualResolutions();let r=new Map(this.originalPackages),o=[];e.lockfileOnly||this.forgetTransientResolutions();let a=e.resolver||this.configuration.makeResolver(),n=new iC(a);await n.setup(this,{report:e.report});let u=e.lockfileOnly?[new Zx(a)]:[n,a],A=new Pd([new sC(a),...u]),p=new Pd([...u]),h=this.configuration.makeFetcher(),E=e.lockfileOnly?{project:this,report:e.report,resolver:A}:{project:this,report:e.report,resolver:A,fetchOptions:{project:this,cache:e.cache,checksums:this.storedChecksums,report:e.report,fetcher:h,cacheOptions:{mirrorWriteOnly:!0}}},I=new Map,v=new Map,x=new Map,C=new Map,F=new Map,N=new Map,U=this.topLevelWorkspace.anchoredLocator,J=new Set,te=[],ae=M4(),le=this.configuration.getSupportedArchitectures();await e.report.startProgressPromise(Xs.progressViaTitle(),async ne=>{let Z=async rt=>{let Te=await Yy(async()=>await A.resolve(rt,E),Se=>`${qr(this.configuration,rt)}: ${Se}`);if(!i1(rt,Te))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${qr(this.configuration,rt)} to ${qr(this.configuration,Te)})`);C.set(Te.locatorHash,Te),!r.delete(Te.locatorHash)&&!this.tryWorkspaceByLocator(Te)&&o.push(Te);let ke=await this.preparePackage(Te,{resolver:A,resolveOptions:E}),Ye=_c([...ke.dependencies.values()].map(Se=>H(Se)));return te.push(Ye),Ye.catch(()=>{}),v.set(ke.locatorHash,ke),ke},xe=async rt=>{let Te=F.get(rt.locatorHash);if(typeof Te<"u")return Te;let Re=Promise.resolve().then(()=>Z(rt));return F.set(rt.locatorHash,Re),Re},Le=async(rt,Te)=>{let Re=await H(Te);return I.set(rt.descriptorHash,rt),x.set(rt.descriptorHash,Re.locatorHash),Re},ht=async rt=>{ne.setTitle(Gn(this.configuration,rt));let Te=this.resolutionAliases.get(rt.descriptorHash);if(typeof Te<"u")return Le(rt,this.storedDescriptors.get(Te));let Re=A.getResolutionDependencies(rt,E),ke=Object.fromEntries(await _c(Object.entries(Re).map(async([et,Ue])=>{let b=A.bindDescriptor(Ue,U,E),w=await H(b);return J.add(w.locatorHash),[et,w]}))),Se=(await Yy(async()=>await A.getCandidates(rt,ke,E),et=>`${Gn(this.configuration,rt)}: ${et}`))[0];if(typeof Se>"u")throw new Vt(82,`${Gn(this.configuration,rt)}: No candidates found`);if(e.checkResolutions){let{locators:et}=await p.getSatisfying(rt,ke,[Se],{...E,resolver:p});if(!et.find(Ue=>Ue.locatorHash===Se.locatorHash))throw new Vt(78,`Invalid resolution ${ZI(this.configuration,rt,Se)}`)}return I.set(rt.descriptorHash,rt),x.set(rt.descriptorHash,Se.locatorHash),xe(Se)},H=rt=>{let Te=N.get(rt.descriptorHash);if(typeof Te<"u")return Te;I.set(rt.descriptorHash,rt);let Re=Promise.resolve().then(()=>ht(rt));return N.set(rt.descriptorHash,Re),Re};for(let rt of this.workspaces){let Te=rt.anchoredDescriptor;te.push(H(Te))}for(;te.length>0;){let rt=[...te];te.length=0,await _c(rt)}});let ce=ol(r.values(),ne=>this.tryWorkspaceByLocator(ne)?ol.skip:ne);if(o.length>0||ce.length>0){let ne=new Set(this.workspaces.flatMap(rt=>{let Te=v.get(rt.anchoredLocator.locatorHash);if(!Te)throw new Error("Assertion failed: The workspace should have been resolved");return Array.from(Te.dependencies.values(),Re=>{let ke=x.get(Re.descriptorHash);if(!ke)throw new Error("Assertion failed: The resolution should have been registered");return ke})})),Z=rt=>ne.has(rt.locatorHash)?"0":"1",xe=rt=>ba(rt),Le=Rs(o,[Z,xe]),ht=Rs(ce,[Z,xe]),H=e.report.getRecommendedLength();Le.length>0&&e.report.reportInfo(85,`${Ut(this.configuration,"+",yt.ADDED)} ${cS(this.configuration,Le,H)}`),ht.length>0&&e.report.reportInfo(85,`${Ut(this.configuration,"-",yt.REMOVED)} ${cS(this.configuration,ht,H)}`)}let we=new Set(this.resolutionAliases.values()),de=new Set(v.keys()),Be=new Set,Ee=new Map,g=[],me=new Map;RAt({project:this,accessibleLocators:Be,volatileDescriptors:we,optionalBuilds:de,peerRequirements:Ee,peerWarnings:g,peerRequirementNodes:me,allDescriptors:I,allResolutions:x,allPackages:v});for(let ne of J)de.delete(ne);for(let ne of we)I.delete(ne),x.delete(ne);let Ce=new Set,Ae=new Set;for(let ne of v.values())ne.conditions!=null&&(!de.has(ne.locatorHash)||(GS(ne,le)||(GS(ne,ae)&&e.report.reportWarningOnce(77,`${qr(this.configuration,ne)}: Your current architecture (${process.platform}-${process.arch}) is supported by this package, but is missing from the ${Ut(this.configuration,"supportedArchitectures",yt.SETTING)} setting`),Ae.add(ne.locatorHash)),Ce.add(ne.locatorHash)));this.storedResolutions=x,this.storedDescriptors=I,this.storedPackages=v,this.accessibleLocators=Be,this.conditionalLocators=Ce,this.disabledLocators=Ae,this.originalPackages=C,this.optionalBuilds=de,this.peerRequirements=Ee,this.peerWarnings=g,this.peerRequirementNodes=me}async fetchEverything({cache:e,report:r,fetcher:o,mode:a,persistProject:n=!0}){let u={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators},A=o||this.configuration.makeFetcher(),p={checksums:this.storedChecksums,project:this,cache:e,fetcher:A,report:r,cacheOptions:u},h=Array.from(new Set(Rs(this.storedResolutions.values(),[C=>{let F=this.storedPackages.get(C);if(!F)throw new Error("Assertion failed: The locator should have been registered");return ba(F)}])));a==="update-lockfile"&&(h=h.filter(C=>!this.storedChecksums.has(C)));let E=!1,I=Xs.progressViaCounter(h.length);await r.reportProgress(I);let v=(0,tk.default)(xAt);if(await _c(h.map(C=>v(async()=>{let F=this.storedPackages.get(C);if(!F)throw new Error("Assertion failed: The locator should have been registered");if(qc(F))return;let N;try{N=await A.fetch(F,p)}catch(U){U.message=`${qr(this.configuration,F)}: ${U.message}`,r.reportExceptionOnce(U),E=U;return}N.checksum!=null?this.storedChecksums.set(F.locatorHash,N.checksum):this.storedChecksums.delete(F.locatorHash),N.releaseFs&&N.releaseFs()}).finally(()=>{I.tick()}))),E)throw E;let x=n&&a!=="update-lockfile"?await this.cacheCleanup({cache:e,report:r}):null;if(r.cacheMisses.size>0||x){let F=(await Promise.all([...r.cacheMisses].map(async ce=>{let we=this.storedPackages.get(ce),de=this.storedChecksums.get(ce)??null,Be=e.getLocatorPath(we,de);return(await oe.statPromise(Be)).size}))).reduce((ce,we)=>ce+we,0)-(x?.size??0),N=r.cacheMisses.size,U=x?.count??0,J=`${nS(N,{zero:"No new packages",one:"A package was",more:`${Ut(this.configuration,N,yt.NUMBER)} packages were`})} added to the project`,te=`${nS(U,{zero:"none were",one:"one was",more:`${Ut(this.configuration,U,yt.NUMBER)} were`})} removed`,ae=F!==0?` (${Ut(this.configuration,F,yt.SIZE_DIFF)})`:"",le=U>0?N>0?`${J}, and ${te}${ae}.`:`${J}, but ${te}${ae}.`:`${J}${ae}.`;r.reportInfo(13,le)}}async linkEverything({cache:e,report:r,fetcher:o,mode:a}){let n={mockedPackages:this.disabledLocators,unstablePackages:this.conditionalLocators,skipIntegrityCheck:!0},u=o||this.configuration.makeFetcher(),A={checksums:this.storedChecksums,project:this,cache:e,fetcher:u,report:r,cacheOptions:n},p=this.configuration.getLinkers(),h={project:this,report:r},E=new Map(p.map(Ce=>{let Ae=Ce.makeInstaller(h),ne=Ce.getCustomDataKey(),Z=this.linkersCustomData.get(ne);return typeof Z<"u"&&Ae.attachCustomData(Z),[Ce,Ae]})),I=new Map,v=new Map,x=new Map,C=new Map(await _c([...this.accessibleLocators].map(async Ce=>{let Ae=this.storedPackages.get(Ce);if(!Ae)throw new Error("Assertion failed: The locator should have been registered");return[Ce,await u.fetch(Ae,A)]}))),F=[],N=new Set,U=[];for(let Ce of this.accessibleLocators){let Ae=this.storedPackages.get(Ce);if(typeof Ae>"u")throw new Error("Assertion failed: The locator should have been registered");let ne=C.get(Ae.locatorHash);if(typeof ne>"u")throw new Error("Assertion failed: The fetch result should have been registered");let Z=[],xe=ht=>{Z.push(ht)},Le=this.tryWorkspaceByLocator(Ae);if(Le!==null){let ht=[],{scripts:H}=Le.manifest;for(let Te of["preinstall","install","postinstall"])H.has(Te)&&ht.push({type:0,script:Te});try{for(let[Te,Re]of E)if(Te.supportsPackage(Ae,h)&&(await Re.installPackage(Ae,ne,{holdFetchResult:xe})).buildRequest!==null)throw new Error("Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core")}finally{Z.length===0?ne.releaseFs?.():F.push(_c(Z).catch(()=>{}).then(()=>{ne.releaseFs?.()}))}let rt=z.join(ne.packageFs.getRealPath(),ne.prefixPath);v.set(Ae.locatorHash,rt),!qc(Ae)&&ht.length>0&&x.set(Ae.locatorHash,{buildDirectives:ht,buildLocations:[rt]})}else{let ht=p.find(Te=>Te.supportsPackage(Ae,h));if(!ht)throw new Vt(12,`${qr(this.configuration,Ae)} isn't supported by any available linker`);let H=E.get(ht);if(!H)throw new Error("Assertion failed: The installer should have been registered");let rt;try{rt=await H.installPackage(Ae,ne,{holdFetchResult:xe})}finally{Z.length===0?ne.releaseFs?.():F.push(_c(Z).then(()=>{}).then(()=>{ne.releaseFs?.()}))}I.set(Ae.locatorHash,ht),v.set(Ae.locatorHash,rt.packageLocation),rt.buildRequest&&rt.packageLocation&&(rt.buildRequest.skipped?(N.add(Ae.locatorHash),this.skippedBuilds.has(Ae.locatorHash)||U.push([Ae,rt.buildRequest.explain])):x.set(Ae.locatorHash,{buildDirectives:rt.buildRequest.directives,buildLocations:[rt.packageLocation]}))}}let J=new Map;for(let Ce of this.accessibleLocators){let Ae=this.storedPackages.get(Ce);if(!Ae)throw new Error("Assertion failed: The locator should have been registered");let ne=this.tryWorkspaceByLocator(Ae)!==null,Z=async(xe,Le)=>{let ht=v.get(Ae.locatorHash);if(typeof ht>"u")throw new Error(`Assertion failed: The package (${qr(this.configuration,Ae)}) should have been registered`);let H=[];for(let rt of Ae.dependencies.values()){let Te=this.storedResolutions.get(rt.descriptorHash);if(typeof Te>"u")throw new Error(`Assertion failed: The resolution (${Gn(this.configuration,rt)}, from ${qr(this.configuration,Ae)})should have been registered`);let Re=this.storedPackages.get(Te);if(typeof Re>"u")throw new Error(`Assertion failed: The package (${Te}, resolved from ${Gn(this.configuration,rt)}) should have been registered`);let ke=this.tryWorkspaceByLocator(Re)===null?I.get(Te):null;if(typeof ke>"u")throw new Error(`Assertion failed: The package (${Te}, resolved from ${Gn(this.configuration,rt)}) should have been registered`);ke===xe||ke===null?v.get(Re.locatorHash)!==null&&H.push([rt,Re]):!ne&&ht!==null&&WI(J,Te).push(ht)}ht!==null&&await Le.attachInternalDependencies(Ae,H)};if(ne)for(let[xe,Le]of E)xe.supportsPackage(Ae,h)&&await Z(xe,Le);else{let xe=I.get(Ae.locatorHash);if(!xe)throw new Error("Assertion failed: The linker should have been found");let Le=E.get(xe);if(!Le)throw new Error("Assertion failed: The installer should have been registered");await Z(xe,Le)}}for(let[Ce,Ae]of J){let ne=this.storedPackages.get(Ce);if(!ne)throw new Error("Assertion failed: The package should have been registered");let Z=I.get(ne.locatorHash);if(!Z)throw new Error("Assertion failed: The linker should have been found");let xe=E.get(Z);if(!xe)throw new Error("Assertion failed: The installer should have been registered");await xe.attachExternalDependents(ne,Ae)}let te=new Map;for(let[Ce,Ae]of E){let ne=await Ae.finalizeInstall();for(let Z of ne?.records??[])Z.buildRequest.skipped?(N.add(Z.locator.locatorHash),this.skippedBuilds.has(Z.locator.locatorHash)||U.push([Z.locator,Z.buildRequest.explain])):x.set(Z.locator.locatorHash,{buildDirectives:Z.buildRequest.directives,buildLocations:Z.buildLocations});typeof ne?.customData<"u"&&te.set(Ce.getCustomDataKey(),ne.customData)}if(this.linkersCustomData=te,await _c(F),a==="skip-build")return;for(let[,Ce]of Rs(U,([Ae])=>ba(Ae)))Ce(r);let ae=new Set(x.keys()),le=(0,$x.createHash)("sha512");le.update(process.versions.node),await this.configuration.triggerHook(Ce=>Ce.globalHashGeneration,this,Ce=>{le.update("\0"),le.update(Ce)});let ce=le.digest("hex"),we=new Map,de=Ce=>{let Ae=we.get(Ce.locatorHash);if(typeof Ae<"u")return Ae;let ne=this.storedPackages.get(Ce.locatorHash);if(typeof ne>"u")throw new Error("Assertion failed: The package should have been registered");let Z=(0,$x.createHash)("sha512");Z.update(Ce.locatorHash),we.set(Ce.locatorHash,"");for(let xe of ne.dependencies.values()){let Le=this.storedResolutions.get(xe.descriptorHash);if(typeof Le>"u")throw new Error(`Assertion failed: The resolution (${Gn(this.configuration,xe)}) should have been registered`);let ht=this.storedPackages.get(Le);if(typeof ht>"u")throw new Error("Assertion failed: The package should have been registered");Z.update(de(ht))}return Ae=Z.digest("hex"),we.set(Ce.locatorHash,Ae),Ae},Be=(Ce,Ae)=>{let ne=(0,$x.createHash)("sha512");ne.update(ce),ne.update(de(Ce));for(let Z of Ae)ne.update(Z);return ne.digest("hex")},Ee=new Map,g=!1,me=Ce=>{let Ae=new Set([Ce.locatorHash]);for(let ne of Ae){let Z=this.storedPackages.get(ne);if(!Z)throw new Error("Assertion failed: The package should have been registered");for(let xe of Z.dependencies.values()){let Le=this.storedResolutions.get(xe.descriptorHash);if(!Le)throw new Error(`Assertion failed: The resolution (${Gn(this.configuration,xe)}) should have been registered`);if(Le!==Ce.locatorHash&&ae.has(Le))return!1;let ht=this.storedPackages.get(Le);if(!ht)throw new Error("Assertion failed: The package should have been registered");let H=this.tryWorkspaceByLocator(ht);if(H){if(H.anchoredLocator.locatorHash!==Ce.locatorHash&&ae.has(H.anchoredLocator.locatorHash))return!1;Ae.add(H.anchoredLocator.locatorHash)}Ae.add(Le)}}return!0};for(;ae.size>0;){let Ce=ae.size,Ae=[];for(let ne of ae){let Z=this.storedPackages.get(ne);if(!Z)throw new Error("Assertion failed: The package should have been registered");if(!me(Z))continue;let xe=x.get(Z.locatorHash);if(!xe)throw new Error("Assertion failed: The build directive should have been registered");let Le=Be(Z,xe.buildLocations);if(this.storedBuildState.get(Z.locatorHash)===Le){Ee.set(Z.locatorHash,Le),ae.delete(ne);continue}g||(await this.persistInstallStateFile(),g=!0),this.storedBuildState.has(Z.locatorHash)?r.reportInfo(8,`${qr(this.configuration,Z)} must be rebuilt because its dependency tree changed`):r.reportInfo(7,`${qr(this.configuration,Z)} must be built because it never has been before or the last one failed`);let ht=xe.buildLocations.map(async H=>{if(!z.isAbsolute(H))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${H})`);for(let rt of xe.buildDirectives){let Te=`# This file contains the result of Yarn building a package (${ba(Z)}) +`;switch(rt.type){case 0:Te+=`# Script name: ${rt.script} +`;break;case 1:Te+=`# Script code: ${rt.script} +`;break}let Re=null;if(!await oe.mktempPromise(async Ye=>{let Se=z.join(Ye,"build.log"),{stdout:et,stderr:Ue}=this.configuration.getSubprocessStreams(Se,{header:Te,prefix:qr(this.configuration,Z),report:r}),b;try{switch(rt.type){case 0:b=await Kb(Z,rt.script,[],{cwd:H,project:this,stdin:Re,stdout:et,stderr:Ue});break;case 1:b=await EU(Z,rt.script,[],{cwd:H,project:this,stdin:Re,stdout:et,stderr:Ue});break}}catch(y){Ue.write(y.stack),b=1}if(et.end(),Ue.end(),b===0)return!0;oe.detachTemp(Ye);let w=`${qr(this.configuration,Z)} couldn't be built successfully (exit code ${Ut(this.configuration,b,yt.NUMBER)}, logs can be found here: ${Ut(this.configuration,Se,yt.PATH)})`,S=this.optionalBuilds.has(Z.locatorHash);return S?r.reportInfo(9,w):r.reportError(9,w),zce&&r.reportFold(ue.fromPortablePath(Se),oe.readFileSync(Se,"utf8")),S}))return!1}return!0});Ae.push(...ht,Promise.allSettled(ht).then(H=>{ae.delete(ne),H.every(rt=>rt.status==="fulfilled"&&rt.value===!0)&&Ee.set(Z.locatorHash,Le)}))}if(await _c(Ae),Ce===ae.size){let ne=Array.from(ae).map(Z=>{let xe=this.storedPackages.get(Z);if(!xe)throw new Error("Assertion failed: The package should have been registered");return qr(this.configuration,xe)}).join(", ");r.reportError(3,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${ne})`);break}}this.storedBuildState=Ee,this.skippedBuilds=N}async installWithNewReport(e,r){return(await Ft.start({configuration:this.configuration,json:e.json,stdout:e.stdout,forceSectionAlignment:!0,includeLogs:!e.json&&!e.quiet,includeVersion:!0},async a=>{await this.install({...r,report:a})})).exitCode()}async install(e){let r=this.configuration.get("nodeLinker");Ke.telemetry?.reportInstall(r);let o=!1;if(await e.report.startTimerPromise("Project validation",{skipIfEmpty:!0},async()=>{this.configuration.get("enableOfflineMode")&&e.report.reportWarning(90,"Offline work is enabled; Yarn won't fetch packages from the remote registry if it can avoid it"),await this.configuration.triggerHook(E=>E.validateProject,this,{reportWarning:(E,I)=>{e.report.reportWarning(E,I)},reportError:(E,I)=>{e.report.reportError(E,I),o=!0}})}),o)return;let a=await this.configuration.getPackageExtensions();for(let E of a.values())for(let[,I]of E)for(let v of I)v.status="inactive";let n=z.join(this.cwd,dr.lockfile),u=null;if(e.immutable)try{u=await oe.readFilePromise(n,"utf8")}catch(E){throw E.code==="ENOENT"?new Vt(28,"The lockfile would have been created by this install, which is explicitly forbidden."):E}await e.report.startTimerPromise("Resolution step",async()=>{await this.resolveEverything(e)}),await e.report.startTimerPromise("Post-resolution validation",{skipIfEmpty:!0},async()=>{FAt(this,e.report);for(let[,E]of a)for(let[,I]of E)for(let v of I)if(v.userProvided){let x=Ut(this.configuration,v,yt.PACKAGE_EXTENSION);switch(v.status){case"inactive":e.report.reportWarning(68,`${x}: No matching package in the dependency tree; you may not need this rule anymore.`);break;case"redundant":e.report.reportWarning(69,`${x}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);break}}if(u!==null){let E=Hg(u,this.generateLockfile());if(E!==u){let I=fpe(n,n,u,E,void 0,void 0,{maxEditLength:100});if(I){e.report.reportSeparator();for(let v of I.hunks){e.report.reportInfo(null,`@@ -${v.oldStart},${v.oldLines} +${v.newStart},${v.newLines} @@`);for(let x of v.lines)x.startsWith("+")?e.report.reportError(28,Ut(this.configuration,x,yt.ADDED)):x.startsWith("-")?e.report.reportError(28,Ut(this.configuration,x,yt.REMOVED)):e.report.reportInfo(null,Ut(this.configuration,x,"grey"))}e.report.reportSeparator()}throw new Vt(28,"The lockfile would have been modified by this install, which is explicitly forbidden.")}}});for(let E of a.values())for(let[,I]of E)for(let v of I)v.userProvided&&v.status==="active"&&Ke.telemetry?.reportPackageExtension(Ed(v,yt.PACKAGE_EXTENSION));await e.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(e)});let A=e.immutable?[...new Set(this.configuration.get("immutablePatterns"))].sort():[],p=await Promise.all(A.map(async E=>OS(E,{cwd:this.cwd})));(typeof e.persistProject>"u"||e.persistProject)&&await this.persist(),await e.report.startTimerPromise("Link step",async()=>{if(e.mode==="update-lockfile"){e.report.reportWarning(73,`Skipped due to ${Ut(this.configuration,"mode=update-lockfile",yt.CODE)}`);return}await this.linkEverything(e);let E=await Promise.all(A.map(async I=>OS(I,{cwd:this.cwd})));for(let I=0;I{await this.configuration.triggerHook(E=>E.validateProjectAfterInstall,this,{reportWarning:(E,I)=>{e.report.reportWarning(E,I)},reportError:(E,I)=>{e.report.reportError(E,I),h=!0}})}),!h&&await this.configuration.triggerHook(E=>E.afterAllInstalled,this,e)}generateLockfile(){let e=new Map;for(let[n,u]of this.storedResolutions.entries()){let A=e.get(u);A||e.set(u,A=new Set),A.add(n)}let r={},{cacheKey:o}=Nr.getCacheKey(this.configuration);r.__metadata={version:rk,cacheKey:o};for(let[n,u]of e.entries()){let A=this.originalPackages.get(n);if(!A)continue;let p=[];for(let I of u){let v=this.storedDescriptors.get(I);if(!v)throw new Error("Assertion failed: The descriptor should have been registered");p.push(v)}let h=p.map(I=>Sa(I)).sort().join(", "),E=new Ot;E.version=A.linkType==="HARD"?A.version:"0.0.0-use.local",E.languageName=A.languageName,E.dependencies=new Map(A.dependencies),E.peerDependencies=new Map(A.peerDependencies),E.dependenciesMeta=new Map(A.dependenciesMeta),E.peerDependenciesMeta=new Map(A.peerDependenciesMeta),E.bin=new Map(A.bin),r[h]={...E.exportTo({},{compatibilityMode:!1}),linkType:A.linkType.toLowerCase(),resolution:ba(A),checksum:this.storedChecksums.get(A.locatorHash),conditions:A.conditions||void 0}}return`${[`# This file is generated by running "yarn install" inside your project. +`,`# Manual changes might be lost - proceed with caution! +`].join("")} +`+Ba(r)}async persistLockfile(){let e=z.join(this.cwd,dr.lockfile),r="";try{r=await oe.readFilePromise(e,"utf8")}catch{}let o=this.generateLockfile(),a=Hg(r,o);a!==r&&(await oe.writeFilePromise(e,a),this.lockFileChecksum=Jpe(a),this.lockfileNeedsRefresh=!1)}async persistInstallStateFile(){let e=[];for(let u of Object.values(b_))e.push(...u);let r=(0,ek.default)(this,e),o=x_.default.serialize(r),a=zi(o);if(this.installStateChecksum===a)return;let n=this.configuration.get("installStatePath");await oe.mkdirPromise(z.dirname(n),{recursive:!0}),await oe.writeFilePromise(n,await kAt(o)),this.installStateChecksum=a}async restoreInstallState({restoreLinkersCustomData:e=!0,restoreResolutions:r=!0,restoreBuildState:o=!0}={}){let a=this.configuration.get("installStatePath"),n;try{let u=await QAt(await oe.readFilePromise(a));n=x_.default.deserialize(u),this.installStateChecksum=zi(u)}catch{r&&await this.applyLightResolution();return}e&&typeof n.linkersCustomData<"u"&&(this.linkersCustomData=n.linkersCustomData),o&&Object.assign(this,(0,ek.default)(n,b_.restoreBuildState)),r&&(n.lockFileChecksum===this.lockFileChecksum?Object.assign(this,(0,ek.default)(n,b_.restoreResolutions)):await this.applyLightResolution())}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new Qi}),await this.persistInstallStateFile()}async persist(){let e=(0,tk.default)(4);await Promise.all([this.persistLockfile(),...this.workspaces.map(r=>e(()=>r.persistManifest()))])}async cacheCleanup({cache:e,report:r}){if(this.configuration.get("enableGlobalCache"))return null;let o=new Set([".gitignore"]);if(!CM(e.cwd,this.cwd)||!await oe.existsPromise(e.cwd))return null;let a=[];for(let u of await oe.readdirPromise(e.cwd)){if(o.has(u))continue;let A=z.resolve(e.cwd,u);e.markedFiles.has(A)||(e.immutable?r.reportError(56,`${Ut(this.configuration,z.basename(A),"magenta")} appears to be unused and would be marked for deletion, but the cache is immutable`):a.push(oe.lstatPromise(A).then(async p=>(await oe.removePromise(A),p.size))))}if(a.length===0)return null;let n=await Promise.all(a);return{count:a.length,size:n.reduce((u,A)=>u+A,0)}}}});function TAt(t){let o=Math.floor(t.timeNow/864e5),a=t.updateInterval*864e5,n=t.state.lastUpdate??t.timeNow+a+Math.floor(a*t.randomInitialInterval),u=n+a,A=t.state.lastTips??o*864e5,p=A+864e5+8*36e5-t.timeZone,h=u<=t.timeNow,E=p<=t.timeNow,I=null;return(h||E||!t.state.lastUpdate||!t.state.lastTips)&&(I={},I.lastUpdate=h?t.timeNow:n,I.lastTips=A,I.blocks=h?{}:t.state.blocks,I.displayedTips=t.state.displayedTips),{nextState:I,triggerUpdate:h,triggerTips:E,nextTips:E?o*864e5:A}}var lC,Zpe=Et(()=>{Dt();O1();ih();Bb();Gl();Qf();lC=class{constructor(e,r){this.values=new Map;this.hits=new Map;this.enumerators=new Map;this.nextTips=0;this.displayedTips=[];this.shouldCommitTips=!1;this.configuration=e;let o=this.getRegistryPath();this.isNew=!oe.existsSync(o),this.shouldShowTips=!1,this.sendReport(r),this.startBuffer()}commitTips(){this.shouldShowTips&&(this.shouldCommitTips=!0)}selectTip(e){let r=new Set(this.displayedTips),o=A=>A&&nn?kf(nn,A):!1,a=e.map((A,p)=>p).filter(A=>e[A]&&o(e[A]?.selector));if(a.length===0)return null;let n=a.filter(A=>!r.has(A));if(n.length===0){let A=Math.floor(a.length*.2);this.displayedTips=A>0?this.displayedTips.slice(-A):[],n=a.filter(p=>!r.has(p))}let u=n[Math.floor(Math.random()*n.length)];return this.displayedTips.push(u),this.commitTips(),e[u]}reportVersion(e){this.reportValue("version",e.replace(/-git\..*/,"-git"))}reportCommandName(e){this.reportValue("commandName",e||"")}reportPluginName(e){this.reportValue("pluginName",e)}reportProject(e){this.reportEnumerator("projectCount",e)}reportInstall(e){this.reportHit("installCount",e)}reportPackageExtension(e){this.reportValue("packageExtension",e)}reportWorkspaceCount(e){this.reportValue("workspaceCount",String(e))}reportDependencyCount(e){this.reportValue("dependencyCount",String(e))}reportValue(e,r){jy(this.values,e).add(r)}reportEnumerator(e,r){jy(this.enumerators,e).add(zi(r))}reportHit(e,r="*"){let o=KI(this.hits,e),a=al(o,r,()=>0);o.set(r,a+1)}getRegistryPath(){let e=this.configuration.get("globalFolder");return z.join(e,"telemetry.json")}sendReport(e){let r=this.getRegistryPath(),o;try{o=oe.readJsonSync(r)}catch{o={}}let{nextState:a,triggerUpdate:n,triggerTips:u,nextTips:A}=TAt({state:o,timeNow:Date.now(),timeZone:new Date().getTimezoneOffset()*60*1e3,randomInitialInterval:Math.random(),updateInterval:this.configuration.get("telemetryInterval")});if(this.nextTips=A,this.displayedTips=o.displayedTips??[],a!==null)try{oe.mkdirSync(z.dirname(r),{recursive:!0}),oe.writeJsonSync(r,a)}catch{return!1}if(u&&this.configuration.get("enableTips")&&(this.shouldShowTips=!0),n){let p=o.blocks??{};if(Object.keys(p).length===0){let h=`https://browser-http-intake.logs.datadoghq.eu/v1/input/${e}?ddsource=yarn`,E=I=>O4(h,I,{configuration:this.configuration}).catch(()=>{});for(let[I,v]of Object.entries(o.blocks??{})){if(Object.keys(v).length===0)continue;let x=v;x.userId=I,x.reportType="primary";for(let N of Object.keys(x.enumerators??{}))x.enumerators[N]=x.enumerators[N].length;E(x);let C=new Map,F=20;for(let[N,U]of Object.entries(x.values))U.length>0&&C.set(N,U.slice(0,F));for(;C.size>0;){let N={};N.userId=I,N.reportType="secondary",N.metrics={};for(let[U,J]of C)N.metrics[U]=J.shift(),J.length===0&&C.delete(U);E(N)}}}}return!0}applyChanges(){let e=this.getRegistryPath(),r;try{r=oe.readJsonSync(e)}catch{r={}}let o=this.configuration.get("telemetryUserId")??"*",a=r.blocks=r.blocks??{},n=a[o]=a[o]??{};for(let u of this.hits.keys()){let A=n.hits=n.hits??{},p=A[u]=A[u]??{};for(let[h,E]of this.hits.get(u))p[h]=(p[h]??0)+E}for(let u of["values","enumerators"])for(let A of this[u].keys()){let p=n[u]=n[u]??{};p[A]=[...new Set([...p[A]??[],...this[u].get(A)??[]])]}this.shouldCommitTips&&(r.lastTips=this.nextTips,r.displayedTips=this.displayedTips),oe.mkdirSync(z.dirname(e),{recursive:!0}),oe.writeJsonSync(e,r)}startBuffer(){process.on("exit",()=>{try{this.applyChanges()}catch{}})}}});var a2={};zt(a2,{BuildDirectiveType:()=>Jx,CACHE_CHECKPOINT:()=>c_,CACHE_VERSION:()=>zx,Cache:()=>Nr,Configuration:()=>Ke,DEFAULT_RC_FILENAME:()=>j4,FormatType:()=>kle,InstallMode:()=>hl,LEGACY_PLUGINS:()=>P1,LOCKFILE_VERSION:()=>rk,LegacyMigrationResolver:()=>iC,LightReport:()=>fA,LinkType:()=>zy,LockfileResolver:()=>sC,Manifest:()=>Ot,MessageName:()=>wr,MultiFetcher:()=>fE,PackageExtensionStatus:()=>vN,PackageExtensionType:()=>BN,PeerWarningType:()=>nk,Project:()=>St,Report:()=>Xs,ReportError:()=>Vt,SettingsType:()=>D1,StreamReport:()=>Ft,TAG_REGEXP:()=>kE,TelemetryManager:()=>lC,ThrowReport:()=>Qi,VirtualFetcher:()=>pE,WindowsLinkType:()=>kb,Workspace:()=>aC,WorkspaceFetcher:()=>gE,WorkspaceResolver:()=>Xn,YarnVersion:()=>nn,execUtils:()=>Ur,folderUtils:()=>WS,formatUtils:()=>pe,hashUtils:()=>wn,httpUtils:()=>sn,miscUtils:()=>He,nodeUtils:()=>Vi,parseMessageName:()=>fD,reportOptionDeprecations:()=>TE,scriptUtils:()=>An,semverUtils:()=>Lr,stringifyMessageName:()=>Ku,structUtils:()=>j,tgzUtils:()=>Zi,treeUtils:()=>fs});var je=Et(()=>{Db();KS();jl();ih();Bb();Gl();Pb();BU();Qf();So();Zfe();spe();u_();S1();S1();ape();A_();lpe();f_();uE();pD();cM();Xpe();Wl();M1();Zpe();D_();AM();fM();vd();S_();O1();Cne()});var ihe=_((V_t,c2)=>{"use strict";var NAt=process.env.TERM_PROGRAM==="Hyper",OAt=process.platform==="win32",the=process.platform==="linux",R_={ballotDisabled:"\u2612",ballotOff:"\u2610",ballotOn:"\u2611",bullet:"\u2022",bulletWhite:"\u25E6",fullBlock:"\u2588",heart:"\u2764",identicalTo:"\u2261",line:"\u2500",mark:"\u203B",middot:"\xB7",minus:"\uFF0D",multiplication:"\xD7",obelus:"\xF7",pencilDownRight:"\u270E",pencilRight:"\u270F",pencilUpRight:"\u2710",percent:"%",pilcrow2:"\u2761",pilcrow:"\xB6",plusMinus:"\xB1",section:"\xA7",starsOff:"\u2606",starsOn:"\u2605",upDownArrow:"\u2195"},rhe=Object.assign({},R_,{check:"\u221A",cross:"\xD7",ellipsisLarge:"...",ellipsis:"...",info:"i",question:"?",questionSmall:"?",pointer:">",pointerSmall:"\xBB",radioOff:"( )",radioOn:"(*)",warning:"\u203C"}),nhe=Object.assign({},R_,{ballotCross:"\u2718",check:"\u2714",cross:"\u2716",ellipsisLarge:"\u22EF",ellipsis:"\u2026",info:"\u2139",question:"?",questionFull:"\uFF1F",questionSmall:"\uFE56",pointer:the?"\u25B8":"\u276F",pointerSmall:the?"\u2023":"\u203A",radioOff:"\u25EF",radioOn:"\u25C9",warning:"\u26A0"});c2.exports=OAt&&!NAt?rhe:nhe;Reflect.defineProperty(c2.exports,"common",{enumerable:!1,value:R_});Reflect.defineProperty(c2.exports,"windows",{enumerable:!1,value:rhe});Reflect.defineProperty(c2.exports,"other",{enumerable:!1,value:nhe})});var zc=_((X_t,F_)=>{"use strict";var MAt=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),UAt=/[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g,she=()=>{let t={enabled:!0,visible:!0,styles:{},keys:{}};"FORCE_COLOR"in process.env&&(t.enabled=process.env.FORCE_COLOR!=="0");let e=n=>{let u=n.open=`\x1B[${n.codes[0]}m`,A=n.close=`\x1B[${n.codes[1]}m`,p=n.regex=new RegExp(`\\u001b\\[${n.codes[1]}m`,"g");return n.wrap=(h,E)=>{h.includes(A)&&(h=h.replace(p,A+u));let I=u+h+A;return E?I.replace(/\r*\n/g,`${A}$&${u}`):I},n},r=(n,u,A)=>typeof n=="function"?n(u):n.wrap(u,A),o=(n,u)=>{if(n===""||n==null)return"";if(t.enabled===!1)return n;if(t.visible===!1)return"";let A=""+n,p=A.includes(` +`),h=u.length;for(h>0&&u.includes("unstyle")&&(u=[...new Set(["unstyle",...u])].reverse());h-- >0;)A=r(t.styles[u[h]],A,p);return A},a=(n,u,A)=>{t.styles[n]=e({name:n,codes:u}),(t.keys[A]||(t.keys[A]=[])).push(n),Reflect.defineProperty(t,n,{configurable:!0,enumerable:!0,set(h){t.alias(n,h)},get(){let h=E=>o(E,h.stack);return Reflect.setPrototypeOf(h,t),h.stack=this.stack?this.stack.concat(n):[n],h}})};return a("reset",[0,0],"modifier"),a("bold",[1,22],"modifier"),a("dim",[2,22],"modifier"),a("italic",[3,23],"modifier"),a("underline",[4,24],"modifier"),a("inverse",[7,27],"modifier"),a("hidden",[8,28],"modifier"),a("strikethrough",[9,29],"modifier"),a("black",[30,39],"color"),a("red",[31,39],"color"),a("green",[32,39],"color"),a("yellow",[33,39],"color"),a("blue",[34,39],"color"),a("magenta",[35,39],"color"),a("cyan",[36,39],"color"),a("white",[37,39],"color"),a("gray",[90,39],"color"),a("grey",[90,39],"color"),a("bgBlack",[40,49],"bg"),a("bgRed",[41,49],"bg"),a("bgGreen",[42,49],"bg"),a("bgYellow",[43,49],"bg"),a("bgBlue",[44,49],"bg"),a("bgMagenta",[45,49],"bg"),a("bgCyan",[46,49],"bg"),a("bgWhite",[47,49],"bg"),a("blackBright",[90,39],"bright"),a("redBright",[91,39],"bright"),a("greenBright",[92,39],"bright"),a("yellowBright",[93,39],"bright"),a("blueBright",[94,39],"bright"),a("magentaBright",[95,39],"bright"),a("cyanBright",[96,39],"bright"),a("whiteBright",[97,39],"bright"),a("bgBlackBright",[100,49],"bgBright"),a("bgRedBright",[101,49],"bgBright"),a("bgGreenBright",[102,49],"bgBright"),a("bgYellowBright",[103,49],"bgBright"),a("bgBlueBright",[104,49],"bgBright"),a("bgMagentaBright",[105,49],"bgBright"),a("bgCyanBright",[106,49],"bgBright"),a("bgWhiteBright",[107,49],"bgBright"),t.ansiRegex=UAt,t.hasColor=t.hasAnsi=n=>(t.ansiRegex.lastIndex=0,typeof n=="string"&&n!==""&&t.ansiRegex.test(n)),t.alias=(n,u)=>{let A=typeof u=="string"?t[u]:u;if(typeof A!="function")throw new TypeError("Expected alias to be the name of an existing color (string) or a function");A.stack||(Reflect.defineProperty(A,"name",{value:n}),t.styles[n]=A,A.stack=[n]),Reflect.defineProperty(t,n,{configurable:!0,enumerable:!0,set(p){t.alias(n,p)},get(){let p=h=>o(h,p.stack);return Reflect.setPrototypeOf(p,t),p.stack=this.stack?this.stack.concat(A.stack):A.stack,p}})},t.theme=n=>{if(!MAt(n))throw new TypeError("Expected theme to be an object");for(let u of Object.keys(n))t.alias(u,n[u]);return t},t.alias("unstyle",n=>typeof n=="string"&&n!==""?(t.ansiRegex.lastIndex=0,n.replace(t.ansiRegex,"")):""),t.alias("noop",n=>n),t.none=t.clear=t.noop,t.stripColor=t.unstyle,t.symbols=ihe(),t.define=a,t};F_.exports=she();F_.exports.create=she});var To=_(on=>{"use strict";var _At=Object.prototype.toString,nc=zc(),ohe=!1,T_=[],ahe={yellow:"blue",cyan:"red",green:"magenta",black:"white",blue:"yellow",red:"cyan",magenta:"green",white:"black"};on.longest=(t,e)=>t.reduce((r,o)=>Math.max(r,e?o[e].length:o.length),0);on.hasColor=t=>!!t&&nc.hasColor(t);var sk=on.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);on.nativeType=t=>_At.call(t).slice(8,-1).toLowerCase().replace(/\s/g,"");on.isAsyncFn=t=>on.nativeType(t)==="asyncfunction";on.isPrimitive=t=>t!=null&&typeof t!="object"&&typeof t!="function";on.resolve=(t,e,...r)=>typeof e=="function"?e.call(t,...r):e;on.scrollDown=(t=[])=>[...t.slice(1),t[0]];on.scrollUp=(t=[])=>[t.pop(),...t];on.reorder=(t=[])=>{let e=t.slice();return e.sort((r,o)=>r.index>o.index?1:r.index{let o=t.length,a=r===o?0:r<0?o-1:r,n=t[e];t[e]=t[a],t[a]=n};on.width=(t,e=80)=>{let r=t&&t.columns?t.columns:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[0]),process.platform==="win32"?r-1:r};on.height=(t,e=20)=>{let r=t&&t.rows?t.rows:e;return t&&typeof t.getWindowSize=="function"&&(r=t.getWindowSize()[1]),r};on.wordWrap=(t,e={})=>{if(!t)return t;typeof e=="number"&&(e={width:e});let{indent:r="",newline:o=` +`+r,width:a=80}=e,n=(o+r).match(/[^\S\n]/g)||[];a-=n.length;let u=`.{1,${a}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`,A=t.trim(),p=new RegExp(u,"g"),h=A.match(p)||[];return h=h.map(E=>E.replace(/\n$/,"")),e.padEnd&&(h=h.map(E=>E.padEnd(a," "))),e.padStart&&(h=h.map(E=>E.padStart(a," "))),r+h.join(o)};on.unmute=t=>{let e=t.stack.find(o=>nc.keys.color.includes(o));return e?nc[e]:t.stack.find(o=>o.slice(2)==="bg")?nc[e.slice(2)]:o=>o};on.pascal=t=>t?t[0].toUpperCase()+t.slice(1):"";on.inverse=t=>{if(!t||!t.stack)return t;let e=t.stack.find(o=>nc.keys.color.includes(o));if(e){let o=nc["bg"+on.pascal(e)];return o?o.black:t}let r=t.stack.find(o=>o.slice(0,2)==="bg");return r?nc[r.slice(2).toLowerCase()]||t:nc.none};on.complement=t=>{if(!t||!t.stack)return t;let e=t.stack.find(o=>nc.keys.color.includes(o)),r=t.stack.find(o=>o.slice(0,2)==="bg");if(e&&!r)return nc[ahe[e]||e];if(r){let o=r.slice(2).toLowerCase(),a=ahe[o];return a&&nc["bg"+on.pascal(a)]||t}return nc.none};on.meridiem=t=>{let e=t.getHours(),r=t.getMinutes(),o=e>=12?"pm":"am";e=e%12;let a=e===0?12:e,n=r<10?"0"+r:r;return a+":"+n+" "+o};on.set=(t={},e="",r)=>e.split(".").reduce((o,a,n,u)=>{let A=u.length-1>n?o[a]||{}:r;return!on.isObject(A)&&n{let o=t[e]==null?e.split(".").reduce((a,n)=>a&&a[n],t):t[e];return o??r};on.mixin=(t,e)=>{if(!sk(t))return e;if(!sk(e))return t;for(let r of Object.keys(e)){let o=Object.getOwnPropertyDescriptor(e,r);if(o.hasOwnProperty("value"))if(t.hasOwnProperty(r)&&sk(o.value)){let a=Object.getOwnPropertyDescriptor(t,r);sk(a.value)?t[r]=on.merge({},t[r],e[r]):Reflect.defineProperty(t,r,o)}else Reflect.defineProperty(t,r,o);else Reflect.defineProperty(t,r,o)}return t};on.merge=(...t)=>{let e={};for(let r of t)on.mixin(e,r);return e};on.mixinEmitter=(t,e)=>{let r=e.constructor.prototype;for(let o of Object.keys(r)){let a=r[o];typeof a=="function"?on.define(t,o,a.bind(e)):on.define(t,o,a)}};on.onExit=t=>{let e=(r,o)=>{ohe||(ohe=!0,T_.forEach(a=>a()),r===!0&&process.exit(128+o))};T_.length===0&&(process.once("SIGTERM",e.bind(null,!0,15)),process.once("SIGINT",e.bind(null,!0,2)),process.once("exit",e)),T_.push(t)};on.define=(t,e,r)=>{Reflect.defineProperty(t,e,{value:r})};on.defineExport=(t,e,r)=>{let o;Reflect.defineProperty(t,e,{enumerable:!0,configurable:!0,set(a){o=a},get(){return o?o():r()}})}});var lhe=_(fC=>{"use strict";fC.ctrl={a:"first",b:"backward",c:"cancel",d:"deleteForward",e:"last",f:"forward",g:"reset",i:"tab",k:"cutForward",l:"reset",n:"newItem",m:"cancel",j:"submit",p:"search",r:"remove",s:"save",u:"undo",w:"cutLeft",x:"toggleCursor",v:"paste"};fC.shift={up:"shiftUp",down:"shiftDown",left:"shiftLeft",right:"shiftRight",tab:"prev"};fC.fn={up:"pageUp",down:"pageDown",left:"pageLeft",right:"pageRight",delete:"deleteForward"};fC.option={b:"backward",f:"forward",d:"cutRight",left:"cutLeft",up:"altUp",down:"altDown"};fC.keys={pageup:"pageUp",pagedown:"pageDown",home:"home",end:"end",cancel:"cancel",delete:"deleteForward",backspace:"delete",down:"down",enter:"submit",escape:"cancel",left:"left",space:"space",number:"number",return:"submit",right:"right",tab:"next",up:"up"}});var Ahe=_((e8t,uhe)=>{"use strict";var che=ve("readline"),HAt=lhe(),qAt=/^(?:\x1b)([a-zA-Z0-9])$/,GAt=/^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/,jAt={OP:"f1",OQ:"f2",OR:"f3",OS:"f4","[11~":"f1","[12~":"f2","[13~":"f3","[14~":"f4","[[A":"f1","[[B":"f2","[[C":"f3","[[D":"f4","[[E":"f5","[15~":"f5","[17~":"f6","[18~":"f7","[19~":"f8","[20~":"f9","[21~":"f10","[23~":"f11","[24~":"f12","[A":"up","[B":"down","[C":"right","[D":"left","[E":"clear","[F":"end","[H":"home",OA:"up",OB:"down",OC:"right",OD:"left",OE:"clear",OF:"end",OH:"home","[1~":"home","[2~":"insert","[3~":"delete","[4~":"end","[5~":"pageup","[6~":"pagedown","[[5~":"pageup","[[6~":"pagedown","[7~":"home","[8~":"end","[a":"up","[b":"down","[c":"right","[d":"left","[e":"clear","[2$":"insert","[3$":"delete","[5$":"pageup","[6$":"pagedown","[7$":"home","[8$":"end",Oa:"up",Ob:"down",Oc:"right",Od:"left",Oe:"clear","[2^":"insert","[3^":"delete","[5^":"pageup","[6^":"pagedown","[7^":"home","[8^":"end","[Z":"tab"};function YAt(t){return["[a","[b","[c","[d","[e","[2$","[3$","[5$","[6$","[7$","[8$","[Z"].includes(t)}function WAt(t){return["Oa","Ob","Oc","Od","Oe","[2^","[3^","[5^","[6^","[7^","[8^"].includes(t)}var ok=(t="",e={})=>{let r,o={name:e.name,ctrl:!1,meta:!1,shift:!1,option:!1,sequence:t,raw:t,...e};if(Buffer.isBuffer(t)?t[0]>127&&t[1]===void 0?(t[0]-=128,t="\x1B"+String(t)):t=String(t):t!==void 0&&typeof t!="string"?t=String(t):t||(t=o.sequence||""),o.sequence=o.sequence||t||o.name,t==="\r")o.raw=void 0,o.name="return";else if(t===` +`)o.name="enter";else if(t===" ")o.name="tab";else if(t==="\b"||t==="\x7F"||t==="\x1B\x7F"||t==="\x1B\b")o.name="backspace",o.meta=t.charAt(0)==="\x1B";else if(t==="\x1B"||t==="\x1B\x1B")o.name="escape",o.meta=t.length===2;else if(t===" "||t==="\x1B ")o.name="space",o.meta=t.length===2;else if(t<="")o.name=String.fromCharCode(t.charCodeAt(0)+"a".charCodeAt(0)-1),o.ctrl=!0;else if(t.length===1&&t>="0"&&t<="9")o.name="number";else if(t.length===1&&t>="a"&&t<="z")o.name=t;else if(t.length===1&&t>="A"&&t<="Z")o.name=t.toLowerCase(),o.shift=!0;else if(r=qAt.exec(t))o.meta=!0,o.shift=/^[A-Z]$/.test(r[1]);else if(r=GAt.exec(t)){let a=[...t];a[0]==="\x1B"&&a[1]==="\x1B"&&(o.option=!0);let n=[r[1],r[2],r[4],r[6]].filter(Boolean).join(""),u=(r[3]||r[5]||1)-1;o.ctrl=!!(u&4),o.meta=!!(u&10),o.shift=!!(u&1),o.code=n,o.name=jAt[n],o.shift=YAt(n)||o.shift,o.ctrl=WAt(n)||o.ctrl}return o};ok.listen=(t={},e)=>{let{stdin:r}=t;if(!r||r!==process.stdin&&!r.isTTY)throw new Error("Invalid stream passed");let o=che.createInterface({terminal:!0,input:r});che.emitKeypressEvents(r,o);let a=(A,p)=>e(A,ok(A,p),o),n=r.isRaw;return r.isTTY&&r.setRawMode(!0),r.on("keypress",a),o.resume(),()=>{r.isTTY&&r.setRawMode(n),r.removeListener("keypress",a),o.pause(),o.close()}};ok.action=(t,e,r)=>{let o={...HAt,...r};return e.ctrl?(e.action=o.ctrl[e.name],e):e.option&&o.option?(e.action=o.option[e.name],e):e.shift?(e.action=o.shift[e.name],e):(e.action=o.keys[e.name],e)};uhe.exports=ok});var phe=_((t8t,fhe)=>{"use strict";fhe.exports=t=>{t.timers=t.timers||{};let e=t.options.timers;if(!!e)for(let r of Object.keys(e)){let o=e[r];typeof o=="number"&&(o={interval:o}),KAt(t,r,o)}};function KAt(t,e,r={}){let o=t.timers[e]={name:e,start:Date.now(),ms:0,tick:0},a=r.interval||120;o.frames=r.frames||[],o.loading=!0;let n=setInterval(()=>{o.ms=Date.now()-o.start,o.tick++,t.render()},a);return o.stop=()=>{o.loading=!1,clearInterval(n)},Reflect.defineProperty(o,"interval",{value:n}),t.once("close",()=>o.stop()),o.stop}});var ghe=_((r8t,hhe)=>{"use strict";var{define:zAt,width:JAt}=To(),L_=class{constructor(e){let r=e.options;zAt(this,"_prompt",e),this.type=e.type,this.name=e.name,this.message="",this.header="",this.footer="",this.error="",this.hint="",this.input="",this.cursor=0,this.index=0,this.lines=0,this.tick=0,this.prompt="",this.buffer="",this.width=JAt(r.stdout||process.stdout),Object.assign(this,r),this.name=this.name||this.message,this.message=this.message||this.name,this.symbols=e.symbols,this.styles=e.styles,this.required=new Set,this.cancelled=!1,this.submitted=!1}clone(){let e={...this};return e.status=this.status,e.buffer=Buffer.from(e.buffer),delete e.clone,e}set color(e){this._color=e}get color(){let e=this.prompt.styles;if(this.cancelled)return e.cancelled;if(this.submitted)return e.submitted;let r=this._color||e[this.status];return typeof r=="function"?r:e.pending}set loading(e){this._loading=e}get loading(){return typeof this._loading=="boolean"?this._loading:this.loadingChoices?"choices":!1}get status(){return this.cancelled?"cancelled":this.submitted?"submitted":"pending"}};hhe.exports=L_});var mhe=_((n8t,dhe)=>{"use strict";var N_=To(),$s=zc(),O_={default:$s.noop,noop:$s.noop,set inverse(t){this._inverse=t},get inverse(){return this._inverse||N_.inverse(this.primary)},set complement(t){this._complement=t},get complement(){return this._complement||N_.complement(this.primary)},primary:$s.cyan,success:$s.green,danger:$s.magenta,strong:$s.bold,warning:$s.yellow,muted:$s.dim,disabled:$s.gray,dark:$s.dim.gray,underline:$s.underline,set info(t){this._info=t},get info(){return this._info||this.primary},set em(t){this._em=t},get em(){return this._em||this.primary.underline},set heading(t){this._heading=t},get heading(){return this._heading||this.muted.underline},set pending(t){this._pending=t},get pending(){return this._pending||this.primary},set submitted(t){this._submitted=t},get submitted(){return this._submitted||this.success},set cancelled(t){this._cancelled=t},get cancelled(){return this._cancelled||this.danger},set typing(t){this._typing=t},get typing(){return this._typing||this.dim},set placeholder(t){this._placeholder=t},get placeholder(){return this._placeholder||this.primary.dim},set highlight(t){this._highlight=t},get highlight(){return this._highlight||this.inverse}};O_.merge=(t={})=>{t.styles&&typeof t.styles.enabled=="boolean"&&($s.enabled=t.styles.enabled),t.styles&&typeof t.styles.visible=="boolean"&&($s.visible=t.styles.visible);let e=N_.merge({},O_,t.styles);delete e.merge;for(let r of Object.keys($s))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>$s[r]});for(let r of Object.keys($s.styles))e.hasOwnProperty(r)||Reflect.defineProperty(e,r,{get:()=>$s[r]});return e};dhe.exports=O_});var Ehe=_((i8t,yhe)=>{"use strict";var M_=process.platform==="win32",zf=zc(),VAt=To(),U_={...zf.symbols,upDownDoubleArrow:"\u21D5",upDownDoubleArrow2:"\u2B0D",upDownArrow:"\u2195",asterisk:"*",asterism:"\u2042",bulletWhite:"\u25E6",electricArrow:"\u2301",ellipsisLarge:"\u22EF",ellipsisSmall:"\u2026",fullBlock:"\u2588",identicalTo:"\u2261",indicator:zf.symbols.check,leftAngle:"\u2039",mark:"\u203B",minus:"\u2212",multiplication:"\xD7",obelus:"\xF7",percent:"%",pilcrow:"\xB6",pilcrow2:"\u2761",pencilUpRight:"\u2710",pencilDownRight:"\u270E",pencilRight:"\u270F",plus:"+",plusMinus:"\xB1",pointRight:"\u261E",rightAngle:"\u203A",section:"\xA7",hexagon:{off:"\u2B21",on:"\u2B22",disabled:"\u2B22"},ballot:{on:"\u2611",off:"\u2610",disabled:"\u2612"},stars:{on:"\u2605",off:"\u2606",disabled:"\u2606"},folder:{on:"\u25BC",off:"\u25B6",disabled:"\u25B6"},prefix:{pending:zf.symbols.question,submitted:zf.symbols.check,cancelled:zf.symbols.cross},separator:{pending:zf.symbols.pointerSmall,submitted:zf.symbols.middot,cancelled:zf.symbols.middot},radio:{off:M_?"( )":"\u25EF",on:M_?"(*)":"\u25C9",disabled:M_?"(|)":"\u24BE"},numbers:["\u24EA","\u2460","\u2461","\u2462","\u2463","\u2464","\u2465","\u2466","\u2467","\u2468","\u2469","\u246A","\u246B","\u246C","\u246D","\u246E","\u246F","\u2470","\u2471","\u2472","\u2473","\u3251","\u3252","\u3253","\u3254","\u3255","\u3256","\u3257","\u3258","\u3259","\u325A","\u325B","\u325C","\u325D","\u325E","\u325F","\u32B1","\u32B2","\u32B3","\u32B4","\u32B5","\u32B6","\u32B7","\u32B8","\u32B9","\u32BA","\u32BB","\u32BC","\u32BD","\u32BE","\u32BF"]};U_.merge=t=>{let e=VAt.merge({},zf.symbols,U_,t.symbols);return delete e.merge,e};yhe.exports=U_});var whe=_((s8t,Che)=>{"use strict";var XAt=mhe(),ZAt=Ehe(),$At=To();Che.exports=t=>{t.options=$At.merge({},t.options.theme,t.options),t.symbols=ZAt.merge(t.options),t.styles=XAt.merge(t.options)}});var Dhe=_((vhe,Phe)=>{"use strict";var Ihe=process.env.TERM_PROGRAM==="Apple_Terminal",eft=zc(),__=To(),Jc=Phe.exports=vhe,Pi="\x1B[",Bhe="\x07",H_=!1,bh=Jc.code={bell:Bhe,beep:Bhe,beginning:`${Pi}G`,down:`${Pi}J`,esc:Pi,getPosition:`${Pi}6n`,hide:`${Pi}?25l`,line:`${Pi}2K`,lineEnd:`${Pi}K`,lineStart:`${Pi}1K`,restorePosition:Pi+(Ihe?"8":"u"),savePosition:Pi+(Ihe?"7":"s"),screen:`${Pi}2J`,show:`${Pi}?25h`,up:`${Pi}1J`},jd=Jc.cursor={get hidden(){return H_},hide(){return H_=!0,bh.hide},show(){return H_=!1,bh.show},forward:(t=1)=>`${Pi}${t}C`,backward:(t=1)=>`${Pi}${t}D`,nextLine:(t=1)=>`${Pi}E`.repeat(t),prevLine:(t=1)=>`${Pi}F`.repeat(t),up:(t=1)=>t?`${Pi}${t}A`:"",down:(t=1)=>t?`${Pi}${t}B`:"",right:(t=1)=>t?`${Pi}${t}C`:"",left:(t=1)=>t?`${Pi}${t}D`:"",to(t,e){return e?`${Pi}${e+1};${t+1}H`:`${Pi}${t+1}G`},move(t=0,e=0){let r="";return r+=t<0?jd.left(-t):t>0?jd.right(t):"",r+=e<0?jd.up(-e):e>0?jd.down(e):"",r},restore(t={}){let{after:e,cursor:r,initial:o,input:a,prompt:n,size:u,value:A}=t;if(o=__.isPrimitive(o)?String(o):"",a=__.isPrimitive(a)?String(a):"",A=__.isPrimitive(A)?String(A):"",u){let p=Jc.cursor.up(u)+Jc.cursor.to(n.length),h=a.length-r;return h>0&&(p+=Jc.cursor.left(h)),p}if(A||e){let p=!a&&!!o?-o.length:-a.length+r;return e&&(p-=e.length),a===""&&o&&!n.includes(o)&&(p+=o.length),Jc.cursor.move(p)}}},q_=Jc.erase={screen:bh.screen,up:bh.up,down:bh.down,line:bh.line,lineEnd:bh.lineEnd,lineStart:bh.lineStart,lines(t){let e="";for(let r=0;r{if(!e)return q_.line+jd.to(0);let r=n=>[...eft.unstyle(n)].length,o=t.split(/\r?\n/),a=0;for(let n of o)a+=1+Math.floor(Math.max(r(n)-1,0)/e);return(q_.line+jd.prevLine()).repeat(a-1)+q_.line+jd.to(0)}});var pC=_((o8t,bhe)=>{"use strict";var tft=ve("events"),She=zc(),G_=Ahe(),rft=phe(),nft=ghe(),ift=whe(),Fa=To(),Yd=Dhe(),u2=class extends tft{constructor(e={}){super(),this.name=e.name,this.type=e.type,this.options=e,ift(this),rft(this),this.state=new nft(this),this.initial=[e.initial,e.default].find(r=>r!=null),this.stdout=e.stdout||process.stdout,this.stdin=e.stdin||process.stdin,this.scale=e.scale||1,this.term=this.options.term||process.env.TERM_PROGRAM,this.margin=oft(this.options.margin),this.setMaxListeners(0),sft(this)}async keypress(e,r={}){this.keypressed=!0;let o=G_.action(e,G_(e,r),this.options.actions);this.state.keypress=o,this.emit("keypress",e,o),this.emit("state",this.state.clone());let a=this.options[o.action]||this[o.action]||this.dispatch;if(typeof a=="function")return await a.call(this,e,o);this.alert()}alert(){delete this.state.alert,this.options.show===!1?this.emit("alert"):this.stdout.write(Yd.code.beep)}cursorHide(){this.stdout.write(Yd.cursor.hide()),Fa.onExit(()=>this.cursorShow())}cursorShow(){this.stdout.write(Yd.cursor.show())}write(e){!e||(this.stdout&&this.state.show!==!1&&this.stdout.write(e),this.state.buffer+=e)}clear(e=0){let r=this.state.buffer;this.state.buffer="",!(!r&&!e||this.options.show===!1)&&this.stdout.write(Yd.cursor.down(e)+Yd.clear(r,this.width))}restore(){if(this.state.closed||this.options.show===!1)return;let{prompt:e,after:r,rest:o}=this.sections(),{cursor:a,initial:n="",input:u="",value:A=""}=this,p=this.state.size=o.length,h={after:r,cursor:a,initial:n,input:u,prompt:e,size:p,value:A},E=Yd.cursor.restore(h);E&&this.stdout.write(E)}sections(){let{buffer:e,input:r,prompt:o}=this.state;o=She.unstyle(o);let a=She.unstyle(e),n=a.indexOf(o),u=a.slice(0,n),p=a.slice(n).split(` +`),h=p[0],E=p[p.length-1],v=(o+(r?" "+r:"")).length,x=ve.call(this,this.value),this.result=()=>o.call(this,this.value),typeof r.initial=="function"&&(this.initial=await r.initial.call(this,this)),typeof r.onRun=="function"&&await r.onRun.call(this,this),typeof r.onSubmit=="function"){let a=r.onSubmit.bind(this),n=this.submit.bind(this);delete this.options.onSubmit,this.submit=async()=>(await a(this.name,this.value,this),n())}await this.start(),await this.render()}render(){throw new Error("expected prompt to have a custom render method")}run(){return new Promise(async(e,r)=>{if(this.once("submit",e),this.once("cancel",r),await this.skip())return this.render=()=>{},this.submit();await this.initialize(),this.emit("run")})}async element(e,r,o){let{options:a,state:n,symbols:u,timers:A}=this,p=A&&A[e];n.timer=p;let h=a[e]||n[e]||u[e],E=r&&r[e]!=null?r[e]:await h;if(E==="")return E;let I=await this.resolve(E,n,r,o);return!I&&r&&r[e]?this.resolve(h,n,r,o):I}async prefix(){let e=await this.element("prefix")||this.symbols,r=this.timers&&this.timers.prefix,o=this.state;return o.timer=r,Fa.isObject(e)&&(e=e[o.status]||e.pending),Fa.hasColor(e)?e:(this.styles[o.status]||this.styles.pending)(e)}async message(){let e=await this.element("message");return Fa.hasColor(e)?e:this.styles.strong(e)}async separator(){let e=await this.element("separator")||this.symbols,r=this.timers&&this.timers.separator,o=this.state;o.timer=r;let a=e[o.status]||e.pending||o.separator,n=await this.resolve(a,o);return Fa.isObject(n)&&(n=n[o.status]||n.pending),Fa.hasColor(n)?n:this.styles.muted(n)}async pointer(e,r){let o=await this.element("pointer",e,r);if(typeof o=="string"&&Fa.hasColor(o))return o;if(o){let a=this.styles,n=this.index===r,u=n?a.primary:h=>h,A=await this.resolve(o[n?"on":"off"]||o,this.state),p=Fa.hasColor(A)?A:u(A);return n?p:" ".repeat(A.length)}}async indicator(e,r){let o=await this.element("indicator",e,r);if(typeof o=="string"&&Fa.hasColor(o))return o;if(o){let a=this.styles,n=e.enabled===!0,u=n?a.success:a.dark,A=o[n?"on":"off"]||o;return Fa.hasColor(A)?A:u(A)}return""}body(){return null}footer(){if(this.state.status==="pending")return this.element("footer")}header(){if(this.state.status==="pending")return this.element("header")}async hint(){if(this.state.status==="pending"&&!this.isValue(this.state.input)){let e=await this.element("hint");return Fa.hasColor(e)?e:this.styles.muted(e)}}error(e){return this.state.submitted?"":e||this.state.error}format(e){return e}result(e){return e}validate(e){return this.options.required===!0?this.isValue(e):!0}isValue(e){return e!=null&&e!==""}resolve(e,...r){return Fa.resolve(this,e,...r)}get base(){return u2.prototype}get style(){return this.styles[this.state.status]}get height(){return this.options.rows||Fa.height(this.stdout,25)}get width(){return this.options.columns||Fa.width(this.stdout,80)}get size(){return{width:this.width,height:this.height}}set cursor(e){this.state.cursor=e}get cursor(){return this.state.cursor}set input(e){this.state.input=e}get input(){return this.state.input}set value(e){this.state.value=e}get value(){let{input:e,value:r}=this.state,o=[r,e].find(this.isValue.bind(this));return this.isValue(o)?o:this.initial}static get prompt(){return e=>new this(e).run()}};function sft(t){let e=a=>t[a]===void 0||typeof t[a]=="function",r=["actions","choices","initial","margin","roles","styles","symbols","theme","timers","value"],o=["body","footer","error","header","hint","indicator","message","prefix","separator","skip"];for(let a of Object.keys(t.options)){if(r.includes(a)||/^on[A-Z]/.test(a))continue;let n=t.options[a];typeof n=="function"&&e(a)?o.includes(a)||(t[a]=n.bind(t)):typeof t[a]!="function"&&(t[a]=n)}}function oft(t){typeof t=="number"&&(t=[t,t,t,t]);let e=[].concat(t||[]),r=a=>a%2===0?` +`:" ",o=[];for(let a=0;a<4;a++){let n=r(a);e[a]?o.push(n.repeat(e[a])):o.push("")}return o}bhe.exports=u2});var Qhe=_((a8t,khe)=>{"use strict";var aft=To(),xhe={default(t,e){return e},checkbox(t,e){throw new Error("checkbox role is not implemented yet")},editable(t,e){throw new Error("editable role is not implemented yet")},expandable(t,e){throw new Error("expandable role is not implemented yet")},heading(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||"",e},input(t,e){throw new Error("input role is not implemented yet")},option(t,e){return xhe.default(t,e)},radio(t,e){throw new Error("radio role is not implemented yet")},separator(t,e){return e.disabled="",e.indicator=[e.indicator," "].find(r=>r!=null),e.message=e.message||t.symbols.line.repeat(5),e},spacer(t,e){return e}};khe.exports=(t,e={})=>{let r=aft.merge({},xhe,e.roles);return r[t]||r.default}});var A2=_((l8t,The)=>{"use strict";var lft=zc(),cft=pC(),uft=Qhe(),ak=To(),{reorder:j_,scrollUp:Aft,scrollDown:fft,isObject:Rhe,swap:pft}=ak,Y_=class extends cft{constructor(e){super(e),this.cursorHide(),this.maxSelected=e.maxSelected||1/0,this.multiple=e.multiple||!1,this.initial=e.initial||0,this.delay=e.delay||0,this.longest=0,this.num=""}async initialize(){typeof this.options.initial=="function"&&(this.initial=await this.options.initial.call(this)),await this.reset(!0),await super.initialize()}async reset(){let{choices:e,initial:r,autofocus:o,suggest:a}=this.options;if(this.state._choices=[],this.state.choices=[],this.choices=await Promise.all(await this.toChoices(e)),this.choices.forEach(n=>n.enabled=!1),typeof a!="function"&&this.selectable.length===0)throw new Error("At least one choice must be selectable");Rhe(r)&&(r=Object.keys(r)),Array.isArray(r)?(o!=null&&(this.index=this.findIndex(o)),r.forEach(n=>this.enable(this.find(n))),await this.render()):(o!=null&&(r=o),typeof r=="string"&&(r=this.findIndex(r)),typeof r=="number"&&r>-1&&(this.index=Math.max(0,Math.min(r,this.choices.length)),this.enable(this.find(this.index)))),this.isDisabled(this.focused)&&await this.down()}async toChoices(e,r){this.state.loadingChoices=!0;let o=[],a=0,n=async(u,A)=>{typeof u=="function"&&(u=await u.call(this)),u instanceof Promise&&(u=await u);for(let p=0;p(this.state.loadingChoices=!1,u))}async toChoice(e,r,o){if(typeof e=="function"&&(e=await e.call(this,this)),e instanceof Promise&&(e=await e),typeof e=="string"&&(e={name:e}),e.normalized)return e;e.normalized=!0;let a=e.value;if(e=uft(e.role,this.options)(this,e),typeof e.disabled=="string"&&!e.hint&&(e.hint=e.disabled,e.disabled=!0),e.disabled===!0&&e.hint==null&&(e.hint="(disabled)"),e.index!=null)return e;e.name=e.name||e.key||e.title||e.value||e.message,e.message=e.message||e.name||"",e.value=[e.value,e.name].find(this.isValue.bind(this)),e.input="",e.index=r,e.cursor=0,ak.define(e,"parent",o),e.level=o?o.level+1:1,e.indent==null&&(e.indent=o?o.indent+" ":e.indent||""),e.path=o?o.path+"."+e.name:e.name,e.enabled=!!(this.multiple&&!this.isDisabled(e)&&(e.enabled||this.isSelected(e))),this.isDisabled(e)||(this.longest=Math.max(this.longest,lft.unstyle(e.message).length));let u={...e};return e.reset=(A=u.input,p=u.value)=>{for(let h of Object.keys(u))e[h]=u[h];e.input=A,e.value=p},a==null&&typeof e.initial=="function"&&(e.input=await e.initial.call(this,this.state,e,r)),e}async onChoice(e,r){this.emit("choice",e,r,this),typeof e.onChoice=="function"&&await e.onChoice.call(this,this.state,e,r)}async addChoice(e,r,o){let a=await this.toChoice(e,r,o);return this.choices.push(a),this.index=this.choices.length-1,this.limit=this.choices.length,a}async newItem(e,r,o){let a={name:"New choice name?",editable:!0,newChoice:!0,...e},n=await this.addChoice(a,r,o);return n.updateChoice=()=>{delete n.newChoice,n.name=n.message=n.input,n.input="",n.cursor=0},this.render()}indent(e){return e.indent==null?e.level>1?" ".repeat(e.level-1):"":e.indent}dispatch(e,r){if(this.multiple&&this[r.name])return this[r.name]();this.alert()}focus(e,r){return typeof r!="boolean"&&(r=e.enabled),r&&!e.enabled&&this.selected.length>=this.maxSelected?this.alert():(this.index=e.index,e.enabled=r&&!this.isDisabled(e),e)}space(){return this.multiple?(this.toggle(this.focused),this.render()):this.alert()}a(){if(this.maxSelectedr.enabled);return this.choices.forEach(r=>r.enabled=!e),this.render()}i(){return this.choices.length-this.selected.length>this.maxSelected?this.alert():(this.choices.forEach(e=>e.enabled=!e.enabled),this.render())}g(e=this.focused){return this.choices.some(r=>!!r.parent)?(this.toggle(e.parent&&!e.choices?e.parent:e),this.render()):this.a()}toggle(e,r){if(!e.enabled&&this.selected.length>=this.maxSelected)return this.alert();typeof r!="boolean"&&(r=!e.enabled),e.enabled=r,e.choices&&e.choices.forEach(a=>this.toggle(a,r));let o=e.parent;for(;o;){let a=o.choices.filter(n=>this.isDisabled(n));o.enabled=a.every(n=>n.enabled===!0),o=o.parent}return Fhe(this,this.choices),this.emit("toggle",e,this),e}enable(e){return this.selected.length>=this.maxSelected?this.alert():(e.enabled=!this.isDisabled(e),e.choices&&e.choices.forEach(this.enable.bind(this)),e)}disable(e){return e.enabled=!1,e.choices&&e.choices.forEach(this.disable.bind(this)),e}number(e){this.num+=e;let r=o=>{let a=Number(o);if(a>this.choices.length-1)return this.alert();let n=this.focused,u=this.choices.find(A=>a===A.index);if(!u.enabled&&this.selected.length>=this.maxSelected)return this.alert();if(this.visible.indexOf(u)===-1){let A=j_(this.choices),p=A.indexOf(u);if(n.index>p){let h=A.slice(p,p+this.limit),E=A.filter(I=>!h.includes(I));this.choices=h.concat(E)}else{let h=p-this.limit+1;this.choices=A.slice(h).concat(A.slice(0,h))}}return this.index=this.choices.indexOf(u),this.toggle(this.focused),this.render()};return clearTimeout(this.numberTimeout),new Promise(o=>{let a=this.choices.length,n=this.num,u=(A=!1,p)=>{clearTimeout(this.numberTimeout),A&&(p=r(n)),this.num="",o(p)};if(n==="0"||n.length===1&&Number(n+"0")>a)return u(!0);if(Number(n)>a)return u(!1,this.alert());this.numberTimeout=setTimeout(()=>u(!0),this.delay)})}home(){return this.choices=j_(this.choices),this.index=0,this.render()}end(){let e=this.choices.length-this.limit,r=j_(this.choices);return this.choices=r.slice(e).concat(r.slice(0,e)),this.index=this.limit-1,this.render()}first(){return this.index=0,this.render()}last(){return this.index=this.visible.length-1,this.render()}prev(){return this.visible.length<=1?this.alert():this.up()}next(){return this.visible.length<=1?this.alert():this.down()}right(){return this.cursor>=this.input.length?this.alert():(this.cursor++,this.render())}left(){return this.cursor<=0?this.alert():(this.cursor--,this.render())}up(){let e=this.choices.length,r=this.visible.length,o=this.index;return this.options.scroll===!1&&o===0?this.alert():e>r&&o===0?this.scrollUp():(this.index=(o-1%e+e)%e,this.isDisabled()?this.up():this.render())}down(){let e=this.choices.length,r=this.visible.length,o=this.index;return this.options.scroll===!1&&o===r-1?this.alert():e>r&&o===r-1?this.scrollDown():(this.index=(o+1)%e,this.isDisabled()?this.down():this.render())}scrollUp(e=0){return this.choices=Aft(this.choices),this.index=e,this.isDisabled()?this.up():this.render()}scrollDown(e=this.visible.length-1){return this.choices=fft(this.choices),this.index=e,this.isDisabled()?this.down():this.render()}async shiftUp(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index-1),await this.up(),this.sorting=!1;return}return this.scrollUp(this.index)}async shiftDown(){if(this.options.sort===!0){this.sorting=!0,this.swap(this.index+1),await this.down(),this.sorting=!1;return}return this.scrollDown(this.index)}pageUp(){return this.visible.length<=1?this.alert():(this.limit=Math.max(this.limit-1,0),this.index=Math.min(this.limit-1,this.index),this._limit=this.limit,this.isDisabled()?this.up():this.render())}pageDown(){return this.visible.length>=this.choices.length?this.alert():(this.index=Math.max(0,this.index),this.limit=Math.min(this.limit+1,this.choices.length),this._limit=this.limit,this.isDisabled()?this.down():this.render())}swap(e){pft(this.choices,this.index,e)}isDisabled(e=this.focused){return e&&["disabled","collapsed","hidden","completing","readonly"].some(o=>e[o]===!0)?!0:e&&e.role==="heading"}isEnabled(e=this.focused){if(Array.isArray(e))return e.every(r=>this.isEnabled(r));if(e.choices){let r=e.choices.filter(o=>!this.isDisabled(o));return e.enabled&&r.every(o=>this.isEnabled(o))}return e.enabled&&!this.isDisabled(e)}isChoice(e,r){return e.name===r||e.index===Number(r)}isSelected(e){return Array.isArray(this.initial)?this.initial.some(r=>this.isChoice(e,r)):this.isChoice(e,this.initial)}map(e=[],r="value"){return[].concat(e||[]).reduce((o,a)=>(o[a]=this.find(a,r),o),{})}filter(e,r){let a=typeof e=="function"?e:(A,p)=>[A.name,p].includes(e),u=(this.options.multiple?this.state._choices:this.choices).filter(a);return r?u.map(A=>A[r]):u}find(e,r){if(Rhe(e))return r?e[r]:e;let a=typeof e=="function"?e:(u,A)=>[u.name,A].includes(e),n=this.choices.find(a);if(n)return r?n[r]:n}findIndex(e){return this.choices.indexOf(this.find(e))}async submit(){let e=this.focused;if(!e)return this.alert();if(e.newChoice)return e.input?(e.updateChoice(),this.render()):this.alert();if(this.choices.some(u=>u.newChoice))return this.alert();let{reorder:r,sort:o}=this.options,a=this.multiple===!0,n=this.selected;return n===void 0?this.alert():(Array.isArray(n)&&r!==!1&&o!==!0&&(n=ak.reorder(n)),this.value=a?n.map(u=>u.name):n.name,super.submit())}set choices(e=[]){this.state._choices=this.state._choices||[],this.state.choices=e;for(let r of e)this.state._choices.some(o=>o.name===r.name)||this.state._choices.push(r);if(!this._initial&&this.options.initial){this._initial=!0;let r=this.initial;if(typeof r=="string"||typeof r=="number"){let o=this.find(r);o&&(this.initial=o.index,this.focus(o,!0))}}}get choices(){return Fhe(this,this.state.choices||[])}set visible(e){this.state.visible=e}get visible(){return(this.state.visible||this.choices).slice(0,this.limit)}set limit(e){this.state.limit=e}get limit(){let{state:e,options:r,choices:o}=this,a=e.limit||this._limit||r.limit||o.length;return Math.min(a,this.height)}set value(e){super.value=e}get value(){return typeof super.value!="string"&&super.value===this.initial?this.input:super.value}set index(e){this.state.index=e}get index(){return Math.max(0,this.state?this.state.index:0)}get enabled(){return this.filter(this.isEnabled.bind(this))}get focused(){let e=this.choices[this.index];return e&&this.state.submitted&&this.multiple!==!0&&(e.enabled=!0),e}get selectable(){return this.choices.filter(e=>!this.isDisabled(e))}get selected(){return this.multiple?this.enabled:this.focused}};function Fhe(t,e){if(e instanceof Promise)return e;if(typeof e=="function"){if(ak.isAsyncFn(e))return e;e=e.call(t,t)}for(let r of e){if(Array.isArray(r.choices)){let o=r.choices.filter(a=>!t.isDisabled(a));r.enabled=o.every(a=>a.enabled===!0)}t.isDisabled(r)===!0&&delete r.enabled}return e}The.exports=Y_});var xh=_((c8t,Lhe)=>{"use strict";var hft=A2(),W_=To(),K_=class extends hft{constructor(e){super(e),this.emptyError=this.options.emptyError||"No items were selected"}async dispatch(e,r){if(this.multiple)return this[r.name]?await this[r.name](e,r):await super.dispatch(e,r);this.alert()}separator(){if(this.options.separator)return super.separator();let e=this.styles.muted(this.symbols.ellipsis);return this.state.submitted?super.separator():e}pointer(e,r){return!this.multiple||this.options.pointer?super.pointer(e,r):""}indicator(e,r){return this.multiple?super.indicator(e,r):""}choiceMessage(e,r){let o=this.resolve(e.message,this.state,e,r);return e.role==="heading"&&!W_.hasColor(o)&&(o=this.styles.strong(o)),this.resolve(o,this.state,e,r)}choiceSeparator(){return":"}async renderChoice(e,r){await this.onChoice(e,r);let o=this.index===r,a=await this.pointer(e,r),n=await this.indicator(e,r)+(e.pad||""),u=await this.resolve(e.hint,this.state,e,r);u&&!W_.hasColor(u)&&(u=this.styles.muted(u));let A=this.indent(e),p=await this.choiceMessage(e,r),h=()=>[this.margin[3],A+a+n,p,this.margin[1],u].filter(Boolean).join(" ");return e.role==="heading"?h():e.disabled?(W_.hasColor(p)||(p=this.styles.disabled(p)),h()):(o&&(p=this.styles.em(p)),h())}async renderChoices(){if(this.state.loading==="choices")return this.styles.warning("Loading choices");if(this.state.submitted)return"";let e=this.visible.map(async(n,u)=>await this.renderChoice(n,u)),r=await Promise.all(e);r.length||r.push(this.styles.danger("No matching choices"));let o=this.margin[0]+r.join(` +`),a;return this.options.choicesHeader&&(a=await this.resolve(this.options.choicesHeader,this.state)),[a,o].filter(Boolean).join(` +`)}format(){return!this.state.submitted||this.state.cancelled?"":Array.isArray(this.selected)?this.selected.map(e=>this.styles.primary(e.name)).join(", "):this.styles.primary(this.selected.name)}async render(){let{submitted:e,size:r}=this.state,o="",a=await this.header(),n=await this.prefix(),u=await this.separator(),A=await this.message();this.options.promptLine!==!1&&(o=[n,A,u,""].join(" "),this.state.prompt=o);let p=await this.format(),h=await this.error()||await this.hint(),E=await this.renderChoices(),I=await this.footer();p&&(o+=p),h&&!o.includes(h)&&(o+=" "+h),e&&!p&&!E.trim()&&this.multiple&&this.emptyError!=null&&(o+=this.styles.danger(this.emptyError)),this.clear(r),this.write([a,o,E,I].filter(Boolean).join(` +`)),this.write(this.margin[2]),this.restore()}};Lhe.exports=K_});var Ohe=_((u8t,Nhe)=>{"use strict";var gft=xh(),dft=(t,e)=>{let r=t.toLowerCase();return o=>{let n=o.toLowerCase().indexOf(r),u=e(o.slice(n,n+r.length));return n>=0?o.slice(0,n)+u+o.slice(n+r.length):o}},z_=class extends gft{constructor(e){super(e),this.cursorShow()}moveCursor(e){this.state.cursor+=e}dispatch(e){return this.append(e)}space(e){return this.options.multiple?super.space(e):this.append(e)}append(e){let{cursor:r,input:o}=this.state;return this.input=o.slice(0,r)+e+o.slice(r),this.moveCursor(1),this.complete()}delete(){let{cursor:e,input:r}=this.state;return r?(this.input=r.slice(0,e-1)+r.slice(e),this.moveCursor(-1),this.complete()):this.alert()}deleteForward(){let{cursor:e,input:r}=this.state;return r[e]===void 0?this.alert():(this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.complete())}number(e){return this.append(e)}async complete(){this.completing=!0,this.choices=await this.suggest(this.input,this.state._choices),this.state.limit=void 0,this.index=Math.min(Math.max(this.visible.length-1,0),this.index),await this.render(),this.completing=!1}suggest(e=this.input,r=this.state._choices){if(typeof this.options.suggest=="function")return this.options.suggest.call(this,e,r);let o=e.toLowerCase();return r.filter(a=>a.message.toLowerCase().includes(o))}pointer(){return""}format(){if(!this.focused)return this.input;if(this.options.multiple&&this.state.submitted)return this.selected.map(e=>this.styles.primary(e.message)).join(", ");if(this.state.submitted){let e=this.value=this.input=this.focused.value;return this.styles.primary(e)}return this.input}async render(){if(this.state.status!=="pending")return super.render();let e=this.options.highlight?this.options.highlight.bind(this):this.styles.placeholder,r=dft(this.input,e),o=this.choices;this.choices=o.map(a=>({...a,message:r(a.message)})),await super.render(),this.choices=o}submit(){return this.options.multiple&&(this.value=this.selected.map(e=>e.name)),super.submit()}};Nhe.exports=z_});var V_=_((A8t,Mhe)=>{"use strict";var J_=To();Mhe.exports=(t,e={})=>{t.cursorHide();let{input:r="",initial:o="",pos:a,showCursor:n=!0,color:u}=e,A=u||t.styles.placeholder,p=J_.inverse(t.styles.primary),h=F=>p(t.styles.black(F)),E=r,I=" ",v=h(I);if(t.blink&&t.blink.off===!0&&(h=F=>F,v=""),n&&a===0&&o===""&&r==="")return h(I);if(n&&a===0&&(r===o||r===""))return h(o[0])+A(o.slice(1));o=J_.isPrimitive(o)?`${o}`:"",r=J_.isPrimitive(r)?`${r}`:"";let x=o&&o.startsWith(r)&&o!==r,C=x?h(o[r.length]):v;if(a!==r.length&&n===!0&&(E=r.slice(0,a)+h(r[a])+r.slice(a+1),C=""),n===!1&&(C=""),x){let F=t.styles.unstyle(E+C);return E+C+A(o.slice(F.length))}return E+C}});var lk=_((f8t,Uhe)=>{"use strict";var mft=zc(),yft=xh(),Eft=V_(),X_=class extends yft{constructor(e){super({...e,multiple:!0}),this.type="form",this.initial=this.options.initial,this.align=[this.options.align,"right"].find(r=>r!=null),this.emptyError="",this.values={}}async reset(e){return await super.reset(),e===!0&&(this._index=this.index),this.index=this._index,this.values={},this.choices.forEach(r=>r.reset&&r.reset()),this.render()}dispatch(e){return!!e&&this.append(e)}append(e){let r=this.focused;if(!r)return this.alert();let{cursor:o,input:a}=r;return r.value=r.input=a.slice(0,o)+e+a.slice(o),r.cursor++,this.render()}delete(){let e=this.focused;if(!e||e.cursor<=0)return this.alert();let{cursor:r,input:o}=e;return e.value=e.input=o.slice(0,r-1)+o.slice(r),e.cursor--,this.render()}deleteForward(){let e=this.focused;if(!e)return this.alert();let{cursor:r,input:o}=e;if(o[r]===void 0)return this.alert();let a=`${o}`.slice(0,r)+`${o}`.slice(r+1);return e.value=e.input=a,this.render()}right(){let e=this.focused;return e?e.cursor>=e.input.length?this.alert():(e.cursor++,this.render()):this.alert()}left(){let e=this.focused;return e?e.cursor<=0?this.alert():(e.cursor--,this.render()):this.alert()}space(e,r){return this.dispatch(e,r)}number(e,r){return this.dispatch(e,r)}next(){let e=this.focused;if(!e)return this.alert();let{initial:r,input:o}=e;return r&&r.startsWith(o)&&o!==r?(e.value=e.input=r,e.cursor=e.value.length,this.render()):super.next()}prev(){let e=this.focused;return e?e.cursor===0?super.prev():(e.value=e.input="",e.cursor=0,this.render()):this.alert()}separator(){return""}format(e){return this.state.submitted?"":super.format(e)}pointer(){return""}indicator(e){return e.input?"\u29BF":"\u2299"}async choiceSeparator(e,r){let o=await this.resolve(e.separator,this.state,e,r)||":";return o?" "+this.styles.disabled(o):""}async renderChoice(e,r){await this.onChoice(e,r);let{state:o,styles:a}=this,{cursor:n,initial:u="",name:A,hint:p,input:h=""}=e,{muted:E,submitted:I,primary:v,danger:x}=a,C=p,F=this.index===r,N=e.validate||(()=>!0),U=await this.choiceSeparator(e,r),J=e.message;this.align==="right"&&(J=J.padStart(this.longest+1," ")),this.align==="left"&&(J=J.padEnd(this.longest+1," "));let te=this.values[A]=h||u,ae=h?"success":"dark";await N.call(e,te,this.state)!==!0&&(ae="danger");let le=a[ae],ce=le(await this.indicator(e,r))+(e.pad||""),we=this.indent(e),de=()=>[we,ce,J+U,h,C].filter(Boolean).join(" ");if(o.submitted)return J=mft.unstyle(J),h=I(h),C="",de();if(e.format)h=await e.format.call(this,h,e,r);else{let Be=this.styles.muted;h=Eft(this,{input:h,initial:u,pos:n,showCursor:F,color:Be})}return this.isValue(h)||(h=this.styles.muted(this.symbols.ellipsis)),e.result&&(this.values[A]=await e.result.call(this,te,e,r)),F&&(J=v(J)),e.error?h+=(h?" ":"")+x(e.error.trim()):e.hint&&(h+=(h?" ":"")+E(e.hint.trim())),de()}async submit(){return this.value=this.values,super.base.submit.call(this)}};Uhe.exports=X_});var Z_=_((p8t,Hhe)=>{"use strict";var Cft=lk(),wft=()=>{throw new Error("expected prompt to have a custom authenticate method")},_he=(t=wft)=>{class e extends Cft{constructor(o){super(o)}async submit(){this.value=await t.call(this,this.values,this.state),super.base.submit.call(this)}static create(o){return _he(o)}}return e};Hhe.exports=_he()});var jhe=_((h8t,Ghe)=>{"use strict";var Ift=Z_();function Bft(t,e){return t.username===this.options.username&&t.password===this.options.password}var qhe=(t=Bft)=>{let e=[{name:"username",message:"username"},{name:"password",message:"password",format(o){return this.options.showPassword?o:(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(o.length))}}];class r extends Ift.create(t){constructor(a){super({...a,choices:e})}static create(a){return qhe(a)}}return r};Ghe.exports=qhe()});var ck=_((g8t,Yhe)=>{"use strict";var vft=pC(),{isPrimitive:Pft,hasColor:Dft}=To(),$_=class extends vft{constructor(e){super(e),this.cursorHide()}async initialize(){let e=await this.resolve(this.initial,this.state);this.input=await this.cast(e),await super.initialize()}dispatch(e){return this.isValue(e)?(this.input=e,this.submit()):this.alert()}format(e){let{styles:r,state:o}=this;return o.submitted?r.success(e):r.primary(e)}cast(e){return this.isTrue(e)}isTrue(e){return/^[ty1]/i.test(e)}isFalse(e){return/^[fn0]/i.test(e)}isValue(e){return Pft(e)&&(this.isTrue(e)||this.isFalse(e))}async hint(){if(this.state.status==="pending"){let e=await this.element("hint");return Dft(e)?e:this.styles.muted(e)}}async render(){let{input:e,size:r}=this.state,o=await this.prefix(),a=await this.separator(),n=await this.message(),u=this.styles.muted(this.default),A=[o,n,u,a].filter(Boolean).join(" ");this.state.prompt=A;let p=await this.header(),h=this.value=this.cast(e),E=await this.format(h),I=await this.error()||await this.hint(),v=await this.footer();I&&!A.includes(I)&&(E+=" "+I),A+=" "+E,this.clear(r),this.write([p,A,v].filter(Boolean).join(` +`)),this.restore()}set value(e){super.value=e}get value(){return this.cast(super.value)}};Yhe.exports=$_});var Khe=_((d8t,Whe)=>{"use strict";var Sft=ck(),e8=class extends Sft{constructor(e){super(e),this.default=this.options.default||(this.initial?"(Y/n)":"(y/N)")}};Whe.exports=e8});var Jhe=_((m8t,zhe)=>{"use strict";var bft=xh(),xft=lk(),hC=xft.prototype,t8=class extends bft{constructor(e){super({...e,multiple:!0}),this.align=[this.options.align,"left"].find(r=>r!=null),this.emptyError="",this.values={}}dispatch(e,r){let o=this.focused,a=o.parent||{};return!o.editable&&!a.editable&&(e==="a"||e==="i")?super[e]():hC.dispatch.call(this,e,r)}append(e,r){return hC.append.call(this,e,r)}delete(e,r){return hC.delete.call(this,e,r)}space(e){return this.focused.editable?this.append(e):super.space()}number(e){return this.focused.editable?this.append(e):super.number(e)}next(){return this.focused.editable?hC.next.call(this):super.next()}prev(){return this.focused.editable?hC.prev.call(this):super.prev()}async indicator(e,r){let o=e.indicator||"",a=e.editable?o:super.indicator(e,r);return await this.resolve(a,this.state,e,r)||""}indent(e){return e.role==="heading"?"":e.editable?" ":" "}async renderChoice(e,r){return e.indent="",e.editable?hC.renderChoice.call(this,e,r):super.renderChoice(e,r)}error(){return""}footer(){return this.state.error}async validate(){let e=!0;for(let r of this.choices){if(typeof r.validate!="function"||r.role==="heading")continue;let o=r.parent?this.value[r.parent.name]:this.value;if(r.editable?o=r.value===r.name?r.initial||"":r.value:this.isDisabled(r)||(o=r.enabled===!0),e=await r.validate(o,this.state),e!==!0)break}return e!==!0&&(this.state.error=typeof e=="string"?e:"Invalid Input"),e}submit(){if(this.focused.newChoice===!0)return super.submit();if(this.choices.some(e=>e.newChoice))return this.alert();this.value={};for(let e of this.choices){let r=e.parent?this.value[e.parent.name]:this.value;if(e.role==="heading"){this.value[e.name]={};continue}e.editable?r[e.name]=e.value===e.name?e.initial||"":e.value:this.isDisabled(e)||(r[e.name]=e.enabled===!0)}return this.base.submit.call(this)}};zhe.exports=t8});var Wd=_((y8t,Vhe)=>{"use strict";var kft=pC(),Qft=V_(),{isPrimitive:Rft}=To(),r8=class extends kft{constructor(e){super(e),this.initial=Rft(this.initial)?String(this.initial):"",this.initial&&this.cursorHide(),this.state.prevCursor=0,this.state.clipboard=[]}async keypress(e,r={}){let o=this.state.prevKeypress;return this.state.prevKeypress=r,this.options.multiline===!0&&r.name==="return"&&(!o||o.name!=="return")?this.append(` +`,r):super.keypress(e,r)}moveCursor(e){this.cursor+=e}reset(){return this.input=this.value="",this.cursor=0,this.render()}dispatch(e,r){if(!e||r.ctrl||r.code)return this.alert();this.append(e)}append(e){let{cursor:r,input:o}=this.state;this.input=`${o}`.slice(0,r)+e+`${o}`.slice(r),this.moveCursor(String(e).length),this.render()}insert(e){this.append(e)}delete(){let{cursor:e,input:r}=this.state;if(e<=0)return this.alert();this.input=`${r}`.slice(0,e-1)+`${r}`.slice(e),this.moveCursor(-1),this.render()}deleteForward(){let{cursor:e,input:r}=this.state;if(r[e]===void 0)return this.alert();this.input=`${r}`.slice(0,e)+`${r}`.slice(e+1),this.render()}cutForward(){let e=this.cursor;if(this.input.length<=e)return this.alert();this.state.clipboard.push(this.input.slice(e)),this.input=this.input.slice(0,e),this.render()}cutLeft(){let e=this.cursor;if(e===0)return this.alert();let r=this.input.slice(0,e),o=this.input.slice(e),a=r.split(" ");this.state.clipboard.push(a.pop()),this.input=a.join(" "),this.cursor=this.input.length,this.input+=o,this.render()}paste(){if(!this.state.clipboard.length)return this.alert();this.insert(this.state.clipboard.pop()),this.render()}toggleCursor(){this.state.prevCursor?(this.cursor=this.state.prevCursor,this.state.prevCursor=0):(this.state.prevCursor=this.cursor,this.cursor=0),this.render()}first(){this.cursor=0,this.render()}last(){this.cursor=this.input.length-1,this.render()}next(){let e=this.initial!=null?String(this.initial):"";if(!e||!e.startsWith(this.input))return this.alert();this.input=this.initial,this.cursor=this.initial.length,this.render()}prev(){if(!this.input)return this.alert();this.reset()}backward(){return this.left()}forward(){return this.right()}right(){return this.cursor>=this.input.length?this.alert():(this.moveCursor(1),this.render())}left(){return this.cursor<=0?this.alert():(this.moveCursor(-1),this.render())}isValue(e){return!!e}async format(e=this.value){let r=await this.resolve(this.initial,this.state);return this.state.submitted?this.styles.submitted(e||r):Qft(this,{input:e,initial:r,pos:this.cursor})}async render(){let e=this.state.size,r=await this.prefix(),o=await this.separator(),a=await this.message(),n=[r,a,o].filter(Boolean).join(" ");this.state.prompt=n;let u=await this.header(),A=await this.format(),p=await this.error()||await this.hint(),h=await this.footer();p&&!A.includes(p)&&(A+=" "+p),n+=" "+A,this.clear(e),this.write([u,n,h].filter(Boolean).join(` +`)),this.restore()}};Vhe.exports=r8});var Zhe=_((E8t,Xhe)=>{"use strict";var Fft=t=>t.filter((e,r)=>t.lastIndexOf(e)===r),uk=t=>Fft(t).filter(Boolean);Xhe.exports=(t,e={},r="")=>{let{past:o=[],present:a=""}=e,n,u;switch(t){case"prev":case"undo":return n=o.slice(0,o.length-1),u=o[o.length-1]||"",{past:uk([r,...n]),present:u};case"next":case"redo":return n=o.slice(1),u=o[0]||"",{past:uk([...n,r]),present:u};case"save":return{past:uk([...o,r]),present:""};case"remove":return u=uk(o.filter(A=>A!==r)),a="",u.length&&(a=u.pop()),{past:u,present:a};default:throw new Error(`Invalid action: "${t}"`)}}});var i8=_((C8t,e0e)=>{"use strict";var Tft=Wd(),$he=Zhe(),n8=class extends Tft{constructor(e){super(e);let r=this.options.history;if(r&&r.store){let o=r.values||this.initial;this.autosave=!!r.autosave,this.store=r.store,this.data=this.store.get("values")||{past:[],present:o},this.initial=this.data.present||this.data.past[this.data.past.length-1]}}completion(e){return this.store?(this.data=$he(e,this.data,this.input),this.data.present?(this.input=this.data.present,this.cursor=this.input.length,this.render()):this.alert()):this.alert()}altUp(){return this.completion("prev")}altDown(){return this.completion("next")}prev(){return this.save(),super.prev()}save(){!this.store||(this.data=$he("save",this.data,this.input),this.store.set("values",this.data))}submit(){return this.store&&this.autosave===!0&&this.save(),super.submit()}};e0e.exports=n8});var r0e=_((w8t,t0e)=>{"use strict";var Lft=Wd(),s8=class extends Lft{format(){return""}};t0e.exports=s8});var i0e=_((I8t,n0e)=>{"use strict";var Nft=Wd(),o8=class extends Nft{constructor(e={}){super(e),this.sep=this.options.separator||/, */,this.initial=e.initial||""}split(e=this.value){return e?String(e).split(this.sep):[]}format(){let e=this.state.submitted?this.styles.primary:r=>r;return this.list.map(e).join(", ")}async submit(e){let r=this.state.error||await this.validate(this.list,this.state);return r!==!0?(this.state.error=r,super.submit()):(this.value=this.list,super.submit())}get list(){return this.split()}};n0e.exports=o8});var o0e=_((B8t,s0e)=>{"use strict";var Oft=xh(),a8=class extends Oft{constructor(e){super({...e,multiple:!0})}};s0e.exports=a8});var c8=_((v8t,a0e)=>{"use strict";var Mft=Wd(),l8=class extends Mft{constructor(e={}){super({style:"number",...e}),this.min=this.isValue(e.min)?this.toNumber(e.min):-1/0,this.max=this.isValue(e.max)?this.toNumber(e.max):1/0,this.delay=e.delay!=null?e.delay:1e3,this.float=e.float!==!1,this.round=e.round===!0||e.float===!1,this.major=e.major||10,this.minor=e.minor||1,this.initial=e.initial!=null?e.initial:"",this.input=String(this.initial),this.cursor=this.input.length,this.cursorShow()}append(e){return!/[-+.]/.test(e)||e==="."&&this.input.includes(".")?this.alert("invalid number"):super.append(e)}number(e){return super.append(e)}next(){return this.input&&this.input!==this.initial?this.alert():this.isValue(this.initial)?(this.input=this.initial,this.cursor=String(this.initial).length,this.render()):this.alert()}up(e){let r=e||this.minor,o=this.toNumber(this.input);return o>this.max+r?this.alert():(this.input=`${o+r}`,this.render())}down(e){let r=e||this.minor,o=this.toNumber(this.input);return othis.isValue(r));return this.value=this.toNumber(e||0),super.submit()}};a0e.exports=l8});var c0e=_((P8t,l0e)=>{l0e.exports=c8()});var A0e=_((D8t,u0e)=>{"use strict";var Uft=Wd(),u8=class extends Uft{constructor(e){super(e),this.cursorShow()}format(e=this.input){return this.keypressed?(this.state.submitted?this.styles.primary:this.styles.muted)(this.symbols.asterisk.repeat(e.length)):""}};u0e.exports=u8});var h0e=_((S8t,p0e)=>{"use strict";var _ft=zc(),Hft=A2(),f0e=To(),A8=class extends Hft{constructor(e={}){super(e),this.widths=[].concat(e.messageWidth||50),this.align=[].concat(e.align||"left"),this.linebreak=e.linebreak||!1,this.edgeLength=e.edgeLength||3,this.newline=e.newline||` + `;let r=e.startNumber||1;typeof this.scale=="number"&&(this.scaleKey=!1,this.scale=Array(this.scale).fill(0).map((o,a)=>({name:a+r})))}async reset(){return this.tableized=!1,await super.reset(),this.render()}tableize(){if(this.tableized===!0)return;this.tableized=!0;let e=0;for(let r of this.choices){e=Math.max(e,r.message.length),r.scaleIndex=r.initial||2,r.scale=[];for(let o=0;o=this.scale.length-1?this.alert():(e.scaleIndex++,this.render())}left(){let e=this.focused;return e.scaleIndex<=0?this.alert():(e.scaleIndex--,this.render())}indent(){return""}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.index)).join(", "):""}pointer(){return""}renderScaleKey(){return this.scaleKey===!1||this.state.submitted?"":["",...this.scale.map(o=>` ${o.name} - ${o.message}`)].map(o=>this.styles.muted(o)).join(` +`)}renderScaleHeading(e){let r=this.scale.map(p=>p.name);typeof this.options.renderScaleHeading=="function"&&(r=this.options.renderScaleHeading.call(this,e));let o=this.scaleLength-r.join("").length,a=Math.round(o/(r.length-1)),u=r.map(p=>this.styles.strong(p)).join(" ".repeat(a)),A=" ".repeat(this.widths[0]);return this.margin[3]+A+this.margin[1]+u}scaleIndicator(e,r,o){if(typeof this.options.scaleIndicator=="function")return this.options.scaleIndicator.call(this,e,r,o);let a=e.scaleIndex===r.index;return r.disabled?this.styles.hint(this.symbols.radio.disabled):a?this.styles.success(this.symbols.radio.on):this.symbols.radio.off}renderScale(e,r){let o=e.scale.map(n=>this.scaleIndicator(e,n,r)),a=this.term==="Hyper"?"":" ";return o.join(a+this.symbols.line.repeat(this.edgeLength))}async renderChoice(e,r){await this.onChoice(e,r);let o=this.index===r,a=await this.pointer(e,r),n=await e.hint;n&&!f0e.hasColor(n)&&(n=this.styles.muted(n));let u=C=>this.margin[3]+C.replace(/\s+$/,"").padEnd(this.widths[0]," "),A=this.newline,p=this.indent(e),h=await this.resolve(e.message,this.state,e,r),E=await this.renderScale(e,r),I=this.margin[1]+this.margin[3];this.scaleLength=_ft.unstyle(E).length,this.widths[0]=Math.min(this.widths[0],this.width-this.scaleLength-I.length);let x=f0e.wordWrap(h,{width:this.widths[0],newline:A}).split(` +`).map(C=>u(C)+this.margin[1]);return o&&(E=this.styles.info(E),x=x.map(C=>this.styles.info(C))),x[0]+=E,this.linebreak&&x.push(""),[p+a,x.join(` +`)].filter(Boolean)}async renderChoices(){if(this.state.submitted)return"";this.tableize();let e=this.visible.map(async(a,n)=>await this.renderChoice(a,n)),r=await Promise.all(e),o=await this.renderScaleHeading();return this.margin[0]+[o,...r.map(a=>a.join(" "))].join(` +`)}async render(){let{submitted:e,size:r}=this.state,o=await this.prefix(),a=await this.separator(),n=await this.message(),u="";this.options.promptLine!==!1&&(u=[o,n,a,""].join(" "),this.state.prompt=u);let A=await this.header(),p=await this.format(),h=await this.renderScaleKey(),E=await this.error()||await this.hint(),I=await this.renderChoices(),v=await this.footer(),x=this.emptyError;p&&(u+=p),E&&!u.includes(E)&&(u+=" "+E),e&&!p&&!I.trim()&&this.multiple&&x!=null&&(u+=this.styles.danger(x)),this.clear(r),this.write([A,u,h,I,v].filter(Boolean).join(` +`)),this.state.submitted||this.write(this.margin[2]),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIndex;return this.base.submit.call(this)}};p0e.exports=A8});var m0e=_((b8t,d0e)=>{"use strict";var g0e=zc(),qft=(t="")=>typeof t=="string"?t.replace(/^['"]|['"]$/g,""):"",p8=class{constructor(e){this.name=e.key,this.field=e.field||{},this.value=qft(e.initial||this.field.initial||""),this.message=e.message||this.name,this.cursor=0,this.input="",this.lines=[]}},Gft=async(t={},e={},r=o=>o)=>{let o=new Set,a=t.fields||[],n=t.template,u=[],A=[],p=[],h=1;typeof n=="function"&&(n=await n());let E=-1,I=()=>n[++E],v=()=>n[E+1],x=C=>{C.line=h,u.push(C)};for(x({type:"bos",value:""});Eae.name===U.key);U.field=a.find(ae=>ae.name===U.key),te||(te=new p8(U),A.push(te)),te.lines.push(U.line-1);continue}let F=u[u.length-1];F.type==="text"&&F.line===h?F.value+=C:x({type:"text",value:C})}return x({type:"eos",value:""}),{input:n,tabstops:u,unique:o,keys:p,items:A}};d0e.exports=async t=>{let e=t.options,r=new Set(e.required===!0?[]:e.required||[]),o={...e.values,...e.initial},{tabstops:a,items:n,keys:u}=await Gft(e,o),A=f8("result",t,e),p=f8("format",t,e),h=f8("validate",t,e,!0),E=t.isValue.bind(t);return async(I={},v=!1)=>{let x=0;I.required=r,I.items=n,I.keys=u,I.output="";let C=async(J,te,ae,le)=>{let ce=await h(J,te,ae,le);return ce===!1?"Invalid field "+ae.name:ce};for(let J of a){let te=J.value,ae=J.key;if(J.type!=="template"){te&&(I.output+=te);continue}if(J.type==="template"){let le=n.find(Ee=>Ee.name===ae);e.required===!0&&I.required.add(le.name);let ce=[le.input,I.values[le.value],le.value,te].find(E),de=(le.field||{}).message||J.inner;if(v){let Ee=await C(I.values[ae],I,le,x);if(Ee&&typeof Ee=="string"||Ee===!1){I.invalid.set(ae,Ee);continue}I.invalid.delete(ae);let g=await A(I.values[ae],I,le,x);I.output+=g0e.unstyle(g);continue}le.placeholder=!1;let Be=te;te=await p(te,I,le,x),ce!==te?(I.values[ae]=ce,te=t.styles.typing(ce),I.missing.delete(de)):(I.values[ae]=void 0,ce=`<${de}>`,te=t.styles.primary(ce),le.placeholder=!0,I.required.has(ae)&&I.missing.add(de)),I.missing.has(de)&&I.validating&&(te=t.styles.warning(ce)),I.invalid.has(ae)&&I.validating&&(te=t.styles.danger(ce)),x===I.index&&(Be!==te?te=t.styles.underline(te):te=t.styles.heading(g0e.unstyle(te))),x++}te&&(I.output+=te)}let F=I.output.split(` +`).map(J=>" "+J),N=n.length,U=0;for(let J of n)I.invalid.has(J.name)&&J.lines.forEach(te=>{F[te][0]===" "&&(F[te]=I.styles.danger(I.symbols.bullet)+F[te].slice(1))}),t.isValue(I.values[J.name])&&U++;return I.completed=(U/N*100).toFixed(0),I.output=F.join(` +`),I.output}};function f8(t,e,r,o){return(a,n,u,A)=>typeof u.field[t]=="function"?u.field[t].call(e,a,n,u,A):[o,a].find(p=>e.isValue(p))}});var E0e=_((x8t,y0e)=>{"use strict";var jft=zc(),Yft=m0e(),Wft=pC(),h8=class extends Wft{constructor(e){super(e),this.cursorHide(),this.reset(!0)}async initialize(){this.interpolate=await Yft(this),await super.initialize()}async reset(e){this.state.keys=[],this.state.invalid=new Map,this.state.missing=new Set,this.state.completed=0,this.state.values={},e!==!0&&(await this.initialize(),await this.render())}moveCursor(e){let r=this.getItem();this.cursor+=e,r.cursor+=e}dispatch(e,r){if(!r.code&&!r.ctrl&&e!=null&&this.getItem()){this.append(e,r);return}this.alert()}append(e,r){let o=this.getItem(),a=o.input.slice(0,this.cursor),n=o.input.slice(this.cursor);this.input=o.input=`${a}${e}${n}`,this.moveCursor(1),this.render()}delete(){let e=this.getItem();if(this.cursor<=0||!e.input)return this.alert();let r=e.input.slice(this.cursor),o=e.input.slice(0,this.cursor-1);this.input=e.input=`${o}${r}`,this.moveCursor(-1),this.render()}increment(e){return e>=this.state.keys.length-1?0:e+1}decrement(e){return e<=0?this.state.keys.length-1:e-1}first(){this.state.index=0,this.render()}last(){this.state.index=this.state.keys.length-1,this.render()}right(){if(this.cursor>=this.input.length)return this.alert();this.moveCursor(1),this.render()}left(){if(this.cursor<=0)return this.alert();this.moveCursor(-1),this.render()}prev(){this.state.index=this.decrement(this.state.index),this.getItem(),this.render()}next(){this.state.index=this.increment(this.state.index),this.getItem(),this.render()}up(){this.prev()}down(){this.next()}format(e){let r=this.state.completed<100?this.styles.warning:this.styles.success;return this.state.submitted===!0&&this.state.completed!==100&&(r=this.styles.danger),r(`${this.state.completed}% completed`)}async render(){let{index:e,keys:r=[],submitted:o,size:a}=this.state,n=[this.options.newline,` +`].find(J=>J!=null),u=await this.prefix(),A=await this.separator(),p=await this.message(),h=[u,p,A].filter(Boolean).join(" ");this.state.prompt=h;let E=await this.header(),I=await this.error()||"",v=await this.hint()||"",x=o?"":await this.interpolate(this.state),C=this.state.key=r[e]||"",F=await this.format(C),N=await this.footer();F&&(h+=" "+F),v&&!F&&this.state.completed===0&&(h+=" "+v),this.clear(a);let U=[E,h,x,N,I.trim()];this.write(U.filter(Boolean).join(n)),this.restore()}getItem(e){let{items:r,keys:o,index:a}=this.state,n=r.find(u=>u.name===o[a]);return n&&n.input!=null&&(this.input=n.input,this.cursor=n.cursor),n}async submit(){typeof this.interpolate!="function"&&await this.initialize(),await this.interpolate(this.state,!0);let{invalid:e,missing:r,output:o,values:a}=this.state;if(e.size){let A="";for(let[p,h]of e)A+=`Invalid ${p}: ${h} +`;return this.state.error=A,super.submit()}if(r.size)return this.state.error="Required: "+[...r.keys()].join(", "),super.submit();let u=jft.unstyle(o).split(` +`).map(A=>A.slice(1)).join(` +`);return this.value={values:a,result:u},super.submit()}};y0e.exports=h8});var w0e=_((k8t,C0e)=>{"use strict";var Kft="(Use + to sort)",zft=xh(),g8=class extends zft{constructor(e){super({...e,reorder:!1,sort:!0,multiple:!0}),this.state.hint=[this.options.hint,Kft].find(this.isValue.bind(this))}indicator(){return""}async renderChoice(e,r){let o=await super.renderChoice(e,r),a=this.symbols.identicalTo+" ",n=this.index===r&&this.sorting?this.styles.muted(a):" ";return this.options.drag===!1&&(n=""),this.options.numbered===!0?n+`${r+1} - `+o:n+o}get selected(){return this.choices}submit(){return this.value=this.choices.map(e=>e.value),super.submit()}};C0e.exports=g8});var B0e=_((Q8t,I0e)=>{"use strict";var Jft=A2(),d8=class extends Jft{constructor(e={}){if(super(e),this.emptyError=e.emptyError||"No items were selected",this.term=process.env.TERM_PROGRAM,!this.options.header){let r=["","4 - Strongly Agree","3 - Agree","2 - Neutral","1 - Disagree","0 - Strongly Disagree",""];r=r.map(o=>this.styles.muted(o)),this.state.header=r.join(` + `)}}async toChoices(...e){if(this.createdScales)return!1;this.createdScales=!0;let r=await super.toChoices(...e);for(let o of r)o.scale=Vft(5,this.options),o.scaleIdx=2;return r}dispatch(){this.alert()}space(){let e=this.focused,r=e.scale[e.scaleIdx],o=r.selected;return e.scale.forEach(a=>a.selected=!1),r.selected=!o,this.render()}indicator(){return""}pointer(){return""}separator(){return this.styles.muted(this.symbols.ellipsis)}right(){let e=this.focused;return e.scaleIdx>=e.scale.length-1?this.alert():(e.scaleIdx++,this.render())}left(){let e=this.focused;return e.scaleIdx<=0?this.alert():(e.scaleIdx--,this.render())}indent(){return" "}async renderChoice(e,r){await this.onChoice(e,r);let o=this.index===r,a=this.term==="Hyper",n=a?9:8,u=a?"":" ",A=this.symbols.line.repeat(n),p=" ".repeat(n+(a?0:1)),h=te=>(te?this.styles.success("\u25C9"):"\u25EF")+u,E=r+1+".",I=o?this.styles.heading:this.styles.noop,v=await this.resolve(e.message,this.state,e,r),x=this.indent(e),C=x+e.scale.map((te,ae)=>h(ae===e.scaleIdx)).join(A),F=te=>te===e.scaleIdx?I(te):te,N=x+e.scale.map((te,ae)=>F(ae)).join(p),U=()=>[E,v].filter(Boolean).join(" "),J=()=>[U(),C,N," "].filter(Boolean).join(` +`);return o&&(C=this.styles.cyan(C),N=this.styles.cyan(N)),J()}async renderChoices(){if(this.state.submitted)return"";let e=this.visible.map(async(o,a)=>await this.renderChoice(o,a)),r=await Promise.all(e);return r.length||r.push(this.styles.danger("No matching choices")),r.join(` +`)}format(){return this.state.submitted?this.choices.map(r=>this.styles.info(r.scaleIdx)).join(", "):""}async render(){let{submitted:e,size:r}=this.state,o=await this.prefix(),a=await this.separator(),n=await this.message(),u=[o,n,a].filter(Boolean).join(" ");this.state.prompt=u;let A=await this.header(),p=await this.format(),h=await this.error()||await this.hint(),E=await this.renderChoices(),I=await this.footer();(p||!h)&&(u+=" "+p),h&&!u.includes(h)&&(u+=" "+h),e&&!p&&!E&&this.multiple&&this.type!=="form"&&(u+=this.styles.danger(this.emptyError)),this.clear(r),this.write([u,A,E,I].filter(Boolean).join(` +`)),this.restore()}submit(){this.value={};for(let e of this.choices)this.value[e.name]=e.scaleIdx;return this.base.submit.call(this)}};function Vft(t,e={}){if(Array.isArray(e.scale))return e.scale.map(o=>({...o}));let r=[];for(let o=1;o{v0e.exports=i8()});var S0e=_((F8t,D0e)=>{"use strict";var Xft=ck(),m8=class extends Xft{async initialize(){await super.initialize(),this.value=this.initial=!!this.options.initial,this.disabled=this.options.disabled||"no",this.enabled=this.options.enabled||"yes",await this.render()}reset(){this.value=this.initial,this.render()}delete(){this.alert()}toggle(){this.value=!this.value,this.render()}enable(){if(this.value===!0)return this.alert();this.value=!0,this.render()}disable(){if(this.value===!1)return this.alert();this.value=!1,this.render()}up(){this.toggle()}down(){this.toggle()}right(){this.toggle()}left(){this.toggle()}next(){this.toggle()}prev(){this.toggle()}dispatch(e="",r){switch(e.toLowerCase()){case" ":return this.toggle();case"1":case"y":case"t":return this.enable();case"0":case"n":case"f":return this.disable();default:return this.alert()}}format(){let e=o=>this.styles.primary.underline(o);return[this.value?this.disabled:e(this.disabled),this.value?e(this.enabled):this.enabled].join(this.styles.muted(" / "))}async render(){let{size:e}=this.state,r=await this.header(),o=await this.prefix(),a=await this.separator(),n=await this.message(),u=await this.format(),A=await this.error()||await this.hint(),p=await this.footer(),h=[o,n,a,u].join(" ");this.state.prompt=h,A&&!h.includes(A)&&(h+=" "+A),this.clear(e),this.write([r,h,p].filter(Boolean).join(` +`)),this.write(this.margin[2]),this.restore()}};D0e.exports=m8});var x0e=_((T8t,b0e)=>{"use strict";var Zft=xh(),y8=class extends Zft{constructor(e){if(super(e),typeof this.options.correctChoice!="number"||this.options.correctChoice<0)throw new Error("Please specify the index of the correct answer from the list of choices")}async toChoices(e,r){let o=await super.toChoices(e,r);if(o.length<2)throw new Error("Please give at least two choices to the user");if(this.options.correctChoice>o.length)throw new Error("Please specify the index of the correct answer from the list of choices");return o}check(e){return e.index===this.options.correctChoice}async result(e){return{selectedAnswer:e,correctAnswer:this.options.choices[this.options.correctChoice].value,correct:await this.check(this.state)}}};b0e.exports=y8});var Q0e=_(E8=>{"use strict";var k0e=To(),ps=(t,e)=>{k0e.defineExport(E8,t,e),k0e.defineExport(E8,t.toLowerCase(),e)};ps("AutoComplete",()=>Ohe());ps("BasicAuth",()=>jhe());ps("Confirm",()=>Khe());ps("Editable",()=>Jhe());ps("Form",()=>lk());ps("Input",()=>i8());ps("Invisible",()=>r0e());ps("List",()=>i0e());ps("MultiSelect",()=>o0e());ps("Numeral",()=>c0e());ps("Password",()=>A0e());ps("Scale",()=>h0e());ps("Select",()=>xh());ps("Snippet",()=>E0e());ps("Sort",()=>w0e());ps("Survey",()=>B0e());ps("Text",()=>P0e());ps("Toggle",()=>S0e());ps("Quiz",()=>x0e())});var F0e=_((N8t,R0e)=>{R0e.exports={ArrayPrompt:A2(),AuthPrompt:Z_(),BooleanPrompt:ck(),NumberPrompt:c8(),StringPrompt:Wd()}});var p2=_((O8t,L0e)=>{"use strict";var T0e=ve("assert"),w8=ve("events"),kh=To(),Vc=class extends w8{constructor(e,r){super(),this.options=kh.merge({},e),this.answers={...r}}register(e,r){if(kh.isObject(e)){for(let a of Object.keys(e))this.register(a,e[a]);return this}T0e.equal(typeof r,"function","expected a function");let o=e.toLowerCase();return r.prototype instanceof this.Prompt?this.prompts[o]=r:this.prompts[o]=r(this.Prompt,this),this}async prompt(e=[]){for(let r of[].concat(e))try{typeof r=="function"&&(r=await r.call(this)),await this.ask(kh.merge({},this.options,r))}catch(o){return Promise.reject(o)}return this.answers}async ask(e){typeof e=="function"&&(e=await e.call(this));let r=kh.merge({},this.options,e),{type:o,name:a}=e,{set:n,get:u}=kh;if(typeof o=="function"&&(o=await o.call(this,e,this.answers)),!o)return this.answers[a];T0e(this.prompts[o],`Prompt "${o}" is not registered`);let A=new this.prompts[o](r),p=u(this.answers,a);A.state.answers=this.answers,A.enquirer=this,a&&A.on("submit",E=>{this.emit("answer",a,E,A),n(this.answers,a,E)});let h=A.emit.bind(A);return A.emit=(...E)=>(this.emit.call(this,...E),h(...E)),this.emit("prompt",A,this),r.autofill&&p!=null?(A.value=A.input=p,r.autofill==="show"&&await A.submit()):p=A.value=await A.run(),p}use(e){return e.call(this,this),this}set Prompt(e){this._Prompt=e}get Prompt(){return this._Prompt||this.constructor.Prompt}get prompts(){return this.constructor.prompts}static set Prompt(e){this._Prompt=e}static get Prompt(){return this._Prompt||pC()}static get prompts(){return Q0e()}static get types(){return F0e()}static get prompt(){let e=(r,...o)=>{let a=new this(...o),n=a.emit.bind(a);return a.emit=(...u)=>(e.emit(...u),n(...u)),a.prompt(r)};return kh.mixinEmitter(e,new w8),e}};kh.mixinEmitter(Vc,new w8);var C8=Vc.prompts;for(let t of Object.keys(C8)){let e=t.toLowerCase(),r=o=>new C8[t](o).run();Vc.prompt[e]=r,Vc[e]=r,Vc[t]||Reflect.defineProperty(Vc,t,{get:()=>C8[t]})}var f2=t=>{kh.defineExport(Vc,t,()=>Vc.types[t])};f2("ArrayPrompt");f2("AuthPrompt");f2("BooleanPrompt");f2("NumberPrompt");f2("StringPrompt");L0e.exports=Vc});var m2=_((EHt,q0e)=>{var ipt=Xx();function spt(t,e,r){var o=t==null?void 0:ipt(t,e);return o===void 0?r:o}q0e.exports=spt});var Y0e=_((PHt,j0e)=>{function opt(t,e){for(var r=-1,o=t==null?0:t.length;++r{var apt=md(),lpt=VD();function cpt(t,e){return t&&apt(e,lpt(e),t)}W0e.exports=cpt});var J0e=_((SHt,z0e)=>{var upt=md(),Apt=Gy();function fpt(t,e){return t&&upt(e,Apt(e),t)}z0e.exports=fpt});var X0e=_((bHt,V0e)=>{var ppt=md(),hpt=jD();function gpt(t,e){return ppt(t,hpt(t),e)}V0e.exports=gpt});var S8=_((xHt,Z0e)=>{var dpt=GD(),mpt=tS(),ypt=jD(),Ept=zL(),Cpt=Object.getOwnPropertySymbols,wpt=Cpt?function(t){for(var e=[];t;)dpt(e,ypt(t)),t=mpt(t);return e}:Ept;Z0e.exports=wpt});var ege=_((kHt,$0e)=>{var Ipt=md(),Bpt=S8();function vpt(t,e){return Ipt(t,Bpt(t),e)}$0e.exports=vpt});var b8=_((QHt,tge)=>{var Ppt=KL(),Dpt=S8(),Spt=Gy();function bpt(t){return Ppt(t,Spt,Dpt)}tge.exports=bpt});var nge=_((RHt,rge)=>{var xpt=Object.prototype,kpt=xpt.hasOwnProperty;function Qpt(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&kpt.call(t,"index")&&(r.index=t.index,r.input=t.input),r}rge.exports=Qpt});var sge=_((FHt,ige)=>{var Rpt=$D();function Fpt(t,e){var r=e?Rpt(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}ige.exports=Fpt});var age=_((THt,oge)=>{var Tpt=/\w*$/;function Lpt(t){var e=new t.constructor(t.source,Tpt.exec(t));return e.lastIndex=t.lastIndex,e}oge.exports=Lpt});var fge=_((LHt,Age)=>{var lge=hd(),cge=lge?lge.prototype:void 0,uge=cge?cge.valueOf:void 0;function Npt(t){return uge?Object(uge.call(t)):{}}Age.exports=Npt});var hge=_((NHt,pge)=>{var Opt=$D(),Mpt=sge(),Upt=age(),_pt=fge(),Hpt=lN(),qpt="[object Boolean]",Gpt="[object Date]",jpt="[object Map]",Ypt="[object Number]",Wpt="[object RegExp]",Kpt="[object Set]",zpt="[object String]",Jpt="[object Symbol]",Vpt="[object ArrayBuffer]",Xpt="[object DataView]",Zpt="[object Float32Array]",$pt="[object Float64Array]",eht="[object Int8Array]",tht="[object Int16Array]",rht="[object Int32Array]",nht="[object Uint8Array]",iht="[object Uint8ClampedArray]",sht="[object Uint16Array]",oht="[object Uint32Array]";function aht(t,e,r){var o=t.constructor;switch(e){case Vpt:return Opt(t);case qpt:case Gpt:return new o(+t);case Xpt:return Mpt(t,r);case Zpt:case $pt:case eht:case tht:case rht:case nht:case iht:case sht:case oht:return Hpt(t,r);case jpt:return new o;case Ypt:case zpt:return new o(t);case Wpt:return Upt(t);case Kpt:return new o;case Jpt:return _pt(t)}}pge.exports=aht});var dge=_((OHt,gge)=>{var lht=qI(),cht=Vu(),uht="[object Map]";function Aht(t){return cht(t)&&lht(t)==uht}gge.exports=Aht});var Cge=_((MHt,Ege)=>{var fht=dge(),pht=WD(),mge=KD(),yge=mge&&mge.isMap,hht=yge?pht(yge):fht;Ege.exports=hht});var Ige=_((UHt,wge)=>{var ght=qI(),dht=Vu(),mht="[object Set]";function yht(t){return dht(t)&&ght(t)==mht}wge.exports=yht});var Dge=_((_Ht,Pge)=>{var Eht=Ige(),Cht=WD(),Bge=KD(),vge=Bge&&Bge.isSet,wht=vge?Cht(vge):Eht;Pge.exports=wht});var x8=_((HHt,kge)=>{var Iht=HD(),Bht=Y0e(),vht=rS(),Pht=K0e(),Dht=J0e(),Sht=aN(),bht=eS(),xht=X0e(),kht=ege(),Qht=ZL(),Rht=b8(),Fht=qI(),Tht=nge(),Lht=hge(),Nht=cN(),Oht=ql(),Mht=OI(),Uht=Cge(),_ht=sl(),Hht=Dge(),qht=VD(),Ght=Gy(),jht=1,Yht=2,Wht=4,Sge="[object Arguments]",Kht="[object Array]",zht="[object Boolean]",Jht="[object Date]",Vht="[object Error]",bge="[object Function]",Xht="[object GeneratorFunction]",Zht="[object Map]",$ht="[object Number]",xge="[object Object]",e0t="[object RegExp]",t0t="[object Set]",r0t="[object String]",n0t="[object Symbol]",i0t="[object WeakMap]",s0t="[object ArrayBuffer]",o0t="[object DataView]",a0t="[object Float32Array]",l0t="[object Float64Array]",c0t="[object Int8Array]",u0t="[object Int16Array]",A0t="[object Int32Array]",f0t="[object Uint8Array]",p0t="[object Uint8ClampedArray]",h0t="[object Uint16Array]",g0t="[object Uint32Array]",ri={};ri[Sge]=ri[Kht]=ri[s0t]=ri[o0t]=ri[zht]=ri[Jht]=ri[a0t]=ri[l0t]=ri[c0t]=ri[u0t]=ri[A0t]=ri[Zht]=ri[$ht]=ri[xge]=ri[e0t]=ri[t0t]=ri[r0t]=ri[n0t]=ri[f0t]=ri[p0t]=ri[h0t]=ri[g0t]=!0;ri[Vht]=ri[bge]=ri[i0t]=!1;function fk(t,e,r,o,a,n){var u,A=e&jht,p=e&Yht,h=e&Wht;if(r&&(u=a?r(t,o,a,n):r(t)),u!==void 0)return u;if(!_ht(t))return t;var E=Oht(t);if(E){if(u=Tht(t),!A)return bht(t,u)}else{var I=Fht(t),v=I==bge||I==Xht;if(Mht(t))return Sht(t,A);if(I==xge||I==Sge||v&&!a){if(u=p||v?{}:Nht(t),!A)return p?kht(t,Dht(u,t)):xht(t,Pht(u,t))}else{if(!ri[I])return a?t:{};u=Lht(t,I,A)}}n||(n=new Iht);var x=n.get(t);if(x)return x;n.set(t,u),Hht(t)?t.forEach(function(N){u.add(fk(N,e,r,N,t,n))}):Uht(t)&&t.forEach(function(N,U){u.set(U,fk(N,e,r,U,t,n))});var C=h?p?Rht:Qht:p?Ght:qht,F=E?void 0:C(t);return Bht(F||t,function(N,U){F&&(U=N,N=t[U]),vht(u,U,fk(N,e,r,U,t,n))}),u}kge.exports=fk});var k8=_((qHt,Qge)=>{var d0t=x8(),m0t=1,y0t=4;function E0t(t){return d0t(t,m0t|y0t)}Qge.exports=E0t});var Q8=_((GHt,Rge)=>{var C0t=I_();function w0t(t,e,r){return t==null?t:C0t(t,e,r)}Rge.exports=w0t});var Oge=_((JHt,Nge)=>{var I0t=Object.prototype,B0t=I0t.hasOwnProperty;function v0t(t,e){return t!=null&&B0t.call(t,e)}Nge.exports=v0t});var Uge=_((VHt,Mge)=>{var P0t=Oge(),D0t=B_();function S0t(t,e){return t!=null&&D0t(t,e,P0t)}Mge.exports=S0t});var Hge=_((XHt,_ge)=>{function b0t(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}_ge.exports=b0t});var Gge=_((ZHt,qge)=>{var x0t=Xx(),k0t=pU();function Q0t(t,e){return e.length<2?t:x0t(t,k0t(e,0,-1))}qge.exports=Q0t});var F8=_(($Ht,jge)=>{var R0t=Gd(),F0t=Hge(),T0t=Gge(),L0t=oC();function N0t(t,e){return e=R0t(e,t),t=T0t(t,e),t==null||delete t[L0t(F0t(e))]}jge.exports=N0t});var T8=_((e6t,Yge)=>{var O0t=F8();function M0t(t,e){return t==null?!0:O0t(t,e)}Yge.exports=M0t});var Vge=_((x6t,H0t)=>{H0t.exports={name:"@yarnpkg/cli",version:"4.3.1",license:"BSD-2-Clause",main:"./sources/index.ts",exports:{".":"./sources/index.ts","./polyfills":"./sources/polyfills.ts","./package.json":"./package.json"},dependencies:{"@yarnpkg/core":"workspace:^","@yarnpkg/fslib":"workspace:^","@yarnpkg/libzip":"workspace:^","@yarnpkg/parsers":"workspace:^","@yarnpkg/plugin-compat":"workspace:^","@yarnpkg/plugin-constraints":"workspace:^","@yarnpkg/plugin-dlx":"workspace:^","@yarnpkg/plugin-essentials":"workspace:^","@yarnpkg/plugin-exec":"workspace:^","@yarnpkg/plugin-file":"workspace:^","@yarnpkg/plugin-git":"workspace:^","@yarnpkg/plugin-github":"workspace:^","@yarnpkg/plugin-http":"workspace:^","@yarnpkg/plugin-init":"workspace:^","@yarnpkg/plugin-interactive-tools":"workspace:^","@yarnpkg/plugin-link":"workspace:^","@yarnpkg/plugin-nm":"workspace:^","@yarnpkg/plugin-npm":"workspace:^","@yarnpkg/plugin-npm-cli":"workspace:^","@yarnpkg/plugin-pack":"workspace:^","@yarnpkg/plugin-patch":"workspace:^","@yarnpkg/plugin-pnp":"workspace:^","@yarnpkg/plugin-pnpm":"workspace:^","@yarnpkg/plugin-stage":"workspace:^","@yarnpkg/plugin-typescript":"workspace:^","@yarnpkg/plugin-version":"workspace:^","@yarnpkg/plugin-workspace-tools":"workspace:^","@yarnpkg/shell":"workspace:^","ci-info":"^3.2.0",clipanion:"^4.0.0-rc.2",semver:"^7.1.2",tslib:"^2.4.0",typanion:"^3.14.0"},devDependencies:{"@types/semver":"^7.1.0","@yarnpkg/builder":"workspace:^","@yarnpkg/monorepo":"workspace:^","@yarnpkg/pnpify":"workspace:^"},peerDependencies:{"@yarnpkg/core":"workspace:^"},scripts:{postpack:"rm -rf lib",prepack:'run build:compile "$(pwd)"',"build:cli+hook":"run build:pnp:hook && builder build bundle","build:cli":"builder build bundle","run:cli":"builder run","update-local":"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/"},publishConfig:{main:"./lib/index.js",bin:null,exports:{".":"./lib/index.js","./package.json":"./package.json"}},files:["/lib/**/*","!/lib/pluginConfiguration.*","!/lib/cli.*"],"@yarnpkg/builder":{bundles:{standard:["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-constraints","@yarnpkg/plugin-dlx","@yarnpkg/plugin-exec","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-interactive-tools","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm","@yarnpkg/plugin-stage","@yarnpkg/plugin-typescript","@yarnpkg/plugin-version","@yarnpkg/plugin-workspace-tools"]}},repository:{type:"git",url:"ssh://git@github.com/yarnpkg/berry.git",directory:"packages/yarnpkg-cli"},engines:{node:">=18.12.0"}}});var G8=_((o9t,lde)=>{"use strict";lde.exports=function(e,r){r===!0&&(r=0);var o="";if(typeof e=="string")try{o=new URL(e).protocol}catch{}else e&&e.constructor===URL&&(o=e.protocol);var a=o.split(/\:|\+/).filter(Boolean);return typeof r=="number"?a[r]:a}});var ude=_((a9t,cde)=>{"use strict";var agt=G8();function lgt(t){var e={protocols:[],protocol:null,port:null,resource:"",host:"",user:"",password:"",pathname:"",hash:"",search:"",href:t,query:{},parse_failed:!1};try{var r=new URL(t);e.protocols=agt(r),e.protocol=e.protocols[0],e.port=r.port,e.resource=r.hostname,e.host=r.host,e.user=r.username||"",e.password=r.password||"",e.pathname=r.pathname,e.hash=r.hash.slice(1),e.search=r.search.slice(1),e.href=r.href,e.query=Object.fromEntries(r.searchParams)}catch{e.protocols=["file"],e.protocol=e.protocols[0],e.port="",e.resource="",e.user="",e.pathname="",e.hash="",e.search="",e.href=t,e.query={},e.parse_failed=!0}return e}cde.exports=lgt});var pde=_((l9t,fde)=>{"use strict";var cgt=ude();function ugt(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var Agt=ugt(cgt),fgt="text/plain",pgt="us-ascii",Ade=(t,e)=>e.some(r=>r instanceof RegExp?r.test(t):r===t),hgt=(t,{stripHash:e})=>{let r=/^data:(?[^,]*?),(?[^#]*?)(?:#(?.*))?$/.exec(t);if(!r)throw new Error(`Invalid URL: ${t}`);let{type:o,data:a,hash:n}=r.groups,u=o.split(";");n=e?"":n;let A=!1;u[u.length-1]==="base64"&&(u.pop(),A=!0);let p=(u.shift()||"").toLowerCase(),E=[...u.map(I=>{let[v,x=""]=I.split("=").map(C=>C.trim());return v==="charset"&&(x=x.toLowerCase(),x===pgt)?"":`${v}${x?`=${x}`:""}`}).filter(Boolean)];return A&&E.push("base64"),(E.length>0||p&&p!==fgt)&&E.unshift(p),`data:${E.join(";")},${A?a.trim():a}${n?`#${n}`:""}`};function ggt(t,e){if(e={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...e},t=t.trim(),/^data:/i.test(t))return hgt(t,e);if(/^view-source:/i.test(t))throw new Error("`view-source:` is not supported as it is a non-standard protocol");let r=t.startsWith("//");!r&&/^\.*\//.test(t)||(t=t.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,e.defaultProtocol));let a=new URL(t);if(e.forceHttp&&e.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(e.forceHttp&&a.protocol==="https:"&&(a.protocol="http:"),e.forceHttps&&a.protocol==="http:"&&(a.protocol="https:"),e.stripAuthentication&&(a.username="",a.password=""),e.stripHash?a.hash="":e.stripTextFragment&&(a.hash=a.hash.replace(/#?:~:text.*?$/i,"")),a.pathname){let u=/\b[a-z][a-z\d+\-.]{1,50}:\/\//g,A=0,p="";for(;;){let E=u.exec(a.pathname);if(!E)break;let I=E[0],v=E.index,x=a.pathname.slice(A,v);p+=x.replace(/\/{2,}/g,"/"),p+=I,A=v+I.length}let h=a.pathname.slice(A,a.pathname.length);p+=h.replace(/\/{2,}/g,"/"),a.pathname=p}if(a.pathname)try{a.pathname=decodeURI(a.pathname)}catch{}if(e.removeDirectoryIndex===!0&&(e.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(e.removeDirectoryIndex)&&e.removeDirectoryIndex.length>0){let u=a.pathname.split("/"),A=u[u.length-1];Ade(A,e.removeDirectoryIndex)&&(u=u.slice(0,-1),a.pathname=u.slice(1).join("/")+"/")}if(a.hostname&&(a.hostname=a.hostname.replace(/\.$/,""),e.stripWWW&&/^www\.(?!www\.)[a-z\-\d]{1,63}\.[a-z.\-\d]{2,63}$/.test(a.hostname)&&(a.hostname=a.hostname.replace(/^www\./,""))),Array.isArray(e.removeQueryParameters))for(let u of[...a.searchParams.keys()])Ade(u,e.removeQueryParameters)&&a.searchParams.delete(u);if(e.removeQueryParameters===!0&&(a.search=""),e.sortQueryParameters){a.searchParams.sort();try{a.search=decodeURIComponent(a.search)}catch{}}e.removeTrailingSlash&&(a.pathname=a.pathname.replace(/\/$/,""));let n=t;return t=a.toString(),!e.removeSingleSlash&&a.pathname==="/"&&!n.endsWith("/")&&a.hash===""&&(t=t.replace(/\/$/,"")),(e.removeTrailingSlash||a.pathname==="/")&&a.hash===""&&e.removeSingleSlash&&(t=t.replace(/\/$/,"")),r&&!e.normalizeProtocol&&(t=t.replace(/^http:\/\//,"//")),e.stripProtocol&&(t=t.replace(/^(?:https?:)?\/\//,"")),t}var j8=(t,e=!1)=>{let r=/^(?:([a-z_][a-z0-9_-]{0,31})@|https?:\/\/)([\w\.\-@]+)[\/:]([\~,\.\w,\-,\_,\/]+?(?:\.git|\/)?)$/,o=n=>{let u=new Error(n);throw u.subject_url=t,u};(typeof t!="string"||!t.trim())&&o("Invalid url."),t.length>j8.MAX_INPUT_LENGTH&&o("Input exceeds maximum length. If needed, change the value of parseUrl.MAX_INPUT_LENGTH."),e&&(typeof e!="object"&&(e={stripHash:!1}),t=ggt(t,e));let a=Agt.default(t);if(a.parse_failed){let n=a.href.match(r);n?(a.protocols=["ssh"],a.protocol="ssh",a.resource=n[2],a.host=n[2],a.user=n[1],a.pathname=`/${n[3]}`,a.parse_failed=!1):o("URL parsing failed.")}return a};j8.MAX_INPUT_LENGTH=2048;fde.exports=j8});var dde=_((c9t,gde)=>{"use strict";var dgt=G8();function hde(t){if(Array.isArray(t))return t.indexOf("ssh")!==-1||t.indexOf("rsync")!==-1;if(typeof t!="string")return!1;var e=dgt(t);if(t=t.substring(t.indexOf("://")+3),hde(e))return!0;var r=new RegExp(".([a-zA-Z\\d]+):(\\d+)/");return!t.match(r)&&t.indexOf("@"){"use strict";var mgt=pde(),mde=dde();function ygt(t){var e=mgt(t);return e.token="",e.password==="x-oauth-basic"?e.token=e.user:e.user==="x-token-auth"&&(e.token=e.password),mde(e.protocols)||e.protocols.length===0&&mde(t)?e.protocol="ssh":e.protocols.length?e.protocol=e.protocols[0]:(e.protocol="file",e.protocols=["file"]),e.href=e.href.replace(/\/$/,""),e}yde.exports=ygt});var wde=_((A9t,Cde)=>{"use strict";var Egt=Ede();function Y8(t){if(typeof t!="string")throw new Error("The url must be a string.");var e=/^([a-z\d-]{1,39})\/([-\.\w]{1,100})$/i;e.test(t)&&(t="https://github.com/"+t);var r=Egt(t),o=r.resource.split("."),a=null;switch(r.toString=function(N){return Y8.stringify(this,N)},r.source=o.length>2?o.slice(1-o.length).join("."):r.source=r.resource,r.git_suffix=/\.git$/.test(r.pathname),r.name=decodeURIComponent((r.pathname||r.href).replace(/(^\/)|(\/$)/g,"").replace(/\.git$/,"")),r.owner=decodeURIComponent(r.user),r.source){case"git.cloudforge.com":r.owner=r.user,r.organization=o[0],r.source="cloudforge.com";break;case"visualstudio.com":if(r.resource==="vs-ssh.visualstudio.com"){a=r.name.split("/"),a.length===4&&(r.organization=a[1],r.owner=a[2],r.name=a[3],r.full_name=a[2]+"/"+a[3]);break}else{a=r.name.split("/"),a.length===2?(r.owner=a[1],r.name=a[1],r.full_name="_git/"+r.name):a.length===3?(r.name=a[2],a[0]==="DefaultCollection"?(r.owner=a[2],r.organization=a[0],r.full_name=r.organization+"/_git/"+r.name):(r.owner=a[0],r.full_name=r.owner+"/_git/"+r.name)):a.length===4&&(r.organization=a[0],r.owner=a[1],r.name=a[3],r.full_name=r.organization+"/"+r.owner+"/_git/"+r.name);break}case"dev.azure.com":case"azure.com":if(r.resource==="ssh.dev.azure.com"){a=r.name.split("/"),a.length===4&&(r.organization=a[1],r.owner=a[2],r.name=a[3]);break}else{a=r.name.split("/"),a.length===5?(r.organization=a[0],r.owner=a[1],r.name=a[4],r.full_name="_git/"+r.name):a.length===3?(r.name=a[2],a[0]==="DefaultCollection"?(r.owner=a[2],r.organization=a[0],r.full_name=r.organization+"/_git/"+r.name):(r.owner=a[0],r.full_name=r.owner+"/_git/"+r.name)):a.length===4&&(r.organization=a[0],r.owner=a[1],r.name=a[3],r.full_name=r.organization+"/"+r.owner+"/_git/"+r.name),r.query&&r.query.path&&(r.filepath=r.query.path.replace(/^\/+/g,"")),r.query&&r.query.version&&(r.ref=r.query.version.replace(/^GB/,""));break}default:a=r.name.split("/");var n=a.length-1;if(a.length>=2){var u=a.indexOf("-",2),A=a.indexOf("blob",2),p=a.indexOf("tree",2),h=a.indexOf("commit",2),E=a.indexOf("src",2),I=a.indexOf("raw",2),v=a.indexOf("edit",2);n=u>0?u-1:A>0?A-1:p>0?p-1:h>0?h-1:E>0?E-1:I>0?I-1:v>0?v-1:n,r.owner=a.slice(0,n).join("/"),r.name=a[n],h&&(r.commit=a[n+2])}r.ref="",r.filepathtype="",r.filepath="";var x=a.length>n&&a[n+1]==="-"?n+1:n;a.length>x+2&&["raw","src","blob","tree","edit"].indexOf(a[x+1])>=0&&(r.filepathtype=a[x+1],r.ref=a[x+2],a.length>x+3&&(r.filepath=a.slice(x+3).join("/"))),r.organization=r.owner;break}r.full_name||(r.full_name=r.owner,r.name&&(r.full_name&&(r.full_name+="/"),r.full_name+=r.name)),r.owner.startsWith("scm/")&&(r.source="bitbucket-server",r.owner=r.owner.replace("scm/",""),r.organization=r.owner,r.full_name=r.owner+"/"+r.name);var C=/(projects|users)\/(.*?)\/repos\/(.*?)((\/.*$)|$)/,F=C.exec(r.pathname);return F!=null&&(r.source="bitbucket-server",F[1]==="users"?r.owner="~"+F[2]:r.owner=F[2],r.organization=r.owner,r.name=F[3],a=F[4].split("/"),a.length>1&&(["raw","browse"].indexOf(a[1])>=0?(r.filepathtype=a[1],a.length>2&&(r.filepath=a.slice(2).join("/"))):a[1]==="commits"&&a.length>2&&(r.commit=a[2])),r.full_name=r.owner+"/"+r.name,r.query.at?r.ref=r.query.at:r.ref=""),r}Y8.stringify=function(t,e){e=e||(t.protocols&&t.protocols.length?t.protocols.join("+"):t.protocol);var r=t.port?":"+t.port:"",o=t.user||"git",a=t.git_suffix?".git":"";switch(e){case"ssh":return r?"ssh://"+o+"@"+t.resource+r+"/"+t.full_name+a:o+"@"+t.resource+":"+t.full_name+a;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return e+"://"+o+"@"+t.resource+r+"/"+t.full_name+a;case"http":case"https":var n=t.token?Cgt(t):t.user&&(t.protocols.includes("http")||t.protocols.includes("https"))?t.user+"@":"";return e+"://"+n+t.resource+r+"/"+wgt(t)+a;default:return t.href}};function Cgt(t){switch(t.source){case"bitbucket.org":return"x-token-auth:"+t.token+"@";default:return t.token+"@"}}function wgt(t){switch(t.source){case"bitbucket-server":return"scm/"+t.full_name;default:return""+t.full_name}}Cde.exports=Y8});var Ode=_((j5t,Nde)=>{var Rgt=qb(),Fgt=eS(),Tgt=ql(),Lgt=AE(),Ngt=w_(),Ogt=oC(),Mgt=N1();function Ugt(t){return Tgt(t)?Rgt(t,Ogt):Lgt(t)?[t]:Fgt(Ngt(Mgt(t)))}Nde.exports=Ugt});function Ggt(t,e){return e===1&&qgt.has(t[0])}function v2(t){let e=Array.isArray(t)?t:(0,_de.default)(t);return e.map((o,a)=>_gt.test(o)?`[${o}]`:Hgt.test(o)&&!Ggt(e,a)?`.${o}`:`[${JSON.stringify(o)}]`).join("").replace(/^\./,"")}function jgt(t,e){let r=[];if(e.methodName!==null&&r.push(pe.pretty(t,e.methodName,pe.Type.CODE)),e.file!==null){let o=[];o.push(pe.pretty(t,e.file,pe.Type.PATH)),e.line!==null&&(o.push(pe.pretty(t,e.line,pe.Type.NUMBER)),e.column!==null&&o.push(pe.pretty(t,e.column,pe.Type.NUMBER))),r.push(`(${o.join(pe.pretty(t,":","grey"))})`)}return r.join(" ")}function dk(t,{manifestUpdates:e,reportedErrors:r},{fix:o}={}){let a=new Map,n=new Map,u=[...r.keys()].map(A=>[A,new Map]);for(let[A,p]of[...u,...e]){let h=r.get(A)?.map(x=>({text:x,fixable:!1}))??[],E=!1,I=t.getWorkspaceByCwd(A),v=I.manifest.exportTo({});for(let[x,C]of p){if(C.size>1){let F=[...C].map(([N,U])=>{let J=pe.pretty(t.configuration,N,pe.Type.INSPECT),te=U.size>0?jgt(t.configuration,U.values().next().value):null;return te!==null?` +${J} at ${te}`:` +${J}`}).join("");h.push({text:`Conflict detected in constraint targeting ${pe.pretty(t.configuration,x,pe.Type.CODE)}; conflicting values are:${F}`,fixable:!1})}else{let[[F]]=C,N=(0,Mde.default)(v,x);if(JSON.stringify(N)===JSON.stringify(F))continue;if(!o){let U=typeof N>"u"?`Missing field ${pe.pretty(t.configuration,x,pe.Type.CODE)}; expected ${pe.pretty(t.configuration,F,pe.Type.INSPECT)}`:typeof F>"u"?`Extraneous field ${pe.pretty(t.configuration,x,pe.Type.CODE)} currently set to ${pe.pretty(t.configuration,N,pe.Type.INSPECT)}`:`Invalid field ${pe.pretty(t.configuration,x,pe.Type.CODE)}; expected ${pe.pretty(t.configuration,F,pe.Type.INSPECT)}, found ${pe.pretty(t.configuration,N,pe.Type.INSPECT)}`;h.push({text:U,fixable:!0});continue}typeof F>"u"?(0,Hde.default)(v,x):(0,Ude.default)(v,x,F),E=!0}E&&a.set(I,v)}h.length>0&&n.set(I,h)}return{changedWorkspaces:a,remainingErrors:n}}function qde(t,{configuration:e}){let r={children:[]};for(let[o,a]of t){let n=[];for(let A of a){let p=A.text.split(/\n/);A.fixable&&(p[0]=`${pe.pretty(e,"\u2699","gray")} ${p[0]}`),n.push({value:pe.tuple(pe.Type.NO_HINT,p[0]),children:p.slice(1).map(h=>({value:pe.tuple(pe.Type.NO_HINT,h)}))})}let u={value:pe.tuple(pe.Type.LOCATOR,o.anchoredLocator),children:He.sortMap(n,A=>A.value[1])};r.children.push(u)}return r.children=He.sortMap(r.children,o=>o.value[1]),r}var Mde,Ude,_de,Hde,EC,_gt,Hgt,qgt,P2=Et(()=>{je();Mde=Ze(m2()),Ude=Ze(Q8()),_de=Ze(Ode()),Hde=Ze(T8()),EC=class{constructor(e){this.indexedFields=e;this.items=[];this.indexes={};this.clear()}clear(){this.items=[];for(let e of this.indexedFields)this.indexes[e]=new Map}insert(e){this.items.push(e);for(let r of this.indexedFields){let o=Object.hasOwn(e,r)?e[r]:void 0;if(typeof o>"u")continue;He.getArrayWithDefault(this.indexes[r],o).push(e)}return e}find(e){if(typeof e>"u")return this.items;let r=Object.entries(e);if(r.length===0)return this.items;let o=[],a;for(let[u,A]of r){let p=u,h=Object.hasOwn(this.indexes,p)?this.indexes[p]:void 0;if(typeof h>"u"){o.push([p,A]);continue}let E=new Set(h.get(A)??[]);if(E.size===0)return[];if(typeof a>"u")a=E;else for(let I of a)E.has(I)||a.delete(I);if(a.size===0)break}let n=[...a??[]];return o.length>0&&(n=n.filter(u=>{for(let[A,p]of o)if(!(typeof p<"u"?Object.hasOwn(u,A)&&u[A]===p:Object.hasOwn(u,A)===!1))return!1;return!0})),n}},_gt=/^[0-9]+$/,Hgt=/^[a-zA-Z0-9_]+$/,qgt=new Set(["scripts",...Ot.allDependencies])});var Gde=_((r7t,sH)=>{var Ygt;(function(t){var e=function(){return{"append/2":[new t.type.Rule(new t.type.Term("append",[new t.type.Var("X"),new t.type.Var("L")]),new t.type.Term("foldl",[new t.type.Term("append",[]),new t.type.Var("X"),new t.type.Term("[]",[]),new t.type.Var("L")]))],"append/3":[new t.type.Rule(new t.type.Term("append",[new t.type.Term("[]",[]),new t.type.Var("X"),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("append",[new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("S")])]),new t.type.Term("append",[new t.type.Var("T"),new t.type.Var("X"),new t.type.Var("S")]))],"member/2":[new t.type.Rule(new t.type.Term("member",[new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("_")])]),null),new t.type.Rule(new t.type.Term("member",[new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("_"),new t.type.Var("Xs")])]),new t.type.Term("member",[new t.type.Var("X"),new t.type.Var("Xs")]))],"permutation/2":[new t.type.Rule(new t.type.Term("permutation",[new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("permutation",[new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("permutation",[new t.type.Var("T"),new t.type.Var("P")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("P")]),new t.type.Term("append",[new t.type.Var("X"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("Y")]),new t.type.Var("S")])])]))],"maplist/2":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("X")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("Xs")])]))],"maplist/3":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs")])]))],"maplist/4":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs")])]))],"maplist/5":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds")])]))],"maplist/6":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")]),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Es")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D"),new t.type.Var("E")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds"),new t.type.Var("Es")])]))],"maplist/7":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")]),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Es")]),new t.type.Term(".",[new t.type.Var("F"),new t.type.Var("Fs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D"),new t.type.Var("E"),new t.type.Var("F")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds"),new t.type.Var("Es"),new t.type.Var("Fs")])]))],"maplist/8":[new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("A"),new t.type.Var("As")]),new t.type.Term(".",[new t.type.Var("B"),new t.type.Var("Bs")]),new t.type.Term(".",[new t.type.Var("C"),new t.type.Var("Cs")]),new t.type.Term(".",[new t.type.Var("D"),new t.type.Var("Ds")]),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Es")]),new t.type.Term(".",[new t.type.Var("F"),new t.type.Var("Fs")]),new t.type.Term(".",[new t.type.Var("G"),new t.type.Var("Gs")])]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P"),new t.type.Var("A"),new t.type.Var("B"),new t.type.Var("C"),new t.type.Var("D"),new t.type.Var("E"),new t.type.Var("F"),new t.type.Var("G")]),new t.type.Term("maplist",[new t.type.Var("P"),new t.type.Var("As"),new t.type.Var("Bs"),new t.type.Var("Cs"),new t.type.Var("Ds"),new t.type.Var("Es"),new t.type.Var("Fs"),new t.type.Var("Gs")])]))],"include/3":[new t.type.Rule(new t.type.Term("include",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("include",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("L")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P"),new t.type.Var("A")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("A"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Term("[]",[])]),new t.type.Var("B")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("F"),new t.type.Var("B")]),new t.type.Term(",",[new t.type.Term(";",[new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("F")]),new t.type.Term(",",[new t.type.Term("=",[new t.type.Var("L"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("S")])]),new t.type.Term("!",[])])]),new t.type.Term("=",[new t.type.Var("L"),new t.type.Var("S")])]),new t.type.Term("include",[new t.type.Var("P"),new t.type.Var("T"),new t.type.Var("S")])])])])]))],"exclude/3":[new t.type.Rule(new t.type.Term("exclude",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Term("[]",[])]),null),new t.type.Rule(new t.type.Term("exclude",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("exclude",[new t.type.Var("P"),new t.type.Var("T"),new t.type.Var("E")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P"),new t.type.Var("L")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("L"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Term("[]",[])]),new t.type.Var("Q")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("R"),new t.type.Var("Q")]),new t.type.Term(";",[new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("R")]),new t.type.Term(",",[new t.type.Term("!",[]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("E")])])]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("E")])])])])])])]))],"foldl/4":[new t.type.Rule(new t.type.Term("foldl",[new t.type.Var("_"),new t.type.Term("[]",[]),new t.type.Var("I"),new t.type.Var("I")]),null),new t.type.Rule(new t.type.Term("foldl",[new t.type.Var("P"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Var("T")]),new t.type.Var("I"),new t.type.Var("R")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P"),new t.type.Var("L")]),new t.type.Term(",",[new t.type.Term("append",[new t.type.Var("L"),new t.type.Term(".",[new t.type.Var("I"),new t.type.Term(".",[new t.type.Var("H"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])])])]),new t.type.Var("L2")]),new t.type.Term(",",[new t.type.Term("=..",[new t.type.Var("P2"),new t.type.Var("L2")]),new t.type.Term(",",[new t.type.Term("call",[new t.type.Var("P2")]),new t.type.Term("foldl",[new t.type.Var("P"),new t.type.Var("T"),new t.type.Var("X"),new t.type.Var("R")])])])])]))],"select/3":[new t.type.Rule(new t.type.Term("select",[new t.type.Var("E"),new t.type.Term(".",[new t.type.Var("E"),new t.type.Var("Xs")]),new t.type.Var("Xs")]),null),new t.type.Rule(new t.type.Term("select",[new t.type.Var("E"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Ys")])]),new t.type.Term("select",[new t.type.Var("E"),new t.type.Var("Xs"),new t.type.Var("Ys")]))],"sum_list/2":[new t.type.Rule(new t.type.Term("sum_list",[new t.type.Term("[]",[]),new t.type.Num(0,!1)]),null),new t.type.Rule(new t.type.Term("sum_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("sum_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term("is",[new t.type.Var("S"),new t.type.Term("+",[new t.type.Var("X"),new t.type.Var("Y")])])]))],"max_list/2":[new t.type.Rule(new t.type.Term("max_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])]),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("max_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("max_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term(";",[new t.type.Term(",",[new t.type.Term(">=",[new t.type.Var("X"),new t.type.Var("Y")]),new t.type.Term(",",[new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("X")]),new t.type.Term("!",[])])]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("Y")])])]))],"min_list/2":[new t.type.Rule(new t.type.Term("min_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])]),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("min_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("min_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term(";",[new t.type.Term(",",[new t.type.Term("=<",[new t.type.Var("X"),new t.type.Var("Y")]),new t.type.Term(",",[new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("X")]),new t.type.Term("!",[])])]),new t.type.Term("=",[new t.type.Var("S"),new t.type.Var("Y")])])]))],"prod_list/2":[new t.type.Rule(new t.type.Term("prod_list",[new t.type.Term("[]",[]),new t.type.Num(1,!1)]),null),new t.type.Rule(new t.type.Term("prod_list",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("S")]),new t.type.Term(",",[new t.type.Term("prod_list",[new t.type.Var("Xs"),new t.type.Var("Y")]),new t.type.Term("is",[new t.type.Var("S"),new t.type.Term("*",[new t.type.Var("X"),new t.type.Var("Y")])])]))],"last/2":[new t.type.Rule(new t.type.Term("last",[new t.type.Term(".",[new t.type.Var("X"),new t.type.Term("[]",[])]),new t.type.Var("X")]),null),new t.type.Rule(new t.type.Term("last",[new t.type.Term(".",[new t.type.Var("_"),new t.type.Var("Xs")]),new t.type.Var("X")]),new t.type.Term("last",[new t.type.Var("Xs"),new t.type.Var("X")]))],"prefix/2":[new t.type.Rule(new t.type.Term("prefix",[new t.type.Var("Part"),new t.type.Var("Whole")]),new t.type.Term("append",[new t.type.Var("Part"),new t.type.Var("_"),new t.type.Var("Whole")]))],"nth0/3":[new t.type.Rule(new t.type.Term("nth0",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")])]),new t.type.Term(",",[new t.type.Term(">=",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")]),new t.type.Term("!",[])])])]))],"nth1/3":[new t.type.Rule(new t.type.Term("nth1",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")])]),new t.type.Term(",",[new t.type.Term(">",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("_")]),new t.type.Term("!",[])])])]))],"nth0/4":[new t.type.Rule(new t.type.Term("nth0",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")])]),new t.type.Term(",",[new t.type.Term(">=",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(0,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term("!",[])])])]))],"nth1/4":[new t.type.Rule(new t.type.Term("nth1",[new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term(";",[new t.type.Term("->",[new t.type.Term("var",[new t.type.Var("X")]),new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")])]),new t.type.Term(",",[new t.type.Term(">",[new t.type.Var("X"),new t.type.Num(0,!1)]),new t.type.Term(",",[new t.type.Term("nth",[new t.type.Num(1,!1),new t.type.Var("X"),new t.type.Var("Y"),new t.type.Var("Z"),new t.type.Var("W")]),new t.type.Term("!",[])])])]))],"nth/5":[new t.type.Rule(new t.type.Term("nth",[new t.type.Var("N"),new t.type.Var("N"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("X"),new t.type.Var("Xs")]),null),new t.type.Rule(new t.type.Term("nth",[new t.type.Var("N"),new t.type.Var("O"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Xs")]),new t.type.Var("Y"),new t.type.Term(".",[new t.type.Var("X"),new t.type.Var("Ys")])]),new t.type.Term(",",[new t.type.Term("is",[new t.type.Var("M"),new t.type.Term("+",[new t.type.Var("N"),new t.type.Num(1,!1)])]),new t.type.Term("nth",[new t.type.Var("M"),new t.type.Var("O"),new t.type.Var("Xs"),new t.type.Var("Y"),new t.type.Var("Ys")])]))],"length/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(!t.type.is_variable(A)&&!t.type.is_integer(A))o.throw_error(t.error.type("integer",A,n.indicator));else if(t.type.is_integer(A)&&A.value<0)o.throw_error(t.error.domain("not_less_than_zero",A,n.indicator));else{var p=new t.type.Term("length",[u,new t.type.Num(0,!1),A]);t.type.is_integer(A)&&(p=new t.type.Term(",",[p,new t.type.Term("!",[])])),o.prepend([new t.type.State(a.goal.replace(p),a.substitution,a)])}},"length/3":[new t.type.Rule(new t.type.Term("length",[new t.type.Term("[]",[]),new t.type.Var("N"),new t.type.Var("N")]),null),new t.type.Rule(new t.type.Term("length",[new t.type.Term(".",[new t.type.Var("_"),new t.type.Var("X")]),new t.type.Var("A"),new t.type.Var("N")]),new t.type.Term(",",[new t.type.Term("succ",[new t.type.Var("A"),new t.type.Var("B")]),new t.type.Term("length",[new t.type.Var("X"),new t.type.Var("B"),new t.type.Var("N")])]))],"replicate/3":function(o,a,n){var u=n.args[0],A=n.args[1],p=n.args[2];if(t.type.is_variable(A))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_integer(A))o.throw_error(t.error.type("integer",A,n.indicator));else if(A.value<0)o.throw_error(t.error.domain("not_less_than_zero",A,n.indicator));else if(!t.type.is_variable(p)&&!t.type.is_list(p))o.throw_error(t.error.type("list",p,n.indicator));else{for(var h=new t.type.Term("[]"),E=0;E0;I--)E[I].equals(E[I-1])&&E.splice(I,1);for(var v=new t.type.Term("[]"),I=E.length-1;I>=0;I--)v=new t.type.Term(".",[E[I],v]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[v,A])),a.substitution,a)])}}},"msort/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_variable(A)&&!t.type.is_fully_list(A))o.throw_error(t.error.type("list",A,n.indicator));else{for(var p=[],h=u;h.indicator==="./2";)p.push(h.args[0]),h=h.args[1];if(t.type.is_variable(h))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_empty_list(h))o.throw_error(t.error.type("list",u,n.indicator));else{for(var E=p.sort(t.compare),I=new t.type.Term("[]"),v=E.length-1;v>=0;v--)I=new t.type.Term(".",[E[v],I]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[I,A])),a.substitution,a)])}}},"keysort/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_variable(A)&&!t.type.is_fully_list(A))o.throw_error(t.error.type("list",A,n.indicator));else{for(var p=[],h,E=u;E.indicator==="./2";){if(h=E.args[0],t.type.is_variable(h)){o.throw_error(t.error.instantiation(n.indicator));return}else if(!t.type.is_term(h)||h.indicator!=="-/2"){o.throw_error(t.error.type("pair",h,n.indicator));return}h.args[0].pair=h.args[1],p.push(h.args[0]),E=E.args[1]}if(t.type.is_variable(E))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_empty_list(E))o.throw_error(t.error.type("list",u,n.indicator));else{for(var I=p.sort(t.compare),v=new t.type.Term("[]"),x=I.length-1;x>=0;x--)v=new t.type.Term(".",[new t.type.Term("-",[I[x],I[x].pair]),v]),delete I[x].pair;o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[v,A])),a.substitution,a)])}}},"take/3":function(o,a,n){var u=n.args[0],A=n.args[1],p=n.args[2];if(t.type.is_variable(A)||t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_list(A))o.throw_error(t.error.type("list",A,n.indicator));else if(!t.type.is_integer(u))o.throw_error(t.error.type("integer",u,n.indicator));else if(!t.type.is_variable(p)&&!t.type.is_list(p))o.throw_error(t.error.type("list",p,n.indicator));else{for(var h=u.value,E=[],I=A;h>0&&I.indicator==="./2";)E.push(I.args[0]),I=I.args[1],h--;if(h===0){for(var v=new t.type.Term("[]"),h=E.length-1;h>=0;h--)v=new t.type.Term(".",[E[h],v]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[v,p])),a.substitution,a)])}}},"drop/3":function(o,a,n){var u=n.args[0],A=n.args[1],p=n.args[2];if(t.type.is_variable(A)||t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_list(A))o.throw_error(t.error.type("list",A,n.indicator));else if(!t.type.is_integer(u))o.throw_error(t.error.type("integer",u,n.indicator));else if(!t.type.is_variable(p)&&!t.type.is_list(p))o.throw_error(t.error.type("list",p,n.indicator));else{for(var h=u.value,E=[],I=A;h>0&&I.indicator==="./2";)E.push(I.args[0]),I=I.args[1],h--;h===0&&o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[I,p])),a.substitution,a)])}},"reverse/2":function(o,a,n){var u=n.args[0],A=n.args[1],p=t.type.is_instantiated_list(u),h=t.type.is_instantiated_list(A);if(t.type.is_variable(u)&&t.type.is_variable(A))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_variable(u)&&!t.type.is_fully_list(u))o.throw_error(t.error.type("list",u,n.indicator));else if(!t.type.is_variable(A)&&!t.type.is_fully_list(A))o.throw_error(t.error.type("list",A,n.indicator));else if(!p&&!h)o.throw_error(t.error.instantiation(n.indicator));else{for(var E=p?u:A,I=new t.type.Term("[]",[]);E.indicator==="./2";)I=new t.type.Term(".",[E.args[0],I]),E=E.args[1];o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[I,p?A:u])),a.substitution,a)])}},"list_to_set/2":function(o,a,n){var u=n.args[0],A=n.args[1];if(t.type.is_variable(u))o.throw_error(t.error.instantiation(n.indicator));else{for(var p=u,h=[];p.indicator==="./2";)h.push(p.args[0]),p=p.args[1];if(t.type.is_variable(p))o.throw_error(t.error.instantiation(n.indicator));else if(!t.type.is_term(p)||p.indicator!=="[]/0")o.throw_error(t.error.type("list",u,n.indicator));else{for(var E=[],I=new t.type.Term("[]",[]),v,x=0;x=0;x--)I=new t.type.Term(".",[E[x],I]);o.prepend([new t.type.State(a.goal.replace(new t.type.Term("=",[A,I])),a.substitution,a)])}}}}},r=["append/2","append/3","member/2","permutation/2","maplist/2","maplist/3","maplist/4","maplist/5","maplist/6","maplist/7","maplist/8","include/3","exclude/3","foldl/4","sum_list/2","max_list/2","min_list/2","prod_list/2","last/2","prefix/2","nth0/3","nth1/3","nth0/4","nth1/4","length/2","replicate/3","select/3","sort/2","msort/2","keysort/2","take/3","drop/3","reverse/2","list_to_set/2"];typeof sH<"u"?sH.exports=function(o){t=o,new t.type.Module("lists",e(),r)}:new t.type.Module("lists",e(),r)})(Ygt)});var ime=_(Wr=>{"use strict";var $d=process.platform==="win32",oH="aes-256-cbc",Wgt="sha256",Wde="The current environment doesn't support interactive reading from TTY.",Yn=ve("fs"),jde=process.binding("tty_wrap").TTY,lH=ve("child_process"),u0=ve("path"),cH={prompt:"> ",hideEchoBack:!1,mask:"*",limit:[],limitMessage:"Input another, please.$<( [)limit(])>",defaultInput:"",trueValue:[],falseValue:[],caseSensitive:!1,keepWhitespace:!1,encoding:"utf8",bufferSize:1024,print:void 0,history:!0,cd:!1,phContent:void 0,preCheck:void 0},Vf="none",Zc,wC,Yde=!1,c0,yk,aH,Kgt=0,hH="",Zd=[],Ek,Kde=!1,uH=!1,D2=!1;function zde(t){function e(r){return r.replace(/[^\w\u0080-\uFFFF]/g,function(o){return"#"+o.charCodeAt(0)+";"})}return yk.concat(function(r){var o=[];return Object.keys(r).forEach(function(a){r[a]==="boolean"?t[a]&&o.push("--"+a):r[a]==="string"&&t[a]&&o.push("--"+a,e(t[a]))}),o}({display:"string",displayOnly:"boolean",keyIn:"boolean",hideEchoBack:"boolean",mask:"string",limit:"string",caseSensitive:"boolean"}))}function zgt(t,e){function r(U){var J,te="",ae;for(aH=aH||ve("os").tmpdir();;){J=u0.join(aH,U+te);try{ae=Yn.openSync(J,"wx")}catch(le){if(le.code==="EEXIST"){te++;continue}else throw le}Yn.closeSync(ae);break}return J}var o,a,n,u={},A,p,h=r("readline-sync.stdout"),E=r("readline-sync.stderr"),I=r("readline-sync.exit"),v=r("readline-sync.done"),x=ve("crypto"),C,F,N;C=x.createHash(Wgt),C.update(""+process.pid+Kgt+++Math.random()),N=C.digest("hex"),F=x.createDecipher(oH,N),o=zde(t),$d?(a=process.env.ComSpec||"cmd.exe",process.env.Q='"',n=["/V:ON","/S","/C","(%Q%"+a+"%Q% /V:ON /S /C %Q%%Q%"+c0+"%Q%"+o.map(function(U){return" %Q%"+U+"%Q%"}).join("")+" & (echo !ERRORLEVEL!)>%Q%"+I+"%Q%%Q%) 2>%Q%"+E+"%Q% |%Q%"+process.execPath+"%Q% %Q%"+__dirname+"\\encrypt.js%Q% %Q%"+oH+"%Q% %Q%"+N+"%Q% >%Q%"+h+"%Q% & (echo 1)>%Q%"+v+"%Q%"]):(a="/bin/sh",n=["-c",'("'+c0+'"'+o.map(function(U){return" '"+U.replace(/'/g,"'\\''")+"'"}).join("")+'; echo $?>"'+I+'") 2>"'+E+'" |"'+process.execPath+'" "'+__dirname+'/encrypt.js" "'+oH+'" "'+N+'" >"'+h+'"; echo 1 >"'+v+'"']),D2&&D2("_execFileSync",o);try{lH.spawn(a,n,e)}catch(U){u.error=new Error(U.message),u.error.method="_execFileSync - spawn",u.error.program=a,u.error.args=n}for(;Yn.readFileSync(v,{encoding:t.encoding}).trim()!=="1";);return(A=Yn.readFileSync(I,{encoding:t.encoding}).trim())==="0"?u.input=F.update(Yn.readFileSync(h,{encoding:"binary"}),"hex",t.encoding)+F.final(t.encoding):(p=Yn.readFileSync(E,{encoding:t.encoding}).trim(),u.error=new Error(Wde+(p?` +`+p:"")),u.error.method="_execFileSync",u.error.program=a,u.error.args=n,u.error.extMessage=p,u.error.exitCode=+A),Yn.unlinkSync(h),Yn.unlinkSync(E),Yn.unlinkSync(I),Yn.unlinkSync(v),u}function Jgt(t){var e,r={},o,a={env:process.env,encoding:t.encoding};if(c0||($d?process.env.PSModulePath?(c0="powershell.exe",yk=["-ExecutionPolicy","Bypass","-File",__dirname+"\\read.ps1"]):(c0="cscript.exe",yk=["//nologo",__dirname+"\\read.cs.js"]):(c0="/bin/sh",yk=[__dirname+"/read.sh"])),$d&&!process.env.PSModulePath&&(a.stdio=[process.stdin]),lH.execFileSync){e=zde(t),D2&&D2("execFileSync",e);try{r.input=lH.execFileSync(c0,e,a)}catch(n){o=n.stderr?(n.stderr+"").trim():"",r.error=new Error(Wde+(o?` +`+o:"")),r.error.method="execFileSync",r.error.program=c0,r.error.args=e,r.error.extMessage=o,r.error.exitCode=n.status,r.error.code=n.code,r.error.signal=n.signal}}else r=zgt(t,a);return r.error||(r.input=r.input.replace(/^\s*'|'\s*$/g,""),t.display=""),r}function AH(t){var e="",r=t.display,o=!t.display&&t.keyIn&&t.hideEchoBack&&!t.mask;function a(){var n=Jgt(t);if(n.error)throw n.error;return n.input}return uH&&uH(t),function(){var n,u,A;function p(){return n||(n=process.binding("fs"),u=process.binding("constants")),n}if(typeof Vf=="string")if(Vf=null,$d){if(A=function(h){var E=h.replace(/^\D+/,"").split("."),I=0;return(E[0]=+E[0])&&(I+=E[0]*1e4),(E[1]=+E[1])&&(I+=E[1]*100),(E[2]=+E[2])&&(I+=E[2]),I}(process.version),!(A>=20302&&A<40204||A>=5e4&&A<50100||A>=50600&&A<60200)&&process.stdin.isTTY)process.stdin.pause(),Vf=process.stdin.fd,wC=process.stdin._handle;else try{Vf=p().open("CONIN$",u.O_RDWR,parseInt("0666",8)),wC=new jde(Vf,!0)}catch{}if(process.stdout.isTTY)Zc=process.stdout.fd;else{try{Zc=Yn.openSync("\\\\.\\CON","w")}catch{}if(typeof Zc!="number")try{Zc=p().open("CONOUT$",u.O_RDWR,parseInt("0666",8))}catch{}}}else{if(process.stdin.isTTY){process.stdin.pause();try{Vf=Yn.openSync("/dev/tty","r"),wC=process.stdin._handle}catch{}}else try{Vf=Yn.openSync("/dev/tty","r"),wC=new jde(Vf,!1)}catch{}if(process.stdout.isTTY)Zc=process.stdout.fd;else try{Zc=Yn.openSync("/dev/tty","w")}catch{}}}(),function(){var n,u,A=!t.hideEchoBack&&!t.keyIn,p,h,E,I,v;Ek="";function x(C){return C===Yde?!0:wC.setRawMode(C)!==0?!1:(Yde=C,!0)}if(Kde||!wC||typeof Zc!="number"&&(t.display||!A)){e=a();return}if(t.display&&(Yn.writeSync(Zc,t.display),t.display=""),!t.displayOnly){if(!x(!A)){e=a();return}for(h=t.keyIn?1:t.bufferSize,p=Buffer.allocUnsafe&&Buffer.alloc?Buffer.alloc(h):new Buffer(h),t.keyIn&&t.limit&&(u=new RegExp("[^"+t.limit+"]","g"+(t.caseSensitive?"":"i")));;){E=0;try{E=Yn.readSync(Vf,p,0,h)}catch(C){if(C.code!=="EOF"){x(!1),e+=a();return}}if(E>0?(I=p.toString(t.encoding,0,E),Ek+=I):(I=` +`,Ek+=String.fromCharCode(0)),I&&typeof(v=(I.match(/^(.*?)[\r\n]/)||[])[1])=="string"&&(I=v,n=!0),I&&(I=I.replace(/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/g,"")),I&&u&&(I=I.replace(u,"")),I&&(A||(t.hideEchoBack?t.mask&&Yn.writeSync(Zc,new Array(I.length+1).join(t.mask)):Yn.writeSync(Zc,I)),e+=I),!t.keyIn&&n||t.keyIn&&e.length>=h)break}!A&&!o&&Yn.writeSync(Zc,` +`),x(!1)}}(),t.print&&!o&&t.print(r+(t.displayOnly?"":(t.hideEchoBack?new Array(e.length+1).join(t.mask):e)+` +`),t.encoding),t.displayOnly?"":hH=t.keepWhitespace||t.keyIn?e:e.trim()}function Vgt(t,e){var r=[];function o(a){a!=null&&(Array.isArray(a)?a.forEach(o):(!e||e(a))&&r.push(a))}return o(t),r}function gH(t){return t.replace(/[\x00-\x7f]/g,function(e){return"\\x"+("00"+e.charCodeAt().toString(16)).substr(-2)})}function Ls(){var t=Array.prototype.slice.call(arguments),e,r;return t.length&&typeof t[0]=="boolean"&&(r=t.shift(),r&&(e=Object.keys(cH),t.unshift(cH))),t.reduce(function(o,a){return a==null||(a.hasOwnProperty("noEchoBack")&&!a.hasOwnProperty("hideEchoBack")&&(a.hideEchoBack=a.noEchoBack,delete a.noEchoBack),a.hasOwnProperty("noTrim")&&!a.hasOwnProperty("keepWhitespace")&&(a.keepWhitespace=a.noTrim,delete a.noTrim),r||(e=Object.keys(a)),e.forEach(function(n){var u;if(!!a.hasOwnProperty(n))switch(u=a[n],n){case"mask":case"limitMessage":case"defaultInput":case"encoding":u=u!=null?u+"":"",u&&n!=="limitMessage"&&(u=u.replace(/[\r\n]/g,"")),o[n]=u;break;case"bufferSize":!isNaN(u=parseInt(u,10))&&typeof u=="number"&&(o[n]=u);break;case"displayOnly":case"keyIn":case"hideEchoBack":case"caseSensitive":case"keepWhitespace":case"history":case"cd":o[n]=!!u;break;case"limit":case"trueValue":case"falseValue":o[n]=Vgt(u,function(A){var p=typeof A;return p==="string"||p==="number"||p==="function"||A instanceof RegExp}).map(function(A){return typeof A=="string"?A.replace(/[\r\n]/g,""):A});break;case"print":case"phContent":case"preCheck":o[n]=typeof u=="function"?u:void 0;break;case"prompt":case"display":o[n]=u??"";break}})),o},{})}function fH(t,e,r){return e.some(function(o){var a=typeof o;return a==="string"?r?t===o:t.toLowerCase()===o.toLowerCase():a==="number"?parseFloat(t)===o:a==="function"?o(t):o instanceof RegExp?o.test(t):!1})}function dH(t,e){var r=u0.normalize($d?(process.env.HOMEDRIVE||"")+(process.env.HOMEPATH||""):process.env.HOME||"").replace(/[\/\\]+$/,"");return t=u0.normalize(t),e?t.replace(/^~(?=\/|\\|$)/,r):t.replace(new RegExp("^"+gH(r)+"(?=\\/|\\\\|$)",$d?"i":""),"~")}function IC(t,e){var r="(?:\\(([\\s\\S]*?)\\))?(\\w+|.-.)(?:\\(([\\s\\S]*?)\\))?",o=new RegExp("(\\$)?(\\$<"+r+">)","g"),a=new RegExp("(\\$)?(\\$\\{"+r+"\\})","g");function n(u,A,p,h,E,I){var v;return A||typeof(v=e(E))!="string"?p:v?(h||"")+v+(I||""):""}return t.replace(o,n).replace(a,n)}function Jde(t,e,r){var o,a=[],n=-1,u=0,A="",p;function h(E,I){return I.length>3?(E.push(I[0]+"..."+I[I.length-1]),p=!0):I.length&&(E=E.concat(I)),E}return o=t.reduce(function(E,I){return E.concat((I+"").split(""))},[]).reduce(function(E,I){var v,x;return e||(I=I.toLowerCase()),v=/^\d$/.test(I)?1:/^[A-Z]$/.test(I)?2:/^[a-z]$/.test(I)?3:0,r&&v===0?A+=I:(x=I.charCodeAt(0),v&&v===n&&x===u+1?a.push(I):(E=h(E,a),a=[I],n=v),u=x),E},[]),o=h(o,a),A&&(o.push(A),p=!0),{values:o,suppressed:p}}function Vde(t,e){return t.join(t.length>2?", ":e?" / ":"/")}function Xde(t,e){var r,o,a={},n;if(e.phContent&&(r=e.phContent(t,e)),typeof r!="string")switch(t){case"hideEchoBack":case"mask":case"defaultInput":case"caseSensitive":case"keepWhitespace":case"encoding":case"bufferSize":case"history":case"cd":r=e.hasOwnProperty(t)?typeof e[t]=="boolean"?e[t]?"on":"off":e[t]+"":"";break;case"limit":case"trueValue":case"falseValue":o=e[e.hasOwnProperty(t+"Src")?t+"Src":t],e.keyIn?(a=Jde(o,e.caseSensitive),o=a.values):o=o.filter(function(u){var A=typeof u;return A==="string"||A==="number"}),r=Vde(o,a.suppressed);break;case"limitCount":case"limitCountNotZero":r=e[e.hasOwnProperty("limitSrc")?"limitSrc":"limit"].length,r=r||t!=="limitCountNotZero"?r+"":"";break;case"lastInput":r=hH;break;case"cwd":case"CWD":case"cwdHome":r=process.cwd(),t==="CWD"?r=u0.basename(r):t==="cwdHome"&&(r=dH(r));break;case"date":case"time":case"localeDate":case"localeTime":r=new Date()["to"+t.replace(/^./,function(u){return u.toUpperCase()})+"String"]();break;default:typeof(n=(t.match(/^history_m(\d+)$/)||[])[1])=="string"&&(r=Zd[Zd.length-n]||"")}return r}function Zde(t){var e=/^(.)-(.)$/.exec(t),r="",o,a,n,u;if(!e)return null;for(o=e[1].charCodeAt(0),a=e[2].charCodeAt(0),u=o +And the length must be: $`,trueValue:null,falseValue:null,caseSensitive:!0},e,{history:!1,cd:!1,phContent:function(x){return x==="charlist"?r.text:x==="length"?o+"..."+a:null}}),u,A,p,h,E,I,v;for(e=e||{},u=IC(e.charlist?e.charlist+"":"$",Zde),(isNaN(o=parseInt(e.min,10))||typeof o!="number")&&(o=12),(isNaN(a=parseInt(e.max,10))||typeof a!="number")&&(a=24),h=new RegExp("^["+gH(u)+"]{"+o+","+a+"}$"),r=Jde([u],n.caseSensitive,!0),r.text=Vde(r.values,r.suppressed),A=e.confirmMessage!=null?e.confirmMessage:"Reinput a same one to confirm it: ",p=e.unmatchMessage!=null?e.unmatchMessage:"It differs from first one. Hit only the Enter key if you want to retry from first one.",t==null&&(t="Input new password: "),E=n.limitMessage;!v;)n.limit=h,n.limitMessage=E,I=Wr.question(t,n),n.limit=[I,""],n.limitMessage=p,v=Wr.question(A,n);return I};function tme(t,e,r){var o;function a(n){return o=r(n),!isNaN(o)&&typeof o=="number"}return Wr.question(t,Ls({limitMessage:"Input valid number, please."},e,{limit:a,cd:!1})),o}Wr.questionInt=function(t,e){return tme(t,e,function(r){return parseInt(r,10)})};Wr.questionFloat=function(t,e){return tme(t,e,parseFloat)};Wr.questionPath=function(t,e){var r,o="",a=Ls({hideEchoBack:!1,limitMessage:`$Input valid path, please.$<( Min:)min>$<( Max:)max>`,history:!0,cd:!0},e,{keepWhitespace:!1,limit:function(n){var u,A,p;n=dH(n,!0),o="";function h(E){E.split(/\/|\\/).reduce(function(I,v){var x=u0.resolve(I+=v+u0.sep);if(!Yn.existsSync(x))Yn.mkdirSync(x);else if(!Yn.statSync(x).isDirectory())throw new Error("Non directory already exists: "+x);return I},"")}try{if(u=Yn.existsSync(n),r=u?Yn.realpathSync(n):u0.resolve(n),!e.hasOwnProperty("exists")&&!u||typeof e.exists=="boolean"&&e.exists!==u)return o=(u?"Already exists":"No such file or directory")+": "+r,!1;if(!u&&e.create&&(e.isDirectory?h(r):(h(u0.dirname(r)),Yn.closeSync(Yn.openSync(r,"w"))),r=Yn.realpathSync(r)),u&&(e.min||e.max||e.isFile||e.isDirectory)){if(A=Yn.statSync(r),e.isFile&&!A.isFile())return o="Not file: "+r,!1;if(e.isDirectory&&!A.isDirectory())return o="Not directory: "+r,!1;if(e.min&&A.size<+e.min||e.max&&A.size>+e.max)return o="Size "+A.size+" is out of range: "+r,!1}if(typeof e.validate=="function"&&(p=e.validate(r))!==!0)return typeof p=="string"&&(o=p),!1}catch(E){return o=E+"",!1}return!0},phContent:function(n){return n==="error"?o:n!=="min"&&n!=="max"?null:e.hasOwnProperty(n)?e[n]+"":""}});return e=e||{},t==null&&(t='Input path (you can "cd" and "pwd"): '),Wr.question(t,a),r};function rme(t,e){var r={},o={};return typeof t=="object"?(Object.keys(t).forEach(function(a){typeof t[a]=="function"&&(o[e.caseSensitive?a:a.toLowerCase()]=t[a])}),r.preCheck=function(a){var n;return r.args=pH(a),n=r.args[0]||"",e.caseSensitive||(n=n.toLowerCase()),r.hRes=n!=="_"&&o.hasOwnProperty(n)?o[n].apply(a,r.args.slice(1)):o.hasOwnProperty("_")?o._.apply(a,r.args):null,{res:a,forceNext:!1}},o.hasOwnProperty("_")||(r.limit=function(){var a=r.args[0]||"";return e.caseSensitive||(a=a.toLowerCase()),o.hasOwnProperty(a)})):r.preCheck=function(a){return r.args=pH(a),r.hRes=typeof t=="function"?t.apply(a,r.args):!0,{res:a,forceNext:!1}},r}Wr.promptCL=function(t,e){var r=Ls({hideEchoBack:!1,limitMessage:"Requested command is not available.",caseSensitive:!1,history:!0},e),o=rme(t,r);return r.limit=o.limit,r.preCheck=o.preCheck,Wr.prompt(r),o.args};Wr.promptLoop=function(t,e){for(var r=Ls({hideEchoBack:!1,trueValue:null,falseValue:null,caseSensitive:!1,history:!0},e);!t(Wr.prompt(r)););};Wr.promptCLLoop=function(t,e){var r=Ls({hideEchoBack:!1,limitMessage:"Requested command is not available.",caseSensitive:!1,history:!0},e),o=rme(t,r);for(r.limit=o.limit,r.preCheck=o.preCheck;Wr.prompt(r),!o.hRes;);};Wr.promptSimShell=function(t){return Wr.prompt(Ls({hideEchoBack:!1,history:!0},t,{prompt:function(){return $d?"$>":(process.env.USER||"")+(process.env.HOSTNAME?"@"+process.env.HOSTNAME.replace(/\..*$/,""):"")+":$$ "}()}))};function nme(t,e,r){var o;return t==null&&(t="Are you sure? "),(!e||e.guide!==!1)&&(t+="")&&(t=t.replace(/\s*:?\s*$/,"")+" [y/n]: "),o=Wr.keyIn(t,Ls(e,{hideEchoBack:!1,limit:r,trueValue:"y",falseValue:"n",caseSensitive:!1})),typeof o=="boolean"?o:""}Wr.keyInYN=function(t,e){return nme(t,e)};Wr.keyInYNStrict=function(t,e){return nme(t,e,"yn")};Wr.keyInPause=function(t,e){t==null&&(t="Continue..."),(!e||e.guide!==!1)&&(t+="")&&(t=t.replace(/\s+$/,"")+" (Hit any key)"),Wr.keyIn(t,Ls({limit:null},e,{hideEchoBack:!0,mask:""}))};Wr.keyInSelect=function(t,e,r){var o=Ls({hideEchoBack:!1},r,{trueValue:null,falseValue:null,caseSensitive:!1,phContent:function(p){return p==="itemsCount"?t.length+"":p==="firstItem"?(t[0]+"").trim():p==="lastItem"?(t[t.length-1]+"").trim():null}}),a="",n={},u=49,A=` +`;if(!Array.isArray(t)||!t.length||t.length>35)throw"`items` must be Array (max length: 35).";return t.forEach(function(p,h){var E=String.fromCharCode(u);a+=E,n[E]=h,A+="["+E+"] "+(p+"").trim()+` +`,u=u===57?97:u+1}),(!r||r.cancel!==!1)&&(a+="0",n[0]=-1,A+="[0] "+(r&&r.cancel!=null&&typeof r.cancel!="boolean"?(r.cancel+"").trim():"CANCEL")+` +`),o.limit=a,A+=` +`,e==null&&(e="Choose one from list: "),(e+="")&&((!r||r.guide!==!1)&&(e=e.replace(/\s*:?\s*$/,"")+" [$]: "),A+=e),n[Wr.keyIn(A,o).toLowerCase()]};Wr.getRawInput=function(){return Ek};function S2(t,e){var r;return e.length&&(r={},r[t]=e[0]),Wr.setDefaultOptions(r)[t]}Wr.setPrint=function(){return S2("print",arguments)};Wr.setPrompt=function(){return S2("prompt",arguments)};Wr.setEncoding=function(){return S2("encoding",arguments)};Wr.setMask=function(){return S2("mask",arguments)};Wr.setBufferSize=function(){return S2("bufferSize",arguments)}});var mH=_((i7t,gl)=>{(function(){var t={major:0,minor:2,patch:66,status:"beta"};tau_file_system={files:{},open:function(w,S,y){var R=tau_file_system.files[w];if(!R){if(y==="read")return null;R={path:w,text:"",type:S,get:function(V,X){return X===this.text.length||X>this.text.length?"end_of_file":this.text.substring(X,X+V)},put:function(V,X){return X==="end_of_file"?(this.text+=V,!0):X==="past_end_of_file"?null:(this.text=this.text.substring(0,X)+V+this.text.substring(X+V.length),!0)},get_byte:function(V){if(V==="end_of_stream")return-1;var X=Math.floor(V/2);if(this.text.length<=X)return-1;var $=n(this.text[Math.floor(V/2)],0);return V%2===0?$&255:$/256>>>0},put_byte:function(V,X){var $=X==="end_of_stream"?this.text.length:Math.floor(X/2);if(this.text.length<$)return null;var ie=this.text.length===$?-1:n(this.text[Math.floor(X/2)],0);return X%2===0?(ie=ie/256>>>0,ie=(ie&255)<<8|V&255):(ie=ie&255,ie=(V&255)<<8|ie&255),this.text.length===$?this.text+=u(ie):this.text=this.text.substring(0,$)+u(ie)+this.text.substring($+1),!0},flush:function(){return!0},close:function(){var V=tau_file_system.files[this.path];return V?!0:null}},tau_file_system.files[w]=R}return y==="write"&&(R.text=""),R}},tau_user_input={buffer:"",get:function(w,S){for(var y;tau_user_input.buffer.length\?\@\^\~\\]+|'(?:[^']*?(?:\\(?:x?\d+)?\\)*(?:'')*(?:\\')*)*')/,number:/^(?:0o[0-7]+|0x[0-9a-fA-F]+|0b[01]+|0'(?:''|\\[abfnrtv\\'"`]|\\x?\d+\\|[^\\])|\d+(?:\.\d+(?:[eE][+-]?\d+)?)?)/,string:/^(?:"([^"]|""|\\")*"|`([^`]|``|\\`)*`)/,l_brace:/^(?:\[)/,r_brace:/^(?:\])/,l_bracket:/^(?:\{)/,r_bracket:/^(?:\})/,bar:/^(?:\|)/,l_paren:/^(?:\()/,r_paren:/^(?:\))/};function N(w,S){return w.get_flag("char_conversion").id==="on"?S.replace(/./g,function(y){return w.get_char_conversion(y)}):S}function U(w){this.thread=w,this.text="",this.tokens=[]}U.prototype.set_last_tokens=function(w){return this.tokens=w},U.prototype.new_text=function(w){this.text=w,this.tokens=[]},U.prototype.get_tokens=function(w){var S,y=0,R=0,V=0,X=[],$=!1;if(w){var ie=this.tokens[w-1];y=ie.len,S=N(this.thread,this.text.substr(ie.len)),R=ie.line,V=ie.start}else S=this.text;if(/^\s*$/.test(S))return null;for(;S!=="";){var be=[],Fe=!1;if(/^\n/.exec(S)!==null){R++,V=0,y++,S=S.replace(/\n/,""),$=!0;continue}for(var at in F)if(F.hasOwnProperty(at)){var dt=F[at].exec(S);dt&&be.push({value:dt[0],name:at,matches:dt})}if(!be.length)return this.set_last_tokens([{value:S,matches:[],name:"lexical",line:R,start:V}]);var ie=r(be,function(kr,mr){return kr.value.length>=mr.value.length?kr:mr});switch(ie.start=V,ie.line=R,S=S.replace(ie.value,""),V+=ie.value.length,y+=ie.value.length,ie.name){case"atom":ie.raw=ie.value,ie.value.charAt(0)==="'"&&(ie.value=v(ie.value.substr(1,ie.value.length-2),"'"),ie.value===null&&(ie.name="lexical",ie.value="unknown escape sequence"));break;case"number":ie.float=ie.value.substring(0,2)!=="0x"&&ie.value.match(/[.eE]/)!==null&&ie.value!=="0'.",ie.value=C(ie.value),ie.blank=Fe;break;case"string":var Gt=ie.value.charAt(0);ie.value=v(ie.value.substr(1,ie.value.length-2),Gt),ie.value===null&&(ie.name="lexical",ie.value="unknown escape sequence");break;case"whitespace":var tr=X[X.length-1];tr&&(tr.space=!0),Fe=!0;continue;case"r_bracket":X.length>0&&X[X.length-1].name==="l_bracket"&&(ie=X.pop(),ie.name="atom",ie.value="{}",ie.raw="{}",ie.space=!1);break;case"r_brace":X.length>0&&X[X.length-1].name==="l_brace"&&(ie=X.pop(),ie.name="atom",ie.value="[]",ie.raw="[]",ie.space=!1);break}ie.len=y,X.push(ie),Fe=!1}var bt=this.set_last_tokens(X);return bt.length===0?null:bt};function J(w,S,y,R,V){if(!S[y])return{type:A,value:b.error.syntax(S[y-1],"expression expected",!0)};var X;if(R==="0"){var $=S[y];switch($.name){case"number":return{type:p,len:y+1,value:new b.type.Num($.value,$.float)};case"variable":return{type:p,len:y+1,value:new b.type.Var($.value)};case"string":var ie;switch(w.get_flag("double_quotes").id){case"atom":ie=new H($.value,[]);break;case"codes":ie=new H("[]",[]);for(var be=$.value.length-1;be>=0;be--)ie=new H(".",[new b.type.Num(n($.value,be),!1),ie]);break;case"chars":ie=new H("[]",[]);for(var be=$.value.length-1;be>=0;be--)ie=new H(".",[new b.type.Term($.value.charAt(be),[]),ie]);break}return{type:p,len:y+1,value:ie};case"l_paren":var bt=J(w,S,y+1,w.__get_max_priority(),!0);return bt.type!==p?bt:S[bt.len]&&S[bt.len].name==="r_paren"?(bt.len++,bt):{type:A,derived:!0,value:b.error.syntax(S[bt.len]?S[bt.len]:S[bt.len-1],") or operator expected",!S[bt.len])};case"l_bracket":var bt=J(w,S,y+1,w.__get_max_priority(),!0);return bt.type!==p?bt:S[bt.len]&&S[bt.len].name==="r_bracket"?(bt.len++,bt.value=new H("{}",[bt.value]),bt):{type:A,derived:!0,value:b.error.syntax(S[bt.len]?S[bt.len]:S[bt.len-1],"} or operator expected",!S[bt.len])}}var Fe=te(w,S,y,V);return Fe.type===p||Fe.derived||(Fe=ae(w,S,y),Fe.type===p||Fe.derived)?Fe:{type:A,derived:!1,value:b.error.syntax(S[y],"unexpected token")}}var at=w.__get_max_priority(),dt=w.__get_next_priority(R),Gt=y;if(S[y].name==="atom"&&S[y+1]&&(S[y].space||S[y+1].name!=="l_paren")){var $=S[y++],tr=w.__lookup_operator_classes(R,$.value);if(tr&&tr.indexOf("fy")>-1){var bt=J(w,S,y,R,V);if(bt.type!==A)return $.value==="-"&&!$.space&&b.type.is_number(bt.value)?{value:new b.type.Num(-bt.value.value,bt.value.is_float),len:bt.len,type:p}:{value:new b.type.Term($.value,[bt.value]),len:bt.len,type:p};X=bt}else if(tr&&tr.indexOf("fx")>-1){var bt=J(w,S,y,dt,V);if(bt.type!==A)return{value:new b.type.Term($.value,[bt.value]),len:bt.len,type:p};X=bt}}y=Gt;var bt=J(w,S,y,dt,V);if(bt.type===p){y=bt.len;var $=S[y];if(S[y]&&(S[y].name==="atom"&&w.__lookup_operator_classes(R,$.value)||S[y].name==="bar"&&w.__lookup_operator_classes(R,"|"))){var ln=dt,kr=R,tr=w.__lookup_operator_classes(R,$.value);if(tr.indexOf("xf")>-1)return{value:new b.type.Term($.value,[bt.value]),len:++bt.len,type:p};if(tr.indexOf("xfx")>-1){var mr=J(w,S,y+1,ln,V);return mr.type===p?{value:new b.type.Term($.value,[bt.value,mr.value]),len:mr.len,type:p}:(mr.derived=!0,mr)}else if(tr.indexOf("xfy")>-1){var mr=J(w,S,y+1,kr,V);return mr.type===p?{value:new b.type.Term($.value,[bt.value,mr.value]),len:mr.len,type:p}:(mr.derived=!0,mr)}else if(bt.type!==A)for(;;){y=bt.len;var $=S[y];if($&&$.name==="atom"&&w.__lookup_operator_classes(R,$.value)){var tr=w.__lookup_operator_classes(R,$.value);if(tr.indexOf("yf")>-1)bt={value:new b.type.Term($.value,[bt.value]),len:++y,type:p};else if(tr.indexOf("yfx")>-1){var mr=J(w,S,++y,ln,V);if(mr.type===A)return mr.derived=!0,mr;y=mr.len,bt={value:new b.type.Term($.value,[bt.value,mr.value]),len:y,type:p}}else break}else break}}else X={type:A,value:b.error.syntax(S[bt.len-1],"operator expected")};return bt}return bt}function te(w,S,y,R){if(!S[y]||S[y].name==="atom"&&S[y].raw==="."&&!R&&(S[y].space||!S[y+1]||S[y+1].name!=="l_paren"))return{type:A,derived:!1,value:b.error.syntax(S[y-1],"unfounded token")};var V=S[y],X=[];if(S[y].name==="atom"&&S[y].raw!==","){if(y++,S[y-1].space)return{type:p,len:y,value:new b.type.Term(V.value,X)};if(S[y]&&S[y].name==="l_paren"){if(S[y+1]&&S[y+1].name==="r_paren")return{type:A,derived:!0,value:b.error.syntax(S[y+1],"argument expected")};var $=J(w,S,++y,"999",!0);if($.type===A)return $.derived?$:{type:A,derived:!0,value:b.error.syntax(S[y]?S[y]:S[y-1],"argument expected",!S[y])};for(X.push($.value),y=$.len;S[y]&&S[y].name==="atom"&&S[y].value===",";){if($=J(w,S,y+1,"999",!0),$.type===A)return $.derived?$:{type:A,derived:!0,value:b.error.syntax(S[y+1]?S[y+1]:S[y],"argument expected",!S[y+1])};X.push($.value),y=$.len}if(S[y]&&S[y].name==="r_paren")y++;else return{type:A,derived:!0,value:b.error.syntax(S[y]?S[y]:S[y-1],", or ) expected",!S[y])}}return{type:p,len:y,value:new b.type.Term(V.value,X)}}return{type:A,derived:!1,value:b.error.syntax(S[y],"term expected")}}function ae(w,S,y){if(!S[y])return{type:A,derived:!1,value:b.error.syntax(S[y-1],"[ expected")};if(S[y]&&S[y].name==="l_brace"){var R=J(w,S,++y,"999",!0),V=[R.value],X=void 0;if(R.type===A)return S[y]&&S[y].name==="r_brace"?{type:p,len:y+1,value:new b.type.Term("[]",[])}:{type:A,derived:!0,value:b.error.syntax(S[y],"] expected")};for(y=R.len;S[y]&&S[y].name==="atom"&&S[y].value===",";){if(R=J(w,S,y+1,"999",!0),R.type===A)return R.derived?R:{type:A,derived:!0,value:b.error.syntax(S[y+1]?S[y+1]:S[y],"argument expected",!S[y+1])};V.push(R.value),y=R.len}var $=!1;if(S[y]&&S[y].name==="bar"){if($=!0,R=J(w,S,y+1,"999",!0),R.type===A)return R.derived?R:{type:A,derived:!0,value:b.error.syntax(S[y+1]?S[y+1]:S[y],"argument expected",!S[y+1])};X=R.value,y=R.len}return S[y]&&S[y].name==="r_brace"?{type:p,len:y+1,value:g(V,X)}:{type:A,derived:!0,value:b.error.syntax(S[y]?S[y]:S[y-1],$?"] expected":", or | or ] expected",!S[y])}}return{type:A,derived:!1,value:b.error.syntax(S[y],"list expected")}}function le(w,S,y){var R=S[y].line,V=J(w,S,y,w.__get_max_priority(),!1),X=null,$;if(V.type!==A)if(y=V.len,S[y]&&S[y].name==="atom"&&S[y].raw===".")if(y++,b.type.is_term(V.value)){if(V.value.indicator===":-/2"?(X=new b.type.Rule(V.value.args[0],Ee(V.value.args[1])),$={value:X,len:y,type:p}):V.value.indicator==="-->/2"?(X=de(new b.type.Rule(V.value.args[0],V.value.args[1]),w),X.body=Ee(X.body),$={value:X,len:y,type:b.type.is_rule(X)?p:A}):(X=new b.type.Rule(V.value,null),$={value:X,len:y,type:p}),X){var ie=X.singleton_variables();ie.length>0&&w.throw_warning(b.warning.singleton(ie,X.head.indicator,R))}return $}else return{type:A,value:b.error.syntax(S[y],"callable expected")};else return{type:A,value:b.error.syntax(S[y]?S[y]:S[y-1],". or operator expected")};return V}function ce(w,S,y){y=y||{},y.from=y.from?y.from:"$tau-js",y.reconsult=y.reconsult!==void 0?y.reconsult:!0;var R=new U(w),V={},X;R.new_text(S);var $=0,ie=R.get_tokens($);do{if(ie===null||!ie[$])break;var be=le(w,ie,$);if(be.type===A)return new H("throw",[be.value]);if(be.value.body===null&&be.value.head.indicator==="?-/1"){var Fe=new et(w.session);Fe.add_goal(be.value.head.args[0]),Fe.answer(function(dt){b.type.is_error(dt)?w.throw_warning(dt.args[0]):(dt===!1||dt===null)&&w.throw_warning(b.warning.failed_goal(be.value.head.args[0],be.len))}),$=be.len;var at=!0}else if(be.value.body===null&&be.value.head.indicator===":-/1"){var at=w.run_directive(be.value.head.args[0]);$=be.len,be.value.head.args[0].indicator==="char_conversion/2"&&(ie=R.get_tokens($),$=0)}else{X=be.value.head.indicator,y.reconsult!==!1&&V[X]!==!0&&!w.is_multifile_predicate(X)&&(w.session.rules[X]=a(w.session.rules[X]||[],function(Gt){return Gt.dynamic}),V[X]=!0);var at=w.add_rule(be.value,y);$=be.len}if(!at)return at}while(!0);return!0}function we(w,S){var y=new U(w);y.new_text(S);var R=0;do{var V=y.get_tokens(R);if(V===null)break;var X=J(w,V,0,w.__get_max_priority(),!1);if(X.type!==A){var $=X.len,ie=$;if(V[$]&&V[$].name==="atom"&&V[$].raw===".")w.add_goal(Ee(X.value));else{var be=V[$];return new H("throw",[b.error.syntax(be||V[$-1],". or operator expected",!be)])}R=X.len+1}else return new H("throw",[X.value])}while(!0);return!0}function de(w,S){w=w.rename(S);var y=S.next_free_variable(),R=Be(w.body,y,S);return R.error?R.value:(w.body=R.value,w.head.args=w.head.args.concat([y,R.variable]),w.head=new H(w.head.id,w.head.args),w)}function Be(w,S,y){var R;if(b.type.is_term(w)&&w.indicator==="!/0")return{value:w,variable:S,error:!1};if(b.type.is_term(w)&&w.indicator===",/2"){var V=Be(w.args[0],S,y);if(V.error)return V;var X=Be(w.args[1],V.variable,y);return X.error?X:{value:new H(",",[V.value,X.value]),variable:X.variable,error:!1}}else{if(b.type.is_term(w)&&w.indicator==="{}/1")return{value:w.args[0],variable:S,error:!1};if(b.type.is_empty_list(w))return{value:new H("true",[]),variable:S,error:!1};if(b.type.is_list(w)){R=y.next_free_variable();for(var $=w,ie;$.indicator==="./2";)ie=$,$=$.args[1];return b.type.is_variable($)?{value:b.error.instantiation("DCG"),variable:S,error:!0}:b.type.is_empty_list($)?(ie.args[1]=R,{value:new H("=",[S,w]),variable:R,error:!1}):{value:b.error.type("list",w,"DCG"),variable:S,error:!0}}else return b.type.is_callable(w)?(R=y.next_free_variable(),w.args=w.args.concat([S,R]),w=new H(w.id,w.args),{value:w,variable:R,error:!1}):{value:b.error.type("callable",w,"DCG"),variable:S,error:!0}}}function Ee(w){return b.type.is_variable(w)?new H("call",[w]):b.type.is_term(w)&&[",/2",";/2","->/2"].indexOf(w.indicator)!==-1?new H(w.id,[Ee(w.args[0]),Ee(w.args[1])]):w}function g(w,S){for(var y=S||new b.type.Term("[]",[]),R=w.length-1;R>=0;R--)y=new b.type.Term(".",[w[R],y]);return y}function me(w,S){for(var y=w.length-1;y>=0;y--)w[y]===S&&w.splice(y,1)}function Ce(w){for(var S={},y=[],R=0;R=0;S--)if(w.charAt(S)==="/")return new H("/",[new H(w.substring(0,S)),new Le(parseInt(w.substring(S+1)),!1)])}function xe(w){this.id=w}function Le(w,S){this.is_float=S!==void 0?S:parseInt(w)!==w,this.value=this.is_float?w:parseInt(w)}var ht=0;function H(w,S,y){this.ref=y||++ht,this.id=w,this.args=S||[],this.indicator=w+"/"+this.args.length}var rt=0;function Te(w,S,y,R,V,X){this.id=rt++,this.stream=w,this.mode=S,this.alias=y,this.type=R!==void 0?R:"text",this.reposition=V!==void 0?V:!0,this.eof_action=X!==void 0?X:"eof_code",this.position=this.mode==="append"?"end_of_stream":0,this.output=this.mode==="write"||this.mode==="append",this.input=this.mode==="read"}function Re(w){w=w||{},this.links=w}function ke(w,S,y){S=S||new Re,y=y||null,this.goal=w,this.substitution=S,this.parent=y}function Ye(w,S,y){this.head=w,this.body=S,this.dynamic=y||!1}function Se(w){w=w===void 0||w<=0?1e3:w,this.rules={},this.src_predicates={},this.rename=0,this.modules=[],this.thread=new et(this),this.total_threads=1,this.renamed_variables={},this.public_predicates={},this.multifile_predicates={},this.limit=w,this.streams={user_input:new Te(typeof gl<"u"&&gl.exports?nodejs_user_input:tau_user_input,"read","user_input","text",!1,"reset"),user_output:new Te(typeof gl<"u"&&gl.exports?nodejs_user_output:tau_user_output,"write","user_output","text",!1,"eof_code")},this.file_system=typeof gl<"u"&&gl.exports?nodejs_file_system:tau_file_system,this.standard_input=this.streams.user_input,this.standard_output=this.streams.user_output,this.current_input=this.streams.user_input,this.current_output=this.streams.user_output,this.format_success=function(S){return S.substitution},this.format_error=function(S){return S.goal},this.flag={bounded:b.flag.bounded.value,max_integer:b.flag.max_integer.value,min_integer:b.flag.min_integer.value,integer_rounding_function:b.flag.integer_rounding_function.value,char_conversion:b.flag.char_conversion.value,debug:b.flag.debug.value,max_arity:b.flag.max_arity.value,unknown:b.flag.unknown.value,double_quotes:b.flag.double_quotes.value,occurs_check:b.flag.occurs_check.value,dialect:b.flag.dialect.value,version_data:b.flag.version_data.value,nodejs:b.flag.nodejs.value},this.__loaded_modules=[],this.__char_conversion={},this.__operators={1200:{":-":["fx","xfx"],"-->":["xfx"],"?-":["fx"]},1100:{";":["xfy"]},1050:{"->":["xfy"]},1e3:{",":["xfy"]},900:{"\\+":["fy"]},700:{"=":["xfx"],"\\=":["xfx"],"==":["xfx"],"\\==":["xfx"],"@<":["xfx"],"@=<":["xfx"],"@>":["xfx"],"@>=":["xfx"],"=..":["xfx"],is:["xfx"],"=:=":["xfx"],"=\\=":["xfx"],"<":["xfx"],"=<":["xfx"],">":["xfx"],">=":["xfx"]},600:{":":["xfy"]},500:{"+":["yfx"],"-":["yfx"],"/\\":["yfx"],"\\/":["yfx"]},400:{"*":["yfx"],"/":["yfx"],"//":["yfx"],rem:["yfx"],mod:["yfx"],"<<":["yfx"],">>":["yfx"]},200:{"**":["xfx"],"^":["xfy"],"-":["fy"],"+":["fy"],"\\":["fy"]}}}function et(w){this.epoch=Date.now(),this.session=w,this.session.total_threads++,this.total_steps=0,this.cpu_time=0,this.cpu_time_last=0,this.points=[],this.debugger=!1,this.debugger_states=[],this.level="top_level/0",this.__calls=[],this.current_limit=this.session.limit,this.warnings=[]}function Ue(w,S,y){this.id=w,this.rules=S,this.exports=y,b.module[w]=this}Ue.prototype.exports_predicate=function(w){return this.exports.indexOf(w)!==-1},xe.prototype.unify=function(w,S){if(S&&e(w.variables(),this.id)!==-1&&!b.type.is_variable(w))return null;var y={};return y[this.id]=w,new Re(y)},Le.prototype.unify=function(w,S){return b.type.is_number(w)&&this.value===w.value&&this.is_float===w.is_float?new Re:null},H.prototype.unify=function(w,S){if(b.type.is_term(w)&&this.indicator===w.indicator){for(var y=new Re,R=0;R=0){var R=this.args[0].value,V=Math.floor(R/26),X=R%26;return"ABCDEFGHIJKLMNOPQRSTUVWXYZ"[X]+(V!==0?V:"")}switch(this.indicator){case"[]/0":case"{}/0":case"!/0":return this.id;case"{}/1":return"{"+this.args[0].toString(w)+"}";case"./2":for(var $="["+this.args[0].toString(w),ie=this.args[1];ie.indicator==="./2";)$+=", "+ie.args[0].toString(w),ie=ie.args[1];return ie.indicator!=="[]/0"&&($+="|"+ie.toString(w)),$+="]",$;case",/2":return"("+this.args[0].toString(w)+", "+this.args[1].toString(w)+")";default:var be=this.id,Fe=w.session?w.session.lookup_operator(this.id,this.args.length):null;if(w.session===void 0||w.ignore_ops||Fe===null)return w.quoted&&!/^(!|,|;|[a-z][0-9a-zA-Z_]*)$/.test(be)&&be!=="{}"&&be!=="[]"&&(be="'"+x(be)+"'"),be+(this.args.length?"("+o(this.args,function(tr){return tr.toString(w)}).join(", ")+")":"");var at=Fe.priority>S.priority||Fe.priority===S.priority&&(Fe.class==="xfy"&&this.indicator!==S.indicator||Fe.class==="yfx"&&this.indicator!==S.indicator||this.indicator===S.indicator&&Fe.class==="yfx"&&y==="right"||this.indicator===S.indicator&&Fe.class==="xfy"&&y==="left");Fe.indicator=this.indicator;var dt=at?"(":"",Gt=at?")":"";return this.args.length===0?"("+this.id+")":["fy","fx"].indexOf(Fe.class)!==-1?dt+be+" "+this.args[0].toString(w,Fe)+Gt:["yf","xf"].indexOf(Fe.class)!==-1?dt+this.args[0].toString(w,Fe)+" "+be+Gt:dt+this.args[0].toString(w,Fe,"left")+" "+this.id+" "+this.args[1].toString(w,Fe,"right")+Gt}},Te.prototype.toString=function(w){return"("+this.id+")"},Re.prototype.toString=function(w){var S="{";for(var y in this.links)!this.links.hasOwnProperty(y)||(S!=="{"&&(S+=", "),S+=y+"/"+this.links[y].toString(w));return S+="}",S},ke.prototype.toString=function(w){return this.goal===null?"<"+this.substitution.toString(w)+">":"<"+this.goal.toString(w)+", "+this.substitution.toString(w)+">"},Ye.prototype.toString=function(w){return this.body?this.head.toString(w)+" :- "+this.body.toString(w)+".":this.head.toString(w)+"."},Se.prototype.toString=function(w){for(var S="",y=0;y=0;V--)R=new H(".",[S[V],R]);return R}return new H(this.id,o(this.args,function(X){return X.apply(w)}),this.ref)},Te.prototype.apply=function(w){return this},Ye.prototype.apply=function(w){return new Ye(this.head.apply(w),this.body!==null?this.body.apply(w):null)},Re.prototype.apply=function(w){var S,y={};for(S in this.links)!this.links.hasOwnProperty(S)||(y[S]=this.links[S].apply(w));return new Re(y)},H.prototype.select=function(){for(var w=this;w.indicator===",/2";)w=w.args[0];return w},H.prototype.replace=function(w){return this.indicator===",/2"?this.args[0].indicator===",/2"?new H(",",[this.args[0].replace(w),this.args[1]]):w===null?this.args[1]:new H(",",[w,this.args[1]]):w},H.prototype.search=function(w){if(b.type.is_term(w)&&w.ref!==void 0&&this.ref===w.ref)return!0;for(var S=0;SS&&R0&&(S=this.head_point().substitution.domain());e(S,b.format_variable(this.session.rename))!==-1;)this.session.rename++;if(w.id==="_")return new xe(b.format_variable(this.session.rename));this.session.renamed_variables[w.id]=b.format_variable(this.session.rename)}return new xe(this.session.renamed_variables[w.id])},Se.prototype.next_free_variable=function(){return this.thread.next_free_variable()},et.prototype.next_free_variable=function(){this.session.rename++;var w=[];for(this.points.length>0&&(w=this.head_point().substitution.domain());e(w,b.format_variable(this.session.rename))!==-1;)this.session.rename++;return new xe(b.format_variable(this.session.rename))},Se.prototype.is_public_predicate=function(w){return!this.public_predicates.hasOwnProperty(w)||this.public_predicates[w]===!0},et.prototype.is_public_predicate=function(w){return this.session.is_public_predicate(w)},Se.prototype.is_multifile_predicate=function(w){return this.multifile_predicates.hasOwnProperty(w)&&this.multifile_predicates[w]===!0},et.prototype.is_multifile_predicate=function(w){return this.session.is_multifile_predicate(w)},Se.prototype.prepend=function(w){return this.thread.prepend(w)},et.prototype.prepend=function(w){for(var S=w.length-1;S>=0;S--)this.points.push(w[S])},Se.prototype.success=function(w,S){return this.thread.success(w,S)},et.prototype.success=function(w,y){var y=typeof y>"u"?w:y;this.prepend([new ke(w.goal.replace(null),w.substitution,y)])},Se.prototype.throw_error=function(w){return this.thread.throw_error(w)},et.prototype.throw_error=function(w){this.prepend([new ke(new H("throw",[w]),new Re,null,null)])},Se.prototype.step_rule=function(w,S){return this.thread.step_rule(w,S)},et.prototype.step_rule=function(w,S){var y=S.indicator;if(w==="user"&&(w=null),w===null&&this.session.rules.hasOwnProperty(y))return this.session.rules[y];for(var R=w===null?this.session.modules:e(this.session.modules,w)===-1?[]:[w],V=0;V1)&&this.again()},Se.prototype.answers=function(w,S,y){return this.thread.answers(w,S,y)},et.prototype.answers=function(w,S,y){var R=S||1e3,V=this;if(S<=0){y&&y();return}this.answer(function(X){w(X),X!==!1?setTimeout(function(){V.answers(w,S-1,y)},1):y&&y()})},Se.prototype.again=function(w){return this.thread.again(w)},et.prototype.again=function(w){for(var S,y=Date.now();this.__calls.length>0;){for(this.warnings=[],w!==!1&&(this.current_limit=this.session.limit);this.current_limit>0&&this.points.length>0&&this.head_point().goal!==null&&!b.type.is_error(this.head_point().goal);)if(this.current_limit--,this.step()===!0)return;var R=Date.now();this.cpu_time_last=R-y,this.cpu_time+=this.cpu_time_last;var V=this.__calls.shift();this.current_limit<=0?V(null):this.points.length===0?V(!1):b.type.is_error(this.head_point().goal)?(S=this.session.format_error(this.points.pop()),this.points=[],V(S)):(this.debugger&&this.debugger_states.push(this.head_point()),S=this.session.format_success(this.points.pop()),V(S))}},Se.prototype.unfold=function(w){if(w.body===null)return!1;var S=w.head,y=w.body,R=y.select(),V=new et(this),X=[];V.add_goal(R),V.step();for(var $=V.points.length-1;$>=0;$--){var ie=V.points[$],be=S.apply(ie.substitution),Fe=y.replace(ie.goal);Fe!==null&&(Fe=Fe.apply(ie.substitution)),X.push(new Ye(be,Fe))}var at=this.rules[S.indicator],dt=e(at,w);return X.length>0&&dt!==-1?(at.splice.apply(at,[dt,1].concat(X)),!0):!1},et.prototype.unfold=function(w){return this.session.unfold(w)},xe.prototype.interpret=function(w){return b.error.instantiation(w.level)},Le.prototype.interpret=function(w){return this},H.prototype.interpret=function(w){return b.type.is_unitary_list(this)?this.args[0].interpret(w):b.operate(w,this)},xe.prototype.compare=function(w){return this.idw.id?1:0},Le.prototype.compare=function(w){if(this.value===w.value&&this.is_float===w.is_float)return 0;if(this.valuew.value)return 1},H.prototype.compare=function(w){if(this.args.lengthw.args.length||this.args.length===w.args.length&&this.id>w.id)return 1;for(var S=0;SR)return 1;if(w.constructor===Le){if(w.is_float&&S.is_float)return 0;if(w.is_float)return-1;if(S.is_float)return 1}return 0},is_substitution:function(w){return w instanceof Re},is_state:function(w){return w instanceof ke},is_rule:function(w){return w instanceof Ye},is_variable:function(w){return w instanceof xe},is_stream:function(w){return w instanceof Te},is_anonymous_var:function(w){return w instanceof xe&&w.id==="_"},is_callable:function(w){return w instanceof H},is_number:function(w){return w instanceof Le},is_integer:function(w){return w instanceof Le&&!w.is_float},is_float:function(w){return w instanceof Le&&w.is_float},is_term:function(w){return w instanceof H},is_atom:function(w){return w instanceof H&&w.args.length===0},is_ground:function(w){if(w instanceof xe)return!1;if(w instanceof H){for(var S=0;S0},is_list:function(w){return w instanceof H&&(w.indicator==="[]/0"||w.indicator==="./2")},is_empty_list:function(w){return w instanceof H&&w.indicator==="[]/0"},is_non_empty_list:function(w){return w instanceof H&&w.indicator==="./2"},is_fully_list:function(w){for(;w instanceof H&&w.indicator==="./2";)w=w.args[1];return w instanceof xe||w instanceof H&&w.indicator==="[]/0"},is_instantiated_list:function(w){for(;w instanceof H&&w.indicator==="./2";)w=w.args[1];return w instanceof H&&w.indicator==="[]/0"},is_unitary_list:function(w){return w instanceof H&&w.indicator==="./2"&&w.args[1]instanceof H&&w.args[1].indicator==="[]/0"},is_character:function(w){return w instanceof H&&(w.id.length===1||w.id.length>0&&w.id.length<=2&&n(w.id,0)>=65536)},is_character_code:function(w){return w instanceof Le&&!w.is_float&&w.value>=0&&w.value<=1114111},is_byte:function(w){return w instanceof Le&&!w.is_float&&w.value>=0&&w.value<=255},is_operator:function(w){return w instanceof H&&b.arithmetic.evaluation[w.indicator]},is_directive:function(w){return w instanceof H&&b.directive[w.indicator]!==void 0},is_builtin:function(w){return w instanceof H&&b.predicate[w.indicator]!==void 0},is_error:function(w){return w instanceof H&&w.indicator==="throw/1"},is_predicate_indicator:function(w){return w instanceof H&&w.indicator==="//2"&&w.args[0]instanceof H&&w.args[0].args.length===0&&w.args[1]instanceof Le&&w.args[1].is_float===!1},is_flag:function(w){return w instanceof H&&w.args.length===0&&b.flag[w.id]!==void 0},is_value_flag:function(w,S){if(!b.type.is_flag(w))return!1;for(var y in b.flag[w.id].allowed)if(!!b.flag[w.id].allowed.hasOwnProperty(y)&&b.flag[w.id].allowed[y].equals(S))return!0;return!1},is_io_mode:function(w){return b.type.is_atom(w)&&["read","write","append"].indexOf(w.id)!==-1},is_stream_option:function(w){return b.type.is_term(w)&&(w.indicator==="alias/1"&&b.type.is_atom(w.args[0])||w.indicator==="reposition/1"&&b.type.is_atom(w.args[0])&&(w.args[0].id==="true"||w.args[0].id==="false")||w.indicator==="type/1"&&b.type.is_atom(w.args[0])&&(w.args[0].id==="text"||w.args[0].id==="binary")||w.indicator==="eof_action/1"&&b.type.is_atom(w.args[0])&&(w.args[0].id==="error"||w.args[0].id==="eof_code"||w.args[0].id==="reset"))},is_stream_position:function(w){return b.type.is_integer(w)&&w.value>=0||b.type.is_atom(w)&&(w.id==="end_of_stream"||w.id==="past_end_of_stream")},is_stream_property:function(w){return b.type.is_term(w)&&(w.indicator==="input/0"||w.indicator==="output/0"||w.indicator==="alias/1"&&(b.type.is_variable(w.args[0])||b.type.is_atom(w.args[0]))||w.indicator==="file_name/1"&&(b.type.is_variable(w.args[0])||b.type.is_atom(w.args[0]))||w.indicator==="position/1"&&(b.type.is_variable(w.args[0])||b.type.is_stream_position(w.args[0]))||w.indicator==="reposition/1"&&(b.type.is_variable(w.args[0])||b.type.is_atom(w.args[0])&&(w.args[0].id==="true"||w.args[0].id==="false"))||w.indicator==="type/1"&&(b.type.is_variable(w.args[0])||b.type.is_atom(w.args[0])&&(w.args[0].id==="text"||w.args[0].id==="binary"))||w.indicator==="mode/1"&&(b.type.is_variable(w.args[0])||b.type.is_atom(w.args[0])&&(w.args[0].id==="read"||w.args[0].id==="write"||w.args[0].id==="append"))||w.indicator==="eof_action/1"&&(b.type.is_variable(w.args[0])||b.type.is_atom(w.args[0])&&(w.args[0].id==="error"||w.args[0].id==="eof_code"||w.args[0].id==="reset"))||w.indicator==="end_of_stream/1"&&(b.type.is_variable(w.args[0])||b.type.is_atom(w.args[0])&&(w.args[0].id==="at"||w.args[0].id==="past"||w.args[0].id==="not")))},is_streamable:function(w){return w.__proto__.stream!==void 0},is_read_option:function(w){return b.type.is_term(w)&&["variables/1","variable_names/1","singletons/1"].indexOf(w.indicator)!==-1},is_write_option:function(w){return b.type.is_term(w)&&(w.indicator==="quoted/1"&&b.type.is_atom(w.args[0])&&(w.args[0].id==="true"||w.args[0].id==="false")||w.indicator==="ignore_ops/1"&&b.type.is_atom(w.args[0])&&(w.args[0].id==="true"||w.args[0].id==="false")||w.indicator==="numbervars/1"&&b.type.is_atom(w.args[0])&&(w.args[0].id==="true"||w.args[0].id==="false"))},is_close_option:function(w){return b.type.is_term(w)&&w.indicator==="force/1"&&b.type.is_atom(w.args[0])&&(w.args[0].id==="true"||w.args[0].id==="false")},is_modifiable_flag:function(w){return b.type.is_flag(w)&&b.flag[w.id].changeable},is_module:function(w){return w instanceof H&&w.indicator==="library/1"&&w.args[0]instanceof H&&w.args[0].args.length===0&&b.module[w.args[0].id]!==void 0}},arithmetic:{evaluation:{"e/0":{type_args:null,type_result:!0,fn:function(w){return Math.E}},"pi/0":{type_args:null,type_result:!0,fn:function(w){return Math.PI}},"tau/0":{type_args:null,type_result:!0,fn:function(w){return 2*Math.PI}},"epsilon/0":{type_args:null,type_result:!0,fn:function(w){return Number.EPSILON}},"+/1":{type_args:null,type_result:null,fn:function(w,S){return w}},"-/1":{type_args:null,type_result:null,fn:function(w,S){return-w}},"\\/1":{type_args:!1,type_result:!1,fn:function(w,S){return~w}},"abs/1":{type_args:null,type_result:null,fn:function(w,S){return Math.abs(w)}},"sign/1":{type_args:null,type_result:null,fn:function(w,S){return Math.sign(w)}},"float_integer_part/1":{type_args:!0,type_result:!1,fn:function(w,S){return parseInt(w)}},"float_fractional_part/1":{type_args:!0,type_result:!0,fn:function(w,S){return w-parseInt(w)}},"float/1":{type_args:null,type_result:!0,fn:function(w,S){return parseFloat(w)}},"floor/1":{type_args:!0,type_result:!1,fn:function(w,S){return Math.floor(w)}},"truncate/1":{type_args:!0,type_result:!1,fn:function(w,S){return parseInt(w)}},"round/1":{type_args:!0,type_result:!1,fn:function(w,S){return Math.round(w)}},"ceiling/1":{type_args:!0,type_result:!1,fn:function(w,S){return Math.ceil(w)}},"sin/1":{type_args:null,type_result:!0,fn:function(w,S){return Math.sin(w)}},"cos/1":{type_args:null,type_result:!0,fn:function(w,S){return Math.cos(w)}},"tan/1":{type_args:null,type_result:!0,fn:function(w,S){return Math.tan(w)}},"asin/1":{type_args:null,type_result:!0,fn:function(w,S){return Math.asin(w)}},"acos/1":{type_args:null,type_result:!0,fn:function(w,S){return Math.acos(w)}},"atan/1":{type_args:null,type_result:!0,fn:function(w,S){return Math.atan(w)}},"atan2/2":{type_args:null,type_result:!0,fn:function(w,S,y){return Math.atan2(w,S)}},"exp/1":{type_args:null,type_result:!0,fn:function(w,S){return Math.exp(w)}},"sqrt/1":{type_args:null,type_result:!0,fn:function(w,S){return Math.sqrt(w)}},"log/1":{type_args:null,type_result:!0,fn:function(w,S){return w>0?Math.log(w):b.error.evaluation("undefined",S.__call_indicator)}},"+/2":{type_args:null,type_result:null,fn:function(w,S,y){return w+S}},"-/2":{type_args:null,type_result:null,fn:function(w,S,y){return w-S}},"*/2":{type_args:null,type_result:null,fn:function(w,S,y){return w*S}},"//2":{type_args:null,type_result:!0,fn:function(w,S,y){return S?w/S:b.error.evaluation("zero_division",y.__call_indicator)}},"///2":{type_args:!1,type_result:!1,fn:function(w,S,y){return S?parseInt(w/S):b.error.evaluation("zero_division",y.__call_indicator)}},"**/2":{type_args:null,type_result:!0,fn:function(w,S,y){return Math.pow(w,S)}},"^/2":{type_args:null,type_result:null,fn:function(w,S,y){return Math.pow(w,S)}},"<>/2":{type_args:!1,type_result:!1,fn:function(w,S,y){return w>>S}},"/\\/2":{type_args:!1,type_result:!1,fn:function(w,S,y){return w&S}},"\\//2":{type_args:!1,type_result:!1,fn:function(w,S,y){return w|S}},"xor/2":{type_args:!1,type_result:!1,fn:function(w,S,y){return w^S}},"rem/2":{type_args:!1,type_result:!1,fn:function(w,S,y){return S?w%S:b.error.evaluation("zero_division",y.__call_indicator)}},"mod/2":{type_args:!1,type_result:!1,fn:function(w,S,y){return S?w-parseInt(w/S)*S:b.error.evaluation("zero_division",y.__call_indicator)}},"max/2":{type_args:null,type_result:null,fn:function(w,S,y){return Math.max(w,S)}},"min/2":{type_args:null,type_result:null,fn:function(w,S,y){return Math.min(w,S)}}}},directive:{"dynamic/1":function(w,S){var y=S.args[0];if(b.type.is_variable(y))w.throw_error(b.error.instantiation(S.indicator));else if(!b.type.is_compound(y)||y.indicator!=="//2")w.throw_error(b.error.type("predicate_indicator",y,S.indicator));else if(b.type.is_variable(y.args[0])||b.type.is_variable(y.args[1]))w.throw_error(b.error.instantiation(S.indicator));else if(!b.type.is_atom(y.args[0]))w.throw_error(b.error.type("atom",y.args[0],S.indicator));else if(!b.type.is_integer(y.args[1]))w.throw_error(b.error.type("integer",y.args[1],S.indicator));else{var R=S.args[0].args[0].id+"/"+S.args[0].args[1].value;w.session.public_predicates[R]=!0,w.session.rules[R]||(w.session.rules[R]=[])}},"multifile/1":function(w,S){var y=S.args[0];b.type.is_variable(y)?w.throw_error(b.error.instantiation(S.indicator)):!b.type.is_compound(y)||y.indicator!=="//2"?w.throw_error(b.error.type("predicate_indicator",y,S.indicator)):b.type.is_variable(y.args[0])||b.type.is_variable(y.args[1])?w.throw_error(b.error.instantiation(S.indicator)):b.type.is_atom(y.args[0])?b.type.is_integer(y.args[1])?w.session.multifile_predicates[S.args[0].args[0].id+"/"+S.args[0].args[1].value]=!0:w.throw_error(b.error.type("integer",y.args[1],S.indicator)):w.throw_error(b.error.type("atom",y.args[0],S.indicator))},"set_prolog_flag/2":function(w,S){var y=S.args[0],R=S.args[1];b.type.is_variable(y)||b.type.is_variable(R)?w.throw_error(b.error.instantiation(S.indicator)):b.type.is_atom(y)?b.type.is_flag(y)?b.type.is_value_flag(y,R)?b.type.is_modifiable_flag(y)?w.session.flag[y.id]=R:w.throw_error(b.error.permission("modify","flag",y)):w.throw_error(b.error.domain("flag_value",new H("+",[y,R]),S.indicator)):w.throw_error(b.error.domain("prolog_flag",y,S.indicator)):w.throw_error(b.error.type("atom",y,S.indicator))},"use_module/1":function(w,S){var y=S.args[0];if(b.type.is_variable(y))w.throw_error(b.error.instantiation(S.indicator));else if(!b.type.is_term(y))w.throw_error(b.error.type("term",y,S.indicator));else if(b.type.is_module(y)){var R=y.args[0].id;e(w.session.modules,R)===-1&&w.session.modules.push(R)}},"char_conversion/2":function(w,S){var y=S.args[0],R=S.args[1];b.type.is_variable(y)||b.type.is_variable(R)?w.throw_error(b.error.instantiation(S.indicator)):b.type.is_character(y)?b.type.is_character(R)?y.id===R.id?delete w.session.__char_conversion[y.id]:w.session.__char_conversion[y.id]=R.id:w.throw_error(b.error.type("character",R,S.indicator)):w.throw_error(b.error.type("character",y,S.indicator))},"op/3":function(w,S){var y=S.args[0],R=S.args[1],V=S.args[2];if(b.type.is_variable(y)||b.type.is_variable(R)||b.type.is_variable(V))w.throw_error(b.error.instantiation(S.indicator));else if(!b.type.is_integer(y))w.throw_error(b.error.type("integer",y,S.indicator));else if(!b.type.is_atom(R))w.throw_error(b.error.type("atom",R,S.indicator));else if(!b.type.is_atom(V))w.throw_error(b.error.type("atom",V,S.indicator));else if(y.value<0||y.value>1200)w.throw_error(b.error.domain("operator_priority",y,S.indicator));else if(V.id===",")w.throw_error(b.error.permission("modify","operator",V,S.indicator));else if(V.id==="|"&&(y.value<1001||R.id.length!==3))w.throw_error(b.error.permission("modify","operator",V,S.indicator));else if(["fy","fx","yf","xf","xfx","yfx","xfy"].indexOf(R.id)===-1)w.throw_error(b.error.domain("operator_specifier",R,S.indicator));else{var X={prefix:null,infix:null,postfix:null};for(var $ in w.session.__operators)if(!!w.session.__operators.hasOwnProperty($)){var ie=w.session.__operators[$][V.id];ie&&(e(ie,"fx")!==-1&&(X.prefix={priority:$,type:"fx"}),e(ie,"fy")!==-1&&(X.prefix={priority:$,type:"fy"}),e(ie,"xf")!==-1&&(X.postfix={priority:$,type:"xf"}),e(ie,"yf")!==-1&&(X.postfix={priority:$,type:"yf"}),e(ie,"xfx")!==-1&&(X.infix={priority:$,type:"xfx"}),e(ie,"xfy")!==-1&&(X.infix={priority:$,type:"xfy"}),e(ie,"yfx")!==-1&&(X.infix={priority:$,type:"yfx"}))}var be;switch(R.id){case"fy":case"fx":be="prefix";break;case"yf":case"xf":be="postfix";break;default:be="infix";break}if(((X.prefix&&be==="prefix"||X.postfix&&be==="postfix"||X.infix&&be==="infix")&&X[be].type!==R.id||X.infix&&be==="postfix"||X.postfix&&be==="infix")&&y.value!==0)w.throw_error(b.error.permission("create","operator",V,S.indicator));else return X[be]&&(me(w.session.__operators[X[be].priority][V.id],R.id),w.session.__operators[X[be].priority][V.id].length===0&&delete w.session.__operators[X[be].priority][V.id]),y.value>0&&(w.session.__operators[y.value]||(w.session.__operators[y.value.toString()]={}),w.session.__operators[y.value][V.id]||(w.session.__operators[y.value][V.id]=[]),w.session.__operators[y.value][V.id].push(R.id)),!0}}},predicate:{"op/3":function(w,S,y){b.directive["op/3"](w,y)&&w.success(S)},"current_op/3":function(w,S,y){var R=y.args[0],V=y.args[1],X=y.args[2],$=[];for(var ie in w.session.__operators)for(var be in w.session.__operators[ie])for(var Fe=0;Fe/2"){var R=w.points,V=w.session.format_success,X=w.session.format_error;w.session.format_success=function(Fe){return Fe.substitution},w.session.format_error=function(Fe){return Fe.goal},w.points=[new ke(y.args[0].args[0],S.substitution,S)];var $=function(Fe){w.points=R,w.session.format_success=V,w.session.format_error=X,Fe===!1?w.prepend([new ke(S.goal.replace(y.args[1]),S.substitution,S)]):b.type.is_error(Fe)?w.throw_error(Fe.args[0]):Fe===null?(w.prepend([S]),w.__calls.shift()(null)):w.prepend([new ke(S.goal.replace(y.args[0].args[1]).apply(Fe),S.substitution.apply(Fe),S)])};w.__calls.unshift($)}else{var ie=new ke(S.goal.replace(y.args[0]),S.substitution,S),be=new ke(S.goal.replace(y.args[1]),S.substitution,S);w.prepend([ie,be])}},"!/0":function(w,S,y){var R,V,X=[];for(R=S,V=null;R.parent!==null&&R.parent.goal.search(y);)if(V=R,R=R.parent,R.goal!==null){var $=R.goal.select();if($&&$.id==="call"&&$.search(y)){R=V;break}}for(var ie=w.points.length-1;ie>=0;ie--){for(var be=w.points[ie],Fe=be.parent;Fe!==null&&Fe!==R.parent;)Fe=Fe.parent;Fe===null&&Fe!==R.parent&&X.push(be)}w.points=X.reverse(),w.success(S)},"\\+/1":function(w,S,y){var R=y.args[0];b.type.is_variable(R)?w.throw_error(b.error.instantiation(w.level)):b.type.is_callable(R)?w.prepend([new ke(S.goal.replace(new H(",",[new H(",",[new H("call",[R]),new H("!",[])]),new H("fail",[])])),S.substitution,S),new ke(S.goal.replace(null),S.substitution,S)]):w.throw_error(b.error.type("callable",R,w.level))},"->/2":function(w,S,y){var R=S.goal.replace(new H(",",[y.args[0],new H(",",[new H("!"),y.args[1]])]));w.prepend([new ke(R,S.substitution,S)])},"fail/0":function(w,S,y){},"false/0":function(w,S,y){},"true/0":function(w,S,y){w.success(S)},"call/1":ne(1),"call/2":ne(2),"call/3":ne(3),"call/4":ne(4),"call/5":ne(5),"call/6":ne(6),"call/7":ne(7),"call/8":ne(8),"once/1":function(w,S,y){var R=y.args[0];w.prepend([new ke(S.goal.replace(new H(",",[new H("call",[R]),new H("!",[])])),S.substitution,S)])},"forall/2":function(w,S,y){var R=y.args[0],V=y.args[1];w.prepend([new ke(S.goal.replace(new H("\\+",[new H(",",[new H("call",[R]),new H("\\+",[new H("call",[V])])])])),S.substitution,S)])},"repeat/0":function(w,S,y){w.prepend([new ke(S.goal.replace(null),S.substitution,S),S])},"throw/1":function(w,S,y){b.type.is_variable(y.args[0])?w.throw_error(b.error.instantiation(w.level)):w.throw_error(y.args[0])},"catch/3":function(w,S,y){var R=w.points;w.points=[],w.prepend([new ke(y.args[0],S.substitution,S)]);var V=w.session.format_success,X=w.session.format_error;w.session.format_success=function(ie){return ie.substitution},w.session.format_error=function(ie){return ie.goal};var $=function(ie){var be=w.points;if(w.points=R,w.session.format_success=V,w.session.format_error=X,b.type.is_error(ie)){for(var Fe=[],at=w.points.length-1;at>=0;at--){for(var tr=w.points[at],dt=tr.parent;dt!==null&&dt!==S.parent;)dt=dt.parent;dt===null&&dt!==S.parent&&Fe.push(tr)}w.points=Fe;var Gt=w.get_flag("occurs_check").indicator==="true/0",tr=new ke,bt=b.unify(ie.args[0],y.args[1],Gt);bt!==null?(tr.substitution=S.substitution.apply(bt),tr.goal=S.goal.replace(y.args[2]).apply(bt),tr.parent=S,w.prepend([tr])):w.throw_error(ie.args[0])}else if(ie!==!1){for(var ln=ie===null?[]:[new ke(S.goal.apply(ie).replace(null),S.substitution.apply(ie),S)],kr=[],at=be.length-1;at>=0;at--){kr.push(be[at]);var mr=be[at].goal!==null?be[at].goal.select():null;if(b.type.is_term(mr)&&mr.indicator==="!/0")break}var br=o(kr,function(Kr){return Kr.goal===null&&(Kr.goal=new H("true",[])),Kr=new ke(S.goal.replace(new H("catch",[Kr.goal,y.args[1],y.args[2]])),S.substitution.apply(Kr.substitution),Kr.parent),Kr.exclude=y.args[0].variables(),Kr}).reverse();w.prepend(br),w.prepend(ln),ie===null&&(this.current_limit=0,w.__calls.shift()(null))}};w.__calls.unshift($)},"=/2":function(w,S,y){var R=w.get_flag("occurs_check").indicator==="true/0",V=new ke,X=b.unify(y.args[0],y.args[1],R);X!==null&&(V.goal=S.goal.apply(X).replace(null),V.substitution=S.substitution.apply(X),V.parent=S,w.prepend([V]))},"unify_with_occurs_check/2":function(w,S,y){var R=new ke,V=b.unify(y.args[0],y.args[1],!0);V!==null&&(R.goal=S.goal.apply(V).replace(null),R.substitution=S.substitution.apply(V),R.parent=S,w.prepend([R]))},"\\=/2":function(w,S,y){var R=w.get_flag("occurs_check").indicator==="true/0",V=b.unify(y.args[0],y.args[1],R);V===null&&w.success(S)},"subsumes_term/2":function(w,S,y){var R=w.get_flag("occurs_check").indicator==="true/0",V=b.unify(y.args[1],y.args[0],R);V!==null&&y.args[1].apply(V).equals(y.args[1])&&w.success(S)},"findall/3":function(w,S,y){var R=y.args[0],V=y.args[1],X=y.args[2];if(b.type.is_variable(V))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_callable(V))w.throw_error(b.error.type("callable",V,y.indicator));else if(!b.type.is_variable(X)&&!b.type.is_list(X))w.throw_error(b.error.type("list",X,y.indicator));else{var $=w.next_free_variable(),ie=new H(",",[V,new H("=",[$,R])]),be=w.points,Fe=w.session.limit,at=w.session.format_success;w.session.format_success=function(tr){return tr.substitution},w.add_goal(ie,!0,S);var dt=[],Gt=function(tr){if(tr!==!1&&tr!==null&&!b.type.is_error(tr))w.__calls.unshift(Gt),dt.push(tr.links[$.id]),w.session.limit=w.current_limit;else if(w.points=be,w.session.limit=Fe,w.session.format_success=at,b.type.is_error(tr))w.throw_error(tr.args[0]);else if(w.current_limit>0){for(var bt=new H("[]"),ln=dt.length-1;ln>=0;ln--)bt=new H(".",[dt[ln],bt]);w.prepend([new ke(S.goal.replace(new H("=",[X,bt])),S.substitution,S)])}};w.__calls.unshift(Gt)}},"bagof/3":function(w,S,y){var R,V=y.args[0],X=y.args[1],$=y.args[2];if(b.type.is_variable(X))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_callable(X))w.throw_error(b.error.type("callable",X,y.indicator));else if(!b.type.is_variable($)&&!b.type.is_list($))w.throw_error(b.error.type("list",$,y.indicator));else{var ie=w.next_free_variable(),be;X.indicator==="^/2"?(be=X.args[0].variables(),X=X.args[1]):be=[],be=be.concat(V.variables());for(var Fe=X.variables().filter(function(br){return e(be,br)===-1}),at=new H("[]"),dt=Fe.length-1;dt>=0;dt--)at=new H(".",[new xe(Fe[dt]),at]);var Gt=new H(",",[X,new H("=",[ie,new H(",",[at,V])])]),tr=w.points,bt=w.session.limit,ln=w.session.format_success;w.session.format_success=function(br){return br.substitution},w.add_goal(Gt,!0,S);var kr=[],mr=function(br){if(br!==!1&&br!==null&&!b.type.is_error(br)){w.__calls.unshift(mr);var Kr=!1,Kn=br.links[ie.id].args[0],Os=br.links[ie.id].args[1];for(var Ti in kr)if(!!kr.hasOwnProperty(Ti)){var gs=kr[Ti];if(gs.variables.equals(Kn)){gs.answers.push(Os),Kr=!0;break}}Kr||kr.push({variables:Kn,answers:[Os]}),w.session.limit=w.current_limit}else if(w.points=tr,w.session.limit=bt,w.session.format_success=ln,b.type.is_error(br))w.throw_error(br.args[0]);else if(w.current_limit>0){for(var no=[],Si=0;Si=0;io--)Ms=new H(".",[br[io],Ms]);no.push(new ke(S.goal.replace(new H(",",[new H("=",[at,kr[Si].variables]),new H("=",[$,Ms])])),S.substitution,S))}w.prepend(no)}};w.__calls.unshift(mr)}},"setof/3":function(w,S,y){var R,V=y.args[0],X=y.args[1],$=y.args[2];if(b.type.is_variable(X))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_callable(X))w.throw_error(b.error.type("callable",X,y.indicator));else if(!b.type.is_variable($)&&!b.type.is_list($))w.throw_error(b.error.type("list",$,y.indicator));else{var ie=w.next_free_variable(),be;X.indicator==="^/2"?(be=X.args[0].variables(),X=X.args[1]):be=[],be=be.concat(V.variables());for(var Fe=X.variables().filter(function(br){return e(be,br)===-1}),at=new H("[]"),dt=Fe.length-1;dt>=0;dt--)at=new H(".",[new xe(Fe[dt]),at]);var Gt=new H(",",[X,new H("=",[ie,new H(",",[at,V])])]),tr=w.points,bt=w.session.limit,ln=w.session.format_success;w.session.format_success=function(br){return br.substitution},w.add_goal(Gt,!0,S);var kr=[],mr=function(br){if(br!==!1&&br!==null&&!b.type.is_error(br)){w.__calls.unshift(mr);var Kr=!1,Kn=br.links[ie.id].args[0],Os=br.links[ie.id].args[1];for(var Ti in kr)if(!!kr.hasOwnProperty(Ti)){var gs=kr[Ti];if(gs.variables.equals(Kn)){gs.answers.push(Os),Kr=!0;break}}Kr||kr.push({variables:Kn,answers:[Os]}),w.session.limit=w.current_limit}else if(w.points=tr,w.session.limit=bt,w.session.format_success=ln,b.type.is_error(br))w.throw_error(br.args[0]);else if(w.current_limit>0){for(var no=[],Si=0;Si=0;io--)Ms=new H(".",[br[io],Ms]);no.push(new ke(S.goal.replace(new H(",",[new H("=",[at,kr[Si].variables]),new H("=",[$,Ms])])),S.substitution,S))}w.prepend(no)}};w.__calls.unshift(mr)}},"functor/3":function(w,S,y){var R,V=y.args[0],X=y.args[1],$=y.args[2];if(b.type.is_variable(V)&&(b.type.is_variable(X)||b.type.is_variable($)))w.throw_error(b.error.instantiation("functor/3"));else if(!b.type.is_variable($)&&!b.type.is_integer($))w.throw_error(b.error.type("integer",y.args[2],"functor/3"));else if(!b.type.is_variable(X)&&!b.type.is_atomic(X))w.throw_error(b.error.type("atomic",y.args[1],"functor/3"));else if(b.type.is_integer(X)&&b.type.is_integer($)&&$.value!==0)w.throw_error(b.error.type("atom",y.args[1],"functor/3"));else if(b.type.is_variable(V)){if(y.args[2].value>=0){for(var ie=[],be=0;be<$.value;be++)ie.push(w.next_free_variable());var Fe=b.type.is_integer(X)?X:new H(X.id,ie);w.prepend([new ke(S.goal.replace(new H("=",[V,Fe])),S.substitution,S)])}}else{var at=b.type.is_integer(V)?V:new H(V.id,[]),dt=b.type.is_integer(V)?new Le(0,!1):new Le(V.args.length,!1),Gt=new H(",",[new H("=",[at,X]),new H("=",[dt,$])]);w.prepend([new ke(S.goal.replace(Gt),S.substitution,S)])}},"arg/3":function(w,S,y){if(b.type.is_variable(y.args[0])||b.type.is_variable(y.args[1]))w.throw_error(b.error.instantiation(y.indicator));else if(y.args[0].value<0)w.throw_error(b.error.domain("not_less_than_zero",y.args[0],y.indicator));else if(!b.type.is_compound(y.args[1]))w.throw_error(b.error.type("compound",y.args[1],y.indicator));else{var R=y.args[0].value;if(R>0&&R<=y.args[1].args.length){var V=new H("=",[y.args[1].args[R-1],y.args[2]]);w.prepend([new ke(S.goal.replace(V),S.substitution,S)])}}},"=../2":function(w,S,y){var R;if(b.type.is_variable(y.args[0])&&(b.type.is_variable(y.args[1])||b.type.is_non_empty_list(y.args[1])&&b.type.is_variable(y.args[1].args[0])))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_fully_list(y.args[1]))w.throw_error(b.error.type("list",y.args[1],y.indicator));else if(b.type.is_variable(y.args[0])){if(!b.type.is_variable(y.args[1])){var X=[];for(R=y.args[1].args[1];R.indicator==="./2";)X.push(R.args[0]),R=R.args[1];b.type.is_variable(y.args[0])&&b.type.is_variable(R)?w.throw_error(b.error.instantiation(y.indicator)):X.length===0&&b.type.is_compound(y.args[1].args[0])?w.throw_error(b.error.type("atomic",y.args[1].args[0],y.indicator)):X.length>0&&(b.type.is_compound(y.args[1].args[0])||b.type.is_number(y.args[1].args[0]))?w.throw_error(b.error.type("atom",y.args[1].args[0],y.indicator)):X.length===0?w.prepend([new ke(S.goal.replace(new H("=",[y.args[1].args[0],y.args[0]],S)),S.substitution,S)]):w.prepend([new ke(S.goal.replace(new H("=",[new H(y.args[1].args[0].id,X),y.args[0]])),S.substitution,S)])}}else{if(b.type.is_atomic(y.args[0]))R=new H(".",[y.args[0],new H("[]")]);else{R=new H("[]");for(var V=y.args[0].args.length-1;V>=0;V--)R=new H(".",[y.args[0].args[V],R]);R=new H(".",[new H(y.args[0].id),R])}w.prepend([new ke(S.goal.replace(new H("=",[R,y.args[1]])),S.substitution,S)])}},"copy_term/2":function(w,S,y){var R=y.args[0].rename(w);w.prepend([new ke(S.goal.replace(new H("=",[R,y.args[1]])),S.substitution,S.parent)])},"term_variables/2":function(w,S,y){var R=y.args[0],V=y.args[1];if(!b.type.is_fully_list(V))w.throw_error(b.error.type("list",V,y.indicator));else{var X=g(o(Ce(R.variables()),function($){return new xe($)}));w.prepend([new ke(S.goal.replace(new H("=",[V,X])),S.substitution,S)])}},"clause/2":function(w,S,y){if(b.type.is_variable(y.args[0]))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_callable(y.args[0]))w.throw_error(b.error.type("callable",y.args[0],y.indicator));else if(!b.type.is_variable(y.args[1])&&!b.type.is_callable(y.args[1]))w.throw_error(b.error.type("callable",y.args[1],y.indicator));else if(w.session.rules[y.args[0].indicator]!==void 0)if(w.is_public_predicate(y.args[0].indicator)){var R=[];for(var V in w.session.rules[y.args[0].indicator])if(!!w.session.rules[y.args[0].indicator].hasOwnProperty(V)){var X=w.session.rules[y.args[0].indicator][V];w.session.renamed_variables={},X=X.rename(w),X.body===null&&(X.body=new H("true"));var $=new H(",",[new H("=",[X.head,y.args[0]]),new H("=",[X.body,y.args[1]])]);R.push(new ke(S.goal.replace($),S.substitution,S))}w.prepend(R)}else w.throw_error(b.error.permission("access","private_procedure",y.args[0].indicator,y.indicator))},"current_predicate/1":function(w,S,y){var R=y.args[0];if(!b.type.is_variable(R)&&(!b.type.is_compound(R)||R.indicator!=="//2"))w.throw_error(b.error.type("predicate_indicator",R,y.indicator));else if(!b.type.is_variable(R)&&!b.type.is_variable(R.args[0])&&!b.type.is_atom(R.args[0]))w.throw_error(b.error.type("atom",R.args[0],y.indicator));else if(!b.type.is_variable(R)&&!b.type.is_variable(R.args[1])&&!b.type.is_integer(R.args[1]))w.throw_error(b.error.type("integer",R.args[1],y.indicator));else{var V=[];for(var X in w.session.rules)if(!!w.session.rules.hasOwnProperty(X)){var $=X.lastIndexOf("/"),ie=X.substr(0,$),be=parseInt(X.substr($+1,X.length-($+1))),Fe=new H("/",[new H(ie),new Le(be,!1)]),at=new H("=",[Fe,R]);V.push(new ke(S.goal.replace(at),S.substitution,S))}w.prepend(V)}},"asserta/1":function(w,S,y){if(b.type.is_variable(y.args[0]))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_callable(y.args[0]))w.throw_error(b.error.type("callable",y.args[0],y.indicator));else{var R,V;y.args[0].indicator===":-/2"?(R=y.args[0].args[0],V=Ee(y.args[0].args[1])):(R=y.args[0],V=null),b.type.is_callable(R)?V!==null&&!b.type.is_callable(V)?w.throw_error(b.error.type("callable",V,y.indicator)):w.is_public_predicate(R.indicator)?(w.session.rules[R.indicator]===void 0&&(w.session.rules[R.indicator]=[]),w.session.public_predicates[R.indicator]=!0,w.session.rules[R.indicator]=[new Ye(R,V,!0)].concat(w.session.rules[R.indicator]),w.success(S)):w.throw_error(b.error.permission("modify","static_procedure",R.indicator,y.indicator)):w.throw_error(b.error.type("callable",R,y.indicator))}},"assertz/1":function(w,S,y){if(b.type.is_variable(y.args[0]))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_callable(y.args[0]))w.throw_error(b.error.type("callable",y.args[0],y.indicator));else{var R,V;y.args[0].indicator===":-/2"?(R=y.args[0].args[0],V=Ee(y.args[0].args[1])):(R=y.args[0],V=null),b.type.is_callable(R)?V!==null&&!b.type.is_callable(V)?w.throw_error(b.error.type("callable",V,y.indicator)):w.is_public_predicate(R.indicator)?(w.session.rules[R.indicator]===void 0&&(w.session.rules[R.indicator]=[]),w.session.public_predicates[R.indicator]=!0,w.session.rules[R.indicator].push(new Ye(R,V,!0)),w.success(S)):w.throw_error(b.error.permission("modify","static_procedure",R.indicator,y.indicator)):w.throw_error(b.error.type("callable",R,y.indicator))}},"retract/1":function(w,S,y){if(b.type.is_variable(y.args[0]))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_callable(y.args[0]))w.throw_error(b.error.type("callable",y.args[0],y.indicator));else{var R,V;if(y.args[0].indicator===":-/2"?(R=y.args[0].args[0],V=y.args[0].args[1]):(R=y.args[0],V=new H("true")),typeof S.retract>"u")if(w.is_public_predicate(R.indicator)){if(w.session.rules[R.indicator]!==void 0){for(var X=[],$=0;$w.get_flag("max_arity").value)w.throw_error(b.error.representation("max_arity",y.indicator));else{var R=y.args[0].args[0].id+"/"+y.args[0].args[1].value;w.is_public_predicate(R)?(delete w.session.rules[R],w.success(S)):w.throw_error(b.error.permission("modify","static_procedure",R,y.indicator))}},"atom_length/2":function(w,S,y){if(b.type.is_variable(y.args[0]))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_atom(y.args[0]))w.throw_error(b.error.type("atom",y.args[0],y.indicator));else if(!b.type.is_variable(y.args[1])&&!b.type.is_integer(y.args[1]))w.throw_error(b.error.type("integer",y.args[1],y.indicator));else if(b.type.is_integer(y.args[1])&&y.args[1].value<0)w.throw_error(b.error.domain("not_less_than_zero",y.args[1],y.indicator));else{var R=new Le(y.args[0].id.length,!1);w.prepend([new ke(S.goal.replace(new H("=",[R,y.args[1]])),S.substitution,S)])}},"atom_concat/3":function(w,S,y){var R,V,X=y.args[0],$=y.args[1],ie=y.args[2];if(b.type.is_variable(ie)&&(b.type.is_variable(X)||b.type.is_variable($)))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(X)&&!b.type.is_atom(X))w.throw_error(b.error.type("atom",X,y.indicator));else if(!b.type.is_variable($)&&!b.type.is_atom($))w.throw_error(b.error.type("atom",$,y.indicator));else if(!b.type.is_variable(ie)&&!b.type.is_atom(ie))w.throw_error(b.error.type("atom",ie,y.indicator));else{var be=b.type.is_variable(X),Fe=b.type.is_variable($);if(!be&&!Fe)V=new H("=",[ie,new H(X.id+$.id)]),w.prepend([new ke(S.goal.replace(V),S.substitution,S)]);else if(be&&!Fe)R=ie.id.substr(0,ie.id.length-$.id.length),R+$.id===ie.id&&(V=new H("=",[X,new H(R)]),w.prepend([new ke(S.goal.replace(V),S.substitution,S)]));else if(Fe&&!be)R=ie.id.substr(X.id.length),X.id+R===ie.id&&(V=new H("=",[$,new H(R)]),w.prepend([new ke(S.goal.replace(V),S.substitution,S)]));else{for(var at=[],dt=0;dt<=ie.id.length;dt++){var Gt=new H(ie.id.substr(0,dt)),tr=new H(ie.id.substr(dt));V=new H(",",[new H("=",[Gt,X]),new H("=",[tr,$])]),at.push(new ke(S.goal.replace(V),S.substitution,S))}w.prepend(at)}}},"sub_atom/5":function(w,S,y){var R,V=y.args[0],X=y.args[1],$=y.args[2],ie=y.args[3],be=y.args[4];if(b.type.is_variable(V))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(X)&&!b.type.is_integer(X))w.throw_error(b.error.type("integer",X,y.indicator));else if(!b.type.is_variable($)&&!b.type.is_integer($))w.throw_error(b.error.type("integer",$,y.indicator));else if(!b.type.is_variable(ie)&&!b.type.is_integer(ie))w.throw_error(b.error.type("integer",ie,y.indicator));else if(b.type.is_integer(X)&&X.value<0)w.throw_error(b.error.domain("not_less_than_zero",X,y.indicator));else if(b.type.is_integer($)&&$.value<0)w.throw_error(b.error.domain("not_less_than_zero",$,y.indicator));else if(b.type.is_integer(ie)&&ie.value<0)w.throw_error(b.error.domain("not_less_than_zero",ie,y.indicator));else{var Fe=[],at=[],dt=[];if(b.type.is_variable(X))for(R=0;R<=V.id.length;R++)Fe.push(R);else Fe.push(X.value);if(b.type.is_variable($))for(R=0;R<=V.id.length;R++)at.push(R);else at.push($.value);if(b.type.is_variable(ie))for(R=0;R<=V.id.length;R++)dt.push(R);else dt.push(ie.value);var Gt=[];for(var tr in Fe)if(!!Fe.hasOwnProperty(tr)){R=Fe[tr];for(var bt in at)if(!!at.hasOwnProperty(bt)){var ln=at[bt],kr=V.id.length-R-ln;if(e(dt,kr)!==-1&&R+ln+kr===V.id.length){var mr=V.id.substr(R,ln);if(V.id===V.id.substr(0,R)+mr+V.id.substr(R+ln,kr)){var br=new H("=",[new H(mr),be]),Kr=new H("=",[X,new Le(R)]),Kn=new H("=",[$,new Le(ln)]),Os=new H("=",[ie,new Le(kr)]),Ti=new H(",",[new H(",",[new H(",",[Kr,Kn]),Os]),br]);Gt.push(new ke(S.goal.replace(Ti),S.substitution,S))}}}}w.prepend(Gt)}},"atom_chars/2":function(w,S,y){var R=y.args[0],V=y.args[1];if(b.type.is_variable(R)&&b.type.is_variable(V))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(R)&&!b.type.is_atom(R))w.throw_error(b.error.type("atom",R,y.indicator));else if(b.type.is_variable(R)){for(var ie=V,be=b.type.is_variable(R),Fe="";ie.indicator==="./2";){if(b.type.is_character(ie.args[0]))Fe+=ie.args[0].id;else if(b.type.is_variable(ie.args[0])&&be){w.throw_error(b.error.instantiation(y.indicator));return}else if(!b.type.is_variable(ie.args[0])){w.throw_error(b.error.type("character",ie.args[0],y.indicator));return}ie=ie.args[1]}b.type.is_variable(ie)&&be?w.throw_error(b.error.instantiation(y.indicator)):!b.type.is_empty_list(ie)&&!b.type.is_variable(ie)?w.throw_error(b.error.type("list",V,y.indicator)):w.prepend([new ke(S.goal.replace(new H("=",[new H(Fe),R])),S.substitution,S)])}else{for(var X=new H("[]"),$=R.id.length-1;$>=0;$--)X=new H(".",[new H(R.id.charAt($)),X]);w.prepend([new ke(S.goal.replace(new H("=",[V,X])),S.substitution,S)])}},"atom_codes/2":function(w,S,y){var R=y.args[0],V=y.args[1];if(b.type.is_variable(R)&&b.type.is_variable(V))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(R)&&!b.type.is_atom(R))w.throw_error(b.error.type("atom",R,y.indicator));else if(b.type.is_variable(R)){for(var ie=V,be=b.type.is_variable(R),Fe="";ie.indicator==="./2";){if(b.type.is_character_code(ie.args[0]))Fe+=u(ie.args[0].value);else if(b.type.is_variable(ie.args[0])&&be){w.throw_error(b.error.instantiation(y.indicator));return}else if(!b.type.is_variable(ie.args[0])){w.throw_error(b.error.representation("character_code",y.indicator));return}ie=ie.args[1]}b.type.is_variable(ie)&&be?w.throw_error(b.error.instantiation(y.indicator)):!b.type.is_empty_list(ie)&&!b.type.is_variable(ie)?w.throw_error(b.error.type("list",V,y.indicator)):w.prepend([new ke(S.goal.replace(new H("=",[new H(Fe),R])),S.substitution,S)])}else{for(var X=new H("[]"),$=R.id.length-1;$>=0;$--)X=new H(".",[new Le(n(R.id,$),!1),X]);w.prepend([new ke(S.goal.replace(new H("=",[V,X])),S.substitution,S)])}},"char_code/2":function(w,S,y){var R=y.args[0],V=y.args[1];if(b.type.is_variable(R)&&b.type.is_variable(V))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(R)&&!b.type.is_character(R))w.throw_error(b.error.type("character",R,y.indicator));else if(!b.type.is_variable(V)&&!b.type.is_integer(V))w.throw_error(b.error.type("integer",V,y.indicator));else if(!b.type.is_variable(V)&&!b.type.is_character_code(V))w.throw_error(b.error.representation("character_code",y.indicator));else if(b.type.is_variable(V)){var X=new Le(n(R.id,0),!1);w.prepend([new ke(S.goal.replace(new H("=",[X,V])),S.substitution,S)])}else{var $=new H(u(V.value));w.prepend([new ke(S.goal.replace(new H("=",[$,R])),S.substitution,S)])}},"number_chars/2":function(w,S,y){var R,V=y.args[0],X=y.args[1];if(b.type.is_variable(V)&&b.type.is_variable(X))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(V)&&!b.type.is_number(V))w.throw_error(b.error.type("number",V,y.indicator));else if(!b.type.is_variable(X)&&!b.type.is_list(X))w.throw_error(b.error.type("list",X,y.indicator));else{var $=b.type.is_variable(V);if(!b.type.is_variable(X)){var ie=X,be=!0;for(R="";ie.indicator==="./2";){if(b.type.is_character(ie.args[0]))R+=ie.args[0].id;else if(b.type.is_variable(ie.args[0]))be=!1;else if(!b.type.is_variable(ie.args[0])){w.throw_error(b.error.type("character",ie.args[0],y.indicator));return}ie=ie.args[1]}if(be=be&&b.type.is_empty_list(ie),!b.type.is_empty_list(ie)&&!b.type.is_variable(ie)){w.throw_error(b.error.type("list",X,y.indicator));return}if(!be&&$){w.throw_error(b.error.instantiation(y.indicator));return}else if(be)if(b.type.is_variable(ie)&&$){w.throw_error(b.error.instantiation(y.indicator));return}else{var Fe=w.parse(R),at=Fe.value;!b.type.is_number(at)||Fe.tokens[Fe.tokens.length-1].space?w.throw_error(b.error.syntax_by_predicate("parseable_number",y.indicator)):w.prepend([new ke(S.goal.replace(new H("=",[V,at])),S.substitution,S)]);return}}if(!$){R=V.toString();for(var dt=new H("[]"),Gt=R.length-1;Gt>=0;Gt--)dt=new H(".",[new H(R.charAt(Gt)),dt]);w.prepend([new ke(S.goal.replace(new H("=",[X,dt])),S.substitution,S)])}}},"number_codes/2":function(w,S,y){var R,V=y.args[0],X=y.args[1];if(b.type.is_variable(V)&&b.type.is_variable(X))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(V)&&!b.type.is_number(V))w.throw_error(b.error.type("number",V,y.indicator));else if(!b.type.is_variable(X)&&!b.type.is_list(X))w.throw_error(b.error.type("list",X,y.indicator));else{var $=b.type.is_variable(V);if(!b.type.is_variable(X)){var ie=X,be=!0;for(R="";ie.indicator==="./2";){if(b.type.is_character_code(ie.args[0]))R+=u(ie.args[0].value);else if(b.type.is_variable(ie.args[0]))be=!1;else if(!b.type.is_variable(ie.args[0])){w.throw_error(b.error.type("character_code",ie.args[0],y.indicator));return}ie=ie.args[1]}if(be=be&&b.type.is_empty_list(ie),!b.type.is_empty_list(ie)&&!b.type.is_variable(ie)){w.throw_error(b.error.type("list",X,y.indicator));return}if(!be&&$){w.throw_error(b.error.instantiation(y.indicator));return}else if(be)if(b.type.is_variable(ie)&&$){w.throw_error(b.error.instantiation(y.indicator));return}else{var Fe=w.parse(R),at=Fe.value;!b.type.is_number(at)||Fe.tokens[Fe.tokens.length-1].space?w.throw_error(b.error.syntax_by_predicate("parseable_number",y.indicator)):w.prepend([new ke(S.goal.replace(new H("=",[V,at])),S.substitution,S)]);return}}if(!$){R=V.toString();for(var dt=new H("[]"),Gt=R.length-1;Gt>=0;Gt--)dt=new H(".",[new Le(n(R,Gt),!1),dt]);w.prepend([new ke(S.goal.replace(new H("=",[X,dt])),S.substitution,S)])}}},"upcase_atom/2":function(w,S,y){var R=y.args[0],V=y.args[1];b.type.is_variable(R)?w.throw_error(b.error.instantiation(y.indicator)):b.type.is_atom(R)?!b.type.is_variable(V)&&!b.type.is_atom(V)?w.throw_error(b.error.type("atom",V,y.indicator)):w.prepend([new ke(S.goal.replace(new H("=",[V,new H(R.id.toUpperCase(),[])])),S.substitution,S)]):w.throw_error(b.error.type("atom",R,y.indicator))},"downcase_atom/2":function(w,S,y){var R=y.args[0],V=y.args[1];b.type.is_variable(R)?w.throw_error(b.error.instantiation(y.indicator)):b.type.is_atom(R)?!b.type.is_variable(V)&&!b.type.is_atom(V)?w.throw_error(b.error.type("atom",V,y.indicator)):w.prepend([new ke(S.goal.replace(new H("=",[V,new H(R.id.toLowerCase(),[])])),S.substitution,S)]):w.throw_error(b.error.type("atom",R,y.indicator))},"atomic_list_concat/2":function(w,S,y){var R=y.args[0],V=y.args[1];w.prepend([new ke(S.goal.replace(new H("atomic_list_concat",[R,new H("",[]),V])),S.substitution,S)])},"atomic_list_concat/3":function(w,S,y){var R=y.args[0],V=y.args[1],X=y.args[2];if(b.type.is_variable(V)||b.type.is_variable(R)&&b.type.is_variable(X))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_variable(R)&&!b.type.is_list(R))w.throw_error(b.error.type("list",R,y.indicator));else if(!b.type.is_variable(X)&&!b.type.is_atom(X))w.throw_error(b.error.type("atom",X,y.indicator));else if(b.type.is_variable(X)){for(var ie="",be=R;b.type.is_term(be)&&be.indicator==="./2";){if(!b.type.is_atom(be.args[0])&&!b.type.is_number(be.args[0])){w.throw_error(b.error.type("atomic",be.args[0],y.indicator));return}ie!==""&&(ie+=V.id),b.type.is_atom(be.args[0])?ie+=be.args[0].id:ie+=""+be.args[0].value,be=be.args[1]}ie=new H(ie,[]),b.type.is_variable(be)?w.throw_error(b.error.instantiation(y.indicator)):!b.type.is_term(be)||be.indicator!=="[]/0"?w.throw_error(b.error.type("list",R,y.indicator)):w.prepend([new ke(S.goal.replace(new H("=",[ie,X])),S.substitution,S)])}else{var $=g(o(X.id.split(V.id),function(Fe){return new H(Fe,[])}));w.prepend([new ke(S.goal.replace(new H("=",[$,R])),S.substitution,S)])}},"@=/2":function(w,S,y){b.compare(y.args[0],y.args[1])>0&&w.success(S)},"@>=/2":function(w,S,y){b.compare(y.args[0],y.args[1])>=0&&w.success(S)},"compare/3":function(w,S,y){var R=y.args[0],V=y.args[1],X=y.args[2];if(!b.type.is_variable(R)&&!b.type.is_atom(R))w.throw_error(b.error.type("atom",R,y.indicator));else if(b.type.is_atom(R)&&["<",">","="].indexOf(R.id)===-1)w.throw_error(b.type.domain("order",R,y.indicator));else{var $=b.compare(V,X);$=$===0?"=":$===-1?"<":">",w.prepend([new ke(S.goal.replace(new H("=",[R,new H($,[])])),S.substitution,S)])}},"is/2":function(w,S,y){var R=y.args[1].interpret(w);b.type.is_number(R)?w.prepend([new ke(S.goal.replace(new H("=",[y.args[0],R],w.level)),S.substitution,S)]):w.throw_error(R)},"between/3":function(w,S,y){var R=y.args[0],V=y.args[1],X=y.args[2];if(b.type.is_variable(R)||b.type.is_variable(V))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_integer(R))w.throw_error(b.error.type("integer",R,y.indicator));else if(!b.type.is_integer(V))w.throw_error(b.error.type("integer",V,y.indicator));else if(!b.type.is_variable(X)&&!b.type.is_integer(X))w.throw_error(b.error.type("integer",X,y.indicator));else if(b.type.is_variable(X)){var $=[new ke(S.goal.replace(new H("=",[X,R])),S.substitution,S)];R.value=X.value&&w.success(S)},"succ/2":function(w,S,y){var R=y.args[0],V=y.args[1];b.type.is_variable(R)&&b.type.is_variable(V)?w.throw_error(b.error.instantiation(y.indicator)):!b.type.is_variable(R)&&!b.type.is_integer(R)?w.throw_error(b.error.type("integer",R,y.indicator)):!b.type.is_variable(V)&&!b.type.is_integer(V)?w.throw_error(b.error.type("integer",V,y.indicator)):!b.type.is_variable(R)&&R.value<0?w.throw_error(b.error.domain("not_less_than_zero",R,y.indicator)):!b.type.is_variable(V)&&V.value<0?w.throw_error(b.error.domain("not_less_than_zero",V,y.indicator)):(b.type.is_variable(V)||V.value>0)&&(b.type.is_variable(R)?w.prepend([new ke(S.goal.replace(new H("=",[R,new Le(V.value-1,!1)])),S.substitution,S)]):w.prepend([new ke(S.goal.replace(new H("=",[V,new Le(R.value+1,!1)])),S.substitution,S)]))},"=:=/2":function(w,S,y){var R=b.arithmetic_compare(w,y.args[0],y.args[1]);b.type.is_term(R)?w.throw_error(R):R===0&&w.success(S)},"=\\=/2":function(w,S,y){var R=b.arithmetic_compare(w,y.args[0],y.args[1]);b.type.is_term(R)?w.throw_error(R):R!==0&&w.success(S)},"/2":function(w,S,y){var R=b.arithmetic_compare(w,y.args[0],y.args[1]);b.type.is_term(R)?w.throw_error(R):R>0&&w.success(S)},">=/2":function(w,S,y){var R=b.arithmetic_compare(w,y.args[0],y.args[1]);b.type.is_term(R)?w.throw_error(R):R>=0&&w.success(S)},"var/1":function(w,S,y){b.type.is_variable(y.args[0])&&w.success(S)},"atom/1":function(w,S,y){b.type.is_atom(y.args[0])&&w.success(S)},"atomic/1":function(w,S,y){b.type.is_atomic(y.args[0])&&w.success(S)},"compound/1":function(w,S,y){b.type.is_compound(y.args[0])&&w.success(S)},"integer/1":function(w,S,y){b.type.is_integer(y.args[0])&&w.success(S)},"float/1":function(w,S,y){b.type.is_float(y.args[0])&&w.success(S)},"number/1":function(w,S,y){b.type.is_number(y.args[0])&&w.success(S)},"nonvar/1":function(w,S,y){b.type.is_variable(y.args[0])||w.success(S)},"ground/1":function(w,S,y){y.variables().length===0&&w.success(S)},"acyclic_term/1":function(w,S,y){for(var R=S.substitution.apply(S.substitution),V=y.args[0].variables(),X=0;X0?bt[bt.length-1]:null,bt!==null&&(Gt=J(w,bt,0,w.__get_max_priority(),!1))}if(Gt.type===p&&Gt.len===bt.length-1&&ln.value==="."){Gt=Gt.value.rename(w);var kr=new H("=",[V,Gt]);if(ie.variables){var mr=g(o(Ce(Gt.variables()),function(br){return new xe(br)}));kr=new H(",",[kr,new H("=",[ie.variables,mr])])}if(ie.variable_names){var mr=g(o(Ce(Gt.variables()),function(Kr){var Kn;for(Kn in w.session.renamed_variables)if(w.session.renamed_variables.hasOwnProperty(Kn)&&w.session.renamed_variables[Kn]===Kr)break;return new H("=",[new H(Kn,[]),new xe(Kr)])}));kr=new H(",",[kr,new H("=",[ie.variable_names,mr])])}if(ie.singletons){var mr=g(o(new Ye(Gt,null).singleton_variables(),function(Kr){var Kn;for(Kn in w.session.renamed_variables)if(w.session.renamed_variables.hasOwnProperty(Kn)&&w.session.renamed_variables[Kn]===Kr)break;return new H("=",[new H(Kn,[]),new xe(Kr)])}));kr=new H(",",[kr,new H("=",[ie.singletons,mr])])}w.prepend([new ke(S.goal.replace(kr),S.substitution,S)])}else Gt.type===p?w.throw_error(b.error.syntax(bt[Gt.len],"unexpected token",!1)):w.throw_error(Gt.value)}}},"write/1":function(w,S,y){var R=y.args[0];w.prepend([new ke(S.goal.replace(new H(",",[new H("current_output",[new xe("S")]),new H("write",[new xe("S"),R])])),S.substitution,S)])},"write/2":function(w,S,y){var R=y.args[0],V=y.args[1];w.prepend([new ke(S.goal.replace(new H("write_term",[R,V,new H(".",[new H("quoted",[new H("false",[])]),new H(".",[new H("ignore_ops",[new H("false")]),new H(".",[new H("numbervars",[new H("true")]),new H("[]",[])])])])])),S.substitution,S)])},"writeq/1":function(w,S,y){var R=y.args[0];w.prepend([new ke(S.goal.replace(new H(",",[new H("current_output",[new xe("S")]),new H("writeq",[new xe("S"),R])])),S.substitution,S)])},"writeq/2":function(w,S,y){var R=y.args[0],V=y.args[1];w.prepend([new ke(S.goal.replace(new H("write_term",[R,V,new H(".",[new H("quoted",[new H("true",[])]),new H(".",[new H("ignore_ops",[new H("false")]),new H(".",[new H("numbervars",[new H("true")]),new H("[]",[])])])])])),S.substitution,S)])},"write_canonical/1":function(w,S,y){var R=y.args[0];w.prepend([new ke(S.goal.replace(new H(",",[new H("current_output",[new xe("S")]),new H("write_canonical",[new xe("S"),R])])),S.substitution,S)])},"write_canonical/2":function(w,S,y){var R=y.args[0],V=y.args[1];w.prepend([new ke(S.goal.replace(new H("write_term",[R,V,new H(".",[new H("quoted",[new H("true",[])]),new H(".",[new H("ignore_ops",[new H("true")]),new H(".",[new H("numbervars",[new H("false")]),new H("[]",[])])])])])),S.substitution,S)])},"write_term/2":function(w,S,y){var R=y.args[0],V=y.args[1];w.prepend([new ke(S.goal.replace(new H(",",[new H("current_output",[new xe("S")]),new H("write_term",[new xe("S"),R,V])])),S.substitution,S)])},"write_term/3":function(w,S,y){var R=y.args[0],V=y.args[1],X=y.args[2],$=b.type.is_stream(R)?R:w.get_stream_by_alias(R.id);if(b.type.is_variable(R)||b.type.is_variable(X))w.throw_error(b.error.instantiation(y.indicator));else if(!b.type.is_list(X))w.throw_error(b.error.type("list",X,y.indicator));else if(!b.type.is_stream(R)&&!b.type.is_atom(R))w.throw_error(b.error.domain("stream_or_alias",R,y.indicator));else if(!b.type.is_stream($)||$.stream===null)w.throw_error(b.error.existence("stream",R,y.indicator));else if($.input)w.throw_error(b.error.permission("output","stream",R,y.indicator));else if($.type==="binary")w.throw_error(b.error.permission("output","binary_stream",R,y.indicator));else if($.position==="past_end_of_stream"&&$.eof_action==="error")w.throw_error(b.error.permission("output","past_end_of_stream",R,y.indicator));else{for(var ie={},be=X,Fe;b.type.is_term(be)&&be.indicator==="./2";){if(Fe=be.args[0],b.type.is_variable(Fe)){w.throw_error(b.error.instantiation(y.indicator));return}else if(!b.type.is_write_option(Fe)){w.throw_error(b.error.domain("write_option",Fe,y.indicator));return}ie[Fe.id]=Fe.args[0].id==="true",be=be.args[1]}if(be.indicator!=="[]/0"){b.type.is_variable(be)?w.throw_error(b.error.instantiation(y.indicator)):w.throw_error(b.error.type("list",X,y.indicator));return}else{ie.session=w.session;var at=V.toString(ie);$.stream.put(at,$.position),typeof $.position=="number"&&($.position+=at.length),w.success(S)}}},"halt/0":function(w,S,y){w.points=[]},"halt/1":function(w,S,y){var R=y.args[0];b.type.is_variable(R)?w.throw_error(b.error.instantiation(y.indicator)):b.type.is_integer(R)?w.points=[]:w.throw_error(b.error.type("integer",R,y.indicator))},"current_prolog_flag/2":function(w,S,y){var R=y.args[0],V=y.args[1];if(!b.type.is_variable(R)&&!b.type.is_atom(R))w.throw_error(b.error.type("atom",R,y.indicator));else if(!b.type.is_variable(R)&&!b.type.is_flag(R))w.throw_error(b.error.domain("prolog_flag",R,y.indicator));else{var X=[];for(var $ in b.flag)if(!!b.flag.hasOwnProperty($)){var ie=new H(",",[new H("=",[new H($),R]),new H("=",[w.get_flag($),V])]);X.push(new ke(S.goal.replace(ie),S.substitution,S))}w.prepend(X)}},"set_prolog_flag/2":function(w,S,y){var R=y.args[0],V=y.args[1];b.type.is_variable(R)||b.type.is_variable(V)?w.throw_error(b.error.instantiation(y.indicator)):b.type.is_atom(R)?b.type.is_flag(R)?b.type.is_value_flag(R,V)?b.type.is_modifiable_flag(R)?(w.session.flag[R.id]=V,w.success(S)):w.throw_error(b.error.permission("modify","flag",R)):w.throw_error(b.error.domain("flag_value",new H("+",[R,V]),y.indicator)):w.throw_error(b.error.domain("prolog_flag",R,y.indicator)):w.throw_error(b.error.type("atom",R,y.indicator))}},flag:{bounded:{allowed:[new H("true"),new H("false")],value:new H("true"),changeable:!1},max_integer:{allowed:[new Le(Number.MAX_SAFE_INTEGER)],value:new Le(Number.MAX_SAFE_INTEGER),changeable:!1},min_integer:{allowed:[new Le(Number.MIN_SAFE_INTEGER)],value:new Le(Number.MIN_SAFE_INTEGER),changeable:!1},integer_rounding_function:{allowed:[new H("down"),new H("toward_zero")],value:new H("toward_zero"),changeable:!1},char_conversion:{allowed:[new H("on"),new H("off")],value:new H("on"),changeable:!0},debug:{allowed:[new H("on"),new H("off")],value:new H("off"),changeable:!0},max_arity:{allowed:[new H("unbounded")],value:new H("unbounded"),changeable:!1},unknown:{allowed:[new H("error"),new H("fail"),new H("warning")],value:new H("error"),changeable:!0},double_quotes:{allowed:[new H("chars"),new H("codes"),new H("atom")],value:new H("codes"),changeable:!0},occurs_check:{allowed:[new H("false"),new H("true")],value:new H("false"),changeable:!0},dialect:{allowed:[new H("tau")],value:new H("tau"),changeable:!1},version_data:{allowed:[new H("tau",[new Le(t.major,!1),new Le(t.minor,!1),new Le(t.patch,!1),new H(t.status)])],value:new H("tau",[new Le(t.major,!1),new Le(t.minor,!1),new Le(t.patch,!1),new H(t.status)]),changeable:!1},nodejs:{allowed:[new H("yes"),new H("no")],value:new H(typeof gl<"u"&&gl.exports?"yes":"no"),changeable:!1}},unify:function(w,S,y){y=y===void 0?!1:y;for(var R=[{left:w,right:S}],V={};R.length!==0;){var X=R.pop();if(w=X.left,S=X.right,b.type.is_term(w)&&b.type.is_term(S)){if(w.indicator!==S.indicator)return null;for(var $=0;$V.value?1:0:V}else return R},operate:function(w,S){if(b.type.is_operator(S)){for(var y=b.type.is_operator(S),R=[],V,X=!1,$=0;$w.get_flag("max_integer").value||V0?w.start+w.matches[0].length:w.start,V=y?new H("token_not_found"):new H("found",[new H(w.value.toString())]),X=new H(".",[new H("line",[new Le(w.line+1)]),new H(".",[new H("column",[new Le(R+1)]),new H(".",[V,new H("[]",[])])])]);return new H("error",[new H("syntax_error",[new H(S)]),X])},syntax_by_predicate:function(w,S){return new H("error",[new H("syntax_error",[new H(w)]),Z(S)])}},warning:{singleton:function(w,S,y){for(var R=new H("[]"),V=w.length-1;V>=0;V--)R=new H(".",[new xe(w[V]),R]);return new H("warning",[new H("singleton_variables",[R,Z(S)]),new H(".",[new H("line",[new Le(y,!1)]),new H("[]")])])},failed_goal:function(w,S){return new H("warning",[new H("failed_goal",[w]),new H(".",[new H("line",[new Le(S,!1)]),new H("[]")])])}},format_variable:function(w){return"_"+w},format_answer:function(w,S,R){S instanceof Se&&(S=S.thread);var R=R||{};if(R.session=S?S.session:void 0,b.type.is_error(w))return"uncaught exception: "+w.args[0].toString();if(w===!1)return"false.";if(w===null)return"limit exceeded ;";var V=0,X="";if(b.type.is_substitution(w)){var $=w.domain(!0);w=w.filter(function(Fe,at){return!b.type.is_variable(at)||$.indexOf(at.id)!==-1&&Fe!==at.id})}for(var ie in w.links)!w.links.hasOwnProperty(ie)||(V++,X!==""&&(X+=", "),X+=ie.toString(R)+" = "+w.links[ie].toString(R));var be=typeof S>"u"||S.points.length>0?" ;":".";return V===0?"true"+be:X+be},flatten_error:function(w){if(!b.type.is_error(w))return null;w=w.args[0];var S={};return S.type=w.args[0].id,S.thrown=S.type==="syntax_error"?null:w.args[1].id,S.expected=null,S.found=null,S.representation=null,S.existence=null,S.existence_type=null,S.line=null,S.column=null,S.permission_operation=null,S.permission_type=null,S.evaluation_type=null,S.type==="type_error"||S.type==="domain_error"?(S.expected=w.args[0].args[0].id,S.found=w.args[0].args[1].toString()):S.type==="syntax_error"?w.args[1].indicator==="./2"?(S.expected=w.args[0].args[0].id,S.found=w.args[1].args[1].args[1].args[0],S.found=S.found.id==="token_not_found"?S.found.id:S.found.args[0].id,S.line=w.args[1].args[0].args[0].value,S.column=w.args[1].args[1].args[0].args[0].value):S.thrown=w.args[1].id:S.type==="permission_error"?(S.found=w.args[0].args[2].toString(),S.permission_operation=w.args[0].args[0].id,S.permission_type=w.args[0].args[1].id):S.type==="evaluation_error"?S.evaluation_type=w.args[0].args[0].id:S.type==="representation_error"?S.representation=w.args[0].args[0].id:S.type==="existence_error"&&(S.existence=w.args[0].args[1].toString(),S.existence_type=w.args[0].args[0].id),S},create:function(w){return new b.type.Session(w)}};typeof gl<"u"?gl.exports=b:window.pl=b})()});function sme(t,e,r){t.prepend(r.map(o=>new Ta.default.type.State(e.goal.replace(o),e.substitution,e)))}function yH(t){let e=ame.get(t.session);if(e==null)throw new Error("Assertion failed: A project should have been registered for the active session");return e}function lme(t,e){ame.set(t,e),t.consult(`:- use_module(library(${$gt.id})).`)}var EH,Ta,ome,A0,Xgt,Zgt,ame,$gt,cme=Et(()=>{je();EH=Ze(m2()),Ta=Ze(mH()),ome=Ze(ve("vm")),{is_atom:A0,is_variable:Xgt,is_instantiated_list:Zgt}=Ta.default.type;ame=new WeakMap;$gt=new Ta.default.type.Module("constraints",{["project_workspaces_by_descriptor/3"]:(t,e,r)=>{let[o,a,n]=r.args;if(!A0(o)||!A0(a)){t.throw_error(Ta.default.error.instantiation(r.indicator));return}let u=j.parseIdent(o.id),A=j.makeDescriptor(u,a.id),h=yH(t).tryWorkspaceByDescriptor(A);Xgt(n)&&h!==null&&sme(t,e,[new Ta.default.type.Term("=",[n,new Ta.default.type.Term(String(h.relativeCwd))])]),A0(n)&&h!==null&&h.relativeCwd===n.id&&t.success(e)},["workspace_field/3"]:(t,e,r)=>{let[o,a,n]=r.args;if(!A0(o)||!A0(a)){t.throw_error(Ta.default.error.instantiation(r.indicator));return}let A=yH(t).tryWorkspaceByCwd(o.id);if(A==null)return;let p=(0,EH.default)(A.manifest.raw,a.id);typeof p>"u"||sme(t,e,[new Ta.default.type.Term("=",[n,new Ta.default.type.Term(typeof p=="object"?JSON.stringify(p):p)])])},["workspace_field_test/3"]:(t,e,r)=>{let[o,a,n]=r.args;t.prepend([new Ta.default.type.State(e.goal.replace(new Ta.default.type.Term("workspace_field_test",[o,a,n,new Ta.default.type.Term("[]",[])])),e.substitution,e)])},["workspace_field_test/4"]:(t,e,r)=>{let[o,a,n,u]=r.args;if(!A0(o)||!A0(a)||!A0(n)||!Zgt(u)){t.throw_error(Ta.default.error.instantiation(r.indicator));return}let p=yH(t).tryWorkspaceByCwd(o.id);if(p==null)return;let h=(0,EH.default)(p.manifest.raw,a.id);if(typeof h>"u")return;let E={$$:h};for(let[v,x]of u.toJavaScript().entries())E[`$${v}`]=x;ome.default.runInNewContext(n.id,E)&&t.success(e)}},["project_workspaces_by_descriptor/3","workspace_field/3","workspace_field_test/3","workspace_field_test/4"])});var x2={};zt(x2,{Constraints:()=>b2,DependencyType:()=>pme});function eo(t){if(t instanceof BC.default.type.Num)return t.value;if(t instanceof BC.default.type.Term)switch(t.indicator){case"throw/1":return eo(t.args[0]);case"error/1":return eo(t.args[0]);case"error/2":if(t.args[0]instanceof BC.default.type.Term&&t.args[0].indicator==="syntax_error/1")return Object.assign(eo(t.args[0]),...eo(t.args[1]));{let e=eo(t.args[0]);return e.message+=` (in ${eo(t.args[1])})`,e}case"syntax_error/1":return new Vt(43,`Syntax error: ${eo(t.args[0])}`);case"existence_error/2":return new Vt(44,`Existence error: ${eo(t.args[0])} ${eo(t.args[1])} not found`);case"instantiation_error/0":return new Vt(75,"Instantiation error: an argument is variable when an instantiated argument was expected");case"line/1":return{line:eo(t.args[0])};case"column/1":return{column:eo(t.args[0])};case"found/1":return{found:eo(t.args[0])};case"./2":return[eo(t.args[0])].concat(eo(t.args[1]));case"//2":return`${eo(t.args[0])}/${eo(t.args[1])}`;default:return t.id}throw`couldn't pretty print because of unsupported node ${t}`}function Ame(t){let e;try{e=eo(t)}catch(r){throw typeof r=="string"?new Vt(42,`Unknown error: ${t} (note: ${r})`):r}return typeof e.line<"u"&&typeof e.column<"u"&&(e.message+=` at line ${e.line}, column ${e.column}`),e}function em(t){return t.id==="null"?null:`${t.toJavaScript()}`}function edt(t){if(t.id==="null")return null;{let e=t.toJavaScript();if(typeof e!="string")return JSON.stringify(e);try{return JSON.stringify(JSON.parse(e))}catch{return JSON.stringify(e)}}}function f0(t){return typeof t=="string"?`'${t}'`:"[]"}var fme,BC,pme,ume,CH,b2,k2=Et(()=>{je();je();Dt();fme=Ze(Gde()),BC=Ze(mH());P2();cme();(0,fme.default)(BC.default);pme=(o=>(o.Dependencies="dependencies",o.DevDependencies="devDependencies",o.PeerDependencies="peerDependencies",o))(pme||{}),ume=["dependencies","devDependencies","peerDependencies"];CH=class{constructor(e,r){let o=1e3*e.workspaces.length;this.session=BC.default.create(o),lme(this.session,e),this.session.consult(":- use_module(library(lists))."),this.session.consult(r)}fetchNextAnswer(){return new Promise(e=>{this.session.answer(r=>{e(r)})})}async*makeQuery(e){let r=this.session.query(e);if(r!==!0)throw Ame(r);for(;;){let o=await this.fetchNextAnswer();if(o===null)throw new Vt(79,"Resolution limit exceeded");if(!o)break;if(o.id==="throw")throw Ame(o);yield o}}};b2=class{constructor(e){this.source="";this.project=e;let r=e.configuration.get("constraintsPath");oe.existsSync(r)&&(this.source=oe.readFileSync(r,"utf8"))}static async find(e){return new b2(e)}getProjectDatabase(){let e="";for(let r of ume)e+=`dependency_type(${r}). +`;for(let r of this.project.workspacesByCwd.values()){let o=r.relativeCwd;e+=`workspace(${f0(o)}). +`,e+=`workspace_ident(${f0(o)}, ${f0(j.stringifyIdent(r.anchoredLocator))}). +`,e+=`workspace_version(${f0(o)}, ${f0(r.manifest.version)}). +`;for(let a of ume)for(let n of r.manifest[a].values())e+=`workspace_has_dependency(${f0(o)}, ${f0(j.stringifyIdent(n))}, ${f0(n.range)}, ${a}). +`}return e+=`workspace(_) :- false. +`,e+=`workspace_ident(_, _) :- false. +`,e+=`workspace_version(_, _) :- false. +`,e+=`workspace_has_dependency(_, _, _, _) :- false. +`,e}getDeclarations(){let e="";return e+=`gen_enforced_dependency(_, _, _, _) :- false. +`,e+=`gen_enforced_field(_, _, _) :- false. +`,e}get fullSource(){return`${this.getProjectDatabase()} +${this.source} +${this.getDeclarations()}`}createSession(){return new CH(this.project,this.fullSource)}async processClassic(){let e=this.createSession();return{enforcedDependencies:await this.genEnforcedDependencies(e),enforcedFields:await this.genEnforcedFields(e)}}async process(){let{enforcedDependencies:e,enforcedFields:r}=await this.processClassic(),o=new Map;for(let{workspace:a,dependencyIdent:n,dependencyRange:u,dependencyType:A}of e){let p=v2([A,j.stringifyIdent(n)]),h=He.getMapWithDefault(o,a.cwd);He.getMapWithDefault(h,p).set(u??void 0,new Set)}for(let{workspace:a,fieldPath:n,fieldValue:u}of r){let A=v2(n),p=He.getMapWithDefault(o,a.cwd);He.getMapWithDefault(p,A).set(JSON.parse(u)??void 0,new Set)}return{manifestUpdates:o,reportedErrors:new Map}}async genEnforcedDependencies(e){let r=[];for await(let o of e.makeQuery("workspace(WorkspaceCwd), dependency_type(DependencyType), gen_enforced_dependency(WorkspaceCwd, DependencyIdent, DependencyRange, DependencyType).")){let a=z.resolve(this.project.cwd,em(o.links.WorkspaceCwd)),n=em(o.links.DependencyIdent),u=em(o.links.DependencyRange),A=em(o.links.DependencyType);if(a===null||n===null)throw new Error("Invalid rule");let p=this.project.getWorkspaceByCwd(a),h=j.parseIdent(n);r.push({workspace:p,dependencyIdent:h,dependencyRange:u,dependencyType:A})}return He.sortMap(r,[({dependencyRange:o})=>o!==null?"0":"1",({workspace:o})=>j.stringifyIdent(o.anchoredLocator),({dependencyIdent:o})=>j.stringifyIdent(o)])}async genEnforcedFields(e){let r=[];for await(let o of e.makeQuery("workspace(WorkspaceCwd), gen_enforced_field(WorkspaceCwd, FieldPath, FieldValue).")){let a=z.resolve(this.project.cwd,em(o.links.WorkspaceCwd)),n=em(o.links.FieldPath),u=edt(o.links.FieldValue);if(a===null||n===null)throw new Error("Invalid rule");let A=this.project.getWorkspaceByCwd(a);r.push({workspace:A,fieldPath:n,fieldValue:u})}return He.sortMap(r,[({workspace:o})=>j.stringifyIdent(o.anchoredLocator),({fieldPath:o})=>o])}async*query(e){let r=this.createSession();for await(let o of r.makeQuery(e)){let a={};for(let[n,u]of Object.entries(o.links))n!=="_"&&(a[n]=em(u));yield a}}}});var Ime=_(Bk=>{"use strict";Object.defineProperty(Bk,"__esModule",{value:!0});function Y2(t){let e=[...t.caches],r=e.shift();return r===void 0?wme():{get(o,a,n={miss:()=>Promise.resolve()}){return r.get(o,a,n).catch(()=>Y2({caches:e}).get(o,a,n))},set(o,a){return r.set(o,a).catch(()=>Y2({caches:e}).set(o,a))},delete(o){return r.delete(o).catch(()=>Y2({caches:e}).delete(o))},clear(){return r.clear().catch(()=>Y2({caches:e}).clear())}}}function wme(){return{get(t,e,r={miss:()=>Promise.resolve()}){return e().then(a=>Promise.all([a,r.miss(a)])).then(([a])=>a)},set(t,e){return Promise.resolve(e)},delete(t){return Promise.resolve()},clear(){return Promise.resolve()}}}Bk.createFallbackableCache=Y2;Bk.createNullCache=wme});var vme=_((TWt,Bme)=>{Bme.exports=Ime()});var Pme=_(TH=>{"use strict";Object.defineProperty(TH,"__esModule",{value:!0});function Edt(t={serializable:!0}){let e={};return{get(r,o,a={miss:()=>Promise.resolve()}){let n=JSON.stringify(r);if(n in e)return Promise.resolve(t.serializable?JSON.parse(e[n]):e[n]);let u=o(),A=a&&a.miss||(()=>Promise.resolve());return u.then(p=>A(p)).then(()=>u)},set(r,o){return e[JSON.stringify(r)]=t.serializable?JSON.stringify(o):o,Promise.resolve(o)},delete(r){return delete e[JSON.stringify(r)],Promise.resolve()},clear(){return e={},Promise.resolve()}}}TH.createInMemoryCache=Edt});var Sme=_((NWt,Dme)=>{Dme.exports=Pme()});var xme=_($c=>{"use strict";Object.defineProperty($c,"__esModule",{value:!0});function Cdt(t,e,r){let o={"x-algolia-api-key":r,"x-algolia-application-id":e};return{headers(){return t===LH.WithinHeaders?o:{}},queryParameters(){return t===LH.WithinQueryParameters?o:{}}}}function wdt(t){let e=0,r=()=>(e++,new Promise(o=>{setTimeout(()=>{o(t(r))},Math.min(100*e,1e3))}));return t(r)}function bme(t,e=(r,o)=>Promise.resolve()){return Object.assign(t,{wait(r){return bme(t.then(o=>Promise.all([e(o,r),o])).then(o=>o[1]))}})}function Idt(t){let e=t.length-1;for(e;e>0;e--){let r=Math.floor(Math.random()*(e+1)),o=t[e];t[e]=t[r],t[r]=o}return t}function Bdt(t,e){return e&&Object.keys(e).forEach(r=>{t[r]=e[r](t)}),t}function vdt(t,...e){let r=0;return t.replace(/%s/g,()=>encodeURIComponent(e[r++]))}var Pdt="4.22.1",Ddt=t=>()=>t.transporter.requester.destroy(),LH={WithinQueryParameters:0,WithinHeaders:1};$c.AuthMode=LH;$c.addMethods=Bdt;$c.createAuth=Cdt;$c.createRetryablePromise=wdt;$c.createWaitablePromise=bme;$c.destroy=Ddt;$c.encode=vdt;$c.shuffle=Idt;$c.version=Pdt});var W2=_((MWt,kme)=>{kme.exports=xme()});var Qme=_(NH=>{"use strict";Object.defineProperty(NH,"__esModule",{value:!0});var Sdt={Delete:"DELETE",Get:"GET",Post:"POST",Put:"PUT"};NH.MethodEnum=Sdt});var K2=_((_Wt,Rme)=>{Rme.exports=Qme()});var Kme=_(Ri=>{"use strict";Object.defineProperty(Ri,"__esModule",{value:!0});var Tme=K2();function OH(t,e){let r=t||{},o=r.data||{};return Object.keys(r).forEach(a=>{["timeout","headers","queryParameters","data","cacheable"].indexOf(a)===-1&&(o[a]=r[a])}),{data:Object.entries(o).length>0?o:void 0,timeout:r.timeout||e,headers:r.headers||{},queryParameters:r.queryParameters||{},cacheable:r.cacheable}}var z2={Read:1,Write:2,Any:3},SC={Up:1,Down:2,Timeouted:3},Lme=2*60*1e3;function UH(t,e=SC.Up){return{...t,status:e,lastUpdate:Date.now()}}function Nme(t){return t.status===SC.Up||Date.now()-t.lastUpdate>Lme}function Ome(t){return t.status===SC.Timeouted&&Date.now()-t.lastUpdate<=Lme}function _H(t){return typeof t=="string"?{protocol:"https",url:t,accept:z2.Any}:{protocol:t.protocol||"https",url:t.url,accept:t.accept||z2.Any}}function bdt(t,e){return Promise.all(e.map(r=>t.get(r,()=>Promise.resolve(UH(r))))).then(r=>{let o=r.filter(A=>Nme(A)),a=r.filter(A=>Ome(A)),n=[...o,...a],u=n.length>0?n.map(A=>_H(A)):e;return{getTimeout(A,p){return(a.length===0&&A===0?1:a.length+3+A)*p},statelessHosts:u}})}var xdt=({isTimedOut:t,status:e})=>!t&&~~e===0,kdt=t=>{let e=t.status;return t.isTimedOut||xdt(t)||~~(e/100)!==2&&~~(e/100)!==4},Qdt=({status:t})=>~~(t/100)===2,Rdt=(t,e)=>kdt(t)?e.onRetry(t):Qdt(t)?e.onSuccess(t):e.onFail(t);function Fme(t,e,r,o){let a=[],n=qme(r,o),u=Gme(t,o),A=r.method,p=r.method!==Tme.MethodEnum.Get?{}:{...r.data,...o.data},h={"x-algolia-agent":t.userAgent.value,...t.queryParameters,...p,...o.queryParameters},E=0,I=(v,x)=>{let C=v.pop();if(C===void 0)throw Wme(MH(a));let F={data:n,headers:u,method:A,url:_me(C,r.path,h),connectTimeout:x(E,t.timeouts.connect),responseTimeout:x(E,o.timeout)},N=J=>{let te={request:F,response:J,host:C,triesLeft:v.length};return a.push(te),te},U={onSuccess:J=>Mme(J),onRetry(J){let te=N(J);return J.isTimedOut&&E++,Promise.all([t.logger.info("Retryable failure",HH(te)),t.hostsCache.set(C,UH(C,J.isTimedOut?SC.Timeouted:SC.Down))]).then(()=>I(v,x))},onFail(J){throw N(J),Ume(J,MH(a))}};return t.requester.send(F).then(J=>Rdt(J,U))};return bdt(t.hostsCache,e).then(v=>I([...v.statelessHosts].reverse(),v.getTimeout))}function Fdt(t){let{hostsCache:e,logger:r,requester:o,requestsCache:a,responsesCache:n,timeouts:u,userAgent:A,hosts:p,queryParameters:h,headers:E}=t,I={hostsCache:e,logger:r,requester:o,requestsCache:a,responsesCache:n,timeouts:u,userAgent:A,headers:E,queryParameters:h,hosts:p.map(v=>_H(v)),read(v,x){let C=OH(x,I.timeouts.read),F=()=>Fme(I,I.hosts.filter(J=>(J.accept&z2.Read)!==0),v,C);if((C.cacheable!==void 0?C.cacheable:v.cacheable)!==!0)return F();let U={request:v,mappedRequestOptions:C,transporter:{queryParameters:I.queryParameters,headers:I.headers}};return I.responsesCache.get(U,()=>I.requestsCache.get(U,()=>I.requestsCache.set(U,F()).then(J=>Promise.all([I.requestsCache.delete(U),J]),J=>Promise.all([I.requestsCache.delete(U),Promise.reject(J)])).then(([J,te])=>te)),{miss:J=>I.responsesCache.set(U,J)})},write(v,x){return Fme(I,I.hosts.filter(C=>(C.accept&z2.Write)!==0),v,OH(x,I.timeouts.write))}};return I}function Tdt(t){let e={value:`Algolia for JavaScript (${t})`,add(r){let o=`; ${r.segment}${r.version!==void 0?` (${r.version})`:""}`;return e.value.indexOf(o)===-1&&(e.value=`${e.value}${o}`),e}};return e}function Mme(t){try{return JSON.parse(t.content)}catch(e){throw Yme(e.message,t)}}function Ume({content:t,status:e},r){let o=t;try{o=JSON.parse(t).message}catch{}return jme(o,e,r)}function Ldt(t,...e){let r=0;return t.replace(/%s/g,()=>encodeURIComponent(e[r++]))}function _me(t,e,r){let o=Hme(r),a=`${t.protocol}://${t.url}/${e.charAt(0)==="/"?e.substr(1):e}`;return o.length&&(a+=`?${o}`),a}function Hme(t){let e=r=>Object.prototype.toString.call(r)==="[object Object]"||Object.prototype.toString.call(r)==="[object Array]";return Object.keys(t).map(r=>Ldt("%s=%s",r,e(t[r])?JSON.stringify(t[r]):t[r])).join("&")}function qme(t,e){if(t.method===Tme.MethodEnum.Get||t.data===void 0&&e.data===void 0)return;let r=Array.isArray(t.data)?t.data:{...t.data,...e.data};return JSON.stringify(r)}function Gme(t,e){let r={...t.headers,...e.headers},o={};return Object.keys(r).forEach(a=>{let n=r[a];o[a.toLowerCase()]=n}),o}function MH(t){return t.map(e=>HH(e))}function HH(t){let e=t.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...t,request:{...t.request,headers:{...t.request.headers,...e}}}}function jme(t,e,r){return{name:"ApiError",message:t,status:e,transporterStackTrace:r}}function Yme(t,e){return{name:"DeserializationError",message:t,response:e}}function Wme(t){return{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:t}}Ri.CallEnum=z2;Ri.HostStatusEnum=SC;Ri.createApiError=jme;Ri.createDeserializationError=Yme;Ri.createMappedRequestOptions=OH;Ri.createRetryError=Wme;Ri.createStatefulHost=UH;Ri.createStatelessHost=_H;Ri.createTransporter=Fdt;Ri.createUserAgent=Tdt;Ri.deserializeFailure=Ume;Ri.deserializeSuccess=Mme;Ri.isStatefulHostTimeouted=Ome;Ri.isStatefulHostUp=Nme;Ri.serializeData=qme;Ri.serializeHeaders=Gme;Ri.serializeQueryParameters=Hme;Ri.serializeUrl=_me;Ri.stackFrameWithoutCredentials=HH;Ri.stackTraceWithoutCredentials=MH});var J2=_((qWt,zme)=>{zme.exports=Kme()});var Jme=_(y0=>{"use strict";Object.defineProperty(y0,"__esModule",{value:!0});var bC=W2(),Ndt=J2(),V2=K2(),Odt=t=>{let e=t.region||"us",r=bC.createAuth(bC.AuthMode.WithinHeaders,t.appId,t.apiKey),o=Ndt.createTransporter({hosts:[{url:`analytics.${e}.algolia.com`}],...t,headers:{...r.headers(),"content-type":"application/json",...t.headers},queryParameters:{...r.queryParameters(),...t.queryParameters}}),a=t.appId;return bC.addMethods({appId:a,transporter:o},t.methods)},Mdt=t=>(e,r)=>t.transporter.write({method:V2.MethodEnum.Post,path:"2/abtests",data:e},r),Udt=t=>(e,r)=>t.transporter.write({method:V2.MethodEnum.Delete,path:bC.encode("2/abtests/%s",e)},r),_dt=t=>(e,r)=>t.transporter.read({method:V2.MethodEnum.Get,path:bC.encode("2/abtests/%s",e)},r),Hdt=t=>e=>t.transporter.read({method:V2.MethodEnum.Get,path:"2/abtests"},e),qdt=t=>(e,r)=>t.transporter.write({method:V2.MethodEnum.Post,path:bC.encode("2/abtests/%s/stop",e)},r);y0.addABTest=Mdt;y0.createAnalyticsClient=Odt;y0.deleteABTest=Udt;y0.getABTest=_dt;y0.getABTests=Hdt;y0.stopABTest=qdt});var Xme=_((jWt,Vme)=>{Vme.exports=Jme()});var $me=_(X2=>{"use strict";Object.defineProperty(X2,"__esModule",{value:!0});var qH=W2(),Gdt=J2(),Zme=K2(),jdt=t=>{let e=t.region||"us",r=qH.createAuth(qH.AuthMode.WithinHeaders,t.appId,t.apiKey),o=Gdt.createTransporter({hosts:[{url:`personalization.${e}.algolia.com`}],...t,headers:{...r.headers(),"content-type":"application/json",...t.headers},queryParameters:{...r.queryParameters(),...t.queryParameters}});return qH.addMethods({appId:t.appId,transporter:o},t.methods)},Ydt=t=>e=>t.transporter.read({method:Zme.MethodEnum.Get,path:"1/strategies/personalization"},e),Wdt=t=>(e,r)=>t.transporter.write({method:Zme.MethodEnum.Post,path:"1/strategies/personalization",data:e},r);X2.createPersonalizationClient=jdt;X2.getPersonalizationStrategy=Ydt;X2.setPersonalizationStrategy=Wdt});var tye=_((WWt,eye)=>{eye.exports=$me()});var gye=_(Rt=>{"use strict";Object.defineProperty(Rt,"__esModule",{value:!0});var jt=W2(),La=J2(),Ir=K2(),Kdt=ve("crypto");function vk(t){let e=r=>t.request(r).then(o=>{if(t.batch!==void 0&&t.batch(o.hits),!t.shouldStop(o))return o.cursor?e({cursor:o.cursor}):e({page:(r.page||0)+1})});return e({})}var zdt=t=>{let e=t.appId,r=jt.createAuth(t.authMode!==void 0?t.authMode:jt.AuthMode.WithinHeaders,e,t.apiKey),o=La.createTransporter({hosts:[{url:`${e}-dsn.algolia.net`,accept:La.CallEnum.Read},{url:`${e}.algolia.net`,accept:La.CallEnum.Write}].concat(jt.shuffle([{url:`${e}-1.algolianet.com`},{url:`${e}-2.algolianet.com`},{url:`${e}-3.algolianet.com`}])),...t,headers:{...r.headers(),"content-type":"application/x-www-form-urlencoded",...t.headers},queryParameters:{...r.queryParameters(),...t.queryParameters}}),a={transporter:o,appId:e,addAlgoliaAgent(n,u){o.userAgent.add({segment:n,version:u})},clearCache(){return Promise.all([o.requestsCache.clear(),o.responsesCache.clear()]).then(()=>{})}};return jt.addMethods(a,t.methods)};function rye(){return{name:"MissingObjectIDError",message:"All objects must have an unique objectID (like a primary key) to be valid. Algolia is also able to generate objectIDs automatically but *it's not recommended*. To do it, use the `{'autoGenerateObjectIDIfNotExist': true}` option."}}function nye(){return{name:"ObjectNotFoundError",message:"Object not found."}}function iye(){return{name:"ValidUntilNotFoundError",message:"ValidUntil not found in given secured api key."}}var Jdt=t=>(e,r)=>{let{queryParameters:o,...a}=r||{},n={acl:e,...o!==void 0?{queryParameters:o}:{}},u=(A,p)=>jt.createRetryablePromise(h=>Z2(t)(A.key,p).catch(E=>{if(E.status!==404)throw E;return h()}));return jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:"1/keys",data:n},a),u)},Vdt=t=>(e,r,o)=>{let a=La.createMappedRequestOptions(o);return a.queryParameters["X-Algolia-User-ID"]=e,t.transporter.write({method:Ir.MethodEnum.Post,path:"1/clusters/mapping",data:{cluster:r}},a)},Xdt=t=>(e,r,o)=>t.transporter.write({method:Ir.MethodEnum.Post,path:"1/clusters/mapping/batch",data:{users:e,cluster:r}},o),Zdt=t=>(e,r)=>jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:jt.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!0,requests:{action:"addEntry",body:[]}}},r),(o,a)=>xC(t)(o.taskID,a)),Pk=t=>(e,r,o)=>{let a=(n,u)=>$2(t)(e,{methods:{waitTask:$i}}).waitTask(n.taskID,u);return jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:jt.encode("1/indexes/%s/operation",e),data:{operation:"copy",destination:r}},o),a)},$dt=t=>(e,r,o)=>Pk(t)(e,r,{...o,scope:[Sk.Rules]}),emt=t=>(e,r,o)=>Pk(t)(e,r,{...o,scope:[Sk.Settings]}),tmt=t=>(e,r,o)=>Pk(t)(e,r,{...o,scope:[Sk.Synonyms]}),rmt=t=>(e,r)=>e.method===Ir.MethodEnum.Get?t.transporter.read(e,r):t.transporter.write(e,r),nmt=t=>(e,r)=>{let o=(a,n)=>jt.createRetryablePromise(u=>Z2(t)(e,n).then(u).catch(A=>{if(A.status!==404)throw A}));return jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Delete,path:jt.encode("1/keys/%s",e)},r),o)},imt=t=>(e,r,o)=>{let a=r.map(n=>({action:"deleteEntry",body:{objectID:n}}));return jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:jt.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!1,requests:a}},o),(n,u)=>xC(t)(n.taskID,u))},smt=()=>(t,e)=>{let r=La.serializeQueryParameters(e),o=Kdt.createHmac("sha256",t).update(r).digest("hex");return Buffer.from(o+r).toString("base64")},Z2=t=>(e,r)=>t.transporter.read({method:Ir.MethodEnum.Get,path:jt.encode("1/keys/%s",e)},r),sye=t=>(e,r)=>t.transporter.read({method:Ir.MethodEnum.Get,path:jt.encode("1/task/%s",e.toString())},r),omt=t=>e=>t.transporter.read({method:Ir.MethodEnum.Get,path:"/1/dictionaries/*/settings"},e),amt=t=>e=>t.transporter.read({method:Ir.MethodEnum.Get,path:"1/logs"},e),lmt=()=>t=>{let e=Buffer.from(t,"base64").toString("ascii"),r=/validUntil=(\d+)/,o=e.match(r);if(o===null)throw iye();return parseInt(o[1],10)-Math.round(new Date().getTime()/1e3)},cmt=t=>e=>t.transporter.read({method:Ir.MethodEnum.Get,path:"1/clusters/mapping/top"},e),umt=t=>(e,r)=>t.transporter.read({method:Ir.MethodEnum.Get,path:jt.encode("1/clusters/mapping/%s",e)},r),Amt=t=>e=>{let{retrieveMappings:r,...o}=e||{};return r===!0&&(o.getClusters=!0),t.transporter.read({method:Ir.MethodEnum.Get,path:"1/clusters/mapping/pending"},o)},$2=t=>(e,r={})=>{let o={transporter:t.transporter,appId:t.appId,indexName:e};return jt.addMethods(o,r.methods)},fmt=t=>e=>t.transporter.read({method:Ir.MethodEnum.Get,path:"1/keys"},e),pmt=t=>e=>t.transporter.read({method:Ir.MethodEnum.Get,path:"1/clusters"},e),hmt=t=>e=>t.transporter.read({method:Ir.MethodEnum.Get,path:"1/indexes"},e),gmt=t=>e=>t.transporter.read({method:Ir.MethodEnum.Get,path:"1/clusters/mapping"},e),dmt=t=>(e,r,o)=>{let a=(n,u)=>$2(t)(e,{methods:{waitTask:$i}}).waitTask(n.taskID,u);return jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:jt.encode("1/indexes/%s/operation",e),data:{operation:"move",destination:r}},o),a)},mmt=t=>(e,r)=>{let o=(a,n)=>Promise.all(Object.keys(a.taskID).map(u=>$2(t)(u,{methods:{waitTask:$i}}).waitTask(a.taskID[u],n)));return jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:"1/indexes/*/batch",data:{requests:e}},r),o)},ymt=t=>(e,r)=>t.transporter.read({method:Ir.MethodEnum.Post,path:"1/indexes/*/objects",data:{requests:e}},r),Emt=t=>(e,r)=>{let o=e.map(a=>({...a,params:La.serializeQueryParameters(a.params||{})}));return t.transporter.read({method:Ir.MethodEnum.Post,path:"1/indexes/*/queries",data:{requests:o},cacheable:!0},r)},Cmt=t=>(e,r)=>Promise.all(e.map(o=>{let{facetName:a,facetQuery:n,...u}=o.params;return $2(t)(o.indexName,{methods:{searchForFacetValues:fye}}).searchForFacetValues(a,n,{...r,...u})})),wmt=t=>(e,r)=>{let o=La.createMappedRequestOptions(r);return o.queryParameters["X-Algolia-User-ID"]=e,t.transporter.write({method:Ir.MethodEnum.Delete,path:"1/clusters/mapping"},o)},Imt=t=>(e,r,o)=>{let a=r.map(n=>({action:"addEntry",body:n}));return jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:jt.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!0,requests:a}},o),(n,u)=>xC(t)(n.taskID,u))},Bmt=t=>(e,r)=>{let o=(a,n)=>jt.createRetryablePromise(u=>Z2(t)(e,n).catch(A=>{if(A.status!==404)throw A;return u()}));return jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:jt.encode("1/keys/%s/restore",e)},r),o)},vmt=t=>(e,r,o)=>{let a=r.map(n=>({action:"addEntry",body:n}));return jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:jt.encode("/1/dictionaries/%s/batch",e),data:{clearExistingDictionaryEntries:!1,requests:a}},o),(n,u)=>xC(t)(n.taskID,u))},Pmt=t=>(e,r,o)=>t.transporter.read({method:Ir.MethodEnum.Post,path:jt.encode("/1/dictionaries/%s/search",e),data:{query:r},cacheable:!0},o),Dmt=t=>(e,r)=>t.transporter.read({method:Ir.MethodEnum.Post,path:"1/clusters/mapping/search",data:{query:e}},r),Smt=t=>(e,r)=>jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Put,path:"/1/dictionaries/*/settings",data:e},r),(o,a)=>xC(t)(o.taskID,a)),bmt=t=>(e,r)=>{let o=Object.assign({},r),{queryParameters:a,...n}=r||{},u=a?{queryParameters:a}:{},A=["acl","indexes","referers","restrictSources","queryParameters","description","maxQueriesPerIPPerHour","maxHitsPerQuery"],p=E=>Object.keys(o).filter(I=>A.indexOf(I)!==-1).every(I=>{if(Array.isArray(E[I])&&Array.isArray(o[I])){let v=E[I];return v.length===o[I].length&&v.every((x,C)=>x===o[I][C])}else return E[I]===o[I]}),h=(E,I)=>jt.createRetryablePromise(v=>Z2(t)(e,I).then(x=>p(x)?Promise.resolve():v()));return jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Put,path:jt.encode("1/keys/%s",e),data:u},n),h)},xC=t=>(e,r)=>jt.createRetryablePromise(o=>sye(t)(e,r).then(a=>a.status!=="published"?o():void 0)),oye=t=>(e,r)=>{let o=(a,n)=>$i(t)(a.taskID,n);return jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:jt.encode("1/indexes/%s/batch",t.indexName),data:{requests:e}},r),o)},xmt=t=>e=>vk({shouldStop:r=>r.cursor===void 0,...e,request:r=>t.transporter.read({method:Ir.MethodEnum.Post,path:jt.encode("1/indexes/%s/browse",t.indexName),data:r},e)}),kmt=t=>e=>{let r={hitsPerPage:1e3,...e};return vk({shouldStop:o=>o.hits.length({...a,hits:a.hits.map(n=>(delete n._highlightResult,n))}))}})},Qmt=t=>e=>{let r={hitsPerPage:1e3,...e};return vk({shouldStop:o=>o.hits.length({...a,hits:a.hits.map(n=>(delete n._highlightResult,n))}))}})},Dk=t=>(e,r,o)=>{let{batchSize:a,...n}=o||{},u={taskIDs:[],objectIDs:[]},A=(p=0)=>{let h=[],E;for(E=p;E({action:r,body:I})),n).then(I=>(u.objectIDs=u.objectIDs.concat(I.objectIDs),u.taskIDs.push(I.taskID),E++,A(E)))};return jt.createWaitablePromise(A(),(p,h)=>Promise.all(p.taskIDs.map(E=>$i(t)(E,h))))},Rmt=t=>e=>jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:jt.encode("1/indexes/%s/clear",t.indexName)},e),(r,o)=>$i(t)(r.taskID,o)),Fmt=t=>e=>{let{forwardToReplicas:r,...o}=e||{},a=La.createMappedRequestOptions(o);return r&&(a.queryParameters.forwardToReplicas=1),jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:jt.encode("1/indexes/%s/rules/clear",t.indexName)},a),(n,u)=>$i(t)(n.taskID,u))},Tmt=t=>e=>{let{forwardToReplicas:r,...o}=e||{},a=La.createMappedRequestOptions(o);return r&&(a.queryParameters.forwardToReplicas=1),jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:jt.encode("1/indexes/%s/synonyms/clear",t.indexName)},a),(n,u)=>$i(t)(n.taskID,u))},Lmt=t=>(e,r)=>jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:jt.encode("1/indexes/%s/deleteByQuery",t.indexName),data:e},r),(o,a)=>$i(t)(o.taskID,a)),Nmt=t=>e=>jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Delete,path:jt.encode("1/indexes/%s",t.indexName)},e),(r,o)=>$i(t)(r.taskID,o)),Omt=t=>(e,r)=>jt.createWaitablePromise(aye(t)([e],r).then(o=>({taskID:o.taskIDs[0]})),(o,a)=>$i(t)(o.taskID,a)),aye=t=>(e,r)=>{let o=e.map(a=>({objectID:a}));return Dk(t)(o,nm.DeleteObject,r)},Mmt=t=>(e,r)=>{let{forwardToReplicas:o,...a}=r||{},n=La.createMappedRequestOptions(a);return o&&(n.queryParameters.forwardToReplicas=1),jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Delete,path:jt.encode("1/indexes/%s/rules/%s",t.indexName,e)},n),(u,A)=>$i(t)(u.taskID,A))},Umt=t=>(e,r)=>{let{forwardToReplicas:o,...a}=r||{},n=La.createMappedRequestOptions(a);return o&&(n.queryParameters.forwardToReplicas=1),jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Delete,path:jt.encode("1/indexes/%s/synonyms/%s",t.indexName,e)},n),(u,A)=>$i(t)(u.taskID,A))},_mt=t=>e=>lye(t)(e).then(()=>!0).catch(r=>{if(r.status!==404)throw r;return!1}),Hmt=t=>(e,r,o)=>t.transporter.read({method:Ir.MethodEnum.Post,path:jt.encode("1/answers/%s/prediction",t.indexName),data:{query:e,queryLanguages:r},cacheable:!0},o),qmt=t=>(e,r)=>{let{query:o,paginate:a,...n}=r||{},u=0,A=()=>Aye(t)(o||"",{...n,page:u}).then(p=>{for(let[h,E]of Object.entries(p.hits))if(e(E))return{object:E,position:parseInt(h,10),page:u};if(u++,a===!1||u>=p.nbPages)throw nye();return A()});return A()},Gmt=t=>(e,r)=>t.transporter.read({method:Ir.MethodEnum.Get,path:jt.encode("1/indexes/%s/%s",t.indexName,e)},r),jmt=()=>(t,e)=>{for(let[r,o]of Object.entries(t.hits))if(o.objectID===e)return parseInt(r,10);return-1},Ymt=t=>(e,r)=>{let{attributesToRetrieve:o,...a}=r||{},n=e.map(u=>({indexName:t.indexName,objectID:u,...o?{attributesToRetrieve:o}:{}}));return t.transporter.read({method:Ir.MethodEnum.Post,path:"1/indexes/*/objects",data:{requests:n}},a)},Wmt=t=>(e,r)=>t.transporter.read({method:Ir.MethodEnum.Get,path:jt.encode("1/indexes/%s/rules/%s",t.indexName,e)},r),lye=t=>e=>t.transporter.read({method:Ir.MethodEnum.Get,path:jt.encode("1/indexes/%s/settings",t.indexName),data:{getVersion:2}},e),Kmt=t=>(e,r)=>t.transporter.read({method:Ir.MethodEnum.Get,path:jt.encode("1/indexes/%s/synonyms/%s",t.indexName,e)},r),cye=t=>(e,r)=>t.transporter.read({method:Ir.MethodEnum.Get,path:jt.encode("1/indexes/%s/task/%s",t.indexName,e.toString())},r),zmt=t=>(e,r)=>jt.createWaitablePromise(uye(t)([e],r).then(o=>({objectID:o.objectIDs[0],taskID:o.taskIDs[0]})),(o,a)=>$i(t)(o.taskID,a)),uye=t=>(e,r)=>{let{createIfNotExists:o,...a}=r||{},n=o?nm.PartialUpdateObject:nm.PartialUpdateObjectNoCreate;return Dk(t)(e,n,a)},Jmt=t=>(e,r)=>{let{safe:o,autoGenerateObjectIDIfNotExist:a,batchSize:n,...u}=r||{},A=(C,F,N,U)=>jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:jt.encode("1/indexes/%s/operation",C),data:{operation:N,destination:F}},U),(J,te)=>$i(t)(J.taskID,te)),p=Math.random().toString(36).substring(7),h=`${t.indexName}_tmp_${p}`,E=GH({appId:t.appId,transporter:t.transporter,indexName:h}),I=[],v=A(t.indexName,h,"copy",{...u,scope:["settings","synonyms","rules"]});I.push(v);let x=(o?v.wait(u):v).then(()=>{let C=E(e,{...u,autoGenerateObjectIDIfNotExist:a,batchSize:n});return I.push(C),o?C.wait(u):C}).then(()=>{let C=A(h,t.indexName,"move",u);return I.push(C),o?C.wait(u):C}).then(()=>Promise.all(I)).then(([C,F,N])=>({objectIDs:F.objectIDs,taskIDs:[C.taskID,...F.taskIDs,N.taskID]}));return jt.createWaitablePromise(x,(C,F)=>Promise.all(I.map(N=>N.wait(F))))},Vmt=t=>(e,r)=>jH(t)(e,{...r,clearExistingRules:!0}),Xmt=t=>(e,r)=>YH(t)(e,{...r,clearExistingSynonyms:!0}),Zmt=t=>(e,r)=>jt.createWaitablePromise(GH(t)([e],r).then(o=>({objectID:o.objectIDs[0],taskID:o.taskIDs[0]})),(o,a)=>$i(t)(o.taskID,a)),GH=t=>(e,r)=>{let{autoGenerateObjectIDIfNotExist:o,...a}=r||{},n=o?nm.AddObject:nm.UpdateObject;if(n===nm.UpdateObject){for(let u of e)if(u.objectID===void 0)return jt.createWaitablePromise(Promise.reject(rye()))}return Dk(t)(e,n,a)},$mt=t=>(e,r)=>jH(t)([e],r),jH=t=>(e,r)=>{let{forwardToReplicas:o,clearExistingRules:a,...n}=r||{},u=La.createMappedRequestOptions(n);return o&&(u.queryParameters.forwardToReplicas=1),a&&(u.queryParameters.clearExistingRules=1),jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:jt.encode("1/indexes/%s/rules/batch",t.indexName),data:e},u),(A,p)=>$i(t)(A.taskID,p))},eyt=t=>(e,r)=>YH(t)([e],r),YH=t=>(e,r)=>{let{forwardToReplicas:o,clearExistingSynonyms:a,replaceExistingSynonyms:n,...u}=r||{},A=La.createMappedRequestOptions(u);return o&&(A.queryParameters.forwardToReplicas=1),(n||a)&&(A.queryParameters.replaceExistingSynonyms=1),jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Post,path:jt.encode("1/indexes/%s/synonyms/batch",t.indexName),data:e},A),(p,h)=>$i(t)(p.taskID,h))},Aye=t=>(e,r)=>t.transporter.read({method:Ir.MethodEnum.Post,path:jt.encode("1/indexes/%s/query",t.indexName),data:{query:e},cacheable:!0},r),fye=t=>(e,r,o)=>t.transporter.read({method:Ir.MethodEnum.Post,path:jt.encode("1/indexes/%s/facets/%s/query",t.indexName,e),data:{facetQuery:r},cacheable:!0},o),pye=t=>(e,r)=>t.transporter.read({method:Ir.MethodEnum.Post,path:jt.encode("1/indexes/%s/rules/search",t.indexName),data:{query:e}},r),hye=t=>(e,r)=>t.transporter.read({method:Ir.MethodEnum.Post,path:jt.encode("1/indexes/%s/synonyms/search",t.indexName),data:{query:e}},r),tyt=t=>(e,r)=>{let{forwardToReplicas:o,...a}=r||{},n=La.createMappedRequestOptions(a);return o&&(n.queryParameters.forwardToReplicas=1),jt.createWaitablePromise(t.transporter.write({method:Ir.MethodEnum.Put,path:jt.encode("1/indexes/%s/settings",t.indexName),data:e},n),(u,A)=>$i(t)(u.taskID,A))},$i=t=>(e,r)=>jt.createRetryablePromise(o=>cye(t)(e,r).then(a=>a.status!=="published"?o():void 0)),ryt={AddObject:"addObject",Analytics:"analytics",Browser:"browse",DeleteIndex:"deleteIndex",DeleteObject:"deleteObject",EditSettings:"editSettings",Inference:"inference",ListIndexes:"listIndexes",Logs:"logs",Personalization:"personalization",Recommendation:"recommendation",Search:"search",SeeUnretrievableAttributes:"seeUnretrievableAttributes",Settings:"settings",Usage:"usage"},nm={AddObject:"addObject",UpdateObject:"updateObject",PartialUpdateObject:"partialUpdateObject",PartialUpdateObjectNoCreate:"partialUpdateObjectNoCreate",DeleteObject:"deleteObject",DeleteIndex:"delete",ClearIndex:"clear"},Sk={Settings:"settings",Synonyms:"synonyms",Rules:"rules"},nyt={None:"none",StopIfEnoughMatches:"stopIfEnoughMatches"},iyt={Synonym:"synonym",OneWaySynonym:"oneWaySynonym",AltCorrection1:"altCorrection1",AltCorrection2:"altCorrection2",Placeholder:"placeholder"};Rt.ApiKeyACLEnum=ryt;Rt.BatchActionEnum=nm;Rt.ScopeEnum=Sk;Rt.StrategyEnum=nyt;Rt.SynonymEnum=iyt;Rt.addApiKey=Jdt;Rt.assignUserID=Vdt;Rt.assignUserIDs=Xdt;Rt.batch=oye;Rt.browseObjects=xmt;Rt.browseRules=kmt;Rt.browseSynonyms=Qmt;Rt.chunkedBatch=Dk;Rt.clearDictionaryEntries=Zdt;Rt.clearObjects=Rmt;Rt.clearRules=Fmt;Rt.clearSynonyms=Tmt;Rt.copyIndex=Pk;Rt.copyRules=$dt;Rt.copySettings=emt;Rt.copySynonyms=tmt;Rt.createBrowsablePromise=vk;Rt.createMissingObjectIDError=rye;Rt.createObjectNotFoundError=nye;Rt.createSearchClient=zdt;Rt.createValidUntilNotFoundError=iye;Rt.customRequest=rmt;Rt.deleteApiKey=nmt;Rt.deleteBy=Lmt;Rt.deleteDictionaryEntries=imt;Rt.deleteIndex=Nmt;Rt.deleteObject=Omt;Rt.deleteObjects=aye;Rt.deleteRule=Mmt;Rt.deleteSynonym=Umt;Rt.exists=_mt;Rt.findAnswers=Hmt;Rt.findObject=qmt;Rt.generateSecuredApiKey=smt;Rt.getApiKey=Z2;Rt.getAppTask=sye;Rt.getDictionarySettings=omt;Rt.getLogs=amt;Rt.getObject=Gmt;Rt.getObjectPosition=jmt;Rt.getObjects=Ymt;Rt.getRule=Wmt;Rt.getSecuredApiKeyRemainingValidity=lmt;Rt.getSettings=lye;Rt.getSynonym=Kmt;Rt.getTask=cye;Rt.getTopUserIDs=cmt;Rt.getUserID=umt;Rt.hasPendingMappings=Amt;Rt.initIndex=$2;Rt.listApiKeys=fmt;Rt.listClusters=pmt;Rt.listIndices=hmt;Rt.listUserIDs=gmt;Rt.moveIndex=dmt;Rt.multipleBatch=mmt;Rt.multipleGetObjects=ymt;Rt.multipleQueries=Emt;Rt.multipleSearchForFacetValues=Cmt;Rt.partialUpdateObject=zmt;Rt.partialUpdateObjects=uye;Rt.removeUserID=wmt;Rt.replaceAllObjects=Jmt;Rt.replaceAllRules=Vmt;Rt.replaceAllSynonyms=Xmt;Rt.replaceDictionaryEntries=Imt;Rt.restoreApiKey=Bmt;Rt.saveDictionaryEntries=vmt;Rt.saveObject=Zmt;Rt.saveObjects=GH;Rt.saveRule=$mt;Rt.saveRules=jH;Rt.saveSynonym=eyt;Rt.saveSynonyms=YH;Rt.search=Aye;Rt.searchDictionaryEntries=Pmt;Rt.searchForFacetValues=fye;Rt.searchRules=pye;Rt.searchSynonyms=hye;Rt.searchUserIDs=Dmt;Rt.setDictionarySettings=Smt;Rt.setSettings=tyt;Rt.updateApiKey=bmt;Rt.waitAppTask=xC;Rt.waitTask=$i});var mye=_((zWt,dye)=>{dye.exports=gye()});var yye=_(bk=>{"use strict";Object.defineProperty(bk,"__esModule",{value:!0});function syt(){return{debug(t,e){return Promise.resolve()},info(t,e){return Promise.resolve()},error(t,e){return Promise.resolve()}}}var oyt={Debug:1,Info:2,Error:3};bk.LogLevelEnum=oyt;bk.createNullLogger=syt});var Cye=_((VWt,Eye)=>{Eye.exports=yye()});var vye=_(WH=>{"use strict";Object.defineProperty(WH,"__esModule",{value:!0});var wye=ve("http"),Iye=ve("https"),ayt=ve("url"),Bye={keepAlive:!0},lyt=new wye.Agent(Bye),cyt=new Iye.Agent(Bye);function uyt({agent:t,httpAgent:e,httpsAgent:r,requesterOptions:o={}}={}){let a=e||t||lyt,n=r||t||cyt;return{send(u){return new Promise(A=>{let p=ayt.parse(u.url),h=p.query===null?p.pathname:`${p.pathname}?${p.query}`,E={...o,agent:p.protocol==="https:"?n:a,hostname:p.hostname,path:h,method:u.method,headers:{...o&&o.headers?o.headers:{},...u.headers},...p.port!==void 0?{port:p.port||""}:{}},I=(p.protocol==="https:"?Iye:wye).request(E,F=>{let N=[];F.on("data",U=>{N=N.concat(U)}),F.on("end",()=>{clearTimeout(x),clearTimeout(C),A({status:F.statusCode||0,content:Buffer.concat(N).toString(),isTimedOut:!1})})}),v=(F,N)=>setTimeout(()=>{I.abort(),A({status:0,content:N,isTimedOut:!0})},F*1e3),x=v(u.connectTimeout,"Connection timeout"),C;I.on("error",F=>{clearTimeout(x),clearTimeout(C),A({status:0,content:F.message,isTimedOut:!1})}),I.once("response",()=>{clearTimeout(x),C=v(u.responseTimeout,"Socket timeout")}),u.data!==void 0&&I.write(u.data),I.end()})},destroy(){return a.destroy(),n.destroy(),Promise.resolve()}}}WH.createNodeHttpRequester=uyt});var Dye=_((ZWt,Pye)=>{Pye.exports=vye()});var kye=_(($Wt,xye)=>{"use strict";var Sye=vme(),Ayt=Sme(),kC=Xme(),zH=W2(),KH=tye(),_t=mye(),fyt=Cye(),pyt=Dye(),hyt=J2();function bye(t,e,r){let o={appId:t,apiKey:e,timeouts:{connect:2,read:5,write:30},requester:pyt.createNodeHttpRequester(),logger:fyt.createNullLogger(),responsesCache:Sye.createNullCache(),requestsCache:Sye.createNullCache(),hostsCache:Ayt.createInMemoryCache(),userAgent:hyt.createUserAgent(zH.version).add({segment:"Node.js",version:process.versions.node})},a={...o,...r},n=()=>u=>KH.createPersonalizationClient({...o,...u,methods:{getPersonalizationStrategy:KH.getPersonalizationStrategy,setPersonalizationStrategy:KH.setPersonalizationStrategy}});return _t.createSearchClient({...a,methods:{search:_t.multipleQueries,searchForFacetValues:_t.multipleSearchForFacetValues,multipleBatch:_t.multipleBatch,multipleGetObjects:_t.multipleGetObjects,multipleQueries:_t.multipleQueries,copyIndex:_t.copyIndex,copySettings:_t.copySettings,copyRules:_t.copyRules,copySynonyms:_t.copySynonyms,moveIndex:_t.moveIndex,listIndices:_t.listIndices,getLogs:_t.getLogs,listClusters:_t.listClusters,multipleSearchForFacetValues:_t.multipleSearchForFacetValues,getApiKey:_t.getApiKey,addApiKey:_t.addApiKey,listApiKeys:_t.listApiKeys,updateApiKey:_t.updateApiKey,deleteApiKey:_t.deleteApiKey,restoreApiKey:_t.restoreApiKey,assignUserID:_t.assignUserID,assignUserIDs:_t.assignUserIDs,getUserID:_t.getUserID,searchUserIDs:_t.searchUserIDs,listUserIDs:_t.listUserIDs,getTopUserIDs:_t.getTopUserIDs,removeUserID:_t.removeUserID,hasPendingMappings:_t.hasPendingMappings,generateSecuredApiKey:_t.generateSecuredApiKey,getSecuredApiKeyRemainingValidity:_t.getSecuredApiKeyRemainingValidity,destroy:zH.destroy,clearDictionaryEntries:_t.clearDictionaryEntries,deleteDictionaryEntries:_t.deleteDictionaryEntries,getDictionarySettings:_t.getDictionarySettings,getAppTask:_t.getAppTask,replaceDictionaryEntries:_t.replaceDictionaryEntries,saveDictionaryEntries:_t.saveDictionaryEntries,searchDictionaryEntries:_t.searchDictionaryEntries,setDictionarySettings:_t.setDictionarySettings,waitAppTask:_t.waitAppTask,customRequest:_t.customRequest,initIndex:u=>A=>_t.initIndex(u)(A,{methods:{batch:_t.batch,delete:_t.deleteIndex,findAnswers:_t.findAnswers,getObject:_t.getObject,getObjects:_t.getObjects,saveObject:_t.saveObject,saveObjects:_t.saveObjects,search:_t.search,searchForFacetValues:_t.searchForFacetValues,waitTask:_t.waitTask,setSettings:_t.setSettings,getSettings:_t.getSettings,partialUpdateObject:_t.partialUpdateObject,partialUpdateObjects:_t.partialUpdateObjects,deleteObject:_t.deleteObject,deleteObjects:_t.deleteObjects,deleteBy:_t.deleteBy,clearObjects:_t.clearObjects,browseObjects:_t.browseObjects,getObjectPosition:_t.getObjectPosition,findObject:_t.findObject,exists:_t.exists,saveSynonym:_t.saveSynonym,saveSynonyms:_t.saveSynonyms,getSynonym:_t.getSynonym,searchSynonyms:_t.searchSynonyms,browseSynonyms:_t.browseSynonyms,deleteSynonym:_t.deleteSynonym,clearSynonyms:_t.clearSynonyms,replaceAllObjects:_t.replaceAllObjects,replaceAllSynonyms:_t.replaceAllSynonyms,searchRules:_t.searchRules,getRule:_t.getRule,deleteRule:_t.deleteRule,saveRule:_t.saveRule,saveRules:_t.saveRules,replaceAllRules:_t.replaceAllRules,browseRules:_t.browseRules,clearRules:_t.clearRules}}),initAnalytics:()=>u=>kC.createAnalyticsClient({...o,...u,methods:{addABTest:kC.addABTest,getABTest:kC.getABTest,getABTests:kC.getABTests,stopABTest:kC.stopABTest,deleteABTest:kC.deleteABTest}}),initPersonalization:n,initRecommendation:()=>u=>(a.logger.info("The `initRecommendation` method is deprecated. Use `initPersonalization` instead."),n()(u))}})}bye.version=zH.version;xye.exports=bye});var VH=_((eKt,JH)=>{var Qye=kye();JH.exports=Qye;JH.exports.default=Qye});var $H=_((rKt,Tye)=>{"use strict";var Fye=Object.getOwnPropertySymbols,dyt=Object.prototype.hasOwnProperty,myt=Object.prototype.propertyIsEnumerable;function yyt(t){if(t==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}function Eyt(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de",Object.getOwnPropertyNames(t)[0]==="5")return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;var o=Object.getOwnPropertyNames(e).map(function(n){return e[n]});if(o.join("")!=="0123456789")return!1;var a={};return"abcdefghijklmnopqrst".split("").forEach(function(n){a[n]=n}),Object.keys(Object.assign({},a)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}Tye.exports=Eyt()?Object.assign:function(t,e){for(var r,o=yyt(t),a,n=1;n{"use strict";var i6=$H(),eu=typeof Symbol=="function"&&Symbol.for,eB=eu?Symbol.for("react.element"):60103,Cyt=eu?Symbol.for("react.portal"):60106,wyt=eu?Symbol.for("react.fragment"):60107,Iyt=eu?Symbol.for("react.strict_mode"):60108,Byt=eu?Symbol.for("react.profiler"):60114,vyt=eu?Symbol.for("react.provider"):60109,Pyt=eu?Symbol.for("react.context"):60110,Dyt=eu?Symbol.for("react.forward_ref"):60112,Syt=eu?Symbol.for("react.suspense"):60113,byt=eu?Symbol.for("react.memo"):60115,xyt=eu?Symbol.for("react.lazy"):60116,Lye=typeof Symbol=="function"&&Symbol.iterator;function tB(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,r=1;rxk.length&&xk.push(t)}function t6(t,e,r,o){var a=typeof t;(a==="undefined"||a==="boolean")&&(t=null);var n=!1;if(t===null)n=!0;else switch(a){case"string":case"number":n=!0;break;case"object":switch(t.$$typeof){case eB:case Cyt:n=!0}}if(n)return r(o,t,e===""?"."+e6(t,0):e),1;if(n=0,e=e===""?".":e+":",Array.isArray(t))for(var u=0;u{"use strict";Kye.exports=Wye()});var u6=_((sKt,c6)=>{"use strict";var fn=c6.exports;c6.exports.default=fn;var Nn="\x1B[",rB="\x1B]",RC="\x07",kk=";",zye=process.env.TERM_PROGRAM==="Apple_Terminal";fn.cursorTo=(t,e)=>{if(typeof t!="number")throw new TypeError("The `x` argument is required");return typeof e!="number"?Nn+(t+1)+"G":Nn+(e+1)+";"+(t+1)+"H"};fn.cursorMove=(t,e)=>{if(typeof t!="number")throw new TypeError("The `x` argument is required");let r="";return t<0?r+=Nn+-t+"D":t>0&&(r+=Nn+t+"C"),e<0?r+=Nn+-e+"A":e>0&&(r+=Nn+e+"B"),r};fn.cursorUp=(t=1)=>Nn+t+"A";fn.cursorDown=(t=1)=>Nn+t+"B";fn.cursorForward=(t=1)=>Nn+t+"C";fn.cursorBackward=(t=1)=>Nn+t+"D";fn.cursorLeft=Nn+"G";fn.cursorSavePosition=zye?"\x1B7":Nn+"s";fn.cursorRestorePosition=zye?"\x1B8":Nn+"u";fn.cursorGetPosition=Nn+"6n";fn.cursorNextLine=Nn+"E";fn.cursorPrevLine=Nn+"F";fn.cursorHide=Nn+"?25l";fn.cursorShow=Nn+"?25h";fn.eraseLines=t=>{let e="";for(let r=0;r[rB,"8",kk,kk,e,RC,t,rB,"8",kk,kk,RC].join("");fn.image=(t,e={})=>{let r=`${rB}1337;File=inline=1`;return e.width&&(r+=`;width=${e.width}`),e.height&&(r+=`;height=${e.height}`),e.preserveAspectRatio===!1&&(r+=";preserveAspectRatio=0"),r+":"+t.toString("base64")+RC};fn.iTerm={setCwd:(t=process.cwd())=>`${rB}50;CurrentDir=${t}${RC}`,annotation:(t,e={})=>{let r=`${rB}1337;`,o=typeof e.x<"u",a=typeof e.y<"u";if((o||a)&&!(o&&a&&typeof e.length<"u"))throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");return t=t.replace(/\|/g,""),r+=e.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",e.length>0?r+=(o?[t,e.length,e.x,e.y]:[e.length,t]).join("|"):r+=t,r+RC}}});var Vye=_((oKt,A6)=>{"use strict";var Jye=(t,e)=>{for(let r of Reflect.ownKeys(e))Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r));return t};A6.exports=Jye;A6.exports.default=Jye});var Zye=_((aKt,Rk)=>{"use strict";var Lyt=Vye(),Qk=new WeakMap,Xye=(t,e={})=>{if(typeof t!="function")throw new TypeError("Expected a function");let r,o=0,a=t.displayName||t.name||"",n=function(...u){if(Qk.set(n,++o),o===1)r=t.apply(this,u),t=null;else if(e.throw===!0)throw new Error(`Function \`${a}\` can only be called once`);return r};return Lyt(n,t),Qk.set(n,o),n};Rk.exports=Xye;Rk.exports.default=Xye;Rk.exports.callCount=t=>{if(!Qk.has(t))throw new Error(`The given function \`${t.name}\` is not wrapped by the \`onetime\` package`);return Qk.get(t)}});var $ye=_((lKt,Fk)=>{Fk.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];process.platform!=="win32"&&Fk.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&Fk.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var h6=_((cKt,LC)=>{var Ei=global.process,im=function(t){return t&&typeof t=="object"&&typeof t.removeListener=="function"&&typeof t.emit=="function"&&typeof t.reallyExit=="function"&&typeof t.listeners=="function"&&typeof t.kill=="function"&&typeof t.pid=="number"&&typeof t.on=="function"};im(Ei)?(eEe=ve("assert"),FC=$ye(),tEe=/^win/i.test(Ei.platform),nB=ve("events"),typeof nB!="function"&&(nB=nB.EventEmitter),Ei.__signal_exit_emitter__?Ns=Ei.__signal_exit_emitter__:(Ns=Ei.__signal_exit_emitter__=new nB,Ns.count=0,Ns.emitted={}),Ns.infinite||(Ns.setMaxListeners(1/0),Ns.infinite=!0),LC.exports=function(t,e){if(!im(global.process))return function(){};eEe.equal(typeof t,"function","a callback must be provided for exit handler"),TC===!1&&f6();var r="exit";e&&e.alwaysLast&&(r="afterexit");var o=function(){Ns.removeListener(r,t),Ns.listeners("exit").length===0&&Ns.listeners("afterexit").length===0&&Tk()};return Ns.on(r,t),o},Tk=function(){!TC||!im(global.process)||(TC=!1,FC.forEach(function(e){try{Ei.removeListener(e,Lk[e])}catch{}}),Ei.emit=Nk,Ei.reallyExit=p6,Ns.count-=1)},LC.exports.unload=Tk,sm=function(e,r,o){Ns.emitted[e]||(Ns.emitted[e]=!0,Ns.emit(e,r,o))},Lk={},FC.forEach(function(t){Lk[t]=function(){if(!!im(global.process)){var r=Ei.listeners(t);r.length===Ns.count&&(Tk(),sm("exit",null,t),sm("afterexit",null,t),tEe&&t==="SIGHUP"&&(t="SIGINT"),Ei.kill(Ei.pid,t))}}}),LC.exports.signals=function(){return FC},TC=!1,f6=function(){TC||!im(global.process)||(TC=!0,Ns.count+=1,FC=FC.filter(function(e){try{return Ei.on(e,Lk[e]),!0}catch{return!1}}),Ei.emit=nEe,Ei.reallyExit=rEe)},LC.exports.load=f6,p6=Ei.reallyExit,rEe=function(e){!im(global.process)||(Ei.exitCode=e||0,sm("exit",Ei.exitCode,null),sm("afterexit",Ei.exitCode,null),p6.call(Ei,Ei.exitCode))},Nk=Ei.emit,nEe=function(e,r){if(e==="exit"&&im(global.process)){r!==void 0&&(Ei.exitCode=r);var o=Nk.apply(this,arguments);return sm("exit",Ei.exitCode,null),sm("afterexit",Ei.exitCode,null),o}else return Nk.apply(this,arguments)}):LC.exports=function(){return function(){}};var eEe,FC,tEe,nB,Ns,Tk,sm,Lk,TC,f6,p6,rEe,Nk,nEe});var sEe=_((uKt,iEe)=>{"use strict";var Nyt=Zye(),Oyt=h6();iEe.exports=Nyt(()=>{Oyt(()=>{process.stderr.write("\x1B[?25h")},{alwaysLast:!0})})});var g6=_(NC=>{"use strict";var Myt=sEe(),Ok=!1;NC.show=(t=process.stderr)=>{!t.isTTY||(Ok=!1,t.write("\x1B[?25h"))};NC.hide=(t=process.stderr)=>{!t.isTTY||(Myt(),Ok=!0,t.write("\x1B[?25l"))};NC.toggle=(t,e)=>{t!==void 0&&(Ok=t),Ok?NC.show(e):NC.hide(e)}});var cEe=_(iB=>{"use strict";var lEe=iB&&iB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(iB,"__esModule",{value:!0});var oEe=lEe(u6()),aEe=lEe(g6()),Uyt=(t,{showCursor:e=!1}={})=>{let r=0,o="",a=!1,n=u=>{!e&&!a&&(aEe.default.hide(),a=!0);let A=u+` +`;A!==o&&(o=A,t.write(oEe.default.eraseLines(r)+A),r=A.split(` +`).length)};return n.clear=()=>{t.write(oEe.default.eraseLines(r)),o="",r=0},n.done=()=>{o="",r=0,e||(aEe.default.show(),a=!1)},n};iB.default={create:Uyt}});var uEe=_((pKt,_yt)=>{_yt.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY_BUILD_BASE",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}}]});var pEe=_(dl=>{"use strict";var fEe=uEe(),hA=process.env;Object.defineProperty(dl,"_vendors",{value:fEe.map(function(t){return t.constant})});dl.name=null;dl.isPR=null;fEe.forEach(function(t){var e=Array.isArray(t.env)?t.env:[t.env],r=e.every(function(o){return AEe(o)});if(dl[t.constant]=r,r)switch(dl.name=t.name,typeof t.pr){case"string":dl.isPR=!!hA[t.pr];break;case"object":"env"in t.pr?dl.isPR=t.pr.env in hA&&hA[t.pr.env]!==t.pr.ne:"any"in t.pr?dl.isPR=t.pr.any.some(function(o){return!!hA[o]}):dl.isPR=AEe(t.pr);break;default:dl.isPR=null}});dl.isCI=!!(hA.CI||hA.CONTINUOUS_INTEGRATION||hA.BUILD_NUMBER||hA.RUN_ID||dl.name);function AEe(t){return typeof t=="string"?!!hA[t]:Object.keys(t).every(function(e){return hA[e]===t[e]})}});var gEe=_((gKt,hEe)=>{"use strict";hEe.exports=pEe().isCI});var mEe=_((dKt,dEe)=>{"use strict";var Hyt=t=>{let e=new Set;do for(let r of Reflect.ownKeys(t))e.add([t,r]);while((t=Reflect.getPrototypeOf(t))&&t!==Object.prototype);return e};dEe.exports=(t,{include:e,exclude:r}={})=>{let o=a=>{let n=u=>typeof u=="string"?a===u:u.test(a);return e?e.some(n):r?!r.some(n):!0};for(let[a,n]of Hyt(t.constructor.prototype)){if(n==="constructor"||!o(n))continue;let u=Reflect.getOwnPropertyDescriptor(a,n);u&&typeof u.value=="function"&&(t[n]=t[n].bind(t))}return t}});var vEe=_(kn=>{"use strict";Object.defineProperty(kn,"__esModule",{value:!0});var MC,aB,qk,Gk,I6;typeof window>"u"||typeof MessageChannel!="function"?(OC=null,d6=null,m6=function(){if(OC!==null)try{var t=kn.unstable_now();OC(!0,t),OC=null}catch(e){throw setTimeout(m6,0),e}},yEe=Date.now(),kn.unstable_now=function(){return Date.now()-yEe},MC=function(t){OC!==null?setTimeout(MC,0,t):(OC=t,setTimeout(m6,0))},aB=function(t,e){d6=setTimeout(t,e)},qk=function(){clearTimeout(d6)},Gk=function(){return!1},I6=kn.unstable_forceFrameRate=function(){}):(Mk=window.performance,y6=window.Date,EEe=window.setTimeout,CEe=window.clearTimeout,typeof console<"u"&&(wEe=window.cancelAnimationFrame,typeof window.requestAnimationFrame!="function"&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),typeof wEe!="function"&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")),typeof Mk=="object"&&typeof Mk.now=="function"?kn.unstable_now=function(){return Mk.now()}:(IEe=y6.now(),kn.unstable_now=function(){return y6.now()-IEe}),sB=!1,oB=null,Uk=-1,E6=5,C6=0,Gk=function(){return kn.unstable_now()>=C6},I6=function(){},kn.unstable_forceFrameRate=function(t){0>t||125Hk(u,r))p!==void 0&&0>Hk(p,u)?(t[o]=p,t[A]=r,o=A):(t[o]=u,t[n]=r,o=n);else if(p!==void 0&&0>Hk(p,r))t[o]=p,t[A]=r,o=A;else break e}}return e}return null}function Hk(t,e){var r=t.sortIndex-e.sortIndex;return r!==0?r:t.id-e.id}var tu=[],E0=[],qyt=1,na=null,Lo=3,Yk=!1,om=!1,lB=!1;function Wk(t){for(var e=ic(E0);e!==null;){if(e.callback===null)jk(E0);else if(e.startTime<=t)jk(E0),e.sortIndex=e.expirationTime,B6(tu,e);else break;e=ic(E0)}}function v6(t){if(lB=!1,Wk(t),!om)if(ic(tu)!==null)om=!0,MC(P6);else{var e=ic(E0);e!==null&&aB(v6,e.startTime-t)}}function P6(t,e){om=!1,lB&&(lB=!1,qk()),Yk=!0;var r=Lo;try{for(Wk(e),na=ic(tu);na!==null&&(!(na.expirationTime>e)||t&&!Gk());){var o=na.callback;if(o!==null){na.callback=null,Lo=na.priorityLevel;var a=o(na.expirationTime<=e);e=kn.unstable_now(),typeof a=="function"?na.callback=a:na===ic(tu)&&jk(tu),Wk(e)}else jk(tu);na=ic(tu)}if(na!==null)var n=!0;else{var u=ic(E0);u!==null&&aB(v6,u.startTime-e),n=!1}return n}finally{na=null,Lo=r,Yk=!1}}function BEe(t){switch(t){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var Gyt=I6;kn.unstable_ImmediatePriority=1;kn.unstable_UserBlockingPriority=2;kn.unstable_NormalPriority=3;kn.unstable_IdlePriority=5;kn.unstable_LowPriority=4;kn.unstable_runWithPriority=function(t,e){switch(t){case 1:case 2:case 3:case 4:case 5:break;default:t=3}var r=Lo;Lo=t;try{return e()}finally{Lo=r}};kn.unstable_next=function(t){switch(Lo){case 1:case 2:case 3:var e=3;break;default:e=Lo}var r=Lo;Lo=e;try{return t()}finally{Lo=r}};kn.unstable_scheduleCallback=function(t,e,r){var o=kn.unstable_now();if(typeof r=="object"&&r!==null){var a=r.delay;a=typeof a=="number"&&0o?(t.sortIndex=a,B6(E0,t),ic(tu)===null&&t===ic(E0)&&(lB?qk():lB=!0,aB(v6,a-o))):(t.sortIndex=r,B6(tu,t),om||Yk||(om=!0,MC(P6))),t};kn.unstable_cancelCallback=function(t){t.callback=null};kn.unstable_wrapCallback=function(t){var e=Lo;return function(){var r=Lo;Lo=e;try{return t.apply(this,arguments)}finally{Lo=r}}};kn.unstable_getCurrentPriorityLevel=function(){return Lo};kn.unstable_shouldYield=function(){var t=kn.unstable_now();Wk(t);var e=ic(tu);return e!==na&&na!==null&&e!==null&&e.callback!==null&&e.startTime<=t&&e.expirationTime{"use strict";PEe.exports=vEe()});var DEe=_((EKt,cB)=>{cB.exports=function t(e){"use strict";var r=$H(),o=an(),a=D6();function n(D){for(var P="https://reactjs.org/docs/error-decoder.html?invariant="+D,T=1;Too||(D.current=El[oo],El[oo]=null,oo--)}function On(D,P){oo++,El[oo]=D.current,D.current=P}var Li={},Mn={current:Li},_i={current:!1},ir=Li;function Oe(D,P){var T=D.type.contextTypes;if(!T)return Li;var q=D.stateNode;if(q&&q.__reactInternalMemoizedUnmaskedChildContext===P)return q.__reactInternalMemoizedMaskedChildContext;var W={},fe;for(fe in T)W[fe]=P[fe];return q&&(D=D.stateNode,D.__reactInternalMemoizedUnmaskedChildContext=P,D.__reactInternalMemoizedMaskedChildContext=W),W}function ii(D){return D=D.childContextTypes,D!=null}function Ua(D){zn(_i,D),zn(Mn,D)}function hr(D){zn(_i,D),zn(Mn,D)}function Ac(D,P,T){if(Mn.current!==Li)throw Error(n(168));On(Mn,P,D),On(_i,T,D)}function Au(D,P,T){var q=D.stateNode;if(D=P.childContextTypes,typeof q.getChildContext!="function")return T;q=q.getChildContext();for(var W in q)if(!(W in D))throw Error(n(108,de(P)||"Unknown",W));return r({},T,{},q)}function fc(D){var P=D.stateNode;return P=P&&P.__reactInternalMemoizedMergedChildContext||Li,ir=Mn.current,On(Mn,P,D),On(_i,_i.current,D),!0}function Cl(D,P,T){var q=D.stateNode;if(!q)throw Error(n(169));T?(P=Au(D,P,ir),q.__reactInternalMemoizedMergedChildContext=P,zn(_i,D),zn(Mn,D),On(Mn,P,D)):zn(_i,D),On(_i,T,D)}var PA=a.unstable_runWithPriority,fu=a.unstable_scheduleCallback,Ie=a.unstable_cancelCallback,Tt=a.unstable_shouldYield,pc=a.unstable_requestPaint,Hi=a.unstable_now,pu=a.unstable_getCurrentPriorityLevel,Yt=a.unstable_ImmediatePriority,wl=a.unstable_UserBlockingPriority,DA=a.unstable_NormalPriority,Ap=a.unstable_LowPriority,hc=a.unstable_IdlePriority,SA={},Qn=pc!==void 0?pc:function(){},hi=null,gc=null,bA=!1,sa=Hi(),Ni=1e4>sa?Hi:function(){return Hi()-sa};function Uo(){switch(pu()){case Yt:return 99;case wl:return 98;case DA:return 97;case Ap:return 96;case hc:return 95;default:throw Error(n(332))}}function Xe(D){switch(D){case 99:return Yt;case 98:return wl;case 97:return DA;case 96:return Ap;case 95:return hc;default:throw Error(n(332))}}function ao(D,P){return D=Xe(D),PA(D,P)}function dc(D,P,T){return D=Xe(D),fu(D,P,T)}function hu(D){return hi===null?(hi=[D],gc=fu(Yt,gu)):hi.push(D),SA}function qi(){if(gc!==null){var D=gc;gc=null,Ie(D)}gu()}function gu(){if(!bA&&hi!==null){bA=!0;var D=0;try{var P=hi;ao(99,function(){for(;D=P&&(qo=!0),D.firstContext=null)}function Es(D,P){if(aa!==D&&P!==!1&&P!==0)if((typeof P!="number"||P===1073741823)&&(aa=D,P=1073741823),P={context:D,observedBits:P,next:null},Hs===null){if(lo===null)throw Error(n(308));Hs=P,lo.dependencies={expirationTime:0,firstContext:P,responders:null}}else Hs=Hs.next=P;return b?D._currentValue:D._currentValue2}var qs=!1;function Un(D){return{baseState:D,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Dn(D){return{baseState:D.baseState,firstUpdate:D.firstUpdate,lastUpdate:D.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Cs(D,P){return{expirationTime:D,suspenseConfig:P,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function We(D,P){D.lastUpdate===null?D.firstUpdate=D.lastUpdate=P:(D.lastUpdate.next=P,D.lastUpdate=P)}function tt(D,P){var T=D.alternate;if(T===null){var q=D.updateQueue,W=null;q===null&&(q=D.updateQueue=Un(D.memoizedState))}else q=D.updateQueue,W=T.updateQueue,q===null?W===null?(q=D.updateQueue=Un(D.memoizedState),W=T.updateQueue=Un(T.memoizedState)):q=D.updateQueue=Dn(W):W===null&&(W=T.updateQueue=Dn(q));W===null||q===W?We(q,P):q.lastUpdate===null||W.lastUpdate===null?(We(q,P),We(W,P)):(We(q,P),W.lastUpdate=P)}function It(D,P){var T=D.updateQueue;T=T===null?D.updateQueue=Un(D.memoizedState):or(D,T),T.lastCapturedUpdate===null?T.firstCapturedUpdate=T.lastCapturedUpdate=P:(T.lastCapturedUpdate.next=P,T.lastCapturedUpdate=P)}function or(D,P){var T=D.alternate;return T!==null&&P===T.updateQueue&&(P=D.updateQueue=Dn(P)),P}function ee(D,P,T,q,W,fe){switch(T.tag){case 1:return D=T.payload,typeof D=="function"?D.call(fe,q,W):D;case 3:D.effectTag=D.effectTag&-4097|64;case 0:if(D=T.payload,W=typeof D=="function"?D.call(fe,q,W):D,W==null)break;return r({},q,W);case 2:qs=!0}return q}function ye(D,P,T,q,W){qs=!1,P=or(D,P);for(var fe=P.baseState,Pe=null,vt=0,wt=P.firstUpdate,xt=fe;wt!==null;){var _r=wt.expirationTime;_rbn?(ai=Qr,Qr=null):ai=Qr.sibling;var tn=di(nt,Qr,At[bn],Wt);if(tn===null){Qr===null&&(Qr=ai);break}D&&Qr&&tn.alternate===null&&P(nt,Qr),ze=fe(tn,ze,bn),Sn===null?vr=tn:Sn.sibling=tn,Sn=tn,Qr=ai}if(bn===At.length)return T(nt,Qr),vr;if(Qr===null){for(;bnbn?(ai=Qr,Qr=null):ai=Qr.sibling;var po=di(nt,Qr,tn.value,Wt);if(po===null){Qr===null&&(Qr=ai);break}D&&Qr&&po.alternate===null&&P(nt,Qr),ze=fe(po,ze,bn),Sn===null?vr=po:Sn.sibling=po,Sn=po,Qr=ai}if(tn.done)return T(nt,Qr),vr;if(Qr===null){for(;!tn.done;bn++,tn=At.next())tn=ss(nt,tn.value,Wt),tn!==null&&(ze=fe(tn,ze,bn),Sn===null?vr=tn:Sn.sibling=tn,Sn=tn);return vr}for(Qr=q(nt,Qr);!tn.done;bn++,tn=At.next())tn=fo(Qr,nt,bn,tn.value,Wt),tn!==null&&(D&&tn.alternate!==null&&Qr.delete(tn.key===null?bn:tn.key),ze=fe(tn,ze,bn),Sn===null?vr=tn:Sn.sibling=tn,Sn=tn);return D&&Qr.forEach(function(PR){return P(nt,PR)}),vr}return function(nt,ze,At,Wt){var vr=typeof At=="object"&&At!==null&&At.type===E&&At.key===null;vr&&(At=At.props.children);var Sn=typeof At=="object"&&At!==null;if(Sn)switch(At.$$typeof){case p:e:{for(Sn=At.key,vr=ze;vr!==null;){if(vr.key===Sn)if(vr.tag===7?At.type===E:vr.elementType===At.type){T(nt,vr.sibling),ze=W(vr,At.type===E?At.props.children:At.props,Wt),ze.ref=QA(nt,vr,At),ze.return=nt,nt=ze;break e}else{T(nt,vr);break}else P(nt,vr);vr=vr.sibling}At.type===E?(ze=xu(At.props.children,nt.mode,Wt,At.key),ze.return=nt,nt=ze):(Wt=Hm(At.type,At.key,At.props,null,nt.mode,Wt),Wt.ref=QA(nt,ze,At),Wt.return=nt,nt=Wt)}return Pe(nt);case h:e:{for(vr=At.key;ze!==null;){if(ze.key===vr)if(ze.tag===4&&ze.stateNode.containerInfo===At.containerInfo&&ze.stateNode.implementation===At.implementation){T(nt,ze.sibling),ze=W(ze,At.children||[],Wt),ze.return=nt,nt=ze;break e}else{T(nt,ze);break}else P(nt,ze);ze=ze.sibling}ze=Qw(At,nt.mode,Wt),ze.return=nt,nt=ze}return Pe(nt)}if(typeof At=="string"||typeof At=="number")return At=""+At,ze!==null&&ze.tag===6?(T(nt,ze.sibling),ze=W(ze,At,Wt),ze.return=nt,nt=ze):(T(nt,ze),ze=kw(At,nt.mode,Wt),ze.return=nt,nt=ze),Pe(nt);if(kA(At))return zA(nt,ze,At,Wt);if(ce(At))return jo(nt,ze,At,Wt);if(Sn&&fp(nt,At),typeof At>"u"&&!vr)switch(nt.tag){case 1:case 0:throw nt=nt.type,Error(n(152,nt.displayName||nt.name||"Component"))}return T(nt,ze)}}var du=sg(!0),og=sg(!1),mu={},co={current:mu},RA={current:mu},yc={current:mu};function ca(D){if(D===mu)throw Error(n(174));return D}function ag(D,P){On(yc,P,D),On(RA,D,D),On(co,mu,D),P=ne(P),zn(co,D),On(co,P,D)}function Ec(D){zn(co,D),zn(RA,D),zn(yc,D)}function Dm(D){var P=ca(yc.current),T=ca(co.current);P=Z(T,D.type,P),T!==P&&(On(RA,D,D),On(co,P,D))}function lg(D){RA.current===D&&(zn(co,D),zn(RA,D))}var ei={current:0};function pp(D){for(var P=D;P!==null;){if(P.tag===13){var T=P.memoizedState;if(T!==null&&(T=T.dehydrated,T===null||Ms(T)||io(T)))return P}else if(P.tag===19&&P.memoizedProps.revealOrder!==void 0){if((P.effectTag&64)!==0)return P}else if(P.child!==null){P.child.return=P,P=P.child;continue}if(P===D)break;for(;P.sibling===null;){if(P.return===null||P.return===D)return null;P=P.return}P.sibling.return=P.return,P=P.sibling}return null}function cg(D,P){return{responder:D,props:P}}var FA=u.ReactCurrentDispatcher,Gs=u.ReactCurrentBatchConfig,yu=0,qa=null,ji=null,ua=null,Eu=null,ws=null,Cc=null,wc=0,Y=null,Pt=0,Il=!1,xi=null,Ic=0;function ct(){throw Error(n(321))}function Cu(D,P){if(P===null)return!1;for(var T=0;Twc&&(wc=_r,_m(wc))):(Pw(_r,wt.suspenseConfig),fe=wt.eagerReducer===D?wt.eagerState:D(fe,wt.action)),Pe=wt,wt=wt.next}while(wt!==null&&wt!==q);xt||(vt=Pe,W=fe),ds(fe,P.memoizedState)||(qo=!0),P.memoizedState=fe,P.baseUpdate=vt,P.baseState=W,T.lastRenderedState=fe}return[P.memoizedState,T.dispatch]}function Ag(D){var P=TA();return typeof D=="function"&&(D=D()),P.memoizedState=P.baseState=D,D=P.queue={last:null,dispatch:null,lastRenderedReducer:Br,lastRenderedState:D},D=D.dispatch=dg.bind(null,qa,D),[P.memoizedState,D]}function fg(D){return Is(Br,D)}function pg(D,P,T,q){return D={tag:D,create:P,destroy:T,deps:q,next:null},Y===null?(Y={lastEffect:null},Y.lastEffect=D.next=D):(P=Y.lastEffect,P===null?Y.lastEffect=D.next=D:(T=P.next,P.next=D,D.next=T,Y.lastEffect=D)),D}function gp(D,P,T,q){var W=TA();Pt|=D,W.memoizedState=pg(P,T,void 0,q===void 0?null:q)}function Bc(D,P,T,q){var W=hp();q=q===void 0?null:q;var fe=void 0;if(ji!==null){var Pe=ji.memoizedState;if(fe=Pe.destroy,q!==null&&Cu(q,Pe.deps)){pg(0,T,fe,q);return}}Pt|=D,W.memoizedState=pg(P,T,fe,q)}function Ct(D,P){return gp(516,192,D,P)}function Sm(D,P){return Bc(516,192,D,P)}function hg(D,P){if(typeof P=="function")return D=D(),P(D),function(){P(null)};if(P!=null)return D=D(),P.current=D,function(){P.current=null}}function gg(){}function wu(D,P){return TA().memoizedState=[D,P===void 0?null:P],D}function bm(D,P){var T=hp();P=P===void 0?null:P;var q=T.memoizedState;return q!==null&&P!==null&&Cu(P,q[1])?q[0]:(T.memoizedState=[D,P],D)}function dg(D,P,T){if(!(25>Ic))throw Error(n(301));var q=D.alternate;if(D===qa||q!==null&&q===qa)if(Il=!0,D={expirationTime:yu,suspenseConfig:null,action:T,eagerReducer:null,eagerState:null,next:null},xi===null&&(xi=new Map),T=xi.get(P),T===void 0)xi.set(P,D);else{for(P=T;P.next!==null;)P=P.next;P.next=D}else{var W=ga(),fe=pt.suspense;W=qA(W,D,fe),fe={expirationTime:W,suspenseConfig:fe,action:T,eagerReducer:null,eagerState:null,next:null};var Pe=P.last;if(Pe===null)fe.next=fe;else{var vt=Pe.next;vt!==null&&(fe.next=vt),Pe.next=fe}if(P.last=fe,D.expirationTime===0&&(q===null||q.expirationTime===0)&&(q=P.lastRenderedReducer,q!==null))try{var wt=P.lastRenderedState,xt=q(wt,T);if(fe.eagerReducer=q,fe.eagerState=xt,ds(xt,wt))return}catch{}finally{}bc(D,W)}}var Iu={readContext:Es,useCallback:ct,useContext:ct,useEffect:ct,useImperativeHandle:ct,useLayoutEffect:ct,useMemo:ct,useReducer:ct,useRef:ct,useState:ct,useDebugValue:ct,useResponder:ct,useDeferredValue:ct,useTransition:ct},mw={readContext:Es,useCallback:wu,useContext:Es,useEffect:Ct,useImperativeHandle:function(D,P,T){return T=T!=null?T.concat([D]):null,gp(4,36,hg.bind(null,P,D),T)},useLayoutEffect:function(D,P){return gp(4,36,D,P)},useMemo:function(D,P){var T=TA();return P=P===void 0?null:P,D=D(),T.memoizedState=[D,P],D},useReducer:function(D,P,T){var q=TA();return P=T!==void 0?T(P):P,q.memoizedState=q.baseState=P,D=q.queue={last:null,dispatch:null,lastRenderedReducer:D,lastRenderedState:P},D=D.dispatch=dg.bind(null,qa,D),[q.memoizedState,D]},useRef:function(D){var P=TA();return D={current:D},P.memoizedState=D},useState:Ag,useDebugValue:gg,useResponder:cg,useDeferredValue:function(D,P){var T=Ag(D),q=T[0],W=T[1];return Ct(function(){a.unstable_next(function(){var fe=Gs.suspense;Gs.suspense=P===void 0?null:P;try{W(D)}finally{Gs.suspense=fe}})},[D,P]),q},useTransition:function(D){var P=Ag(!1),T=P[0],q=P[1];return[wu(function(W){q(!0),a.unstable_next(function(){var fe=Gs.suspense;Gs.suspense=D===void 0?null:D;try{q(!1),W()}finally{Gs.suspense=fe}})},[D,T]),T]}},xm={readContext:Es,useCallback:bm,useContext:Es,useEffect:Sm,useImperativeHandle:function(D,P,T){return T=T!=null?T.concat([D]):null,Bc(4,36,hg.bind(null,P,D),T)},useLayoutEffect:function(D,P){return Bc(4,36,D,P)},useMemo:function(D,P){var T=hp();P=P===void 0?null:P;var q=T.memoizedState;return q!==null&&P!==null&&Cu(P,q[1])?q[0]:(D=D(),T.memoizedState=[D,P],D)},useReducer:Is,useRef:function(){return hp().memoizedState},useState:fg,useDebugValue:gg,useResponder:cg,useDeferredValue:function(D,P){var T=fg(D),q=T[0],W=T[1];return Sm(function(){a.unstable_next(function(){var fe=Gs.suspense;Gs.suspense=P===void 0?null:P;try{W(D)}finally{Gs.suspense=fe}})},[D,P]),q},useTransition:function(D){var P=fg(!1),T=P[0],q=P[1];return[bm(function(W){q(!0),a.unstable_next(function(){var fe=Gs.suspense;Gs.suspense=D===void 0?null:D;try{q(!1),W()}finally{Gs.suspense=fe}})},[D,T]),T]}},Aa=null,vc=null,Bl=!1;function Bu(D,P){var T=Dl(5,null,null,0);T.elementType="DELETED",T.type="DELETED",T.stateNode=P,T.return=D,T.effectTag=8,D.lastEffect!==null?(D.lastEffect.nextEffect=T,D.lastEffect=T):D.firstEffect=D.lastEffect=T}function mg(D,P){switch(D.tag){case 5:return P=no(P,D.type,D.pendingProps),P!==null?(D.stateNode=P,!0):!1;case 6:return P=Si(P,D.pendingProps),P!==null?(D.stateNode=P,!0):!1;case 13:return!1;default:return!1}}function LA(D){if(Bl){var P=vc;if(P){var T=P;if(!mg(D,P)){if(P=uc(T),!P||!mg(D,P)){D.effectTag=D.effectTag&-1025|2,Bl=!1,Aa=D;return}Bu(Aa,T)}Aa=D,vc=uu(P)}else D.effectTag=D.effectTag&-1025|2,Bl=!1,Aa=D}}function dp(D){for(D=D.return;D!==null&&D.tag!==5&&D.tag!==3&&D.tag!==13;)D=D.return;Aa=D}function Ga(D){if(!y||D!==Aa)return!1;if(!Bl)return dp(D),Bl=!0,!1;var P=D.type;if(D.tag!==5||P!=="head"&&P!=="body"&&!Re(P,D.memoizedProps))for(P=vc;P;)Bu(D,P),P=uc(P);if(dp(D),D.tag===13){if(!y)throw Error(n(316));if(D=D.memoizedState,D=D!==null?D.dehydrated:null,!D)throw Error(n(317));vc=Us(D)}else vc=Aa?uc(D.stateNode):null;return!0}function yg(){y&&(vc=Aa=null,Bl=!1)}var mp=u.ReactCurrentOwner,qo=!1;function Bs(D,P,T,q){P.child=D===null?og(P,null,T,q):du(P,D.child,T,q)}function Ii(D,P,T,q,W){T=T.render;var fe=P.ref;return ys(P,W),q=ug(D,P,T,q,fe,W),D!==null&&!qo?(P.updateQueue=D.updateQueue,P.effectTag&=-517,D.expirationTime<=W&&(D.expirationTime=0),si(D,P,W)):(P.effectTag|=1,Bs(D,P,q,W),P.child)}function km(D,P,T,q,W,fe){if(D===null){var Pe=T.type;return typeof Pe=="function"&&!xw(Pe)&&Pe.defaultProps===void 0&&T.compare===null&&T.defaultProps===void 0?(P.tag=15,P.type=Pe,Qm(D,P,Pe,q,W,fe)):(D=Hm(T.type,null,q,null,P.mode,fe),D.ref=P.ref,D.return=P,P.child=D)}return Pe=D.child,WP)&&HA.set(D,P)))}}function Dg(D,P){D.expirationTimeD?P:D)}function Ao(D){if(D.lastExpiredTime!==0)D.callbackExpirationTime=1073741823,D.callbackPriority=99,D.callbackNode=hu(vw.bind(null,D));else{var P=Um(D),T=D.callbackNode;if(P===0)T!==null&&(D.callbackNode=null,D.callbackExpirationTime=0,D.callbackPriority=90);else{var q=ga();if(P===1073741823?q=99:P===1||P===2?q=95:(q=10*(1073741821-P)-10*(1073741821-q),q=0>=q?99:250>=q?98:5250>=q?97:95),T!==null){var W=D.callbackPriority;if(D.callbackExpirationTime===P&&W>=q)return;T!==SA&&Ie(T)}D.callbackExpirationTime=P,D.callbackPriority=q,P=P===1073741823?hu(vw.bind(null,D)):dc(q,Kv.bind(null,D),{timeout:10*(1073741821-P)-Ni()}),D.callbackNode=P}}}function Kv(D,P){if(Mm=0,P)return P=ga(),qm(D,P),Ao(D),null;var T=Um(D);if(T!==0){if(P=D.callbackNode,(yr&(ns|js))!==En)throw Error(n(327));if(vp(),D===gi&&T===is||Su(D,T),Or!==null){var q=yr;yr|=ns;var W=jA(D);do try{hR();break}catch(vt){GA(D,vt)}while(1);if(la(),yr=q,wp.current=W,Yi===Tm)throw P=Lm,Su(D,T),KA(D,T),Ao(D),P;if(Or===null)switch(W=D.finishedWork=D.current.alternate,D.finishedExpirationTime=T,q=Yi,gi=null,q){case vu:case Tm:throw Error(n(345));case Bi:qm(D,2=T){D.lastPingedTime=T,Su(D,T);break}}if(fe=Um(D),fe!==0&&fe!==T)break;if(q!==0&&q!==T){D.lastPingedTime=q;break}D.timeoutHandle=Se(bu.bind(null,D),W);break}bu(D);break;case Pl:if(KA(D,T),q=D.lastSuspendedTime,T===q&&(D.nextKnownPendingLevel=Dw(W)),UA&&(W=D.lastPingedTime,W===0||W>=T)){D.lastPingedTime=T,Su(D,T);break}if(W=Um(D),W!==0&&W!==T)break;if(q!==0&&q!==T){D.lastPingedTime=q;break}if(MA!==1073741823?q=10*(1073741821-MA)-Ni():Wa===1073741823?q=0:(q=10*(1073741821-Wa)-5e3,W=Ni(),T=10*(1073741821-T)-W,q=W-q,0>q&&(q=0),q=(120>q?120:480>q?480:1080>q?1080:1920>q?1920:3e3>q?3e3:4320>q?4320:1960*Ew(q/1960))-q,T=q?q=0:(W=Pe.busyDelayMs|0,fe=Ni()-(10*(1073741821-fe)-(Pe.timeoutMs|0||5e3)),q=fe<=W?0:W+q-fe),10 component higher in the tree to provide a loading indicator or placeholder to display.`+yl(W))}Yi!==Sc&&(Yi=Bi),fe=Cg(fe,W),wt=q;do{switch(wt.tag){case 3:Pe=fe,wt.effectTag|=4096,wt.expirationTime=P;var ze=Yv(wt,Pe,P);It(wt,ze);break e;case 1:Pe=fe;var At=wt.type,Wt=wt.stateNode;if((wt.effectTag&64)===0&&(typeof At.getDerivedStateFromError=="function"||Wt!==null&&typeof Wt.componentDidCatch=="function"&&(Du===null||!Du.has(Wt)))){wt.effectTag|=4096,wt.expirationTime=P;var vr=Wv(wt,Pe,P);It(wt,vr);break e}}wt=wt.return}while(wt!==null)}Or=Xv(Or)}catch(Sn){P=Sn;continue}break}while(1)}function jA(){var D=wp.current;return wp.current=Iu,D===null?Iu:D}function Pw(D,P){DIp&&(Ip=D)}function pR(){for(;Or!==null;)Or=Vv(Or)}function hR(){for(;Or!==null&&!Tt();)Or=Vv(Or)}function Vv(D){var P=$v(D.alternate,D,is);return D.memoizedProps=D.pendingProps,P===null&&(P=Xv(D)),Cw.current=null,P}function Xv(D){Or=D;do{var P=Or.alternate;if(D=Or.return,(Or.effectTag&2048)===0){e:{var T=P;P=Or;var q=is,W=P.pendingProps;switch(P.tag){case 2:break;case 16:break;case 15:case 0:break;case 1:ii(P.type)&&Ua(P);break;case 3:Ec(P),hr(P),W=P.stateNode,W.pendingContext&&(W.context=W.pendingContext,W.pendingContext=null),(T===null||T.child===null)&&Ga(P)&&pa(P),vl(P);break;case 5:lg(P);var fe=ca(yc.current);if(q=P.type,T!==null&&P.stateNode!=null)rs(T,P,q,W,fe),T.ref!==P.ref&&(P.effectTag|=128);else if(W){if(T=ca(co.current),Ga(P)){if(W=P,!y)throw Error(n(175));T=cp(W.stateNode,W.type,W.memoizedProps,fe,T,W),W.updateQueue=T,T=T!==null,T&&pa(P)}else{var Pe=ht(q,W,fe,T,P);Pc(Pe,P,!1,!1),P.stateNode=Pe,rt(Pe,q,W,fe,T)&&pa(P)}P.ref!==null&&(P.effectTag|=128)}else if(P.stateNode===null)throw Error(n(166));break;case 6:if(T&&P.stateNode!=null)Yr(T,P,T.memoizedProps,W);else{if(typeof W!="string"&&P.stateNode===null)throw Error(n(166));if(T=ca(yc.current),fe=ca(co.current),Ga(P)){if(T=P,!y)throw Error(n(176));(T=up(T.stateNode,T.memoizedProps,T))&&pa(P)}else P.stateNode=Ye(W,T,fe,P)}break;case 11:break;case 13:if(zn(ei,P),W=P.memoizedState,(P.effectTag&64)!==0){P.expirationTime=q;break e}W=W!==null,fe=!1,T===null?P.memoizedProps.fallback!==void 0&&Ga(P):(q=T.memoizedState,fe=q!==null,W||q===null||(q=T.child.sibling,q!==null&&(Pe=P.firstEffect,Pe!==null?(P.firstEffect=q,q.nextEffect=Pe):(P.firstEffect=P.lastEffect=q,q.nextEffect=null),q.effectTag=8))),W&&!fe&&(P.mode&2)!==0&&(T===null&&P.memoizedProps.unstable_avoidThisFallback!==!0||(ei.current&1)!==0?Yi===vu&&(Yi=ha):((Yi===vu||Yi===ha)&&(Yi=Pl),Ip!==0&&gi!==null&&(KA(gi,is),tP(gi,Ip)))),S&&W&&(P.effectTag|=4),w&&(W||fe)&&(P.effectTag|=4);break;case 7:break;case 8:break;case 12:break;case 4:Ec(P),vl(P);break;case 10:wi(P);break;case 9:break;case 14:break;case 17:ii(P.type)&&Ua(P);break;case 19:if(zn(ei,P),W=P.memoizedState,W===null)break;if(fe=(P.effectTag&64)!==0,Pe=W.rendering,Pe===null){if(fe)Dc(W,!1);else if(Yi!==vu||T!==null&&(T.effectTag&64)!==0)for(T=P.child;T!==null;){if(Pe=pp(T),Pe!==null){for(P.effectTag|=64,Dc(W,!1),T=Pe.updateQueue,T!==null&&(P.updateQueue=T,P.effectTag|=4),W.lastEffect===null&&(P.firstEffect=null),P.lastEffect=W.lastEffect,T=q,W=P.child;W!==null;)fe=W,q=T,fe.effectTag&=2,fe.nextEffect=null,fe.firstEffect=null,fe.lastEffect=null,Pe=fe.alternate,Pe===null?(fe.childExpirationTime=0,fe.expirationTime=q,fe.child=null,fe.memoizedProps=null,fe.memoizedState=null,fe.updateQueue=null,fe.dependencies=null):(fe.childExpirationTime=Pe.childExpirationTime,fe.expirationTime=Pe.expirationTime,fe.child=Pe.child,fe.memoizedProps=Pe.memoizedProps,fe.memoizedState=Pe.memoizedState,fe.updateQueue=Pe.updateQueue,q=Pe.dependencies,fe.dependencies=q===null?null:{expirationTime:q.expirationTime,firstContext:q.firstContext,responders:q.responders}),W=W.sibling;On(ei,ei.current&1|2,P),P=P.child;break e}T=T.sibling}}else{if(!fe)if(T=pp(Pe),T!==null){if(P.effectTag|=64,fe=!0,T=T.updateQueue,T!==null&&(P.updateQueue=T,P.effectTag|=4),Dc(W,!0),W.tail===null&&W.tailMode==="hidden"&&!Pe.alternate){P=P.lastEffect=W.lastEffect,P!==null&&(P.nextEffect=null);break}}else Ni()>W.tailExpiration&&1W&&(W=q),Pe>W&&(W=Pe),fe=fe.sibling;T.childExpirationTime=W}if(P!==null)return P;D!==null&&(D.effectTag&2048)===0&&(D.firstEffect===null&&(D.firstEffect=Or.firstEffect),Or.lastEffect!==null&&(D.lastEffect!==null&&(D.lastEffect.nextEffect=Or.firstEffect),D.lastEffect=Or.lastEffect),1D?P:D}function bu(D){var P=Uo();return ao(99,gR.bind(null,D,P)),null}function gR(D,P){do vp();while(vg!==null);if((yr&(ns|js))!==En)throw Error(n(327));var T=D.finishedWork,q=D.finishedExpirationTime;if(T===null)return null;if(D.finishedWork=null,D.finishedExpirationTime=0,T===D.current)throw Error(n(177));D.callbackNode=null,D.callbackExpirationTime=0,D.callbackPriority=90,D.nextKnownPendingLevel=0;var W=Dw(T);if(D.firstPendingTime=W,q<=D.lastSuspendedTime?D.firstSuspendedTime=D.lastSuspendedTime=D.nextKnownPendingLevel=0:q<=D.firstSuspendedTime&&(D.firstSuspendedTime=q-1),q<=D.lastPingedTime&&(D.lastPingedTime=0),q<=D.lastExpiredTime&&(D.lastExpiredTime=0),D===gi&&(Or=gi=null,is=0),1=T?cn(D,P,T):(On(ei,ei.current&1,P),P=si(D,P,T),P!==null?P.sibling:null);On(ei,ei.current&1,P);break;case 19:if(q=P.childExpirationTime>=T,(D.effectTag&64)!==0){if(q)return ja(D,P,T);P.effectTag|=64}if(W=P.memoizedState,W!==null&&(W.rendering=null,W.tail=null),On(ei,ei.current,P),!q)return null}return si(D,P,T)}qo=!1}}else qo=!1;switch(P.expirationTime=0,P.tag){case 2:if(q=P.type,D!==null&&(D.alternate=null,P.alternate=null,P.effectTag|=2),D=P.pendingProps,W=Oe(P,Mn.current),ys(P,T),W=ug(null,P,q,D,W,T),P.effectTag|=1,typeof W=="object"&&W!==null&&typeof W.render=="function"&&W.$$typeof===void 0){if(P.tag=1,dw(),ii(q)){var fe=!0;fc(P)}else fe=!1;P.memoizedState=W.state!==null&&W.state!==void 0?W.state:null;var Pe=q.getDerivedStateFromProps;typeof Pe=="function"&&rr(P,q,Pe,D),W.updater=$r,P.stateNode=W,W._reactInternalFiber=P,Ho(P,q,D,T),P=Ep(null,P,q,!0,fe,T)}else P.tag=0,Bs(null,P,W,T),P=P.child;return P;case 16:if(W=P.elementType,D!==null&&(D.alternate=null,P.alternate=null,P.effectTag|=2),D=P.pendingProps,we(W),W._status!==1)throw W._result;switch(W=W._result,P.type=W,fe=P.tag=IR(W),D=Ci(W,D),fe){case 0:P=NA(null,P,W,D,T);break;case 1:P=yp(null,P,W,D,T);break;case 11:P=Ii(null,P,W,D,T);break;case 14:P=km(null,P,W,Ci(W.type,D),q,T);break;default:throw Error(n(306,W,""))}return P;case 0:return q=P.type,W=P.pendingProps,W=P.elementType===q?W:Ci(q,W),NA(D,P,q,W,T);case 1:return q=P.type,W=P.pendingProps,W=P.elementType===q?W:Ci(q,W),yp(D,P,q,W,T);case 3:if(Eg(P),q=P.updateQueue,q===null)throw Error(n(282));if(W=P.memoizedState,W=W!==null?W.element:null,ye(P,q,P.pendingProps,null,T),q=P.memoizedState.element,q===W)yg(),P=si(D,P,T);else{if((W=P.stateNode.hydrate)&&(y?(vc=uu(P.stateNode.containerInfo),Aa=P,W=Bl=!0):W=!1),W)for(T=og(P,null,q,T),P.child=T;T;)T.effectTag=T.effectTag&-3|1024,T=T.sibling;else Bs(D,P,q,T),yg();P=P.child}return P;case 5:return Dm(P),D===null&&LA(P),q=P.type,W=P.pendingProps,fe=D!==null?D.memoizedProps:null,Pe=W.children,Re(q,W)?Pe=null:fe!==null&&Re(q,fe)&&(P.effectTag|=16),Go(D,P),P.mode&4&&T!==1&&ke(q,W)?(P.expirationTime=P.childExpirationTime=1,P=null):(Bs(D,P,Pe,T),P=P.child),P;case 6:return D===null&&LA(P),null;case 13:return cn(D,P,T);case 4:return ag(P,P.stateNode.containerInfo),q=P.pendingProps,D===null?P.child=du(P,null,q,T):Bs(D,P,q,T),P.child;case 11:return q=P.type,W=P.pendingProps,W=P.elementType===q?W:Ci(q,W),Ii(D,P,q,W,T);case 7:return Bs(D,P,P.pendingProps,T),P.child;case 8:return Bs(D,P,P.pendingProps.children,T),P.child;case 12:return Bs(D,P,P.pendingProps.children,T),P.child;case 10:e:{if(q=P.type._context,W=P.pendingProps,Pe=P.memoizedProps,fe=W.value,_o(P,fe),Pe!==null){var vt=Pe.value;if(fe=ds(vt,fe)?0:(typeof q._calculateChangedBits=="function"?q._calculateChangedBits(vt,fe):1073741823)|0,fe===0){if(Pe.children===W.children&&!_i.current){P=si(D,P,T);break e}}else for(vt=P.child,vt!==null&&(vt.return=P);vt!==null;){var wt=vt.dependencies;if(wt!==null){Pe=vt.child;for(var xt=wt.firstContext;xt!==null;){if(xt.context===q&&(xt.observedBits&fe)!==0){vt.tag===1&&(xt=Cs(T,null),xt.tag=2,tt(vt,xt)),vt.expirationTime"u")return!1;var P=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(P.isDisabled||!P.supportsFiber)return!0;try{var T=P.inject(D);Sw=function(q){try{P.onCommitFiberRoot(T,q,void 0,(q.current.effectTag&64)===64)}catch{}},bw=function(q){try{P.onCommitFiberUnmount(T,q)}catch{}}}catch{}return!0}function wR(D,P,T,q){this.tag=D,this.key=T,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=P,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=q,this.effectTag=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childExpirationTime=this.expirationTime=0,this.alternate=null}function Dl(D,P,T,q){return new wR(D,P,T,q)}function xw(D){return D=D.prototype,!(!D||!D.isReactComponent)}function IR(D){if(typeof D=="function")return xw(D)?1:0;if(D!=null){if(D=D.$$typeof,D===N)return 11;if(D===te)return 14}return 2}function WA(D,P){var T=D.alternate;return T===null?(T=Dl(D.tag,P,D.key,D.mode),T.elementType=D.elementType,T.type=D.type,T.stateNode=D.stateNode,T.alternate=D,D.alternate=T):(T.pendingProps=P,T.effectTag=0,T.nextEffect=null,T.firstEffect=null,T.lastEffect=null),T.childExpirationTime=D.childExpirationTime,T.expirationTime=D.expirationTime,T.child=D.child,T.memoizedProps=D.memoizedProps,T.memoizedState=D.memoizedState,T.updateQueue=D.updateQueue,P=D.dependencies,T.dependencies=P===null?null:{expirationTime:P.expirationTime,firstContext:P.firstContext,responders:P.responders},T.sibling=D.sibling,T.index=D.index,T.ref=D.ref,T}function Hm(D,P,T,q,W,fe){var Pe=2;if(q=D,typeof D=="function")xw(D)&&(Pe=1);else if(typeof D=="string")Pe=5;else e:switch(D){case E:return xu(T.children,W,fe,P);case F:Pe=8,W|=7;break;case I:Pe=8,W|=1;break;case v:return D=Dl(12,T,P,W|8),D.elementType=v,D.type=v,D.expirationTime=fe,D;case U:return D=Dl(13,T,P,W),D.type=U,D.elementType=U,D.expirationTime=fe,D;case J:return D=Dl(19,T,P,W),D.elementType=J,D.expirationTime=fe,D;default:if(typeof D=="object"&&D!==null)switch(D.$$typeof){case x:Pe=10;break e;case C:Pe=9;break e;case N:Pe=11;break e;case te:Pe=14;break e;case ae:Pe=16,q=null;break e}throw Error(n(130,D==null?D:typeof D,""))}return P=Dl(Pe,T,P,W),P.elementType=D,P.type=q,P.expirationTime=fe,P}function xu(D,P,T,q){return D=Dl(7,D,q,P),D.expirationTime=T,D}function kw(D,P,T){return D=Dl(6,D,null,P),D.expirationTime=T,D}function Qw(D,P,T){return P=Dl(4,D.children!==null?D.children:[],D.key,P),P.expirationTime=T,P.stateNode={containerInfo:D.containerInfo,pendingChildren:null,implementation:D.implementation},P}function BR(D,P,T){this.tag=P,this.current=null,this.containerInfo=D,this.pingCache=this.pendingChildren=null,this.finishedExpirationTime=0,this.finishedWork=null,this.timeoutHandle=Ue,this.pendingContext=this.context=null,this.hydrate=T,this.callbackNode=null,this.callbackPriority=90,this.lastExpiredTime=this.lastPingedTime=this.nextKnownPendingLevel=this.lastSuspendedTime=this.firstSuspendedTime=this.firstPendingTime=0}function eP(D,P){var T=D.firstSuspendedTime;return D=D.lastSuspendedTime,T!==0&&T>=P&&D<=P}function KA(D,P){var T=D.firstSuspendedTime,q=D.lastSuspendedTime;TP||T===0)&&(D.lastSuspendedTime=P),P<=D.lastPingedTime&&(D.lastPingedTime=0),P<=D.lastExpiredTime&&(D.lastExpiredTime=0)}function tP(D,P){P>D.firstPendingTime&&(D.firstPendingTime=P);var T=D.firstSuspendedTime;T!==0&&(P>=T?D.firstSuspendedTime=D.lastSuspendedTime=D.nextKnownPendingLevel=0:P>=D.lastSuspendedTime&&(D.lastSuspendedTime=P+1),P>D.nextKnownPendingLevel&&(D.nextKnownPendingLevel=P))}function qm(D,P){var T=D.lastExpiredTime;(T===0||T>P)&&(D.lastExpiredTime=P)}function rP(D){var P=D._reactInternalFiber;if(P===void 0)throw typeof D.render=="function"?Error(n(188)):Error(n(268,Object.keys(D)));return D=me(P),D===null?null:D.stateNode}function nP(D,P){D=D.memoizedState,D!==null&&D.dehydrated!==null&&D.retryTime{"use strict";SEe.exports=DEe()});var kEe=_((wKt,xEe)=>{"use strict";var jyt={ALIGN_COUNT:8,ALIGN_AUTO:0,ALIGN_FLEX_START:1,ALIGN_CENTER:2,ALIGN_FLEX_END:3,ALIGN_STRETCH:4,ALIGN_BASELINE:5,ALIGN_SPACE_BETWEEN:6,ALIGN_SPACE_AROUND:7,DIMENSION_COUNT:2,DIMENSION_WIDTH:0,DIMENSION_HEIGHT:1,DIRECTION_COUNT:3,DIRECTION_INHERIT:0,DIRECTION_LTR:1,DIRECTION_RTL:2,DISPLAY_COUNT:2,DISPLAY_FLEX:0,DISPLAY_NONE:1,EDGE_COUNT:9,EDGE_LEFT:0,EDGE_TOP:1,EDGE_RIGHT:2,EDGE_BOTTOM:3,EDGE_START:4,EDGE_END:5,EDGE_HORIZONTAL:6,EDGE_VERTICAL:7,EDGE_ALL:8,EXPERIMENTAL_FEATURE_COUNT:1,EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS:0,FLEX_DIRECTION_COUNT:4,FLEX_DIRECTION_COLUMN:0,FLEX_DIRECTION_COLUMN_REVERSE:1,FLEX_DIRECTION_ROW:2,FLEX_DIRECTION_ROW_REVERSE:3,JUSTIFY_COUNT:6,JUSTIFY_FLEX_START:0,JUSTIFY_CENTER:1,JUSTIFY_FLEX_END:2,JUSTIFY_SPACE_BETWEEN:3,JUSTIFY_SPACE_AROUND:4,JUSTIFY_SPACE_EVENLY:5,LOG_LEVEL_COUNT:6,LOG_LEVEL_ERROR:0,LOG_LEVEL_WARN:1,LOG_LEVEL_INFO:2,LOG_LEVEL_DEBUG:3,LOG_LEVEL_VERBOSE:4,LOG_LEVEL_FATAL:5,MEASURE_MODE_COUNT:3,MEASURE_MODE_UNDEFINED:0,MEASURE_MODE_EXACTLY:1,MEASURE_MODE_AT_MOST:2,NODE_TYPE_COUNT:2,NODE_TYPE_DEFAULT:0,NODE_TYPE_TEXT:1,OVERFLOW_COUNT:3,OVERFLOW_VISIBLE:0,OVERFLOW_HIDDEN:1,OVERFLOW_SCROLL:2,POSITION_TYPE_COUNT:2,POSITION_TYPE_RELATIVE:0,POSITION_TYPE_ABSOLUTE:1,PRINT_OPTIONS_COUNT:3,PRINT_OPTIONS_LAYOUT:1,PRINT_OPTIONS_STYLE:2,PRINT_OPTIONS_CHILDREN:4,UNIT_COUNT:4,UNIT_UNDEFINED:0,UNIT_POINT:1,UNIT_PERCENT:2,UNIT_AUTO:3,WRAP_COUNT:3,WRAP_NO_WRAP:0,WRAP_WRAP:1,WRAP_WRAP_REVERSE:2};xEe.exports=jyt});var TEe=_((IKt,FEe)=>{"use strict";var Yyt=Object.assign||function(t){for(var e=1;e"}}]),t}(),QEe=function(){Kk(t,null,[{key:"fromJS",value:function(r){var o=r.width,a=r.height;return new t(o,a)}}]);function t(e,r){b6(this,t),this.width=e,this.height=r}return Kk(t,[{key:"fromJS",value:function(r){r(this.width,this.height)}},{key:"toString",value:function(){return""}}]),t}(),REe=function(){function t(e,r){b6(this,t),this.unit=e,this.value=r}return Kk(t,[{key:"fromJS",value:function(r){r(this.unit,this.value)}},{key:"toString",value:function(){switch(this.unit){case ru.UNIT_POINT:return String(this.value);case ru.UNIT_PERCENT:return this.value+"%";case ru.UNIT_AUTO:return"auto";default:return this.value+"?"}}},{key:"valueOf",value:function(){return this.value}}]),t}();FEe.exports=function(t,e){function r(u,A,p){var h=u[A];u[A]=function(){for(var E=arguments.length,I=Array(E),v=0;v1?I-1:0),x=1;x1&&arguments[1]!==void 0?arguments[1]:NaN,p=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,h=arguments.length>3&&arguments[3]!==void 0?arguments[3]:ru.DIRECTION_LTR;return u.call(this,A,p,h)}),Yyt({Config:e.Config,Node:e.Node,Layout:t("Layout",Wyt),Size:t("Size",QEe),Value:t("Value",REe),getInstanceCount:function(){return e.getInstanceCount.apply(e,arguments)}},ru)}});var LEe=_((exports,module)=>{(function(t,e){typeof define=="function"&&define.amd?define([],function(){return e}):typeof module=="object"&&module.exports?module.exports=e:(t.nbind=t.nbind||{}).init=e})(exports,function(Module,cb){typeof Module=="function"&&(cb=Module,Module={}),Module.onRuntimeInitialized=function(t,e){return function(){t&&t.apply(this,arguments);try{Module.ccall("nbind_init")}catch(r){e(r);return}e(null,{bind:Module._nbind_value,reflect:Module.NBind.reflect,queryType:Module.NBind.queryType,toggleLightGC:Module.toggleLightGC,lib:Module})}}(Module.onRuntimeInitialized,cb);var Module;Module||(Module=(typeof Module<"u"?Module:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB=!1,ENVIRONMENT_IS_WORKER=!1,ENVIRONMENT_IS_NODE=!1,ENVIRONMENT_IS_SHELL=!1;if(Module.ENVIRONMENT)if(Module.ENVIRONMENT==="WEB")ENVIRONMENT_IS_WEB=!0;else if(Module.ENVIRONMENT==="WORKER")ENVIRONMENT_IS_WORKER=!0;else if(Module.ENVIRONMENT==="NODE")ENVIRONMENT_IS_NODE=!0;else if(Module.ENVIRONMENT==="SHELL")ENVIRONMENT_IS_SHELL=!0;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 ve=="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){Module.print||(Module.print=console.log),Module.printErr||(Module.printErr=console.warn);var nodeFS,nodePath;Module.read=function(e,r){nodeFS||(nodeFS={}("")),nodePath||(nodePath={}("")),e=nodePath.normalize(e);var o=nodeFS.readFileSync(e);return r?o:o.toString()},Module.readBinary=function(e){var r=Module.read(e,!0);return r.buffer||(r=new Uint8Array(r)),assert(r.buffer),r},Module.load=function(e){globalEval(read(e))},Module.thisProgram||(process.argv.length>1?Module.thisProgram=process.argv[1].replace(/\\/g,"/"):Module.thisProgram="unknown-program"),Module.arguments=process.argv.slice(2),typeof module<"u"&&(module.exports=Module),Module.inspect=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),typeof printErr<"u"&&(Module.printErr=printErr),typeof read<"u"?Module.read=read:Module.read=function(){throw"no read() available"},Module.readBinary=function(e){if(typeof readbuffer=="function")return new Uint8Array(readbuffer(e));var r=read(e,"binary");return assert(typeof r=="object"),r},typeof scriptArgs<"u"?Module.arguments=scriptArgs:typeof arguments<"u"&&(Module.arguments=arguments),typeof quit=="function"&&(Module.quit=function(t,e){quit(t)});else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(Module.read=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},ENVIRONMENT_IS_WORKER&&(Module.readBinary=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),Module.readAsync=function(e,r,o){var a=new XMLHttpRequest;a.open("GET",e,!0),a.responseType="arraybuffer",a.onload=function(){a.status==200||a.status==0&&a.response?r(a.response):o()},a.onerror=o,a.send(null)},typeof arguments<"u"&&(Module.arguments=arguments),typeof console<"u")Module.print||(Module.print=function(e){console.log(e)}),Module.printErr||(Module.printErr=function(e){console.warn(e)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=TRY_USE_DUMP&&typeof dump<"u"?function(t){dump(t)}:function(t){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),typeof Module.setWindowTitle>"u"&&(Module.setWindowTitle=function(t){document.title=t})}else throw"Unknown runtime environment. Where are we?";function globalEval(t){eval.call(null,t)}!Module.load&&Module.read&&(Module.load=function(e){globalEval(Module.read(e))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.quit||(Module.quit=function(t,e){throw e}),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[];for(var key in moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);moduleOverrides=void 0;var Runtime={setTempRet0:function(t){return tempRet0=t,t},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(t){STACKTOP=t},getNativeTypeSize:function(t){switch(t){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(t[t.length-1]==="*")return Runtime.QUANTUM_SIZE;if(t[0]==="i"){var e=parseInt(t.substr(1));return assert(e%8===0),e/8}else return 0}}},getNativeFieldSize:function(t){return Math.max(Runtime.getNativeTypeSize(t),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(t,e){return e==="double"||e==="i64"?t&7&&(assert((t&7)===4),t+=4):assert((t&3)===0),t},getAlignSize:function(t,e,r){return!r&&(t=="i64"||t=="double")?8:t?Math.min(e||(t?Runtime.getNativeFieldSize(t):0),Runtime.QUANTUM_SIZE):Math.min(e,8)},dynCall:function(t,e,r){return r&&r.length?Module["dynCall_"+t].apply(null,[e].concat(r)):Module["dynCall_"+t].call(null,e)},functionPointers:[],addFunction:function(t){for(var e=0;e>2],r=(e+t+15|0)&-16;if(HEAP32[DYNAMICTOP_PTR>>2]=r,r>=TOTAL_MEMORY){var o=enlargeMemory();if(!o)return HEAP32[DYNAMICTOP_PTR>>2]=e,0}return e},alignMemory:function(t,e){var r=t=Math.ceil(t/(e||16))*(e||16);return r},makeBigInt:function(t,e,r){var o=r?+(t>>>0)+ +(e>>>0)*4294967296:+(t>>>0)+ +(e|0)*4294967296;return o},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var ABORT=0,EXITSTATUS=0;function assert(t,e){t||abort("Assertion failed: "+e)}function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(t){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}var cwrap,ccall;(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(t){var e=Runtime.stackAlloc(t.length);return writeArrayToMemory(t,e),e},stringToC:function(t){var e=0;if(t!=null&&t!==0){var r=(t.length<<2)+1;e=Runtime.stackAlloc(r),stringToUTF8(t,e,r)}return e}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(e,r,o,a,n){var u=getCFunc(e),A=[],p=0;if(a)for(var h=0;h>0]=e;break;case"i8":HEAP8[t>>0]=e;break;case"i16":HEAP16[t>>1]=e;break;case"i32":HEAP32[t>>2]=e;break;case"i64":tempI64=[e>>>0,(tempDouble=e,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[t>>2]=tempI64[0],HEAP32[t+4>>2]=tempI64[1];break;case"float":HEAPF32[t>>2]=e;break;case"double":HEAPF64[t>>3]=e;break;default:abort("invalid type for setValue: "+r)}}Module.setValue=setValue;function getValue(t,e,r){switch(e=e||"i8",e.charAt(e.length-1)==="*"&&(e="i32"),e){case"i1":return HEAP8[t>>0];case"i8":return HEAP8[t>>0];case"i16":return HEAP16[t>>1];case"i32":return HEAP32[t>>2];case"i64":return HEAP32[t>>2];case"float":return HEAPF32[t>>2];case"double":return HEAPF64[t>>3];default:abort("invalid type for setValue: "+e)}return null}Module.getValue=getValue;var ALLOC_NORMAL=0,ALLOC_STACK=1,ALLOC_STATIC=2,ALLOC_DYNAMIC=3,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(t,e,r,o){var a,n;typeof t=="number"?(a=!0,n=t):(a=!1,n=t.length);var u=typeof e=="string"?e:null,A;if(r==ALLOC_NONE?A=o:A=[typeof _malloc=="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][r===void 0?ALLOC_STATIC:r](Math.max(n,u?1:e.length)),a){var o=A,p;for(assert((A&3)==0),p=A+(n&-4);o>2]=0;for(p=A+n;o>0]=0;return A}if(u==="i8")return t.subarray||t.slice?HEAPU8.set(t,A):HEAPU8.set(new Uint8Array(t),A),A;for(var h=0,E,I,v;h>0],r|=o,!(o==0&&!e||(a++,e&&a==e)););e||(e=a);var n="";if(r<128){for(var u=1024,A;e>0;)A=String.fromCharCode.apply(String,HEAPU8.subarray(t,t+Math.min(e,u))),n=n?n+A:A,t+=u,e-=u;return n}return Module.UTF8ToString(t)}Module.Pointer_stringify=Pointer_stringify;function AsciiToString(t){for(var e="";;){var r=HEAP8[t++>>0];if(!r)return e;e+=String.fromCharCode(r)}}Module.AsciiToString=AsciiToString;function stringToAscii(t,e){return writeAsciiToMemory(t,e,!1)}Module.stringToAscii=stringToAscii;var UTF8Decoder=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function UTF8ArrayToString(t,e){for(var r=e;t[r];)++r;if(r-e>16&&t.subarray&&UTF8Decoder)return UTF8Decoder.decode(t.subarray(e,r));for(var o,a,n,u,A,p,h="";;){if(o=t[e++],!o)return h;if(!(o&128)){h+=String.fromCharCode(o);continue}if(a=t[e++]&63,(o&224)==192){h+=String.fromCharCode((o&31)<<6|a);continue}if(n=t[e++]&63,(o&240)==224?o=(o&15)<<12|a<<6|n:(u=t[e++]&63,(o&248)==240?o=(o&7)<<18|a<<12|n<<6|u:(A=t[e++]&63,(o&252)==248?o=(o&3)<<24|a<<18|n<<12|u<<6|A:(p=t[e++]&63,o=(o&1)<<30|a<<24|n<<18|u<<12|A<<6|p))),o<65536)h+=String.fromCharCode(o);else{var E=o-65536;h+=String.fromCharCode(55296|E>>10,56320|E&1023)}}}Module.UTF8ArrayToString=UTF8ArrayToString;function UTF8ToString(t){return UTF8ArrayToString(HEAPU8,t)}Module.UTF8ToString=UTF8ToString;function stringToUTF8Array(t,e,r,o){if(!(o>0))return 0;for(var a=r,n=r+o-1,u=0;u=55296&&A<=57343&&(A=65536+((A&1023)<<10)|t.charCodeAt(++u)&1023),A<=127){if(r>=n)break;e[r++]=A}else if(A<=2047){if(r+1>=n)break;e[r++]=192|A>>6,e[r++]=128|A&63}else if(A<=65535){if(r+2>=n)break;e[r++]=224|A>>12,e[r++]=128|A>>6&63,e[r++]=128|A&63}else if(A<=2097151){if(r+3>=n)break;e[r++]=240|A>>18,e[r++]=128|A>>12&63,e[r++]=128|A>>6&63,e[r++]=128|A&63}else if(A<=67108863){if(r+4>=n)break;e[r++]=248|A>>24,e[r++]=128|A>>18&63,e[r++]=128|A>>12&63,e[r++]=128|A>>6&63,e[r++]=128|A&63}else{if(r+5>=n)break;e[r++]=252|A>>30,e[r++]=128|A>>24&63,e[r++]=128|A>>18&63,e[r++]=128|A>>12&63,e[r++]=128|A>>6&63,e[r++]=128|A&63}}return e[r]=0,r-a}Module.stringToUTF8Array=stringToUTF8Array;function stringToUTF8(t,e,r){return stringToUTF8Array(t,HEAPU8,e,r)}Module.stringToUTF8=stringToUTF8;function lengthBytesUTF8(t){for(var e=0,r=0;r=55296&&o<=57343&&(o=65536+((o&1023)<<10)|t.charCodeAt(++r)&1023),o<=127?++e:o<=2047?e+=2:o<=65535?e+=3:o<=2097151?e+=4:o<=67108863?e+=5:e+=6}return e}Module.lengthBytesUTF8=lengthBytesUTF8;var UTF16Decoder=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function demangle(t){var e=Module.___cxa_demangle||Module.__cxa_demangle;if(e){try{var r=t.substr(1),o=lengthBytesUTF8(r)+1,a=_malloc(o);stringToUTF8(r,a,o);var n=_malloc(4),u=e(a,0,0,n);if(getValue(n,"i32")===0&&u)return Pointer_stringify(u)}catch{}finally{a&&_free(a),n&&_free(n),u&&_free(u)}return t}return Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),t}function demangleAll(t){var e=/__Z[\w\d_]+/g;return t.replace(e,function(r){var o=demangle(r);return r===o?r:r+" ["+o+"]"})}function jsStackTrace(){var t=new Error;if(!t.stack){try{throw new Error(0)}catch(e){t=e}if(!t.stack)return"(no stack trace available)"}return t.stack.toString()}function stackTrace(){var t=jsStackTrace();return Module.extraStackTrace&&(t+=` +`+Module.extraStackTrace()),demangleAll(t)}Module.stackTrace=stackTrace;var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;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,STACK_BASE,STACKTOP,STACK_MAX,DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0,staticSealed=!1;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 but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||134217728;TOTAL_MEMORY0;){var e=t.shift();if(typeof e=="function"){e();continue}var r=e.func;typeof r=="number"?e.arg===void 0?Module.dynCall_v(r):Module.dynCall_vi(r,e.arg):r(e.arg===void 0?null:e.arg)}}var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;function preRun(){if(Module.preRun)for(typeof Module.preRun=="function"&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for(typeof Module.postRun=="function"&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(t){__ATPRERUN__.unshift(t)}Module.addOnPreRun=addOnPreRun;function addOnInit(t){__ATINIT__.unshift(t)}Module.addOnInit=addOnInit;function addOnPreMain(t){__ATMAIN__.unshift(t)}Module.addOnPreMain=addOnPreMain;function addOnExit(t){__ATEXIT__.unshift(t)}Module.addOnExit=addOnExit;function addOnPostRun(t){__ATPOSTRUN__.unshift(t)}Module.addOnPostRun=addOnPostRun;function intArrayFromString(t,e,r){var o=r>0?r:lengthBytesUTF8(t)+1,a=new Array(o),n=stringToUTF8Array(t,a,0,a.length);return e&&(a.length=n),a}Module.intArrayFromString=intArrayFromString;function intArrayToString(t){for(var e=[],r=0;r255&&(o&=255),e.push(String.fromCharCode(o))}return e.join("")}Module.intArrayToString=intArrayToString;function writeStringToMemory(t,e,r){Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var o,a;r&&(a=e+lengthBytesUTF8(t),o=HEAP8[a]),stringToUTF8(t,e,1/0),r&&(HEAP8[a]=o)}Module.writeStringToMemory=writeStringToMemory;function writeArrayToMemory(t,e){HEAP8.set(t,e)}Module.writeArrayToMemory=writeArrayToMemory;function writeAsciiToMemory(t,e,r){for(var o=0;o>0]=t.charCodeAt(o);r||(HEAP8[e>>0]=0)}if(Module.writeAsciiToMemory=writeAsciiToMemory,(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function t(e,r){var o=e>>>16,a=e&65535,n=r>>>16,u=r&65535;return a*u+(o*u+a*n<<16)|0}),Math.imul=Math.imul,!Math.fround){var froundBuffer=new Float32Array(1);Math.fround=function(t){return froundBuffer[0]=t,froundBuffer[0]}}Math.fround=Math.fround,Math.clz32||(Math.clz32=function(t){t=t>>>0;for(var e=0;e<32;e++)if(t&1<<31-e)return e;return 32}),Math.clz32=Math.clz32,Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Math.trunc=Math.trunc;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_round=Math.round,Math_min=Math.min,Math_clz32=Math.clz32,Math_trunc=Math.trunc,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(t){return t}function addRunDependency(t){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}Module.addRunDependency=addRunDependency;function removeRunDependency(t){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),runDependencies==0&&(runDependencyWatcher!==null&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var e=dependenciesFulfilled;dependenciesFulfilled=null,e()}}Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var ASM_CONSTS=[function(t,e,r,o,a,n,u,A){return _nbind.callbackSignatureList[t].apply(this,arguments)}];function _emscripten_asm_const_iiiiiiii(t,e,r,o,a,n,u,A){return ASM_CONSTS[t](e,r,o,a,n,u,A)}function _emscripten_asm_const_iiiii(t,e,r,o,a){return ASM_CONSTS[t](e,r,o,a)}function _emscripten_asm_const_iiidddddd(t,e,r,o,a,n,u,A,p){return ASM_CONSTS[t](e,r,o,a,n,u,A,p)}function _emscripten_asm_const_iiididi(t,e,r,o,a,n,u){return ASM_CONSTS[t](e,r,o,a,n,u)}function _emscripten_asm_const_iiii(t,e,r,o){return ASM_CONSTS[t](e,r,o)}function _emscripten_asm_const_iiiid(t,e,r,o,a){return ASM_CONSTS[t](e,r,o,a)}function _emscripten_asm_const_iiiiii(t,e,r,o,a,n){return ASM_CONSTS[t](e,r,o,a,n)}STATIC_BASE=Runtime.GLOBAL_BASE,STATICTOP=STATIC_BASE+12800,__ATINIT__.push({func:function(){__GLOBAL__sub_I_Yoga_cpp()}},{func:function(){__GLOBAL__sub_I_nbind_cc()}},{func:function(){__GLOBAL__sub_I_common_cc()}},{func:function(){__GLOBAL__sub_I_Binding_cc()}}),allocate([0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,128,191,0,0,128,191,0,0,192,127,0,0,0,0,0,0,0,0,0,0,128,63,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,190,12,0,0,200,12,0,0,208,12,0,0,216,12,0,0,230,12,0,0,242,12,0,0,1,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,0,0,192,127,3,0,0,0,180,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,182,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,183,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,184,45,0,0,185,45,0,0,181,45,0,0,181,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,148,4,0,0,3,0,0,0,187,45,0,0,164,4,0,0,188,45,0,0,2,0,0,0,189,45,0,0,164,4,0,0,188,45,0,0,185,45,0,0,164,4,0,0,185,45,0,0,164,4,0,0,188,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,183,45,0,0,182,45,0,0,181,45,0,0,190,45,0,0,190,45,0,0,182,45,0,0,182,45,0,0,185,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,185,45,0,0,48,5,0,0,3,0,0,0,56,5,0,0,1,0,0,0,189,45,0,0,185,45,0,0,164,4,0,0,76,5,0,0,2,0,0,0,191,45,0,0,186,45,0,0,182,45,0,0,185,45,0,0,192,45,0,0,185,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,76,5,0,0,76,5,0,0,136,5,0,0,182,45,0,0,181,45,0,0,2,0,0,0,190,45,0,0,136,5,0,0,56,19,0,0,156,5,0,0,2,0,0,0,184,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,9,0,0,0,1,0,0,0,10,0,0,0,204,5,0,0,181,45,0,0,181,45,0,0,2,0,0,0,180,45,0,0,204,5,0,0,2,0,0,0,195,45,0,0,236,5,0,0,97,19,0,0,198,45,0,0,211,45,0,0,212,45,0,0,213,45,0,0,214,45,0,0,215,45,0,0,188,45,0,0,182,45,0,0,216,45,0,0,217,45,0,0,218,45,0,0,219,45,0,0,192,45,0,0,181,45,0,0,0,0,0,0,185,45,0,0,110,19,0,0,186,45,0,0,115,19,0,0,221,45,0,0,120,19,0,0,148,4,0,0,132,19,0,0,96,6,0,0,145,19,0,0,222,45,0,0,164,19,0,0,223,45,0,0,173,19,0,0,0,0,0,0,3,0,0,0,104,6,0,0,1,0,0,0,187,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,11,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,185,45,0,0,224,45,0,0,164,6,0,0,188,45,0,0,172,6,0,0,180,6,0,0,2,0,0,0,188,6,0,0,7,0,0,0,224,45,0,0,7,0,0,0,164,6,0,0,1,0,0,0,213,45,0,0,185,45,0,0,224,45,0,0,172,6,0,0,185,45,0,0,224,45,0,0,164,6,0,0,185,45,0,0,224,45,0,0,211,45,0,0,211,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,172,6,0,0,222,45,0,0,211,45,0,0,224,45,0,0,188,45,0,0,222,45,0,0,211,45,0,0,40,7,0,0,188,45,0,0,2,0,0,0,224,45,0,0,185,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,222,45,0,0,224,45,0,0,148,4,0,0,185,45,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,185,45,0,0,164,6,0,0,148,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,16,0,0,0,148,7,0,0,2,0,0,0,225,45,0,0,183,45,0,0,188,45,0,0,168,7,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,234,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,9,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,242,45,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,110,111,100,101,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,119,104,105,99,104,32,115,116,105,108,108,32,104,97,115,32,99,104,105,108,100,114,101,110,32,97,116,116,97,99,104,101,100,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,115,116,105,108,108,32,97,116,116,97,99,104,101,100,32,116,111,32,97,32,112,97,114,101,110,116,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,99,111,110,102,105,103,0,67,97,110,110,111,116,32,115,101,116,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,67,104,105,108,100,32,97,108,114,101,97,100,121,32,104,97,115,32,97,32,112,97,114,101,110,116,44,32,105,116,32,109,117,115,116,32,98,101,32,114,101,109,111,118,101,100,32,102,105,114,115,116,46,0,67,97,110,110,111,116,32,97,100,100,32,99,104,105,108,100,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,79,110,108,121,32,108,101,97,102,32,110,111,100,101,115,32,119,105,116,104,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,115,104,111,117,108,100,32,109,97,110,117,97,108,108,121,32,109,97,114,107,32,116,104,101,109,115,101,108,118,101,115,32,97,115,32,100,105,114,116,121,0,67,97,110,110,111,116,32,103,101,116,32,108,97,121,111,117,116,32,112,114,111,112,101,114,116,105,101,115,32,111,102,32,109,117,108,116,105,45,101,100,103,101,32,115,104,111,114,116,104,97,110,100,115,0,37,115,37,100,46,123,91,115,107,105,112,112,101,100,93,32,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,61,62,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,37,115,37,100,46,123,37,115,0,42,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,37,115,10,0,37,115,37,100,46,125,37,115,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,79,117,116,32,111,102,32,99,97,99,104,101,32,101,110,116,114,105,101,115,33,10,0,83,99,97,108,101,32,102,97,99,116,111,114,32,115,104,111,117,108,100,32,110,111,116,32,98,101,32,108,101,115,115,32,116,104,97,110,32,122,101,114,111,0,105,110,105,116,105,97,108,0,37,115,10,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,85,78,68,69,70,73,78,69,68,0,69,88,65,67,84,76,89,0,65,84,95,77,79,83,84,0,76,65,89,95,85,78,68,69,70,73,78,69,68,0,76,65,89,95,69,88,65,67,84,76,89,0,76,65,89,95,65,84,95,77,79,83,84,0,97,118,97,105,108,97,98,108,101,87,105,100,116,104,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,119,105,100,116,104,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,97,118,97,105,108,97,98,108,101,72,101,105,103,104,116,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,104,101,105,103,104,116,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,102,108,101,120,0,115,116,114,101,116,99,104,0,109,117,108,116,105,108,105,110,101,45,115,116,114,101,116,99,104,0,69,120,112,101,99,116,101,100,32,110,111,100,101,32,116,111,32,104,97,118,101,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,0,109,101,97,115,117,114,101,0,69,120,112,101,99,116,32,99,117,115,116,111,109,32,98,97,115,101,108,105,110,101,32,102,117,110,99,116,105,111,110,32,116,111,32,110,111,116,32,114,101,116,117,114,110,32,78,97,78,0,97,98,115,45,109,101,97,115,117,114,101,0,97,98,115,45,108,97,121,111,117,116,0,78,111,100,101,0,99,114,101,97,116,101,68,101,102,97,117,108,116,0,99,114,101,97,116,101,87,105,116,104,67,111,110,102,105,103,0,100,101,115,116,114,111,121,0,114,101,115,101,116,0,99,111,112,121,83,116,121,108,101,0,115,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,115,101,116,80,111,115,105,116,105,111,110,0,115,101,116,80,111,115,105,116,105,111,110,80,101,114,99,101,110,116,0,115,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,115,101,116,65,108,105,103,110,73,116,101,109,115,0,115,101,116,65,108,105,103,110,83,101,108,102,0,115,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,115,101,116,70,108,101,120,87,114,97,112,0,115,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,115,101,116,77,97,114,103,105,110,0,115,101,116,77,97,114,103,105,110,80,101,114,99,101,110,116,0,115,101,116,77,97,114,103,105,110,65,117,116,111,0,115,101,116,79,118,101,114,102,108,111,119,0,115,101,116,68,105,115,112,108,97,121,0,115,101,116,70,108,101,120,0,115,101,116,70,108,101,120,66,97,115,105,115,0,115,101,116,70,108,101,120,66,97,115,105,115,80,101,114,99,101,110,116,0,115,101,116,70,108,101,120,71,114,111,119,0,115,101,116,70,108,101,120,83,104,114,105,110,107,0,115,101,116,87,105,100,116,104,0,115,101,116,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,87,105,100,116,104,65,117,116,111,0,115,101,116,72,101,105,103,104,116,0,115,101,116,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,72,101,105,103,104,116,65,117,116,111,0,115,101,116,77,105,110,87,105,100,116,104,0,115,101,116,77,105,110,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,105,110,72,101,105,103,104,116,0,115,101,116,77,105,110,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,77,97,120,87,105,100,116,104,0,115,101,116,77,97,120,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,97,120,72,101,105,103,104,116,0,115,101,116,77,97,120,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,65,115,112,101,99,116,82,97,116,105,111,0,115,101,116,66,111,114,100,101,114,0,115,101,116,80,97,100,100,105,110,103,0,115,101,116,80,97,100,100,105,110,103,80,101,114,99,101,110,116,0,103,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,103,101,116,80,111,115,105,116,105,111,110,0,103,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,103,101,116,65,108,105,103,110,73,116,101,109,115,0,103,101,116,65,108,105,103,110,83,101,108,102,0,103,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,103,101,116,70,108,101,120,87,114,97,112,0,103,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,103,101,116,77,97,114,103,105,110,0,103,101,116,70,108,101,120,66,97,115,105,115,0,103,101,116,70,108,101,120,71,114,111,119,0,103,101,116,70,108,101,120,83,104,114,105,110,107,0,103,101,116,87,105,100,116,104,0,103,101,116,72,101,105,103,104,116,0,103,101,116,77,105,110,87,105,100,116,104,0,103,101,116,77,105,110,72,101,105,103,104,116,0,103,101,116,77,97,120,87,105,100,116,104,0,103,101,116,77,97,120,72,101,105,103,104,116,0,103,101,116,65,115,112,101,99,116,82,97,116,105,111,0,103,101,116,66,111,114,100,101,114,0,103,101,116,79,118,101,114,102,108,111,119,0,103,101,116,68,105,115,112,108,97,121,0,103,101,116,80,97,100,100,105,110,103,0,105,110,115,101,114,116,67,104,105,108,100,0,114,101,109,111,118,101,67,104,105,108,100,0,103,101,116,67,104,105,108,100,67,111,117,110,116,0,103,101,116,80,97,114,101,110,116,0,103,101,116,67,104,105,108,100,0,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,117,110,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,109,97,114,107,68,105,114,116,121,0,105,115,68,105,114,116,121,0,99,97,108,99,117,108,97,116,101,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,76,101,102,116,0,103,101,116,67,111,109,112,117,116,101,100,82,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,84,111,112,0,103,101,116,67,111,109,112,117,116,101,100,66,111,116,116,111,109,0,103,101,116,67,111,109,112,117,116,101,100,87,105,100,116,104,0,103,101,116,67,111,109,112,117,116,101,100,72,101,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,77,97,114,103,105,110,0,103,101,116,67,111,109,112,117,116,101,100,66,111,114,100,101,114,0,103,101,116,67,111,109,112,117,116,101,100,80,97,100,100,105,110,103,0,67,111,110,102,105,103,0,99,114,101,97,116,101,0,115,101,116,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,115,101,116,80,111,105,110,116,83,99,97,108,101,70,97,99,116,111,114,0,105,115,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,86,97,108,117,101,0,76,97,121,111,117,116,0,83,105,122,101,0,103,101,116,73,110,115,116,97,110,99,101,67,111,117,110,116,0,73,110,116,54,52,0,1,1,1,2,2,4,4,4,4,8,8,4,8,118,111,105,100,0,98,111,111,108,0,115,116,100,58,58,115,116,114,105,110,103,0,99,98,70,117,110,99,116,105,111,110,32,38,0,99,111,110,115,116,32,99,98,70,117,110,99,116,105,111,110,32,38,0,69,120,116,101,114,110,97,108,0,66,117,102,102,101,114,0,78,66,105,110,100,73,68,0,78,66,105,110,100,0,98,105,110,100,95,118,97,108,117,101,0,114,101,102,108,101,99,116,0,113,117,101,114,121,84,121,112,101,0,108,97,108,108,111,99,0,108,114,101,115,101,116,0,123,114,101,116,117,114,110,40,95,110,98,105,110,100,46,99,97,108,108,98,97,99,107,83,105,103,110,97,116,117,114,101,76,105,115,116,91,36,48,93,46,97,112,112,108,121,40,116,104,105,115,44,97,114,103,117,109,101,110,116,115,41,41,59,125,0,95,110,98,105,110,100,95,110,101,119,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);var tempDoublePtr=STATICTOP;STATICTOP+=16;function _atexit(t,e){__ATEXIT__.unshift({func:t,arg:e})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}function _abort(){Module.abort()}function __ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj(){Module.printErr("missing function: _ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj"),abort(-1)}function __decorate(t,e,r,o){var a=arguments.length,n=a<3?e:o===null?o=Object.getOwnPropertyDescriptor(e,r):o,u;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(t,e,r,o);else for(var A=t.length-1;A>=0;A--)(u=t[A])&&(n=(a<3?u(n):a>3?u(e,r,n):u(e,r))||n);return a>3&&n&&Object.defineProperty(e,r,n),n}function _defineHidden(t){return function(e,r){Object.defineProperty(e,r,{configurable:!1,enumerable:!1,value:t,writable:!0})}}var _nbind={};function __nbind_free_external(t){_nbind.externalList[t].dereference(t)}function __nbind_reference_external(t){_nbind.externalList[t].reference()}function _llvm_stackrestore(t){var e=_llvm_stacksave,r=e.LLVM_SAVEDSTACKS[t];e.LLVM_SAVEDSTACKS.splice(t,1),Runtime.stackRestore(r)}function __nbind_register_pool(t,e,r,o){_nbind.Pool.pageSize=t,_nbind.Pool.usedPtr=e/4,_nbind.Pool.rootPtr=r,_nbind.Pool.pagePtr=o/4,HEAP32[e/4]=16909060,HEAP8[e]==1&&(_nbind.bigEndian=!0),HEAP32[e/4]=0,_nbind.makeTypeKindTbl=(n={},n[1024]=_nbind.PrimitiveType,n[64]=_nbind.Int64Type,n[2048]=_nbind.BindClass,n[3072]=_nbind.BindClassPtr,n[4096]=_nbind.SharedClassPtr,n[5120]=_nbind.ArrayType,n[6144]=_nbind.ArrayType,n[7168]=_nbind.CStringType,n[9216]=_nbind.CallbackType,n[10240]=_nbind.BindType,n),_nbind.makeTypeNameTbl={Buffer:_nbind.BufferType,External:_nbind.ExternalType,Int64:_nbind.Int64Type,_nbind_new:_nbind.CreateValueType,bool:_nbind.BooleanType,"cbFunction &":_nbind.CallbackType,"const cbFunction &":_nbind.CallbackType,"const std::string &":_nbind.StringType,"std::string":_nbind.StringType},Module.toggleLightGC=_nbind.toggleLightGC,_nbind.callUpcast=Module.dynCall_ii;var a=_nbind.makeType(_nbind.constructType,{flags:2048,id:0,name:""});a.proto=Module,_nbind.BindClass.list.push(a);var n}function _emscripten_set_main_loop_timing(t,e){if(Browser.mainLoop.timingMode=t,Browser.mainLoop.timingValue=e,!Browser.mainLoop.func)return 1;if(t==0)Browser.mainLoop.scheduler=function(){var u=Math.max(0,Browser.mainLoop.tickStartTime+e-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,u)},Browser.mainLoop.method="timeout";else if(t==1)Browser.mainLoop.scheduler=function(){Browser.requestAnimationFrame(Browser.mainLoop.runner)},Browser.mainLoop.method="rAF";else if(t==2){if(!window.setImmediate){let n=function(u){u.source===window&&u.data===o&&(u.stopPropagation(),r.shift()())};var a=n,r=[],o="setimmediate";window.addEventListener("message",n,!0),window.setImmediate=function(A){r.push(A),ENVIRONMENT_IS_WORKER?(Module.setImmediates===void 0&&(Module.setImmediates=[]),Module.setImmediates.push(A),window.postMessage({target:o})):window.postMessage(o,"*")}}Browser.mainLoop.scheduler=function(){window.setImmediate(Browser.mainLoop.runner)},Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(t,e,r,o,a){Module.noExitRuntime=!0,assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Browser.mainLoop.func=t,Browser.mainLoop.arg=o;var n;typeof o<"u"?n=function(){Module.dynCall_vi(t,o)}:n=function(){Module.dynCall_v(t)};var u=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){if(!ABORT){if(Browser.mainLoop.queue.length>0){var p=Date.now(),h=Browser.mainLoop.queue.shift();if(h.func(h.arg),Browser.mainLoop.remainingBlockers){var E=Browser.mainLoop.remainingBlockers,I=E%1==0?E-1:Math.floor(E);h.counted?Browser.mainLoop.remainingBlockers=I:(I=I+.5,Browser.mainLoop.remainingBlockers=(8*E+I)/9)}if(console.log('main loop blocker "'+h.name+'" took '+(Date.now()-p)+" ms"),Browser.mainLoop.updateStatus(),u1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else Browser.mainLoop.timingMode==0&&(Browser.mainLoop.tickStartTime=_emscripten_get_now());Browser.mainLoop.method==="timeout"&&Module.ctx&&(Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Browser.mainLoop.method=""),Browser.mainLoop.runIter(n),!(u0?_emscripten_set_main_loop_timing(0,1e3/e):_emscripten_set_main_loop_timing(1,1),Browser.mainLoop.scheduler()),r)throw"SimulateInfiniteLoop"}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null,Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var t=Browser.mainLoop.timingMode,e=Browser.mainLoop.timingValue,r=Browser.mainLoop.func;Browser.mainLoop.func=null,_emscripten_set_main_loop(r,0,!1,Browser.mainLoop.arg,!0),_emscripten_set_main_loop_timing(t,e),Browser.mainLoop.scheduler()},updateStatus:function(){if(Module.setStatus){var t=Module.statusMessage||"Please wait...",e=Browser.mainLoop.remainingBlockers,r=Browser.mainLoop.expectedBlockers;e?e"u"&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),Module.noImageDecoding=!0);var t={};t.canHandle=function(n){return!Module.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(n)},t.handle=function(n,u,A,p){var h=null;if(Browser.hasBlobConstructor)try{h=new Blob([n],{type:Browser.getMimetype(u)}),h.size!==n.length&&(h=new Blob([new Uint8Array(n).buffer],{type:Browser.getMimetype(u)}))}catch(x){Runtime.warnOnce("Blob constructor present but fails: "+x+"; falling back to blob builder")}if(!h){var E=new Browser.BlobBuilder;E.append(new Uint8Array(n).buffer),h=E.getBlob()}var I=Browser.URLObject.createObjectURL(h),v=new Image;v.onload=function(){assert(v.complete,"Image "+u+" could not be decoded");var C=document.createElement("canvas");C.width=v.width,C.height=v.height;var F=C.getContext("2d");F.drawImage(v,0,0),Module.preloadedImages[u]=C,Browser.URLObject.revokeObjectURL(I),A&&A(n)},v.onerror=function(C){console.log("Image "+I+" could not be decoded"),p&&p()},v.src=I},Module.preloadPlugins.push(t);var e={};e.canHandle=function(n){return!Module.noAudioDecoding&&n.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},e.handle=function(n,u,A,p){var h=!1;function E(F){h||(h=!0,Module.preloadedAudios[u]=F,A&&A(n))}function I(){h||(h=!0,Module.preloadedAudios[u]=new Audio,p&&p())}if(Browser.hasBlobConstructor){try{var v=new Blob([n],{type:Browser.getMimetype(u)})}catch{return I()}var x=Browser.URLObject.createObjectURL(v),C=new Audio;C.addEventListener("canplaythrough",function(){E(C)},!1),C.onerror=function(N){if(h)return;console.log("warning: browser could not fully decode audio "+u+", trying slower base64 approach");function U(J){for(var te="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ae="=",le="",ce=0,we=0,de=0;de=6;){var Be=ce>>we-6&63;we-=6,le+=te[Be]}return we==2?(le+=te[(ce&3)<<4],le+=ae+ae):we==4&&(le+=te[(ce&15)<<2],le+=ae),le}C.src="data:audio/x-"+u.substr(-3)+";base64,"+U(n),E(C)},C.src=x,Browser.safeSetTimeout(function(){E(C)},1e4)}else return I()},Module.preloadPlugins.push(e);function r(){Browser.pointerLock=document.pointerLockElement===Module.canvas||document.mozPointerLockElement===Module.canvas||document.webkitPointerLockElement===Module.canvas||document.msPointerLockElement===Module.canvas}var o=Module.canvas;o&&(o.requestPointerLock=o.requestPointerLock||o.mozRequestPointerLock||o.webkitRequestPointerLock||o.msRequestPointerLock||function(){},o.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},o.exitPointerLock=o.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",r,!1),document.addEventListener("mozpointerlockchange",r,!1),document.addEventListener("webkitpointerlockchange",r,!1),document.addEventListener("mspointerlockchange",r,!1),Module.elementPointerLock&&o.addEventListener("click",function(a){!Browser.pointerLock&&Module.canvas.requestPointerLock&&(Module.canvas.requestPointerLock(),a.preventDefault())},!1))},createContext:function(t,e,r,o){if(e&&Module.ctx&&t==Module.canvas)return Module.ctx;var a,n;if(e){var u={antialias:!1,alpha:!1};if(o)for(var A in o)u[A]=o[A];n=GL.createContext(t,u),n&&(a=GL.getContext(n).GLctx)}else a=t.getContext("2d");return a?(r&&(e||assert(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Module.ctx=a,e&&GL.makeContextCurrent(n),Module.useWebGL=e,Browser.moduleContextCreatedCallbacks.forEach(function(p){p()}),Browser.init()),a):null},destroyContext:function(t,e,r){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(t,e,r){Browser.lockPointer=t,Browser.resizeCanvas=e,Browser.vrDevice=r,typeof Browser.lockPointer>"u"&&(Browser.lockPointer=!0),typeof Browser.resizeCanvas>"u"&&(Browser.resizeCanvas=!1),typeof Browser.vrDevice>"u"&&(Browser.vrDevice=null);var o=Module.canvas;function a(){Browser.isFullscreen=!1;var u=o.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===u?(o.exitFullscreen=document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){},o.exitFullscreen=o.exitFullscreen.bind(document),Browser.lockPointer&&o.requestPointerLock(),Browser.isFullscreen=!0,Browser.resizeCanvas&&Browser.setFullscreenCanvasSize()):(u.parentNode.insertBefore(o,u),u.parentNode.removeChild(u),Browser.resizeCanvas&&Browser.setWindowedCanvasSize()),Module.onFullScreen&&Module.onFullScreen(Browser.isFullscreen),Module.onFullscreen&&Module.onFullscreen(Browser.isFullscreen),Browser.updateCanvasDimensions(o)}Browser.fullscreenHandlersInstalled||(Browser.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",a,!1),document.addEventListener("mozfullscreenchange",a,!1),document.addEventListener("webkitfullscreenchange",a,!1),document.addEventListener("MSFullscreenChange",a,!1));var n=document.createElement("div");o.parentNode.insertBefore(n,o),n.appendChild(o),n.requestFullscreen=n.requestFullscreen||n.mozRequestFullScreen||n.msRequestFullscreen||(n.webkitRequestFullscreen?function(){n.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(n.webkitRequestFullScreen?function(){n.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),r?n.requestFullscreen({vrDisplay:r}):n.requestFullscreen()},requestFullScreen:function(t,e,r){return Module.printErr("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead."),Browser.requestFullScreen=function(o,a,n){return Browser.requestFullscreen(o,a,n)},Browser.requestFullscreen(t,e,r)},nextRAF:0,fakeRequestAnimationFrame:function(t){var e=Date.now();if(Browser.nextRAF===0)Browser.nextRAF=e+1e3/60;else for(;e+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var r=Math.max(Browser.nextRAF-e,0);setTimeout(t,r)},requestAnimationFrame:function t(e){typeof window>"u"?Browser.fakeRequestAnimationFrame(e):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame),window.requestAnimationFrame(e))},safeCallback:function(t){return function(){if(!ABORT)return t.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Browser.allowAsyncCallbacks=!0,Browser.queuedAsyncCallbacks.length>0){var t=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[],t.forEach(function(e){e()})}},safeRequestAnimationFrame:function(t){return Browser.requestAnimationFrame(function(){ABORT||(Browser.allowAsyncCallbacks?t():Browser.queuedAsyncCallbacks.push(t))})},safeSetTimeout:function(t,e){return Module.noExitRuntime=!0,setTimeout(function(){ABORT||(Browser.allowAsyncCallbacks?t():Browser.queuedAsyncCallbacks.push(t))},e)},safeSetInterval:function(t,e){return Module.noExitRuntime=!0,setInterval(function(){ABORT||Browser.allowAsyncCallbacks&&t()},e)},getMimetype:function(t){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[t.substr(t.lastIndexOf(".")+1)]},getUserMedia:function(t){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(t)},getMovementX:function(t){return t.movementX||t.mozMovementX||t.webkitMovementX||0},getMovementY:function(t){return t.movementY||t.mozMovementY||t.webkitMovementY||0},getMouseWheelDelta:function(t){var e=0;switch(t.type){case"DOMMouseScroll":e=t.detail;break;case"mousewheel":e=t.wheelDelta;break;case"wheel":e=t.deltaY;break;default:throw"unrecognized mouse wheel event: "+t.type}return e},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(t){if(Browser.pointerLock)t.type!="mousemove"&&"mozMovementX"in t?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(t),Browser.mouseMovementY=Browser.getMovementY(t)),typeof SDL<"u"?(Browser.mouseX=SDL.mouseX+Browser.mouseMovementX,Browser.mouseY=SDL.mouseY+Browser.mouseMovementY):(Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY);else{var e=Module.canvas.getBoundingClientRect(),r=Module.canvas.width,o=Module.canvas.height,a=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,n=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(t.type==="touchstart"||t.type==="touchend"||t.type==="touchmove"){var u=t.touch;if(u===void 0)return;var A=u.pageX-(a+e.left),p=u.pageY-(n+e.top);A=A*(r/e.width),p=p*(o/e.height);var h={x:A,y:p};if(t.type==="touchstart")Browser.lastTouches[u.identifier]=h,Browser.touches[u.identifier]=h;else if(t.type==="touchend"||t.type==="touchmove"){var E=Browser.touches[u.identifier];E||(E=h),Browser.lastTouches[u.identifier]=E,Browser.touches[u.identifier]=h}return}var I=t.pageX-(a+e.left),v=t.pageY-(n+e.top);I=I*(r/e.width),v=v*(o/e.height),Browser.mouseMovementX=I-Browser.mouseX,Browser.mouseMovementY=v-Browser.mouseY,Browser.mouseX=I,Browser.mouseY=v}},asyncLoad:function(t,e,r,o){var a=o?"":"al "+t;Module.readAsync(t,function(n){assert(n,'Loading data file "'+t+'" failed (no arrayBuffer).'),e(new Uint8Array(n)),a&&removeRunDependency(a)},function(n){if(r)r();else throw'Loading data file "'+t+'" failed.'}),a&&addRunDependency(a)},resizeListeners:[],updateResizeListeners:function(){var t=Module.canvas;Browser.resizeListeners.forEach(function(e){e(t.width,t.height)})},setCanvasSize:function(t,e,r){var o=Module.canvas;Browser.updateCanvasDimensions(o,t,e),r||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL<"u"){var t=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];t=t|8388608,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=t}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var t=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];t=t&-8388609,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=t}Browser.updateResizeListeners()},updateCanvasDimensions:function(t,e,r){e&&r?(t.widthNative=e,t.heightNative=r):(e=t.widthNative,r=t.heightNative);var o=e,a=r;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(o/a>2];return e},getStr:function(){var t=Pointer_stringify(SYSCALLS.get());return t},get64:function(){var t=SYSCALLS.get(),e=SYSCALLS.get();return t>=0?assert(e===0):assert(e===-1),t},getZero:function(){assert(SYSCALLS.get()===0)}};function ___syscall6(t,e){SYSCALLS.varargs=e;try{var r=SYSCALLS.getStreamFromFD();return FS.close(r),0}catch(o){return(typeof FS>"u"||!(o instanceof FS.ErrnoError))&&abort(o),-o.errno}}function ___syscall54(t,e){SYSCALLS.varargs=e;try{return 0}catch(r){return(typeof FS>"u"||!(r instanceof FS.ErrnoError))&&abort(r),-r.errno}}function _typeModule(t){var e=[[0,1,"X"],[1,1,"const X"],[128,1,"X *"],[256,1,"X &"],[384,1,"X &&"],[512,1,"std::shared_ptr"],[640,1,"std::unique_ptr"],[5120,1,"std::vector"],[6144,2,"std::array"],[9216,-1,"std::function"]];function r(p,h,E,I,v,x){if(h==1){var C=I&896;(C==128||C==256||C==384)&&(p="X const")}var F;return x?F=E.replace("X",p).replace("Y",v):F=p.replace("X",E).replace("Y",v),F.replace(/([*&]) (?=[*&])/g,"$1")}function o(p,h,E,I,v){throw new Error(p+" type "+E.replace("X",h+"?")+(I?" with flag "+I:"")+" in "+v)}function a(p,h,E,I,v,x,C,F){x===void 0&&(x="X"),F===void 0&&(F=1);var N=E(p);if(N)return N;var U=I(p),J=U.placeholderFlag,te=e[J];C&&te&&(x=r(C[2],C[0],x,te[0],"?",!0));var ae;J==0&&(ae="Unbound"),J>=10&&(ae="Corrupt"),F>20&&(ae="Deeply nested"),ae&&o(ae,p,x,J,v||"?");var le=U.paramList[0],ce=a(le,h,E,I,v,x,te,F+1),we,de={flags:te[0],id:p,name:"",paramList:[ce]},Be=[],Ee="?";switch(U.placeholderFlag){case 1:we=ce.spec;break;case 2:if((ce.flags&15360)==1024&&ce.spec.ptrSize==1){de.flags=7168;break}case 3:case 6:case 5:we=ce.spec,ce.flags&15360;break;case 8:Ee=""+U.paramList[1],de.paramList.push(U.paramList[1]);break;case 9:for(var g=0,me=U.paramList[1];g>2]=t),t}function _llvm_stacksave(){var t=_llvm_stacksave;return t.LLVM_SAVEDSTACKS||(t.LLVM_SAVEDSTACKS=[]),t.LLVM_SAVEDSTACKS.push(Runtime.stackSave()),t.LLVM_SAVEDSTACKS.length-1}function ___syscall140(t,e){SYSCALLS.varargs=e;try{var r=SYSCALLS.getStreamFromFD(),o=SYSCALLS.get(),a=SYSCALLS.get(),n=SYSCALLS.get(),u=SYSCALLS.get(),A=a;return FS.llseek(r,A,u),HEAP32[n>>2]=r.position,r.getdents&&A===0&&u===0&&(r.getdents=null),0}catch(p){return(typeof FS>"u"||!(p instanceof FS.ErrnoError))&&abort(p),-p.errno}}function ___syscall146(t,e){SYSCALLS.varargs=e;try{var r=SYSCALLS.get(),o=SYSCALLS.get(),a=SYSCALLS.get(),n=0;___syscall146.buffer||(___syscall146.buffers=[null,[],[]],___syscall146.printChar=function(E,I){var v=___syscall146.buffers[E];assert(v),I===0||I===10?((E===1?Module.print:Module.printErr)(UTF8ArrayToString(v,0)),v.length=0):v.push(I)});for(var u=0;u>2],p=HEAP32[o+(u*8+4)>>2],h=0;h"u"||!(E instanceof FS.ErrnoError))&&abort(E),-E.errno}}function __nbind_finish(){for(var t=0,e=_nbind.BindClass.list;tt.pageSize/2||e>t.pageSize-r){var o=_nbind.typeNameTbl.NBind.proto;return o.lalloc(e)}else return HEAPU32[t.usedPtr]=r+e,t.rootPtr+r},t.lreset=function(e,r){var o=HEAPU32[t.pagePtr];if(o){var a=_nbind.typeNameTbl.NBind.proto;a.lreset(e,r)}else HEAPU32[t.usedPtr]=e},t}();_nbind.Pool=Pool;function constructType(t,e){var r=t==10240?_nbind.makeTypeNameTbl[e.name]||_nbind.BindType:_nbind.makeTypeKindTbl[t],o=new r(e);return typeIdTbl[e.id]=o,_nbind.typeNameTbl[e.name]=o,o}_nbind.constructType=constructType;function getType(t){return typeIdTbl[t]}_nbind.getType=getType;function queryType(t){var e=HEAPU8[t],r=_nbind.structureList[e][1];t/=4,r<0&&(++t,r=HEAPU32[t]+1);var o=Array.prototype.slice.call(HEAPU32.subarray(t+1,t+1+r));return e==9&&(o=[o[0],o.slice(1)]),{paramList:o,placeholderFlag:e}}_nbind.queryType=queryType;function getTypes(t,e){return t.map(function(r){return typeof r=="number"?_nbind.getComplexType(r,constructType,getType,queryType,e):_nbind.typeNameTbl[r]})}_nbind.getTypes=getTypes;function readTypeIdList(t,e){return Array.prototype.slice.call(HEAPU32,t/4,t/4+e)}_nbind.readTypeIdList=readTypeIdList;function readAsciiString(t){for(var e=t;HEAPU8[e++];);return String.fromCharCode.apply("",HEAPU8.subarray(t,e-1))}_nbind.readAsciiString=readAsciiString;function readPolicyList(t){var e={};if(t)for(;;){var r=HEAPU32[t/4];if(!r)break;e[readAsciiString(r)]=!0,t+=4}return e}_nbind.readPolicyList=readPolicyList;function getDynCall(t,e){var r={float32_t:"d",float64_t:"d",int64_t:"d",uint64_t:"d",void:"v"},o=t.map(function(n){return r[n.name]||"i"}).join(""),a=Module["dynCall_"+o];if(!a)throw new Error("dynCall_"+o+" not found for "+e+"("+t.map(function(n){return n.name}).join(", ")+")");return a}_nbind.getDynCall=getDynCall;function addMethod(t,e,r,o){var a=t[e];t.hasOwnProperty(e)&&a?((a.arity||a.arity===0)&&(a=_nbind.makeOverloader(a,a.arity),t[e]=a),a.addMethod(r,o)):(r.arity=o,t[e]=r)}_nbind.addMethod=addMethod;function throwError(t){throw new Error(t)}_nbind.throwError=throwError,_nbind.bigEndian=!1,_a=_typeModule(_typeModule),_nbind.Type=_a.Type,_nbind.makeType=_a.makeType,_nbind.getComplexType=_a.getComplexType,_nbind.structureList=_a.structureList;var BindType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.heap=HEAPU32,r.ptrSize=4,r}return e.prototype.needsWireRead=function(r){return!!this.wireRead||!!this.makeWireRead},e.prototype.needsWireWrite=function(r){return!!this.wireWrite||!!this.makeWireWrite},e}(_nbind.Type);_nbind.BindType=BindType;var PrimitiveType=function(t){__extends(e,t);function e(r){var o=t.call(this,r)||this,a=r.flags&32?{32:HEAPF32,64:HEAPF64}:r.flags&8?{8:HEAPU8,16:HEAPU16,32:HEAPU32}:{8:HEAP8,16:HEAP16,32:HEAP32};return o.heap=a[r.ptrSize*8],o.ptrSize=r.ptrSize,o}return e.prototype.needsWireWrite=function(r){return!!r&&!!r.Strict},e.prototype.makeWireWrite=function(r,o){return o&&o.Strict&&function(a){if(typeof a=="number")return a;throw new Error("Type mismatch")}},e}(BindType);_nbind.PrimitiveType=PrimitiveType;function pushCString(t,e){if(t==null){if(e&&e.Nullable)return 0;throw new Error("Type mismatch")}if(e&&e.Strict){if(typeof t!="string")throw new Error("Type mismatch")}else t=t.toString();var r=Module.lengthBytesUTF8(t)+1,o=_nbind.Pool.lalloc(r);return Module.stringToUTF8Array(t,HEAPU8,o,r),o}_nbind.pushCString=pushCString;function popCString(t){return t===0?null:Module.Pointer_stringify(t)}_nbind.popCString=popCString;var CStringType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireRead=popCString,r.wireWrite=pushCString,r.readResources=[_nbind.resources.pool],r.writeResources=[_nbind.resources.pool],r}return e.prototype.makeWireWrite=function(r,o){return function(a){return pushCString(a,o)}},e}(BindType);_nbind.CStringType=CStringType;var BooleanType=function(t){__extends(e,t);function e(){var r=t!==null&&t.apply(this,arguments)||this;return r.wireRead=function(o){return!!o},r}return e.prototype.needsWireWrite=function(r){return!!r&&!!r.Strict},e.prototype.makeWireRead=function(r){return"!!("+r+")"},e.prototype.makeWireWrite=function(r,o){return o&&o.Strict&&function(a){if(typeof a=="boolean")return a;throw new Error("Type mismatch")}||r},e}(BindType);_nbind.BooleanType=BooleanType;var Wrapper=function(){function t(){}return t.prototype.persist=function(){this.__nbindState|=1},t}();_nbind.Wrapper=Wrapper;function makeBound(t,e){var r=function(o){__extends(a,o);function a(n,u,A,p){var h=o.call(this)||this;if(!(h instanceof a))return new(Function.prototype.bind.apply(a,Array.prototype.concat.apply([null],arguments)));var E=u,I=A,v=p;if(n!==_nbind.ptrMarker){var x=h.__nbindConstructor.apply(h,arguments);E=4608,v=HEAPU32[x/4],I=HEAPU32[x/4+1]}var C={configurable:!0,enumerable:!1,value:null,writable:!1},F={__nbindFlags:E,__nbindPtr:I};v&&(F.__nbindShared=v,_nbind.mark(h));for(var N=0,U=Object.keys(F);N>=1;var r=_nbind.valueList[t];return _nbind.valueList[t]=firstFreeValue,firstFreeValue=t,r}else{if(e)return _nbind.popShared(t,e);throw new Error("Invalid value slot "+t)}}_nbind.popValue=popValue;var valueBase=18446744073709552e3;function push64(t){return typeof t=="number"?t:pushValue(t)*4096+valueBase}function pop64(t){return t=3?u=Buffer.from(n):u=new Buffer(n),u.copy(o)}else getBuffer(o).set(n)}}_nbind.commitBuffer=commitBuffer;var dirtyList=[],gcTimer=0;function sweep(){for(var t=0,e=dirtyList;t>2]=DYNAMIC_BASE,staticSealed=!0;function invoke_viiiii(t,e,r,o,a,n){try{Module.dynCall_viiiii(t,e,r,o,a,n)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_vif(t,e,r){try{Module.dynCall_vif(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_vid(t,e,r){try{Module.dynCall_vid(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_fiff(t,e,r,o){try{return Module.dynCall_fiff(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_vi(t,e){try{Module.dynCall_vi(t,e)}catch(r){if(typeof r!="number"&&r!=="longjmp")throw r;Module.setThrew(1,0)}}function invoke_vii(t,e,r){try{Module.dynCall_vii(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_ii(t,e){try{return Module.dynCall_ii(t,e)}catch(r){if(typeof r!="number"&&r!=="longjmp")throw r;Module.setThrew(1,0)}}function invoke_viddi(t,e,r,o,a){try{Module.dynCall_viddi(t,e,r,o,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Module.setThrew(1,0)}}function invoke_vidd(t,e,r,o){try{Module.dynCall_vidd(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_iiii(t,e,r,o){try{return Module.dynCall_iiii(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_diii(t,e,r,o){try{return Module.dynCall_diii(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_di(t,e){try{return Module.dynCall_di(t,e)}catch(r){if(typeof r!="number"&&r!=="longjmp")throw r;Module.setThrew(1,0)}}function invoke_iid(t,e,r){try{return Module.dynCall_iid(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_iii(t,e,r){try{return Module.dynCall_iii(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_viiddi(t,e,r,o,a,n){try{Module.dynCall_viiddi(t,e,r,o,a,n)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_viiiiii(t,e,r,o,a,n,u){try{Module.dynCall_viiiiii(t,e,r,o,a,n,u)}catch(A){if(typeof A!="number"&&A!=="longjmp")throw A;Module.setThrew(1,0)}}function invoke_dii(t,e,r){try{return Module.dynCall_dii(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_i(t){try{return Module.dynCall_i(t)}catch(e){if(typeof e!="number"&&e!=="longjmp")throw e;Module.setThrew(1,0)}}function invoke_iiiiii(t,e,r,o,a,n){try{return Module.dynCall_iiiiii(t,e,r,o,a,n)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_viiid(t,e,r,o,a){try{Module.dynCall_viiid(t,e,r,o,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Module.setThrew(1,0)}}function invoke_viififi(t,e,r,o,a,n,u){try{Module.dynCall_viififi(t,e,r,o,a,n,u)}catch(A){if(typeof A!="number"&&A!=="longjmp")throw A;Module.setThrew(1,0)}}function invoke_viii(t,e,r,o){try{Module.dynCall_viii(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_v(t){try{Module.dynCall_v(t)}catch(e){if(typeof e!="number"&&e!=="longjmp")throw e;Module.setThrew(1,0)}}function invoke_viid(t,e,r,o){try{Module.dynCall_viid(t,e,r,o)}catch(a){if(typeof a!="number"&&a!=="longjmp")throw a;Module.setThrew(1,0)}}function invoke_idd(t,e,r){try{return Module.dynCall_idd(t,e,r)}catch(o){if(typeof o!="number"&&o!=="longjmp")throw o;Module.setThrew(1,0)}}function invoke_viiii(t,e,r,o,a){try{Module.dynCall_viiii(t,e,r,o,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Module.setThrew(1,0)}}Module.asmGlobalArg={Math,Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Uint32Array,Float32Array,Float64Array,NaN:NaN,Infinity:1/0},Module.asmLibraryArg={abort,assert,enlargeMemory,getTotalMemory,abortOnCannotGrowMemory,invoke_viiiii,invoke_vif,invoke_vid,invoke_fiff,invoke_vi,invoke_vii,invoke_ii,invoke_viddi,invoke_vidd,invoke_iiii,invoke_diii,invoke_di,invoke_iid,invoke_iii,invoke_viiddi,invoke_viiiiii,invoke_dii,invoke_i,invoke_iiiiii,invoke_viiid,invoke_viififi,invoke_viii,invoke_v,invoke_viid,invoke_idd,invoke_viiii,_emscripten_asm_const_iiiii,_emscripten_asm_const_iiidddddd,_emscripten_asm_const_iiiid,__nbind_reference_external,_emscripten_asm_const_iiiiiiii,_removeAccessorPrefix,_typeModule,__nbind_register_pool,__decorate,_llvm_stackrestore,___cxa_atexit,__extends,__nbind_get_value_object,__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,_emscripten_set_main_loop_timing,__nbind_register_primitive,__nbind_register_type,_emscripten_memcpy_big,__nbind_register_function,___setErrNo,__nbind_register_class,__nbind_finish,_abort,_nbind_value,_llvm_stacksave,___syscall54,_defineHidden,_emscripten_set_main_loop,_emscripten_get_now,__nbind_register_callback_signature,_emscripten_asm_const_iiiiii,__nbind_free_external,_emscripten_asm_const_iiii,_emscripten_asm_const_iiididi,___syscall6,_atexit,___syscall140,___syscall146,DYNAMICTOP_PTR,tempDoublePtr,ABORT,STACKTOP,STACK_MAX,cttz_i8,___dso_handle};var asm=function(t,e,r){var o=new t.Int8Array(r),a=new t.Int16Array(r),n=new t.Int32Array(r),u=new t.Uint8Array(r),A=new t.Uint16Array(r),p=new t.Uint32Array(r),h=new t.Float32Array(r),E=new t.Float64Array(r),I=e.DYNAMICTOP_PTR|0,v=e.tempDoublePtr|0,x=e.ABORT|0,C=e.STACKTOP|0,F=e.STACK_MAX|0,N=e.cttz_i8|0,U=e.___dso_handle|0,J=0,te=0,ae=0,le=0,ce=t.NaN,we=t.Infinity,de=0,Be=0,Ee=0,g=0,me=0,Ce=0,Ae=t.Math.floor,ne=t.Math.abs,Z=t.Math.sqrt,xe=t.Math.pow,Le=t.Math.cos,ht=t.Math.sin,H=t.Math.tan,rt=t.Math.acos,Te=t.Math.asin,Re=t.Math.atan,ke=t.Math.atan2,Ye=t.Math.exp,Se=t.Math.log,et=t.Math.ceil,Ue=t.Math.imul,b=t.Math.min,w=t.Math.max,S=t.Math.clz32,y=t.Math.fround,R=e.abort,V=e.assert,X=e.enlargeMemory,$=e.getTotalMemory,ie=e.abortOnCannotGrowMemory,be=e.invoke_viiiii,Fe=e.invoke_vif,at=e.invoke_vid,dt=e.invoke_fiff,Gt=e.invoke_vi,tr=e.invoke_vii,bt=e.invoke_ii,ln=e.invoke_viddi,kr=e.invoke_vidd,mr=e.invoke_iiii,br=e.invoke_diii,Kr=e.invoke_di,Kn=e.invoke_iid,Os=e.invoke_iii,Ti=e.invoke_viiddi,gs=e.invoke_viiiiii,no=e.invoke_dii,Si=e.invoke_i,Ms=e.invoke_iiiiii,io=e.invoke_viiid,uc=e.invoke_viififi,uu=e.invoke_viii,cp=e.invoke_v,up=e.invoke_viid,Us=e.invoke_idd,Pn=e.invoke_viiii,so=e._emscripten_asm_const_iiiii,_s=e._emscripten_asm_const_iiidddddd,yl=e._emscripten_asm_const_iiiid,El=e.__nbind_reference_external,oo=e._emscripten_asm_const_iiiiiiii,zn=e._removeAccessorPrefix,On=e._typeModule,Li=e.__nbind_register_pool,Mn=e.__decorate,_i=e._llvm_stackrestore,ir=e.___cxa_atexit,Oe=e.__extends,ii=e.__nbind_get_value_object,Ua=e.__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,hr=e._emscripten_set_main_loop_timing,Ac=e.__nbind_register_primitive,Au=e.__nbind_register_type,fc=e._emscripten_memcpy_big,Cl=e.__nbind_register_function,PA=e.___setErrNo,fu=e.__nbind_register_class,Ie=e.__nbind_finish,Tt=e._abort,pc=e._nbind_value,Hi=e._llvm_stacksave,pu=e.___syscall54,Yt=e._defineHidden,wl=e._emscripten_set_main_loop,DA=e._emscripten_get_now,Ap=e.__nbind_register_callback_signature,hc=e._emscripten_asm_const_iiiiii,SA=e.__nbind_free_external,Qn=e._emscripten_asm_const_iiii,hi=e._emscripten_asm_const_iiididi,gc=e.___syscall6,bA=e._atexit,sa=e.___syscall140,Ni=e.___syscall146,Uo=y(0);let Xe=y(0);function ao(s){s=s|0;var l=0;return l=C,C=C+s|0,C=C+15&-16,l|0}function dc(){return C|0}function hu(s){s=s|0,C=s}function qi(s,l){s=s|0,l=l|0,C=s,F=l}function gu(s,l){s=s|0,l=l|0,J||(J=s,te=l)}function xA(s){s=s|0,Ce=s}function Ha(){return Ce|0}function mc(){var s=0,l=0;Pr(8104,8,400)|0,Pr(8504,408,540)|0,s=9044,l=s+44|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));o[9088]=0,o[9089]=1,n[2273]=0,n[2274]=948,n[2275]=948,ir(17,8104,U|0)|0}function ds(s){s=s|0,ft(s+948|0)}function Ht(s){return s=y(s),((Du(s)|0)&2147483647)>>>0>2139095040|0}function Rn(s,l,c){s=s|0,l=l|0,c=c|0;e:do if(n[s+(l<<3)+4>>2]|0)s=s+(l<<3)|0;else{if((l|2|0)==3&&n[s+60>>2]|0){s=s+56|0;break}switch(l|0){case 0:case 2:case 4:case 5:{if(n[s+52>>2]|0){s=s+48|0;break e}break}default:}if(n[s+68>>2]|0){s=s+64|0;break}else{s=(l|1|0)==5?948:c;break}}while(0);return s|0}function Ci(s){s=s|0;var l=0;return l=hP(1e3)|0,oa(s,(l|0)!=0,2456),n[2276]=(n[2276]|0)+1,Pr(l|0,8104,1e3)|0,o[s+2>>0]|0&&(n[l+4>>2]=2,n[l+12>>2]=4),n[l+976>>2]=s,l|0}function oa(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;d=C,C=C+16|0,f=d,l||(n[f>>2]=c,Cg(s,5,3197,f)),C=d}function lo(){return Ci(956)|0}function Hs(s){s=s|0;var l=0;return l=Kt(1e3)|0,aa(l,s),oa(n[s+976>>2]|0,1,2456),n[2276]=(n[2276]|0)+1,n[l+944>>2]=0,l|0}function aa(s,l){s=s|0,l=l|0;var c=0;Pr(s|0,l|0,948)|0,Rm(s+948|0,l+948|0),c=s+960|0,s=l+960|0,l=c+40|0;do n[c>>2]=n[s>>2],c=c+4|0,s=s+4|0;while((c|0)<(l|0))}function la(s){s=s|0;var l=0,c=0,f=0,d=0;if(l=s+944|0,c=n[l>>2]|0,c|0&&(_o(c+948|0,s)|0,n[l>>2]=0),c=wi(s)|0,c|0){l=0;do n[(ms(s,l)|0)+944>>2]=0,l=l+1|0;while((l|0)!=(c|0))}c=s+948|0,f=n[c>>2]|0,d=s+952|0,l=n[d>>2]|0,(l|0)!=(f|0)&&(n[d>>2]=l+(~((l+-4-f|0)>>>2)<<2)),ys(c),gP(s),n[2276]=(n[2276]|0)+-1}function _o(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0;f=n[s>>2]|0,k=s+4|0,c=n[k>>2]|0,m=c;e:do if((f|0)==(c|0))d=f,B=4;else for(s=f;;){if((n[s>>2]|0)==(l|0)){d=s,B=4;break e}if(s=s+4|0,(s|0)==(c|0)){s=0;break}}while(0);return(B|0)==4&&((d|0)!=(c|0)?(f=d+4|0,s=m-f|0,l=s>>2,l&&(Nw(d|0,f|0,s|0)|0,c=n[k>>2]|0),s=d+(l<<2)|0,(c|0)==(s|0)||(n[k>>2]=c+(~((c+-4-s|0)>>>2)<<2)),s=1):s=0),s|0}function wi(s){return s=s|0,(n[s+952>>2]|0)-(n[s+948>>2]|0)>>2|0}function ms(s,l){s=s|0,l=l|0;var c=0;return c=n[s+948>>2]|0,(n[s+952>>2]|0)-c>>2>>>0>l>>>0?s=n[c+(l<<2)>>2]|0:s=0,s|0}function ys(s){s=s|0;var l=0,c=0,f=0,d=0;f=C,C=C+32|0,l=f,d=n[s>>2]|0,c=(n[s+4>>2]|0)-d|0,((n[s+8>>2]|0)-d|0)>>>0>c>>>0&&(d=c>>2,Bp(l,d,d,s+8|0),vg(s,l),_A(l)),C=f}function Es(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0;M=wi(s)|0;do if(M|0){if((n[(ms(s,0)|0)+944>>2]|0)==(s|0)){if(!(_o(s+948|0,l)|0))break;Pr(l+400|0,8504,540)|0,n[l+944>>2]=0,Ne(s);break}B=n[(n[s+976>>2]|0)+12>>2]|0,k=s+948|0,Q=(B|0)==0,c=0,m=0;do f=n[(n[k>>2]|0)+(m<<2)>>2]|0,(f|0)==(l|0)?Ne(s):(d=Hs(f)|0,n[(n[k>>2]|0)+(c<<2)>>2]=d,n[d+944>>2]=s,Q||LF[B&15](f,d,s,c),c=c+1|0),m=m+1|0;while((m|0)!=(M|0));if(c>>>0>>0){Q=s+948|0,k=s+952|0,B=c,c=n[k>>2]|0;do m=(n[Q>>2]|0)+(B<<2)|0,f=m+4|0,d=c-f|0,l=d>>2,l&&(Nw(m|0,f|0,d|0)|0,c=n[k>>2]|0),d=c,f=m+(l<<2)|0,(d|0)!=(f|0)&&(c=d+(~((d+-4-f|0)>>>2)<<2)|0,n[k>>2]=c),B=B+1|0;while((B|0)!=(M|0))}}while(0)}function qs(s){s=s|0;var l=0,c=0,f=0,d=0;Un(s,(wi(s)|0)==0,2491),Un(s,(n[s+944>>2]|0)==0,2545),l=s+948|0,c=n[l>>2]|0,f=s+952|0,d=n[f>>2]|0,(d|0)!=(c|0)&&(n[f>>2]=d+(~((d+-4-c|0)>>>2)<<2)),ys(l),l=s+976|0,c=n[l>>2]|0,Pr(s|0,8104,1e3)|0,o[c+2>>0]|0&&(n[s+4>>2]=2,n[s+12>>2]=4),n[l>>2]=c}function Un(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;d=C,C=C+16|0,f=d,l||(n[f>>2]=c,uo(s,5,3197,f)),C=d}function Dn(){return n[2276]|0}function Cs(){var s=0;return s=hP(20)|0,We((s|0)!=0,2592),n[2277]=(n[2277]|0)+1,n[s>>2]=n[239],n[s+4>>2]=n[240],n[s+8>>2]=n[241],n[s+12>>2]=n[242],n[s+16>>2]=n[243],s|0}function We(s,l){s=s|0,l=l|0;var c=0,f=0;f=C,C=C+16|0,c=f,s||(n[c>>2]=l,uo(0,5,3197,c)),C=f}function tt(s){s=s|0,gP(s),n[2277]=(n[2277]|0)+-1}function It(s,l){s=s|0,l=l|0;var c=0;l?(Un(s,(wi(s)|0)==0,2629),c=1):(c=0,l=0),n[s+964>>2]=l,n[s+988>>2]=c}function or(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,m=f+8|0,d=f+4|0,B=f,n[d>>2]=l,Un(s,(n[l+944>>2]|0)==0,2709),Un(s,(n[s+964>>2]|0)==0,2763),ee(s),l=s+948|0,n[B>>2]=(n[l>>2]|0)+(c<<2),n[m>>2]=n[B>>2],ye(l,m,d)|0,n[(n[d>>2]|0)+944>>2]=s,Ne(s),C=f}function ee(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,k=0;if(c=wi(s)|0,c|0&&(n[(ms(s,0)|0)+944>>2]|0)!=(s|0)){f=n[(n[s+976>>2]|0)+12>>2]|0,d=s+948|0,m=(f|0)==0,l=0;do B=n[(n[d>>2]|0)+(l<<2)>>2]|0,k=Hs(B)|0,n[(n[d>>2]|0)+(l<<2)>>2]=k,n[k+944>>2]=s,m||LF[f&15](B,k,s,l),l=l+1|0;while((l|0)!=(c|0))}}function ye(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0,Ge=0,Me=0,Qe=0,$e=0,Ve=0;$e=C,C=C+64|0,G=$e+52|0,k=$e+48|0,se=$e+28|0,Ge=$e+24|0,Me=$e+20|0,Qe=$e,f=n[s>>2]|0,m=f,l=f+((n[l>>2]|0)-m>>2<<2)|0,f=s+4|0,d=n[f>>2]|0,B=s+8|0;do if(d>>>0<(n[B>>2]|0)>>>0){if((l|0)==(d|0)){n[l>>2]=n[c>>2],n[f>>2]=(n[f>>2]|0)+4;break}HA(s,l,d,l+4|0),l>>>0<=c>>>0&&(c=(n[f>>2]|0)>>>0>c>>>0?c+4|0:c),n[l>>2]=n[c>>2]}else{f=(d-m>>2)+1|0,d=L(s)|0,d>>>0>>0&&Vr(s),O=n[s>>2]|0,M=(n[B>>2]|0)-O|0,m=M>>1,Bp(Qe,M>>2>>>0>>1>>>0?m>>>0>>0?f:m:d,l-O>>2,s+8|0),O=Qe+8|0,f=n[O>>2]|0,m=Qe+12|0,M=n[m>>2]|0,B=M,Q=f;do if((f|0)==(M|0)){if(M=Qe+4|0,f=n[M>>2]|0,Ve=n[Qe>>2]|0,d=Ve,f>>>0<=Ve>>>0){f=B-d>>1,f=(f|0)==0?1:f,Bp(se,f,f>>>2,n[Qe+16>>2]|0),n[Ge>>2]=n[M>>2],n[Me>>2]=n[O>>2],n[k>>2]=n[Ge>>2],n[G>>2]=n[Me>>2],Bw(se,k,G),f=n[Qe>>2]|0,n[Qe>>2]=n[se>>2],n[se>>2]=f,f=se+4|0,Ve=n[M>>2]|0,n[M>>2]=n[f>>2],n[f>>2]=Ve,f=se+8|0,Ve=n[O>>2]|0,n[O>>2]=n[f>>2],n[f>>2]=Ve,f=se+12|0,Ve=n[m>>2]|0,n[m>>2]=n[f>>2],n[f>>2]=Ve,_A(se),f=n[O>>2]|0;break}m=f,B=((m-d>>2)+1|0)/-2|0,k=f+(B<<2)|0,d=Q-m|0,m=d>>2,m&&(Nw(k|0,f|0,d|0)|0,f=n[M>>2]|0),Ve=k+(m<<2)|0,n[O>>2]=Ve,n[M>>2]=f+(B<<2),f=Ve}while(0);n[f>>2]=n[c>>2],n[O>>2]=(n[O>>2]|0)+4,l=Pg(s,Qe,l)|0,_A(Qe)}while(0);return C=$e,l|0}function Ne(s){s=s|0;var l=0;do{if(l=s+984|0,o[l>>0]|0)break;o[l>>0]=1,h[s+504>>2]=y(ce),s=n[s+944>>2]|0}while((s|0)!=0)}function ft(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-4-f|0)>>>2)<<2)),gt(c))}function pt(s){return s=s|0,n[s+944>>2]|0}function Lt(s){s=s|0,Un(s,(n[s+964>>2]|0)!=0,2832),Ne(s)}function rr(s){return s=s|0,(o[s+984>>0]|0)!=0|0}function $r(s,l){s=s|0,l=l|0,RUe(s,l,400)|0&&(Pr(s|0,l|0,400)|0,Ne(s))}function Gi(s){s=s|0;var l=Xe;return l=y(h[s+44>>2]),s=Ht(l)|0,y(s?y(0):l)}function ts(s){s=s|0;var l=Xe;return l=y(h[s+48>>2]),Ht(l)|0&&(l=o[(n[s+976>>2]|0)+2>>0]|0?y(1):y(0)),y(l)}function bi(s,l){s=s|0,l=l|0,n[s+980>>2]=l}function Ho(s){return s=s|0,n[s+980>>2]|0}function kA(s,l){s=s|0,l=l|0;var c=0;c=s+4|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Ne(s))}function QA(s){return s=s|0,n[s+4>>2]|0}function fp(s,l){s=s|0,l=l|0;var c=0;c=s+8|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Ne(s))}function sg(s){return s=s|0,n[s+8>>2]|0}function du(s,l){s=s|0,l=l|0;var c=0;c=s+12|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Ne(s))}function og(s){return s=s|0,n[s+12>>2]|0}function mu(s,l){s=s|0,l=l|0;var c=0;c=s+16|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Ne(s))}function co(s){return s=s|0,n[s+16>>2]|0}function RA(s,l){s=s|0,l=l|0;var c=0;c=s+20|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Ne(s))}function yc(s){return s=s|0,n[s+20>>2]|0}function ca(s,l){s=s|0,l=l|0;var c=0;c=s+24|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Ne(s))}function ag(s){return s=s|0,n[s+24>>2]|0}function Ec(s,l){s=s|0,l=l|0;var c=0;c=s+28|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Ne(s))}function Dm(s){return s=s|0,n[s+28>>2]|0}function lg(s,l){s=s|0,l=l|0;var c=0;c=s+32|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Ne(s))}function ei(s){return s=s|0,n[s+32>>2]|0}function pp(s,l){s=s|0,l=l|0;var c=0;c=s+36|0,(n[c>>2]|0)!=(l|0)&&(n[c>>2]=l,Ne(s))}function cg(s){return s=s|0,n[s+36>>2]|0}function FA(s,l){s=s|0,l=y(l);var c=0;c=s+40|0,y(h[c>>2])!=l&&(h[c>>2]=l,Ne(s))}function Gs(s,l){s=s|0,l=y(l);var c=0;c=s+44|0,y(h[c>>2])!=l&&(h[c>>2]=l,Ne(s))}function yu(s,l){s=s|0,l=y(l);var c=0;c=s+48|0,y(h[c>>2])!=l&&(h[c>>2]=l,Ne(s))}function qa(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ht(l)|0,c=(m^1)&1,f=s+52|0,d=s+56|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Ne(s))}function ji(s,l){s=s|0,l=y(l);var c=0,f=0;f=s+52|0,c=s+56|0,y(h[f>>2])==l&&(n[c>>2]|0)==2||(h[f>>2]=l,f=Ht(l)|0,n[c>>2]=f?3:2,Ne(s))}function ua(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+52|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function Eu(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ht(c)|0,f=(m^1)&1,d=s+132+(l<<3)|0,l=s+132+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Ne(s))}function ws(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ht(c)|0,f=m?0:2,d=s+132+(l<<3)|0,l=s+132+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Ne(s))}function Cc(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=l+132+(c<<3)|0,l=n[f+4>>2]|0,c=s,n[c>>2]=n[f>>2],n[c+4>>2]=l}function wc(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ht(c)|0,f=(m^1)&1,d=s+60+(l<<3)|0,l=s+60+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Ne(s))}function Y(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ht(c)|0,f=m?0:2,d=s+60+(l<<3)|0,l=s+60+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Ne(s))}function Pt(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=l+60+(c<<3)|0,l=n[f+4>>2]|0,c=s,n[c>>2]=n[f>>2],n[c+4>>2]=l}function Il(s,l){s=s|0,l=l|0;var c=0;c=s+60+(l<<3)+4|0,(n[c>>2]|0)!=3&&(h[s+60+(l<<3)>>2]=y(ce),n[c>>2]=3,Ne(s))}function xi(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ht(c)|0,f=(m^1)&1,d=s+204+(l<<3)|0,l=s+204+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Ne(s))}function Ic(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ht(c)|0,f=m?0:2,d=s+204+(l<<3)|0,l=s+204+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Ne(s))}function ct(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=l+204+(c<<3)|0,l=n[f+4>>2]|0,c=s,n[c>>2]=n[f>>2],n[c+4>>2]=l}function Cu(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0,m=0;m=Ht(c)|0,f=(m^1)&1,d=s+276+(l<<3)|0,l=s+276+(l<<3)+4|0,m|y(h[d>>2])==c&&(n[l>>2]|0)==(f|0)||(h[d>>2]=c,n[l>>2]=f,Ne(s))}function ug(s,l){return s=s|0,l=l|0,y(h[s+276+(l<<3)>>2])}function dw(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ht(l)|0,c=(m^1)&1,f=s+348|0,d=s+352|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Ne(s))}function TA(s,l){s=s|0,l=y(l);var c=0,f=0;f=s+348|0,c=s+352|0,y(h[f>>2])==l&&(n[c>>2]|0)==2||(h[f>>2]=l,f=Ht(l)|0,n[c>>2]=f?3:2,Ne(s))}function hp(s){s=s|0;var l=0;l=s+352|0,(n[l>>2]|0)!=3&&(h[s+348>>2]=y(ce),n[l>>2]=3,Ne(s))}function Br(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+348|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function Is(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ht(l)|0,c=(m^1)&1,f=s+356|0,d=s+360|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Ne(s))}function Ag(s,l){s=s|0,l=y(l);var c=0,f=0;f=s+356|0,c=s+360|0,y(h[f>>2])==l&&(n[c>>2]|0)==2||(h[f>>2]=l,f=Ht(l)|0,n[c>>2]=f?3:2,Ne(s))}function fg(s){s=s|0;var l=0;l=s+360|0,(n[l>>2]|0)!=3&&(h[s+356>>2]=y(ce),n[l>>2]=3,Ne(s))}function pg(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+356|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function gp(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ht(l)|0,c=(m^1)&1,f=s+364|0,d=s+368|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Ne(s))}function Bc(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ht(l)|0,c=m?0:2,f=s+364|0,d=s+368|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Ne(s))}function Ct(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+364|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function Sm(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ht(l)|0,c=(m^1)&1,f=s+372|0,d=s+376|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Ne(s))}function hg(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ht(l)|0,c=m?0:2,f=s+372|0,d=s+376|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Ne(s))}function gg(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+372|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function wu(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ht(l)|0,c=(m^1)&1,f=s+380|0,d=s+384|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Ne(s))}function bm(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ht(l)|0,c=m?0:2,f=s+380|0,d=s+384|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Ne(s))}function dg(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+380|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function Iu(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ht(l)|0,c=(m^1)&1,f=s+388|0,d=s+392|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Ne(s))}function mw(s,l){s=s|0,l=y(l);var c=0,f=0,d=0,m=0;m=Ht(l)|0,c=m?0:2,f=s+388|0,d=s+392|0,m|y(h[f>>2])==l&&(n[d>>2]|0)==(c|0)||(h[f>>2]=l,n[d>>2]=c,Ne(s))}function xm(s,l){s=s|0,l=l|0;var c=0,f=0;f=l+388|0,c=n[f+4>>2]|0,l=s,n[l>>2]=n[f>>2],n[l+4>>2]=c}function Aa(s,l){s=s|0,l=y(l);var c=0;c=s+396|0,y(h[c>>2])!=l&&(h[c>>2]=l,Ne(s))}function vc(s){return s=s|0,y(h[s+396>>2])}function Bl(s){return s=s|0,y(h[s+400>>2])}function Bu(s){return s=s|0,y(h[s+404>>2])}function mg(s){return s=s|0,y(h[s+408>>2])}function LA(s){return s=s|0,y(h[s+412>>2])}function dp(s){return s=s|0,y(h[s+416>>2])}function Ga(s){return s=s|0,y(h[s+420>>2])}function yg(s,l){switch(s=s|0,l=l|0,Un(s,(l|0)<6,2918),l|0){case 0:{l=(n[s+496>>2]|0)==2?5:4;break}case 2:{l=(n[s+496>>2]|0)==2?4:5;break}default:}return y(h[s+424+(l<<2)>>2])}function mp(s,l){switch(s=s|0,l=l|0,Un(s,(l|0)<6,2918),l|0){case 0:{l=(n[s+496>>2]|0)==2?5:4;break}case 2:{l=(n[s+496>>2]|0)==2?4:5;break}default:}return y(h[s+448+(l<<2)>>2])}function qo(s,l){switch(s=s|0,l=l|0,Un(s,(l|0)<6,2918),l|0){case 0:{l=(n[s+496>>2]|0)==2?5:4;break}case 2:{l=(n[s+496>>2]|0)==2?4:5;break}default:}return y(h[s+472+(l<<2)>>2])}function Bs(s,l){s=s|0,l=l|0;var c=0,f=Xe;return c=n[s+4>>2]|0,(c|0)==(n[l+4>>2]|0)?c?(f=y(h[s>>2]),s=y(ne(y(f-y(h[l>>2]))))>2]=0,n[f+4>>2]=0,n[f+8>>2]=0,Ua(f|0,s|0,l|0,0),uo(s,3,(o[f+11>>0]|0)<0?n[f>>2]|0:f,c),t3e(f),C=c}function Go(s,l,c,f){s=y(s),l=y(l),c=c|0,f=f|0;var d=Xe;s=y(s*l),d=y(xF(s,y(1)));do if(Ii(d,y(0))|0)s=y(s-d);else{if(s=y(s-d),Ii(d,y(1))|0){s=y(s+y(1));break}if(c){s=y(s+y(1));break}f||(d>y(.5)?d=y(1):(f=Ii(d,y(.5))|0,d=y(f?1:0)),s=y(s+d))}while(0);return y(s/l)}function NA(s,l,c,f,d,m,B,k,Q,M,O,G,se){s=s|0,l=y(l),c=c|0,f=y(f),d=d|0,m=y(m),B=B|0,k=y(k),Q=y(Q),M=y(M),O=y(O),G=y(G),se=se|0;var Ge=0,Me=Xe,Qe=Xe,$e=Xe,Ve=Xe,lt=Xe,_e=Xe;return Q>2]),Me!=y(0))?($e=y(Go(l,Me,0,0)),Ve=y(Go(f,Me,0,0)),Qe=y(Go(m,Me,0,0)),Me=y(Go(k,Me,0,0))):(Qe=m,$e=l,Me=k,Ve=f),(d|0)==(s|0)?Ge=Ii(Qe,$e)|0:Ge=0,(B|0)==(c|0)?se=Ii(Me,Ve)|0:se=0,!Ge&&(lt=y(l-O),!(yp(s,lt,Q)|0))&&!(Ep(s,lt,d,Q)|0)?Ge=Eg(s,lt,d,m,Q)|0:Ge=1,!se&&(_e=y(f-G),!(yp(c,_e,M)|0))&&!(Ep(c,_e,B,M)|0)?se=Eg(c,_e,B,k,M)|0:se=1,se=Ge&se),se|0}function yp(s,l,c){return s=s|0,l=y(l),c=y(c),(s|0)==1?s=Ii(l,c)|0:s=0,s|0}function Ep(s,l,c,f){return s=s|0,l=y(l),c=c|0,f=y(f),(s|0)==2&(c|0)==0?l>=f?s=1:s=Ii(l,f)|0:s=0,s|0}function Eg(s,l,c,f,d){return s=s|0,l=y(l),c=c|0,f=y(f),d=y(d),(s|0)==2&(c|0)==2&f>l?d<=l?s=1:s=Ii(l,d)|0:s=0,s|0}function fa(s,l,c,f,d,m,B,k,Q,M,O){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=m|0,B=y(B),k=y(k),Q=Q|0,M=M|0,O=O|0;var G=0,se=0,Ge=0,Me=0,Qe=Xe,$e=Xe,Ve=0,lt=0,_e=0,qe=0,Nt=0,Mr=0,cr=0,Xt=0,Dr=0,Tr=0,ar=0,xn=Xe,ho=Xe,go=Xe,mo=0,ya=0;ar=C,C=C+160|0,Xt=ar+152|0,cr=ar+120|0,Mr=ar+104|0,_e=ar+72|0,Me=ar+56|0,Nt=ar+8|0,lt=ar,qe=(n[2279]|0)+1|0,n[2279]=qe,Dr=s+984|0,(o[Dr>>0]|0)!=0&&(n[s+512>>2]|0)!=(n[2278]|0)?Ve=4:(n[s+516>>2]|0)==(f|0)?Tr=0:Ve=4,(Ve|0)==4&&(n[s+520>>2]=0,n[s+924>>2]=-1,n[s+928>>2]=-1,h[s+932>>2]=y(-1),h[s+936>>2]=y(-1),Tr=1);e:do if(n[s+964>>2]|0)if(Qe=y(cn(s,2,B)),$e=y(cn(s,0,B)),G=s+916|0,go=y(h[G>>2]),ho=y(h[s+920>>2]),xn=y(h[s+932>>2]),NA(d,l,m,c,n[s+924>>2]|0,go,n[s+928>>2]|0,ho,xn,y(h[s+936>>2]),Qe,$e,O)|0)Ve=22;else if(Ge=n[s+520>>2]|0,!Ge)Ve=21;else for(se=0;;){if(G=s+524+(se*24|0)|0,xn=y(h[G>>2]),ho=y(h[s+524+(se*24|0)+4>>2]),go=y(h[s+524+(se*24|0)+16>>2]),NA(d,l,m,c,n[s+524+(se*24|0)+8>>2]|0,xn,n[s+524+(se*24|0)+12>>2]|0,ho,go,y(h[s+524+(se*24|0)+20>>2]),Qe,$e,O)|0){Ve=22;break e}if(se=se+1|0,se>>>0>=Ge>>>0){Ve=21;break}}else{if(Q){if(G=s+916|0,!(Ii(y(h[G>>2]),l)|0)){Ve=21;break}if(!(Ii(y(h[s+920>>2]),c)|0)){Ve=21;break}if((n[s+924>>2]|0)!=(d|0)){Ve=21;break}G=(n[s+928>>2]|0)==(m|0)?G:0,Ve=22;break}if(Ge=n[s+520>>2]|0,!Ge)Ve=21;else for(se=0;;){if(G=s+524+(se*24|0)|0,Ii(y(h[G>>2]),l)|0&&Ii(y(h[s+524+(se*24|0)+4>>2]),c)|0&&(n[s+524+(se*24|0)+8>>2]|0)==(d|0)&&(n[s+524+(se*24|0)+12>>2]|0)==(m|0)){Ve=22;break e}if(se=se+1|0,se>>>0>=Ge>>>0){Ve=21;break}}}while(0);do if((Ve|0)==21)o[11697]|0?(G=0,Ve=28):(G=0,Ve=31);else if((Ve|0)==22){if(se=(o[11697]|0)!=0,!((G|0)!=0&(Tr^1)))if(se){Ve=28;break}else{Ve=31;break}Me=G+16|0,n[s+908>>2]=n[Me>>2],Ge=G+20|0,n[s+912>>2]=n[Ge>>2],(o[11698]|0)==0|se^1||(n[lt>>2]=OA(qe)|0,n[lt+4>>2]=qe,uo(s,4,2972,lt),se=n[s+972>>2]|0,se|0&&tf[se&127](s),d=ja(d,Q)|0,m=ja(m,Q)|0,ya=+y(h[Me>>2]),mo=+y(h[Ge>>2]),n[Nt>>2]=d,n[Nt+4>>2]=m,E[Nt+8>>3]=+l,E[Nt+16>>3]=+c,E[Nt+24>>3]=ya,E[Nt+32>>3]=mo,n[Nt+40>>2]=M,uo(s,4,2989,Nt))}while(0);return(Ve|0)==28&&(se=OA(qe)|0,n[Me>>2]=se,n[Me+4>>2]=qe,n[Me+8>>2]=Tr?3047:11699,uo(s,4,3038,Me),se=n[s+972>>2]|0,se|0&&tf[se&127](s),Nt=ja(d,Q)|0,Ve=ja(m,Q)|0,n[_e>>2]=Nt,n[_e+4>>2]=Ve,E[_e+8>>3]=+l,E[_e+16>>3]=+c,n[_e+24>>2]=M,uo(s,4,3049,_e),Ve=31),(Ve|0)==31&&(si(s,l,c,f,d,m,B,k,Q,O),o[11697]|0&&(se=n[2279]|0,Nt=OA(se)|0,n[Mr>>2]=Nt,n[Mr+4>>2]=se,n[Mr+8>>2]=Tr?3047:11699,uo(s,4,3083,Mr),se=n[s+972>>2]|0,se|0&&tf[se&127](s),Nt=ja(d,Q)|0,Mr=ja(m,Q)|0,mo=+y(h[s+908>>2]),ya=+y(h[s+912>>2]),n[cr>>2]=Nt,n[cr+4>>2]=Mr,E[cr+8>>3]=mo,E[cr+16>>3]=ya,n[cr+24>>2]=M,uo(s,4,3092,cr)),n[s+516>>2]=f,G||(se=s+520|0,G=n[se>>2]|0,(G|0)==16&&(o[11697]|0&&uo(s,4,3124,Xt),n[se>>2]=0,G=0),Q?G=s+916|0:(n[se>>2]=G+1,G=s+524+(G*24|0)|0),h[G>>2]=l,h[G+4>>2]=c,n[G+8>>2]=d,n[G+12>>2]=m,n[G+16>>2]=n[s+908>>2],n[G+20>>2]=n[s+912>>2],G=0)),Q&&(n[s+416>>2]=n[s+908>>2],n[s+420>>2]=n[s+912>>2],o[s+985>>0]=1,o[Dr>>0]=0),n[2279]=(n[2279]|0)+-1,n[s+512>>2]=n[2278],C=ar,Tr|(G|0)==0|0}function cn(s,l,c){s=s|0,l=l|0,c=y(c);var f=Xe;return f=y(K(s,l,c)),y(f+y(re(s,l,c)))}function uo(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=C,C=C+16|0,d=m,n[d>>2]=f,s?f=n[s+976>>2]|0:f=0,wg(f,s,l,c,d),C=m}function OA(s){return s=s|0,(s>>>0>60?3201:3201+(60-s)|0)|0}function ja(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;return d=C,C=C+32|0,c=d+12|0,f=d,n[c>>2]=n[254],n[c+4>>2]=n[255],n[c+8>>2]=n[256],n[f>>2]=n[257],n[f+4>>2]=n[258],n[f+8>>2]=n[259],(s|0)>2?s=11699:s=n[(l?f:c)+(s<<2)>>2]|0,C=d,s|0}function si(s,l,c,f,d,m,B,k,Q,M){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=m|0,B=y(B),k=y(k),Q=Q|0,M=M|0;var O=0,G=0,se=0,Ge=0,Me=Xe,Qe=Xe,$e=Xe,Ve=Xe,lt=Xe,_e=Xe,qe=Xe,Nt=0,Mr=0,cr=0,Xt=Xe,Dr=Xe,Tr=0,ar=Xe,xn=0,ho=0,go=0,mo=0,ya=0,Fp=0,Tp=0,xl=0,Lp=0,Fu=0,Tu=0,Np=0,Op=0,Mp=0,Xr=0,kl=0,Up=0,kc=0,_p=Xe,Hp=Xe,Lu=Xe,Nu=Xe,Qc=Xe,Ys=0,Xa=0,Yo=0,Ql=0,nf=0,sf=Xe,Ou=Xe,of=Xe,af=Xe,Ws=Xe,Ds=Xe,Rl=0,Fn=Xe,lf=Xe,yo=Xe,Rc=Xe,Eo=Xe,Fc=Xe,cf=0,uf=0,Tc=Xe,Ks=Xe,Fl=0,Af=0,ff=0,pf=0,xr=Xe,Jn=0,Ss=0,Co=0,zs=0,Rr=0,ur=0,Tl=0,Jt=Xe,hf=0,li=0;Tl=C,C=C+16|0,Ys=Tl+12|0,Xa=Tl+8|0,Yo=Tl+4|0,Ql=Tl,Un(s,(d|0)==0|(Ht(l)|0)^1,3326),Un(s,(m|0)==0|(Ht(c)|0)^1,3406),Ss=mt(s,f)|0,n[s+496>>2]=Ss,Rr=fr(2,Ss)|0,ur=fr(0,Ss)|0,h[s+440>>2]=y(K(s,Rr,B)),h[s+444>>2]=y(re(s,Rr,B)),h[s+428>>2]=y(K(s,ur,B)),h[s+436>>2]=y(re(s,ur,B)),h[s+464>>2]=y(Cr(s,Rr)),h[s+468>>2]=y(yn(s,Rr)),h[s+452>>2]=y(Cr(s,ur)),h[s+460>>2]=y(yn(s,ur)),h[s+488>>2]=y(oi(s,Rr,B)),h[s+492>>2]=y(Oi(s,Rr,B)),h[s+476>>2]=y(oi(s,ur,B)),h[s+484>>2]=y(Oi(s,ur,B));do if(n[s+964>>2]|0)Bg(s,l,c,d,m,B,k);else{if(Co=s+948|0,zs=(n[s+952>>2]|0)-(n[Co>>2]|0)>>2,!zs){Yv(s,l,c,d,m,B,k);break}if(!Q&&Wv(s,l,c,d,m,B,k)|0)break;ee(s),kl=s+508|0,o[kl>>0]=0,Rr=fr(n[s+4>>2]|0,Ss)|0,ur=Ew(Rr,Ss)|0,Jn=he(Rr)|0,Up=n[s+8>>2]|0,Af=s+28|0,kc=(n[Af>>2]|0)!=0,Eo=Jn?B:k,Tc=Jn?k:B,_p=y(wp(s,Rr,B)),Hp=y(Cw(s,Rr,B)),Me=y(wp(s,ur,B)),Fc=y(En(s,Rr,B)),Ks=y(En(s,ur,B)),cr=Jn?d:m,Fl=Jn?m:d,xr=Jn?Fc:Ks,lt=Jn?Ks:Fc,Rc=y(cn(s,2,B)),Ve=y(cn(s,0,B)),Qe=y(y(Yr(s+364|0,B))-xr),$e=y(y(Yr(s+380|0,B))-xr),_e=y(y(Yr(s+372|0,k))-lt),qe=y(y(Yr(s+388|0,k))-lt),Lu=Jn?Qe:_e,Nu=Jn?$e:qe,Rc=y(l-Rc),l=y(Rc-xr),Ht(l)|0?xr=l:xr=y(_n(y(Lg(l,$e)),Qe)),lf=y(c-Ve),l=y(lf-lt),Ht(l)|0?yo=l:yo=y(_n(y(Lg(l,qe)),_e)),Qe=Jn?xr:yo,Fn=Jn?yo:xr;e:do if((cr|0)==1)for(f=0,G=0;;){if(O=ms(s,G)|0,!f)y(ns(O))>y(0)&&y(js(O))>y(0)?f=O:f=0;else if(Fm(O)|0){Ge=0;break e}if(G=G+1|0,G>>>0>=zs>>>0){Ge=f;break}}else Ge=0;while(0);Nt=Ge+500|0,Mr=Ge+504|0,f=0,O=0,l=y(0),se=0;do{if(G=n[(n[Co>>2]|0)+(se<<2)>>2]|0,(n[G+36>>2]|0)==1)vu(G),o[G+985>>0]=1,o[G+984>>0]=0;else{vl(G),Q&&Cp(G,mt(G,Ss)|0,Qe,Fn,xr);do if((n[G+24>>2]|0)!=1)if((G|0)==(Ge|0)){n[Nt>>2]=n[2278],h[Mr>>2]=y(0);break}else{Tm(s,G,xr,d,yo,xr,yo,m,Ss,M);break}else O|0&&(n[O+960>>2]=G),n[G+960>>2]=0,O=G,f=(f|0)==0?G:f;while(0);Ds=y(h[G+504>>2]),l=y(l+y(Ds+y(cn(G,Rr,xr))))}se=se+1|0}while((se|0)!=(zs|0));for(go=l>Qe,Rl=kc&((cr|0)==2&go)?1:cr,xn=(Fl|0)==1,ya=xn&(Q^1),Fp=(Rl|0)==1,Tp=(Rl|0)==2,xl=976+(Rr<<2)|0,Lp=(Fl|2|0)==2,Mp=xn&(kc^1),Fu=1040+(ur<<2)|0,Tu=1040+(Rr<<2)|0,Np=976+(ur<<2)|0,Op=(Fl|0)!=1,go=kc&((cr|0)!=0&go),ho=s+976|0,xn=xn^1,l=Qe,Tr=0,mo=0,Ds=y(0),Qc=y(0);;){e:do if(Tr>>>0>>0)for(Mr=n[Co>>2]|0,se=0,qe=y(0),_e=y(0),$e=y(0),Qe=y(0),G=0,O=0,Ge=Tr;;){if(Nt=n[Mr+(Ge<<2)>>2]|0,(n[Nt+36>>2]|0)!=1&&(n[Nt+940>>2]=mo,(n[Nt+24>>2]|0)!=1)){if(Ve=y(cn(Nt,Rr,xr)),Xr=n[xl>>2]|0,c=y(Yr(Nt+380+(Xr<<3)|0,Eo)),lt=y(h[Nt+504>>2]),c=y(Lg(c,lt)),c=y(_n(y(Yr(Nt+364+(Xr<<3)|0,Eo)),c)),kc&(se|0)!=0&y(Ve+y(_e+c))>l){m=se,Ve=qe,cr=Ge;break e}Ve=y(Ve+c),c=y(_e+Ve),Ve=y(qe+Ve),Fm(Nt)|0&&($e=y($e+y(ns(Nt))),Qe=y(Qe-y(lt*y(js(Nt))))),O|0&&(n[O+960>>2]=Nt),n[Nt+960>>2]=0,se=se+1|0,O=Nt,G=(G|0)==0?Nt:G}else Ve=qe,c=_e;if(Ge=Ge+1|0,Ge>>>0>>0)qe=Ve,_e=c;else{m=se,cr=Ge;break}}else m=0,Ve=y(0),$e=y(0),Qe=y(0),G=0,cr=Tr;while(0);Xr=$e>y(0)&$ey(0)&QeNu&((Ht(Nu)|0)^1))l=Nu,Xr=51;else if(o[(n[ho>>2]|0)+3>>0]|0)Xr=51;else{if(Xt!=y(0)&&y(ns(s))!=y(0)){Xr=53;break}l=Ve,Xr=53}while(0);if((Xr|0)==51&&(Xr=0,Ht(l)|0?Xr=53:(Dr=y(l-Ve),ar=l)),(Xr|0)==53&&(Xr=0,Ve>2]|0,Ge=Dry(0),_e=y(Dr/Xt),$e=y(0),Ve=y(0),l=y(0),O=G;do c=y(Yr(O+380+(se<<3)|0,Eo)),Qe=y(Yr(O+364+(se<<3)|0,Eo)),Qe=y(Lg(c,y(_n(Qe,y(h[O+504>>2]))))),Ge?(c=y(Qe*y(js(O))),c!=y(-0)&&(Jt=y(Qe-y(lt*c)),sf=y(Bi(O,Rr,Jt,ar,xr)),Jt!=sf)&&($e=y($e-y(sf-Qe)),l=y(l+c))):Nt&&(Ou=y(ns(O)),Ou!=y(0))&&(Jt=y(Qe+y(_e*Ou)),of=y(Bi(O,Rr,Jt,ar,xr)),Jt!=of)&&($e=y($e-y(of-Qe)),Ve=y(Ve-Ou)),O=n[O+960>>2]|0;while((O|0)!=0);if(l=y(qe+l),Qe=y(Dr+$e),nf)l=y(0);else{lt=y(Xt+Ve),Ge=n[xl>>2]|0,Nt=Qey(0),lt=y(Qe/lt),l=y(0);do{Jt=y(Yr(G+380+(Ge<<3)|0,Eo)),$e=y(Yr(G+364+(Ge<<3)|0,Eo)),$e=y(Lg(Jt,y(_n($e,y(h[G+504>>2]))))),Nt?(Jt=y($e*y(js(G))),Qe=y(-Jt),Jt!=y(-0)?(Jt=y(_e*Qe),Qe=y(Bi(G,Rr,y($e+(Mr?Qe:Jt)),ar,xr))):Qe=$e):se&&(af=y(ns(G)),af!=y(0))?Qe=y(Bi(G,Rr,y($e+y(lt*af)),ar,xr)):Qe=$e,l=y(l-y(Qe-$e)),Ve=y(cn(G,Rr,xr)),c=y(cn(G,ur,xr)),Qe=y(Qe+Ve),h[Xa>>2]=Qe,n[Ql>>2]=1,$e=y(h[G+396>>2]);e:do if(Ht($e)|0){O=Ht(Fn)|0;do if(!O){if(go|(rs(G,ur,Fn)|0|xn)||(ha(s,G)|0)!=4||(n[(Pl(G,ur)|0)+4>>2]|0)==3||(n[(Sc(G,ur)|0)+4>>2]|0)==3)break;h[Ys>>2]=Fn,n[Yo>>2]=1;break e}while(0);if(rs(G,ur,Fn)|0){O=n[G+992+(n[Np>>2]<<2)>>2]|0,Jt=y(c+y(Yr(O,Fn))),h[Ys>>2]=Jt,O=Op&(n[O+4>>2]|0)==2,n[Yo>>2]=((Ht(Jt)|0|O)^1)&1;break}else{h[Ys>>2]=Fn,n[Yo>>2]=O?0:2;break}}else Jt=y(Qe-Ve),Xt=y(Jt/$e),Jt=y($e*Jt),n[Yo>>2]=1,h[Ys>>2]=y(c+(Jn?Xt:Jt));while(0);yr(G,Rr,ar,xr,Ql,Xa),yr(G,ur,Fn,xr,Yo,Ys);do if(!(rs(G,ur,Fn)|0)&&(ha(s,G)|0)==4){if((n[(Pl(G,ur)|0)+4>>2]|0)==3){O=0;break}O=(n[(Sc(G,ur)|0)+4>>2]|0)!=3}else O=0;while(0);Jt=y(h[Xa>>2]),Xt=y(h[Ys>>2]),hf=n[Ql>>2]|0,li=n[Yo>>2]|0,fa(G,Jn?Jt:Xt,Jn?Xt:Jt,Ss,Jn?hf:li,Jn?li:hf,xr,yo,Q&(O^1),3488,M)|0,o[kl>>0]=o[kl>>0]|o[G+508>>0],G=n[G+960>>2]|0}while((G|0)!=0)}}else l=y(0);if(l=y(Dr+l),li=l>0]=li|u[kl>>0],Tp&l>y(0)?(O=n[xl>>2]|0,(n[s+364+(O<<3)+4>>2]|0)!=0&&(Ws=y(Yr(s+364+(O<<3)|0,Eo)),Ws>=y(0))?Qe=y(_n(y(0),y(Ws-y(ar-l)))):Qe=y(0)):Qe=l,Nt=Tr>>>0>>0,Nt){Ge=n[Co>>2]|0,se=Tr,O=0;do G=n[Ge+(se<<2)>>2]|0,n[G+24>>2]|0||(O=((n[(Pl(G,Rr)|0)+4>>2]|0)==3&1)+O|0,O=O+((n[(Sc(G,Rr)|0)+4>>2]|0)==3&1)|0),se=se+1|0;while((se|0)!=(cr|0));O?(Ve=y(0),c=y(0)):Xr=101}else Xr=101;e:do if((Xr|0)==101)switch(Xr=0,Up|0){case 1:{O=0,Ve=y(Qe*y(.5)),c=y(0);break e}case 2:{O=0,Ve=Qe,c=y(0);break e}case 3:{if(m>>>0<=1){O=0,Ve=y(0),c=y(0);break e}c=y((m+-1|0)>>>0),O=0,Ve=y(0),c=y(y(_n(Qe,y(0)))/c);break e}case 5:{c=y(Qe/y((m+1|0)>>>0)),O=0,Ve=c;break e}case 4:{c=y(Qe/y(m>>>0)),O=0,Ve=y(c*y(.5));break e}default:{O=0,Ve=y(0),c=y(0);break e}}while(0);if(l=y(_p+Ve),Nt){$e=y(Qe/y(O|0)),se=n[Co>>2]|0,G=Tr,Qe=y(0);do{O=n[se+(G<<2)>>2]|0;e:do if((n[O+36>>2]|0)!=1){switch(n[O+24>>2]|0){case 1:{if(gi(O,Rr)|0){if(!Q)break e;Jt=y(Or(O,Rr,ar)),Jt=y(Jt+y(Cr(s,Rr))),Jt=y(Jt+y(K(O,Rr,xr))),h[O+400+(n[Tu>>2]<<2)>>2]=Jt;break e}break}case 0:if(li=(n[(Pl(O,Rr)|0)+4>>2]|0)==3,Jt=y($e+l),l=li?Jt:l,Q&&(li=O+400+(n[Tu>>2]<<2)|0,h[li>>2]=y(l+y(h[li>>2]))),li=(n[(Sc(O,Rr)|0)+4>>2]|0)==3,Jt=y($e+l),l=li?Jt:l,ya){Jt=y(c+y(cn(O,Rr,xr))),Qe=Fn,l=y(l+y(Jt+y(h[O+504>>2])));break e}else{l=y(l+y(c+y(is(O,Rr,xr)))),Qe=y(_n(Qe,y(is(O,ur,xr))));break e}default:}Q&&(Jt=y(Ve+y(Cr(s,Rr))),li=O+400+(n[Tu>>2]<<2)|0,h[li>>2]=y(Jt+y(h[li>>2])))}while(0);G=G+1|0}while((G|0)!=(cr|0))}else Qe=y(0);if(c=y(Hp+l),Lp?Ve=y(y(Bi(s,ur,y(Ks+Qe),Tc,B))-Ks):Ve=Fn,$e=y(y(Bi(s,ur,y(Ks+(Mp?Fn:Qe)),Tc,B))-Ks),Nt&Q){G=Tr;do{se=n[(n[Co>>2]|0)+(G<<2)>>2]|0;do if((n[se+36>>2]|0)!=1){if((n[se+24>>2]|0)==1){if(gi(se,ur)|0){if(Jt=y(Or(se,ur,Fn)),Jt=y(Jt+y(Cr(s,ur))),Jt=y(Jt+y(K(se,ur,xr))),O=n[Fu>>2]|0,h[se+400+(O<<2)>>2]=Jt,!(Ht(Jt)|0))break}else O=n[Fu>>2]|0;Jt=y(Cr(s,ur)),h[se+400+(O<<2)>>2]=y(Jt+y(K(se,ur,xr)));break}O=ha(s,se)|0;do if((O|0)==4){if((n[(Pl(se,ur)|0)+4>>2]|0)==3){Xr=139;break}if((n[(Sc(se,ur)|0)+4>>2]|0)==3){Xr=139;break}if(rs(se,ur,Fn)|0){l=Me;break}hf=n[se+908+(n[xl>>2]<<2)>>2]|0,n[Ys>>2]=hf,l=y(h[se+396>>2]),li=Ht(l)|0,Qe=(n[v>>2]=hf,y(h[v>>2])),li?l=$e:(Dr=y(cn(se,ur,xr)),Jt=y(Qe/l),l=y(l*Qe),l=y(Dr+(Jn?Jt:l))),h[Xa>>2]=l,h[Ys>>2]=y(y(cn(se,Rr,xr))+Qe),n[Yo>>2]=1,n[Ql>>2]=1,yr(se,Rr,ar,xr,Yo,Ys),yr(se,ur,Fn,xr,Ql,Xa),l=y(h[Ys>>2]),Dr=y(h[Xa>>2]),Jt=Jn?l:Dr,l=Jn?Dr:l,li=((Ht(Jt)|0)^1)&1,fa(se,Jt,l,Ss,li,((Ht(l)|0)^1)&1,xr,yo,1,3493,M)|0,l=Me}else Xr=139;while(0);e:do if((Xr|0)==139){Xr=0,l=y(Ve-y(is(se,ur,xr)));do if((n[(Pl(se,ur)|0)+4>>2]|0)==3){if((n[(Sc(se,ur)|0)+4>>2]|0)!=3)break;l=y(Me+y(_n(y(0),y(l*y(.5)))));break e}while(0);if((n[(Sc(se,ur)|0)+4>>2]|0)==3){l=Me;break}if((n[(Pl(se,ur)|0)+4>>2]|0)==3){l=y(Me+y(_n(y(0),l)));break}switch(O|0){case 1:{l=Me;break e}case 2:{l=y(Me+y(l*y(.5)));break e}default:{l=y(Me+l);break e}}}while(0);Jt=y(Ds+l),li=se+400+(n[Fu>>2]<<2)|0,h[li>>2]=y(Jt+y(h[li>>2]))}while(0);G=G+1|0}while((G|0)!=(cr|0))}if(Ds=y(Ds+$e),Qc=y(_n(Qc,c)),m=mo+1|0,cr>>>0>=zs>>>0)break;l=ar,Tr=cr,mo=m}do if(Q){if(O=m>>>0>1,!O&&!(Yi(s)|0))break;if(!(Ht(Fn)|0)){l=y(Fn-Ds);e:do switch(n[s+12>>2]|0){case 3:{Me=y(Me+l),_e=y(0);break}case 2:{Me=y(Me+y(l*y(.5))),_e=y(0);break}case 4:{Fn>Ds?_e=y(l/y(m>>>0)):_e=y(0);break}case 7:if(Fn>Ds){Me=y(Me+y(l/y(m<<1>>>0))),_e=y(l/y(m>>>0)),_e=O?_e:y(0);break e}else{Me=y(Me+y(l*y(.5))),_e=y(0);break e}case 6:{_e=y(l/y(mo>>>0)),_e=Fn>Ds&O?_e:y(0);break}default:_e=y(0)}while(0);if(m|0)for(Nt=1040+(ur<<2)|0,Mr=976+(ur<<2)|0,Ge=0,G=0;;){e:do if(G>>>0>>0)for(Qe=y(0),$e=y(0),l=y(0),se=G;;){O=n[(n[Co>>2]|0)+(se<<2)>>2]|0;do if((n[O+36>>2]|0)!=1&&(n[O+24>>2]|0)==0){if((n[O+940>>2]|0)!=(Ge|0))break e;if(Lm(O,ur)|0&&(Jt=y(h[O+908+(n[Mr>>2]<<2)>>2]),l=y(_n(l,y(Jt+y(cn(O,ur,xr)))))),(ha(s,O)|0)!=5)break;Ws=y(Wa(O)),Ws=y(Ws+y(K(O,0,xr))),Jt=y(h[O+912>>2]),Jt=y(y(Jt+y(cn(O,0,xr)))-Ws),Ws=y(_n($e,Ws)),Jt=y(_n(Qe,Jt)),Qe=Jt,$e=Ws,l=y(_n(l,y(Ws+Jt)))}while(0);if(O=se+1|0,O>>>0>>0)se=O;else{se=O;break}}else $e=y(0),l=y(0),se=G;while(0);if(lt=y(_e+l),c=Me,Me=y(Me+lt),G>>>0>>0){Ve=y(c+$e),O=G;do{G=n[(n[Co>>2]|0)+(O<<2)>>2]|0;e:do if((n[G+36>>2]|0)!=1&&(n[G+24>>2]|0)==0)switch(ha(s,G)|0){case 1:{Jt=y(c+y(K(G,ur,xr))),h[G+400+(n[Nt>>2]<<2)>>2]=Jt;break e}case 3:{Jt=y(y(Me-y(re(G,ur,xr)))-y(h[G+908+(n[Mr>>2]<<2)>>2])),h[G+400+(n[Nt>>2]<<2)>>2]=Jt;break e}case 2:{Jt=y(c+y(y(lt-y(h[G+908+(n[Mr>>2]<<2)>>2]))*y(.5))),h[G+400+(n[Nt>>2]<<2)>>2]=Jt;break e}case 4:{if(Jt=y(c+y(K(G,ur,xr))),h[G+400+(n[Nt>>2]<<2)>>2]=Jt,rs(G,ur,Fn)|0||(Jn?(Qe=y(h[G+908>>2]),l=y(Qe+y(cn(G,Rr,xr))),$e=lt):($e=y(h[G+912>>2]),$e=y($e+y(cn(G,ur,xr))),l=lt,Qe=y(h[G+908>>2])),Ii(l,Qe)|0&&Ii($e,y(h[G+912>>2]))|0))break e;fa(G,l,$e,Ss,1,1,xr,yo,1,3501,M)|0;break e}case 5:{h[G+404>>2]=y(y(Ve-y(Wa(G)))+y(Or(G,0,Fn)));break e}default:break e}while(0);O=O+1|0}while((O|0)!=(se|0))}if(Ge=Ge+1|0,(Ge|0)==(m|0))break;G=se}}}while(0);if(h[s+908>>2]=y(Bi(s,2,Rc,B,B)),h[s+912>>2]=y(Bi(s,0,lf,k,B)),(Rl|0)!=0&&(cf=n[s+32>>2]|0,uf=(Rl|0)==2,!(uf&(cf|0)!=2))?uf&(cf|0)==2&&(l=y(Fc+ar),l=y(_n(y(Lg(l,y(MA(s,Rr,Qc,Eo)))),Fc)),Xr=198):(l=y(Bi(s,Rr,Qc,Eo,B)),Xr=198),(Xr|0)==198&&(h[s+908+(n[976+(Rr<<2)>>2]<<2)>>2]=l),(Fl|0)!=0&&(ff=n[s+32>>2]|0,pf=(Fl|0)==2,!(pf&(ff|0)!=2))?pf&(ff|0)==2&&(l=y(Ks+Fn),l=y(_n(y(Lg(l,y(MA(s,ur,y(Ks+Ds),Tc)))),Ks)),Xr=204):(l=y(Bi(s,ur,y(Ks+Ds),Tc,B)),Xr=204),(Xr|0)==204&&(h[s+908+(n[976+(ur<<2)>>2]<<2)>>2]=l),Q){if((n[Af>>2]|0)==2){G=976+(ur<<2)|0,se=1040+(ur<<2)|0,O=0;do Ge=ms(s,O)|0,n[Ge+24>>2]|0||(hf=n[G>>2]|0,Jt=y(h[s+908+(hf<<2)>>2]),li=Ge+400+(n[se>>2]<<2)|0,Jt=y(Jt-y(h[li>>2])),h[li>>2]=y(Jt-y(h[Ge+908+(hf<<2)>>2]))),O=O+1|0;while((O|0)!=(zs|0))}if(f|0){O=Jn?Rl:d;do Nm(s,f,xr,O,yo,Ss,M),f=n[f+960>>2]|0;while((f|0)!=0)}if(O=(Rr|2|0)==3,G=(ur|2|0)==3,O|G){f=0;do se=n[(n[Co>>2]|0)+(f<<2)>>2]|0,(n[se+36>>2]|0)!=1&&(O&&Ip(s,se,Rr),G&&Ip(s,se,ur)),f=f+1|0;while((f|0)!=(zs|0))}}}while(0);C=Tl}function pa(s,l){s=s|0,l=y(l);var c=0;oa(s,l>=y(0),3147),c=l==y(0),h[s+4>>2]=c?y(0):l}function Pc(s,l,c,f){s=s|0,l=y(l),c=y(c),f=f|0;var d=Xe,m=Xe,B=0,k=0,Q=0;n[2278]=(n[2278]|0)+1,vl(s),rs(s,2,l)|0?(d=y(Yr(n[s+992>>2]|0,l)),Q=1,d=y(d+y(cn(s,2,l)))):(d=y(Yr(s+380|0,l)),d>=y(0)?Q=2:(Q=((Ht(l)|0)^1)&1,d=l)),rs(s,0,c)|0?(m=y(Yr(n[s+996>>2]|0,c)),k=1,m=y(m+y(cn(s,0,l)))):(m=y(Yr(s+388|0,c)),m>=y(0)?k=2:(k=((Ht(c)|0)^1)&1,m=c)),B=s+976|0,fa(s,d,m,f,Q,k,l,c,1,3189,n[B>>2]|0)|0&&(Cp(s,n[s+496>>2]|0,l,c,l),Dc(s,y(h[(n[B>>2]|0)+4>>2]),y(0),y(0)),o[11696]|0)&&km(s,7)}function vl(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0;k=C,C=C+32|0,B=k+24|0,m=k+16|0,f=k+8|0,d=k,c=0;do l=s+380+(c<<3)|0,(n[s+380+(c<<3)+4>>2]|0)!=0&&(Q=l,M=n[Q+4>>2]|0,O=f,n[O>>2]=n[Q>>2],n[O+4>>2]=M,O=s+364+(c<<3)|0,M=n[O+4>>2]|0,Q=d,n[Q>>2]=n[O>>2],n[Q+4>>2]=M,n[m>>2]=n[f>>2],n[m+4>>2]=n[f+4>>2],n[B>>2]=n[d>>2],n[B+4>>2]=n[d+4>>2],Bs(m,B)|0)||(l=s+348+(c<<3)|0),n[s+992+(c<<2)>>2]=l,c=c+1|0;while((c|0)!=2);C=k}function rs(s,l,c){s=s|0,l=l|0,c=y(c);var f=0;switch(s=n[s+992+(n[976+(l<<2)>>2]<<2)>>2]|0,n[s+4>>2]|0){case 0:case 3:{s=0;break}case 1:{y(h[s>>2])>2])>2]|0){case 2:{l=y(y(y(h[s>>2])*l)/y(100));break}case 1:{l=y(h[s>>2]);break}default:l=y(ce)}return y(l)}function Cp(s,l,c,f,d){s=s|0,l=l|0,c=y(c),f=y(f),d=y(d);var m=0,B=Xe;l=n[s+944>>2]|0?l:1,m=fr(n[s+4>>2]|0,l)|0,l=Ew(m,l)|0,c=y(Om(s,m,c)),f=y(Om(s,l,f)),B=y(c+y(K(s,m,d))),h[s+400+(n[1040+(m<<2)>>2]<<2)>>2]=B,c=y(c+y(re(s,m,d))),h[s+400+(n[1e3+(m<<2)>>2]<<2)>>2]=c,c=y(f+y(K(s,l,d))),h[s+400+(n[1040+(l<<2)>>2]<<2)>>2]=c,d=y(f+y(re(s,l,d))),h[s+400+(n[1e3+(l<<2)>>2]<<2)>>2]=d}function Dc(s,l,c,f){s=s|0,l=y(l),c=y(c),f=y(f);var d=0,m=0,B=Xe,k=Xe,Q=0,M=0,O=Xe,G=0,se=Xe,Ge=Xe,Me=Xe,Qe=Xe;if(l!=y(0)&&(d=s+400|0,Qe=y(h[d>>2]),m=s+404|0,Me=y(h[m>>2]),G=s+416|0,Ge=y(h[G>>2]),M=s+420|0,B=y(h[M>>2]),se=y(Qe+c),O=y(Me+f),f=y(se+Ge),k=y(O+B),Q=(n[s+988>>2]|0)==1,h[d>>2]=y(Go(Qe,l,0,Q)),h[m>>2]=y(Go(Me,l,0,Q)),c=y(xF(y(Ge*l),y(1))),Ii(c,y(0))|0?m=0:m=(Ii(c,y(1))|0)^1,c=y(xF(y(B*l),y(1))),Ii(c,y(0))|0?d=0:d=(Ii(c,y(1))|0)^1,Qe=y(Go(f,l,Q&m,Q&(m^1))),h[G>>2]=y(Qe-y(Go(se,l,0,Q))),Qe=y(Go(k,l,Q&d,Q&(d^1))),h[M>>2]=y(Qe-y(Go(O,l,0,Q))),m=(n[s+952>>2]|0)-(n[s+948>>2]|0)>>2,m|0)){d=0;do Dc(ms(s,d)|0,l,se,O),d=d+1|0;while((d|0)!=(m|0))}}function yw(s,l,c,f,d){switch(s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,c|0){case 5:case 0:{s=i7(n[489]|0,f,d)|0;break}default:s=XUe(f,d)|0}return s|0}function Cg(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;d=C,C=C+16|0,m=d,n[m>>2]=f,wg(s,0,l,c,m),C=d}function wg(s,l,c,f,d){if(s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,s=s|0?s:956,P7[n[s+8>>2]&1](s,l,c,f,d)|0,(c|0)==5)Tt();else return}function Ya(s,l,c){s=s|0,l=l|0,c=c|0,o[s+l>>0]=c&1}function Rm(s,l){s=s|0,l=l|0;var c=0,f=0;n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,c=l+4|0,f=(n[c>>2]|0)-(n[l>>2]|0)>>2,f|0&&(Ig(s,f),Qt(s,n[l>>2]|0,n[c>>2]|0,f))}function Ig(s,l){s=s|0,l=l|0;var c=0;if((L(s)|0)>>>0>>0&&Vr(s),l>>>0>1073741823)Tt();else{c=Kt(l<<2)|0,n[s+4>>2]=c,n[s>>2]=c,n[s+8>>2]=c+(l<<2);return}}function Qt(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,f=s+4|0,s=c-l|0,(s|0)>0&&(Pr(n[f>>2]|0,l|0,s|0)|0,n[f>>2]=(n[f>>2]|0)+(s>>>2<<2))}function L(s){return s=s|0,1073741823}function K(s,l,c){return s=s|0,l=l|0,c=y(c),he(l)|0&&(n[s+96>>2]|0)!=0?s=s+92|0:s=Rn(s+60|0,n[1040+(l<<2)>>2]|0,992)|0,y(Je(s,c))}function re(s,l,c){return s=s|0,l=l|0,c=y(c),he(l)|0&&(n[s+104>>2]|0)!=0?s=s+100|0:s=Rn(s+60|0,n[1e3+(l<<2)>>2]|0,992)|0,y(Je(s,c))}function he(s){return s=s|0,(s|1|0)==3|0}function Je(s,l){return s=s|0,l=y(l),(n[s+4>>2]|0)==3?l=y(0):l=y(Yr(s,l)),y(l)}function mt(s,l){return s=s|0,l=l|0,s=n[s>>2]|0,((s|0)==0?(l|0)>1?l:1:s)|0}function fr(s,l){s=s|0,l=l|0;var c=0;e:do if((l|0)==2){switch(s|0){case 2:{s=3;break e}case 3:break;default:{c=4;break e}}s=2}else c=4;while(0);return s|0}function Cr(s,l){s=s|0,l=l|0;var c=Xe;return he(l)|0&&(n[s+312>>2]|0)!=0&&(c=y(h[s+308>>2]),c>=y(0))||(c=y(_n(y(h[(Rn(s+276|0,n[1040+(l<<2)>>2]|0,992)|0)>>2]),y(0)))),y(c)}function yn(s,l){s=s|0,l=l|0;var c=Xe;return he(l)|0&&(n[s+320>>2]|0)!=0&&(c=y(h[s+316>>2]),c>=y(0))||(c=y(_n(y(h[(Rn(s+276|0,n[1e3+(l<<2)>>2]|0,992)|0)>>2]),y(0)))),y(c)}function oi(s,l,c){s=s|0,l=l|0,c=y(c);var f=Xe;return he(l)|0&&(n[s+240>>2]|0)!=0&&(f=y(Yr(s+236|0,c)),f>=y(0))||(f=y(_n(y(Yr(Rn(s+204|0,n[1040+(l<<2)>>2]|0,992)|0,c)),y(0)))),y(f)}function Oi(s,l,c){s=s|0,l=l|0,c=y(c);var f=Xe;return he(l)|0&&(n[s+248>>2]|0)!=0&&(f=y(Yr(s+244|0,c)),f>=y(0))||(f=y(_n(y(Yr(Rn(s+204|0,n[1e3+(l<<2)>>2]|0,992)|0,c)),y(0)))),y(f)}function Bg(s,l,c,f,d,m,B){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=y(m),B=y(B);var k=Xe,Q=Xe,M=Xe,O=Xe,G=Xe,se=Xe,Ge=0,Me=0,Qe=0;Qe=C,C=C+16|0,Ge=Qe,Me=s+964|0,Un(s,(n[Me>>2]|0)!=0,3519),k=y(En(s,2,l)),Q=y(En(s,0,l)),M=y(cn(s,2,l)),O=y(cn(s,0,l)),Ht(l)|0?G=l:G=y(_n(y(0),y(y(l-M)-k))),Ht(c)|0?se=c:se=y(_n(y(0),y(y(c-O)-Q))),(f|0)==1&(d|0)==1?(h[s+908>>2]=y(Bi(s,2,y(l-M),m,m)),l=y(Bi(s,0,y(c-O),B,m))):(D7[n[Me>>2]&1](Ge,s,G,f,se,d),G=y(k+y(h[Ge>>2])),se=y(l-M),h[s+908>>2]=y(Bi(s,2,(f|2|0)==2?G:se,m,m)),se=y(Q+y(h[Ge+4>>2])),l=y(c-O),l=y(Bi(s,0,(d|2|0)==2?se:l,B,m))),h[s+912>>2]=l,C=Qe}function Yv(s,l,c,f,d,m,B){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=y(m),B=y(B);var k=Xe,Q=Xe,M=Xe,O=Xe;M=y(En(s,2,m)),k=y(En(s,0,m)),O=y(cn(s,2,m)),Q=y(cn(s,0,m)),l=y(l-O),h[s+908>>2]=y(Bi(s,2,(f|2|0)==2?M:l,m,m)),c=y(c-Q),h[s+912>>2]=y(Bi(s,0,(d|2|0)==2?k:c,B,m))}function Wv(s,l,c,f,d,m,B){s=s|0,l=y(l),c=y(c),f=f|0,d=d|0,m=y(m),B=y(B);var k=0,Q=Xe,M=Xe;return k=(f|0)==2,!(l<=y(0)&k)&&!(c<=y(0)&(d|0)==2)&&!((f|0)==1&(d|0)==1)?s=0:(Q=y(cn(s,0,m)),M=y(cn(s,2,m)),k=l>2]=y(Bi(s,2,k?y(0):l,m,m)),l=y(c-Q),k=c>2]=y(Bi(s,0,k?y(0):l,B,m)),s=1),s|0}function Ew(s,l){return s=s|0,l=l|0,UA(s)|0?s=fr(2,l)|0:s=0,s|0}function wp(s,l,c){return s=s|0,l=l|0,c=y(c),c=y(oi(s,l,c)),y(c+y(Cr(s,l)))}function Cw(s,l,c){return s=s|0,l=l|0,c=y(c),c=y(Oi(s,l,c)),y(c+y(yn(s,l)))}function En(s,l,c){s=s|0,l=l|0,c=y(c);var f=Xe;return f=y(wp(s,l,c)),y(f+y(Cw(s,l,c)))}function Fm(s){return s=s|0,n[s+24>>2]|0?s=0:y(ns(s))!=y(0)?s=1:s=y(js(s))!=y(0),s|0}function ns(s){s=s|0;var l=Xe;if(n[s+944>>2]|0){if(l=y(h[s+44>>2]),Ht(l)|0)return l=y(h[s+40>>2]),s=l>y(0)&((Ht(l)|0)^1),y(s?l:y(0))}else l=y(0);return y(l)}function js(s){s=s|0;var l=Xe,c=0,f=Xe;do if(n[s+944>>2]|0){if(l=y(h[s+48>>2]),Ht(l)|0){if(c=o[(n[s+976>>2]|0)+2>>0]|0,c<<24>>24==0&&(f=y(h[s+40>>2]),f>24?y(1):y(0)}}else l=y(0);while(0);return y(l)}function vu(s){s=s|0;var l=0,c=0;if(Vm(s+400|0,0,540)|0,o[s+985>>0]=1,ee(s),c=wi(s)|0,c|0){l=s+948|0,s=0;do vu(n[(n[l>>2]|0)+(s<<2)>>2]|0),s=s+1|0;while((s|0)!=(c|0))}}function Tm(s,l,c,f,d,m,B,k,Q,M){s=s|0,l=l|0,c=y(c),f=f|0,d=y(d),m=y(m),B=y(B),k=k|0,Q=Q|0,M=M|0;var O=0,G=Xe,se=0,Ge=0,Me=Xe,Qe=Xe,$e=0,Ve=Xe,lt=0,_e=Xe,qe=0,Nt=0,Mr=0,cr=0,Xt=0,Dr=0,Tr=0,ar=0,xn=0,ho=0;xn=C,C=C+16|0,Mr=xn+12|0,cr=xn+8|0,Xt=xn+4|0,Dr=xn,ar=fr(n[s+4>>2]|0,Q)|0,qe=he(ar)|0,G=y(Yr(ww(l)|0,qe?m:B)),Nt=rs(l,2,m)|0,Tr=rs(l,0,B)|0;do if(!(Ht(G)|0)&&!(Ht(qe?c:d)|0)){if(O=l+504|0,!(Ht(y(h[O>>2]))|0)&&(!(Iw(n[l+976>>2]|0,0)|0)||(n[l+500>>2]|0)==(n[2278]|0)))break;h[O>>2]=y(_n(G,y(En(l,ar,m))))}else se=7;while(0);do if((se|0)==7){if(lt=qe^1,!(lt|Nt^1)){B=y(Yr(n[l+992>>2]|0,m)),h[l+504>>2]=y(_n(B,y(En(l,2,m))));break}if(!(qe|Tr^1)){B=y(Yr(n[l+996>>2]|0,B)),h[l+504>>2]=y(_n(B,y(En(l,0,m))));break}h[Mr>>2]=y(ce),h[cr>>2]=y(ce),n[Xt>>2]=0,n[Dr>>2]=0,Ve=y(cn(l,2,m)),_e=y(cn(l,0,m)),Nt?(Me=y(Ve+y(Yr(n[l+992>>2]|0,m))),h[Mr>>2]=Me,n[Xt>>2]=1,Ge=1):(Ge=0,Me=y(ce)),Tr?(G=y(_e+y(Yr(n[l+996>>2]|0,B))),h[cr>>2]=G,n[Dr>>2]=1,O=1):(O=0,G=y(ce)),se=n[s+32>>2]|0,qe&(se|0)==2?se=2:Ht(Me)|0&&!(Ht(c)|0)&&(h[Mr>>2]=c,n[Xt>>2]=2,Ge=2,Me=c),!((se|0)==2<)&&Ht(G)|0&&!(Ht(d)|0)&&(h[cr>>2]=d,n[Dr>>2]=2,O=2,G=d),Qe=y(h[l+396>>2]),$e=Ht(Qe)|0;do if($e)se=Ge;else{if((Ge|0)==1<){h[cr>>2]=y(y(Me-Ve)/Qe),n[Dr>>2]=1,O=1,se=1;break}qe&(O|0)==1?(h[Mr>>2]=y(Qe*y(G-_e)),n[Xt>>2]=1,O=1,se=1):se=Ge}while(0);ho=Ht(c)|0,Ge=(ha(s,l)|0)!=4,!(qe|Nt|((f|0)!=1|ho)|(Ge|(se|0)==1))&&(h[Mr>>2]=c,n[Xt>>2]=1,!$e)&&(h[cr>>2]=y(y(c-Ve)/Qe),n[Dr>>2]=1,O=1),!(Tr|lt|((k|0)!=1|(Ht(d)|0))|(Ge|(O|0)==1))&&(h[cr>>2]=d,n[Dr>>2]=1,!$e)&&(h[Mr>>2]=y(Qe*y(d-_e)),n[Xt>>2]=1),yr(l,2,m,m,Xt,Mr),yr(l,0,B,m,Dr,cr),c=y(h[Mr>>2]),d=y(h[cr>>2]),fa(l,c,d,Q,n[Xt>>2]|0,n[Dr>>2]|0,m,B,0,3565,M)|0,B=y(h[l+908+(n[976+(ar<<2)>>2]<<2)>>2]),h[l+504>>2]=y(_n(B,y(En(l,ar,m))))}while(0);n[l+500>>2]=n[2278],C=xn}function Bi(s,l,c,f,d){return s=s|0,l=l|0,c=y(c),f=y(f),d=y(d),f=y(MA(s,l,c,f)),y(_n(f,y(En(s,l,d))))}function ha(s,l){return s=s|0,l=l|0,l=l+20|0,l=n[((n[l>>2]|0)==0?s+16|0:l)>>2]|0,(l|0)==5&&UA(n[s+4>>2]|0)|0&&(l=1),l|0}function Pl(s,l){return s=s|0,l=l|0,he(l)|0&&(n[s+96>>2]|0)!=0?l=4:l=n[1040+(l<<2)>>2]|0,s+60+(l<<3)|0}function Sc(s,l){return s=s|0,l=l|0,he(l)|0&&(n[s+104>>2]|0)!=0?l=5:l=n[1e3+(l<<2)>>2]|0,s+60+(l<<3)|0}function yr(s,l,c,f,d,m){switch(s=s|0,l=l|0,c=y(c),f=y(f),d=d|0,m=m|0,c=y(Yr(s+380+(n[976+(l<<2)>>2]<<3)|0,c)),c=y(c+y(cn(s,l,f))),n[d>>2]|0){case 2:case 1:{d=Ht(c)|0,f=y(h[m>>2]),h[m>>2]=d|f>2]=2,h[m>>2]=c);break}default:}}function gi(s,l){return s=s|0,l=l|0,s=s+132|0,he(l)|0&&(n[(Rn(s,4,948)|0)+4>>2]|0)!=0?s=1:s=(n[(Rn(s,n[1040+(l<<2)>>2]|0,948)|0)+4>>2]|0)!=0,s|0}function Or(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0;return s=s+132|0,he(l)|0&&(f=Rn(s,4,948)|0,(n[f+4>>2]|0)!=0)?d=4:(f=Rn(s,n[1040+(l<<2)>>2]|0,948)|0,n[f+4>>2]|0?d=4:c=y(0)),(d|0)==4&&(c=y(Yr(f,c))),y(c)}function is(s,l,c){s=s|0,l=l|0,c=y(c);var f=Xe;return f=y(h[s+908+(n[976+(l<<2)>>2]<<2)>>2]),f=y(f+y(K(s,l,c))),y(f+y(re(s,l,c)))}function Yi(s){s=s|0;var l=0,c=0,f=0;e:do if(UA(n[s+4>>2]|0)|0)l=0;else if((n[s+16>>2]|0)!=5)if(c=wi(s)|0,!c)l=0;else for(l=0;;){if(f=ms(s,l)|0,(n[f+24>>2]|0)==0&&(n[f+20>>2]|0)==5){l=1;break e}if(l=l+1|0,l>>>0>=c>>>0){l=0;break}}else l=1;while(0);return l|0}function Lm(s,l){s=s|0,l=l|0;var c=Xe;return c=y(h[s+908+(n[976+(l<<2)>>2]<<2)>>2]),c>=y(0)&((Ht(c)|0)^1)|0}function Wa(s){s=s|0;var l=Xe,c=0,f=0,d=0,m=0,B=0,k=0,Q=Xe;if(c=n[s+968>>2]|0,c)Q=y(h[s+908>>2]),l=y(h[s+912>>2]),l=y(w7[c&0](s,Q,l)),Un(s,(Ht(l)|0)^1,3573);else{m=wi(s)|0;do if(m|0){for(c=0,d=0;;){if(f=ms(s,d)|0,n[f+940>>2]|0){B=8;break}if((n[f+24>>2]|0)!=1)if(k=(ha(s,f)|0)==5,k){c=f;break}else c=(c|0)==0?f:c;if(d=d+1|0,d>>>0>=m>>>0){B=8;break}}if((B|0)==8&&!c)break;return l=y(Wa(c)),y(l+y(h[c+404>>2]))}while(0);l=y(h[s+912>>2])}return y(l)}function MA(s,l,c,f){s=s|0,l=l|0,c=y(c),f=y(f);var d=Xe,m=0;return UA(l)|0?(l=1,m=3):he(l)|0?(l=0,m=3):(f=y(ce),d=y(ce)),(m|0)==3&&(d=y(Yr(s+364+(l<<3)|0,f)),f=y(Yr(s+380+(l<<3)|0,f))),m=f=y(0)&((Ht(f)|0)^1)),c=m?f:c,m=d>=y(0)&((Ht(d)|0)^1)&c>2]|0,m)|0,Me=Ew($e,m)|0,Qe=he($e)|0,G=y(cn(l,2,c)),se=y(cn(l,0,c)),rs(l,2,c)|0?k=y(G+y(Yr(n[l+992>>2]|0,c))):gi(l,2)|0&&lr(l,2)|0?(k=y(h[s+908>>2]),Q=y(Cr(s,2)),Q=y(k-y(Q+y(yn(s,2)))),k=y(Or(l,2,c)),k=y(Bi(l,2,y(Q-y(k+y(Pu(l,2,c)))),c,c))):k=y(ce),rs(l,0,d)|0?Q=y(se+y(Yr(n[l+996>>2]|0,d))):gi(l,0)|0&&lr(l,0)|0?(Q=y(h[s+912>>2]),lt=y(Cr(s,0)),lt=y(Q-y(lt+y(yn(s,0)))),Q=y(Or(l,0,d)),Q=y(Bi(l,0,y(lt-y(Q+y(Pu(l,0,d)))),d,c))):Q=y(ce),M=Ht(k)|0,O=Ht(Q)|0;do if(M^O&&(Ge=y(h[l+396>>2]),!(Ht(Ge)|0)))if(M){k=y(G+y(y(Q-se)*Ge));break}else{lt=y(se+y(y(k-G)/Ge)),Q=O?lt:Q;break}while(0);O=Ht(k)|0,M=Ht(Q)|0,O|M&&(_e=(O^1)&1,f=c>y(0)&((f|0)!=0&O),k=Qe?k:f?c:k,fa(l,k,Q,m,Qe?_e:f?2:_e,O&(M^1)&1,k,Q,0,3623,B)|0,k=y(h[l+908>>2]),k=y(k+y(cn(l,2,c))),Q=y(h[l+912>>2]),Q=y(Q+y(cn(l,0,c)))),fa(l,k,Q,m,1,1,k,Q,1,3635,B)|0,lr(l,$e)|0&&!(gi(l,$e)|0)?(_e=n[976+($e<<2)>>2]|0,lt=y(h[s+908+(_e<<2)>>2]),lt=y(lt-y(h[l+908+(_e<<2)>>2])),lt=y(lt-y(yn(s,$e))),lt=y(lt-y(re(l,$e,c))),lt=y(lt-y(Pu(l,$e,Qe?c:d))),h[l+400+(n[1040+($e<<2)>>2]<<2)>>2]=lt):Ve=21;do if((Ve|0)==21){if(!(gi(l,$e)|0)&&(n[s+8>>2]|0)==1){_e=n[976+($e<<2)>>2]|0,lt=y(h[s+908+(_e<<2)>>2]),lt=y(y(lt-y(h[l+908+(_e<<2)>>2]))*y(.5)),h[l+400+(n[1040+($e<<2)>>2]<<2)>>2]=lt;break}!(gi(l,$e)|0)&&(n[s+8>>2]|0)==2&&(_e=n[976+($e<<2)>>2]|0,lt=y(h[s+908+(_e<<2)>>2]),lt=y(lt-y(h[l+908+(_e<<2)>>2])),h[l+400+(n[1040+($e<<2)>>2]<<2)>>2]=lt)}while(0);lr(l,Me)|0&&!(gi(l,Me)|0)?(_e=n[976+(Me<<2)>>2]|0,lt=y(h[s+908+(_e<<2)>>2]),lt=y(lt-y(h[l+908+(_e<<2)>>2])),lt=y(lt-y(yn(s,Me))),lt=y(lt-y(re(l,Me,c))),lt=y(lt-y(Pu(l,Me,Qe?d:c))),h[l+400+(n[1040+(Me<<2)>>2]<<2)>>2]=lt):Ve=30;do if((Ve|0)==30&&!(gi(l,Me)|0)){if((ha(s,l)|0)==2){_e=n[976+(Me<<2)>>2]|0,lt=y(h[s+908+(_e<<2)>>2]),lt=y(y(lt-y(h[l+908+(_e<<2)>>2]))*y(.5)),h[l+400+(n[1040+(Me<<2)>>2]<<2)>>2]=lt;break}_e=(ha(s,l)|0)==3,_e^(n[s+28>>2]|0)==2&&(_e=n[976+(Me<<2)>>2]|0,lt=y(h[s+908+(_e<<2)>>2]),lt=y(lt-y(h[l+908+(_e<<2)>>2])),h[l+400+(n[1040+(Me<<2)>>2]<<2)>>2]=lt)}while(0)}function Ip(s,l,c){s=s|0,l=l|0,c=c|0;var f=Xe,d=0;d=n[976+(c<<2)>>2]|0,f=y(h[l+908+(d<<2)>>2]),f=y(y(h[s+908+(d<<2)>>2])-f),f=y(f-y(h[l+400+(n[1040+(c<<2)>>2]<<2)>>2])),h[l+400+(n[1e3+(c<<2)>>2]<<2)>>2]=f}function UA(s){return s=s|0,(s|1|0)==1|0}function ww(s){s=s|0;var l=Xe;switch(n[s+56>>2]|0){case 0:case 3:{l=y(h[s+40>>2]),l>y(0)&((Ht(l)|0)^1)?s=o[(n[s+976>>2]|0)+2>>0]|0?1056:992:s=1056;break}default:s=s+52|0}return s|0}function Iw(s,l){return s=s|0,l=l|0,(o[s+l>>0]|0)!=0|0}function lr(s,l){return s=s|0,l=l|0,s=s+132|0,he(l)|0&&(n[(Rn(s,5,948)|0)+4>>2]|0)!=0?s=1:s=(n[(Rn(s,n[1e3+(l<<2)>>2]|0,948)|0)+4>>2]|0)!=0,s|0}function Pu(s,l,c){s=s|0,l=l|0,c=y(c);var f=0,d=0;return s=s+132|0,he(l)|0&&(f=Rn(s,5,948)|0,(n[f+4>>2]|0)!=0)?d=4:(f=Rn(s,n[1e3+(l<<2)>>2]|0,948)|0,n[f+4>>2]|0?d=4:c=y(0)),(d|0)==4&&(c=y(Yr(f,c))),y(c)}function Om(s,l,c){return s=s|0,l=l|0,c=y(c),gi(s,l)|0?c=y(Or(s,l,c)):c=y(-y(Pu(s,l,c))),y(c)}function Du(s){return s=y(s),h[v>>2]=s,n[v>>2]|0|0}function Bp(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>1073741823)Tt();else{d=Kt(l<<2)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<2)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<2)}function vg(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>2)<<2)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function _A(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-4-l|0)>>>2)<<2)),s=n[s>>2]|0,s|0&>(s)}function HA(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0;if(B=s+4|0,k=n[B>>2]|0,d=k-f|0,m=d>>2,s=l+(m<<2)|0,s>>>0>>0){f=k;do n[f>>2]=n[s>>2],s=s+4|0,f=(n[B>>2]|0)+4|0,n[B>>2]=f;while(s>>>0>>0)}m|0&&Nw(k+(0-m<<2)|0,l|0,d|0)|0}function Pg(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0;return k=l+4|0,Q=n[k>>2]|0,d=n[s>>2]|0,B=c,m=B-d|0,f=Q+(0-(m>>2)<<2)|0,n[k>>2]=f,(m|0)>0&&Pr(f|0,d|0,m|0)|0,d=s+4|0,m=l+8|0,f=(n[d>>2]|0)-B|0,(f|0)>0&&(Pr(n[m>>2]|0,c|0,f|0)|0,n[m>>2]=(n[m>>2]|0)+(f>>>2<<2)),B=n[s>>2]|0,n[s>>2]=n[k>>2],n[k>>2]=B,B=n[d>>2]|0,n[d>>2]=n[m>>2],n[m>>2]=B,B=s+8|0,c=l+12|0,s=n[B>>2]|0,n[B>>2]=n[c>>2],n[c>>2]=s,n[l>>2]=n[k>>2],Q|0}function Bw(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;if(B=n[l>>2]|0,m=n[c>>2]|0,(B|0)!=(m|0)){d=s+8|0,c=((m+-4-B|0)>>>2)+1|0,s=B,f=n[d>>2]|0;do n[f>>2]=n[s>>2],f=(n[d>>2]|0)+4|0,n[d>>2]=f,s=s+4|0;while((s|0)!=(m|0));n[l>>2]=B+(c<<2)}}function Mm(){mc()}function ga(){var s=0;return s=Kt(4)|0,qA(s),s|0}function qA(s){s=s|0,n[s>>2]=Cs()|0}function bc(s){s=s|0,s|0&&(Dg(s),gt(s))}function Dg(s){s=s|0,tt(n[s>>2]|0)}function Um(s,l,c){s=s|0,l=l|0,c=c|0,Ya(n[s>>2]|0,l,c)}function Ao(s,l){s=s|0,l=y(l),pa(n[s>>2]|0,l)}function Kv(s,l){return s=s|0,l=l|0,Iw(n[s>>2]|0,l)|0}function vw(){var s=0;return s=Kt(8)|0,zv(s,0),s|0}function zv(s,l){s=s|0,l=l|0,l?l=Ci(n[l>>2]|0)|0:l=lo()|0,n[s>>2]=l,n[s+4>>2]=0,bi(l,s)}function fR(s){s=s|0;var l=0;return l=Kt(8)|0,zv(l,s),l|0}function Jv(s){s=s|0,s|0&&(Su(s),gt(s))}function Su(s){s=s|0;var l=0;la(n[s>>2]|0),l=s+4|0,s=n[l>>2]|0,n[l>>2]=0,s|0&&(GA(s),gt(s))}function GA(s){s=s|0,jA(s)}function jA(s){s=s|0,s=n[s>>2]|0,s|0&&SA(s|0)}function Pw(s){return s=s|0,Ho(s)|0}function _m(s){s=s|0;var l=0,c=0;c=s+4|0,l=n[c>>2]|0,n[c>>2]=0,l|0&&(GA(l),gt(l)),qs(n[s>>2]|0)}function pR(s,l){s=s|0,l=l|0,$r(n[s>>2]|0,n[l>>2]|0)}function hR(s,l){s=s|0,l=l|0,ca(n[s>>2]|0,l)}function Vv(s,l,c){s=s|0,l=l|0,c=+c,Eu(n[s>>2]|0,l,y(c))}function Xv(s,l,c){s=s|0,l=l|0,c=+c,ws(n[s>>2]|0,l,y(c))}function Dw(s,l){s=s|0,l=l|0,du(n[s>>2]|0,l)}function bu(s,l){s=s|0,l=l|0,mu(n[s>>2]|0,l)}function gR(s,l){s=s|0,l=l|0,RA(n[s>>2]|0,l)}function dR(s,l){s=s|0,l=l|0,kA(n[s>>2]|0,l)}function vp(s,l){s=s|0,l=l|0,Ec(n[s>>2]|0,l)}function mR(s,l){s=s|0,l=l|0,fp(n[s>>2]|0,l)}function Zv(s,l,c){s=s|0,l=l|0,c=+c,wc(n[s>>2]|0,l,y(c))}function YA(s,l,c){s=s|0,l=l|0,c=+c,Y(n[s>>2]|0,l,y(c))}function yR(s,l){s=s|0,l=l|0,Il(n[s>>2]|0,l)}function ER(s,l){s=s|0,l=l|0,lg(n[s>>2]|0,l)}function $v(s,l){s=s|0,l=l|0,pp(n[s>>2]|0,l)}function Sw(s,l){s=s|0,l=+l,FA(n[s>>2]|0,y(l))}function bw(s,l){s=s|0,l=+l,qa(n[s>>2]|0,y(l))}function CR(s,l){s=s|0,l=+l,ji(n[s>>2]|0,y(l))}function wR(s,l){s=s|0,l=+l,Gs(n[s>>2]|0,y(l))}function Dl(s,l){s=s|0,l=+l,yu(n[s>>2]|0,y(l))}function xw(s,l){s=s|0,l=+l,dw(n[s>>2]|0,y(l))}function IR(s,l){s=s|0,l=+l,TA(n[s>>2]|0,y(l))}function WA(s){s=s|0,hp(n[s>>2]|0)}function Hm(s,l){s=s|0,l=+l,Is(n[s>>2]|0,y(l))}function xu(s,l){s=s|0,l=+l,Ag(n[s>>2]|0,y(l))}function kw(s){s=s|0,fg(n[s>>2]|0)}function Qw(s,l){s=s|0,l=+l,gp(n[s>>2]|0,y(l))}function BR(s,l){s=s|0,l=+l,Bc(n[s>>2]|0,y(l))}function eP(s,l){s=s|0,l=+l,Sm(n[s>>2]|0,y(l))}function KA(s,l){s=s|0,l=+l,hg(n[s>>2]|0,y(l))}function tP(s,l){s=s|0,l=+l,wu(n[s>>2]|0,y(l))}function qm(s,l){s=s|0,l=+l,bm(n[s>>2]|0,y(l))}function rP(s,l){s=s|0,l=+l,Iu(n[s>>2]|0,y(l))}function nP(s,l){s=s|0,l=+l,mw(n[s>>2]|0,y(l))}function Gm(s,l){s=s|0,l=+l,Aa(n[s>>2]|0,y(l))}function iP(s,l,c){s=s|0,l=l|0,c=+c,Cu(n[s>>2]|0,l,y(c))}function vR(s,l,c){s=s|0,l=l|0,c=+c,xi(n[s>>2]|0,l,y(c))}function D(s,l,c){s=s|0,l=l|0,c=+c,Ic(n[s>>2]|0,l,y(c))}function P(s){return s=s|0,ag(n[s>>2]|0)|0}function T(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=C,C=C+16|0,d=f,Cc(d,n[l>>2]|0,c),q(s,d),C=f}function q(s,l){s=s|0,l=l|0,W(s,n[l+4>>2]|0,+y(h[l>>2]))}function W(s,l,c){s=s|0,l=l|0,c=+c,n[s>>2]=l,E[s+8>>3]=c}function fe(s){return s=s|0,og(n[s>>2]|0)|0}function Pe(s){return s=s|0,co(n[s>>2]|0)|0}function vt(s){return s=s|0,yc(n[s>>2]|0)|0}function wt(s){return s=s|0,QA(n[s>>2]|0)|0}function xt(s){return s=s|0,Dm(n[s>>2]|0)|0}function _r(s){return s=s|0,sg(n[s>>2]|0)|0}function ss(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=C,C=C+16|0,d=f,Pt(d,n[l>>2]|0,c),q(s,d),C=f}function di(s){return s=s|0,ei(n[s>>2]|0)|0}function fo(s){return s=s|0,cg(n[s>>2]|0)|0}function zA(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,ua(f,n[l>>2]|0),q(s,f),C=c}function jo(s){return s=s|0,+ +y(Gi(n[s>>2]|0))}function nt(s){return s=s|0,+ +y(ts(n[s>>2]|0))}function ze(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,Br(f,n[l>>2]|0),q(s,f),C=c}function At(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,pg(f,n[l>>2]|0),q(s,f),C=c}function Wt(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,Ct(f,n[l>>2]|0),q(s,f),C=c}function vr(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,gg(f,n[l>>2]|0),q(s,f),C=c}function Sn(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,dg(f,n[l>>2]|0),q(s,f),C=c}function Qr(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,xm(f,n[l>>2]|0),q(s,f),C=c}function bn(s){return s=s|0,+ +y(vc(n[s>>2]|0))}function ai(s,l){return s=s|0,l=l|0,+ +y(ug(n[s>>2]|0,l))}function tn(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=C,C=C+16|0,d=f,ct(d,n[l>>2]|0,c),q(s,d),C=f}function po(s,l,c){s=s|0,l=l|0,c=c|0,or(n[s>>2]|0,n[l>>2]|0,c)}function PR(s,l){s=s|0,l=l|0,Es(n[s>>2]|0,n[l>>2]|0)}function tve(s){return s=s|0,wi(n[s>>2]|0)|0}function rve(s){return s=s|0,s=pt(n[s>>2]|0)|0,s?s=Pw(s)|0:s=0,s|0}function nve(s,l){return s=s|0,l=l|0,s=ms(n[s>>2]|0,l)|0,s?s=Pw(s)|0:s=0,s|0}function ive(s,l){s=s|0,l=l|0;var c=0,f=0;f=Kt(4)|0,Vj(f,l),c=s+4|0,l=n[c>>2]|0,n[c>>2]=f,l|0&&(GA(l),gt(l)),It(n[s>>2]|0,1)}function Vj(s,l){s=s|0,l=l|0,dve(s,l)}function sve(s,l,c,f,d,m){s=s|0,l=l|0,c=y(c),f=f|0,d=y(d),m=m|0;var B=0,k=0;B=C,C=C+16|0,k=B,ove(k,Ho(l)|0,+c,f,+d,m),h[s>>2]=y(+E[k>>3]),h[s+4>>2]=y(+E[k+8>>3]),C=B}function ove(s,l,c,f,d,m){s=s|0,l=l|0,c=+c,f=f|0,d=+d,m=m|0;var B=0,k=0,Q=0,M=0,O=0;B=C,C=C+32|0,O=B+8|0,M=B+20|0,Q=B,k=B+16|0,E[O>>3]=c,n[M>>2]=f,E[Q>>3]=d,n[k>>2]=m,ave(s,n[l+4>>2]|0,O,M,Q,k),C=B}function ave(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,k=0;B=C,C=C+16|0,k=B,za(k),l=da(l)|0,lve(s,l,+E[c>>3],n[f>>2]|0,+E[d>>3],n[m>>2]|0),Ja(k),C=B}function da(s){return s=s|0,n[s>>2]|0}function lve(s,l,c,f,d,m){s=s|0,l=l|0,c=+c,f=f|0,d=+d,m=m|0;var B=0;B=Sl(cve()|0)|0,c=+JA(c),f=DR(f)|0,d=+JA(d),uve(s,hi(0,B|0,l|0,+c,f|0,+d,DR(m)|0)|0)}function cve(){var s=0;return o[7608]|0||(hve(9120),s=7608,n[s>>2]=1,n[s+4>>2]=0),9120}function Sl(s){return s=s|0,n[s+8>>2]|0}function JA(s){return s=+s,+ +SR(s)}function DR(s){return s=s|0,Zj(s)|0}function uve(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;d=C,C=C+32|0,c=d,f=l,f&1?(Ave(c,0),ii(f|0,c|0)|0,fve(s,c),pve(c)):(n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=n[l+8>>2],n[s+12>>2]=n[l+12>>2]),C=d}function Ave(s,l){s=s|0,l=l|0,Xj(s,l),n[s+8>>2]=0,o[s+24>>0]=0}function fve(s,l){s=s|0,l=l|0,l=l+8|0,n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=n[l+8>>2],n[s+12>>2]=n[l+12>>2]}function pve(s){s=s|0,o[s+24>>0]=0}function Xj(s,l){s=s|0,l=l|0,n[s>>2]=l}function Zj(s){return s=s|0,s|0}function SR(s){return s=+s,+s}function hve(s){s=s|0,bl(s,gve()|0,4)}function gve(){return 1064}function bl(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c,n[s+8>>2]=Ap(l|0,c+1|0)|0}function dve(s,l){s=s|0,l=l|0,l=n[l>>2]|0,n[s>>2]=l,El(l|0)}function mve(s){s=s|0;var l=0,c=0;c=s+4|0,l=n[c>>2]|0,n[c>>2]=0,l|0&&(GA(l),gt(l)),It(n[s>>2]|0,0)}function yve(s){s=s|0,Lt(n[s>>2]|0)}function Eve(s){return s=s|0,rr(n[s>>2]|0)|0}function Cve(s,l,c,f){s=s|0,l=+l,c=+c,f=f|0,Pc(n[s>>2]|0,y(l),y(c),f)}function wve(s){return s=s|0,+ +y(Bl(n[s>>2]|0))}function Ive(s){return s=s|0,+ +y(mg(n[s>>2]|0))}function Bve(s){return s=s|0,+ +y(Bu(n[s>>2]|0))}function vve(s){return s=s|0,+ +y(LA(n[s>>2]|0))}function Pve(s){return s=s|0,+ +y(dp(n[s>>2]|0))}function Dve(s){return s=s|0,+ +y(Ga(n[s>>2]|0))}function Sve(s,l){s=s|0,l=l|0,E[s>>3]=+y(Bl(n[l>>2]|0)),E[s+8>>3]=+y(mg(n[l>>2]|0)),E[s+16>>3]=+y(Bu(n[l>>2]|0)),E[s+24>>3]=+y(LA(n[l>>2]|0)),E[s+32>>3]=+y(dp(n[l>>2]|0)),E[s+40>>3]=+y(Ga(n[l>>2]|0))}function bve(s,l){return s=s|0,l=l|0,+ +y(yg(n[s>>2]|0,l))}function xve(s,l){return s=s|0,l=l|0,+ +y(mp(n[s>>2]|0,l))}function kve(s,l){return s=s|0,l=l|0,+ +y(qo(n[s>>2]|0,l))}function Qve(){return Dn()|0}function Rve(){Fve(),Tve(),Lve(),Nve(),Ove(),Mve()}function Fve(){OLe(11713,4938,1)}function Tve(){rLe(10448)}function Lve(){OTe(10408)}function Nve(){oTe(10324)}function Ove(){hRe(10096)}function Mve(){Uve(9132)}function Uve(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0,Ge=0,Me=0,Qe=0,$e=0,Ve=0,lt=0,_e=0,qe=0,Nt=0,Mr=0,cr=0,Xt=0,Dr=0,Tr=0,ar=0,xn=0,ho=0,go=0,mo=0,ya=0,Fp=0,Tp=0,xl=0,Lp=0,Fu=0,Tu=0,Np=0,Op=0,Mp=0,Xr=0,kl=0,Up=0,kc=0,_p=0,Hp=0,Lu=0,Nu=0,Qc=0,Ys=0,Xa=0,Yo=0,Ql=0,nf=0,sf=0,Ou=0,of=0,af=0,Ws=0,Ds=0,Rl=0,Fn=0,lf=0,yo=0,Rc=0,Eo=0,Fc=0,cf=0,uf=0,Tc=0,Ks=0,Fl=0,Af=0,ff=0,pf=0,xr=0,Jn=0,Ss=0,Co=0,zs=0,Rr=0,ur=0,Tl=0;l=C,C=C+672|0,c=l+656|0,Tl=l+648|0,ur=l+640|0,Rr=l+632|0,zs=l+624|0,Co=l+616|0,Ss=l+608|0,Jn=l+600|0,xr=l+592|0,pf=l+584|0,ff=l+576|0,Af=l+568|0,Fl=l+560|0,Ks=l+552|0,Tc=l+544|0,uf=l+536|0,cf=l+528|0,Fc=l+520|0,Eo=l+512|0,Rc=l+504|0,yo=l+496|0,lf=l+488|0,Fn=l+480|0,Rl=l+472|0,Ds=l+464|0,Ws=l+456|0,af=l+448|0,of=l+440|0,Ou=l+432|0,sf=l+424|0,nf=l+416|0,Ql=l+408|0,Yo=l+400|0,Xa=l+392|0,Ys=l+384|0,Qc=l+376|0,Nu=l+368|0,Lu=l+360|0,Hp=l+352|0,_p=l+344|0,kc=l+336|0,Up=l+328|0,kl=l+320|0,Xr=l+312|0,Mp=l+304|0,Op=l+296|0,Np=l+288|0,Tu=l+280|0,Fu=l+272|0,Lp=l+264|0,xl=l+256|0,Tp=l+248|0,Fp=l+240|0,ya=l+232|0,mo=l+224|0,go=l+216|0,ho=l+208|0,xn=l+200|0,ar=l+192|0,Tr=l+184|0,Dr=l+176|0,Xt=l+168|0,cr=l+160|0,Mr=l+152|0,Nt=l+144|0,qe=l+136|0,_e=l+128|0,lt=l+120|0,Ve=l+112|0,$e=l+104|0,Qe=l+96|0,Me=l+88|0,Ge=l+80|0,se=l+72|0,G=l+64|0,O=l+56|0,M=l+48|0,Q=l+40|0,k=l+32|0,B=l+24|0,m=l+16|0,d=l+8|0,f=l,_ve(s,3646),Hve(s,3651,2)|0,qve(s,3665,2)|0,Gve(s,3682,18)|0,n[Tl>>2]=19,n[Tl+4>>2]=0,n[c>>2]=n[Tl>>2],n[c+4>>2]=n[Tl+4>>2],Rw(s,3690,c)|0,n[ur>>2]=1,n[ur+4>>2]=0,n[c>>2]=n[ur>>2],n[c+4>>2]=n[ur+4>>2],jve(s,3696,c)|0,n[Rr>>2]=2,n[Rr+4>>2]=0,n[c>>2]=n[Rr>>2],n[c+4>>2]=n[Rr+4>>2],ku(s,3706,c)|0,n[zs>>2]=1,n[zs+4>>2]=0,n[c>>2]=n[zs>>2],n[c+4>>2]=n[zs+4>>2],Sg(s,3722,c)|0,n[Co>>2]=2,n[Co+4>>2]=0,n[c>>2]=n[Co>>2],n[c+4>>2]=n[Co+4>>2],Sg(s,3734,c)|0,n[Ss>>2]=3,n[Ss+4>>2]=0,n[c>>2]=n[Ss>>2],n[c+4>>2]=n[Ss+4>>2],ku(s,3753,c)|0,n[Jn>>2]=4,n[Jn+4>>2]=0,n[c>>2]=n[Jn>>2],n[c+4>>2]=n[Jn+4>>2],ku(s,3769,c)|0,n[xr>>2]=5,n[xr+4>>2]=0,n[c>>2]=n[xr>>2],n[c+4>>2]=n[xr+4>>2],ku(s,3783,c)|0,n[pf>>2]=6,n[pf+4>>2]=0,n[c>>2]=n[pf>>2],n[c+4>>2]=n[pf+4>>2],ku(s,3796,c)|0,n[ff>>2]=7,n[ff+4>>2]=0,n[c>>2]=n[ff>>2],n[c+4>>2]=n[ff+4>>2],ku(s,3813,c)|0,n[Af>>2]=8,n[Af+4>>2]=0,n[c>>2]=n[Af>>2],n[c+4>>2]=n[Af+4>>2],ku(s,3825,c)|0,n[Fl>>2]=3,n[Fl+4>>2]=0,n[c>>2]=n[Fl>>2],n[c+4>>2]=n[Fl+4>>2],Sg(s,3843,c)|0,n[Ks>>2]=4,n[Ks+4>>2]=0,n[c>>2]=n[Ks>>2],n[c+4>>2]=n[Ks+4>>2],Sg(s,3853,c)|0,n[Tc>>2]=9,n[Tc+4>>2]=0,n[c>>2]=n[Tc>>2],n[c+4>>2]=n[Tc+4>>2],ku(s,3870,c)|0,n[uf>>2]=10,n[uf+4>>2]=0,n[c>>2]=n[uf>>2],n[c+4>>2]=n[uf+4>>2],ku(s,3884,c)|0,n[cf>>2]=11,n[cf+4>>2]=0,n[c>>2]=n[cf>>2],n[c+4>>2]=n[cf+4>>2],ku(s,3896,c)|0,n[Fc>>2]=1,n[Fc+4>>2]=0,n[c>>2]=n[Fc>>2],n[c+4>>2]=n[Fc+4>>2],vs(s,3907,c)|0,n[Eo>>2]=2,n[Eo+4>>2]=0,n[c>>2]=n[Eo>>2],n[c+4>>2]=n[Eo+4>>2],vs(s,3915,c)|0,n[Rc>>2]=3,n[Rc+4>>2]=0,n[c>>2]=n[Rc>>2],n[c+4>>2]=n[Rc+4>>2],vs(s,3928,c)|0,n[yo>>2]=4,n[yo+4>>2]=0,n[c>>2]=n[yo>>2],n[c+4>>2]=n[yo+4>>2],vs(s,3948,c)|0,n[lf>>2]=5,n[lf+4>>2]=0,n[c>>2]=n[lf>>2],n[c+4>>2]=n[lf+4>>2],vs(s,3960,c)|0,n[Fn>>2]=6,n[Fn+4>>2]=0,n[c>>2]=n[Fn>>2],n[c+4>>2]=n[Fn+4>>2],vs(s,3974,c)|0,n[Rl>>2]=7,n[Rl+4>>2]=0,n[c>>2]=n[Rl>>2],n[c+4>>2]=n[Rl+4>>2],vs(s,3983,c)|0,n[Ds>>2]=20,n[Ds+4>>2]=0,n[c>>2]=n[Ds>>2],n[c+4>>2]=n[Ds+4>>2],Rw(s,3999,c)|0,n[Ws>>2]=8,n[Ws+4>>2]=0,n[c>>2]=n[Ws>>2],n[c+4>>2]=n[Ws+4>>2],vs(s,4012,c)|0,n[af>>2]=9,n[af+4>>2]=0,n[c>>2]=n[af>>2],n[c+4>>2]=n[af+4>>2],vs(s,4022,c)|0,n[of>>2]=21,n[of+4>>2]=0,n[c>>2]=n[of>>2],n[c+4>>2]=n[of+4>>2],Rw(s,4039,c)|0,n[Ou>>2]=10,n[Ou+4>>2]=0,n[c>>2]=n[Ou>>2],n[c+4>>2]=n[Ou+4>>2],vs(s,4053,c)|0,n[sf>>2]=11,n[sf+4>>2]=0,n[c>>2]=n[sf>>2],n[c+4>>2]=n[sf+4>>2],vs(s,4065,c)|0,n[nf>>2]=12,n[nf+4>>2]=0,n[c>>2]=n[nf>>2],n[c+4>>2]=n[nf+4>>2],vs(s,4084,c)|0,n[Ql>>2]=13,n[Ql+4>>2]=0,n[c>>2]=n[Ql>>2],n[c+4>>2]=n[Ql+4>>2],vs(s,4097,c)|0,n[Yo>>2]=14,n[Yo+4>>2]=0,n[c>>2]=n[Yo>>2],n[c+4>>2]=n[Yo+4>>2],vs(s,4117,c)|0,n[Xa>>2]=15,n[Xa+4>>2]=0,n[c>>2]=n[Xa>>2],n[c+4>>2]=n[Xa+4>>2],vs(s,4129,c)|0,n[Ys>>2]=16,n[Ys+4>>2]=0,n[c>>2]=n[Ys>>2],n[c+4>>2]=n[Ys+4>>2],vs(s,4148,c)|0,n[Qc>>2]=17,n[Qc+4>>2]=0,n[c>>2]=n[Qc>>2],n[c+4>>2]=n[Qc+4>>2],vs(s,4161,c)|0,n[Nu>>2]=18,n[Nu+4>>2]=0,n[c>>2]=n[Nu>>2],n[c+4>>2]=n[Nu+4>>2],vs(s,4181,c)|0,n[Lu>>2]=5,n[Lu+4>>2]=0,n[c>>2]=n[Lu>>2],n[c+4>>2]=n[Lu+4>>2],Sg(s,4196,c)|0,n[Hp>>2]=6,n[Hp+4>>2]=0,n[c>>2]=n[Hp>>2],n[c+4>>2]=n[Hp+4>>2],Sg(s,4206,c)|0,n[_p>>2]=7,n[_p+4>>2]=0,n[c>>2]=n[_p>>2],n[c+4>>2]=n[_p+4>>2],Sg(s,4217,c)|0,n[kc>>2]=3,n[kc+4>>2]=0,n[c>>2]=n[kc>>2],n[c+4>>2]=n[kc+4>>2],VA(s,4235,c)|0,n[Up>>2]=1,n[Up+4>>2]=0,n[c>>2]=n[Up>>2],n[c+4>>2]=n[Up+4>>2],bR(s,4251,c)|0,n[kl>>2]=4,n[kl+4>>2]=0,n[c>>2]=n[kl>>2],n[c+4>>2]=n[kl+4>>2],VA(s,4263,c)|0,n[Xr>>2]=5,n[Xr+4>>2]=0,n[c>>2]=n[Xr>>2],n[c+4>>2]=n[Xr+4>>2],VA(s,4279,c)|0,n[Mp>>2]=6,n[Mp+4>>2]=0,n[c>>2]=n[Mp>>2],n[c+4>>2]=n[Mp+4>>2],VA(s,4293,c)|0,n[Op>>2]=7,n[Op+4>>2]=0,n[c>>2]=n[Op>>2],n[c+4>>2]=n[Op+4>>2],VA(s,4306,c)|0,n[Np>>2]=8,n[Np+4>>2]=0,n[c>>2]=n[Np>>2],n[c+4>>2]=n[Np+4>>2],VA(s,4323,c)|0,n[Tu>>2]=9,n[Tu+4>>2]=0,n[c>>2]=n[Tu>>2],n[c+4>>2]=n[Tu+4>>2],VA(s,4335,c)|0,n[Fu>>2]=2,n[Fu+4>>2]=0,n[c>>2]=n[Fu>>2],n[c+4>>2]=n[Fu+4>>2],bR(s,4353,c)|0,n[Lp>>2]=12,n[Lp+4>>2]=0,n[c>>2]=n[Lp>>2],n[c+4>>2]=n[Lp+4>>2],bg(s,4363,c)|0,n[xl>>2]=1,n[xl+4>>2]=0,n[c>>2]=n[xl>>2],n[c+4>>2]=n[xl+4>>2],XA(s,4376,c)|0,n[Tp>>2]=2,n[Tp+4>>2]=0,n[c>>2]=n[Tp>>2],n[c+4>>2]=n[Tp+4>>2],XA(s,4388,c)|0,n[Fp>>2]=13,n[Fp+4>>2]=0,n[c>>2]=n[Fp>>2],n[c+4>>2]=n[Fp+4>>2],bg(s,4402,c)|0,n[ya>>2]=14,n[ya+4>>2]=0,n[c>>2]=n[ya>>2],n[c+4>>2]=n[ya+4>>2],bg(s,4411,c)|0,n[mo>>2]=15,n[mo+4>>2]=0,n[c>>2]=n[mo>>2],n[c+4>>2]=n[mo+4>>2],bg(s,4421,c)|0,n[go>>2]=16,n[go+4>>2]=0,n[c>>2]=n[go>>2],n[c+4>>2]=n[go+4>>2],bg(s,4433,c)|0,n[ho>>2]=17,n[ho+4>>2]=0,n[c>>2]=n[ho>>2],n[c+4>>2]=n[ho+4>>2],bg(s,4446,c)|0,n[xn>>2]=18,n[xn+4>>2]=0,n[c>>2]=n[xn>>2],n[c+4>>2]=n[xn+4>>2],bg(s,4458,c)|0,n[ar>>2]=3,n[ar+4>>2]=0,n[c>>2]=n[ar>>2],n[c+4>>2]=n[ar+4>>2],XA(s,4471,c)|0,n[Tr>>2]=1,n[Tr+4>>2]=0,n[c>>2]=n[Tr>>2],n[c+4>>2]=n[Tr+4>>2],sP(s,4486,c)|0,n[Dr>>2]=10,n[Dr+4>>2]=0,n[c>>2]=n[Dr>>2],n[c+4>>2]=n[Dr+4>>2],VA(s,4496,c)|0,n[Xt>>2]=11,n[Xt+4>>2]=0,n[c>>2]=n[Xt>>2],n[c+4>>2]=n[Xt+4>>2],VA(s,4508,c)|0,n[cr>>2]=3,n[cr+4>>2]=0,n[c>>2]=n[cr>>2],n[c+4>>2]=n[cr+4>>2],bR(s,4519,c)|0,n[Mr>>2]=4,n[Mr+4>>2]=0,n[c>>2]=n[Mr>>2],n[c+4>>2]=n[Mr+4>>2],Yve(s,4530,c)|0,n[Nt>>2]=19,n[Nt+4>>2]=0,n[c>>2]=n[Nt>>2],n[c+4>>2]=n[Nt+4>>2],Wve(s,4542,c)|0,n[qe>>2]=12,n[qe+4>>2]=0,n[c>>2]=n[qe>>2],n[c+4>>2]=n[qe+4>>2],Kve(s,4554,c)|0,n[_e>>2]=13,n[_e+4>>2]=0,n[c>>2]=n[_e>>2],n[c+4>>2]=n[_e+4>>2],zve(s,4568,c)|0,n[lt>>2]=2,n[lt+4>>2]=0,n[c>>2]=n[lt>>2],n[c+4>>2]=n[lt+4>>2],Jve(s,4578,c)|0,n[Ve>>2]=20,n[Ve+4>>2]=0,n[c>>2]=n[Ve>>2],n[c+4>>2]=n[Ve+4>>2],Vve(s,4587,c)|0,n[$e>>2]=22,n[$e+4>>2]=0,n[c>>2]=n[$e>>2],n[c+4>>2]=n[$e+4>>2],Rw(s,4602,c)|0,n[Qe>>2]=23,n[Qe+4>>2]=0,n[c>>2]=n[Qe>>2],n[c+4>>2]=n[Qe+4>>2],Rw(s,4619,c)|0,n[Me>>2]=14,n[Me+4>>2]=0,n[c>>2]=n[Me>>2],n[c+4>>2]=n[Me+4>>2],Xve(s,4629,c)|0,n[Ge>>2]=1,n[Ge+4>>2]=0,n[c>>2]=n[Ge>>2],n[c+4>>2]=n[Ge+4>>2],Zve(s,4637,c)|0,n[se>>2]=4,n[se+4>>2]=0,n[c>>2]=n[se>>2],n[c+4>>2]=n[se+4>>2],XA(s,4653,c)|0,n[G>>2]=5,n[G+4>>2]=0,n[c>>2]=n[G>>2],n[c+4>>2]=n[G+4>>2],XA(s,4669,c)|0,n[O>>2]=6,n[O+4>>2]=0,n[c>>2]=n[O>>2],n[c+4>>2]=n[O+4>>2],XA(s,4686,c)|0,n[M>>2]=7,n[M+4>>2]=0,n[c>>2]=n[M>>2],n[c+4>>2]=n[M+4>>2],XA(s,4701,c)|0,n[Q>>2]=8,n[Q+4>>2]=0,n[c>>2]=n[Q>>2],n[c+4>>2]=n[Q+4>>2],XA(s,4719,c)|0,n[k>>2]=9,n[k+4>>2]=0,n[c>>2]=n[k>>2],n[c+4>>2]=n[k+4>>2],XA(s,4736,c)|0,n[B>>2]=21,n[B+4>>2]=0,n[c>>2]=n[B>>2],n[c+4>>2]=n[B+4>>2],$ve(s,4754,c)|0,n[m>>2]=2,n[m+4>>2]=0,n[c>>2]=n[m>>2],n[c+4>>2]=n[m+4>>2],sP(s,4772,c)|0,n[d>>2]=3,n[d+4>>2]=0,n[c>>2]=n[d>>2],n[c+4>>2]=n[d+4>>2],sP(s,4790,c)|0,n[f>>2]=4,n[f+4>>2]=0,n[c>>2]=n[f>>2],n[c+4>>2]=n[f+4>>2],sP(s,4808,c)|0,C=l}function _ve(s,l){s=s|0,l=l|0;var c=0;c=sRe()|0,n[s>>2]=c,oRe(c,l),kp(n[s>>2]|0)}function Hve(s,l,c){return s=s|0,l=l|0,c=c|0,YQe(s,pn(l)|0,c,0),s|0}function qve(s,l,c){return s=s|0,l=l|0,c=c|0,xQe(s,pn(l)|0,c,0),s|0}function Gve(s,l,c){return s=s|0,l=l|0,c=c|0,gQe(s,pn(l)|0,c,0),s|0}function Rw(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],$ke(s,l,d),C=f,s|0}function jve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Tke(s,l,d),C=f,s|0}function ku(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],yke(s,l,d),C=f,s|0}function Sg(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],rke(s,l,d),C=f,s|0}function vs(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],_xe(s,l,d),C=f,s|0}function VA(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],vxe(s,l,d),C=f,s|0}function bR(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],lxe(s,l,d),C=f,s|0}function bg(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Tbe(s,l,d),C=f,s|0}function XA(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],ybe(s,l,d),C=f,s|0}function sP(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],rbe(s,l,d),C=f,s|0}function Yve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],_Se(s,l,d),C=f,s|0}function Wve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],vSe(s,l,d),C=f,s|0}function Kve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],cSe(s,l,d),C=f,s|0}function zve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],zDe(s,l,d),C=f,s|0}function Jve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],QDe(s,l,d),C=f,s|0}function Vve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],hDe(s,l,d),C=f,s|0}function Xve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],ZPe(s,l,d),C=f,s|0}function Zve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],TPe(s,l,d),C=f,s|0}function $ve(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],ePe(s,l,d),C=f,s|0}function ePe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],tPe(s,c,d,1),C=f}function pn(s){return s=s|0,s|0}function tPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=xR()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=rPe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,nPe(m,f)|0,f),C=d}function xR(){var s=0,l=0;if(o[7616]|0||(t9(9136),ir(24,9136,U|0)|0,l=7616,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9136)|0)){s=9136,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));t9(9136)}return 9136}function rPe(s){return s=s|0,0}function nPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=xR()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],e9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(oPe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function hn(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,k=0,Q=0,M=0,O=0,G=0,se=0,Ge=0;B=C,C=C+32|0,se=B+24|0,G=B+20|0,Q=B+16|0,O=B+12|0,M=B+8|0,k=B+4|0,Ge=B,n[G>>2]=l,n[Q>>2]=c,n[O>>2]=f,n[M>>2]=d,n[k>>2]=m,m=s+28|0,n[Ge>>2]=n[m>>2],n[se>>2]=n[Ge>>2],iPe(s+24|0,se,G,O,M,Q,k)|0,n[m>>2]=n[n[m>>2]>>2],C=B}function iPe(s,l,c,f,d,m,B){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0,s=sPe(l)|0,l=Kt(24)|0,$j(l+4|0,n[c>>2]|0,n[f>>2]|0,n[d>>2]|0,n[m>>2]|0,n[B>>2]|0),n[l>>2]=n[s>>2],n[s>>2]=l,l|0}function sPe(s){return s=s|0,n[s>>2]|0}function $j(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,n[s>>2]=l,n[s+4>>2]=c,n[s+8>>2]=f,n[s+12>>2]=d,n[s+16>>2]=m}function gr(s,l){return s=s|0,l=l|0,l|s|0}function e9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function oPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=aPe(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,lPe(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],e9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,cPe(s,k),uPe(k),C=M;return}}function aPe(s){return s=s|0,357913941}function lPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function cPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function uPe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function t9(s){s=s|0,pPe(s)}function APe(s){s=s|0,fPe(s+24|0)}function Fr(s){return s=s|0,n[s>>2]|0}function fPe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function pPe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,3,l,hPe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function zr(){return 9228}function hPe(){return 1140}function gPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=dPe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=mPe(l,f)|0,C=c,l|0}function Jr(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,n[s>>2]=l,n[s+4>>2]=c,n[s+8>>2]=f,n[s+12>>2]=d,n[s+16>>2]=m}function dPe(s){return s=s|0,(n[(xR()|0)+24>>2]|0)+(s*12|0)|0}function mPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;return d=C,C=C+48|0,f=d,c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),rf[c&31](f,s),f=yPe(f)|0,C=d,f|0}function yPe(s){s=s|0;var l=0,c=0,f=0,d=0;return d=C,C=C+32|0,l=d+12|0,c=d,f=kR(r9()|0)|0,f?(QR(l,f),RR(c,l),EPe(s,c),s=FR(l)|0):s=CPe(s)|0,C=d,s|0}function r9(){var s=0;return o[7632]|0||(kPe(9184),ir(25,9184,U|0)|0,s=7632,n[s>>2]=1,n[s+4>>2]=0),9184}function kR(s){return s=s|0,n[s+36>>2]|0}function QR(s,l){s=s|0,l=l|0,n[s>>2]=l,n[s+4>>2]=s,n[s+8>>2]=0}function RR(s,l){s=s|0,l=l|0,n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=0}function EPe(s,l){s=s|0,l=l|0,vPe(l,s,s+8|0,s+16|0,s+24|0,s+32|0,s+40|0)|0}function FR(s){return s=s|0,n[(n[s+4>>2]|0)+8>>2]|0}function CPe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,k=0,Q=0;Q=C,C=C+16|0,c=Q+4|0,f=Q,d=Ka(8)|0,m=d,B=Kt(48)|0,k=B,l=k+48|0;do n[k>>2]=n[s>>2],k=k+4|0,s=s+4|0;while((k|0)<(l|0));return l=m+4|0,n[l>>2]=B,k=Kt(8)|0,B=n[l>>2]|0,n[f>>2]=0,n[c>>2]=n[f>>2],n9(k,B,c),n[d>>2]=k,C=Q,m|0}function n9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Kt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1092,n[c+12>>2]=l,n[s+4>>2]=c}function wPe(s){s=s|0,Jm(s),gt(s)}function IPe(s){s=s|0,s=n[s+12>>2]|0,s|0&>(s)}function BPe(s){s=s|0,gt(s)}function vPe(s,l,c,f,d,m,B){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0,m=PPe(n[s>>2]|0,l,c,f,d,m,B)|0,B=s+4|0,n[(n[B>>2]|0)+8>>2]=m,n[(n[B>>2]|0)+8>>2]|0}function PPe(s,l,c,f,d,m,B){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0;var k=0,Q=0;return k=C,C=C+16|0,Q=k,za(Q),s=da(s)|0,B=DPe(s,+E[l>>3],+E[c>>3],+E[f>>3],+E[d>>3],+E[m>>3],+E[B>>3])|0,Ja(Q),C=k,B|0}function DPe(s,l,c,f,d,m,B){s=s|0,l=+l,c=+c,f=+f,d=+d,m=+m,B=+B;var k=0;return k=Sl(SPe()|0)|0,l=+JA(l),c=+JA(c),f=+JA(f),d=+JA(d),m=+JA(m),_s(0,k|0,s|0,+l,+c,+f,+d,+m,+ +JA(B))|0}function SPe(){var s=0;return o[7624]|0||(bPe(9172),s=7624,n[s>>2]=1,n[s+4>>2]=0),9172}function bPe(s){s=s|0,bl(s,xPe()|0,6)}function xPe(){return 1112}function kPe(s){s=s|0,Pp(s)}function QPe(s){s=s|0,i9(s+24|0),s9(s+16|0)}function i9(s){s=s|0,FPe(s)}function s9(s){s=s|0,RPe(s)}function RPe(s){s=s|0;var l=0,c=0;if(l=n[s>>2]|0,l|0)do c=l,l=n[l>>2]|0,gt(c);while((l|0)!=0);n[s>>2]=0}function FPe(s){s=s|0;var l=0,c=0;if(l=n[s>>2]|0,l|0)do c=l,l=n[l>>2]|0,gt(c);while((l|0)!=0);n[s>>2]=0}function Pp(s){s=s|0;var l=0;n[s+16>>2]=0,n[s+20>>2]=0,l=s+24|0,n[l>>2]=0,n[s+28>>2]=l,n[s+36>>2]=0,o[s+40>>0]=0,o[s+41>>0]=0}function TPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],LPe(s,c,d,0),C=f}function LPe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=TR()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=NPe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,OPe(m,f)|0,f),C=d}function TR(){var s=0,l=0;if(o[7640]|0||(a9(9232),ir(26,9232,U|0)|0,l=7640,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9232)|0)){s=9232,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));a9(9232)}return 9232}function NPe(s){return s=s|0,0}function OPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=TR()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],o9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(MPe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function o9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function MPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=UPe(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,_Pe(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],o9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,HPe(s,k),qPe(k),C=M;return}}function UPe(s){return s=s|0,357913941}function _Pe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function HPe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function qPe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function a9(s){s=s|0,YPe(s)}function GPe(s){s=s|0,jPe(s+24|0)}function jPe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function YPe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,1,l,WPe()|0,3),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function WPe(){return 1144}function KPe(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0;var m=0,B=0,k=0,Q=0;m=C,C=C+16|0,B=m+8|0,k=m,Q=zPe(s)|0,s=n[Q+4>>2]|0,n[k>>2]=n[Q>>2],n[k+4>>2]=s,n[B>>2]=n[k>>2],n[B+4>>2]=n[k+4>>2],JPe(l,B,c,f,d),C=m}function zPe(s){return s=s|0,(n[(TR()|0)+24>>2]|0)+(s*12|0)|0}function JPe(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0;var m=0,B=0,k=0,Q=0,M=0;M=C,C=C+16|0,B=M+2|0,k=M+1|0,Q=M,m=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(m=n[(n[s>>2]|0)+m>>2]|0),Qu(B,c),c=+Ru(B,c),Qu(k,f),f=+Ru(k,f),ZA(Q,d),Q=$A(Q,d)|0,I7[m&1](s,c,f,Q),C=M}function Qu(s,l){s=s|0,l=+l}function Ru(s,l){return s=s|0,l=+l,+ +XPe(l)}function ZA(s,l){s=s|0,l=l|0}function $A(s,l){return s=s|0,l=l|0,VPe(l)|0}function VPe(s){return s=s|0,s|0}function XPe(s){return s=+s,+s}function ZPe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],$Pe(s,c,d,1),C=f}function $Pe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=LR()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=eDe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,tDe(m,f)|0,f),C=d}function LR(){var s=0,l=0;if(o[7648]|0||(c9(9268),ir(27,9268,U|0)|0,l=7648,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9268)|0)){s=9268,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));c9(9268)}return 9268}function eDe(s){return s=s|0,0}function tDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=LR()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],l9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(rDe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function l9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function rDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=nDe(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,iDe(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],l9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,sDe(s,k),oDe(k),C=M;return}}function nDe(s){return s=s|0,357913941}function iDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function sDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function oDe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function c9(s){s=s|0,cDe(s)}function aDe(s){s=s|0,lDe(s+24|0)}function lDe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function cDe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,4,l,uDe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function uDe(){return 1160}function ADe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=fDe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=pDe(l,f)|0,C=c,l|0}function fDe(s){return s=s|0,(n[(LR()|0)+24>>2]|0)+(s*12|0)|0}function pDe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),u9(Og[c&31](s)|0)|0}function u9(s){return s=s|0,s&1|0}function hDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],gDe(s,c,d,0),C=f}function gDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=NR()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=dDe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,mDe(m,f)|0,f),C=d}function NR(){var s=0,l=0;if(o[7656]|0||(f9(9304),ir(28,9304,U|0)|0,l=7656,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9304)|0)){s=9304,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));f9(9304)}return 9304}function dDe(s){return s=s|0,0}function mDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=NR()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],A9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(yDe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function A9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function yDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=EDe(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,CDe(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],A9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,wDe(s,k),IDe(k),C=M;return}}function EDe(s){return s=s|0,357913941}function CDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function wDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function IDe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function f9(s){s=s|0,PDe(s)}function BDe(s){s=s|0,vDe(s+24|0)}function vDe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function PDe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,5,l,DDe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function DDe(){return 1164}function SDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=bDe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],xDe(l,d,c),C=f}function bDe(s){return s=s|0,(n[(NR()|0)+24>>2]|0)+(s*12|0)|0}function xDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),Dp(d,c),c=Sp(d,c)|0,rf[f&31](s,c),bp(d),C=m}function Dp(s,l){s=s|0,l=l|0,kDe(s,l)}function Sp(s,l){return s=s|0,l=l|0,s|0}function bp(s){s=s|0,GA(s)}function kDe(s,l){s=s|0,l=l|0,OR(s,l)}function OR(s,l){s=s|0,l=l|0,n[s>>2]=l}function QDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],RDe(s,c,d,0),C=f}function RDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=MR()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=FDe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,TDe(m,f)|0,f),C=d}function MR(){var s=0,l=0;if(o[7664]|0||(h9(9340),ir(29,9340,U|0)|0,l=7664,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9340)|0)){s=9340,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));h9(9340)}return 9340}function FDe(s){return s=s|0,0}function TDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=MR()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],p9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(LDe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function p9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function LDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=NDe(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,ODe(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],p9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,MDe(s,k),UDe(k),C=M;return}}function NDe(s){return s=s|0,357913941}function ODe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function MDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function UDe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function h9(s){s=s|0,qDe(s)}function _De(s){s=s|0,HDe(s+24|0)}function HDe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function qDe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,4,l,GDe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function GDe(){return 1180}function jDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=YDe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=WDe(l,d,c)|0,C=f,c|0}function YDe(s){return s=s|0,(n[(MR()|0)+24>>2]|0)+(s*12|0)|0}function WDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;return m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),xg(d,c),d=kg(d,c)|0,d=oP(TF[f&15](s,d)|0)|0,C=m,d|0}function xg(s,l){s=s|0,l=l|0}function kg(s,l){return s=s|0,l=l|0,KDe(l)|0}function oP(s){return s=s|0,s|0}function KDe(s){return s=s|0,s|0}function zDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],JDe(s,c,d,0),C=f}function JDe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=UR()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=VDe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,XDe(m,f)|0,f),C=d}function UR(){var s=0,l=0;if(o[7672]|0||(d9(9376),ir(30,9376,U|0)|0,l=7672,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9376)|0)){s=9376,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));d9(9376)}return 9376}function VDe(s){return s=s|0,0}function XDe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=UR()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],g9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(ZDe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function g9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function ZDe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=$De(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,eSe(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],g9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,tSe(s,k),rSe(k),C=M;return}}function $De(s){return s=s|0,357913941}function eSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function tSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function rSe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function d9(s){s=s|0,sSe(s)}function nSe(s){s=s|0,iSe(s+24|0)}function iSe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function sSe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,5,l,m9()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function m9(){return 1196}function oSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=aSe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=lSe(l,f)|0,C=c,l|0}function aSe(s){return s=s|0,(n[(UR()|0)+24>>2]|0)+(s*12|0)|0}function lSe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),oP(Og[c&31](s)|0)|0}function cSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],uSe(s,c,d,1),C=f}function uSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=_R()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=ASe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,fSe(m,f)|0,f),C=d}function _R(){var s=0,l=0;if(o[7680]|0||(E9(9412),ir(31,9412,U|0)|0,l=7680,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9412)|0)){s=9412,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));E9(9412)}return 9412}function ASe(s){return s=s|0,0}function fSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=_R()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],y9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(pSe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function y9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function pSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=hSe(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,gSe(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],y9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,dSe(s,k),mSe(k),C=M;return}}function hSe(s){return s=s|0,357913941}function gSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function dSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function mSe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function E9(s){s=s|0,CSe(s)}function ySe(s){s=s|0,ESe(s+24|0)}function ESe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function CSe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,6,l,C9()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function C9(){return 1200}function wSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=ISe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=BSe(l,f)|0,C=c,l|0}function ISe(s){return s=s|0,(n[(_R()|0)+24>>2]|0)+(s*12|0)|0}function BSe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),aP(Og[c&31](s)|0)|0}function aP(s){return s=s|0,s|0}function vSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],PSe(s,c,d,0),C=f}function PSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=HR()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=DSe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,SSe(m,f)|0,f),C=d}function HR(){var s=0,l=0;if(o[7688]|0||(I9(9448),ir(32,9448,U|0)|0,l=7688,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9448)|0)){s=9448,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));I9(9448)}return 9448}function DSe(s){return s=s|0,0}function SSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=HR()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],w9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(bSe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function w9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function bSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=xSe(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,kSe(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],w9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,QSe(s,k),RSe(k),C=M;return}}function xSe(s){return s=s|0,357913941}function kSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function QSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function RSe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function I9(s){s=s|0,LSe(s)}function FSe(s){s=s|0,TSe(s+24|0)}function TSe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function LSe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,6,l,B9()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function B9(){return 1204}function NSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=OSe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],MSe(l,d,c),C=f}function OSe(s){return s=s|0,(n[(HR()|0)+24>>2]|0)+(s*12|0)|0}function MSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),qR(d,c),d=GR(d,c)|0,rf[f&31](s,d),C=m}function qR(s,l){s=s|0,l=l|0}function GR(s,l){return s=s|0,l=l|0,USe(l)|0}function USe(s){return s=s|0,s|0}function _Se(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],HSe(s,c,d,0),C=f}function HSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=jR()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=qSe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,GSe(m,f)|0,f),C=d}function jR(){var s=0,l=0;if(o[7696]|0||(P9(9484),ir(33,9484,U|0)|0,l=7696,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9484)|0)){s=9484,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));P9(9484)}return 9484}function qSe(s){return s=s|0,0}function GSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=jR()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],v9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(jSe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function v9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function jSe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=YSe(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,WSe(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],v9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,KSe(s,k),zSe(k),C=M;return}}function YSe(s){return s=s|0,357913941}function WSe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function KSe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function zSe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function P9(s){s=s|0,XSe(s)}function JSe(s){s=s|0,VSe(s+24|0)}function VSe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function XSe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,1,l,ZSe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function ZSe(){return 1212}function $Se(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0;d=C,C=C+16|0,m=d+8|0,B=d,k=ebe(s)|0,s=n[k+4>>2]|0,n[B>>2]=n[k>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],tbe(l,m,c,f),C=d}function ebe(s){return s=s|0,(n[(jR()|0)+24>>2]|0)+(s*12|0)|0}function tbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0;k=C,C=C+16|0,m=k+1|0,B=k,d=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(d=n[(n[s>>2]|0)+d>>2]|0),qR(m,c),m=GR(m,c)|0,xg(B,f),B=kg(B,f)|0,Uw[d&15](s,m,B),C=k}function rbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],nbe(s,c,d,1),C=f}function nbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=YR()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=ibe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,sbe(m,f)|0,f),C=d}function YR(){var s=0,l=0;if(o[7704]|0||(S9(9520),ir(34,9520,U|0)|0,l=7704,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9520)|0)){s=9520,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));S9(9520)}return 9520}function ibe(s){return s=s|0,0}function sbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=YR()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],D9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(obe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function D9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function obe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=abe(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,lbe(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],D9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,cbe(s,k),ube(k),C=M;return}}function abe(s){return s=s|0,357913941}function lbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function cbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function ube(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function S9(s){s=s|0,pbe(s)}function Abe(s){s=s|0,fbe(s+24|0)}function fbe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function pbe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,1,l,hbe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function hbe(){return 1224}function gbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;return d=C,C=C+16|0,m=d+8|0,B=d,k=dbe(s)|0,s=n[k+4>>2]|0,n[B>>2]=n[k>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],f=+mbe(l,m,c),C=d,+f}function dbe(s){return s=s|0,(n[(YR()|0)+24>>2]|0)+(s*12|0)|0}function mbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),ZA(d,c),d=$A(d,c)|0,B=+SR(+v7[f&7](s,d)),C=m,+B}function ybe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Ebe(s,c,d,1),C=f}function Ebe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=WR()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Cbe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,wbe(m,f)|0,f),C=d}function WR(){var s=0,l=0;if(o[7712]|0||(x9(9556),ir(35,9556,U|0)|0,l=7712,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9556)|0)){s=9556,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));x9(9556)}return 9556}function Cbe(s){return s=s|0,0}function wbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=WR()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],b9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(Ibe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function b9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function Ibe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Bbe(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,vbe(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],b9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,Pbe(s,k),Dbe(k),C=M;return}}function Bbe(s){return s=s|0,357913941}function vbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function Pbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Dbe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function x9(s){s=s|0,xbe(s)}function Sbe(s){s=s|0,bbe(s+24|0)}function bbe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function xbe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,5,l,kbe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function kbe(){return 1232}function Qbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=Rbe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=+Fbe(l,d),C=f,+c}function Rbe(s){return s=s|0,(n[(WR()|0)+24>>2]|0)+(s*12|0)|0}function Fbe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),+ +SR(+B7[c&15](s))}function Tbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Lbe(s,c,d,1),C=f}function Lbe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=KR()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Nbe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,Obe(m,f)|0,f),C=d}function KR(){var s=0,l=0;if(o[7720]|0||(Q9(9592),ir(36,9592,U|0)|0,l=7720,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9592)|0)){s=9592,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));Q9(9592)}return 9592}function Nbe(s){return s=s|0,0}function Obe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=KR()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],k9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(Mbe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function k9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function Mbe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Ube(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,_be(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],k9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,Hbe(s,k),qbe(k),C=M;return}}function Ube(s){return s=s|0,357913941}function _be(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function Hbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function qbe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function Q9(s){s=s|0,Ybe(s)}function Gbe(s){s=s|0,jbe(s+24|0)}function jbe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function Ybe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,7,l,Wbe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Wbe(){return 1276}function Kbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=zbe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=Jbe(l,f)|0,C=c,l|0}function zbe(s){return s=s|0,(n[(KR()|0)+24>>2]|0)+(s*12|0)|0}function Jbe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;return d=C,C=C+16|0,f=d,c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),rf[c&31](f,s),f=R9(f)|0,C=d,f|0}function R9(s){s=s|0;var l=0,c=0,f=0,d=0;return d=C,C=C+32|0,l=d+12|0,c=d,f=kR(F9()|0)|0,f?(QR(l,f),RR(c,l),Vbe(s,c),s=FR(l)|0):s=Xbe(s)|0,C=d,s|0}function F9(){var s=0;return o[7736]|0||(axe(9640),ir(25,9640,U|0)|0,s=7736,n[s>>2]=1,n[s+4>>2]=0),9640}function Vbe(s,l){s=s|0,l=l|0,txe(l,s,s+8|0)|0}function Xbe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,k=0;return c=C,C=C+16|0,d=c+4|0,B=c,f=Ka(8)|0,l=f,k=Kt(16)|0,n[k>>2]=n[s>>2],n[k+4>>2]=n[s+4>>2],n[k+8>>2]=n[s+8>>2],n[k+12>>2]=n[s+12>>2],m=l+4|0,n[m>>2]=k,s=Kt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],zR(s,m,d),n[f>>2]=s,C=c,l|0}function zR(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Kt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1244,n[c+12>>2]=l,n[s+4>>2]=c}function Zbe(s){s=s|0,Jm(s),gt(s)}function $be(s){s=s|0,s=n[s+12>>2]|0,s|0&>(s)}function exe(s){s=s|0,gt(s)}function txe(s,l,c){return s=s|0,l=l|0,c=c|0,l=rxe(n[s>>2]|0,l,c)|0,c=s+4|0,n[(n[c>>2]|0)+8>>2]=l,n[(n[c>>2]|0)+8>>2]|0}function rxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;return f=C,C=C+16|0,d=f,za(d),s=da(s)|0,c=nxe(s,n[l>>2]|0,+E[c>>3])|0,Ja(d),C=f,c|0}function nxe(s,l,c){s=s|0,l=l|0,c=+c;var f=0;return f=Sl(ixe()|0)|0,l=DR(l)|0,yl(0,f|0,s|0,l|0,+ +JA(c))|0}function ixe(){var s=0;return o[7728]|0||(sxe(9628),s=7728,n[s>>2]=1,n[s+4>>2]=0),9628}function sxe(s){s=s|0,bl(s,oxe()|0,2)}function oxe(){return 1264}function axe(s){s=s|0,Pp(s)}function lxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],cxe(s,c,d,1),C=f}function cxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=JR()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=uxe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,Axe(m,f)|0,f),C=d}function JR(){var s=0,l=0;if(o[7744]|0||(L9(9684),ir(37,9684,U|0)|0,l=7744,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9684)|0)){s=9684,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));L9(9684)}return 9684}function uxe(s){return s=s|0,0}function Axe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=JR()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],T9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(fxe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function T9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function fxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=pxe(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,hxe(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],T9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,gxe(s,k),dxe(k),C=M;return}}function pxe(s){return s=s|0,357913941}function hxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function gxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function dxe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function L9(s){s=s|0,Exe(s)}function mxe(s){s=s|0,yxe(s+24|0)}function yxe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function Exe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,5,l,Cxe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Cxe(){return 1280}function wxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=Ixe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=Bxe(l,d,c)|0,C=f,c|0}function Ixe(s){return s=s|0,(n[(JR()|0)+24>>2]|0)+(s*12|0)|0}function Bxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return B=C,C=C+32|0,d=B,m=B+16|0,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),ZA(m,c),m=$A(m,c)|0,Uw[f&15](d,s,m),m=R9(d)|0,C=B,m|0}function vxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Pxe(s,c,d,1),C=f}function Pxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=VR()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Dxe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,Sxe(m,f)|0,f),C=d}function VR(){var s=0,l=0;if(o[7752]|0||(O9(9720),ir(38,9720,U|0)|0,l=7752,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9720)|0)){s=9720,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));O9(9720)}return 9720}function Dxe(s){return s=s|0,0}function Sxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=VR()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],N9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(bxe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function N9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function bxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=xxe(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,kxe(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],N9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,Qxe(s,k),Rxe(k),C=M;return}}function xxe(s){return s=s|0,357913941}function kxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function Qxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Rxe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function O9(s){s=s|0,Lxe(s)}function Fxe(s){s=s|0,Txe(s+24|0)}function Txe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function Lxe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,8,l,Nxe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Nxe(){return 1288}function Oxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;return c=C,C=C+16|0,f=c+8|0,d=c,m=Mxe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],l=Uxe(l,f)|0,C=c,l|0}function Mxe(s){return s=s|0,(n[(VR()|0)+24>>2]|0)+(s*12|0)|0}function Uxe(s,l){s=s|0,l=l|0;var c=0;return c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),Zj(Og[c&31](s)|0)|0}function _xe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Hxe(s,c,d,0),C=f}function Hxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=XR()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=qxe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,Gxe(m,f)|0,f),C=d}function XR(){var s=0,l=0;if(o[7760]|0||(U9(9756),ir(39,9756,U|0)|0,l=7760,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9756)|0)){s=9756,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));U9(9756)}return 9756}function qxe(s){return s=s|0,0}function Gxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=XR()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],M9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(jxe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function M9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function jxe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Yxe(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,Wxe(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],M9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,Kxe(s,k),zxe(k),C=M;return}}function Yxe(s){return s=s|0,357913941}function Wxe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function Kxe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function zxe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function U9(s){s=s|0,Xxe(s)}function Jxe(s){s=s|0,Vxe(s+24|0)}function Vxe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function Xxe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,8,l,Zxe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Zxe(){return 1292}function $xe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=eke(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],tke(l,d,c),C=f}function eke(s){return s=s|0,(n[(XR()|0)+24>>2]|0)+(s*12|0)|0}function tke(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),Qu(d,c),c=+Ru(d,c),C7[f&31](s,c),C=m}function rke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],nke(s,c,d,0),C=f}function nke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=ZR()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=ike(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,ske(m,f)|0,f),C=d}function ZR(){var s=0,l=0;if(o[7768]|0||(H9(9792),ir(40,9792,U|0)|0,l=7768,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9792)|0)){s=9792,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));H9(9792)}return 9792}function ike(s){return s=s|0,0}function ske(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=ZR()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],_9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(oke(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function _9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function oke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=ake(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,lke(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],_9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,cke(s,k),uke(k),C=M;return}}function ake(s){return s=s|0,357913941}function lke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function cke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function uke(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function H9(s){s=s|0,pke(s)}function Ake(s){s=s|0,fke(s+24|0)}function fke(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function pke(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,1,l,hke()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function hke(){return 1300}function gke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f;var d=0,m=0,B=0,k=0;d=C,C=C+16|0,m=d+8|0,B=d,k=dke(s)|0,s=n[k+4>>2]|0,n[B>>2]=n[k>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],mke(l,m,c,f),C=d}function dke(s){return s=s|0,(n[(ZR()|0)+24>>2]|0)+(s*12|0)|0}function mke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f;var d=0,m=0,B=0,k=0;k=C,C=C+16|0,m=k+1|0,B=k,d=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(d=n[(n[s>>2]|0)+d>>2]|0),ZA(m,c),m=$A(m,c)|0,Qu(B,f),f=+Ru(B,f),b7[d&15](s,m,f),C=k}function yke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Eke(s,c,d,0),C=f}function Eke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=$R()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Cke(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,wke(m,f)|0,f),C=d}function $R(){var s=0,l=0;if(o[7776]|0||(G9(9828),ir(41,9828,U|0)|0,l=7776,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9828)|0)){s=9828,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));G9(9828)}return 9828}function Cke(s){return s=s|0,0}function wke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=$R()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],q9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(Ike(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function q9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function Ike(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Bke(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,vke(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],q9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,Pke(s,k),Dke(k),C=M;return}}function Bke(s){return s=s|0,357913941}function vke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function Pke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function Dke(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function G9(s){s=s|0,xke(s)}function Ske(s){s=s|0,bke(s+24|0)}function bke(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function xke(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,7,l,kke()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function kke(){return 1312}function Qke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=Rke(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Fke(l,d,c),C=f}function Rke(s){return s=s|0,(n[($R()|0)+24>>2]|0)+(s*12|0)|0}function Fke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),ZA(d,c),d=$A(d,c)|0,rf[f&31](s,d),C=m}function Tke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Lke(s,c,d,0),C=f}function Lke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=eF()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=Nke(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,Oke(m,f)|0,f),C=d}function eF(){var s=0,l=0;if(o[7784]|0||(Y9(9864),ir(42,9864,U|0)|0,l=7784,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9864)|0)){s=9864,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));Y9(9864)}return 9864}function Nke(s){return s=s|0,0}function Oke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=eF()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],j9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(Mke(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function j9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function Mke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=Uke(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,_ke(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],j9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,Hke(s,k),qke(k),C=M;return}}function Uke(s){return s=s|0,357913941}function _ke(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function Hke(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function qke(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function Y9(s){s=s|0,Yke(s)}function Gke(s){s=s|0,jke(s+24|0)}function jke(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function Yke(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,8,l,Wke()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function Wke(){return 1320}function Kke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=zke(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],Jke(l,d,c),C=f}function zke(s){return s=s|0,(n[(eF()|0)+24>>2]|0)+(s*12|0)|0}function Jke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),Vke(d,c),d=Xke(d,c)|0,rf[f&31](s,d),C=m}function Vke(s,l){s=s|0,l=l|0}function Xke(s,l){return s=s|0,l=l|0,Zke(l)|0}function Zke(s){return s=s|0,s|0}function $ke(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],eQe(s,c,d,0),C=f}function eQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=tF()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=tQe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,rQe(m,f)|0,f),C=d}function tF(){var s=0,l=0;if(o[7792]|0||(K9(9900),ir(43,9900,U|0)|0,l=7792,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9900)|0)){s=9900,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));K9(9900)}return 9900}function tQe(s){return s=s|0,0}function rQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=tF()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],W9(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(nQe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function W9(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function nQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=iQe(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,sQe(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],W9(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,oQe(s,k),aQe(k),C=M;return}}function iQe(s){return s=s|0,357913941}function sQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function oQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function aQe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function K9(s){s=s|0,uQe(s)}function lQe(s){s=s|0,cQe(s+24|0)}function cQe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function uQe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,22,l,AQe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function AQe(){return 1344}function fQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0;c=C,C=C+16|0,f=c+8|0,d=c,m=pQe(s)|0,s=n[m+4>>2]|0,n[d>>2]=n[m>>2],n[d+4>>2]=s,n[f>>2]=n[d>>2],n[f+4>>2]=n[d+4>>2],hQe(l,f),C=c}function pQe(s){return s=s|0,(n[(tF()|0)+24>>2]|0)+(s*12|0)|0}function hQe(s,l){s=s|0,l=l|0;var c=0;c=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(c=n[(n[s>>2]|0)+c>>2]|0),tf[c&127](s)}function gQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=rF()|0,s=dQe(c)|0,hn(m,l,d,s,mQe(c,f)|0,f)}function rF(){var s=0,l=0;if(o[7800]|0||(J9(9936),ir(44,9936,U|0)|0,l=7800,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9936)|0)){s=9936,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));J9(9936)}return 9936}function dQe(s){return s=s|0,s|0}function mQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,Q=rF()|0,B=Q+24|0,l=gr(l,4)|0,n[m>>2]=l,c=Q+28|0,f=n[c>>2]|0,f>>>0<(n[Q+32>>2]|0)>>>0?(z9(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(yQe(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function z9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function yQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=EQe(s)|0,f>>>0>>0)Vr(s);else{Q=n[s>>2]|0,O=(n[s+8>>2]|0)-Q|0,M=O>>2,CQe(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-Q>>3,s+8|0),B=d+8|0,z9(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,wQe(s,d),IQe(d),C=k;return}}function EQe(s){return s=s|0,536870911}function CQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function wQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function IQe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&>(s)}function J9(s){s=s|0,PQe(s)}function BQe(s){s=s|0,vQe(s+24|0)}function vQe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function PQe(s){s=s|0;var l=0;l=zr()|0,Jr(s,1,23,l,B9()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function DQe(s,l){s=s|0,l=l|0,bQe(n[(SQe(s)|0)>>2]|0,l)}function SQe(s){return s=s|0,(n[(rF()|0)+24>>2]|0)+(s<<3)|0}function bQe(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,qR(f,l),l=GR(f,l)|0,tf[s&127](l),C=c}function xQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=nF()|0,s=kQe(c)|0,hn(m,l,d,s,QQe(c,f)|0,f)}function nF(){var s=0,l=0;if(o[7808]|0||(X9(9972),ir(45,9972,U|0)|0,l=7808,n[l>>2]=1,n[l+4>>2]=0),!(Fr(9972)|0)){s=9972,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));X9(9972)}return 9972}function kQe(s){return s=s|0,s|0}function QQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,Q=nF()|0,B=Q+24|0,l=gr(l,4)|0,n[m>>2]=l,c=Q+28|0,f=n[c>>2]|0,f>>>0<(n[Q+32>>2]|0)>>>0?(V9(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(RQe(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function V9(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function RQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=FQe(s)|0,f>>>0>>0)Vr(s);else{Q=n[s>>2]|0,O=(n[s+8>>2]|0)-Q|0,M=O>>2,TQe(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-Q>>3,s+8|0),B=d+8|0,V9(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,LQe(s,d),NQe(d),C=k;return}}function FQe(s){return s=s|0,536870911}function TQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function LQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function NQe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&>(s)}function X9(s){s=s|0,UQe(s)}function OQe(s){s=s|0,MQe(s+24|0)}function MQe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function UQe(s){s=s|0;var l=0;l=zr()|0,Jr(s,1,9,l,_Qe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function _Qe(){return 1348}function HQe(s,l){return s=s|0,l=l|0,GQe(n[(qQe(s)|0)>>2]|0,l)|0}function qQe(s){return s=s|0,(n[(nF()|0)+24>>2]|0)+(s<<3)|0}function GQe(s,l){s=s|0,l=l|0;var c=0,f=0;return c=C,C=C+16|0,f=c,Z9(f,l),l=$9(f,l)|0,l=oP(Og[s&31](l)|0)|0,C=c,l|0}function Z9(s,l){s=s|0,l=l|0}function $9(s,l){return s=s|0,l=l|0,jQe(l)|0}function jQe(s){return s=s|0,s|0}function YQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=iF()|0,s=WQe(c)|0,hn(m,l,d,s,KQe(c,f)|0,f)}function iF(){var s=0,l=0;if(o[7816]|0||(t5(10008),ir(46,10008,U|0)|0,l=7816,n[l>>2]=1,n[l+4>>2]=0),!(Fr(10008)|0)){s=10008,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));t5(10008)}return 10008}function WQe(s){return s=s|0,s|0}function KQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,Q=iF()|0,B=Q+24|0,l=gr(l,4)|0,n[m>>2]=l,c=Q+28|0,f=n[c>>2]|0,f>>>0<(n[Q+32>>2]|0)>>>0?(e5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(zQe(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function e5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function zQe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=JQe(s)|0,f>>>0>>0)Vr(s);else{Q=n[s>>2]|0,O=(n[s+8>>2]|0)-Q|0,M=O>>2,VQe(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-Q>>3,s+8|0),B=d+8|0,e5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,XQe(s,d),ZQe(d),C=k;return}}function JQe(s){return s=s|0,536870911}function VQe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function XQe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function ZQe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&>(s)}function t5(s){s=s|0,tRe(s)}function $Qe(s){s=s|0,eRe(s+24|0)}function eRe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function tRe(s){s=s|0;var l=0;l=zr()|0,Jr(s,1,15,l,m9()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function rRe(s){return s=s|0,iRe(n[(nRe(s)|0)>>2]|0)|0}function nRe(s){return s=s|0,(n[(iF()|0)+24>>2]|0)+(s<<3)|0}function iRe(s){return s=s|0,oP(wP[s&7]()|0)|0}function sRe(){var s=0;return o[7832]|0||(pRe(10052),ir(25,10052,U|0)|0,s=7832,n[s>>2]=1,n[s+4>>2]=0),10052}function oRe(s,l){s=s|0,l=l|0,n[s>>2]=aRe()|0,n[s+4>>2]=lRe()|0,n[s+12>>2]=l,n[s+8>>2]=cRe()|0,n[s+32>>2]=2}function aRe(){return 11709}function lRe(){return 1188}function cRe(){return lP()|0}function uRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(xp(f,896)|0)==512?c|0&&(ARe(c),gt(c)):l|0&&(Su(l),gt(l))}function xp(s,l){return s=s|0,l=l|0,l&s|0}function ARe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Qp(s)}function lP(){var s=0;return o[7824]|0||(n[2511]=fRe()|0,n[2512]=0,s=7824,n[s>>2]=1,n[s+4>>2]=0),10044}function fRe(){return 0}function pRe(s){s=s|0,Pp(s)}function hRe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0;l=C,C=C+32|0,c=l+24|0,m=l+16|0,d=l+8|0,f=l,gRe(s,4827),dRe(s,4834,3)|0,mRe(s,3682,47)|0,n[m>>2]=9,n[m+4>>2]=0,n[c>>2]=n[m>>2],n[c+4>>2]=n[m+4>>2],yRe(s,4841,c)|0,n[d>>2]=1,n[d+4>>2]=0,n[c>>2]=n[d>>2],n[c+4>>2]=n[d+4>>2],ERe(s,4871,c)|0,n[f>>2]=10,n[f+4>>2]=0,n[c>>2]=n[f>>2],n[c+4>>2]=n[f+4>>2],CRe(s,4891,c)|0,C=l}function gRe(s,l){s=s|0,l=l|0;var c=0;c=ZFe()|0,n[s>>2]=c,$Fe(c,l),kp(n[s>>2]|0)}function dRe(s,l,c){return s=s|0,l=l|0,c=c|0,NFe(s,pn(l)|0,c,0),s|0}function mRe(s,l,c){return s=s|0,l=l|0,c=c|0,wFe(s,pn(l)|0,c,0),s|0}function yRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],rFe(s,l,d),C=f,s|0}function ERe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],ORe(s,l,d),C=f,s|0}function CRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=n[c+4>>2]|0,n[m>>2]=n[c>>2],n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],wRe(s,l,d),C=f,s|0}function wRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],IRe(s,c,d,1),C=f}function IRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=sF()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=BRe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,vRe(m,f)|0,f),C=d}function sF(){var s=0,l=0;if(o[7840]|0||(n5(10100),ir(48,10100,U|0)|0,l=7840,n[l>>2]=1,n[l+4>>2]=0),!(Fr(10100)|0)){s=10100,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));n5(10100)}return 10100}function BRe(s){return s=s|0,0}function vRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=sF()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],r5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(PRe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function r5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function PRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=DRe(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,SRe(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],r5(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,bRe(s,k),xRe(k),C=M;return}}function DRe(s){return s=s|0,357913941}function SRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function bRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function xRe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function n5(s){s=s|0,RRe(s)}function kRe(s){s=s|0,QRe(s+24|0)}function QRe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function RRe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,6,l,FRe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function FRe(){return 1364}function TRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;return f=C,C=C+16|0,d=f+8|0,m=f,B=LRe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],c=NRe(l,d,c)|0,C=f,c|0}function LRe(s){return s=s|0,(n[(sF()|0)+24>>2]|0)+(s*12|0)|0}function NRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;return m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),ZA(d,c),d=$A(d,c)|0,d=u9(TF[f&15](s,d)|0)|0,C=m,d|0}function ORe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],MRe(s,c,d,0),C=f}function MRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=oF()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=URe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,_Re(m,f)|0,f),C=d}function oF(){var s=0,l=0;if(o[7848]|0||(s5(10136),ir(49,10136,U|0)|0,l=7848,n[l>>2]=1,n[l+4>>2]=0),!(Fr(10136)|0)){s=10136,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));s5(10136)}return 10136}function URe(s){return s=s|0,0}function _Re(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=oF()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],i5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(HRe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function i5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function HRe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=qRe(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,GRe(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],i5(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,jRe(s,k),YRe(k),C=M;return}}function qRe(s){return s=s|0,357913941}function GRe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function jRe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function YRe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function s5(s){s=s|0,zRe(s)}function WRe(s){s=s|0,KRe(s+24|0)}function KRe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function zRe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,9,l,JRe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function JRe(){return 1372}function VRe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,d=f+8|0,m=f,B=XRe(s)|0,s=n[B+4>>2]|0,n[m>>2]=n[B>>2],n[m+4>>2]=s,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],ZRe(l,d,c),C=f}function XRe(s){return s=s|0,(n[(oF()|0)+24>>2]|0)+(s*12|0)|0}function ZRe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=Xe;m=C,C=C+16|0,d=m,f=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(f=n[(n[s>>2]|0)+f>>2]|0),$Re(d,c),B=y(eFe(d,c)),E7[f&1](s,B),C=m}function $Re(s,l){s=s|0,l=+l}function eFe(s,l){return s=s|0,l=+l,y(tFe(l))}function tFe(s){return s=+s,y(s)}function rFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,d=f+8|0,m=f,k=n[c>>2]|0,B=n[c+4>>2]|0,c=pn(l)|0,n[m>>2]=k,n[m+4>>2]=B,n[d>>2]=n[m>>2],n[d+4>>2]=n[m+4>>2],nFe(s,c,d,0),C=f}function nFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0,Q=0,M=0,O=0;d=C,C=C+32|0,m=d+16|0,O=d+8|0,k=d,M=n[c>>2]|0,Q=n[c+4>>2]|0,B=n[s>>2]|0,s=aF()|0,n[O>>2]=M,n[O+4>>2]=Q,n[m>>2]=n[O>>2],n[m+4>>2]=n[O+4>>2],c=iFe(m)|0,n[k>>2]=M,n[k+4>>2]=Q,n[m>>2]=n[k>>2],n[m+4>>2]=n[k+4>>2],hn(B,l,s,c,sFe(m,f)|0,f),C=d}function aF(){var s=0,l=0;if(o[7856]|0||(a5(10172),ir(50,10172,U|0)|0,l=7856,n[l>>2]=1,n[l+4>>2]=0),!(Fr(10172)|0)){s=10172,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));a5(10172)}return 10172}function iFe(s){return s=s|0,0}function sFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0;return O=C,C=C+32|0,d=O+24|0,B=O+16|0,k=O,Q=O+8|0,m=n[s>>2]|0,f=n[s+4>>2]|0,n[k>>2]=m,n[k+4>>2]=f,G=aF()|0,M=G+24|0,s=gr(l,4)|0,n[Q>>2]=s,l=G+28|0,c=n[l>>2]|0,c>>>0<(n[G+32>>2]|0)>>>0?(n[B>>2]=m,n[B+4>>2]=f,n[d>>2]=n[B>>2],n[d+4>>2]=n[B+4>>2],o5(c,d,s),s=(n[l>>2]|0)+12|0,n[l>>2]=s):(oFe(M,k,Q),s=n[l>>2]|0),C=O,((s-(n[M>>2]|0)|0)/12|0)+-1|0}function o5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=n[l+4>>2]|0,n[s>>2]=n[l>>2],n[s+4>>2]=f,n[s+8>>2]=c}function oFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;if(M=C,C=C+48|0,f=M+32|0,B=M+24|0,k=M,Q=s+4|0,d=(((n[Q>>2]|0)-(n[s>>2]|0)|0)/12|0)+1|0,m=aFe(s)|0,m>>>0>>0)Vr(s);else{O=n[s>>2]|0,se=((n[s+8>>2]|0)-O|0)/12|0,G=se<<1,lFe(k,se>>>0>>1>>>0?G>>>0>>0?d:G:m,((n[Q>>2]|0)-O|0)/12|0,s+8|0),Q=k+8|0,m=n[Q>>2]|0,d=n[l+4>>2]|0,c=n[c>>2]|0,n[B>>2]=n[l>>2],n[B+4>>2]=d,n[f>>2]=n[B>>2],n[f+4>>2]=n[B+4>>2],o5(m,f,c),n[Q>>2]=(n[Q>>2]|0)+12,cFe(s,k),uFe(k),C=M;return}}function aFe(s){return s=s|0,357913941}function lFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>357913941)Tt();else{d=Kt(l*12|0)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c*12|0)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l*12|0)}function cFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(((d|0)/-12|0)*12|0)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function uFe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~(((f+-12-l|0)>>>0)/12|0)*12|0)),s=n[s>>2]|0,s|0&>(s)}function a5(s){s=s|0,pFe(s)}function AFe(s){s=s|0,fFe(s+24|0)}function fFe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~(((l+-12-f|0)>>>0)/12|0)*12|0)),gt(c))}function pFe(s){s=s|0;var l=0;l=zr()|0,Jr(s,2,3,l,hFe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function hFe(){return 1380}function gFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0;d=C,C=C+16|0,m=d+8|0,B=d,k=dFe(s)|0,s=n[k+4>>2]|0,n[B>>2]=n[k>>2],n[B+4>>2]=s,n[m>>2]=n[B>>2],n[m+4>>2]=n[B+4>>2],mFe(l,m,c,f),C=d}function dFe(s){return s=s|0,(n[(aF()|0)+24>>2]|0)+(s*12|0)|0}function mFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0;k=C,C=C+16|0,m=k+1|0,B=k,d=n[l>>2]|0,l=n[l+4>>2]|0,s=s+(l>>1)|0,l&1&&(d=n[(n[s>>2]|0)+d>>2]|0),ZA(m,c),m=$A(m,c)|0,yFe(B,f),B=EFe(B,f)|0,Uw[d&15](s,m,B),C=k}function yFe(s,l){s=s|0,l=l|0}function EFe(s,l){return s=s|0,l=l|0,CFe(l)|0}function CFe(s){return s=s|0,(s|0)!=0|0}function wFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=lF()|0,s=IFe(c)|0,hn(m,l,d,s,BFe(c,f)|0,f)}function lF(){var s=0,l=0;if(o[7864]|0||(c5(10208),ir(51,10208,U|0)|0,l=7864,n[l>>2]=1,n[l+4>>2]=0),!(Fr(10208)|0)){s=10208,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));c5(10208)}return 10208}function IFe(s){return s=s|0,s|0}function BFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,Q=lF()|0,B=Q+24|0,l=gr(l,4)|0,n[m>>2]=l,c=Q+28|0,f=n[c>>2]|0,f>>>0<(n[Q+32>>2]|0)>>>0?(l5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(vFe(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function l5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function vFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=PFe(s)|0,f>>>0>>0)Vr(s);else{Q=n[s>>2]|0,O=(n[s+8>>2]|0)-Q|0,M=O>>2,DFe(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-Q>>3,s+8|0),B=d+8|0,l5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,SFe(s,d),bFe(d),C=k;return}}function PFe(s){return s=s|0,536870911}function DFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function SFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function bFe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&>(s)}function c5(s){s=s|0,QFe(s)}function xFe(s){s=s|0,kFe(s+24|0)}function kFe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function QFe(s){s=s|0;var l=0;l=zr()|0,Jr(s,1,24,l,RFe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function RFe(){return 1392}function FFe(s,l){s=s|0,l=l|0,LFe(n[(TFe(s)|0)>>2]|0,l)}function TFe(s){return s=s|0,(n[(lF()|0)+24>>2]|0)+(s<<3)|0}function LFe(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,Z9(f,l),l=$9(f,l)|0,tf[s&127](l),C=c}function NFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=cF()|0,s=OFe(c)|0,hn(m,l,d,s,MFe(c,f)|0,f)}function cF(){var s=0,l=0;if(o[7872]|0||(A5(10244),ir(52,10244,U|0)|0,l=7872,n[l>>2]=1,n[l+4>>2]=0),!(Fr(10244)|0)){s=10244,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));A5(10244)}return 10244}function OFe(s){return s=s|0,s|0}function MFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,Q=cF()|0,B=Q+24|0,l=gr(l,4)|0,n[m>>2]=l,c=Q+28|0,f=n[c>>2]|0,f>>>0<(n[Q+32>>2]|0)>>>0?(u5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(UFe(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function u5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function UFe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=_Fe(s)|0,f>>>0>>0)Vr(s);else{Q=n[s>>2]|0,O=(n[s+8>>2]|0)-Q|0,M=O>>2,HFe(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-Q>>3,s+8|0),B=d+8|0,u5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,qFe(s,d),GFe(d),C=k;return}}function _Fe(s){return s=s|0,536870911}function HFe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function qFe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function GFe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&>(s)}function A5(s){s=s|0,WFe(s)}function jFe(s){s=s|0,YFe(s+24|0)}function YFe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function WFe(s){s=s|0;var l=0;l=zr()|0,Jr(s,1,16,l,KFe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function KFe(){return 1400}function zFe(s){return s=s|0,VFe(n[(JFe(s)|0)>>2]|0)|0}function JFe(s){return s=s|0,(n[(cF()|0)+24>>2]|0)+(s<<3)|0}function VFe(s){return s=s|0,XFe(wP[s&7]()|0)|0}function XFe(s){return s=s|0,s|0}function ZFe(){var s=0;return o[7880]|0||(sTe(10280),ir(25,10280,U|0)|0,s=7880,n[s>>2]=1,n[s+4>>2]=0),10280}function $Fe(s,l){s=s|0,l=l|0,n[s>>2]=eTe()|0,n[s+4>>2]=tTe()|0,n[s+12>>2]=l,n[s+8>>2]=rTe()|0,n[s+32>>2]=4}function eTe(){return 11711}function tTe(){return 1356}function rTe(){return lP()|0}function nTe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(xp(f,896)|0)==512?c|0&&(iTe(c),gt(c)):l|0&&(Dg(l),gt(l))}function iTe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Qp(s)}function sTe(s){s=s|0,Pp(s)}function oTe(s){s=s|0,aTe(s,4920),lTe(s)|0,cTe(s)|0}function aTe(s,l){s=s|0,l=l|0;var c=0;c=F9()|0,n[s>>2]=c,kTe(c,l),kp(n[s>>2]|0)}function lTe(s){s=s|0;var l=0;return l=n[s>>2]|0,Qg(l,CTe()|0),s|0}function cTe(s){s=s|0;var l=0;return l=n[s>>2]|0,Qg(l,uTe()|0),s|0}function uTe(){var s=0;return o[7888]|0||(f5(10328),ir(53,10328,U|0)|0,s=7888,n[s>>2]=1,n[s+4>>2]=0),Fr(10328)|0||f5(10328),10328}function Qg(s,l){s=s|0,l=l|0,hn(s,0,l,0,0,0)}function f5(s){s=s|0,pTe(s),Rg(s,10)}function ATe(s){s=s|0,fTe(s+24|0)}function fTe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function pTe(s){s=s|0;var l=0;l=zr()|0,Jr(s,5,1,l,mTe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function hTe(s,l,c){s=s|0,l=l|0,c=+c,gTe(s,l,c)}function Rg(s,l){s=s|0,l=l|0,n[s+20>>2]=l}function gTe(s,l,c){s=s|0,l=l|0,c=+c;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+16|0,m=f+8|0,k=f+13|0,d=f,B=f+12|0,ZA(k,l),n[m>>2]=$A(k,l)|0,Qu(B,c),E[d>>3]=+Ru(B,c),dTe(s,m,d),C=f}function dTe(s,l,c){s=s|0,l=l|0,c=c|0,W(s+8|0,n[l>>2]|0,+E[c>>3]),o[s+24>>0]=1}function mTe(){return 1404}function yTe(s,l){return s=s|0,l=+l,ETe(s,l)|0}function ETe(s,l){s=s|0,l=+l;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return f=C,C=C+16|0,m=f+4|0,B=f+8|0,k=f,d=Ka(8)|0,c=d,Q=Kt(16)|0,ZA(m,s),s=$A(m,s)|0,Qu(B,l),W(Q,s,+Ru(B,l)),B=c+4|0,n[B>>2]=Q,s=Kt(8)|0,B=n[B>>2]|0,n[k>>2]=0,n[m>>2]=n[k>>2],zR(s,B,m),n[d>>2]=s,C=f,c|0}function CTe(){var s=0;return o[7896]|0||(p5(10364),ir(54,10364,U|0)|0,s=7896,n[s>>2]=1,n[s+4>>2]=0),Fr(10364)|0||p5(10364),10364}function p5(s){s=s|0,BTe(s),Rg(s,55)}function wTe(s){s=s|0,ITe(s+24|0)}function ITe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function BTe(s){s=s|0;var l=0;l=zr()|0,Jr(s,5,4,l,STe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function vTe(s){s=s|0,PTe(s)}function PTe(s){s=s|0,DTe(s)}function DTe(s){s=s|0,h5(s+8|0),o[s+24>>0]=1}function h5(s){s=s|0,n[s>>2]=0,E[s+8>>3]=0}function STe(){return 1424}function bTe(){return xTe()|0}function xTe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0;return l=C,C=C+16|0,d=l+4|0,B=l,c=Ka(8)|0,s=c,f=Kt(16)|0,h5(f),m=s+4|0,n[m>>2]=f,f=Kt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],zR(f,m,d),n[c>>2]=f,C=l,s|0}function kTe(s,l){s=s|0,l=l|0,n[s>>2]=QTe()|0,n[s+4>>2]=RTe()|0,n[s+12>>2]=l,n[s+8>>2]=FTe()|0,n[s+32>>2]=5}function QTe(){return 11710}function RTe(){return 1416}function FTe(){return cP()|0}function TTe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(xp(f,896)|0)==512?c|0&&(LTe(c),gt(c)):l|0&>(l)}function LTe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Qp(s)}function cP(){var s=0;return o[7904]|0||(n[2600]=NTe()|0,n[2601]=0,s=7904,n[s>>2]=1,n[s+4>>2]=0),10400}function NTe(){return n[357]|0}function OTe(s){s=s|0,MTe(s,4926),UTe(s)|0}function MTe(s,l){s=s|0,l=l|0;var c=0;c=r9()|0,n[s>>2]=c,VTe(c,l),kp(n[s>>2]|0)}function UTe(s){s=s|0;var l=0;return l=n[s>>2]|0,Qg(l,_Te()|0),s|0}function _Te(){var s=0;return o[7912]|0||(g5(10412),ir(56,10412,U|0)|0,s=7912,n[s>>2]=1,n[s+4>>2]=0),Fr(10412)|0||g5(10412),10412}function g5(s){s=s|0,GTe(s),Rg(s,57)}function HTe(s){s=s|0,qTe(s+24|0)}function qTe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function GTe(s){s=s|0;var l=0;l=zr()|0,Jr(s,5,5,l,KTe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function jTe(s){s=s|0,YTe(s)}function YTe(s){s=s|0,WTe(s)}function WTe(s){s=s|0;var l=0,c=0;l=s+8|0,c=l+48|0;do n[l>>2]=0,l=l+4|0;while((l|0)<(c|0));o[s+56>>0]=1}function KTe(){return 1432}function zTe(){return JTe()|0}function JTe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0,k=0;B=C,C=C+16|0,s=B+4|0,l=B,c=Ka(8)|0,f=c,d=Kt(48)|0,m=d,k=m+48|0;do n[m>>2]=0,m=m+4|0;while((m|0)<(k|0));return m=f+4|0,n[m>>2]=d,k=Kt(8)|0,m=n[m>>2]|0,n[l>>2]=0,n[s>>2]=n[l>>2],n9(k,m,s),n[c>>2]=k,C=B,f|0}function VTe(s,l){s=s|0,l=l|0,n[s>>2]=XTe()|0,n[s+4>>2]=ZTe()|0,n[s+12>>2]=l,n[s+8>>2]=$Te()|0,n[s+32>>2]=6}function XTe(){return 11704}function ZTe(){return 1436}function $Te(){return cP()|0}function eLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(xp(f,896)|0)==512?c|0&&(tLe(c),gt(c)):l|0&>(l)}function tLe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Qp(s)}function rLe(s){s=s|0,nLe(s,4933),iLe(s)|0,sLe(s)|0}function nLe(s,l){s=s|0,l=l|0;var c=0;c=xLe()|0,n[s>>2]=c,kLe(c,l),kp(n[s>>2]|0)}function iLe(s){s=s|0;var l=0;return l=n[s>>2]|0,Qg(l,ELe()|0),s|0}function sLe(s){s=s|0;var l=0;return l=n[s>>2]|0,Qg(l,oLe()|0),s|0}function oLe(){var s=0;return o[7920]|0||(d5(10452),ir(58,10452,U|0)|0,s=7920,n[s>>2]=1,n[s+4>>2]=0),Fr(10452)|0||d5(10452),10452}function d5(s){s=s|0,cLe(s),Rg(s,1)}function aLe(s){s=s|0,lLe(s+24|0)}function lLe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function cLe(s){s=s|0;var l=0;l=zr()|0,Jr(s,5,1,l,pLe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function uLe(s,l,c){s=s|0,l=+l,c=+c,ALe(s,l,c)}function ALe(s,l,c){s=s|0,l=+l,c=+c;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+32|0,m=f+8|0,k=f+17|0,d=f,B=f+16|0,Qu(k,l),E[m>>3]=+Ru(k,l),Qu(B,c),E[d>>3]=+Ru(B,c),fLe(s,m,d),C=f}function fLe(s,l,c){s=s|0,l=l|0,c=c|0,m5(s+8|0,+E[l>>3],+E[c>>3]),o[s+24>>0]=1}function m5(s,l,c){s=s|0,l=+l,c=+c,E[s>>3]=l,E[s+8>>3]=c}function pLe(){return 1472}function hLe(s,l){return s=+s,l=+l,gLe(s,l)|0}function gLe(s,l){s=+s,l=+l;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return f=C,C=C+16|0,B=f+4|0,k=f+8|0,Q=f,d=Ka(8)|0,c=d,m=Kt(16)|0,Qu(B,s),s=+Ru(B,s),Qu(k,l),m5(m,s,+Ru(k,l)),k=c+4|0,n[k>>2]=m,m=Kt(8)|0,k=n[k>>2]|0,n[Q>>2]=0,n[B>>2]=n[Q>>2],y5(m,k,B),n[d>>2]=m,C=f,c|0}function y5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Kt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1452,n[c+12>>2]=l,n[s+4>>2]=c}function dLe(s){s=s|0,Jm(s),gt(s)}function mLe(s){s=s|0,s=n[s+12>>2]|0,s|0&>(s)}function yLe(s){s=s|0,gt(s)}function ELe(){var s=0;return o[7928]|0||(E5(10488),ir(59,10488,U|0)|0,s=7928,n[s>>2]=1,n[s+4>>2]=0),Fr(10488)|0||E5(10488),10488}function E5(s){s=s|0,ILe(s),Rg(s,60)}function CLe(s){s=s|0,wLe(s+24|0)}function wLe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function ILe(s){s=s|0;var l=0;l=zr()|0,Jr(s,5,6,l,DLe()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function BLe(s){s=s|0,vLe(s)}function vLe(s){s=s|0,PLe(s)}function PLe(s){s=s|0,C5(s+8|0),o[s+24>>0]=1}function C5(s){s=s|0,n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,n[s+12>>2]=0}function DLe(){return 1492}function SLe(){return bLe()|0}function bLe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0;return l=C,C=C+16|0,d=l+4|0,B=l,c=Ka(8)|0,s=c,f=Kt(16)|0,C5(f),m=s+4|0,n[m>>2]=f,f=Kt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],y5(f,m,d),n[c>>2]=f,C=l,s|0}function xLe(){var s=0;return o[7936]|0||(NLe(10524),ir(25,10524,U|0)|0,s=7936,n[s>>2]=1,n[s+4>>2]=0),10524}function kLe(s,l){s=s|0,l=l|0,n[s>>2]=QLe()|0,n[s+4>>2]=RLe()|0,n[s+12>>2]=l,n[s+8>>2]=FLe()|0,n[s+32>>2]=7}function QLe(){return 11700}function RLe(){return 1484}function FLe(){return cP()|0}function TLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(xp(f,896)|0)==512?c|0&&(LLe(c),gt(c)):l|0&>(l)}function LLe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Qp(s)}function NLe(s){s=s|0,Pp(s)}function OLe(s,l,c){s=s|0,l=l|0,c=c|0,s=pn(l)|0,l=MLe(c)|0,c=ULe(c,0)|0,gNe(s,l,c,uF()|0,0)}function MLe(s){return s=s|0,s|0}function ULe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,Q=uF()|0,B=Q+24|0,l=gr(l,4)|0,n[m>>2]=l,c=Q+28|0,f=n[c>>2]|0,f>>>0<(n[Q+32>>2]|0)>>>0?(I5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(WLe(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function uF(){var s=0,l=0;if(o[7944]|0||(w5(10568),ir(61,10568,U|0)|0,l=7944,n[l>>2]=1,n[l+4>>2]=0),!(Fr(10568)|0)){s=10568,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));w5(10568)}return 10568}function w5(s){s=s|0,qLe(s)}function _Le(s){s=s|0,HLe(s+24|0)}function HLe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function qLe(s){s=s|0;var l=0;l=zr()|0,Jr(s,1,17,l,C9()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function GLe(s){return s=s|0,YLe(n[(jLe(s)|0)>>2]|0)|0}function jLe(s){return s=s|0,(n[(uF()|0)+24>>2]|0)+(s<<3)|0}function YLe(s){return s=s|0,aP(wP[s&7]()|0)|0}function I5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function WLe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=KLe(s)|0,f>>>0>>0)Vr(s);else{Q=n[s>>2]|0,O=(n[s+8>>2]|0)-Q|0,M=O>>2,zLe(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-Q>>3,s+8|0),B=d+8|0,I5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,JLe(s,d),VLe(d),C=k;return}}function KLe(s){return s=s|0,536870911}function zLe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function JLe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function VLe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&>(s)}function XLe(){ZLe()}function ZLe(){$Le(10604)}function $Le(s){s=s|0,eNe(s,4955)}function eNe(s,l){s=s|0,l=l|0;var c=0;c=tNe()|0,n[s>>2]=c,rNe(c,l),kp(n[s>>2]|0)}function tNe(){var s=0;return o[7952]|0||(ANe(10612),ir(25,10612,U|0)|0,s=7952,n[s>>2]=1,n[s+4>>2]=0),10612}function rNe(s,l){s=s|0,l=l|0,n[s>>2]=oNe()|0,n[s+4>>2]=aNe()|0,n[s+12>>2]=l,n[s+8>>2]=lNe()|0,n[s+32>>2]=8}function kp(s){s=s|0;var l=0,c=0;l=C,C=C+16|0,c=l,jm()|0,n[c>>2]=s,nNe(10608,c),C=l}function jm(){return o[11714]|0||(n[2652]=0,ir(62,10608,U|0)|0,o[11714]=1),10608}function nNe(s,l){s=s|0,l=l|0;var c=0;c=Kt(8)|0,n[c+4>>2]=n[l>>2],n[c>>2]=n[s>>2],n[s>>2]=c}function iNe(s){s=s|0,sNe(s)}function sNe(s){s=s|0;var l=0,c=0;if(l=n[s>>2]|0,l|0)do c=l,l=n[l>>2]|0,gt(c);while((l|0)!=0);n[s>>2]=0}function oNe(){return 11715}function aNe(){return 1496}function lNe(){return lP()|0}function cNe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(xp(f,896)|0)==512?c|0&&(uNe(c),gt(c)):l|0&>(l)}function uNe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Qp(s)}function ANe(s){s=s|0,Pp(s)}function fNe(s,l){s=s|0,l=l|0;var c=0,f=0;jm()|0,c=n[2652]|0;e:do if(c|0){for(;f=n[c+4>>2]|0,!(f|0&&(n7(AF(f)|0,s)|0)==0);)if(c=n[c>>2]|0,!c)break e;pNe(f,l)}while(0)}function AF(s){return s=s|0,n[s+12>>2]|0}function pNe(s,l){s=s|0,l=l|0;var c=0;s=s+36|0,c=n[s>>2]|0,c|0&&(GA(c),gt(c)),c=Kt(4)|0,Vj(c,l),n[s>>2]=c}function fF(){return o[11716]|0||(n[2664]=0,ir(63,10656,U|0)|0,o[11716]=1),10656}function B5(){var s=0;return o[11717]|0?s=n[2665]|0:(hNe(),n[2665]=1504,o[11717]=1,s=1504),s|0}function hNe(){o[11740]|0||(o[11718]=gr(gr(8,0)|0,0)|0,o[11719]=gr(gr(0,0)|0,0)|0,o[11720]=gr(gr(0,16)|0,0)|0,o[11721]=gr(gr(8,0)|0,0)|0,o[11722]=gr(gr(0,0)|0,0)|0,o[11723]=gr(gr(8,0)|0,0)|0,o[11724]=gr(gr(0,0)|0,0)|0,o[11725]=gr(gr(8,0)|0,0)|0,o[11726]=gr(gr(0,0)|0,0)|0,o[11727]=gr(gr(8,0)|0,0)|0,o[11728]=gr(gr(0,0)|0,0)|0,o[11729]=gr(gr(0,0)|0,32)|0,o[11730]=gr(gr(0,0)|0,32)|0,o[11740]=1)}function v5(){return 1572}function gNe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,k=0,Q=0,M=0,O=0;m=C,C=C+32|0,O=m+16|0,M=m+12|0,Q=m+8|0,k=m+4|0,B=m,n[O>>2]=s,n[M>>2]=l,n[Q>>2]=c,n[k>>2]=f,n[B>>2]=d,fF()|0,dNe(10656,O,M,Q,k,B),C=m}function dNe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0;B=Kt(24)|0,$j(B+4|0,n[l>>2]|0,n[c>>2]|0,n[f>>2]|0,n[d>>2]|0,n[m>>2]|0),n[B>>2]=n[s>>2],n[s>>2]=B}function P5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0,Ge=0,Me=0,Qe=0,$e=0,Ve=0,lt=0;if(lt=C,C=C+32|0,Me=lt+20|0,Qe=lt+8|0,$e=lt+4|0,Ve=lt,l=n[l>>2]|0,l|0){Ge=Me+4|0,Q=Me+8|0,M=Qe+4|0,O=Qe+8|0,G=Qe+8|0,se=Me+8|0;do{if(B=l+4|0,k=pF(B)|0,k|0){if(d=Fw(k)|0,n[Me>>2]=0,n[Ge>>2]=0,n[Q>>2]=0,f=(Tw(k)|0)+1|0,mNe(Me,f),f|0)for(;f=f+-1|0,xc(Qe,n[d>>2]|0),m=n[Ge>>2]|0,m>>>0<(n[se>>2]|0)>>>0?(n[m>>2]=n[Qe>>2],n[Ge>>2]=(n[Ge>>2]|0)+4):hF(Me,Qe),f;)d=d+4|0;f=Lw(k)|0,n[Qe>>2]=0,n[M>>2]=0,n[O>>2]=0;e:do if(n[f>>2]|0)for(d=0,m=0;;){if((d|0)==(m|0)?yNe(Qe,f):(n[d>>2]=n[f>>2],n[M>>2]=(n[M>>2]|0)+4),f=f+4|0,!(n[f>>2]|0))break e;d=n[M>>2]|0,m=n[G>>2]|0}while(0);n[$e>>2]=uP(B)|0,n[Ve>>2]=Fr(k)|0,ENe(c,s,$e,Ve,Me,Qe),gF(Qe),ef(Me)}l=n[l>>2]|0}while((l|0)!=0)}C=lt}function pF(s){return s=s|0,n[s+12>>2]|0}function Fw(s){return s=s|0,n[s+12>>2]|0}function Tw(s){return s=s|0,n[s+16>>2]|0}function mNe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;d=C,C=C+32|0,c=d,f=n[s>>2]|0,(n[s+8>>2]|0)-f>>2>>>0>>0&&(F5(c,l,(n[s+4>>2]|0)-f>>2,s+8|0),T5(s,c),L5(c)),C=d}function hF(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0;if(B=C,C=C+32|0,c=B,f=s+4|0,d=((n[f>>2]|0)-(n[s>>2]|0)>>2)+1|0,m=R5(s)|0,m>>>0>>0)Vr(s);else{k=n[s>>2]|0,M=(n[s+8>>2]|0)-k|0,Q=M>>1,F5(c,M>>2>>>0>>1>>>0?Q>>>0>>0?d:Q:m,(n[f>>2]|0)-k>>2,s+8|0),m=c+8|0,n[n[m>>2]>>2]=n[l>>2],n[m>>2]=(n[m>>2]|0)+4,T5(s,c),L5(c),C=B;return}}function Lw(s){return s=s|0,n[s+8>>2]|0}function yNe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0;if(B=C,C=C+32|0,c=B,f=s+4|0,d=((n[f>>2]|0)-(n[s>>2]|0)>>2)+1|0,m=Q5(s)|0,m>>>0>>0)Vr(s);else{k=n[s>>2]|0,M=(n[s+8>>2]|0)-k|0,Q=M>>1,MNe(c,M>>2>>>0>>1>>>0?Q>>>0>>0?d:Q:m,(n[f>>2]|0)-k>>2,s+8|0),m=c+8|0,n[n[m>>2]>>2]=n[l>>2],n[m>>2]=(n[m>>2]|0)+4,UNe(s,c),_Ne(c),C=B;return}}function uP(s){return s=s|0,n[s>>2]|0}function ENe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,CNe(s,l,c,f,d,m)}function gF(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-4-f|0)>>>2)<<2)),gt(c))}function ef(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-4-f|0)>>>2)<<2)),gt(c))}function CNe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,k=0,Q=0,M=0,O=0,G=0;B=C,C=C+48|0,O=B+40|0,k=B+32|0,G=B+24|0,Q=B+12|0,M=B,za(k),s=da(s)|0,n[G>>2]=n[l>>2],c=n[c>>2]|0,f=n[f>>2]|0,dF(Q,d),wNe(M,m),n[O>>2]=n[G>>2],INe(s,O,c,f,Q,M),gF(M),ef(Q),Ja(k),C=B}function dF(s,l){s=s|0,l=l|0;var c=0,f=0;n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,c=l+4|0,f=(n[c>>2]|0)-(n[l>>2]|0)>>2,f|0&&(NNe(s,f),ONe(s,n[l>>2]|0,n[c>>2]|0,f))}function wNe(s,l){s=s|0,l=l|0;var c=0,f=0;n[s>>2]=0,n[s+4>>2]=0,n[s+8>>2]=0,c=l+4|0,f=(n[c>>2]|0)-(n[l>>2]|0)>>2,f|0&&(TNe(s,f),LNe(s,n[l>>2]|0,n[c>>2]|0,f))}function INe(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,k=0,Q=0,M=0,O=0,G=0;B=C,C=C+32|0,O=B+28|0,G=B+24|0,k=B+12|0,Q=B,M=Sl(BNe()|0)|0,n[G>>2]=n[l>>2],n[O>>2]=n[G>>2],l=Fg(O)|0,c=D5(c)|0,f=mF(f)|0,n[k>>2]=n[d>>2],O=d+4|0,n[k+4>>2]=n[O>>2],G=d+8|0,n[k+8>>2]=n[G>>2],n[G>>2]=0,n[O>>2]=0,n[d>>2]=0,d=yF(k)|0,n[Q>>2]=n[m>>2],O=m+4|0,n[Q+4>>2]=n[O>>2],G=m+8|0,n[Q+8>>2]=n[G>>2],n[G>>2]=0,n[O>>2]=0,n[m>>2]=0,oo(0,M|0,s|0,l|0,c|0,f|0,d|0,vNe(Q)|0)|0,gF(Q),ef(k),C=B}function BNe(){var s=0;return o[7968]|0||(RNe(10708),s=7968,n[s>>2]=1,n[s+4>>2]=0),10708}function Fg(s){return s=s|0,b5(s)|0}function D5(s){return s=s|0,S5(s)|0}function mF(s){return s=s|0,aP(s)|0}function yF(s){return s=s|0,DNe(s)|0}function vNe(s){return s=s|0,PNe(s)|0}function PNe(s){s=s|0;var l=0,c=0,f=0;if(f=(n[s+4>>2]|0)-(n[s>>2]|0)|0,c=f>>2,f=Ka(f+4|0)|0,n[f>>2]=c,c|0){l=0;do n[f+4+(l<<2)>>2]=S5(n[(n[s>>2]|0)+(l<<2)>>2]|0)|0,l=l+1|0;while((l|0)!=(c|0))}return f|0}function S5(s){return s=s|0,s|0}function DNe(s){s=s|0;var l=0,c=0,f=0;if(f=(n[s+4>>2]|0)-(n[s>>2]|0)|0,c=f>>2,f=Ka(f+4|0)|0,n[f>>2]=c,c|0){l=0;do n[f+4+(l<<2)>>2]=b5((n[s>>2]|0)+(l<<2)|0)|0,l=l+1|0;while((l|0)!=(c|0))}return f|0}function b5(s){s=s|0;var l=0,c=0,f=0,d=0;return d=C,C=C+32|0,l=d+12|0,c=d,f=kR(x5()|0)|0,f?(QR(l,f),RR(c,l),lUe(s,c),s=FR(l)|0):s=SNe(s)|0,C=d,s|0}function x5(){var s=0;return o[7960]|0||(QNe(10664),ir(25,10664,U|0)|0,s=7960,n[s>>2]=1,n[s+4>>2]=0),10664}function SNe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,k=0;return c=C,C=C+16|0,d=c+4|0,B=c,f=Ka(8)|0,l=f,k=Kt(4)|0,n[k>>2]=n[s>>2],m=l+4|0,n[m>>2]=k,s=Kt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],k5(s,m,d),n[f>>2]=s,C=c,l|0}function k5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Kt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1656,n[c+12>>2]=l,n[s+4>>2]=c}function bNe(s){s=s|0,Jm(s),gt(s)}function xNe(s){s=s|0,s=n[s+12>>2]|0,s|0&>(s)}function kNe(s){s=s|0,gt(s)}function QNe(s){s=s|0,Pp(s)}function RNe(s){s=s|0,bl(s,FNe()|0,5)}function FNe(){return 1676}function TNe(s,l){s=s|0,l=l|0;var c=0;if((Q5(s)|0)>>>0>>0&&Vr(s),l>>>0>1073741823)Tt();else{c=Kt(l<<2)|0,n[s+4>>2]=c,n[s>>2]=c,n[s+8>>2]=c+(l<<2);return}}function LNe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,f=s+4|0,s=c-l|0,(s|0)>0&&(Pr(n[f>>2]|0,l|0,s|0)|0,n[f>>2]=(n[f>>2]|0)+(s>>>2<<2))}function Q5(s){return s=s|0,1073741823}function NNe(s,l){s=s|0,l=l|0;var c=0;if((R5(s)|0)>>>0>>0&&Vr(s),l>>>0>1073741823)Tt();else{c=Kt(l<<2)|0,n[s+4>>2]=c,n[s>>2]=c,n[s+8>>2]=c+(l<<2);return}}function ONe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,f=s+4|0,s=c-l|0,(s|0)>0&&(Pr(n[f>>2]|0,l|0,s|0)|0,n[f>>2]=(n[f>>2]|0)+(s>>>2<<2))}function R5(s){return s=s|0,1073741823}function MNe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>1073741823)Tt();else{d=Kt(l<<2)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<2)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<2)}function UNe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>2)<<2)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function _Ne(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-4-l|0)>>>2)<<2)),s=n[s>>2]|0,s|0&>(s)}function F5(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>1073741823)Tt();else{d=Kt(l<<2)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<2)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<2)}function T5(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>2)<<2)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function L5(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-4-l|0)>>>2)<<2)),s=n[s>>2]|0,s|0&>(s)}function HNe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0,Ge=0,Me=0,Qe=0;if(Qe=C,C=C+32|0,O=Qe+20|0,G=Qe+12|0,M=Qe+16|0,se=Qe+4|0,Ge=Qe,Me=Qe+8|0,k=B5()|0,m=n[k>>2]|0,B=n[m>>2]|0,B|0)for(Q=n[k+8>>2]|0,k=n[k+4>>2]|0;xc(O,B),qNe(s,O,k,Q),m=m+4|0,B=n[m>>2]|0,B;)Q=Q+1|0,k=k+1|0;if(m=v5()|0,B=n[m>>2]|0,B|0)do xc(O,B),n[G>>2]=n[m+4>>2],GNe(l,O,G),m=m+8|0,B=n[m>>2]|0;while((B|0)!=0);if(m=n[(jm()|0)>>2]|0,m|0)do l=n[m+4>>2]|0,xc(O,n[(Ym(l)|0)>>2]|0),n[G>>2]=AF(l)|0,jNe(c,O,G),m=n[m>>2]|0;while((m|0)!=0);if(xc(M,0),m=fF()|0,n[O>>2]=n[M>>2],P5(O,m,d),m=n[(jm()|0)>>2]|0,m|0){s=O+4|0,l=O+8|0,c=O+8|0;do{if(Q=n[m+4>>2]|0,xc(G,n[(Ym(Q)|0)>>2]|0),YNe(se,N5(Q)|0),B=n[se>>2]|0,B|0){n[O>>2]=0,n[s>>2]=0,n[l>>2]=0;do xc(Ge,n[(Ym(n[B+4>>2]|0)|0)>>2]|0),k=n[s>>2]|0,k>>>0<(n[c>>2]|0)>>>0?(n[k>>2]=n[Ge>>2],n[s>>2]=(n[s>>2]|0)+4):hF(O,Ge),B=n[B>>2]|0;while((B|0)!=0);WNe(f,G,O),ef(O)}n[Me>>2]=n[G>>2],M=O5(Q)|0,n[O>>2]=n[Me>>2],P5(O,M,d),s9(se),m=n[m>>2]|0}while((m|0)!=0)}C=Qe}function qNe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,iOe(s,l,c,f)}function GNe(s,l,c){s=s|0,l=l|0,c=c|0,nOe(s,l,c)}function Ym(s){return s=s|0,s|0}function jNe(s,l,c){s=s|0,l=l|0,c=c|0,$Ne(s,l,c)}function N5(s){return s=s|0,s+16|0}function YNe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;if(m=C,C=C+16|0,d=m+8|0,c=m,n[s>>2]=0,f=n[l>>2]|0,n[d>>2]=f,n[c>>2]=s,c=ZNe(c)|0,f|0){if(f=Kt(12)|0,B=(M5(d)|0)+4|0,s=n[B+4>>2]|0,l=f+4|0,n[l>>2]=n[B>>2],n[l+4>>2]=s,l=n[n[d>>2]>>2]|0,n[d>>2]=l,!l)s=f;else for(l=f;s=Kt(12)|0,Q=(M5(d)|0)+4|0,k=n[Q+4>>2]|0,B=s+4|0,n[B>>2]=n[Q>>2],n[B+4>>2]=k,n[l>>2]=s,B=n[n[d>>2]>>2]|0,n[d>>2]=B,B;)l=s;n[s>>2]=n[c>>2],n[c>>2]=f}C=m}function WNe(s,l,c){s=s|0,l=l|0,c=c|0,KNe(s,l,c)}function O5(s){return s=s|0,s+24|0}function KNe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+32|0,B=f+24|0,d=f+16|0,k=f+12|0,m=f,za(d),s=da(s)|0,n[k>>2]=n[l>>2],dF(m,c),n[B>>2]=n[k>>2],zNe(s,B,m),ef(m),Ja(d),C=f}function zNe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=C,C=C+32|0,B=f+16|0,k=f+12|0,d=f,m=Sl(JNe()|0)|0,n[k>>2]=n[l>>2],n[B>>2]=n[k>>2],l=Fg(B)|0,n[d>>2]=n[c>>2],B=c+4|0,n[d+4>>2]=n[B>>2],k=c+8|0,n[d+8>>2]=n[k>>2],n[k>>2]=0,n[B>>2]=0,n[c>>2]=0,so(0,m|0,s|0,l|0,yF(d)|0)|0,ef(d),C=f}function JNe(){var s=0;return o[7976]|0||(VNe(10720),s=7976,n[s>>2]=1,n[s+4>>2]=0),10720}function VNe(s){s=s|0,bl(s,XNe()|0,2)}function XNe(){return 1732}function ZNe(s){return s=s|0,n[s>>2]|0}function M5(s){return s=s|0,n[s>>2]|0}function $Ne(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+32|0,m=f+16|0,d=f+8|0,B=f,za(d),s=da(s)|0,n[B>>2]=n[l>>2],c=n[c>>2]|0,n[m>>2]=n[B>>2],U5(s,m,c),Ja(d),C=f}function U5(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+16|0,m=f+4|0,B=f,d=Sl(eOe()|0)|0,n[B>>2]=n[l>>2],n[m>>2]=n[B>>2],l=Fg(m)|0,so(0,d|0,s|0,l|0,D5(c)|0)|0,C=f}function eOe(){var s=0;return o[7984]|0||(tOe(10732),s=7984,n[s>>2]=1,n[s+4>>2]=0),10732}function tOe(s){s=s|0,bl(s,rOe()|0,2)}function rOe(){return 1744}function nOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;f=C,C=C+32|0,m=f+16|0,d=f+8|0,B=f,za(d),s=da(s)|0,n[B>>2]=n[l>>2],c=n[c>>2]|0,n[m>>2]=n[B>>2],U5(s,m,c),Ja(d),C=f}function iOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0;d=C,C=C+32|0,B=d+16|0,m=d+8|0,k=d,za(m),s=da(s)|0,n[k>>2]=n[l>>2],c=o[c>>0]|0,f=o[f>>0]|0,n[B>>2]=n[k>>2],sOe(s,B,c,f),Ja(m),C=d}function sOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0;d=C,C=C+16|0,B=d+4|0,k=d,m=Sl(oOe()|0)|0,n[k>>2]=n[l>>2],n[B>>2]=n[k>>2],l=Fg(B)|0,c=Wm(c)|0,hc(0,m|0,s|0,l|0,c|0,Wm(f)|0)|0,C=d}function oOe(){var s=0;return o[7992]|0||(lOe(10744),s=7992,n[s>>2]=1,n[s+4>>2]=0),10744}function Wm(s){return s=s|0,aOe(s)|0}function aOe(s){return s=s|0,s&255|0}function lOe(s){s=s|0,bl(s,cOe()|0,3)}function cOe(){return 1756}function uOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;switch(se=C,C=C+32|0,k=se+8|0,Q=se+4|0,M=se+20|0,O=se,OR(s,0),f=aUe(l)|0,n[k>>2]=0,G=k+4|0,n[G>>2]=0,n[k+8>>2]=0,f<<24>>24){case 0:{o[M>>0]=0,AOe(Q,c,M),AP(s,Q)|0,jA(Q);break}case 8:{G=vF(l)|0,o[M>>0]=8,xc(O,n[G+4>>2]|0),fOe(Q,c,M,O,G+8|0),AP(s,Q)|0,jA(Q);break}case 9:{if(m=vF(l)|0,l=n[m+4>>2]|0,l|0)for(B=k+8|0,d=m+12|0;l=l+-1|0,xc(Q,n[d>>2]|0),f=n[G>>2]|0,f>>>0<(n[B>>2]|0)>>>0?(n[f>>2]=n[Q>>2],n[G>>2]=(n[G>>2]|0)+4):hF(k,Q),l;)d=d+4|0;o[M>>0]=9,xc(O,n[m+8>>2]|0),pOe(Q,c,M,O,k),AP(s,Q)|0,jA(Q);break}default:G=vF(l)|0,o[M>>0]=f,xc(O,n[G+4>>2]|0),hOe(Q,c,M,O),AP(s,Q)|0,jA(Q)}ef(k),C=se}function AOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;f=C,C=C+16|0,d=f,za(d),l=da(l)|0,SOe(s,l,o[c>>0]|0),Ja(d),C=f}function AP(s,l){s=s|0,l=l|0;var c=0;return c=n[s>>2]|0,c|0&&SA(c|0),n[s>>2]=n[l>>2],n[l>>2]=0,s|0}function fOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,k=0,Q=0;m=C,C=C+32|0,k=m+16|0,B=m+8|0,Q=m,za(B),l=da(l)|0,c=o[c>>0]|0,n[Q>>2]=n[f>>2],d=n[d>>2]|0,n[k>>2]=n[Q>>2],BOe(s,l,c,k,d),Ja(B),C=m}function pOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,k=0,Q=0,M=0;m=C,C=C+32|0,Q=m+24|0,B=m+16|0,M=m+12|0,k=m,za(B),l=da(l)|0,c=o[c>>0]|0,n[M>>2]=n[f>>2],dF(k,d),n[Q>>2]=n[M>>2],EOe(s,l,c,Q,k),ef(k),Ja(B),C=m}function hOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0;d=C,C=C+32|0,B=d+16|0,m=d+8|0,k=d,za(m),l=da(l)|0,c=o[c>>0]|0,n[k>>2]=n[f>>2],n[B>>2]=n[k>>2],gOe(s,l,c,B),Ja(m),C=d}function gOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0,B=0,k=0;d=C,C=C+16|0,m=d+4|0,k=d,B=Sl(dOe()|0)|0,c=Wm(c)|0,n[k>>2]=n[f>>2],n[m>>2]=n[k>>2],fP(s,so(0,B|0,l|0,c|0,Fg(m)|0)|0),C=d}function dOe(){var s=0;return o[8e3]|0||(mOe(10756),s=8e3,n[s>>2]=1,n[s+4>>2]=0),10756}function fP(s,l){s=s|0,l=l|0,OR(s,l)}function mOe(s){s=s|0,bl(s,yOe()|0,2)}function yOe(){return 1772}function EOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,k=0,Q=0,M=0;m=C,C=C+32|0,Q=m+16|0,M=m+12|0,B=m,k=Sl(COe()|0)|0,c=Wm(c)|0,n[M>>2]=n[f>>2],n[Q>>2]=n[M>>2],f=Fg(Q)|0,n[B>>2]=n[d>>2],Q=d+4|0,n[B+4>>2]=n[Q>>2],M=d+8|0,n[B+8>>2]=n[M>>2],n[M>>2]=0,n[Q>>2]=0,n[d>>2]=0,fP(s,hc(0,k|0,l|0,c|0,f|0,yF(B)|0)|0),ef(B),C=m}function COe(){var s=0;return o[8008]|0||(wOe(10768),s=8008,n[s>>2]=1,n[s+4>>2]=0),10768}function wOe(s){s=s|0,bl(s,IOe()|0,3)}function IOe(){return 1784}function BOe(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,k=0,Q=0;m=C,C=C+16|0,k=m+4|0,Q=m,B=Sl(vOe()|0)|0,c=Wm(c)|0,n[Q>>2]=n[f>>2],n[k>>2]=n[Q>>2],f=Fg(k)|0,fP(s,hc(0,B|0,l|0,c|0,f|0,mF(d)|0)|0),C=m}function vOe(){var s=0;return o[8016]|0||(POe(10780),s=8016,n[s>>2]=1,n[s+4>>2]=0),10780}function POe(s){s=s|0,bl(s,DOe()|0,3)}function DOe(){return 1800}function SOe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;f=Sl(bOe()|0)|0,fP(s,Qn(0,f|0,l|0,Wm(c)|0)|0)}function bOe(){var s=0;return o[8024]|0||(xOe(10792),s=8024,n[s>>2]=1,n[s+4>>2]=0),10792}function xOe(s){s=s|0,bl(s,kOe()|0,1)}function kOe(){return 1816}function QOe(){ROe(),FOe(),TOe()}function ROe(){n[2702]=p7(65536)|0}function FOe(){eMe(10856)}function TOe(){LOe(10816)}function LOe(s){s=s|0,NOe(s,5044),OOe(s)|0}function NOe(s,l){s=s|0,l=l|0;var c=0;c=x5()|0,n[s>>2]=c,zOe(c,l),kp(n[s>>2]|0)}function OOe(s){s=s|0;var l=0;return l=n[s>>2]|0,Qg(l,MOe()|0),s|0}function MOe(){var s=0;return o[8032]|0||(_5(10820),ir(64,10820,U|0)|0,s=8032,n[s>>2]=1,n[s+4>>2]=0),Fr(10820)|0||_5(10820),10820}function _5(s){s=s|0,HOe(s),Rg(s,25)}function UOe(s){s=s|0,_Oe(s+24|0)}function _Oe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function HOe(s){s=s|0;var l=0;l=zr()|0,Jr(s,5,18,l,YOe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function qOe(s,l){s=s|0,l=l|0,GOe(s,l)}function GOe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;c=C,C=C+16|0,f=c,d=c+4|0,xg(d,l),n[f>>2]=kg(d,l)|0,jOe(s,f),C=c}function jOe(s,l){s=s|0,l=l|0,H5(s+4|0,n[l>>2]|0),o[s+8>>0]=1}function H5(s,l){s=s|0,l=l|0,n[s>>2]=l}function YOe(){return 1824}function WOe(s){return s=s|0,KOe(s)|0}function KOe(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,k=0;return c=C,C=C+16|0,d=c+4|0,B=c,f=Ka(8)|0,l=f,k=Kt(4)|0,xg(d,s),H5(k,kg(d,s)|0),m=l+4|0,n[m>>2]=k,s=Kt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],k5(s,m,d),n[f>>2]=s,C=c,l|0}function Ka(s){s=s|0;var l=0,c=0;return s=s+7&-8,s>>>0<=32768&&(l=n[2701]|0,s>>>0<=(65536-l|0)>>>0)?(c=(n[2702]|0)+l|0,n[2701]=l+s,s=c):(s=p7(s+8|0)|0,n[s>>2]=n[2703],n[2703]=s,s=s+8|0),s|0}function zOe(s,l){s=s|0,l=l|0,n[s>>2]=JOe()|0,n[s+4>>2]=VOe()|0,n[s+12>>2]=l,n[s+8>>2]=XOe()|0,n[s+32>>2]=9}function JOe(){return 11744}function VOe(){return 1832}function XOe(){return cP()|0}function ZOe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(xp(f,896)|0)==512?c|0&&($Oe(c),gt(c)):l|0&>(l)}function $Oe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Qp(s)}function eMe(s){s=s|0,tMe(s,5052),rMe(s)|0,nMe(s,5058,26)|0,iMe(s,5069,1)|0,sMe(s,5077,10)|0,oMe(s,5087,19)|0,aMe(s,5094,27)|0}function tMe(s,l){s=s|0,l=l|0;var c=0;c=$4e()|0,n[s>>2]=c,eUe(c,l),kp(n[s>>2]|0)}function rMe(s){s=s|0;var l=0;return l=n[s>>2]|0,Qg(l,U4e()|0),s|0}function nMe(s,l,c){return s=s|0,l=l|0,c=c|0,w4e(s,pn(l)|0,c,0),s|0}function iMe(s,l,c){return s=s|0,l=l|0,c=c|0,o4e(s,pn(l)|0,c,0),s|0}function sMe(s,l,c){return s=s|0,l=l|0,c=c|0,MMe(s,pn(l)|0,c,0),s|0}function oMe(s,l,c){return s=s|0,l=l|0,c=c|0,BMe(s,pn(l)|0,c,0),s|0}function q5(s,l){s=s|0,l=l|0;var c=0,f=0;e:for(;;){for(c=n[2703]|0;;){if((c|0)==(l|0))break e;if(f=n[c>>2]|0,n[2703]=f,!c)c=f;else break}gt(c)}n[2701]=s}function aMe(s,l,c){return s=s|0,l=l|0,c=c|0,lMe(s,pn(l)|0,c,0),s|0}function lMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=EF()|0,s=cMe(c)|0,hn(m,l,d,s,uMe(c,f)|0,f)}function EF(){var s=0,l=0;if(o[8040]|0||(j5(10860),ir(65,10860,U|0)|0,l=8040,n[l>>2]=1,n[l+4>>2]=0),!(Fr(10860)|0)){s=10860,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));j5(10860)}return 10860}function cMe(s){return s=s|0,s|0}function uMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,Q=EF()|0,B=Q+24|0,l=gr(l,4)|0,n[m>>2]=l,c=Q+28|0,f=n[c>>2]|0,f>>>0<(n[Q+32>>2]|0)>>>0?(G5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(AMe(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function G5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function AMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=fMe(s)|0,f>>>0>>0)Vr(s);else{Q=n[s>>2]|0,O=(n[s+8>>2]|0)-Q|0,M=O>>2,pMe(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-Q>>3,s+8|0),B=d+8|0,G5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,hMe(s,d),gMe(d),C=k;return}}function fMe(s){return s=s|0,536870911}function pMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function hMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function gMe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&>(s)}function j5(s){s=s|0,yMe(s)}function dMe(s){s=s|0,mMe(s+24|0)}function mMe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function yMe(s){s=s|0;var l=0;l=zr()|0,Jr(s,1,11,l,EMe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function EMe(){return 1840}function CMe(s,l,c){s=s|0,l=l|0,c=c|0,IMe(n[(wMe(s)|0)>>2]|0,l,c)}function wMe(s){return s=s|0,(n[(EF()|0)+24>>2]|0)+(s<<3)|0}function IMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;f=C,C=C+16|0,m=f+1|0,d=f,xg(m,l),l=kg(m,l)|0,xg(d,c),c=kg(d,c)|0,rf[s&31](l,c),C=f}function BMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=CF()|0,s=vMe(c)|0,hn(m,l,d,s,PMe(c,f)|0,f)}function CF(){var s=0,l=0;if(o[8048]|0||(W5(10896),ir(66,10896,U|0)|0,l=8048,n[l>>2]=1,n[l+4>>2]=0),!(Fr(10896)|0)){s=10896,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));W5(10896)}return 10896}function vMe(s){return s=s|0,s|0}function PMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,Q=CF()|0,B=Q+24|0,l=gr(l,4)|0,n[m>>2]=l,c=Q+28|0,f=n[c>>2]|0,f>>>0<(n[Q+32>>2]|0)>>>0?(Y5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(DMe(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function Y5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function DMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=SMe(s)|0,f>>>0>>0)Vr(s);else{Q=n[s>>2]|0,O=(n[s+8>>2]|0)-Q|0,M=O>>2,bMe(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-Q>>3,s+8|0),B=d+8|0,Y5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,xMe(s,d),kMe(d),C=k;return}}function SMe(s){return s=s|0,536870911}function bMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function xMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function kMe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&>(s)}function W5(s){s=s|0,FMe(s)}function QMe(s){s=s|0,RMe(s+24|0)}function RMe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function FMe(s){s=s|0;var l=0;l=zr()|0,Jr(s,1,11,l,TMe()|0,1),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function TMe(){return 1852}function LMe(s,l){return s=s|0,l=l|0,OMe(n[(NMe(s)|0)>>2]|0,l)|0}function NMe(s){return s=s|0,(n[(CF()|0)+24>>2]|0)+(s<<3)|0}function OMe(s,l){s=s|0,l=l|0;var c=0,f=0;return c=C,C=C+16|0,f=c,xg(f,l),l=kg(f,l)|0,l=aP(Og[s&31](l)|0)|0,C=c,l|0}function MMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=wF()|0,s=UMe(c)|0,hn(m,l,d,s,_Me(c,f)|0,f)}function wF(){var s=0,l=0;if(o[8056]|0||(z5(10932),ir(67,10932,U|0)|0,l=8056,n[l>>2]=1,n[l+4>>2]=0),!(Fr(10932)|0)){s=10932,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));z5(10932)}return 10932}function UMe(s){return s=s|0,s|0}function _Me(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,Q=wF()|0,B=Q+24|0,l=gr(l,4)|0,n[m>>2]=l,c=Q+28|0,f=n[c>>2]|0,f>>>0<(n[Q+32>>2]|0)>>>0?(K5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(HMe(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function K5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function HMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=qMe(s)|0,f>>>0>>0)Vr(s);else{Q=n[s>>2]|0,O=(n[s+8>>2]|0)-Q|0,M=O>>2,GMe(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-Q>>3,s+8|0),B=d+8|0,K5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,jMe(s,d),YMe(d),C=k;return}}function qMe(s){return s=s|0,536870911}function GMe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function jMe(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function YMe(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&>(s)}function z5(s){s=s|0,zMe(s)}function WMe(s){s=s|0,KMe(s+24|0)}function KMe(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function zMe(s){s=s|0;var l=0;l=zr()|0,Jr(s,1,7,l,JMe()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function JMe(){return 1860}function VMe(s,l,c){return s=s|0,l=l|0,c=c|0,ZMe(n[(XMe(s)|0)>>2]|0,l,c)|0}function XMe(s){return s=s|0,(n[(wF()|0)+24>>2]|0)+(s<<3)|0}function ZMe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0;return f=C,C=C+32|0,B=f+12|0,m=f+8|0,k=f,Q=f+16|0,d=f+4|0,$Me(Q,l),e4e(k,Q,l),Dp(d,c),c=Sp(d,c)|0,n[B>>2]=n[k>>2],Uw[s&15](m,B,c),c=t4e(m)|0,jA(m),bp(d),C=f,c|0}function $Me(s,l){s=s|0,l=l|0}function e4e(s,l,c){s=s|0,l=l|0,c=c|0,r4e(s,c)}function t4e(s){return s=s|0,da(s)|0}function r4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0;d=C,C=C+16|0,c=d,f=l,f&1?(n4e(c,0),ii(f|0,c|0)|0,i4e(s,c),s4e(c)):n[s>>2]=n[l>>2],C=d}function n4e(s,l){s=s|0,l=l|0,Xj(s,l),n[s+4>>2]=0,o[s+8>>0]=0}function i4e(s,l){s=s|0,l=l|0,n[s>>2]=n[l+4>>2]}function s4e(s){s=s|0,o[s+8>>0]=0}function o4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=IF()|0,s=a4e(c)|0,hn(m,l,d,s,l4e(c,f)|0,f)}function IF(){var s=0,l=0;if(o[8064]|0||(V5(10968),ir(68,10968,U|0)|0,l=8064,n[l>>2]=1,n[l+4>>2]=0),!(Fr(10968)|0)){s=10968,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));V5(10968)}return 10968}function a4e(s){return s=s|0,s|0}function l4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,Q=IF()|0,B=Q+24|0,l=gr(l,4)|0,n[m>>2]=l,c=Q+28|0,f=n[c>>2]|0,f>>>0<(n[Q+32>>2]|0)>>>0?(J5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(c4e(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function J5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function c4e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=u4e(s)|0,f>>>0>>0)Vr(s);else{Q=n[s>>2]|0,O=(n[s+8>>2]|0)-Q|0,M=O>>2,A4e(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-Q>>3,s+8|0),B=d+8|0,J5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,f4e(s,d),p4e(d),C=k;return}}function u4e(s){return s=s|0,536870911}function A4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function f4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function p4e(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&>(s)}function V5(s){s=s|0,d4e(s)}function h4e(s){s=s|0,g4e(s+24|0)}function g4e(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function d4e(s){s=s|0;var l=0;l=zr()|0,Jr(s,1,1,l,m4e()|0,5),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function m4e(){return 1872}function y4e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,C4e(n[(E4e(s)|0)>>2]|0,l,c,f,d,m)}function E4e(s){return s=s|0,(n[(IF()|0)+24>>2]|0)+(s<<3)|0}function C4e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,k=0,Q=0,M=0,O=0,G=0;B=C,C=C+32|0,k=B+16|0,Q=B+12|0,M=B+8|0,O=B+4|0,G=B,Dp(k,l),l=Sp(k,l)|0,Dp(Q,c),c=Sp(Q,c)|0,Dp(M,f),f=Sp(M,f)|0,Dp(O,d),d=Sp(O,d)|0,Dp(G,m),m=Sp(G,m)|0,y7[s&1](l,c,f,d,m),bp(G),bp(O),bp(M),bp(Q),bp(k),C=B}function w4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;m=n[s>>2]|0,d=BF()|0,s=I4e(c)|0,hn(m,l,d,s,B4e(c,f)|0,f)}function BF(){var s=0,l=0;if(o[8072]|0||(Z5(11004),ir(69,11004,U|0)|0,l=8072,n[l>>2]=1,n[l+4>>2]=0),!(Fr(11004)|0)){s=11004,l=s+36|0;do n[s>>2]=0,s=s+4|0;while((s|0)<(l|0));Z5(11004)}return 11004}function I4e(s){return s=s|0,s|0}function B4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0,k=0,Q=0;return k=C,C=C+16|0,d=k,m=k+4|0,n[d>>2]=s,Q=BF()|0,B=Q+24|0,l=gr(l,4)|0,n[m>>2]=l,c=Q+28|0,f=n[c>>2]|0,f>>>0<(n[Q+32>>2]|0)>>>0?(X5(f,s,l),l=(n[c>>2]|0)+8|0,n[c>>2]=l):(v4e(B,d,m),l=n[c>>2]|0),C=k,(l-(n[B>>2]|0)>>3)+-1|0}function X5(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,n[s+4>>2]=c}function v4e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0;if(k=C,C=C+32|0,d=k,m=s+4|0,B=((n[m>>2]|0)-(n[s>>2]|0)>>3)+1|0,f=P4e(s)|0,f>>>0>>0)Vr(s);else{Q=n[s>>2]|0,O=(n[s+8>>2]|0)-Q|0,M=O>>2,D4e(d,O>>3>>>0>>1>>>0?M>>>0>>0?B:M:f,(n[m>>2]|0)-Q>>3,s+8|0),B=d+8|0,X5(n[B>>2]|0,n[l>>2]|0,n[c>>2]|0),n[B>>2]=(n[B>>2]|0)+8,S4e(s,d),b4e(d),C=k;return}}function P4e(s){return s=s|0,536870911}function D4e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0;n[s+12>>2]=0,n[s+16>>2]=f;do if(l)if(l>>>0>536870911)Tt();else{d=Kt(l<<3)|0;break}else d=0;while(0);n[s>>2]=d,f=d+(c<<3)|0,n[s+8>>2]=f,n[s+4>>2]=f,n[s+12>>2]=d+(l<<3)}function S4e(s,l){s=s|0,l=l|0;var c=0,f=0,d=0,m=0,B=0;f=n[s>>2]|0,B=s+4|0,m=l+4|0,d=(n[B>>2]|0)-f|0,c=(n[m>>2]|0)+(0-(d>>3)<<3)|0,n[m>>2]=c,(d|0)>0?(Pr(c|0,f|0,d|0)|0,f=m,c=n[m>>2]|0):f=m,m=n[s>>2]|0,n[s>>2]=c,n[f>>2]=m,m=l+8|0,d=n[B>>2]|0,n[B>>2]=n[m>>2],n[m>>2]=d,m=s+8|0,B=l+12|0,s=n[m>>2]|0,n[m>>2]=n[B>>2],n[B>>2]=s,n[l>>2]=n[f>>2]}function b4e(s){s=s|0;var l=0,c=0,f=0;l=n[s+4>>2]|0,c=s+8|0,f=n[c>>2]|0,(f|0)!=(l|0)&&(n[c>>2]=f+(~((f+-8-l|0)>>>3)<<3)),s=n[s>>2]|0,s|0&>(s)}function Z5(s){s=s|0,Q4e(s)}function x4e(s){s=s|0,k4e(s+24|0)}function k4e(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function Q4e(s){s=s|0;var l=0;l=zr()|0,Jr(s,1,12,l,R4e()|0,2),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function R4e(){return 1896}function F4e(s,l,c){s=s|0,l=l|0,c=c|0,L4e(n[(T4e(s)|0)>>2]|0,l,c)}function T4e(s){return s=s|0,(n[(BF()|0)+24>>2]|0)+(s<<3)|0}function L4e(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;f=C,C=C+16|0,m=f+4|0,d=f,N4e(m,l),l=O4e(m,l)|0,Dp(d,c),c=Sp(d,c)|0,rf[s&31](l,c),bp(d),C=f}function N4e(s,l){s=s|0,l=l|0}function O4e(s,l){return s=s|0,l=l|0,M4e(l)|0}function M4e(s){return s=s|0,s|0}function U4e(){var s=0;return o[8080]|0||($5(11040),ir(70,11040,U|0)|0,s=8080,n[s>>2]=1,n[s+4>>2]=0),Fr(11040)|0||$5(11040),11040}function $5(s){s=s|0,q4e(s),Rg(s,71)}function _4e(s){s=s|0,H4e(s+24|0)}function H4e(s){s=s|0;var l=0,c=0,f=0;c=n[s>>2]|0,f=c,c|0&&(s=s+4|0,l=n[s>>2]|0,(l|0)!=(c|0)&&(n[s>>2]=l+(~((l+-8-f|0)>>>3)<<3)),gt(c))}function q4e(s){s=s|0;var l=0;l=zr()|0,Jr(s,5,7,l,W4e()|0,0),n[s+24>>2]=0,n[s+28>>2]=0,n[s+32>>2]=0}function G4e(s){s=s|0,j4e(s)}function j4e(s){s=s|0,Y4e(s)}function Y4e(s){s=s|0,o[s+8>>0]=1}function W4e(){return 1936}function K4e(){return z4e()|0}function z4e(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0;return l=C,C=C+16|0,d=l+4|0,B=l,c=Ka(8)|0,s=c,m=s+4|0,n[m>>2]=Kt(1)|0,f=Kt(8)|0,m=n[m>>2]|0,n[B>>2]=0,n[d>>2]=n[B>>2],J4e(f,m,d),n[c>>2]=f,C=l,s|0}function J4e(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]=l,c=Kt(16)|0,n[c+4>>2]=0,n[c+8>>2]=0,n[c>>2]=1916,n[c+12>>2]=l,n[s+4>>2]=c}function V4e(s){s=s|0,Jm(s),gt(s)}function X4e(s){s=s|0,s=n[s+12>>2]|0,s|0&>(s)}function Z4e(s){s=s|0,gt(s)}function $4e(){var s=0;return o[8088]|0||(oUe(11076),ir(25,11076,U|0)|0,s=8088,n[s>>2]=1,n[s+4>>2]=0),11076}function eUe(s,l){s=s|0,l=l|0,n[s>>2]=tUe()|0,n[s+4>>2]=rUe()|0,n[s+12>>2]=l,n[s+8>>2]=nUe()|0,n[s+32>>2]=10}function tUe(){return 11745}function rUe(){return 1940}function nUe(){return lP()|0}function iUe(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,(xp(f,896)|0)==512?c|0&&(sUe(c),gt(c)):l|0&>(l)}function sUe(s){s=s|0,s=n[s+4>>2]|0,s|0&&Qp(s)}function oUe(s){s=s|0,Pp(s)}function xc(s,l){s=s|0,l=l|0,n[s>>2]=l}function vF(s){return s=s|0,n[s>>2]|0}function aUe(s){return s=s|0,o[n[s>>2]>>0]|0}function lUe(s,l){s=s|0,l=l|0;var c=0,f=0;c=C,C=C+16|0,f=c,n[f>>2]=n[s>>2],cUe(l,f)|0,C=c}function cUe(s,l){s=s|0,l=l|0;var c=0;return c=uUe(n[s>>2]|0,l)|0,l=s+4|0,n[(n[l>>2]|0)+8>>2]=c,n[(n[l>>2]|0)+8>>2]|0}function uUe(s,l){s=s|0,l=l|0;var c=0,f=0;return c=C,C=C+16|0,f=c,za(f),s=da(s)|0,l=AUe(s,n[l>>2]|0)|0,Ja(f),C=c,l|0}function za(s){s=s|0,n[s>>2]=n[2701],n[s+4>>2]=n[2703]}function AUe(s,l){s=s|0,l=l|0;var c=0;return c=Sl(fUe()|0)|0,Qn(0,c|0,s|0,mF(l)|0)|0}function Ja(s){s=s|0,q5(n[s>>2]|0,n[s+4>>2]|0)}function fUe(){var s=0;return o[8096]|0||(pUe(11120),s=8096,n[s>>2]=1,n[s+4>>2]=0),11120}function pUe(s){s=s|0,bl(s,hUe()|0,1)}function hUe(){return 1948}function gUe(){dUe()}function dUe(){var s=0,l=0,c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0,Ge=0,Me=0,Qe=0;if(Me=C,C=C+16|0,O=Me+4|0,G=Me,Li(65536,10804,n[2702]|0,10812),c=B5()|0,l=n[c>>2]|0,s=n[l>>2]|0,s|0)for(f=n[c+8>>2]|0,c=n[c+4>>2]|0;Ac(s|0,u[c>>0]|0|0,o[f>>0]|0),l=l+4|0,s=n[l>>2]|0,s;)f=f+1|0,c=c+1|0;if(s=v5()|0,l=n[s>>2]|0,l|0)do Au(l|0,n[s+4>>2]|0),s=s+8|0,l=n[s>>2]|0;while((l|0)!=0);Au(mUe()|0,5167),M=jm()|0,s=n[M>>2]|0;e:do if(s|0){do yUe(n[s+4>>2]|0),s=n[s>>2]|0;while((s|0)!=0);if(s=n[M>>2]|0,s|0){Q=M;do{for(;d=s,s=n[s>>2]|0,d=n[d+4>>2]|0,!!(EUe(d)|0);)if(n[G>>2]=Q,n[O>>2]=n[G>>2],CUe(M,O)|0,!s)break e;if(wUe(d),Q=n[Q>>2]|0,l=e7(d)|0,m=Hi()|0,B=C,C=C+((1*(l<<2)|0)+15&-16)|0,k=C,C=C+((1*(l<<2)|0)+15&-16)|0,l=n[(N5(d)|0)>>2]|0,l|0)for(c=B,f=k;n[c>>2]=n[(Ym(n[l+4>>2]|0)|0)>>2],n[f>>2]=n[l+8>>2],l=n[l>>2]|0,l;)c=c+4|0,f=f+4|0;Qe=Ym(d)|0,l=IUe(d)|0,c=e7(d)|0,f=BUe(d)|0,fu(Qe|0,l|0,B|0,k|0,c|0,f|0,AF(d)|0),_i(m|0)}while((s|0)!=0)}}while(0);if(s=n[(fF()|0)>>2]|0,s|0)do Qe=s+4|0,M=pF(Qe)|0,d=Lw(M)|0,m=Fw(M)|0,B=(Tw(M)|0)+1|0,k=pP(M)|0,Q=t7(Qe)|0,M=Fr(M)|0,O=uP(Qe)|0,G=PF(Qe)|0,Cl(0,d|0,m|0,B|0,k|0,Q|0,M|0,O|0,G|0,DF(Qe)|0),s=n[s>>2]|0;while((s|0)!=0);s=n[(jm()|0)>>2]|0;e:do if(s|0){t:for(;;){if(l=n[s+4>>2]|0,l|0&&(se=n[(Ym(l)|0)>>2]|0,Ge=n[(O5(l)|0)>>2]|0,Ge|0)){c=Ge;do{l=c+4|0,f=pF(l)|0;r:do if(f|0)switch(Fr(f)|0){case 0:break t;case 4:case 3:case 2:{k=Lw(f)|0,Q=Fw(f)|0,M=(Tw(f)|0)+1|0,O=pP(f)|0,G=Fr(f)|0,Qe=uP(l)|0,Cl(se|0,k|0,Q|0,M|0,O|0,0,G|0,Qe|0,PF(l)|0,DF(l)|0);break r}case 1:{B=Lw(f)|0,k=Fw(f)|0,Q=(Tw(f)|0)+1|0,M=pP(f)|0,O=t7(l)|0,G=Fr(f)|0,Qe=uP(l)|0,Cl(se|0,B|0,k|0,Q|0,M|0,O|0,G|0,Qe|0,PF(l)|0,DF(l)|0);break r}case 5:{M=Lw(f)|0,O=Fw(f)|0,G=(Tw(f)|0)+1|0,Qe=pP(f)|0,Cl(se|0,M|0,O|0,G|0,Qe|0,vUe(f)|0,Fr(f)|0,0,0,0);break r}default:break r}while(0);c=n[c>>2]|0}while((c|0)!=0)}if(s=n[s>>2]|0,!s)break e}Tt()}while(0);Ie(),C=Me}function mUe(){return 11703}function yUe(s){s=s|0,o[s+40>>0]=0}function EUe(s){return s=s|0,(o[s+40>>0]|0)!=0|0}function CUe(s,l){return s=s|0,l=l|0,l=PUe(l)|0,s=n[l>>2]|0,n[l>>2]=n[s>>2],gt(s),n[l>>2]|0}function wUe(s){s=s|0,o[s+40>>0]=1}function e7(s){return s=s|0,n[s+20>>2]|0}function IUe(s){return s=s|0,n[s+8>>2]|0}function BUe(s){return s=s|0,n[s+32>>2]|0}function pP(s){return s=s|0,n[s+4>>2]|0}function t7(s){return s=s|0,n[s+4>>2]|0}function PF(s){return s=s|0,n[s+8>>2]|0}function DF(s){return s=s|0,n[s+16>>2]|0}function vUe(s){return s=s|0,n[s+20>>2]|0}function PUe(s){return s=s|0,n[s>>2]|0}function hP(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0,Ge=0,Me=0,Qe=0,$e=0,Ve=0,lt=0,_e=0,qe=0,Nt=0;Nt=C,C=C+16|0,se=Nt;do if(s>>>0<245){if(M=s>>>0<11?16:s+11&-8,s=M>>>3,G=n[2783]|0,c=G>>>s,c&3|0)return l=(c&1^1)+s|0,s=11172+(l<<1<<2)|0,c=s+8|0,f=n[c>>2]|0,d=f+8|0,m=n[d>>2]|0,(s|0)==(m|0)?n[2783]=G&~(1<>2]=s,n[c>>2]=m),qe=l<<3,n[f+4>>2]=qe|3,qe=f+qe+4|0,n[qe>>2]=n[qe>>2]|1,qe=d,C=Nt,qe|0;if(O=n[2785]|0,M>>>0>O>>>0){if(c|0)return l=2<>>12&16,l=l>>>B,c=l>>>5&8,l=l>>>c,d=l>>>2&4,l=l>>>d,s=l>>>1&2,l=l>>>s,f=l>>>1&1,f=(c|B|d|s|f)+(l>>>f)|0,l=11172+(f<<1<<2)|0,s=l+8|0,d=n[s>>2]|0,B=d+8|0,c=n[B>>2]|0,(l|0)==(c|0)?(s=G&~(1<>2]=l,n[s>>2]=c,s=G),m=(f<<3)-M|0,n[d+4>>2]=M|3,f=d+M|0,n[f+4>>2]=m|1,n[f+m>>2]=m,O|0&&(d=n[2788]|0,l=O>>>3,c=11172+(l<<1<<2)|0,l=1<>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=d,n[l+12>>2]=d,n[d+8>>2]=l,n[d+12>>2]=c),n[2785]=m,n[2788]=f,qe=B,C=Nt,qe|0;if(k=n[2784]|0,k){if(c=(k&0-k)+-1|0,B=c>>>12&16,c=c>>>B,m=c>>>5&8,c=c>>>m,Q=c>>>2&4,c=c>>>Q,f=c>>>1&2,c=c>>>f,s=c>>>1&1,s=n[11436+((m|B|Q|f|s)+(c>>>s)<<2)>>2]|0,c=(n[s+4>>2]&-8)-M|0,f=n[s+16+(((n[s+16>>2]|0)==0&1)<<2)>>2]|0,!f)Q=s,m=c;else{do B=(n[f+4>>2]&-8)-M|0,Q=B>>>0>>0,c=Q?B:c,s=Q?f:s,f=n[f+16+(((n[f+16>>2]|0)==0&1)<<2)>>2]|0;while((f|0)!=0);Q=s,m=c}if(B=Q+M|0,Q>>>0>>0){d=n[Q+24>>2]|0,l=n[Q+12>>2]|0;do if((l|0)==(Q|0)){if(s=Q+20|0,l=n[s>>2]|0,!l&&(s=Q+16|0,l=n[s>>2]|0,!l)){c=0;break}for(;;){if(c=l+20|0,f=n[c>>2]|0,f|0){l=f,s=c;continue}if(c=l+16|0,f=n[c>>2]|0,f)l=f,s=c;else break}n[s>>2]=0,c=l}else c=n[Q+8>>2]|0,n[c+12>>2]=l,n[l+8>>2]=c,c=l;while(0);do if(d|0){if(l=n[Q+28>>2]|0,s=11436+(l<<2)|0,(Q|0)==(n[s>>2]|0)){if(n[s>>2]=c,!c){n[2784]=k&~(1<>2]|0)!=(Q|0)&1)<<2)>>2]=c,!c)break;n[c+24>>2]=d,l=n[Q+16>>2]|0,l|0&&(n[c+16>>2]=l,n[l+24>>2]=c),l=n[Q+20>>2]|0,l|0&&(n[c+20>>2]=l,n[l+24>>2]=c)}while(0);return m>>>0<16?(qe=m+M|0,n[Q+4>>2]=qe|3,qe=Q+qe+4|0,n[qe>>2]=n[qe>>2]|1):(n[Q+4>>2]=M|3,n[B+4>>2]=m|1,n[B+m>>2]=m,O|0&&(f=n[2788]|0,l=O>>>3,c=11172+(l<<1<<2)|0,l=1<>2]|0):(n[2783]=G|l,l=c,s=c+8|0),n[s>>2]=f,n[l+12>>2]=f,n[f+8>>2]=l,n[f+12>>2]=c),n[2785]=m,n[2788]=B),qe=Q+8|0,C=Nt,qe|0}else G=M}else G=M}else G=M}else if(s>>>0<=4294967231)if(s=s+11|0,M=s&-8,Q=n[2784]|0,Q){f=0-M|0,s=s>>>8,s?M>>>0>16777215?k=31:(G=(s+1048320|0)>>>16&8,_e=s<>>16&4,_e=_e<>>16&2,k=14-(O|G|k)+(_e<>>15)|0,k=M>>>(k+7|0)&1|k<<1):k=0,c=n[11436+(k<<2)>>2]|0;e:do if(!c)c=0,s=0,_e=57;else for(s=0,B=M<<((k|0)==31?0:25-(k>>>1)|0),m=0;;){if(d=(n[c+4>>2]&-8)-M|0,d>>>0>>0)if(d)s=c,f=d;else{s=c,f=0,d=c,_e=61;break e}if(d=n[c+20>>2]|0,c=n[c+16+(B>>>31<<2)>>2]|0,m=(d|0)==0|(d|0)==(c|0)?m:d,d=(c|0)==0,d){c=m,_e=57;break}else B=B<<((d^1)&1)}while(0);if((_e|0)==57){if((c|0)==0&(s|0)==0){if(s=2<>>12&16,G=G>>>B,m=G>>>5&8,G=G>>>m,k=G>>>2&4,G=G>>>k,O=G>>>1&2,G=G>>>O,c=G>>>1&1,s=0,c=n[11436+((m|B|k|O|c)+(G>>>c)<<2)>>2]|0}c?(d=c,_e=61):(k=s,B=f)}if((_e|0)==61)for(;;)if(_e=0,c=(n[d+4>>2]&-8)-M|0,G=c>>>0>>0,c=G?c:f,s=G?d:s,d=n[d+16+(((n[d+16>>2]|0)==0&1)<<2)>>2]|0,d)f=c,_e=61;else{k=s,B=c;break}if((k|0)!=0&&B>>>0<((n[2785]|0)-M|0)>>>0){if(m=k+M|0,k>>>0>=m>>>0)return qe=0,C=Nt,qe|0;d=n[k+24>>2]|0,l=n[k+12>>2]|0;do if((l|0)==(k|0)){if(s=k+20|0,l=n[s>>2]|0,!l&&(s=k+16|0,l=n[s>>2]|0,!l)){l=0;break}for(;;){if(c=l+20|0,f=n[c>>2]|0,f|0){l=f,s=c;continue}if(c=l+16|0,f=n[c>>2]|0,f)l=f,s=c;else break}n[s>>2]=0}else qe=n[k+8>>2]|0,n[qe+12>>2]=l,n[l+8>>2]=qe;while(0);do if(d){if(s=n[k+28>>2]|0,c=11436+(s<<2)|0,(k|0)==(n[c>>2]|0)){if(n[c>>2]=l,!l){f=Q&~(1<>2]|0)!=(k|0)&1)<<2)>>2]=l,!l){f=Q;break}n[l+24>>2]=d,s=n[k+16>>2]|0,s|0&&(n[l+16>>2]=s,n[s+24>>2]=l),s=n[k+20>>2]|0,s&&(n[l+20>>2]=s,n[s+24>>2]=l),f=Q}else f=Q;while(0);do if(B>>>0>=16){if(n[k+4>>2]=M|3,n[m+4>>2]=B|1,n[m+B>>2]=B,l=B>>>3,B>>>0<256){c=11172+(l<<1<<2)|0,s=n[2783]|0,l=1<>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=m,n[l+12>>2]=m,n[m+8>>2]=l,n[m+12>>2]=c;break}if(l=B>>>8,l?B>>>0>16777215?l=31:(_e=(l+1048320|0)>>>16&8,qe=l<<_e,lt=(qe+520192|0)>>>16&4,qe=qe<>>16&2,l=14-(lt|_e|l)+(qe<>>15)|0,l=B>>>(l+7|0)&1|l<<1):l=0,c=11436+(l<<2)|0,n[m+28>>2]=l,s=m+16|0,n[s+4>>2]=0,n[s>>2]=0,s=1<>2]=m,n[m+24>>2]=c,n[m+12>>2]=m,n[m+8>>2]=m;break}for(s=B<<((l|0)==31?0:25-(l>>>1)|0),c=n[c>>2]|0;;){if((n[c+4>>2]&-8|0)==(B|0)){_e=97;break}if(f=c+16+(s>>>31<<2)|0,l=n[f>>2]|0,l)s=s<<1,c=l;else{_e=96;break}}if((_e|0)==96){n[f>>2]=m,n[m+24>>2]=c,n[m+12>>2]=m,n[m+8>>2]=m;break}else if((_e|0)==97){_e=c+8|0,qe=n[_e>>2]|0,n[qe+12>>2]=m,n[_e>>2]=m,n[m+8>>2]=qe,n[m+12>>2]=c,n[m+24>>2]=0;break}}else qe=B+M|0,n[k+4>>2]=qe|3,qe=k+qe+4|0,n[qe>>2]=n[qe>>2]|1;while(0);return qe=k+8|0,C=Nt,qe|0}else G=M}else G=M;else G=-1;while(0);if(c=n[2785]|0,c>>>0>=G>>>0)return l=c-G|0,s=n[2788]|0,l>>>0>15?(qe=s+G|0,n[2788]=qe,n[2785]=l,n[qe+4>>2]=l|1,n[qe+l>>2]=l,n[s+4>>2]=G|3):(n[2785]=0,n[2788]=0,n[s+4>>2]=c|3,qe=s+c+4|0,n[qe>>2]=n[qe>>2]|1),qe=s+8|0,C=Nt,qe|0;if(B=n[2786]|0,B>>>0>G>>>0)return lt=B-G|0,n[2786]=lt,qe=n[2789]|0,_e=qe+G|0,n[2789]=_e,n[_e+4>>2]=lt|1,n[qe+4>>2]=G|3,qe=qe+8|0,C=Nt,qe|0;if(n[2901]|0?s=n[2903]|0:(n[2903]=4096,n[2902]=4096,n[2904]=-1,n[2905]=-1,n[2906]=0,n[2894]=0,s=se&-16^1431655768,n[se>>2]=s,n[2901]=s,s=4096),k=G+48|0,Q=G+47|0,m=s+Q|0,d=0-s|0,M=m&d,M>>>0<=G>>>0||(s=n[2893]|0,s|0&&(O=n[2891]|0,se=O+M|0,se>>>0<=O>>>0|se>>>0>s>>>0)))return qe=0,C=Nt,qe|0;e:do if(n[2894]&4)l=0,_e=133;else{c=n[2789]|0;t:do if(c){for(f=11580;s=n[f>>2]|0,!(s>>>0<=c>>>0&&(Qe=f+4|0,(s+(n[Qe>>2]|0)|0)>>>0>c>>>0));)if(s=n[f+8>>2]|0,s)f=s;else{_e=118;break t}if(l=m-B&d,l>>>0<2147483647)if(s=Rp(l|0)|0,(s|0)==((n[f>>2]|0)+(n[Qe>>2]|0)|0)){if((s|0)!=-1){B=l,m=s,_e=135;break e}}else f=s,_e=126;else l=0}else _e=118;while(0);do if((_e|0)==118)if(c=Rp(0)|0,(c|0)!=-1&&(l=c,Ge=n[2902]|0,Me=Ge+-1|0,l=((Me&l|0)==0?0:(Me+l&0-Ge)-l|0)+M|0,Ge=n[2891]|0,Me=l+Ge|0,l>>>0>G>>>0&l>>>0<2147483647)){if(Qe=n[2893]|0,Qe|0&&Me>>>0<=Ge>>>0|Me>>>0>Qe>>>0){l=0;break}if(s=Rp(l|0)|0,(s|0)==(c|0)){B=l,m=c,_e=135;break e}else f=s,_e=126}else l=0;while(0);do if((_e|0)==126){if(c=0-l|0,!(k>>>0>l>>>0&(l>>>0<2147483647&(f|0)!=-1)))if((f|0)==-1){l=0;break}else{B=l,m=f,_e=135;break e}if(s=n[2903]|0,s=Q-l+s&0-s,s>>>0>=2147483647){B=l,m=f,_e=135;break e}if((Rp(s|0)|0)==-1){Rp(c|0)|0,l=0;break}else{B=s+l|0,m=f,_e=135;break e}}while(0);n[2894]=n[2894]|4,_e=133}while(0);if((_e|0)==133&&M>>>0<2147483647&&(lt=Rp(M|0)|0,Qe=Rp(0)|0,$e=Qe-lt|0,Ve=$e>>>0>(G+40|0)>>>0,!((lt|0)==-1|Ve^1|lt>>>0>>0&((lt|0)!=-1&(Qe|0)!=-1)^1))&&(B=Ve?$e:l,m=lt,_e=135),(_e|0)==135){l=(n[2891]|0)+B|0,n[2891]=l,l>>>0>(n[2892]|0)>>>0&&(n[2892]=l),Q=n[2789]|0;do if(Q){for(l=11580;;){if(s=n[l>>2]|0,c=l+4|0,f=n[c>>2]|0,(m|0)==(s+f|0)){_e=145;break}if(d=n[l+8>>2]|0,d)l=d;else break}if((_e|0)==145&&(n[l+12>>2]&8|0)==0&&Q>>>0>>0&Q>>>0>=s>>>0){n[c>>2]=f+B,qe=Q+8|0,qe=(qe&7|0)==0?0:0-qe&7,_e=Q+qe|0,qe=(n[2786]|0)+(B-qe)|0,n[2789]=_e,n[2786]=qe,n[_e+4>>2]=qe|1,n[_e+qe+4>>2]=40,n[2790]=n[2905];break}for(m>>>0<(n[2787]|0)>>>0&&(n[2787]=m),c=m+B|0,l=11580;;){if((n[l>>2]|0)==(c|0)){_e=153;break}if(s=n[l+8>>2]|0,s)l=s;else break}if((_e|0)==153&&(n[l+12>>2]&8|0)==0){n[l>>2]=m,O=l+4|0,n[O>>2]=(n[O>>2]|0)+B,O=m+8|0,O=m+((O&7|0)==0?0:0-O&7)|0,l=c+8|0,l=c+((l&7|0)==0?0:0-l&7)|0,M=O+G|0,k=l-O-G|0,n[O+4>>2]=G|3;do if((l|0)!=(Q|0)){if((l|0)==(n[2788]|0)){qe=(n[2785]|0)+k|0,n[2785]=qe,n[2788]=M,n[M+4>>2]=qe|1,n[M+qe>>2]=qe;break}if(s=n[l+4>>2]|0,(s&3|0)==1){B=s&-8,f=s>>>3;e:do if(s>>>0<256)if(s=n[l+8>>2]|0,c=n[l+12>>2]|0,(c|0)==(s|0)){n[2783]=n[2783]&~(1<>2]=c,n[c+8>>2]=s;break}else{m=n[l+24>>2]|0,s=n[l+12>>2]|0;do if((s|0)==(l|0)){if(f=l+16|0,c=f+4|0,s=n[c>>2]|0,!s)if(s=n[f>>2]|0,s)c=f;else{s=0;break}for(;;){if(f=s+20|0,d=n[f>>2]|0,d|0){s=d,c=f;continue}if(f=s+16|0,d=n[f>>2]|0,d)s=d,c=f;else break}n[c>>2]=0}else qe=n[l+8>>2]|0,n[qe+12>>2]=s,n[s+8>>2]=qe;while(0);if(!m)break;c=n[l+28>>2]|0,f=11436+(c<<2)|0;do if((l|0)!=(n[f>>2]|0)){if(n[m+16+(((n[m+16>>2]|0)!=(l|0)&1)<<2)>>2]=s,!s)break e}else{if(n[f>>2]=s,s|0)break;n[2784]=n[2784]&~(1<>2]=m,c=l+16|0,f=n[c>>2]|0,f|0&&(n[s+16>>2]=f,n[f+24>>2]=s),c=n[c+4>>2]|0,!c)break;n[s+20>>2]=c,n[c+24>>2]=s}while(0);l=l+B|0,d=B+k|0}else d=k;if(l=l+4|0,n[l>>2]=n[l>>2]&-2,n[M+4>>2]=d|1,n[M+d>>2]=d,l=d>>>3,d>>>0<256){c=11172+(l<<1<<2)|0,s=n[2783]|0,l=1<>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=M,n[l+12>>2]=M,n[M+8>>2]=l,n[M+12>>2]=c;break}l=d>>>8;do if(!l)l=0;else{if(d>>>0>16777215){l=31;break}_e=(l+1048320|0)>>>16&8,qe=l<<_e,lt=(qe+520192|0)>>>16&4,qe=qe<>>16&2,l=14-(lt|_e|l)+(qe<>>15)|0,l=d>>>(l+7|0)&1|l<<1}while(0);if(f=11436+(l<<2)|0,n[M+28>>2]=l,s=M+16|0,n[s+4>>2]=0,n[s>>2]=0,s=n[2784]|0,c=1<>2]=M,n[M+24>>2]=f,n[M+12>>2]=M,n[M+8>>2]=M;break}for(s=d<<((l|0)==31?0:25-(l>>>1)|0),c=n[f>>2]|0;;){if((n[c+4>>2]&-8|0)==(d|0)){_e=194;break}if(f=c+16+(s>>>31<<2)|0,l=n[f>>2]|0,l)s=s<<1,c=l;else{_e=193;break}}if((_e|0)==193){n[f>>2]=M,n[M+24>>2]=c,n[M+12>>2]=M,n[M+8>>2]=M;break}else if((_e|0)==194){_e=c+8|0,qe=n[_e>>2]|0,n[qe+12>>2]=M,n[_e>>2]=M,n[M+8>>2]=qe,n[M+12>>2]=c,n[M+24>>2]=0;break}}else qe=(n[2786]|0)+k|0,n[2786]=qe,n[2789]=M,n[M+4>>2]=qe|1;while(0);return qe=O+8|0,C=Nt,qe|0}for(l=11580;s=n[l>>2]|0,!(s>>>0<=Q>>>0&&(qe=s+(n[l+4>>2]|0)|0,qe>>>0>Q>>>0));)l=n[l+8>>2]|0;d=qe+-47|0,s=d+8|0,s=d+((s&7|0)==0?0:0-s&7)|0,d=Q+16|0,s=s>>>0>>0?Q:s,l=s+8|0,c=m+8|0,c=(c&7|0)==0?0:0-c&7,_e=m+c|0,c=B+-40-c|0,n[2789]=_e,n[2786]=c,n[_e+4>>2]=c|1,n[_e+c+4>>2]=40,n[2790]=n[2905],c=s+4|0,n[c>>2]=27,n[l>>2]=n[2895],n[l+4>>2]=n[2896],n[l+8>>2]=n[2897],n[l+12>>2]=n[2898],n[2895]=m,n[2896]=B,n[2898]=0,n[2897]=l,l=s+24|0;do _e=l,l=l+4|0,n[l>>2]=7;while((_e+8|0)>>>0>>0);if((s|0)!=(Q|0)){if(m=s-Q|0,n[c>>2]=n[c>>2]&-2,n[Q+4>>2]=m|1,n[s>>2]=m,l=m>>>3,m>>>0<256){c=11172+(l<<1<<2)|0,s=n[2783]|0,l=1<>2]|0):(n[2783]=s|l,l=c,s=c+8|0),n[s>>2]=Q,n[l+12>>2]=Q,n[Q+8>>2]=l,n[Q+12>>2]=c;break}if(l=m>>>8,l?m>>>0>16777215?c=31:(_e=(l+1048320|0)>>>16&8,qe=l<<_e,lt=(qe+520192|0)>>>16&4,qe=qe<>>16&2,c=14-(lt|_e|c)+(qe<>>15)|0,c=m>>>(c+7|0)&1|c<<1):c=0,f=11436+(c<<2)|0,n[Q+28>>2]=c,n[Q+20>>2]=0,n[d>>2]=0,l=n[2784]|0,s=1<>2]=Q,n[Q+24>>2]=f,n[Q+12>>2]=Q,n[Q+8>>2]=Q;break}for(s=m<<((c|0)==31?0:25-(c>>>1)|0),c=n[f>>2]|0;;){if((n[c+4>>2]&-8|0)==(m|0)){_e=216;break}if(f=c+16+(s>>>31<<2)|0,l=n[f>>2]|0,l)s=s<<1,c=l;else{_e=215;break}}if((_e|0)==215){n[f>>2]=Q,n[Q+24>>2]=c,n[Q+12>>2]=Q,n[Q+8>>2]=Q;break}else if((_e|0)==216){_e=c+8|0,qe=n[_e>>2]|0,n[qe+12>>2]=Q,n[_e>>2]=Q,n[Q+8>>2]=qe,n[Q+12>>2]=c,n[Q+24>>2]=0;break}}}else{qe=n[2787]|0,(qe|0)==0|m>>>0>>0&&(n[2787]=m),n[2895]=m,n[2896]=B,n[2898]=0,n[2792]=n[2901],n[2791]=-1,l=0;do qe=11172+(l<<1<<2)|0,n[qe+12>>2]=qe,n[qe+8>>2]=qe,l=l+1|0;while((l|0)!=32);qe=m+8|0,qe=(qe&7|0)==0?0:0-qe&7,_e=m+qe|0,qe=B+-40-qe|0,n[2789]=_e,n[2786]=qe,n[_e+4>>2]=qe|1,n[_e+qe+4>>2]=40,n[2790]=n[2905]}while(0);if(l=n[2786]|0,l>>>0>G>>>0)return lt=l-G|0,n[2786]=lt,qe=n[2789]|0,_e=qe+G|0,n[2789]=_e,n[_e+4>>2]=lt|1,n[qe+4>>2]=G|3,qe=qe+8|0,C=Nt,qe|0}return n[(Km()|0)>>2]=12,qe=0,C=Nt,qe|0}function gP(s){s=s|0;var l=0,c=0,f=0,d=0,m=0,B=0,k=0,Q=0;if(!!s){c=s+-8|0,d=n[2787]|0,s=n[s+-4>>2]|0,l=s&-8,Q=c+l|0;do if(s&1)k=c,B=c;else{if(f=n[c>>2]|0,!(s&3)||(B=c+(0-f)|0,m=f+l|0,B>>>0>>0))return;if((B|0)==(n[2788]|0)){if(s=Q+4|0,l=n[s>>2]|0,(l&3|0)!=3){k=B,l=m;break}n[2785]=m,n[s>>2]=l&-2,n[B+4>>2]=m|1,n[B+m>>2]=m;return}if(c=f>>>3,f>>>0<256)if(s=n[B+8>>2]|0,l=n[B+12>>2]|0,(l|0)==(s|0)){n[2783]=n[2783]&~(1<>2]=l,n[l+8>>2]=s,k=B,l=m;break}d=n[B+24>>2]|0,s=n[B+12>>2]|0;do if((s|0)==(B|0)){if(c=B+16|0,l=c+4|0,s=n[l>>2]|0,!s)if(s=n[c>>2]|0,s)l=c;else{s=0;break}for(;;){if(c=s+20|0,f=n[c>>2]|0,f|0){s=f,l=c;continue}if(c=s+16|0,f=n[c>>2]|0,f)s=f,l=c;else break}n[l>>2]=0}else k=n[B+8>>2]|0,n[k+12>>2]=s,n[s+8>>2]=k;while(0);if(d){if(l=n[B+28>>2]|0,c=11436+(l<<2)|0,(B|0)==(n[c>>2]|0)){if(n[c>>2]=s,!s){n[2784]=n[2784]&~(1<>2]|0)!=(B|0)&1)<<2)>>2]=s,!s){k=B,l=m;break}n[s+24>>2]=d,l=B+16|0,c=n[l>>2]|0,c|0&&(n[s+16>>2]=c,n[c+24>>2]=s),l=n[l+4>>2]|0,l?(n[s+20>>2]=l,n[l+24>>2]=s,k=B,l=m):(k=B,l=m)}else k=B,l=m}while(0);if(!(B>>>0>=Q>>>0)&&(s=Q+4|0,f=n[s>>2]|0,!!(f&1))){if(f&2)n[s>>2]=f&-2,n[k+4>>2]=l|1,n[B+l>>2]=l,d=l;else{if(s=n[2788]|0,(Q|0)==(n[2789]|0)){if(Q=(n[2786]|0)+l|0,n[2786]=Q,n[2789]=k,n[k+4>>2]=Q|1,(k|0)!=(s|0))return;n[2788]=0,n[2785]=0;return}if((Q|0)==(s|0)){Q=(n[2785]|0)+l|0,n[2785]=Q,n[2788]=B,n[k+4>>2]=Q|1,n[B+Q>>2]=Q;return}d=(f&-8)+l|0,c=f>>>3;do if(f>>>0<256)if(l=n[Q+8>>2]|0,s=n[Q+12>>2]|0,(s|0)==(l|0)){n[2783]=n[2783]&~(1<>2]=s,n[s+8>>2]=l;break}else{m=n[Q+24>>2]|0,s=n[Q+12>>2]|0;do if((s|0)==(Q|0)){if(c=Q+16|0,l=c+4|0,s=n[l>>2]|0,!s)if(s=n[c>>2]|0,s)l=c;else{c=0;break}for(;;){if(c=s+20|0,f=n[c>>2]|0,f|0){s=f,l=c;continue}if(c=s+16|0,f=n[c>>2]|0,f)s=f,l=c;else break}n[l>>2]=0,c=s}else c=n[Q+8>>2]|0,n[c+12>>2]=s,n[s+8>>2]=c,c=s;while(0);if(m|0){if(s=n[Q+28>>2]|0,l=11436+(s<<2)|0,(Q|0)==(n[l>>2]|0)){if(n[l>>2]=c,!c){n[2784]=n[2784]&~(1<>2]|0)!=(Q|0)&1)<<2)>>2]=c,!c)break;n[c+24>>2]=m,s=Q+16|0,l=n[s>>2]|0,l|0&&(n[c+16>>2]=l,n[l+24>>2]=c),s=n[s+4>>2]|0,s|0&&(n[c+20>>2]=s,n[s+24>>2]=c)}}while(0);if(n[k+4>>2]=d|1,n[B+d>>2]=d,(k|0)==(n[2788]|0)){n[2785]=d;return}}if(s=d>>>3,d>>>0<256){c=11172+(s<<1<<2)|0,l=n[2783]|0,s=1<>2]|0):(n[2783]=l|s,s=c,l=c+8|0),n[l>>2]=k,n[s+12>>2]=k,n[k+8>>2]=s,n[k+12>>2]=c;return}s=d>>>8,s?d>>>0>16777215?s=31:(B=(s+1048320|0)>>>16&8,Q=s<>>16&4,Q=Q<>>16&2,s=14-(m|B|s)+(Q<>>15)|0,s=d>>>(s+7|0)&1|s<<1):s=0,f=11436+(s<<2)|0,n[k+28>>2]=s,n[k+20>>2]=0,n[k+16>>2]=0,l=n[2784]|0,c=1<>>1)|0),c=n[f>>2]|0;;){if((n[c+4>>2]&-8|0)==(d|0)){s=73;break}if(f=c+16+(l>>>31<<2)|0,s=n[f>>2]|0,s)l=l<<1,c=s;else{s=72;break}}if((s|0)==72){n[f>>2]=k,n[k+24>>2]=c,n[k+12>>2]=k,n[k+8>>2]=k;break}else if((s|0)==73){B=c+8|0,Q=n[B>>2]|0,n[Q+12>>2]=k,n[B>>2]=k,n[k+8>>2]=Q,n[k+12>>2]=c,n[k+24>>2]=0;break}}else n[2784]=l|c,n[f>>2]=k,n[k+24>>2]=f,n[k+12>>2]=k,n[k+8>>2]=k;while(0);if(Q=(n[2791]|0)+-1|0,n[2791]=Q,!Q)s=11588;else return;for(;s=n[s>>2]|0,s;)s=s+8|0;n[2791]=-1}}}function DUe(){return 11628}function SUe(s){s=s|0;var l=0,c=0;return l=C,C=C+16|0,c=l,n[c>>2]=kUe(n[s+60>>2]|0)|0,s=dP(gc(6,c|0)|0)|0,C=l,s|0}function r7(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0,Ge=0;G=C,C=C+48|0,M=G+16|0,m=G,d=G+32|0,k=s+28|0,f=n[k>>2]|0,n[d>>2]=f,Q=s+20|0,f=(n[Q>>2]|0)-f|0,n[d+4>>2]=f,n[d+8>>2]=l,n[d+12>>2]=c,f=f+c|0,B=s+60|0,n[m>>2]=n[B>>2],n[m+4>>2]=d,n[m+8>>2]=2,m=dP(Ni(146,m|0)|0)|0;e:do if((f|0)!=(m|0)){for(l=2;!((m|0)<0);)if(f=f-m|0,Ge=n[d+4>>2]|0,se=m>>>0>Ge>>>0,d=se?d+8|0:d,l=(se<<31>>31)+l|0,Ge=m-(se?Ge:0)|0,n[d>>2]=(n[d>>2]|0)+Ge,se=d+4|0,n[se>>2]=(n[se>>2]|0)-Ge,n[M>>2]=n[B>>2],n[M+4>>2]=d,n[M+8>>2]=l,m=dP(Ni(146,M|0)|0)|0,(f|0)==(m|0)){O=3;break e}n[s+16>>2]=0,n[k>>2]=0,n[Q>>2]=0,n[s>>2]=n[s>>2]|32,(l|0)==2?c=0:c=c-(n[d+4>>2]|0)|0}else O=3;while(0);return(O|0)==3&&(Ge=n[s+44>>2]|0,n[s+16>>2]=Ge+(n[s+48>>2]|0),n[k>>2]=Ge,n[Q>>2]=Ge),C=G,c|0}function bUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;return d=C,C=C+32|0,m=d,f=d+20|0,n[m>>2]=n[s+60>>2],n[m+4>>2]=0,n[m+8>>2]=l,n[m+12>>2]=f,n[m+16>>2]=c,(dP(sa(140,m|0)|0)|0)<0?(n[f>>2]=-1,s=-1):s=n[f>>2]|0,C=d,s|0}function dP(s){return s=s|0,s>>>0>4294963200&&(n[(Km()|0)>>2]=0-s,s=-1),s|0}function Km(){return(xUe()|0)+64|0}function xUe(){return SF()|0}function SF(){return 2084}function kUe(s){return s=s|0,s|0}function QUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;return d=C,C=C+32|0,f=d,n[s+36>>2]=1,(n[s>>2]&64|0)==0&&(n[f>>2]=n[s+60>>2],n[f+4>>2]=21523,n[f+8>>2]=d+16,pu(54,f|0)|0)&&(o[s+75>>0]=-1),f=r7(s,l,c)|0,C=d,f|0}function n7(s,l){s=s|0,l=l|0;var c=0,f=0;if(c=o[s>>0]|0,f=o[l>>0]|0,c<<24>>24==0||c<<24>>24!=f<<24>>24)s=f;else{do s=s+1|0,l=l+1|0,c=o[s>>0]|0,f=o[l>>0]|0;while(!(c<<24>>24==0||c<<24>>24!=f<<24>>24));s=f}return(c&255)-(s&255)|0}function RUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0;e:do if(!c)s=0;else{for(;f=o[s>>0]|0,d=o[l>>0]|0,f<<24>>24==d<<24>>24;)if(c=c+-1|0,c)s=s+1|0,l=l+1|0;else{s=0;break e}s=(f&255)-(d&255)|0}while(0);return s|0}function i7(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0,Ge=0,Me=0,Qe=0;Qe=C,C=C+224|0,O=Qe+120|0,G=Qe+80|0,Ge=Qe,Me=Qe+136|0,f=G,d=f+40|0;do n[f>>2]=0,f=f+4|0;while((f|0)<(d|0));return n[O>>2]=n[c>>2],(bF(0,l,O,Ge,G)|0)<0?c=-1:((n[s+76>>2]|0)>-1?se=FUe(s)|0:se=0,c=n[s>>2]|0,M=c&32,(o[s+74>>0]|0)<1&&(n[s>>2]=c&-33),f=s+48|0,n[f>>2]|0?c=bF(s,l,O,Ge,G)|0:(d=s+44|0,m=n[d>>2]|0,n[d>>2]=Me,B=s+28|0,n[B>>2]=Me,k=s+20|0,n[k>>2]=Me,n[f>>2]=80,Q=s+16|0,n[Q>>2]=Me+80,c=bF(s,l,O,Ge,G)|0,m&&(CP[n[s+36>>2]&7](s,0,0)|0,c=(n[k>>2]|0)==0?-1:c,n[d>>2]=m,n[f>>2]=0,n[Q>>2]=0,n[B>>2]=0,n[k>>2]=0)),f=n[s>>2]|0,n[s>>2]=f|M,se|0&&TUe(s),c=(f&32|0)==0?c:-1),C=Qe,c|0}function bF(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0,Ge=0,Me=0,Qe=0,$e=0,Ve=0,lt=0,_e=0,qe=0,Nt=0,Mr=0,cr=0,Xt=0,Dr=0,Tr=0,ar=0;ar=C,C=C+64|0,cr=ar+16|0,Xt=ar,Nt=ar+24|0,Dr=ar+8|0,Tr=ar+20|0,n[cr>>2]=l,lt=(s|0)!=0,_e=Nt+40|0,qe=_e,Nt=Nt+39|0,Mr=Dr+4|0,B=0,m=0,O=0;e:for(;;){do if((m|0)>-1)if((B|0)>(2147483647-m|0)){n[(Km()|0)>>2]=75,m=-1;break}else{m=B+m|0;break}while(0);if(B=o[l>>0]|0,B<<24>>24)k=l;else{Ve=87;break}t:for(;;){switch(B<<24>>24){case 37:{B=k,Ve=9;break t}case 0:{B=k;break t}default:}$e=k+1|0,n[cr>>2]=$e,B=o[$e>>0]|0,k=$e}t:do if((Ve|0)==9)for(;;){if(Ve=0,(o[k+1>>0]|0)!=37)break t;if(B=B+1|0,k=k+2|0,n[cr>>2]=k,(o[k>>0]|0)==37)Ve=9;else break}while(0);if(B=B-l|0,lt&&os(s,l,B),B|0){l=k;continue}Q=k+1|0,B=(o[Q>>0]|0)+-48|0,B>>>0<10?($e=(o[k+2>>0]|0)==36,Qe=$e?B:-1,O=$e?1:O,Q=$e?k+3|0:Q):Qe=-1,n[cr>>2]=Q,B=o[Q>>0]|0,k=(B<<24>>24)+-32|0;t:do if(k>>>0<32)for(M=0,G=B;;){if(B=1<>2]=Q,B=o[Q>>0]|0,k=(B<<24>>24)+-32|0,k>>>0>=32)break;G=B}else M=0;while(0);if(B<<24>>24==42){if(k=Q+1|0,B=(o[k>>0]|0)+-48|0,B>>>0<10&&(o[Q+2>>0]|0)==36)n[d+(B<<2)>>2]=10,B=n[f+((o[k>>0]|0)+-48<<3)>>2]|0,O=1,Q=Q+3|0;else{if(O|0){m=-1;break}lt?(O=(n[c>>2]|0)+(4-1)&~(4-1),B=n[O>>2]|0,n[c>>2]=O+4,O=0,Q=k):(B=0,O=0,Q=k)}n[cr>>2]=Q,$e=(B|0)<0,B=$e?0-B|0:B,M=$e?M|8192:M}else{if(B=s7(cr)|0,(B|0)<0){m=-1;break}Q=n[cr>>2]|0}do if((o[Q>>0]|0)==46){if((o[Q+1>>0]|0)!=42){n[cr>>2]=Q+1,k=s7(cr)|0,Q=n[cr>>2]|0;break}if(G=Q+2|0,k=(o[G>>0]|0)+-48|0,k>>>0<10&&(o[Q+3>>0]|0)==36){n[d+(k<<2)>>2]=10,k=n[f+((o[G>>0]|0)+-48<<3)>>2]|0,Q=Q+4|0,n[cr>>2]=Q;break}if(O|0){m=-1;break e}lt?($e=(n[c>>2]|0)+(4-1)&~(4-1),k=n[$e>>2]|0,n[c>>2]=$e+4):k=0,n[cr>>2]=G,Q=G}else k=-1;while(0);for(Me=0;;){if(((o[Q>>0]|0)+-65|0)>>>0>57){m=-1;break e}if($e=Q+1|0,n[cr>>2]=$e,G=o[(o[Q>>0]|0)+-65+(5178+(Me*58|0))>>0]|0,se=G&255,(se+-1|0)>>>0<8)Me=se,Q=$e;else break}if(!(G<<24>>24)){m=-1;break}Ge=(Qe|0)>-1;do if(G<<24>>24==19)if(Ge){m=-1;break e}else Ve=49;else{if(Ge){n[d+(Qe<<2)>>2]=se,Ge=f+(Qe<<3)|0,Qe=n[Ge+4>>2]|0,Ve=Xt,n[Ve>>2]=n[Ge>>2],n[Ve+4>>2]=Qe,Ve=49;break}if(!lt){m=0;break e}o7(Xt,se,c)}while(0);if((Ve|0)==49&&(Ve=0,!lt)){B=0,l=$e;continue}Q=o[Q>>0]|0,Q=(Me|0)!=0&(Q&15|0)==3?Q&-33:Q,Ge=M&-65537,Qe=(M&8192|0)==0?M:Ge;t:do switch(Q|0){case 110:switch((Me&255)<<24>>24){case 0:{n[n[Xt>>2]>>2]=m,B=0,l=$e;continue e}case 1:{n[n[Xt>>2]>>2]=m,B=0,l=$e;continue e}case 2:{B=n[Xt>>2]|0,n[B>>2]=m,n[B+4>>2]=((m|0)<0)<<31>>31,B=0,l=$e;continue e}case 3:{a[n[Xt>>2]>>1]=m,B=0,l=$e;continue e}case 4:{o[n[Xt>>2]>>0]=m,B=0,l=$e;continue e}case 6:{n[n[Xt>>2]>>2]=m,B=0,l=$e;continue e}case 7:{B=n[Xt>>2]|0,n[B>>2]=m,n[B+4>>2]=((m|0)<0)<<31>>31,B=0,l=$e;continue e}default:{B=0,l=$e;continue e}}case 112:{Q=120,k=k>>>0>8?k:8,l=Qe|8,Ve=61;break}case 88:case 120:{l=Qe,Ve=61;break}case 111:{Q=Xt,l=n[Q>>2]|0,Q=n[Q+4>>2]|0,se=NUe(l,Q,_e)|0,Ge=qe-se|0,M=0,G=5642,k=(Qe&8|0)==0|(k|0)>(Ge|0)?k:Ge+1|0,Ge=Qe,Ve=67;break}case 105:case 100:if(Q=Xt,l=n[Q>>2]|0,Q=n[Q+4>>2]|0,(Q|0)<0){l=mP(0,0,l|0,Q|0)|0,Q=Ce,M=Xt,n[M>>2]=l,n[M+4>>2]=Q,M=1,G=5642,Ve=66;break t}else{M=(Qe&2049|0)!=0&1,G=(Qe&2048|0)==0?(Qe&1|0)==0?5642:5644:5643,Ve=66;break t}case 117:{Q=Xt,M=0,G=5642,l=n[Q>>2]|0,Q=n[Q+4>>2]|0,Ve=66;break}case 99:{o[Nt>>0]=n[Xt>>2],l=Nt,M=0,G=5642,se=_e,Q=1,k=Ge;break}case 109:{Q=OUe(n[(Km()|0)>>2]|0)|0,Ve=71;break}case 115:{Q=n[Xt>>2]|0,Q=Q|0?Q:5652,Ve=71;break}case 67:{n[Dr>>2]=n[Xt>>2],n[Mr>>2]=0,n[Xt>>2]=Dr,se=-1,Q=Dr,Ve=75;break}case 83:{l=n[Xt>>2]|0,k?(se=k,Q=l,Ve=75):(Ps(s,32,B,0,Qe),l=0,Ve=84);break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{B=UUe(s,+E[Xt>>3],B,k,Qe,Q)|0,l=$e;continue e}default:M=0,G=5642,se=_e,Q=k,k=Qe}while(0);t:do if((Ve|0)==61)Qe=Xt,Me=n[Qe>>2]|0,Qe=n[Qe+4>>2]|0,se=LUe(Me,Qe,_e,Q&32)|0,G=(l&8|0)==0|(Me|0)==0&(Qe|0)==0,M=G?0:2,G=G?5642:5642+(Q>>4)|0,Ge=l,l=Me,Q=Qe,Ve=67;else if((Ve|0)==66)se=zm(l,Q,_e)|0,Ge=Qe,Ve=67;else if((Ve|0)==71)Ve=0,Qe=MUe(Q,0,k)|0,Me=(Qe|0)==0,l=Q,M=0,G=5642,se=Me?Q+k|0:Qe,Q=Me?k:Qe-Q|0,k=Ge;else if((Ve|0)==75){for(Ve=0,G=Q,l=0,k=0;M=n[G>>2]|0,!(!M||(k=a7(Tr,M)|0,(k|0)<0|k>>>0>(se-l|0)>>>0));)if(l=k+l|0,se>>>0>l>>>0)G=G+4|0;else break;if((k|0)<0){m=-1;break e}if(Ps(s,32,B,l,Qe),!l)l=0,Ve=84;else for(M=0;;){if(k=n[Q>>2]|0,!k){Ve=84;break t}if(k=a7(Tr,k)|0,M=k+M|0,(M|0)>(l|0)){Ve=84;break t}if(os(s,Tr,k),M>>>0>=l>>>0){Ve=84;break}else Q=Q+4|0}}while(0);if((Ve|0)==67)Ve=0,Q=(l|0)!=0|(Q|0)!=0,Qe=(k|0)!=0|Q,Q=((Q^1)&1)+(qe-se)|0,l=Qe?se:_e,se=_e,Q=Qe?(k|0)>(Q|0)?k:Q:k,k=(k|0)>-1?Ge&-65537:Ge;else if((Ve|0)==84){Ve=0,Ps(s,32,B,l,Qe^8192),B=(B|0)>(l|0)?B:l,l=$e;continue}Me=se-l|0,Ge=(Q|0)<(Me|0)?Me:Q,Qe=Ge+M|0,B=(B|0)<(Qe|0)?Qe:B,Ps(s,32,B,Qe,k),os(s,G,M),Ps(s,48,B,Qe,k^65536),Ps(s,48,Ge,Me,0),os(s,l,Me),Ps(s,32,B,Qe,k^8192),l=$e}e:do if((Ve|0)==87&&!s)if(!O)m=0;else{for(m=1;l=n[d+(m<<2)>>2]|0,!!l;)if(o7(f+(m<<3)|0,l,c),m=m+1|0,(m|0)>=10){m=1;break e}for(;;){if(n[d+(m<<2)>>2]|0){m=-1;break e}if(m=m+1|0,(m|0)>=10){m=1;break}}}while(0);return C=ar,m|0}function FUe(s){return s=s|0,0}function TUe(s){s=s|0}function os(s,l,c){s=s|0,l=l|0,c=c|0,n[s>>2]&32||zUe(l,c,s)|0}function s7(s){s=s|0;var l=0,c=0,f=0;if(c=n[s>>2]|0,f=(o[c>>0]|0)+-48|0,f>>>0<10){l=0;do l=f+(l*10|0)|0,c=c+1|0,n[s>>2]=c,f=(o[c>>0]|0)+-48|0;while(f>>>0<10)}else l=0;return l|0}function o7(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;e:do if(l>>>0<=20)do switch(l|0){case 9:{f=(n[c>>2]|0)+(4-1)&~(4-1),l=n[f>>2]|0,n[c>>2]=f+4,n[s>>2]=l;break e}case 10:{f=(n[c>>2]|0)+(4-1)&~(4-1),l=n[f>>2]|0,n[c>>2]=f+4,f=s,n[f>>2]=l,n[f+4>>2]=((l|0)<0)<<31>>31;break e}case 11:{f=(n[c>>2]|0)+(4-1)&~(4-1),l=n[f>>2]|0,n[c>>2]=f+4,f=s,n[f>>2]=l,n[f+4>>2]=0;break e}case 12:{f=(n[c>>2]|0)+(8-1)&~(8-1),l=f,d=n[l>>2]|0,l=n[l+4>>2]|0,n[c>>2]=f+8,f=s,n[f>>2]=d,n[f+4>>2]=l;break e}case 13:{d=(n[c>>2]|0)+(4-1)&~(4-1),f=n[d>>2]|0,n[c>>2]=d+4,f=(f&65535)<<16>>16,d=s,n[d>>2]=f,n[d+4>>2]=((f|0)<0)<<31>>31;break e}case 14:{d=(n[c>>2]|0)+(4-1)&~(4-1),f=n[d>>2]|0,n[c>>2]=d+4,d=s,n[d>>2]=f&65535,n[d+4>>2]=0;break e}case 15:{d=(n[c>>2]|0)+(4-1)&~(4-1),f=n[d>>2]|0,n[c>>2]=d+4,f=(f&255)<<24>>24,d=s,n[d>>2]=f,n[d+4>>2]=((f|0)<0)<<31>>31;break e}case 16:{d=(n[c>>2]|0)+(4-1)&~(4-1),f=n[d>>2]|0,n[c>>2]=d+4,d=s,n[d>>2]=f&255,n[d+4>>2]=0;break e}case 17:{d=(n[c>>2]|0)+(8-1)&~(8-1),m=+E[d>>3],n[c>>2]=d+8,E[s>>3]=m;break e}case 18:{d=(n[c>>2]|0)+(8-1)&~(8-1),m=+E[d>>3],n[c>>2]=d+8,E[s>>3]=m;break e}default:break e}while(0);while(0)}function LUe(s,l,c,f){if(s=s|0,l=l|0,c=c|0,f=f|0,!((s|0)==0&(l|0)==0))do c=c+-1|0,o[c>>0]=u[5694+(s&15)>>0]|0|f,s=yP(s|0,l|0,4)|0,l=Ce;while(!((s|0)==0&(l|0)==0));return c|0}function NUe(s,l,c){if(s=s|0,l=l|0,c=c|0,!((s|0)==0&(l|0)==0))do c=c+-1|0,o[c>>0]=s&7|48,s=yP(s|0,l|0,3)|0,l=Ce;while(!((s|0)==0&(l|0)==0));return c|0}function zm(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;if(l>>>0>0|(l|0)==0&s>>>0>4294967295){for(;f=RF(s|0,l|0,10,0)|0,c=c+-1|0,o[c>>0]=f&255|48,f=s,s=QF(s|0,l|0,10,0)|0,l>>>0>9|(l|0)==9&f>>>0>4294967295;)l=Ce;l=s}else l=s;if(l)for(;c=c+-1|0,o[c>>0]=(l>>>0)%10|0|48,!(l>>>0<10);)l=(l>>>0)/10|0;return c|0}function OUe(s){return s=s|0,jUe(s,n[(GUe()|0)+188>>2]|0)|0}function MUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;m=l&255,f=(c|0)!=0;e:do if(f&(s&3|0)!=0)for(d=l&255;;){if((o[s>>0]|0)==d<<24>>24){B=6;break e}if(s=s+1|0,c=c+-1|0,f=(c|0)!=0,!(f&(s&3|0)!=0)){B=5;break}}else B=5;while(0);(B|0)==5&&(f?B=6:c=0);e:do if((B|0)==6&&(d=l&255,(o[s>>0]|0)!=d<<24>>24)){f=Ue(m,16843009)|0;t:do if(c>>>0>3){for(;m=n[s>>2]^f,!((m&-2139062144^-2139062144)&m+-16843009|0);)if(s=s+4|0,c=c+-4|0,c>>>0<=3){B=11;break t}}else B=11;while(0);if((B|0)==11&&!c){c=0;break}for(;;){if((o[s>>0]|0)==d<<24>>24)break e;if(s=s+1|0,c=c+-1|0,!c){c=0;break}}}while(0);return(c|0?s:0)|0}function Ps(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0;if(B=C,C=C+256|0,m=B,(c|0)>(f|0)&(d&73728|0)==0){if(d=c-f|0,Vm(m|0,l|0,(d>>>0<256?d:256)|0)|0,d>>>0>255){l=c-f|0;do os(s,m,256),d=d+-256|0;while(d>>>0>255);d=l&255}os(s,m,d)}C=B}function a7(s,l){return s=s|0,l=l|0,s?s=HUe(s,l,0)|0:s=0,s|0}function UUe(s,l,c,f,d,m){s=s|0,l=+l,c=c|0,f=f|0,d=d|0,m=m|0;var B=0,k=0,Q=0,M=0,O=0,G=0,se=0,Ge=0,Me=0,Qe=0,$e=0,Ve=0,lt=0,_e=0,qe=0,Nt=0,Mr=0,cr=0,Xt=0,Dr=0,Tr=0,ar=0,xn=0;xn=C,C=C+560|0,Q=xn+8|0,$e=xn,ar=xn+524|0,Tr=ar,M=xn+512|0,n[$e>>2]=0,Dr=M+12|0,l7(l)|0,(Ce|0)<0?(l=-l,cr=1,Mr=5659):(cr=(d&2049|0)!=0&1,Mr=(d&2048|0)==0?(d&1|0)==0?5660:5665:5662),l7(l)|0,Xt=Ce&2146435072;do if(Xt>>>0<2146435072|(Xt|0)==2146435072&0<0){if(Ge=+_Ue(l,$e)*2,B=Ge!=0,B&&(n[$e>>2]=(n[$e>>2]|0)+-1),lt=m|32,(lt|0)==97){Me=m&32,se=(Me|0)==0?Mr:Mr+9|0,G=cr|2,B=12-f|0;do if(f>>>0>11|(B|0)==0)l=Ge;else{l=8;do B=B+-1|0,l=l*16;while((B|0)!=0);if((o[se>>0]|0)==45){l=-(l+(-Ge-l));break}else{l=Ge+l-l;break}}while(0);k=n[$e>>2]|0,B=(k|0)<0?0-k|0:k,B=zm(B,((B|0)<0)<<31>>31,Dr)|0,(B|0)==(Dr|0)&&(B=M+11|0,o[B>>0]=48),o[B+-1>>0]=(k>>31&2)+43,O=B+-2|0,o[O>>0]=m+15,M=(f|0)<1,Q=(d&8|0)==0,B=ar;do Xt=~~l,k=B+1|0,o[B>>0]=u[5694+Xt>>0]|Me,l=(l-+(Xt|0))*16,(k-Tr|0)==1&&!(Q&(M&l==0))?(o[k>>0]=46,B=B+2|0):B=k;while(l!=0);Xt=B-Tr|0,Tr=Dr-O|0,Dr=(f|0)!=0&(Xt+-2|0)<(f|0)?f+2|0:Xt,B=Tr+G+Dr|0,Ps(s,32,c,B,d),os(s,se,G),Ps(s,48,c,B,d^65536),os(s,ar,Xt),Ps(s,48,Dr-Xt|0,0,0),os(s,O,Tr),Ps(s,32,c,B,d^8192);break}k=(f|0)<0?6:f,B?(B=(n[$e>>2]|0)+-28|0,n[$e>>2]=B,l=Ge*268435456):(l=Ge,B=n[$e>>2]|0),Xt=(B|0)<0?Q:Q+288|0,Q=Xt;do qe=~~l>>>0,n[Q>>2]=qe,Q=Q+4|0,l=(l-+(qe>>>0))*1e9;while(l!=0);if((B|0)>0)for(M=Xt,G=Q;;){if(O=(B|0)<29?B:29,B=G+-4|0,B>>>0>=M>>>0){Q=0;do _e=h7(n[B>>2]|0,0,O|0)|0,_e=kF(_e|0,Ce|0,Q|0,0)|0,qe=Ce,Ve=RF(_e|0,qe|0,1e9,0)|0,n[B>>2]=Ve,Q=QF(_e|0,qe|0,1e9,0)|0,B=B+-4|0;while(B>>>0>=M>>>0);Q&&(M=M+-4|0,n[M>>2]=Q)}for(Q=G;!(Q>>>0<=M>>>0);)if(B=Q+-4|0,!(n[B>>2]|0))Q=B;else break;if(B=(n[$e>>2]|0)-O|0,n[$e>>2]=B,(B|0)>0)G=Q;else break}else M=Xt;if((B|0)<0){f=((k+25|0)/9|0)+1|0,Qe=(lt|0)==102;do{if(Me=0-B|0,Me=(Me|0)<9?Me:9,M>>>0>>0){O=(1<>>Me,se=0,B=M;do qe=n[B>>2]|0,n[B>>2]=(qe>>>Me)+se,se=Ue(qe&O,G)|0,B=B+4|0;while(B>>>0>>0);B=(n[M>>2]|0)==0?M+4|0:M,se?(n[Q>>2]=se,M=B,B=Q+4|0):(M=B,B=Q)}else M=(n[M>>2]|0)==0?M+4|0:M,B=Q;Q=Qe?Xt:M,Q=(B-Q>>2|0)>(f|0)?Q+(f<<2)|0:B,B=(n[$e>>2]|0)+Me|0,n[$e>>2]=B}while((B|0)<0);B=M,f=Q}else B=M,f=Q;if(qe=Xt,B>>>0>>0){if(Q=(qe-B>>2)*9|0,O=n[B>>2]|0,O>>>0>=10){M=10;do M=M*10|0,Q=Q+1|0;while(O>>>0>=M>>>0)}}else Q=0;if(Qe=(lt|0)==103,Ve=(k|0)!=0,M=k-((lt|0)!=102?Q:0)+((Ve&Qe)<<31>>31)|0,(M|0)<(((f-qe>>2)*9|0)+-9|0)){if(M=M+9216|0,Me=Xt+4+(((M|0)/9|0)+-1024<<2)|0,M=((M|0)%9|0)+1|0,(M|0)<9){O=10;do O=O*10|0,M=M+1|0;while((M|0)!=9)}else O=10;if(G=n[Me>>2]|0,se=(G>>>0)%(O>>>0)|0,M=(Me+4|0)==(f|0),M&(se|0)==0)M=Me;else if(Ge=(((G>>>0)/(O>>>0)|0)&1|0)==0?9007199254740992:9007199254740994,_e=(O|0)/2|0,l=se>>>0<_e>>>0?.5:M&(se|0)==(_e|0)?1:1.5,cr&&(_e=(o[Mr>>0]|0)==45,l=_e?-l:l,Ge=_e?-Ge:Ge),M=G-se|0,n[Me>>2]=M,Ge+l!=Ge){if(_e=M+O|0,n[Me>>2]=_e,_e>>>0>999999999)for(Q=Me;M=Q+-4|0,n[Q>>2]=0,M>>>0>>0&&(B=B+-4|0,n[B>>2]=0),_e=(n[M>>2]|0)+1|0,n[M>>2]=_e,_e>>>0>999999999;)Q=M;else M=Me;if(Q=(qe-B>>2)*9|0,G=n[B>>2]|0,G>>>0>=10){O=10;do O=O*10|0,Q=Q+1|0;while(G>>>0>=O>>>0)}}else M=Me;M=M+4|0,M=f>>>0>M>>>0?M:f,_e=B}else M=f,_e=B;for(lt=M;;){if(lt>>>0<=_e>>>0){$e=0;break}if(B=lt+-4|0,!(n[B>>2]|0))lt=B;else{$e=1;break}}f=0-Q|0;do if(Qe)if(B=((Ve^1)&1)+k|0,(B|0)>(Q|0)&(Q|0)>-5?(O=m+-1|0,k=B+-1-Q|0):(O=m+-2|0,k=B+-1|0),B=d&8,B)Me=B;else{if($e&&(Nt=n[lt+-4>>2]|0,(Nt|0)!=0))if((Nt>>>0)%10|0)M=0;else{M=0,B=10;do B=B*10|0,M=M+1|0;while(!((Nt>>>0)%(B>>>0)|0|0))}else M=9;if(B=((lt-qe>>2)*9|0)+-9|0,(O|32|0)==102){Me=B-M|0,Me=(Me|0)>0?Me:0,k=(k|0)<(Me|0)?k:Me,Me=0;break}else{Me=B+Q-M|0,Me=(Me|0)>0?Me:0,k=(k|0)<(Me|0)?k:Me,Me=0;break}}else O=m,Me=d&8;while(0);if(Qe=k|Me,G=(Qe|0)!=0&1,se=(O|32|0)==102,se)Ve=0,B=(Q|0)>0?Q:0;else{if(B=(Q|0)<0?f:Q,B=zm(B,((B|0)<0)<<31>>31,Dr)|0,M=Dr,(M-B|0)<2)do B=B+-1|0,o[B>>0]=48;while((M-B|0)<2);o[B+-1>>0]=(Q>>31&2)+43,B=B+-2|0,o[B>>0]=O,Ve=B,B=M-B|0}if(B=cr+1+k+G+B|0,Ps(s,32,c,B,d),os(s,Mr,cr),Ps(s,48,c,B,d^65536),se){O=_e>>>0>Xt>>>0?Xt:_e,Me=ar+9|0,G=Me,se=ar+8|0,M=O;do{if(Q=zm(n[M>>2]|0,0,Me)|0,(M|0)==(O|0))(Q|0)==(Me|0)&&(o[se>>0]=48,Q=se);else if(Q>>>0>ar>>>0){Vm(ar|0,48,Q-Tr|0)|0;do Q=Q+-1|0;while(Q>>>0>ar>>>0)}os(s,Q,G-Q|0),M=M+4|0}while(M>>>0<=Xt>>>0);if(Qe|0&&os(s,5710,1),M>>>0>>0&(k|0)>0)for(;;){if(Q=zm(n[M>>2]|0,0,Me)|0,Q>>>0>ar>>>0){Vm(ar|0,48,Q-Tr|0)|0;do Q=Q+-1|0;while(Q>>>0>ar>>>0)}if(os(s,Q,(k|0)<9?k:9),M=M+4|0,Q=k+-9|0,M>>>0>>0&(k|0)>9)k=Q;else{k=Q;break}}Ps(s,48,k+9|0,9,0)}else{if(Qe=$e?lt:_e+4|0,(k|0)>-1){$e=ar+9|0,Me=(Me|0)==0,f=$e,G=0-Tr|0,se=ar+8|0,O=_e;do{Q=zm(n[O>>2]|0,0,$e)|0,(Q|0)==($e|0)&&(o[se>>0]=48,Q=se);do if((O|0)==(_e|0)){if(M=Q+1|0,os(s,Q,1),Me&(k|0)<1){Q=M;break}os(s,5710,1),Q=M}else{if(Q>>>0<=ar>>>0)break;Vm(ar|0,48,Q+G|0)|0;do Q=Q+-1|0;while(Q>>>0>ar>>>0)}while(0);Tr=f-Q|0,os(s,Q,(k|0)>(Tr|0)?Tr:k),k=k-Tr|0,O=O+4|0}while(O>>>0>>0&(k|0)>-1)}Ps(s,48,k+18|0,18,0),os(s,Ve,Dr-Ve|0)}Ps(s,32,c,B,d^8192)}else ar=(m&32|0)!=0,B=cr+3|0,Ps(s,32,c,B,d&-65537),os(s,Mr,cr),os(s,l!=l|!1?ar?5686:5690:ar?5678:5682,3),Ps(s,32,c,B,d^8192);while(0);return C=xn,((B|0)<(c|0)?c:B)|0}function l7(s){s=+s;var l=0;return E[v>>3]=s,l=n[v>>2]|0,Ce=n[v+4>>2]|0,l|0}function _Ue(s,l){return s=+s,l=l|0,+ +c7(s,l)}function c7(s,l){s=+s,l=l|0;var c=0,f=0,d=0;switch(E[v>>3]=s,c=n[v>>2]|0,f=n[v+4>>2]|0,d=yP(c|0,f|0,52)|0,d&2047){case 0:{s!=0?(s=+c7(s*18446744073709552e3,l),c=(n[l>>2]|0)+-64|0):c=0,n[l>>2]=c;break}case 2047:break;default:n[l>>2]=(d&2047)+-1022,n[v>>2]=c,n[v+4>>2]=f&-2146435073|1071644672,s=+E[v>>3]}return+s}function HUe(s,l,c){s=s|0,l=l|0,c=c|0;do if(s){if(l>>>0<128){o[s>>0]=l,s=1;break}if(!(n[n[(qUe()|0)+188>>2]>>2]|0))if((l&-128|0)==57216){o[s>>0]=l,s=1;break}else{n[(Km()|0)>>2]=84,s=-1;break}if(l>>>0<2048){o[s>>0]=l>>>6|192,o[s+1>>0]=l&63|128,s=2;break}if(l>>>0<55296|(l&-8192|0)==57344){o[s>>0]=l>>>12|224,o[s+1>>0]=l>>>6&63|128,o[s+2>>0]=l&63|128,s=3;break}if((l+-65536|0)>>>0<1048576){o[s>>0]=l>>>18|240,o[s+1>>0]=l>>>12&63|128,o[s+2>>0]=l>>>6&63|128,o[s+3>>0]=l&63|128,s=4;break}else{n[(Km()|0)>>2]=84,s=-1;break}}else s=1;while(0);return s|0}function qUe(){return SF()|0}function GUe(){return SF()|0}function jUe(s,l){s=s|0,l=l|0;var c=0,f=0;for(f=0;;){if((u[5712+f>>0]|0)==(s|0)){s=2;break}if(c=f+1|0,(c|0)==87){c=5800,f=87,s=5;break}else f=c}if((s|0)==2&&(f?(c=5800,s=5):c=5800),(s|0)==5)for(;;){do s=c,c=c+1|0;while((o[s>>0]|0)!=0);if(f=f+-1|0,f)s=5;else break}return YUe(c,n[l+20>>2]|0)|0}function YUe(s,l){return s=s|0,l=l|0,WUe(s,l)|0}function WUe(s,l){return s=s|0,l=l|0,l?l=KUe(n[l>>2]|0,n[l+4>>2]|0,s)|0:l=0,(l|0?l:s)|0}function KUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0;se=(n[s>>2]|0)+1794895138|0,m=Tg(n[s+8>>2]|0,se)|0,f=Tg(n[s+12>>2]|0,se)|0,d=Tg(n[s+16>>2]|0,se)|0;e:do if(m>>>0>>2>>>0&&(G=l-(m<<2)|0,f>>>0>>0&d>>>0>>0)&&((d|f)&3|0)==0){for(G=f>>>2,O=d>>>2,M=0;;){if(k=m>>>1,Q=M+k|0,B=Q<<1,d=B+G|0,f=Tg(n[s+(d<<2)>>2]|0,se)|0,d=Tg(n[s+(d+1<<2)>>2]|0,se)|0,!(d>>>0>>0&f>>>0<(l-d|0)>>>0)){f=0;break e}if(o[s+(d+f)>>0]|0){f=0;break e}if(f=n7(c,s+d|0)|0,!f)break;if(f=(f|0)<0,(m|0)==1){f=0;break e}else M=f?M:Q,m=f?k:m-k|0}f=B+O|0,d=Tg(n[s+(f<<2)>>2]|0,se)|0,f=Tg(n[s+(f+1<<2)>>2]|0,se)|0,f>>>0>>0&d>>>0<(l-f|0)>>>0?f=(o[s+(f+d)>>0]|0)==0?s+f|0:0:f=0}else f=0;while(0);return f|0}function Tg(s,l){s=s|0,l=l|0;var c=0;return c=m7(s|0)|0,((l|0)==0?s:c)|0}function zUe(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0,k=0;f=c+16|0,d=n[f>>2]|0,d?m=5:JUe(c)|0?f=0:(d=n[f>>2]|0,m=5);e:do if((m|0)==5){if(k=c+20|0,B=n[k>>2]|0,f=B,(d-B|0)>>>0>>0){f=CP[n[c+36>>2]&7](c,s,l)|0;break}t:do if((o[c+75>>0]|0)>-1){for(B=l;;){if(!B){m=0,d=s;break t}if(d=B+-1|0,(o[s+d>>0]|0)==10)break;B=d}if(f=CP[n[c+36>>2]&7](c,s,B)|0,f>>>0>>0)break e;m=B,d=s+B|0,l=l-B|0,f=n[k>>2]|0}else m=0,d=s;while(0);Pr(f|0,d|0,l|0)|0,n[k>>2]=(n[k>>2]|0)+l,f=m+l|0}while(0);return f|0}function JUe(s){s=s|0;var l=0,c=0;return l=s+74|0,c=o[l>>0]|0,o[l>>0]=c+255|c,l=n[s>>2]|0,l&8?(n[s>>2]=l|32,s=-1):(n[s+8>>2]=0,n[s+4>>2]=0,c=n[s+44>>2]|0,n[s+28>>2]=c,n[s+20>>2]=c,n[s+16>>2]=c+(n[s+48>>2]|0),s=0),s|0}function _n(s,l){s=y(s),l=y(l);var c=0,f=0;c=u7(s)|0;do if((c&2147483647)>>>0<=2139095040){if(f=u7(l)|0,(f&2147483647)>>>0<=2139095040)if((f^c|0)<0){s=(c|0)<0?l:s;break}else{s=s>2]=s,n[v>>2]|0|0}function Lg(s,l){s=y(s),l=y(l);var c=0,f=0;c=A7(s)|0;do if((c&2147483647)>>>0<=2139095040){if(f=A7(l)|0,(f&2147483647)>>>0<=2139095040)if((f^c|0)<0){s=(c|0)<0?s:l;break}else{s=s>2]=s,n[v>>2]|0|0}function xF(s,l){s=y(s),l=y(l);var c=0,f=0,d=0,m=0,B=0,k=0,Q=0,M=0;m=(h[v>>2]=s,n[v>>2]|0),k=(h[v>>2]=l,n[v>>2]|0),c=m>>>23&255,B=k>>>23&255,Q=m&-2147483648,d=k<<1;e:do if((d|0)!=0&&!((c|0)==255|((VUe(l)|0)&2147483647)>>>0>2139095040)){if(f=m<<1,f>>>0<=d>>>0)return l=y(s*y(0)),y((f|0)==(d|0)?l:s);if(c)f=m&8388607|8388608;else{if(c=m<<9,(c|0)>-1){f=c,c=0;do c=c+-1|0,f=f<<1;while((f|0)>-1)}else c=0;f=m<<1-c}if(B)k=k&8388607|8388608;else{if(m=k<<9,(m|0)>-1){d=0;do d=d+-1|0,m=m<<1;while((m|0)>-1)}else d=0;B=d,k=k<<1-d}d=f-k|0,m=(d|0)>-1;t:do if((c|0)>(B|0)){for(;;){if(m)if(d)f=d;else break;if(f=f<<1,c=c+-1|0,d=f-k|0,m=(d|0)>-1,(c|0)<=(B|0))break t}l=y(s*y(0));break e}while(0);if(m)if(d)f=d;else{l=y(s*y(0));break}if(f>>>0<8388608)do f=f<<1,c=c+-1|0;while(f>>>0<8388608);(c|0)>0?c=f+-8388608|c<<23:c=f>>>(1-c|0),l=(n[v>>2]=c|Q,y(h[v>>2]))}else M=3;while(0);return(M|0)==3&&(l=y(s*l),l=y(l/l)),y(l)}function VUe(s){return s=y(s),h[v>>2]=s,n[v>>2]|0|0}function XUe(s,l){return s=s|0,l=l|0,i7(n[582]|0,s,l)|0}function Vr(s){s=s|0,Tt()}function Jm(s){s=s|0}function ZUe(s,l){return s=s|0,l=l|0,0}function $Ue(s){return s=s|0,(f7(s+4|0)|0)==-1?(tf[n[(n[s>>2]|0)+8>>2]&127](s),s=1):s=0,s|0}function f7(s){s=s|0;var l=0;return l=n[s>>2]|0,n[s>>2]=l+-1,l+-1|0}function Qp(s){s=s|0,$Ue(s)|0&&e3e(s)}function e3e(s){s=s|0;var l=0;l=s+8|0,(n[l>>2]|0)!=0&&(f7(l)|0)!=-1||tf[n[(n[s>>2]|0)+16>>2]&127](s)}function Kt(s){s=s|0;var l=0;for(l=(s|0)==0?1:s;s=hP(l)|0,!(s|0);){if(s=r3e()|0,!s){s=0;break}S7[s&0]()}return s|0}function p7(s){return s=s|0,Kt(s)|0}function gt(s){s=s|0,gP(s)}function t3e(s){s=s|0,(o[s+11>>0]|0)<0&>(n[s>>2]|0)}function r3e(){var s=0;return s=n[2923]|0,n[2923]=s+0,s|0}function n3e(){}function mP(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,f=l-f-(c>>>0>s>>>0|0)>>>0,Ce=f,s-c>>>0|0|0}function kF(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,c=s+c>>>0,Ce=l+f+(c>>>0>>0|0)>>>0,c|0|0}function Vm(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0,B=0;if(m=s+c|0,l=l&255,(c|0)>=67){for(;s&3;)o[s>>0]=l,s=s+1|0;for(f=m&-4|0,d=f-64|0,B=l|l<<8|l<<16|l<<24;(s|0)<=(d|0);)n[s>>2]=B,n[s+4>>2]=B,n[s+8>>2]=B,n[s+12>>2]=B,n[s+16>>2]=B,n[s+20>>2]=B,n[s+24>>2]=B,n[s+28>>2]=B,n[s+32>>2]=B,n[s+36>>2]=B,n[s+40>>2]=B,n[s+44>>2]=B,n[s+48>>2]=B,n[s+52>>2]=B,n[s+56>>2]=B,n[s+60>>2]=B,s=s+64|0;for(;(s|0)<(f|0);)n[s>>2]=B,s=s+4|0}for(;(s|0)<(m|0);)o[s>>0]=l,s=s+1|0;return m-c|0}function h7(s,l,c){return s=s|0,l=l|0,c=c|0,(c|0)<32?(Ce=l<>>32-c,s<>>c,s>>>c|(l&(1<>>c-32|0)}function Pr(s,l,c){s=s|0,l=l|0,c=c|0;var f=0,d=0,m=0;if((c|0)>=8192)return fc(s|0,l|0,c|0)|0;if(m=s|0,d=s+c|0,(s&3)==(l&3)){for(;s&3;){if(!c)return m|0;o[s>>0]=o[l>>0]|0,s=s+1|0,l=l+1|0,c=c-1|0}for(c=d&-4|0,f=c-64|0;(s|0)<=(f|0);)n[s>>2]=n[l>>2],n[s+4>>2]=n[l+4>>2],n[s+8>>2]=n[l+8>>2],n[s+12>>2]=n[l+12>>2],n[s+16>>2]=n[l+16>>2],n[s+20>>2]=n[l+20>>2],n[s+24>>2]=n[l+24>>2],n[s+28>>2]=n[l+28>>2],n[s+32>>2]=n[l+32>>2],n[s+36>>2]=n[l+36>>2],n[s+40>>2]=n[l+40>>2],n[s+44>>2]=n[l+44>>2],n[s+48>>2]=n[l+48>>2],n[s+52>>2]=n[l+52>>2],n[s+56>>2]=n[l+56>>2],n[s+60>>2]=n[l+60>>2],s=s+64|0,l=l+64|0;for(;(s|0)<(c|0);)n[s>>2]=n[l>>2],s=s+4|0,l=l+4|0}else for(c=d-4|0;(s|0)<(c|0);)o[s>>0]=o[l>>0]|0,o[s+1>>0]=o[l+1>>0]|0,o[s+2>>0]=o[l+2>>0]|0,o[s+3>>0]=o[l+3>>0]|0,s=s+4|0,l=l+4|0;for(;(s|0)<(d|0);)o[s>>0]=o[l>>0]|0,s=s+1|0,l=l+1|0;return m|0}function g7(s){s=s|0;var l=0;return l=o[N+(s&255)>>0]|0,(l|0)<8?l|0:(l=o[N+(s>>8&255)>>0]|0,(l|0)<8?l+8|0:(l=o[N+(s>>16&255)>>0]|0,(l|0)<8?l+16|0:(o[N+(s>>>24)>>0]|0)+24|0))}function d7(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0;var m=0,B=0,k=0,Q=0,M=0,O=0,G=0,se=0,Ge=0,Me=0;if(O=s,Q=l,M=Q,B=c,se=f,k=se,!M)return m=(d|0)!=0,k?m?(n[d>>2]=s|0,n[d+4>>2]=l&0,se=0,d=0,Ce=se,d|0):(se=0,d=0,Ce=se,d|0):(m&&(n[d>>2]=(O>>>0)%(B>>>0),n[d+4>>2]=0),se=0,d=(O>>>0)/(B>>>0)>>>0,Ce=se,d|0);m=(k|0)==0;do if(B){if(!m){if(m=(S(k|0)|0)-(S(M|0)|0)|0,m>>>0<=31){G=m+1|0,k=31-m|0,l=m-31>>31,B=G,s=O>>>(G>>>0)&l|M<>>(G>>>0)&l,m=0,k=O<>2]=s|0,n[d+4>>2]=Q|l&0,se=0,d=0,Ce=se,d|0):(se=0,d=0,Ce=se,d|0)}if(m=B-1|0,m&B|0){k=(S(B|0)|0)+33-(S(M|0)|0)|0,Me=64-k|0,G=32-k|0,Q=G>>31,Ge=k-32|0,l=Ge>>31,B=k,s=G-1>>31&M>>>(Ge>>>0)|(M<>>(k>>>0))&l,l=l&M>>>(k>>>0),m=O<>>(Ge>>>0))&Q|O<>31;break}return d|0&&(n[d>>2]=m&O,n[d+4>>2]=0),(B|0)==1?(Ge=Q|l&0,Me=s|0|0,Ce=Ge,Me|0):(Me=g7(B|0)|0,Ge=M>>>(Me>>>0)|0,Me=M<<32-Me|O>>>(Me>>>0)|0,Ce=Ge,Me|0)}else{if(m)return d|0&&(n[d>>2]=(M>>>0)%(B>>>0),n[d+4>>2]=0),Ge=0,Me=(M>>>0)/(B>>>0)>>>0,Ce=Ge,Me|0;if(!O)return d|0&&(n[d>>2]=0,n[d+4>>2]=(M>>>0)%(k>>>0)),Ge=0,Me=(M>>>0)/(k>>>0)>>>0,Ce=Ge,Me|0;if(m=k-1|0,!(m&k))return d|0&&(n[d>>2]=s|0,n[d+4>>2]=m&M|l&0),Ge=0,Me=M>>>((g7(k|0)|0)>>>0),Ce=Ge,Me|0;if(m=(S(k|0)|0)-(S(M|0)|0)|0,m>>>0<=30){l=m+1|0,k=31-m|0,B=l,s=M<>>(l>>>0),l=M>>>(l>>>0),m=0,k=O<>2]=s|0,n[d+4>>2]=Q|l&0,Ge=0,Me=0,Ce=Ge,Me|0):(Ge=0,Me=0,Ce=Ge,Me|0)}while(0);if(!B)M=k,Q=0,k=0;else{G=c|0|0,O=se|f&0,M=kF(G|0,O|0,-1,-1)|0,c=Ce,Q=k,k=0;do f=Q,Q=m>>>31|Q<<1,m=k|m<<1,f=s<<1|f>>>31|0,se=s>>>31|l<<1|0,mP(M|0,c|0,f|0,se|0)|0,Me=Ce,Ge=Me>>31|((Me|0)<0?-1:0)<<1,k=Ge&1,s=mP(f|0,se|0,Ge&G|0,(((Me|0)<0?-1:0)>>31|((Me|0)<0?-1:0)<<1)&O|0)|0,l=Ce,B=B-1|0;while((B|0)!=0);M=Q,Q=0}return B=0,d|0&&(n[d>>2]=s,n[d+4>>2]=l),Ge=(m|0)>>>31|(M|B)<<1|(B<<1|m>>>31)&0|Q,Me=(m<<1|0>>>31)&-2|k,Ce=Ge,Me|0}function QF(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,d7(s,l,c,f,0)|0}function Rp(s){s=s|0;var l=0,c=0;return c=s+15&-16|0,l=n[I>>2]|0,s=l+c|0,(c|0)>0&(s|0)<(l|0)|(s|0)<0?(ie()|0,PA(12),-1):(n[I>>2]=s,(s|0)>($()|0)&&(X()|0)==0?(n[I>>2]=l,PA(12),-1):l|0)}function Nw(s,l,c){s=s|0,l=l|0,c=c|0;var f=0;if((l|0)<(s|0)&(s|0)<(l+c|0)){for(f=s,l=l+c|0,s=s+c|0;(c|0)>0;)s=s-1|0,l=l-1|0,c=c-1|0,o[s>>0]=o[l>>0]|0;s=f}else Pr(s,l,c)|0;return s|0}function RF(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0;var d=0,m=0;return m=C,C=C+16|0,d=m|0,d7(s,l,c,f,d)|0,C=m,Ce=n[d+4>>2]|0,n[d>>2]|0|0}function m7(s){return s=s|0,(s&255)<<24|(s>>8&255)<<16|(s>>16&255)<<8|s>>>24|0}function i3e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,y7[s&1](l|0,c|0,f|0,d|0,m|0)}function s3e(s,l,c){s=s|0,l=l|0,c=y(c),E7[s&1](l|0,y(c))}function o3e(s,l,c){s=s|0,l=l|0,c=+c,C7[s&31](l|0,+c)}function a3e(s,l,c,f){return s=s|0,l=l|0,c=y(c),f=y(f),y(w7[s&0](l|0,y(c),y(f)))}function l3e(s,l){s=s|0,l=l|0,tf[s&127](l|0)}function c3e(s,l,c){s=s|0,l=l|0,c=c|0,rf[s&31](l|0,c|0)}function u3e(s,l){return s=s|0,l=l|0,Og[s&31](l|0)|0}function A3e(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0,I7[s&1](l|0,+c,+f,d|0)}function f3e(s,l,c,f){s=s|0,l=l|0,c=+c,f=+f,W3e[s&1](l|0,+c,+f)}function p3e(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,CP[s&7](l|0,c|0,f|0)|0}function h3e(s,l,c,f){return s=s|0,l=l|0,c=c|0,f=f|0,+K3e[s&1](l|0,c|0,f|0)}function g3e(s,l){return s=s|0,l=l|0,+B7[s&15](l|0)}function d3e(s,l,c){return s=s|0,l=l|0,c=+c,z3e[s&1](l|0,+c)|0}function m3e(s,l,c){return s=s|0,l=l|0,c=c|0,TF[s&15](l|0,c|0)|0}function y3e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=+f,d=+d,m=m|0,J3e[s&1](l|0,c|0,+f,+d,m|0)}function E3e(s,l,c,f,d,m,B){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,B=B|0,V3e[s&1](l|0,c|0,f|0,d|0,m|0,B|0)}function C3e(s,l,c){return s=s|0,l=l|0,c=c|0,+v7[s&7](l|0,c|0)}function w3e(s){return s=s|0,wP[s&7]()|0}function I3e(s,l,c,f,d,m){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,P7[s&1](l|0,c|0,f|0,d|0,m|0)|0}function B3e(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=+d,X3e[s&1](l|0,c|0,f|0,+d)}function v3e(s,l,c,f,d,m,B){s=s|0,l=l|0,c=c|0,f=y(f),d=d|0,m=y(m),B=B|0,D7[s&1](l|0,c|0,y(f),d|0,y(m),B|0)}function P3e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,Uw[s&15](l|0,c|0,f|0)}function D3e(s){s=s|0,S7[s&0]()}function S3e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f,b7[s&15](l|0,c|0,+f)}function b3e(s,l,c){return s=s|0,l=+l,c=+c,Z3e[s&1](+l,+c)|0}function x3e(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,LF[s&15](l|0,c|0,f|0,d|0)}function k3e(s,l,c,f,d){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,R(0)}function Q3e(s,l){s=s|0,l=y(l),R(1)}function ma(s,l){s=s|0,l=+l,R(2)}function R3e(s,l,c){return s=s|0,l=y(l),c=y(c),R(3),Xe}function Er(s){s=s|0,R(4)}function Ow(s,l){s=s|0,l=l|0,R(5)}function Va(s){return s=s|0,R(6),0}function F3e(s,l,c,f){s=s|0,l=+l,c=+c,f=f|0,R(7)}function T3e(s,l,c){s=s|0,l=+l,c=+c,R(8)}function L3e(s,l,c){return s=s|0,l=l|0,c=c|0,R(9),0}function N3e(s,l,c){return s=s|0,l=l|0,c=c|0,R(10),0}function Ng(s){return s=s|0,R(11),0}function O3e(s,l){return s=s|0,l=+l,R(12),0}function Mw(s,l){return s=s|0,l=l|0,R(13),0}function M3e(s,l,c,f,d){s=s|0,l=l|0,c=+c,f=+f,d=d|0,R(14)}function U3e(s,l,c,f,d,m){s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,m=m|0,R(15)}function FF(s,l){return s=s|0,l=l|0,R(16),0}function _3e(){return R(17),0}function H3e(s,l,c,f,d){return s=s|0,l=l|0,c=c|0,f=f|0,d=d|0,R(18),0}function q3e(s,l,c,f){s=s|0,l=l|0,c=c|0,f=+f,R(19)}function G3e(s,l,c,f,d,m){s=s|0,l=l|0,c=y(c),f=f|0,d=y(d),m=m|0,R(20)}function EP(s,l,c){s=s|0,l=l|0,c=c|0,R(21)}function j3e(){R(22)}function Xm(s,l,c){s=s|0,l=l|0,c=+c,R(23)}function Y3e(s,l){return s=+s,l=+l,R(24),0}function Zm(s,l,c,f){s=s|0,l=l|0,c=c|0,f=f|0,R(25)}var y7=[k3e,HNe],E7=[Q3e,Ao],C7=[ma,Sw,bw,CR,wR,Dl,xw,IR,Hm,xu,Qw,BR,eP,KA,tP,qm,rP,nP,Gm,ma,ma,ma,ma,ma,ma,ma,ma,ma,ma,ma,ma,ma],w7=[R3e],tf=[Er,Jm,wPe,IPe,BPe,Zbe,$be,exe,dLe,mLe,yLe,bNe,xNe,kNe,V4e,X4e,Z4e,ds,Jv,_m,WA,kw,mve,yve,APe,QPe,GPe,aDe,BDe,_De,nSe,ySe,FSe,JSe,Abe,Sbe,Gbe,mxe,Fxe,Jxe,Ake,Ske,Gke,lQe,BQe,OQe,$Qe,bc,kRe,WRe,AFe,xFe,jFe,ATe,wTe,vTe,HTe,jTe,aLe,CLe,BLe,_Le,iNe,i9,UOe,dMe,QMe,WMe,h4e,x4e,_4e,G4e,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er,Er],rf=[Ow,pR,hR,Dw,bu,gR,dR,vp,mR,yR,ER,$v,zA,ze,At,Wt,vr,Sn,Qr,PR,ive,Sve,fQe,DQe,FFe,qOe,fNe,q5,Ow,Ow,Ow,Ow],Og=[Va,SUe,fR,P,fe,Pe,vt,wt,xt,_r,di,fo,tve,rve,Eve,rRe,zFe,GLe,WOe,Ka,Va,Va,Va,Va,Va,Va,Va,Va,Va,Va,Va,Va],I7=[F3e,Cve],W3e=[T3e,uLe],CP=[L3e,r7,bUe,QUe,jDe,wxe,TRe,VMe],K3e=[N3e,gbe],B7=[Ng,jo,nt,bn,wve,Ive,Bve,vve,Pve,Dve,Ng,Ng,Ng,Ng,Ng,Ng],z3e=[O3e,yTe],TF=[Mw,ZUe,nve,gPe,ADe,oSe,wSe,Kbe,Oxe,HQe,Kv,LMe,Mw,Mw,Mw,Mw],J3e=[M3e,KPe],V3e=[U3e,y4e],v7=[FF,ai,bve,xve,kve,Qbe,FF,FF],wP=[_3e,Qve,vw,ga,bTe,zTe,SLe,K4e],P7=[H3e,yw],X3e=[q3e,gke],D7=[G3e,sve],Uw=[EP,T,ss,tn,po,SDe,NSe,Qke,Kke,Um,uOe,CMe,F4e,EP,EP,EP],S7=[j3e],b7=[Xm,Vv,Xv,Zv,YA,iP,vR,D,$xe,VRe,hTe,Xm,Xm,Xm,Xm,Xm],Z3e=[Y3e,hLe],LF=[Zm,$Se,uRe,gFe,nTe,TTe,eLe,TLe,cNe,ZOe,iUe,Zm,Zm,Zm,Zm,Zm];return{_llvm_bswap_i32:m7,dynCall_idd:b3e,dynCall_i:w3e,_i64Subtract:mP,___udivdi3:QF,dynCall_vif:s3e,setThrew:gu,dynCall_viii:P3e,_bitshift64Lshr:yP,_bitshift64Shl:h7,dynCall_vi:l3e,dynCall_viiddi:y3e,dynCall_diii:h3e,dynCall_iii:m3e,_memset:Vm,_sbrk:Rp,_memcpy:Pr,__GLOBAL__sub_I_Yoga_cpp:Mm,dynCall_vii:c3e,___uremdi3:RF,dynCall_vid:o3e,stackAlloc:ao,_nbind_init:gUe,getTempRet0:Ha,dynCall_di:g3e,dynCall_iid:d3e,setTempRet0:xA,_i64Add:kF,dynCall_fiff:a3e,dynCall_iiii:p3e,_emscripten_get_global_libc:DUe,dynCall_viid:S3e,dynCall_viiid:B3e,dynCall_viififi:v3e,dynCall_ii:u3e,__GLOBAL__sub_I_Binding_cc:QOe,dynCall_viiii:x3e,dynCall_iiiiii:I3e,stackSave:dc,dynCall_viiiii:i3e,__GLOBAL__sub_I_nbind_cc:Rve,dynCall_vidd:f3e,_free:gP,runPostSets:n3e,dynCall_viiiiii:E3e,establishStackSpace:qi,_memmove:Nw,stackRestore:hu,_malloc:hP,__GLOBAL__sub_I_common_cc:XLe,dynCall_viddi:A3e,dynCall_dii:C3e,dynCall_v:D3e}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),_llvm_bswap_i32=Module._llvm_bswap_i32=asm._llvm_bswap_i32,getTempRet0=Module.getTempRet0=asm.getTempRet0,___udivdi3=Module.___udivdi3=asm.___udivdi3,setThrew=Module.setThrew=asm.setThrew,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,_memset=Module._memset=asm._memset,_sbrk=Module._sbrk=asm._sbrk,_memcpy=Module._memcpy=asm._memcpy,stackAlloc=Module.stackAlloc=asm.stackAlloc,___uremdi3=Module.___uremdi3=asm.___uremdi3,_nbind_init=Module._nbind_init=asm._nbind_init,_i64Subtract=Module._i64Subtract=asm._i64Subtract,setTempRet0=Module.setTempRet0=asm.setTempRet0,_i64Add=Module._i64Add=asm._i64Add,_emscripten_get_global_libc=Module._emscripten_get_global_libc=asm._emscripten_get_global_libc,__GLOBAL__sub_I_Yoga_cpp=Module.__GLOBAL__sub_I_Yoga_cpp=asm.__GLOBAL__sub_I_Yoga_cpp,__GLOBAL__sub_I_Binding_cc=Module.__GLOBAL__sub_I_Binding_cc=asm.__GLOBAL__sub_I_Binding_cc,stackSave=Module.stackSave=asm.stackSave,__GLOBAL__sub_I_nbind_cc=Module.__GLOBAL__sub_I_nbind_cc=asm.__GLOBAL__sub_I_nbind_cc,_free=Module._free=asm._free,runPostSets=Module.runPostSets=asm.runPostSets,establishStackSpace=Module.establishStackSpace=asm.establishStackSpace,_memmove=Module._memmove=asm._memmove,stackRestore=Module.stackRestore=asm.stackRestore,_malloc=Module._malloc=asm._malloc,__GLOBAL__sub_I_common_cc=Module.__GLOBAL__sub_I_common_cc=asm.__GLOBAL__sub_I_common_cc,dynCall_viiiii=Module.dynCall_viiiii=asm.dynCall_viiiii,dynCall_vif=Module.dynCall_vif=asm.dynCall_vif,dynCall_vid=Module.dynCall_vid=asm.dynCall_vid,dynCall_fiff=Module.dynCall_fiff=asm.dynCall_fiff,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_vii=Module.dynCall_vii=asm.dynCall_vii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_viddi=Module.dynCall_viddi=asm.dynCall_viddi,dynCall_vidd=Module.dynCall_vidd=asm.dynCall_vidd,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_diii=Module.dynCall_diii=asm.dynCall_diii,dynCall_di=Module.dynCall_di=asm.dynCall_di,dynCall_iid=Module.dynCall_iid=asm.dynCall_iid,dynCall_iii=Module.dynCall_iii=asm.dynCall_iii,dynCall_viiddi=Module.dynCall_viiddi=asm.dynCall_viiddi,dynCall_viiiiii=Module.dynCall_viiiiii=asm.dynCall_viiiiii,dynCall_dii=Module.dynCall_dii=asm.dynCall_dii,dynCall_i=Module.dynCall_i=asm.dynCall_i,dynCall_iiiiii=Module.dynCall_iiiiii=asm.dynCall_iiiiii,dynCall_viiid=Module.dynCall_viiid=asm.dynCall_viiid,dynCall_viififi=Module.dynCall_viififi=asm.dynCall_viififi,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_v=Module.dynCall_v=asm.dynCall_v,dynCall_viid=Module.dynCall_viid=asm.dynCall_viid,dynCall_idd=Module.dynCall_idd=asm.dynCall_idd,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii;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;function ExitStatus(t){this.name="ExitStatus",this.message="Program terminated with exit("+t+")",this.status=t}ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var initialStackTop,preloadStartTime=null,calledMain=!1;dependenciesFulfilled=function t(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=t)},Module.callMain=Module.callMain=function t(e){e=e||[],ensureInitRuntime();var r=e.length+1;function o(){for(var p=0;p<4-1;p++)a.push(0)}var a=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];o();for(var n=0;n0||(preRun(),runDependencies>0)||Module.calledRun)return;function e(){Module.calledRun||(Module.calledRun=!0,!ABORT&&(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(t),postRun()))}Module.setStatus?(Module.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Module.setStatus("")},1),e()},1)):e()}Module.run=Module.run=run;function exit(t,e){e&&Module.noExitRuntime||(Module.noExitRuntime||(ABORT=!0,EXITSTATUS=t,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(t)),ENVIRONMENT_IS_NODE&&process.exit(t),Module.quit(t,new ExitStatus(t)))}Module.exit=Module.exit=exit;var abortDecorators=[];function abort(t){Module.onAbort&&Module.onAbort(t),t!==void 0?(Module.print(t),Module.printErr(t),t=JSON.stringify(t)):t="",ABORT=!0,EXITSTATUS=1;var e=` +If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,r="abort("+t+") at "+stackTrace()+e;throw abortDecorators&&abortDecorators.forEach(function(o){r=o(r,t)}),r}if(Module.abort=Module.abort=abort,Module.preInit)for(typeof Module.preInit=="function"&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();var shouldRunNow=!0;Module.noInitialRun&&(shouldRunNow=!1),run()})});var am=_((vKt,NEe)=>{"use strict";var Kyt=TEe(),zyt=LEe(),x6=!1,k6=null;zyt({},function(t,e){if(!x6){if(x6=!0,t)throw t;k6=e}});if(!x6)throw new Error("Failed to load the yoga module - it needed to be loaded synchronously, but didn't");NEe.exports=Kyt(k6.bind,k6.lib)});var R6=_((PKt,Q6)=>{"use strict";var OEe=t=>Number.isNaN(t)?!1:t>=4352&&(t<=4447||t===9001||t===9002||11904<=t&&t<=12871&&t!==12351||12880<=t&&t<=19903||19968<=t&&t<=42182||43360<=t&&t<=43388||44032<=t&&t<=55203||63744<=t&&t<=64255||65040<=t&&t<=65049||65072<=t&&t<=65131||65281<=t&&t<=65376||65504<=t&&t<=65510||110592<=t&&t<=110593||127488<=t&&t<=127569||131072<=t&&t<=262141);Q6.exports=OEe;Q6.exports.default=OEe});var UEe=_((DKt,MEe)=>{"use strict";MEe.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}});var zk=_((SKt,F6)=>{"use strict";var Jyt=OD(),Vyt=R6(),Xyt=UEe(),_Ee=t=>{if(typeof t!="string"||t.length===0||(t=Jyt(t),t.length===0))return 0;t=t.replace(Xyt()," ");let e=0;for(let r=0;r=127&&o<=159||o>=768&&o<=879||(o>65535&&r++,e+=Vyt(o)?2:1)}return e};F6.exports=_Ee;F6.exports.default=_Ee});var L6=_((bKt,T6)=>{"use strict";var Zyt=zk(),HEe=t=>{let e=0;for(let r of t.split(` +`))e=Math.max(e,Zyt(r));return e};T6.exports=HEe;T6.exports.default=HEe});var qEe=_(uB=>{"use strict";var $yt=uB&&uB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(uB,"__esModule",{value:!0});var eEt=$yt(L6()),N6={};uB.default=t=>{if(t.length===0)return{width:0,height:0};if(N6[t])return N6[t];let e=eEt.default(t),r=t.split(` +`).length;return N6[t]={width:e,height:r},{width:e,height:r}}});var GEe=_(AB=>{"use strict";var tEt=AB&&AB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(AB,"__esModule",{value:!0});var dn=tEt(am()),rEt=(t,e)=>{"position"in e&&t.setPositionType(e.position==="absolute"?dn.default.POSITION_TYPE_ABSOLUTE:dn.default.POSITION_TYPE_RELATIVE)},nEt=(t,e)=>{"marginLeft"in e&&t.setMargin(dn.default.EDGE_START,e.marginLeft||0),"marginRight"in e&&t.setMargin(dn.default.EDGE_END,e.marginRight||0),"marginTop"in e&&t.setMargin(dn.default.EDGE_TOP,e.marginTop||0),"marginBottom"in e&&t.setMargin(dn.default.EDGE_BOTTOM,e.marginBottom||0)},iEt=(t,e)=>{"paddingLeft"in e&&t.setPadding(dn.default.EDGE_LEFT,e.paddingLeft||0),"paddingRight"in e&&t.setPadding(dn.default.EDGE_RIGHT,e.paddingRight||0),"paddingTop"in e&&t.setPadding(dn.default.EDGE_TOP,e.paddingTop||0),"paddingBottom"in e&&t.setPadding(dn.default.EDGE_BOTTOM,e.paddingBottom||0)},sEt=(t,e)=>{var r;"flexGrow"in e&&t.setFlexGrow((r=e.flexGrow)!==null&&r!==void 0?r:0),"flexShrink"in e&&t.setFlexShrink(typeof e.flexShrink=="number"?e.flexShrink:1),"flexDirection"in e&&(e.flexDirection==="row"&&t.setFlexDirection(dn.default.FLEX_DIRECTION_ROW),e.flexDirection==="row-reverse"&&t.setFlexDirection(dn.default.FLEX_DIRECTION_ROW_REVERSE),e.flexDirection==="column"&&t.setFlexDirection(dn.default.FLEX_DIRECTION_COLUMN),e.flexDirection==="column-reverse"&&t.setFlexDirection(dn.default.FLEX_DIRECTION_COLUMN_REVERSE)),"flexBasis"in e&&(typeof e.flexBasis=="number"?t.setFlexBasis(e.flexBasis):typeof e.flexBasis=="string"?t.setFlexBasisPercent(Number.parseInt(e.flexBasis,10)):t.setFlexBasis(NaN)),"alignItems"in e&&((e.alignItems==="stretch"||!e.alignItems)&&t.setAlignItems(dn.default.ALIGN_STRETCH),e.alignItems==="flex-start"&&t.setAlignItems(dn.default.ALIGN_FLEX_START),e.alignItems==="center"&&t.setAlignItems(dn.default.ALIGN_CENTER),e.alignItems==="flex-end"&&t.setAlignItems(dn.default.ALIGN_FLEX_END)),"alignSelf"in e&&((e.alignSelf==="auto"||!e.alignSelf)&&t.setAlignSelf(dn.default.ALIGN_AUTO),e.alignSelf==="flex-start"&&t.setAlignSelf(dn.default.ALIGN_FLEX_START),e.alignSelf==="center"&&t.setAlignSelf(dn.default.ALIGN_CENTER),e.alignSelf==="flex-end"&&t.setAlignSelf(dn.default.ALIGN_FLEX_END)),"justifyContent"in e&&((e.justifyContent==="flex-start"||!e.justifyContent)&&t.setJustifyContent(dn.default.JUSTIFY_FLEX_START),e.justifyContent==="center"&&t.setJustifyContent(dn.default.JUSTIFY_CENTER),e.justifyContent==="flex-end"&&t.setJustifyContent(dn.default.JUSTIFY_FLEX_END),e.justifyContent==="space-between"&&t.setJustifyContent(dn.default.JUSTIFY_SPACE_BETWEEN),e.justifyContent==="space-around"&&t.setJustifyContent(dn.default.JUSTIFY_SPACE_AROUND))},oEt=(t,e)=>{var r,o;"width"in e&&(typeof e.width=="number"?t.setWidth(e.width):typeof e.width=="string"?t.setWidthPercent(Number.parseInt(e.width,10)):t.setWidthAuto()),"height"in e&&(typeof e.height=="number"?t.setHeight(e.height):typeof e.height=="string"?t.setHeightPercent(Number.parseInt(e.height,10)):t.setHeightAuto()),"minWidth"in e&&(typeof e.minWidth=="string"?t.setMinWidthPercent(Number.parseInt(e.minWidth,10)):t.setMinWidth((r=e.minWidth)!==null&&r!==void 0?r:0)),"minHeight"in e&&(typeof e.minHeight=="string"?t.setMinHeightPercent(Number.parseInt(e.minHeight,10)):t.setMinHeight((o=e.minHeight)!==null&&o!==void 0?o:0))},aEt=(t,e)=>{"display"in e&&t.setDisplay(e.display==="flex"?dn.default.DISPLAY_FLEX:dn.default.DISPLAY_NONE)},lEt=(t,e)=>{if("borderStyle"in e){let r=typeof e.borderStyle=="string"?1:0;t.setBorder(dn.default.EDGE_TOP,r),t.setBorder(dn.default.EDGE_BOTTOM,r),t.setBorder(dn.default.EDGE_LEFT,r),t.setBorder(dn.default.EDGE_RIGHT,r)}};AB.default=(t,e={})=>{rEt(t,e),nEt(t,e),iEt(t,e),sEt(t,e),oEt(t,e),aEt(t,e),lEt(t,e)}});var WEe=_((QKt,YEe)=>{"use strict";var fB=zk(),cEt=OD(),uEt=BI(),M6=new Set(["\x1B","\x9B"]),AEt=39,jEe=t=>`${M6.values().next().value}[${t}m`,fEt=t=>t.split(" ").map(e=>fB(e)),O6=(t,e,r)=>{let o=[...e],a=!1,n=fB(cEt(t[t.length-1]));for(let[u,A]of o.entries()){let p=fB(A);if(n+p<=r?t[t.length-1]+=A:(t.push(A),n=0),M6.has(A))a=!0;else if(a&&A==="m"){a=!1;continue}a||(n+=p,n===r&&u0&&t.length>1&&(t[t.length-2]+=t.pop())},pEt=t=>{let e=t.split(" "),r=e.length;for(;r>0&&!(fB(e[r-1])>0);)r--;return r===e.length?t:e.slice(0,r).join(" ")+e.slice(r).join("")},hEt=(t,e,r={})=>{if(r.trim!==!1&&t.trim()==="")return"";let o="",a="",n,u=fEt(t),A=[""];for(let[p,h]of t.split(" ").entries()){r.trim!==!1&&(A[A.length-1]=A[A.length-1].trimLeft());let E=fB(A[A.length-1]);if(p!==0&&(E>=e&&(r.wordWrap===!1||r.trim===!1)&&(A.push(""),E=0),(E>0||r.trim===!1)&&(A[A.length-1]+=" ",E++)),r.hard&&u[p]>e){let I=e-E,v=1+Math.floor((u[p]-I-1)/e);Math.floor((u[p]-1)/e)e&&E>0&&u[p]>0){if(r.wordWrap===!1&&Ee&&r.wordWrap===!1){O6(A,h,e);continue}A[A.length-1]+=h}r.trim!==!1&&(A=A.map(pEt)),o=A.join(` +`);for(let[p,h]of[...o].entries()){if(a+=h,M6.has(h)){let I=parseFloat(/\d[^m]*/.exec(o.slice(p,p+4)));n=I===AEt?null:I}let E=uEt.codes.get(Number(n));n&&E&&(o[p+1]===` +`?a+=jEe(E):h===` +`&&(a+=jEe(n)))}return a};YEe.exports=(t,e,r)=>String(t).normalize().replace(/\r\n/g,` +`).split(` +`).map(o=>hEt(o,e,r)).join(` +`)});var JEe=_((RKt,zEe)=>{"use strict";var KEe="[\uD800-\uDBFF][\uDC00-\uDFFF]",gEt=t=>t&&t.exact?new RegExp(`^${KEe}$`):new RegExp(KEe,"g");zEe.exports=gEt});var U6=_((FKt,$Ee)=>{"use strict";var dEt=R6(),mEt=JEe(),VEe=BI(),ZEe=["\x1B","\x9B"],Jk=t=>`${ZEe[0]}[${t}m`,XEe=(t,e,r)=>{let o=[];t=[...t];for(let a of t){let n=a;a.match(";")&&(a=a.split(";")[0][0]+"0");let u=VEe.codes.get(parseInt(a,10));if(u){let A=t.indexOf(u.toString());A>=0?t.splice(A,1):o.push(Jk(e?u:n))}else if(e){o.push(Jk(0));break}else o.push(Jk(n))}if(e&&(o=o.filter((a,n)=>o.indexOf(a)===n),r!==void 0)){let a=Jk(VEe.codes.get(parseInt(r,10)));o=o.reduce((n,u)=>u===a?[u,...n]:[...n,u],[])}return o.join("")};$Ee.exports=(t,e,r)=>{let o=[...t.normalize()],a=[];r=typeof r=="number"?r:o.length;let n=!1,u,A=0,p="";for(let[h,E]of o.entries()){let I=!1;if(ZEe.includes(E)){let v=/\d[^m]*/.exec(t.slice(h,h+18));u=v&&v.length>0?v[0]:void 0,Ae&&A<=r)p+=E;else if(A===e&&!n&&u!==void 0)p=XEe(a);else if(A>=r){p+=XEe(a,!0,u);break}}return p}});var tCe=_((TKt,eCe)=>{"use strict";var C0=U6(),yEt=zk();function Vk(t,e,r){if(t.charAt(e)===" ")return e;for(let o=1;o<=3;o++)if(r){if(t.charAt(e+o)===" ")return e+o}else if(t.charAt(e-o)===" ")return e-o;return e}eCe.exports=(t,e,r)=>{r={position:"end",preferTruncationOnSpace:!1,...r};let{position:o,space:a,preferTruncationOnSpace:n}=r,u="\u2026",A=1;if(typeof t!="string")throw new TypeError(`Expected \`input\` to be a string, got ${typeof t}`);if(typeof e!="number")throw new TypeError(`Expected \`columns\` to be a number, got ${typeof e}`);if(e<1)return"";if(e===1)return u;let p=yEt(t);if(p<=e)return t;if(o==="start"){if(n){let h=Vk(t,p-e+1,!0);return u+C0(t,h,p).trim()}return a===!0&&(u+=" ",A=2),u+C0(t,p-e+A,p)}if(o==="middle"){a===!0&&(u=" "+u+" ",A=3);let h=Math.floor(e/2);if(n){let E=Vk(t,h),I=Vk(t,p-(e-h)+1,!0);return C0(t,0,E)+u+C0(t,I,p).trim()}return C0(t,0,h)+u+C0(t,p-(e-h)+A,p)}if(o==="end"){if(n){let h=Vk(t,e-1);return C0(t,0,h)+u}return a===!0&&(u=" "+u,A=2),C0(t,0,e-A)+u}throw new Error(`Expected \`options.position\` to be either \`start\`, \`middle\` or \`end\`, got ${o}`)}});var H6=_(pB=>{"use strict";var rCe=pB&&pB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(pB,"__esModule",{value:!0});var EEt=rCe(WEe()),CEt=rCe(tCe()),_6={};pB.default=(t,e,r)=>{let o=t+String(e)+String(r);if(_6[o])return _6[o];let a=t;if(r==="wrap"&&(a=EEt.default(t,e,{trim:!1,hard:!0})),r.startsWith("truncate")){let n="end";r==="truncate-middle"&&(n="middle"),r==="truncate-start"&&(n="start"),a=CEt.default(t,e,{position:n})}return _6[o]=a,a}});var G6=_(q6=>{"use strict";Object.defineProperty(q6,"__esModule",{value:!0});var nCe=t=>{let e="";if(t.childNodes.length>0)for(let r of t.childNodes){let o="";r.nodeName==="#text"?o=r.nodeValue:((r.nodeName==="ink-text"||r.nodeName==="ink-virtual-text")&&(o=nCe(r)),o.length>0&&typeof r.internal_transform=="function"&&(o=r.internal_transform(o))),e+=o}return e};q6.default=nCe});var j6=_(pi=>{"use strict";var hB=pi&&pi.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(pi,"__esModule",{value:!0});pi.setTextNodeValue=pi.createTextNode=pi.setStyle=pi.setAttribute=pi.removeChildNode=pi.insertBeforeNode=pi.appendChildNode=pi.createNode=pi.TEXT_NAME=void 0;var wEt=hB(am()),iCe=hB(qEe()),IEt=hB(GEe()),BEt=hB(H6()),vEt=hB(G6());pi.TEXT_NAME="#text";pi.createNode=t=>{var e;let r={nodeName:t,style:{},attributes:{},childNodes:[],parentNode:null,yogaNode:t==="ink-virtual-text"?void 0:wEt.default.Node.create()};return t==="ink-text"&&((e=r.yogaNode)===null||e===void 0||e.setMeasureFunc(PEt.bind(null,r))),r};pi.appendChildNode=(t,e)=>{var r;e.parentNode&&pi.removeChildNode(e.parentNode,e),e.parentNode=t,t.childNodes.push(e),e.yogaNode&&((r=t.yogaNode)===null||r===void 0||r.insertChild(e.yogaNode,t.yogaNode.getChildCount())),(t.nodeName==="ink-text"||t.nodeName==="ink-virtual-text")&&Xk(t)};pi.insertBeforeNode=(t,e,r)=>{var o,a;e.parentNode&&pi.removeChildNode(e.parentNode,e),e.parentNode=t;let n=t.childNodes.indexOf(r);if(n>=0){t.childNodes.splice(n,0,e),e.yogaNode&&((o=t.yogaNode)===null||o===void 0||o.insertChild(e.yogaNode,n));return}t.childNodes.push(e),e.yogaNode&&((a=t.yogaNode)===null||a===void 0||a.insertChild(e.yogaNode,t.yogaNode.getChildCount())),(t.nodeName==="ink-text"||t.nodeName==="ink-virtual-text")&&Xk(t)};pi.removeChildNode=(t,e)=>{var r,o;e.yogaNode&&((o=(r=e.parentNode)===null||r===void 0?void 0:r.yogaNode)===null||o===void 0||o.removeChild(e.yogaNode)),e.parentNode=null;let a=t.childNodes.indexOf(e);a>=0&&t.childNodes.splice(a,1),(t.nodeName==="ink-text"||t.nodeName==="ink-virtual-text")&&Xk(t)};pi.setAttribute=(t,e,r)=>{t.attributes[e]=r};pi.setStyle=(t,e)=>{t.style=e,t.yogaNode&&IEt.default(t.yogaNode,e)};pi.createTextNode=t=>{let e={nodeName:"#text",nodeValue:t,yogaNode:void 0,parentNode:null,style:{}};return pi.setTextNodeValue(e,t),e};var PEt=function(t,e){var r,o;let a=t.nodeName==="#text"?t.nodeValue:vEt.default(t),n=iCe.default(a);if(n.width<=e||n.width>=1&&e>0&&e<1)return n;let u=(o=(r=t.style)===null||r===void 0?void 0:r.textWrap)!==null&&o!==void 0?o:"wrap",A=BEt.default(a,e,u);return iCe.default(A)},sCe=t=>{var e;if(!(!t||!t.parentNode))return(e=t.yogaNode)!==null&&e!==void 0?e:sCe(t.parentNode)},Xk=t=>{let e=sCe(t);e?.markDirty()};pi.setTextNodeValue=(t,e)=>{typeof e!="string"&&(e=String(e)),t.nodeValue=e,Xk(t)}});var uCe=_(gB=>{"use strict";var cCe=gB&&gB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(gB,"__esModule",{value:!0});var oCe=D6(),DEt=cCe(bEe()),aCe=cCe(am()),No=j6(),lCe=t=>{t?.unsetMeasureFunc(),t?.freeRecursive()};gB.default=DEt.default({schedulePassiveEffects:oCe.unstable_scheduleCallback,cancelPassiveEffects:oCe.unstable_cancelCallback,now:Date.now,getRootHostContext:()=>({isInsideText:!1}),prepareForCommit:()=>{},resetAfterCommit:t=>{if(t.isStaticDirty){t.isStaticDirty=!1,typeof t.onImmediateRender=="function"&&t.onImmediateRender();return}typeof t.onRender=="function"&&t.onRender()},getChildHostContext:(t,e)=>{let r=t.isInsideText,o=e==="ink-text"||e==="ink-virtual-text";return r===o?t:{isInsideText:o}},shouldSetTextContent:()=>!1,createInstance:(t,e,r,o)=>{if(o.isInsideText&&t==="ink-box")throw new Error(" can\u2019t be nested inside component");let a=t==="ink-text"&&o.isInsideText?"ink-virtual-text":t,n=No.createNode(a);for(let[u,A]of Object.entries(e))u!=="children"&&(u==="style"?No.setStyle(n,A):u==="internal_transform"?n.internal_transform=A:u==="internal_static"?n.internal_static=!0:No.setAttribute(n,u,A));return n},createTextInstance:(t,e,r)=>{if(!r.isInsideText)throw new Error(`Text string "${t}" must be rendered inside component`);return No.createTextNode(t)},resetTextContent:()=>{},hideTextInstance:t=>{No.setTextNodeValue(t,"")},unhideTextInstance:(t,e)=>{No.setTextNodeValue(t,e)},getPublicInstance:t=>t,hideInstance:t=>{var e;(e=t.yogaNode)===null||e===void 0||e.setDisplay(aCe.default.DISPLAY_NONE)},unhideInstance:t=>{var e;(e=t.yogaNode)===null||e===void 0||e.setDisplay(aCe.default.DISPLAY_FLEX)},appendInitialChild:No.appendChildNode,appendChild:No.appendChildNode,insertBefore:No.insertBeforeNode,finalizeInitialChildren:(t,e,r,o)=>(t.internal_static&&(o.isStaticDirty=!0,o.staticNode=t),!1),supportsMutation:!0,appendChildToContainer:No.appendChildNode,insertInContainerBefore:No.insertBeforeNode,removeChildFromContainer:(t,e)=>{No.removeChildNode(t,e),lCe(e.yogaNode)},prepareUpdate:(t,e,r,o,a)=>{t.internal_static&&(a.isStaticDirty=!0);let n={},u=Object.keys(o);for(let A of u)if(o[A]!==r[A]){if(A==="style"&&typeof o.style=="object"&&typeof r.style=="object"){let h=o.style,E=r.style,I=Object.keys(h);for(let v of I){if(v==="borderStyle"||v==="borderColor"){if(typeof n.style!="object"){let x={};n.style=x}n.style.borderStyle=h.borderStyle,n.style.borderColor=h.borderColor}if(h[v]!==E[v]){if(typeof n.style!="object"){let x={};n.style=x}n.style[v]=h[v]}}continue}n[A]=o[A]}return n},commitUpdate:(t,e)=>{for(let[r,o]of Object.entries(e))r!=="children"&&(r==="style"?No.setStyle(t,o):r==="internal_transform"?t.internal_transform=o:r==="internal_static"?t.internal_static=!0:No.setAttribute(t,r,o))},commitTextUpdate:(t,e,r)=>{No.setTextNodeValue(t,r)},removeChild:(t,e)=>{No.removeChildNode(t,e),lCe(e.yogaNode)}})});var fCe=_((UKt,ACe)=>{"use strict";ACe.exports=(t,e=1,r)=>{if(r={indent:" ",includeEmptyLines:!1,...r},typeof t!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof t}\``);if(typeof e!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof e}\``);if(typeof r.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``);if(e===0)return t;let o=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return t.replace(o,r.indent.repeat(e))}});var pCe=_(dB=>{"use strict";var SEt=dB&&dB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(dB,"__esModule",{value:!0});var Zk=SEt(am());dB.default=t=>t.getComputedWidth()-t.getComputedPadding(Zk.default.EDGE_LEFT)-t.getComputedPadding(Zk.default.EDGE_RIGHT)-t.getComputedBorder(Zk.default.EDGE_LEFT)-t.getComputedBorder(Zk.default.EDGE_RIGHT)});var hCe=_((HKt,bEt)=>{bEt.exports={single:{topLeft:"\u250C",topRight:"\u2510",bottomRight:"\u2518",bottomLeft:"\u2514",vertical:"\u2502",horizontal:"\u2500"},double:{topLeft:"\u2554",topRight:"\u2557",bottomRight:"\u255D",bottomLeft:"\u255A",vertical:"\u2551",horizontal:"\u2550"},round:{topLeft:"\u256D",topRight:"\u256E",bottomRight:"\u256F",bottomLeft:"\u2570",vertical:"\u2502",horizontal:"\u2500"},bold:{topLeft:"\u250F",topRight:"\u2513",bottomRight:"\u251B",bottomLeft:"\u2517",vertical:"\u2503",horizontal:"\u2501"},singleDouble:{topLeft:"\u2553",topRight:"\u2556",bottomRight:"\u255C",bottomLeft:"\u2559",vertical:"\u2551",horizontal:"\u2500"},doubleSingle:{topLeft:"\u2552",topRight:"\u2555",bottomRight:"\u255B",bottomLeft:"\u2558",vertical:"\u2502",horizontal:"\u2550"},classic:{topLeft:"+",topRight:"+",bottomRight:"+",bottomLeft:"+",vertical:"|",horizontal:"-"}}});var dCe=_((qKt,Y6)=>{"use strict";var gCe=hCe();Y6.exports=gCe;Y6.exports.default=gCe});var yCe=_((GKt,mCe)=>{"use strict";var xEt=(t,e,r)=>{let o=t.indexOf(e);if(o===-1)return t;let a=e.length,n=0,u="";do u+=t.substr(n,o-n)+e+r,n=o+a,o=t.indexOf(e,n);while(o!==-1);return u+=t.substr(n),u},kEt=(t,e,r,o)=>{let a=0,n="";do{let u=t[o-1]==="\r";n+=t.substr(a,(u?o-1:o)-a)+e+(u?`\r +`:` +`)+r,a=o+1,o=t.indexOf(` +`,a)}while(o!==-1);return n+=t.substr(a),n};mCe.exports={stringReplaceAll:xEt,stringEncaseCRLFWithFirstIndex:kEt}});var BCe=_((jKt,ICe)=>{"use strict";var QEt=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,ECe=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,REt=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,FEt=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,TEt=new Map([["n",` +`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function wCe(t){let e=t[0]==="u",r=t[1]==="{";return e&&!r&&t.length===5||t[0]==="x"&&t.length===3?String.fromCharCode(parseInt(t.slice(1),16)):e&&r?String.fromCodePoint(parseInt(t.slice(2,-1),16)):TEt.get(t)||t}function LEt(t,e){let r=[],o=e.trim().split(/\s*,\s*/g),a;for(let n of o){let u=Number(n);if(!Number.isNaN(u))r.push(u);else if(a=n.match(REt))r.push(a[2].replace(FEt,(A,p,h)=>p?wCe(p):h));else throw new Error(`Invalid Chalk template style argument: ${n} (in style '${t}')`)}return r}function NEt(t){ECe.lastIndex=0;let e=[],r;for(;(r=ECe.exec(t))!==null;){let o=r[1];if(r[2]){let a=LEt(o,r[2]);e.push([o].concat(a))}else e.push([o])}return e}function CCe(t,e){let r={};for(let a of e)for(let n of a.styles)r[n[0]]=a.inverse?null:n.slice(1);let o=t;for(let[a,n]of Object.entries(r))if(!!Array.isArray(n)){if(!(a in o))throw new Error(`Unknown Chalk style: ${a}`);o=n.length>0?o[a](...n):o[a]}return o}ICe.exports=(t,e)=>{let r=[],o=[],a=[];if(e.replace(QEt,(n,u,A,p,h,E)=>{if(u)a.push(wCe(u));else if(p){let I=a.join("");a=[],o.push(r.length===0?I:CCe(t,r)(I)),r.push({inverse:A,styles:NEt(p)})}else if(h){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");o.push(CCe(t,r)(a.join(""))),a=[],r.pop()}else a.push(E)}),o.push(a.join("")),r.length>0){let n=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(n)}return o.join("")}});var nQ=_((YKt,xCe)=>{"use strict";var mB=BI(),{stdout:K6,stderr:z6}=mL(),{stringReplaceAll:OEt,stringEncaseCRLFWithFirstIndex:MEt}=yCe(),{isArray:$k}=Array,PCe=["ansi","ansi","ansi256","ansi16m"],UC=Object.create(null),UEt=(t,e={})=>{if(e.level&&!(Number.isInteger(e.level)&&e.level>=0&&e.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let r=K6?K6.level:0;t.level=e.level===void 0?r:e.level},J6=class{constructor(e){return DCe(e)}},DCe=t=>{let e={};return UEt(e,t),e.template=(...r)=>bCe(e.template,...r),Object.setPrototypeOf(e,eQ.prototype),Object.setPrototypeOf(e.template,e),e.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},e.template.Instance=J6,e.template};function eQ(t){return DCe(t)}for(let[t,e]of Object.entries(mB))UC[t]={get(){let r=tQ(this,V6(e.open,e.close,this._styler),this._isEmpty);return Object.defineProperty(this,t,{value:r}),r}};UC.visible={get(){let t=tQ(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:t}),t}};var SCe=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let t of SCe)UC[t]={get(){let{level:e}=this;return function(...r){let o=V6(mB.color[PCe[e]][t](...r),mB.color.close,this._styler);return tQ(this,o,this._isEmpty)}}};for(let t of SCe){let e="bg"+t[0].toUpperCase()+t.slice(1);UC[e]={get(){let{level:r}=this;return function(...o){let a=V6(mB.bgColor[PCe[r]][t](...o),mB.bgColor.close,this._styler);return tQ(this,a,this._isEmpty)}}}}var _Et=Object.defineProperties(()=>{},{...UC,level:{enumerable:!0,get(){return this._generator.level},set(t){this._generator.level=t}}}),V6=(t,e,r)=>{let o,a;return r===void 0?(o=t,a=e):(o=r.openAll+t,a=e+r.closeAll),{open:t,close:e,openAll:o,closeAll:a,parent:r}},tQ=(t,e,r)=>{let o=(...a)=>$k(a[0])&&$k(a[0].raw)?vCe(o,bCe(o,...a)):vCe(o,a.length===1?""+a[0]:a.join(" "));return Object.setPrototypeOf(o,_Et),o._generator=t,o._styler=e,o._isEmpty=r,o},vCe=(t,e)=>{if(t.level<=0||!e)return t._isEmpty?"":e;let r=t._styler;if(r===void 0)return e;let{openAll:o,closeAll:a}=r;if(e.indexOf("\x1B")!==-1)for(;r!==void 0;)e=OEt(e,r.close,r.open),r=r.parent;let n=e.indexOf(` +`);return n!==-1&&(e=MEt(e,a,o,n)),o+e+a},W6,bCe=(t,...e)=>{let[r]=e;if(!$k(r)||!$k(r.raw))return e.join(" ");let o=e.slice(1),a=[r.raw[0]];for(let n=1;n{"use strict";var HEt=EB&&EB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(EB,"__esModule",{value:!0});var yB=HEt(nQ()),qEt=/^(rgb|hsl|hsv|hwb)\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,GEt=/^(ansi|ansi256)\(\s?(\d+)\s?\)$/,iQ=(t,e)=>e==="foreground"?t:"bg"+t[0].toUpperCase()+t.slice(1);EB.default=(t,e,r)=>{if(!e)return t;if(e in yB.default){let a=iQ(e,r);return yB.default[a](t)}if(e.startsWith("#")){let a=iQ("hex",r);return yB.default[a](e)(t)}if(e.startsWith("ansi")){let a=GEt.exec(e);if(!a)return t;let n=iQ(a[1],r),u=Number(a[2]);return yB.default[n](u)(t)}if(e.startsWith("rgb")||e.startsWith("hsl")||e.startsWith("hsv")||e.startsWith("hwb")){let a=qEt.exec(e);if(!a)return t;let n=iQ(a[1],r),u=Number(a[2]),A=Number(a[3]),p=Number(a[4]);return yB.default[n](u,A,p)(t)}return t}});var QCe=_(CB=>{"use strict";var kCe=CB&&CB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(CB,"__esModule",{value:!0});var jEt=kCe(dCe()),Z6=kCe(X6());CB.default=(t,e,r,o)=>{if(typeof r.style.borderStyle=="string"){let a=r.yogaNode.getComputedWidth(),n=r.yogaNode.getComputedHeight(),u=r.style.borderColor,A=jEt.default[r.style.borderStyle],p=Z6.default(A.topLeft+A.horizontal.repeat(a-2)+A.topRight,u,"foreground"),h=(Z6.default(A.vertical,u,"foreground")+` +`).repeat(n-2),E=Z6.default(A.bottomLeft+A.horizontal.repeat(a-2)+A.bottomRight,u,"foreground");o.write(t,e,p,{transformers:[]}),o.write(t,e+1,h,{transformers:[]}),o.write(t+a-1,e+1,h,{transformers:[]}),o.write(t,e+n-1,E,{transformers:[]})}}});var FCe=_(wB=>{"use strict";var lm=wB&&wB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(wB,"__esModule",{value:!0});var YEt=lm(am()),WEt=lm(L6()),KEt=lm(fCe()),zEt=lm(H6()),JEt=lm(pCe()),VEt=lm(G6()),XEt=lm(QCe()),ZEt=(t,e)=>{var r;let o=(r=t.childNodes[0])===null||r===void 0?void 0:r.yogaNode;if(o){let a=o.getComputedLeft(),n=o.getComputedTop();e=` +`.repeat(n)+KEt.default(e,a)}return e},RCe=(t,e,r)=>{var o;let{offsetX:a=0,offsetY:n=0,transformers:u=[],skipStaticElements:A}=r;if(A&&t.internal_static)return;let{yogaNode:p}=t;if(p){if(p.getDisplay()===YEt.default.DISPLAY_NONE)return;let h=a+p.getComputedLeft(),E=n+p.getComputedTop(),I=u;if(typeof t.internal_transform=="function"&&(I=[t.internal_transform,...u]),t.nodeName==="ink-text"){let v=VEt.default(t);if(v.length>0){let x=WEt.default(v),C=JEt.default(p);if(x>C){let F=(o=t.style.textWrap)!==null&&o!==void 0?o:"wrap";v=zEt.default(v,C,F)}v=ZEt(t,v),e.write(h,E,v,{transformers:I})}return}if(t.nodeName==="ink-box"&&XEt.default(h,E,t,e),t.nodeName==="ink-root"||t.nodeName==="ink-box")for(let v of t.childNodes)RCe(v,e,{offsetX:h,offsetY:E,transformers:I,skipStaticElements:A})}};wB.default=RCe});var LCe=_((JKt,TCe)=>{"use strict";TCe.exports=t=>{t=Object.assign({onlyFirst:!1},t);let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(e,t.onlyFirst?void 0:"g")}});var OCe=_((VKt,$6)=>{"use strict";var $Et=LCe(),NCe=t=>typeof t=="string"?t.replace($Et(),""):t;$6.exports=NCe;$6.exports.default=NCe});var _Ce=_((XKt,UCe)=>{"use strict";var MCe="[\uD800-\uDBFF][\uDC00-\uDFFF]";UCe.exports=t=>t&&t.exact?new RegExp(`^${MCe}$`):new RegExp(MCe,"g")});var qCe=_((ZKt,eq)=>{"use strict";var eCt=OCe(),tCt=_Ce(),HCe=t=>eCt(t).replace(tCt()," ").length;eq.exports=HCe;eq.exports.default=HCe});var YCe=_(IB=>{"use strict";var jCe=IB&&IB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(IB,"__esModule",{value:!0});var GCe=jCe(U6()),rCt=jCe(qCe()),tq=class{constructor(e){this.writes=[];let{width:r,height:o}=e;this.width=r,this.height=o}write(e,r,o,a){let{transformers:n}=a;!o||this.writes.push({x:e,y:r,text:o,transformers:n})}get(){let e=[];for(let o=0;oo.trimRight()).join(` +`),height:e.length}}};IB.default=tq});var zCe=_(BB=>{"use strict";var rq=BB&&BB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(BB,"__esModule",{value:!0});var nCt=rq(am()),WCe=rq(FCe()),KCe=rq(YCe());BB.default=(t,e)=>{var r;if(t.yogaNode.setWidth(e),t.yogaNode){t.yogaNode.calculateLayout(void 0,void 0,nCt.default.DIRECTION_LTR);let o=new KCe.default({width:t.yogaNode.getComputedWidth(),height:t.yogaNode.getComputedHeight()});WCe.default(t,o,{skipStaticElements:!0});let a;!((r=t.staticNode)===null||r===void 0)&&r.yogaNode&&(a=new KCe.default({width:t.staticNode.yogaNode.getComputedWidth(),height:t.staticNode.yogaNode.getComputedHeight()}),WCe.default(t.staticNode,a,{skipStaticElements:!1}));let{output:n,height:u}=o.get();return{output:n,outputHeight:u,staticOutput:a?`${a.get().output} +`:""}}return{output:"",outputHeight:0,staticOutput:""}}});var ZCe=_((tzt,XCe)=>{"use strict";var JCe=ve("stream"),VCe=["assert","count","countReset","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","table","time","timeEnd","timeLog","trace","warn"],nq={},iCt=t=>{let e=new JCe.PassThrough,r=new JCe.PassThrough;e.write=a=>t("stdout",a),r.write=a=>t("stderr",a);let o=new console.Console(e,r);for(let a of VCe)nq[a]=console[a],console[a]=o[a];return()=>{for(let a of VCe)console[a]=nq[a];nq={}}};XCe.exports=iCt});var sq=_(iq=>{"use strict";Object.defineProperty(iq,"__esModule",{value:!0});iq.default=new WeakMap});var aq=_(oq=>{"use strict";Object.defineProperty(oq,"__esModule",{value:!0});var sCt=an(),$Ce=sCt.createContext({exit:()=>{}});$Ce.displayName="InternalAppContext";oq.default=$Ce});var cq=_(lq=>{"use strict";Object.defineProperty(lq,"__esModule",{value:!0});var oCt=an(),ewe=oCt.createContext({stdin:void 0,setRawMode:()=>{},isRawModeSupported:!1,internal_exitOnCtrlC:!0});ewe.displayName="InternalStdinContext";lq.default=ewe});var Aq=_(uq=>{"use strict";Object.defineProperty(uq,"__esModule",{value:!0});var aCt=an(),twe=aCt.createContext({stdout:void 0,write:()=>{}});twe.displayName="InternalStdoutContext";uq.default=twe});var pq=_(fq=>{"use strict";Object.defineProperty(fq,"__esModule",{value:!0});var lCt=an(),rwe=lCt.createContext({stderr:void 0,write:()=>{}});rwe.displayName="InternalStderrContext";fq.default=rwe});var sQ=_(hq=>{"use strict";Object.defineProperty(hq,"__esModule",{value:!0});var cCt=an(),nwe=cCt.createContext({activeId:void 0,add:()=>{},remove:()=>{},activate:()=>{},deactivate:()=>{},enableFocus:()=>{},disableFocus:()=>{},focusNext:()=>{},focusPrevious:()=>{}});nwe.displayName="InternalFocusContext";hq.default=nwe});var swe=_((lzt,iwe)=>{"use strict";var uCt=/[|\\{}()[\]^$+*?.-]/g;iwe.exports=t=>{if(typeof t!="string")throw new TypeError("Expected a string");return t.replace(uCt,"\\$&")}});var cwe=_((czt,lwe)=>{"use strict";var ACt=swe(),fCt=typeof process=="object"&&process&&typeof process.cwd=="function"?process.cwd():".",awe=[].concat(ve("module").builtinModules,"bootstrap_node","node").map(t=>new RegExp(`(?:\\((?:node:)?${t}(?:\\.js)?:\\d+:\\d+\\)$|^\\s*at (?:node:)?${t}(?:\\.js)?:\\d+:\\d+$)`));awe.push(/\((?:node:)?internal\/[^:]+:\d+:\d+\)$/,/\s*at (?:node:)?internal\/[^:]+:\d+:\d+$/,/\/\.node-spawn-wrap-\w+-\w+\/node:\d+:\d+\)?$/);var vB=class{constructor(e){e={ignoredPackages:[],...e},"internals"in e||(e.internals=vB.nodeInternals()),"cwd"in e||(e.cwd=fCt),this._cwd=e.cwd.replace(/\\/g,"/"),this._internals=[].concat(e.internals,pCt(e.ignoredPackages)),this._wrapCallSite=e.wrapCallSite||!1}static nodeInternals(){return[...awe]}clean(e,r=0){r=" ".repeat(r),Array.isArray(e)||(e=e.split(` +`)),!/^\s*at /.test(e[0])&&/^\s*at /.test(e[1])&&(e=e.slice(1));let o=!1,a=null,n=[];return e.forEach(u=>{if(u=u.replace(/\\/g,"/"),this._internals.some(p=>p.test(u)))return;let A=/^\s*at /.test(u);o?u=u.trimEnd().replace(/^(\s+)at /,"$1"):(u=u.trim(),A&&(u=u.slice(3))),u=u.replace(`${this._cwd}/`,""),u&&(A?(a&&(n.push(a),a=null),n.push(u)):(o=!0,a=u))}),n.map(u=>`${r}${u} +`).join("")}captureString(e,r=this.captureString){typeof e=="function"&&(r=e,e=1/0);let{stackTraceLimit:o}=Error;e&&(Error.stackTraceLimit=e);let a={};Error.captureStackTrace(a,r);let{stack:n}=a;return Error.stackTraceLimit=o,this.clean(n)}capture(e,r=this.capture){typeof e=="function"&&(r=e,e=1/0);let{prepareStackTrace:o,stackTraceLimit:a}=Error;Error.prepareStackTrace=(A,p)=>this._wrapCallSite?p.map(this._wrapCallSite):p,e&&(Error.stackTraceLimit=e);let n={};Error.captureStackTrace(n,r);let{stack:u}=n;return Object.assign(Error,{prepareStackTrace:o,stackTraceLimit:a}),u}at(e=this.at){let[r]=this.capture(1,e);if(!r)return{};let o={line:r.getLineNumber(),column:r.getColumnNumber()};owe(o,r.getFileName(),this._cwd),r.isConstructor()&&(o.constructor=!0),r.isEval()&&(o.evalOrigin=r.getEvalOrigin()),r.isNative()&&(o.native=!0);let a;try{a=r.getTypeName()}catch{}a&&a!=="Object"&&a!=="[object Object]"&&(o.type=a);let n=r.getFunctionName();n&&(o.function=n);let u=r.getMethodName();return u&&n!==u&&(o.method=u),o}parseLine(e){let r=e&&e.match(hCt);if(!r)return null;let o=r[1]==="new",a=r[2],n=r[3],u=r[4],A=Number(r[5]),p=Number(r[6]),h=r[7],E=r[8],I=r[9],v=r[10]==="native",x=r[11]===")",C,F={};if(E&&(F.line=Number(E)),I&&(F.column=Number(I)),x&&h){let N=0;for(let U=h.length-1;U>0;U--)if(h.charAt(U)===")")N++;else if(h.charAt(U)==="("&&h.charAt(U-1)===" "&&(N--,N===-1&&h.charAt(U-1)===" ")){let J=h.slice(0,U-1);h=h.slice(U+1),a+=` (${J}`;break}}if(a){let N=a.match(gCt);N&&(a=N[1],C=N[2])}return owe(F,h,this._cwd),o&&(F.constructor=!0),n&&(F.evalOrigin=n,F.evalLine=A,F.evalColumn=p,F.evalFile=u&&u.replace(/\\/g,"/")),v&&(F.native=!0),a&&(F.function=a),C&&a!==C&&(F.method=C),F}};function owe(t,e,r){e&&(e=e.replace(/\\/g,"/"),e.startsWith(`${r}/`)&&(e=e.slice(r.length+1)),t.file=e)}function pCt(t){if(t.length===0)return[];let e=t.map(r=>ACt(r));return new RegExp(`[/\\\\]node_modules[/\\\\](?:${e.join("|")})[/\\\\][^:]+:\\d+:\\d+`)}var hCt=new RegExp("^(?:\\s*at )?(?:(new) )?(?:(.*?) \\()?(?:eval at ([^ ]+) \\((.+?):(\\d+):(\\d+)\\), )?(?:(.+?):(\\d+):(\\d+)|(native))(\\)?)$"),gCt=/^(.*?) \[as (.*?)\]$/;lwe.exports=vB});var Awe=_((uzt,uwe)=>{"use strict";uwe.exports=(t,e)=>t.replace(/^\t+/gm,r=>" ".repeat(r.length*(e||2)))});var pwe=_((Azt,fwe)=>{"use strict";var dCt=Awe(),mCt=(t,e)=>{let r=[],o=t-e,a=t+e;for(let n=o;n<=a;n++)r.push(n);return r};fwe.exports=(t,e,r)=>{if(typeof t!="string")throw new TypeError("Source code is missing.");if(!e||e<1)throw new TypeError("Line number must start from `1`.");if(t=dCt(t).split(/\r?\n/),!(e>t.length))return r={around:3,...r},mCt(e,r.around).filter(o=>t[o-1]!==void 0).map(o=>({line:o,value:t[o-1]}))}});var oQ=_(nu=>{"use strict";var yCt=nu&&nu.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),ECt=nu&&nu.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),CCt=nu&&nu.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&yCt(e,t,r);return ECt(e,t),e},wCt=nu&&nu.__rest||function(t,e){var r={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(r[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,o=Object.getOwnPropertySymbols(t);a{var{children:r}=t,o=wCt(t,["children"]);let a=Object.assign(Object.assign({},o),{marginLeft:o.marginLeft||o.marginX||o.margin||0,marginRight:o.marginRight||o.marginX||o.margin||0,marginTop:o.marginTop||o.marginY||o.margin||0,marginBottom:o.marginBottom||o.marginY||o.margin||0,paddingLeft:o.paddingLeft||o.paddingX||o.padding||0,paddingRight:o.paddingRight||o.paddingX||o.padding||0,paddingTop:o.paddingTop||o.paddingY||o.padding||0,paddingBottom:o.paddingBottom||o.paddingY||o.padding||0});return hwe.default.createElement("ink-box",{ref:e,style:a},r)});gq.displayName="Box";gq.defaultProps={flexDirection:"row",flexGrow:0,flexShrink:1};nu.default=gq});var yq=_(PB=>{"use strict";var dq=PB&&PB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(PB,"__esModule",{value:!0});var ICt=dq(an()),_C=dq(nQ()),gwe=dq(X6()),mq=({color:t,backgroundColor:e,dimColor:r,bold:o,italic:a,underline:n,strikethrough:u,inverse:A,wrap:p,children:h})=>{if(h==null)return null;let E=I=>(r&&(I=_C.default.dim(I)),t&&(I=gwe.default(I,t,"foreground")),e&&(I=gwe.default(I,e,"background")),o&&(I=_C.default.bold(I)),a&&(I=_C.default.italic(I)),n&&(I=_C.default.underline(I)),u&&(I=_C.default.strikethrough(I)),A&&(I=_C.default.inverse(I)),I);return ICt.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:p},internal_transform:E},h)};mq.displayName="Text";mq.defaultProps={dimColor:!1,bold:!1,italic:!1,underline:!1,strikethrough:!1,wrap:"wrap"};PB.default=mq});var Ewe=_(iu=>{"use strict";var BCt=iu&&iu.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),vCt=iu&&iu.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),PCt=iu&&iu.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&BCt(e,t,r);return vCt(e,t),e},DB=iu&&iu.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(iu,"__esModule",{value:!0});var dwe=PCt(ve("fs")),hs=DB(an()),mwe=DB(cwe()),DCt=DB(pwe()),Zf=DB(oQ()),gA=DB(yq()),ywe=new mwe.default({cwd:process.cwd(),internals:mwe.default.nodeInternals()}),SCt=({error:t})=>{let e=t.stack?t.stack.split(` +`).slice(1):void 0,r=e?ywe.parseLine(e[0]):void 0,o,a=0;if(r?.file&&r?.line&&dwe.existsSync(r.file)){let n=dwe.readFileSync(r.file,"utf8");if(o=DCt.default(n,r.line),o)for(let{line:u}of o)a=Math.max(a,String(u).length)}return hs.default.createElement(Zf.default,{flexDirection:"column",padding:1},hs.default.createElement(Zf.default,null,hs.default.createElement(gA.default,{backgroundColor:"red",color:"white"}," ","ERROR"," "),hs.default.createElement(gA.default,null," ",t.message)),r&&hs.default.createElement(Zf.default,{marginTop:1},hs.default.createElement(gA.default,{dimColor:!0},r.file,":",r.line,":",r.column)),r&&o&&hs.default.createElement(Zf.default,{marginTop:1,flexDirection:"column"},o.map(({line:n,value:u})=>hs.default.createElement(Zf.default,{key:n},hs.default.createElement(Zf.default,{width:a+1},hs.default.createElement(gA.default,{dimColor:n!==r.line,backgroundColor:n===r.line?"red":void 0,color:n===r.line?"white":void 0},String(n).padStart(a," "),":")),hs.default.createElement(gA.default,{key:n,backgroundColor:n===r.line?"red":void 0,color:n===r.line?"white":void 0}," "+u)))),t.stack&&hs.default.createElement(Zf.default,{marginTop:1,flexDirection:"column"},t.stack.split(` +`).slice(1).map(n=>{let u=ywe.parseLine(n);return u?hs.default.createElement(Zf.default,{key:n},hs.default.createElement(gA.default,{dimColor:!0},"- "),hs.default.createElement(gA.default,{dimColor:!0,bold:!0},u.function),hs.default.createElement(gA.default,{dimColor:!0,color:"gray"}," ","(",u.file,":",u.line,":",u.column,")")):hs.default.createElement(Zf.default,{key:n},hs.default.createElement(gA.default,{dimColor:!0},"- "),hs.default.createElement(gA.default,{dimColor:!0,bold:!0},n))})))};iu.default=SCt});var wwe=_(su=>{"use strict";var bCt=su&&su.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),xCt=su&&su.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),kCt=su&&su.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&bCt(e,t,r);return xCt(e,t),e},um=su&&su.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(su,"__esModule",{value:!0});var cm=kCt(an()),Cwe=um(g6()),QCt=um(aq()),RCt=um(cq()),FCt=um(Aq()),TCt=um(pq()),LCt=um(sQ()),NCt=um(Ewe()),OCt=" ",MCt="\x1B[Z",UCt="\x1B",aQ=class extends cm.PureComponent{constructor(){super(...arguments),this.state={isFocusEnabled:!0,activeFocusId:void 0,focusables:[],error:void 0},this.rawModeEnabledCount=0,this.handleSetRawMode=e=>{let{stdin:r}=this.props;if(!this.isRawModeSupported())throw r===process.stdin?new Error(`Raw mode is not supported on the current process.stdin, which Ink uses as input stream by default. +Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`):new Error(`Raw mode is not supported on the stdin provided to Ink. +Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`);if(r.setEncoding("utf8"),e){this.rawModeEnabledCount===0&&(r.addListener("data",this.handleInput),r.resume(),r.setRawMode(!0)),this.rawModeEnabledCount++;return}--this.rawModeEnabledCount===0&&(r.setRawMode(!1),r.removeListener("data",this.handleInput),r.pause())},this.handleInput=e=>{e===""&&this.props.exitOnCtrlC&&this.handleExit(),e===UCt&&this.state.activeFocusId&&this.setState({activeFocusId:void 0}),this.state.isFocusEnabled&&this.state.focusables.length>0&&(e===OCt&&this.focusNext(),e===MCt&&this.focusPrevious())},this.handleExit=e=>{this.isRawModeSupported()&&this.handleSetRawMode(!1),this.props.onExit(e)},this.enableFocus=()=>{this.setState({isFocusEnabled:!0})},this.disableFocus=()=>{this.setState({isFocusEnabled:!1})},this.focusNext=()=>{this.setState(e=>{let r=e.focusables[0].id;return{activeFocusId:this.findNextFocusable(e)||r}})},this.focusPrevious=()=>{this.setState(e=>{let r=e.focusables[e.focusables.length-1].id;return{activeFocusId:this.findPreviousFocusable(e)||r}})},this.addFocusable=(e,{autoFocus:r})=>{this.setState(o=>{let a=o.activeFocusId;return!a&&r&&(a=e),{activeFocusId:a,focusables:[...o.focusables,{id:e,isActive:!0}]}})},this.removeFocusable=e=>{this.setState(r=>({activeFocusId:r.activeFocusId===e?void 0:r.activeFocusId,focusables:r.focusables.filter(o=>o.id!==e)}))},this.activateFocusable=e=>{this.setState(r=>({focusables:r.focusables.map(o=>o.id!==e?o:{id:e,isActive:!0})}))},this.deactivateFocusable=e=>{this.setState(r=>({activeFocusId:r.activeFocusId===e?void 0:r.activeFocusId,focusables:r.focusables.map(o=>o.id!==e?o:{id:e,isActive:!1})}))},this.findNextFocusable=e=>{let r=e.focusables.findIndex(o=>o.id===e.activeFocusId);for(let o=r+1;o{let r=e.focusables.findIndex(o=>o.id===e.activeFocusId);for(let o=r-1;o>=0;o--)if(e.focusables[o].isActive)return e.focusables[o].id}}static getDerivedStateFromError(e){return{error:e}}isRawModeSupported(){return this.props.stdin.isTTY}render(){return cm.default.createElement(QCt.default.Provider,{value:{exit:this.handleExit}},cm.default.createElement(RCt.default.Provider,{value:{stdin:this.props.stdin,setRawMode:this.handleSetRawMode,isRawModeSupported:this.isRawModeSupported(),internal_exitOnCtrlC:this.props.exitOnCtrlC}},cm.default.createElement(FCt.default.Provider,{value:{stdout:this.props.stdout,write:this.props.writeToStdout}},cm.default.createElement(TCt.default.Provider,{value:{stderr:this.props.stderr,write:this.props.writeToStderr}},cm.default.createElement(LCt.default.Provider,{value:{activeId:this.state.activeFocusId,add:this.addFocusable,remove:this.removeFocusable,activate:this.activateFocusable,deactivate:this.deactivateFocusable,enableFocus:this.enableFocus,disableFocus:this.disableFocus,focusNext:this.focusNext,focusPrevious:this.focusPrevious}},this.state.error?cm.default.createElement(NCt.default,{error:this.state.error}):this.props.children)))))}componentDidMount(){Cwe.default.hide(this.props.stdout)}componentWillUnmount(){Cwe.default.show(this.props.stdout),this.isRawModeSupported()&&this.handleSetRawMode(!1)}componentDidCatch(e){this.handleExit(e)}};su.default=aQ;aQ.displayName="InternalApp"});var vwe=_(ou=>{"use strict";var _Ct=ou&&ou.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),HCt=ou&&ou.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),qCt=ou&&ou.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&_Ct(e,t,r);return HCt(e,t),e},au=ou&&ou.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ou,"__esModule",{value:!0});var GCt=au(an()),Iwe=lM(),jCt=au(cEe()),YCt=au(u6()),WCt=au(gEe()),KCt=au(mEe()),Eq=au(uCe()),zCt=au(zCe()),JCt=au(h6()),VCt=au(ZCe()),XCt=qCt(j6()),ZCt=au(sq()),$Ct=au(wwe()),HC=process.env.CI==="false"?!1:WCt.default,Bwe=()=>{},Cq=class{constructor(e){this.resolveExitPromise=()=>{},this.rejectExitPromise=()=>{},this.unsubscribeExit=()=>{},this.onRender=()=>{if(this.isUnmounted)return;let{output:r,outputHeight:o,staticOutput:a}=zCt.default(this.rootNode,this.options.stdout.columns||80),n=a&&a!==` +`;if(this.options.debug){n&&(this.fullStaticOutput+=a),this.options.stdout.write(this.fullStaticOutput+r);return}if(HC){n&&this.options.stdout.write(a),this.lastOutput=r;return}if(n&&(this.fullStaticOutput+=a),o>=this.options.stdout.rows){this.options.stdout.write(YCt.default.clearTerminal+this.fullStaticOutput+r),this.lastOutput=r;return}n&&(this.log.clear(),this.options.stdout.write(a),this.log(r)),!n&&r!==this.lastOutput&&this.throttledLog(r),this.lastOutput=r},KCt.default(this),this.options=e,this.rootNode=XCt.createNode("ink-root"),this.rootNode.onRender=e.debug?this.onRender:Iwe(this.onRender,32,{leading:!0,trailing:!0}),this.rootNode.onImmediateRender=this.onRender,this.log=jCt.default.create(e.stdout),this.throttledLog=e.debug?this.log:Iwe(this.log,void 0,{leading:!0,trailing:!0}),this.isUnmounted=!1,this.lastOutput="",this.fullStaticOutput="",this.container=Eq.default.createContainer(this.rootNode,!1,!1),this.unsubscribeExit=JCt.default(this.unmount,{alwaysLast:!1}),e.patchConsole&&this.patchConsole(),HC||(e.stdout.on("resize",this.onRender),this.unsubscribeResize=()=>{e.stdout.off("resize",this.onRender)})}render(e){let r=GCt.default.createElement($Ct.default,{stdin:this.options.stdin,stdout:this.options.stdout,stderr:this.options.stderr,writeToStdout:this.writeToStdout,writeToStderr:this.writeToStderr,exitOnCtrlC:this.options.exitOnCtrlC,onExit:this.unmount},e);Eq.default.updateContainer(r,this.container,null,Bwe)}writeToStdout(e){if(!this.isUnmounted){if(this.options.debug){this.options.stdout.write(e+this.fullStaticOutput+this.lastOutput);return}if(HC){this.options.stdout.write(e);return}this.log.clear(),this.options.stdout.write(e),this.log(this.lastOutput)}}writeToStderr(e){if(!this.isUnmounted){if(this.options.debug){this.options.stderr.write(e),this.options.stdout.write(this.fullStaticOutput+this.lastOutput);return}if(HC){this.options.stderr.write(e);return}this.log.clear(),this.options.stderr.write(e),this.log(this.lastOutput)}}unmount(e){this.isUnmounted||(this.onRender(),this.unsubscribeExit(),typeof this.restoreConsole=="function"&&this.restoreConsole(),typeof this.unsubscribeResize=="function"&&this.unsubscribeResize(),HC?this.options.stdout.write(this.lastOutput+` +`):this.options.debug||this.log.done(),this.isUnmounted=!0,Eq.default.updateContainer(null,this.container,null,Bwe),ZCt.default.delete(this.options.stdout),e instanceof Error?this.rejectExitPromise(e):this.resolveExitPromise())}waitUntilExit(){return this.exitPromise||(this.exitPromise=new Promise((e,r)=>{this.resolveExitPromise=e,this.rejectExitPromise=r})),this.exitPromise}clear(){!HC&&!this.options.debug&&this.log.clear()}patchConsole(){this.options.debug||(this.restoreConsole=VCt.default((e,r)=>{e==="stdout"&&this.writeToStdout(r),e==="stderr"&&(r.startsWith("The above error occurred")||this.writeToStderr(r))}))}};ou.default=Cq});var Dwe=_(SB=>{"use strict";var Pwe=SB&&SB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(SB,"__esModule",{value:!0});var ewt=Pwe(vwe()),lQ=Pwe(sq()),twt=ve("stream"),rwt=(t,e)=>{let r=Object.assign({stdout:process.stdout,stdin:process.stdin,stderr:process.stderr,debug:!1,exitOnCtrlC:!0,patchConsole:!0},nwt(e)),o=iwt(r.stdout,()=>new ewt.default(r));return o.render(t),{rerender:o.render,unmount:()=>o.unmount(),waitUntilExit:o.waitUntilExit,cleanup:()=>lQ.default.delete(r.stdout),clear:o.clear}};SB.default=rwt;var nwt=(t={})=>t instanceof twt.Stream?{stdout:t,stdin:process.stdin}:t,iwt=(t,e)=>{let r;return lQ.default.has(t)?r=lQ.default.get(t):(r=e(),lQ.default.set(t,r)),r}});var bwe=_($f=>{"use strict";var swt=$f&&$f.__createBinding||(Object.create?function(t,e,r,o){o===void 0&&(o=r),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[r]}})}:function(t,e,r,o){o===void 0&&(o=r),t[o]=e[r]}),owt=$f&&$f.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),awt=$f&&$f.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.hasOwnProperty.call(t,r)&&swt(e,t,r);return owt(e,t),e};Object.defineProperty($f,"__esModule",{value:!0});var bB=awt(an()),Swe=t=>{let{items:e,children:r,style:o}=t,[a,n]=bB.useState(0),u=bB.useMemo(()=>e.slice(a),[e,a]);bB.useLayoutEffect(()=>{n(e.length)},[e.length]);let A=u.map((h,E)=>r(h,a+E)),p=bB.useMemo(()=>Object.assign({position:"absolute",flexDirection:"column"},o),[o]);return bB.default.createElement("ink-box",{internal_static:!0,style:p},A)};Swe.displayName="Static";$f.default=Swe});var kwe=_(xB=>{"use strict";var lwt=xB&&xB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(xB,"__esModule",{value:!0});var cwt=lwt(an()),xwe=({children:t,transform:e})=>t==null?null:cwt.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row"},internal_transform:e},t);xwe.displayName="Transform";xB.default=xwe});var Rwe=_(kB=>{"use strict";var uwt=kB&&kB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(kB,"__esModule",{value:!0});var Awt=uwt(an()),Qwe=({count:t=1})=>Awt.default.createElement("ink-text",null,` +`.repeat(t));Qwe.displayName="Newline";kB.default=Qwe});var Lwe=_(QB=>{"use strict";var Fwe=QB&&QB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(QB,"__esModule",{value:!0});var fwt=Fwe(an()),pwt=Fwe(oQ()),Twe=()=>fwt.default.createElement(pwt.default,{flexGrow:1});Twe.displayName="Spacer";QB.default=Twe});var cQ=_(RB=>{"use strict";var hwt=RB&&RB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(RB,"__esModule",{value:!0});var gwt=an(),dwt=hwt(cq()),mwt=()=>gwt.useContext(dwt.default);RB.default=mwt});var Owe=_(FB=>{"use strict";var ywt=FB&&FB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(FB,"__esModule",{value:!0});var Nwe=an(),Ewt=ywt(cQ()),Cwt=(t,e={})=>{let{stdin:r,setRawMode:o,internal_exitOnCtrlC:a}=Ewt.default();Nwe.useEffect(()=>{if(e.isActive!==!1)return o(!0),()=>{o(!1)}},[e.isActive,o]),Nwe.useEffect(()=>{if(e.isActive===!1)return;let n=u=>{let A=String(u),p={upArrow:A==="\x1B[A",downArrow:A==="\x1B[B",leftArrow:A==="\x1B[D",rightArrow:A==="\x1B[C",pageDown:A==="\x1B[6~",pageUp:A==="\x1B[5~",return:A==="\r",escape:A==="\x1B",ctrl:!1,shift:!1,tab:A===" "||A==="\x1B[Z",backspace:A==="\b",delete:A==="\x7F"||A==="\x1B[3~",meta:!1};A<=""&&!p.return&&(A=String.fromCharCode(A.charCodeAt(0)+"a".charCodeAt(0)-1),p.ctrl=!0),A.startsWith("\x1B")&&(A=A.slice(1),p.meta=!0);let h=A>="A"&&A<="Z",E=A>="\u0410"&&A<="\u042F";A.length===1&&(h||E)&&(p.shift=!0),p.tab&&A==="[Z"&&(p.shift=!0),(p.tab||p.backspace||p.delete)&&(A=""),(!(A==="c"&&p.ctrl)||!a)&&t(A,p)};return r?.on("data",n),()=>{r?.off("data",n)}},[e.isActive,r,a,t])};FB.default=Cwt});var Mwe=_(TB=>{"use strict";var wwt=TB&&TB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(TB,"__esModule",{value:!0});var Iwt=an(),Bwt=wwt(aq()),vwt=()=>Iwt.useContext(Bwt.default);TB.default=vwt});var Uwe=_(LB=>{"use strict";var Pwt=LB&&LB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(LB,"__esModule",{value:!0});var Dwt=an(),Swt=Pwt(Aq()),bwt=()=>Dwt.useContext(Swt.default);LB.default=bwt});var _we=_(NB=>{"use strict";var xwt=NB&&NB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(NB,"__esModule",{value:!0});var kwt=an(),Qwt=xwt(pq()),Rwt=()=>kwt.useContext(Qwt.default);NB.default=Rwt});var qwe=_(MB=>{"use strict";var Hwe=MB&&MB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(MB,"__esModule",{value:!0});var OB=an(),Fwt=Hwe(sQ()),Twt=Hwe(cQ()),Lwt=({isActive:t=!0,autoFocus:e=!1}={})=>{let{isRawModeSupported:r,setRawMode:o}=Twt.default(),{activeId:a,add:n,remove:u,activate:A,deactivate:p}=OB.useContext(Fwt.default),h=OB.useMemo(()=>Math.random().toString().slice(2,7),[]);return OB.useEffect(()=>(n(h,{autoFocus:e}),()=>{u(h)}),[h,e]),OB.useEffect(()=>{t?A(h):p(h)},[t,h]),OB.useEffect(()=>{if(!(!r||!t))return o(!0),()=>{o(!1)}},[t]),{isFocused:Boolean(h)&&a===h}};MB.default=Lwt});var Gwe=_(UB=>{"use strict";var Nwt=UB&&UB.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(UB,"__esModule",{value:!0});var Owt=an(),Mwt=Nwt(sQ()),Uwt=()=>{let t=Owt.useContext(Mwt.default);return{enableFocus:t.enableFocus,disableFocus:t.disableFocus,focusNext:t.focusNext,focusPrevious:t.focusPrevious}};UB.default=Uwt});var jwe=_(wq=>{"use strict";Object.defineProperty(wq,"__esModule",{value:!0});wq.default=t=>{var e,r,o,a;return{width:(r=(e=t.yogaNode)===null||e===void 0?void 0:e.getComputedWidth())!==null&&r!==void 0?r:0,height:(a=(o=t.yogaNode)===null||o===void 0?void 0:o.getComputedHeight())!==null&&a!==void 0?a:0}}});var sc=_(to=>{"use strict";Object.defineProperty(to,"__esModule",{value:!0});var _wt=Dwe();Object.defineProperty(to,"render",{enumerable:!0,get:function(){return _wt.default}});var Hwt=oQ();Object.defineProperty(to,"Box",{enumerable:!0,get:function(){return Hwt.default}});var qwt=yq();Object.defineProperty(to,"Text",{enumerable:!0,get:function(){return qwt.default}});var Gwt=bwe();Object.defineProperty(to,"Static",{enumerable:!0,get:function(){return Gwt.default}});var jwt=kwe();Object.defineProperty(to,"Transform",{enumerable:!0,get:function(){return jwt.default}});var Ywt=Rwe();Object.defineProperty(to,"Newline",{enumerable:!0,get:function(){return Ywt.default}});var Wwt=Lwe();Object.defineProperty(to,"Spacer",{enumerable:!0,get:function(){return Wwt.default}});var Kwt=Owe();Object.defineProperty(to,"useInput",{enumerable:!0,get:function(){return Kwt.default}});var zwt=Mwe();Object.defineProperty(to,"useApp",{enumerable:!0,get:function(){return zwt.default}});var Jwt=cQ();Object.defineProperty(to,"useStdin",{enumerable:!0,get:function(){return Jwt.default}});var Vwt=Uwe();Object.defineProperty(to,"useStdout",{enumerable:!0,get:function(){return Vwt.default}});var Xwt=_we();Object.defineProperty(to,"useStderr",{enumerable:!0,get:function(){return Xwt.default}});var Zwt=qwe();Object.defineProperty(to,"useFocus",{enumerable:!0,get:function(){return Zwt.default}});var $wt=Gwe();Object.defineProperty(to,"useFocusManager",{enumerable:!0,get:function(){return $wt.default}});var eIt=jwe();Object.defineProperty(to,"measureElement",{enumerable:!0,get:function(){return eIt.default}})});var Bq={};zt(Bq,{Gem:()=>Iq});var Ywe,Am,Iq,uQ=Et(()=>{Ywe=Ze(sc()),Am=Ze(an()),Iq=(0,Am.memo)(({active:t})=>{let e=(0,Am.useMemo)(()=>t?"\u25C9":"\u25EF",[t]),r=(0,Am.useMemo)(()=>t?"green":"yellow",[t]);return Am.default.createElement(Ywe.Text,{color:r},e)})});var Kwe={};zt(Kwe,{useKeypress:()=>fm});function fm({active:t},e,r){let{stdin:o}=(0,Wwe.useStdin)(),a=(0,AQ.useCallback)((n,u)=>e(n,u),r);(0,AQ.useEffect)(()=>{if(!(!t||!o))return o.on("keypress",a),()=>{o.off("keypress",a)}},[t,a,o])}var Wwe,AQ,_B=Et(()=>{Wwe=Ze(sc()),AQ=Ze(an())});var Jwe={};zt(Jwe,{FocusRequest:()=>zwe,useFocusRequest:()=>vq});var zwe,vq,Pq=Et(()=>{_B();zwe=(r=>(r.BEFORE="before",r.AFTER="after",r))(zwe||{}),vq=function({active:t},e,r){fm({active:t},(o,a)=>{a.name==="tab"&&(a.shift?e("before"):e("after"))},r)}});var Vwe={};zt(Vwe,{useListInput:()=>HB});var HB,fQ=Et(()=>{_B();HB=function(t,e,{active:r,minus:o,plus:a,set:n,loop:u=!0}){fm({active:r},(A,p)=>{let h=e.indexOf(t);switch(p.name){case o:{let E=h-1;if(u){n(e[(e.length+E)%e.length]);return}if(E<0)return;n(e[E])}break;case a:{let E=h+1;if(u){n(e[E%e.length]);return}if(E>=e.length)return;n(e[E])}break}},[e,t,a,n,u])}});var pQ={};zt(pQ,{ScrollableItems:()=>tIt});var w0,Na,tIt,hQ=Et(()=>{w0=Ze(sc()),Na=Ze(an());Pq();fQ();tIt=({active:t=!0,children:e=[],radius:r=10,size:o=1,loop:a=!0,onFocusRequest:n,willReachEnd:u})=>{let A=N=>{if(N.key===null)throw new Error("Expected all children to have a key");return N.key},p=Na.default.Children.map(e,N=>A(N)),h=p[0],[E,I]=(0,Na.useState)(h),v=p.indexOf(E);(0,Na.useEffect)(()=>{p.includes(E)||I(h)},[e]),(0,Na.useEffect)(()=>{u&&v>=p.length-2&&u()},[v]),vq({active:t&&!!n},N=>{n?.(N)},[n]),HB(E,p,{active:t,minus:"up",plus:"down",set:I,loop:a});let x=v-r,C=v+r;C>p.length&&(x-=C-p.length,C=p.length),x<0&&(C+=-x,x=0),C>=p.length&&(C=p.length-1);let F=[];for(let N=x;N<=C;++N){let U=p[N],J=t&&U===E;F.push(Na.default.createElement(w0.Box,{key:U,height:o},Na.default.createElement(w0.Box,{marginLeft:1,marginRight:1},Na.default.createElement(w0.Text,null,J?Na.default.createElement(w0.Text,{color:"cyan",bold:!0},">"):" ")),Na.default.createElement(w0.Box,null,Na.default.cloneElement(e[N],{active:J}))))}return Na.default.createElement(w0.Box,{flexDirection:"column",width:"100%"},F)}});var Xwe,ep,Zwe,Dq,$we,Sq=Et(()=>{Xwe=Ze(sc()),ep=Ze(an()),Zwe=ve("readline"),Dq=ep.default.createContext(null),$we=({children:t})=>{let{stdin:e,setRawMode:r}=(0,Xwe.useStdin)();(0,ep.useEffect)(()=>{r&&r(!0),e&&(0,Zwe.emitKeypressEvents)(e)},[e,r]);let[o,a]=(0,ep.useState)(new Map),n=(0,ep.useMemo)(()=>({getAll:()=>o,get:u=>o.get(u),set:(u,A)=>a(new Map([...o,[u,A]]))}),[o,a]);return ep.default.createElement(Dq.Provider,{value:n,children:t})}});var bq={};zt(bq,{useMinistore:()=>rIt});function rIt(t,e){let r=(0,gQ.useContext)(Dq);if(r===null)throw new Error("Expected this hook to run with a ministore context attached");if(typeof t>"u")return r.getAll();let o=(0,gQ.useCallback)(n=>{r.set(t,n)},[t,r.set]),a=r.get(t);return typeof a>"u"&&(a=e),[a,o]}var gQ,xq=Et(()=>{gQ=Ze(an());Sq()});var mQ={};zt(mQ,{renderForm:()=>nIt});async function nIt(t,e,{stdin:r,stdout:o,stderr:a}){let n,u=p=>{let{exit:h}=(0,dQ.useApp)();fm({active:!0},(E,I)=>{I.name==="return"&&(n=p,h())},[h,p])},{waitUntilExit:A}=(0,dQ.render)(kq.default.createElement($we,null,kq.default.createElement(t,{...e,useSubmit:u})),{stdin:r,stdout:o,stderr:a});return await A(),n}var dQ,kq,yQ=Et(()=>{dQ=Ze(sc()),kq=Ze(an());Sq();_B()});var nIe=_(qB=>{"use strict";Object.defineProperty(qB,"__esModule",{value:!0});qB.UncontrolledTextInput=void 0;var tIe=an(),Qq=an(),eIe=sc(),pm=nQ(),rIe=({value:t,placeholder:e="",focus:r=!0,mask:o,highlightPastedText:a=!1,showCursor:n=!0,onChange:u,onSubmit:A})=>{let[{cursorOffset:p,cursorWidth:h},E]=Qq.useState({cursorOffset:(t||"").length,cursorWidth:0});Qq.useEffect(()=>{E(F=>{if(!r||!n)return F;let N=t||"";return F.cursorOffset>N.length-1?{cursorOffset:N.length,cursorWidth:0}:F})},[t,r,n]);let I=a?h:0,v=o?o.repeat(t.length):t,x=v,C=e?pm.grey(e):void 0;if(n&&r){C=e.length>0?pm.inverse(e[0])+pm.grey(e.slice(1)):pm.inverse(" "),x=v.length>0?"":pm.inverse(" ");let F=0;for(let N of v)F>=p-I&&F<=p?x+=pm.inverse(N):x+=N,F++;v.length>0&&p===v.length&&(x+=pm.inverse(" "))}return eIe.useInput((F,N)=>{if(N.upArrow||N.downArrow||N.ctrl&&F==="c"||N.tab||N.shift&&N.tab)return;if(N.return){A&&A(t);return}let U=p,J=t,te=0;N.leftArrow?n&&U--:N.rightArrow?n&&U++:N.backspace||N.delete?p>0&&(J=t.slice(0,p-1)+t.slice(p,t.length),U--):(J=t.slice(0,p)+F+t.slice(p,t.length),U+=F.length,F.length>1&&(te=F.length)),p<0&&(U=0),p>t.length&&(U=t.length),E({cursorOffset:U,cursorWidth:te}),J!==t&&u(J)},{isActive:r}),tIe.createElement(eIe.Text,null,e?v.length>0?x:C:x)};qB.default=rIe;qB.UncontrolledTextInput=t=>{let[e,r]=Qq.useState("");return tIe.createElement(rIe,Object.assign({},t,{value:e,onChange:r}))}});var oIe={};zt(oIe,{Pad:()=>Rq});var iIe,sIe,Rq,Fq=Et(()=>{iIe=Ze(sc()),sIe=Ze(an()),Rq=({length:t,active:e})=>{if(t===0)return null;let r=t>1?` ${"-".repeat(t-1)}`:" ";return sIe.default.createElement(iIe.Text,{dimColor:!e},r)}});var aIe={};zt(aIe,{ItemOptions:()=>iIt});var jB,B0,iIt,lIe=Et(()=>{jB=Ze(sc()),B0=Ze(an());fQ();uQ();Fq();iIt=function({active:t,skewer:e,options:r,value:o,onChange:a,sizes:n=[]}){let u=r.filter(({label:p})=>!!p).map(({value:p})=>p),A=r.findIndex(p=>p.value===o&&p.label!="");return HB(o,u,{active:t,minus:"left",plus:"right",set:a}),B0.default.createElement(B0.default.Fragment,null,r.map(({label:p},h)=>{let E=h===A,I=n[h]-1||0,v=p.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,""),x=Math.max(0,I-v.length-2);return p?B0.default.createElement(jB.Box,{key:p,width:I,marginLeft:1},B0.default.createElement(jB.Text,{wrap:"truncate"},B0.default.createElement(Iq,{active:E})," ",p),e?B0.default.createElement(Rq,{active:t,length:x}):null):B0.default.createElement(jB.Box,{key:`spacer-${h}`,width:I,marginLeft:1})}))}});var vIe=_(($Jt,BIe)=>{var qq;BIe.exports=()=>(typeof qq>"u"&&(qq=ve("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),qq)});var YIe=_((vVt,jIe)=>{var Xq=Symbol("arg flag"),Oa=class extends Error{constructor(e,r){super(e),this.name="ArgError",this.code=r,Object.setPrototypeOf(this,Oa.prototype)}};function ov(t,{argv:e=process.argv.slice(2),permissive:r=!1,stopAtPositional:o=!1}={}){if(!t)throw new Oa("argument specification object is required","ARG_CONFIG_NO_SPEC");let a={_:[]},n={},u={};for(let A of Object.keys(t)){if(!A)throw new Oa("argument key cannot be an empty string","ARG_CONFIG_EMPTY_KEY");if(A[0]!=="-")throw new Oa(`argument key must start with '-' but found: '${A}'`,"ARG_CONFIG_NONOPT_KEY");if(A.length===1)throw new Oa(`argument key must have a name; singular '-' keys are not allowed: ${A}`,"ARG_CONFIG_NONAME_KEY");if(typeof t[A]=="string"){n[A]=t[A];continue}let p=t[A],h=!1;if(Array.isArray(p)&&p.length===1&&typeof p[0]=="function"){let[E]=p;p=(I,v,x=[])=>(x.push(E(I,v,x[x.length-1])),x),h=E===Boolean||E[Xq]===!0}else if(typeof p=="function")h=p===Boolean||p[Xq]===!0;else throw new Oa(`type missing or not a function or valid array type: ${A}`,"ARG_CONFIG_VAD_TYPE");if(A[1]!=="-"&&A.length>2)throw new Oa(`short argument keys (with a single hyphen) must have only one character: ${A}`,"ARG_CONFIG_SHORTOPT_TOOLONG");u[A]=[p,h]}for(let A=0,p=e.length;A0){a._=a._.concat(e.slice(A));break}if(h==="--"){a._=a._.concat(e.slice(A+1));break}if(h.length>1&&h[0]==="-"){let E=h[1]==="-"||h.length===2?[h]:h.slice(1).split("").map(I=>`-${I}`);for(let I=0;I1&&e[A+1][0]==="-"&&!(e[A+1].match(/^-?\d*(\.(?=\d))?\d*$/)&&(N===Number||typeof BigInt<"u"&&N===BigInt))){let J=x===F?"":` (alias for ${F})`;throw new Oa(`option requires argument: ${x}${J}`,"ARG_MISSING_REQUIRED_LONGARG")}a[F]=N(e[A+1],F,a[F]),++A}else a[F]=N(C,F,a[F])}}else a._.push(h)}return a}ov.flag=t=>(t[Xq]=!0,t);ov.COUNT=ov.flag((t,e,r)=>(r||0)+1);ov.ArgError=Oa;jIe.exports=ov});var $Ie=_((eXt,ZIe)=>{var tG;ZIe.exports=()=>(typeof tG>"u"&&(tG=ve("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),tG)});var i1e=_((aG,lG)=>{(function(t){aG&&typeof aG=="object"&&typeof lG<"u"?lG.exports=t():typeof define=="function"&&define.amd?define([],t):typeof window<"u"?window.isWindows=t():typeof global<"u"?global.isWindows=t():typeof self<"u"?self.isWindows=t():this.isWindows=t()})(function(){"use strict";return function(){return process&&(process.platform==="win32"||/^(msys|cygwin)$/.test(process.env.OSTYPE))}})});var l1e=_((ZXt,a1e)=>{"use strict";cG.ifExists=t1t;var GC=ve("util"),oc=ve("path"),s1e=i1e(),ZIt=/^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/,$It={createPwshFile:!0,createCmdFile:s1e(),fs:ve("fs")},e1t=new Map([[".js","node"],[".cjs","node"],[".mjs","node"],[".cmd","cmd"],[".bat","cmd"],[".ps1","pwsh"],[".sh","sh"]]);function o1e(t){let e={...$It,...t},r=e.fs;return e.fs_={chmod:r.chmod?GC.promisify(r.chmod):async()=>{},mkdir:GC.promisify(r.mkdir),readFile:GC.promisify(r.readFile),stat:GC.promisify(r.stat),unlink:GC.promisify(r.unlink),writeFile:GC.promisify(r.writeFile)},e}async function cG(t,e,r){let o=o1e(r);await o.fs_.stat(t),await n1t(t,e,o)}function t1t(t,e,r){return cG(t,e,r).catch(()=>{})}function r1t(t,e){return e.fs_.unlink(t).catch(()=>{})}async function n1t(t,e,r){let o=await l1t(t,r);return await i1t(e,r),s1t(t,e,o,r)}function i1t(t,e){return e.fs_.mkdir(oc.dirname(t),{recursive:!0})}function s1t(t,e,r,o){let a=o1e(o),n=[{generator:A1t,extension:""}];return a.createCmdFile&&n.push({generator:u1t,extension:".cmd"}),a.createPwshFile&&n.push({generator:f1t,extension:".ps1"}),Promise.all(n.map(u=>c1t(t,e+u.extension,r,u.generator,a)))}function o1t(t,e){return r1t(t,e)}function a1t(t,e){return p1t(t,e)}async function l1t(t,e){let a=(await e.fs_.readFile(t,"utf8")).trim().split(/\r*\n/)[0].match(ZIt);if(!a){let n=oc.extname(t).toLowerCase();return{program:e1t.get(n)||null,additionalArgs:""}}return{program:a[1],additionalArgs:a[2]}}async function c1t(t,e,r,o,a){let n=a.preserveSymlinks?"--preserve-symlinks":"",u=[r.additionalArgs,n].filter(A=>A).join(" ");return a=Object.assign({},a,{prog:r.program,args:u}),await o1t(e,a),await a.fs_.writeFile(e,o(t,e,a),"utf8"),a1t(e,a)}function u1t(t,e,r){let a=oc.relative(oc.dirname(e),t).split("/").join("\\"),n=oc.isAbsolute(a)?`"${a}"`:`"%~dp0\\${a}"`,u,A=r.prog,p=r.args||"",h=uG(r.nodePath).win32;A?(u=`"%~dp0\\${A}.exe"`,a=n):(A=n,p="",a="");let E=r.progArgs?`${r.progArgs.join(" ")} `:"",I=h?`@SET NODE_PATH=${h}\r +`:"";return u?I+=`@IF EXIST ${u} (\r + ${u} ${p} ${a} ${E}%*\r +) ELSE (\r + @SETLOCAL\r + @SET PATHEXT=%PATHEXT:;.JS;=;%\r + ${A} ${p} ${a} ${E}%*\r +)\r +`:I+=`@${A} ${p} ${a} ${E}%*\r +`,I}function A1t(t,e,r){let o=oc.relative(oc.dirname(e),t),a=r.prog&&r.prog.split("\\").join("/"),n;o=o.split("\\").join("/");let u=oc.isAbsolute(o)?`"${o}"`:`"$basedir/${o}"`,A=r.args||"",p=uG(r.nodePath).posix;a?(n=`"$basedir/${r.prog}"`,o=u):(a=u,A="",o="");let h=r.progArgs?`${r.progArgs.join(" ")} `:"",E=`#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')") + +case \`uname\` in + *CYGWIN*) basedir=\`cygpath -w "$basedir"\`;; +esac + +`,I=r.nodePath?`export NODE_PATH="${p}" +`:"";return n?E+=`${I}if [ -x ${n} ]; then + exec ${n} ${A} ${o} ${h}"$@" +else + exec ${a} ${A} ${o} ${h}"$@" +fi +`:E+=`${I}${a} ${A} ${o} ${h}"$@" +exit $? +`,E}function f1t(t,e,r){let o=oc.relative(oc.dirname(e),t),a=r.prog&&r.prog.split("\\").join("/"),n=a&&`"${a}$exe"`,u;o=o.split("\\").join("/");let A=oc.isAbsolute(o)?`"${o}"`:`"$basedir/${o}"`,p=r.args||"",h=uG(r.nodePath),E=h.win32,I=h.posix;n?(u=`"$basedir/${r.prog}$exe"`,o=A):(n=A,p="",o="");let v=r.progArgs?`${r.progArgs.join(" ")} `:"",x=`#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +${r.nodePath?`$env_node_path=$env:NODE_PATH +$env:NODE_PATH="${E}" +`:""}if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +}`;return r.nodePath&&(x+=` else { + $env:NODE_PATH="${I}" +}`),u?x+=` +$ret=0 +if (Test-Path ${u}) { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & ${u} ${p} ${o} ${v}$args + } else { + & ${u} ${p} ${o} ${v}$args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & ${n} ${p} ${o} ${v}$args + } else { + & ${n} ${p} ${o} ${v}$args + } + $ret=$LASTEXITCODE +} +${r.nodePath?`$env:NODE_PATH=$env_node_path +`:""}exit $ret +`:x+=` +# Support pipeline input +if ($MyInvocation.ExpectingInput) { + $input | & ${n} ${p} ${o} ${v}$args +} else { + & ${n} ${p} ${o} ${v}$args +} +${r.nodePath?`$env:NODE_PATH=$env_node_path +`:""}exit $LASTEXITCODE +`,x}function p1t(t,e){return e.fs_.chmod(t,493)}function uG(t){if(!t)return{win32:"",posix:""};let e=typeof t=="string"?t.split(oc.delimiter):Array.from(t),r={};for(let o=0;o`/mnt/${A.toLowerCase()}`):e[o];r.win32=r.win32?`${r.win32};${a}`:a,r.posix=r.posix?`${r.posix}:${n}`:n,r[o]={win32:a,posix:n}}return r}a1e.exports=cG});var vG=_((E$t,x1e)=>{x1e.exports=ve("stream")});var F1e=_((C$t,R1e)=>{"use strict";function k1e(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,o)}return r}function _1t(t){for(var e=1;e0?this.tail.next=o:this.head=o,this.tail=o,++this.length}},{key:"unshift",value:function(r){var o={data:r,next:this.head};this.length===0&&(this.tail=o),this.head=o,++this.length}},{key:"shift",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(r){if(this.length===0)return"";for(var o=this.head,a=""+o.data;o=o.next;)a+=r+o.data;return a}},{key:"concat",value:function(r){if(this.length===0)return kQ.alloc(0);for(var o=kQ.allocUnsafe(r>>>0),a=this.head,n=0;a;)K1t(a.data,o,n),n+=a.data.length,a=a.next;return o}},{key:"consume",value:function(r,o){var a;return ru.length?u.length:r;if(A===u.length?n+=u:n+=u.slice(0,r),r-=A,r===0){A===u.length?(++a,o.next?this.head=o.next:this.head=this.tail=null):(this.head=o,o.data=u.slice(A));break}++a}return this.length-=a,n}},{key:"_getBuffer",value:function(r){var o=kQ.allocUnsafe(r),a=this.head,n=1;for(a.data.copy(o),r-=a.data.length;a=a.next;){var u=a.data,A=r>u.length?u.length:r;if(u.copy(o,o.length-r,0,A),r-=A,r===0){A===u.length?(++n,a.next?this.head=a.next:this.head=this.tail=null):(this.head=a,a.data=u.slice(A));break}++n}return this.length-=n,o}},{key:W1t,value:function(r,o){return PG(this,_1t({},o,{depth:0,customInspect:!1}))}}]),t}()});var SG=_((w$t,L1e)=>{"use strict";function z1t(t,e){var r=this,o=this._readableState&&this._readableState.destroyed,a=this._writableState&&this._writableState.destroyed;return o||a?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(DG,this,t)):process.nextTick(DG,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(n){!e&&n?r._writableState?r._writableState.errorEmitted?process.nextTick(QQ,r):(r._writableState.errorEmitted=!0,process.nextTick(T1e,r,n)):process.nextTick(T1e,r,n):e?(process.nextTick(QQ,r),e(n)):process.nextTick(QQ,r)}),this)}function T1e(t,e){DG(t,e),QQ(t)}function QQ(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function J1t(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function DG(t,e){t.emit("error",e)}function V1t(t,e){var r=t._readableState,o=t._writableState;r&&r.autoDestroy||o&&o.autoDestroy?t.destroy(e):t.emit("error",e)}L1e.exports={destroy:z1t,undestroy:J1t,errorOrDestroy:V1t}});var R0=_((I$t,M1e)=>{"use strict";var O1e={};function lc(t,e,r){r||(r=Error);function o(n,u,A){return typeof e=="string"?e:e(n,u,A)}class a extends r{constructor(u,A,p){super(o(u,A,p))}}a.prototype.name=r.name,a.prototype.code=t,O1e[t]=a}function N1e(t,e){if(Array.isArray(t)){let r=t.length;return t=t.map(o=>String(o)),r>2?`one of ${e} ${t.slice(0,r-1).join(", ")}, or `+t[r-1]:r===2?`one of ${e} ${t[0]} or ${t[1]}`:`of ${e} ${t[0]}`}else return`of ${e} ${String(t)}`}function X1t(t,e,r){return t.substr(!r||r<0?0:+r,e.length)===e}function Z1t(t,e,r){return(r===void 0||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}function $1t(t,e,r){return typeof r!="number"&&(r=0),r+e.length>t.length?!1:t.indexOf(e,r)!==-1}lc("ERR_INVALID_OPT_VALUE",function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'},TypeError);lc("ERR_INVALID_ARG_TYPE",function(t,e,r){let o;typeof e=="string"&&X1t(e,"not ")?(o="must not be",e=e.replace(/^not /,"")):o="must be";let a;if(Z1t(t," argument"))a=`The ${t} ${o} ${N1e(e,"type")}`;else{let n=$1t(t,".")?"property":"argument";a=`The "${t}" ${n} ${o} ${N1e(e,"type")}`}return a+=`. Received type ${typeof r}`,a},TypeError);lc("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");lc("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"});lc("ERR_STREAM_PREMATURE_CLOSE","Premature close");lc("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"});lc("ERR_MULTIPLE_CALLBACK","Callback called multiple times");lc("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");lc("ERR_STREAM_WRITE_AFTER_END","write after end");lc("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);lc("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError);lc("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");M1e.exports.codes=O1e});var bG=_((B$t,U1e)=>{"use strict";var e2t=R0().codes.ERR_INVALID_OPT_VALUE;function t2t(t,e,r){return t.highWaterMark!=null?t.highWaterMark:e?t[r]:null}function r2t(t,e,r,o){var a=t2t(e,o,r);if(a!=null){if(!(isFinite(a)&&Math.floor(a)===a)||a<0){var n=o?r:"highWaterMark";throw new e2t(n,a)}return Math.floor(a)}return t.objectMode?16:16*1024}U1e.exports={getHighWaterMark:r2t}});var _1e=_((v$t,xG)=>{typeof Object.create=="function"?xG.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:xG.exports=function(e,r){if(r){e.super_=r;var o=function(){};o.prototype=r.prototype,e.prototype=new o,e.prototype.constructor=e}}});var F0=_((P$t,QG)=>{try{if(kG=ve("util"),typeof kG.inherits!="function")throw"";QG.exports=kG.inherits}catch{QG.exports=_1e()}var kG});var q1e=_((D$t,H1e)=>{H1e.exports=ve("util").deprecate});var TG=_((S$t,z1e)=>{"use strict";z1e.exports=Fi;function j1e(t){var e=this;this.next=null,this.entry=null,this.finish=function(){x2t(e,t)}}var zC;Fi.WritableState=yv;var n2t={deprecate:q1e()},Y1e=vG(),FQ=ve("buffer").Buffer,i2t=global.Uint8Array||function(){};function s2t(t){return FQ.from(t)}function o2t(t){return FQ.isBuffer(t)||t instanceof i2t}var FG=SG(),a2t=bG(),l2t=a2t.getHighWaterMark,T0=R0().codes,c2t=T0.ERR_INVALID_ARG_TYPE,u2t=T0.ERR_METHOD_NOT_IMPLEMENTED,A2t=T0.ERR_MULTIPLE_CALLBACK,f2t=T0.ERR_STREAM_CANNOT_PIPE,p2t=T0.ERR_STREAM_DESTROYED,h2t=T0.ERR_STREAM_NULL_VALUES,g2t=T0.ERR_STREAM_WRITE_AFTER_END,d2t=T0.ERR_UNKNOWN_ENCODING,JC=FG.errorOrDestroy;F0()(Fi,Y1e);function m2t(){}function yv(t,e,r){zC=zC||Em(),t=t||{},typeof r!="boolean"&&(r=e instanceof zC),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=l2t(this,t,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var o=t.decodeStrings===!1;this.decodeStrings=!o,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(a){v2t(e,a)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new j1e(this)}yv.prototype.getBuffer=function(){for(var e=this.bufferedRequest,r=[];e;)r.push(e),e=e.next;return r};(function(){try{Object.defineProperty(yv.prototype,"buffer",{get:n2t.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}})();var RQ;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(RQ=Function.prototype[Symbol.hasInstance],Object.defineProperty(Fi,Symbol.hasInstance,{value:function(e){return RQ.call(this,e)?!0:this!==Fi?!1:e&&e._writableState instanceof yv}})):RQ=function(e){return e instanceof this};function Fi(t){zC=zC||Em();var e=this instanceof zC;if(!e&&!RQ.call(Fi,this))return new Fi(t);this._writableState=new yv(t,this,e),this.writable=!0,t&&(typeof t.write=="function"&&(this._write=t.write),typeof t.writev=="function"&&(this._writev=t.writev),typeof t.destroy=="function"&&(this._destroy=t.destroy),typeof t.final=="function"&&(this._final=t.final)),Y1e.call(this)}Fi.prototype.pipe=function(){JC(this,new f2t)};function y2t(t,e){var r=new g2t;JC(t,r),process.nextTick(e,r)}function E2t(t,e,r,o){var a;return r===null?a=new h2t:typeof r!="string"&&!e.objectMode&&(a=new c2t("chunk",["string","Buffer"],r)),a?(JC(t,a),process.nextTick(o,a),!1):!0}Fi.prototype.write=function(t,e,r){var o=this._writableState,a=!1,n=!o.objectMode&&o2t(t);return n&&!FQ.isBuffer(t)&&(t=s2t(t)),typeof e=="function"&&(r=e,e=null),n?e="buffer":e||(e=o.defaultEncoding),typeof r!="function"&&(r=m2t),o.ending?y2t(this,r):(n||E2t(this,o,t,r))&&(o.pendingcb++,a=w2t(this,o,n,t,e,r)),a};Fi.prototype.cork=function(){this._writableState.corked++};Fi.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,!t.writing&&!t.corked&&!t.bufferProcessing&&t.bufferedRequest&&W1e(this,t))};Fi.prototype.setDefaultEncoding=function(e){if(typeof e=="string"&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new d2t(e);return this._writableState.defaultEncoding=e,this};Object.defineProperty(Fi.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function C2t(t,e,r){return!t.objectMode&&t.decodeStrings!==!1&&typeof e=="string"&&(e=FQ.from(e,r)),e}Object.defineProperty(Fi.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function w2t(t,e,r,o,a,n){if(!r){var u=C2t(e,o,a);o!==u&&(r=!0,a="buffer",o=u)}var A=e.objectMode?1:o.length;e.length+=A;var p=e.length{"use strict";var k2t=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};V1e.exports=EA;var J1e=OG(),NG=TG();F0()(EA,J1e);for(LG=k2t(NG.prototype),TQ=0;TQ{var NQ=ve("buffer"),sp=NQ.Buffer;function X1e(t,e){for(var r in t)e[r]=t[r]}sp.from&&sp.alloc&&sp.allocUnsafe&&sp.allocUnsafeSlow?Z1e.exports=NQ:(X1e(NQ,MG),MG.Buffer=VC);function VC(t,e,r){return sp(t,e,r)}X1e(sp,VC);VC.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return sp(t,e,r)};VC.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var o=sp(t);return e!==void 0?typeof r=="string"?o.fill(e,r):o.fill(e):o.fill(0),o};VC.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return sp(t)};VC.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return NQ.SlowBuffer(t)}});var HG=_(t2e=>{"use strict";var _G=$1e().Buffer,e2e=_G.isEncoding||function(t){switch(t=""+t,t&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function F2t(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}function T2t(t){var e=F2t(t);if(typeof e!="string"&&(_G.isEncoding===e2e||!e2e(t)))throw new Error("Unknown encoding: "+t);return e||t}t2e.StringDecoder=Ev;function Ev(t){this.encoding=T2t(t);var e;switch(this.encoding){case"utf16le":this.text=_2t,this.end=H2t,e=4;break;case"utf8":this.fillLast=O2t,e=4;break;case"base64":this.text=q2t,this.end=G2t,e=3;break;default:this.write=j2t,this.end=Y2t;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=_G.allocUnsafe(e)}Ev.prototype.write=function(t){if(t.length===0)return"";var e,r;if(this.lastNeed){if(e=this.fillLast(t),e===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r>5===6?2:t>>4===14?3:t>>3===30?4:t>>6===2?-1:-2}function L2t(t,e,r){var o=e.length-1;if(o=0?(a>0&&(t.lastNeed=a-1),a):--o=0?(a>0&&(t.lastNeed=a-2),a):--o=0?(a>0&&(a===2?a=0:t.lastNeed=a-3),a):0))}function N2t(t,e,r){if((e[0]&192)!==128)return t.lastNeed=0,"\uFFFD";if(t.lastNeed>1&&e.length>1){if((e[1]&192)!==128)return t.lastNeed=1,"\uFFFD";if(t.lastNeed>2&&e.length>2&&(e[2]&192)!==128)return t.lastNeed=2,"\uFFFD"}}function O2t(t){var e=this.lastTotal-this.lastNeed,r=N2t(this,t,e);if(r!==void 0)return r;if(this.lastNeed<=t.length)return t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,e,0,t.length),this.lastNeed-=t.length}function M2t(t,e){var r=L2t(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var o=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,o),t.toString("utf8",e,o)}function U2t(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"\uFFFD":e}function _2t(t,e){if((t.length-e)%2===0){var r=t.toString("utf16le",e);if(r){var o=r.charCodeAt(r.length-1);if(o>=55296&&o<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function H2t(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function q2t(t,e){var r=(t.length-e)%3;return r===0?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function G2t(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function j2t(t){return t.toString(this.encoding)}function Y2t(t){return t&&t.length?this.write(t):""}});var OQ=_((k$t,i2e)=>{"use strict";var r2e=R0().codes.ERR_STREAM_PREMATURE_CLOSE;function W2t(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,o=new Array(r),a=0;a{"use strict";var MQ;function L0(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var J2t=OQ(),N0=Symbol("lastResolve"),Cm=Symbol("lastReject"),Cv=Symbol("error"),UQ=Symbol("ended"),wm=Symbol("lastPromise"),qG=Symbol("handlePromise"),Im=Symbol("stream");function O0(t,e){return{value:t,done:e}}function V2t(t){var e=t[N0];if(e!==null){var r=t[Im].read();r!==null&&(t[wm]=null,t[N0]=null,t[Cm]=null,e(O0(r,!1)))}}function X2t(t){process.nextTick(V2t,t)}function Z2t(t,e){return function(r,o){t.then(function(){if(e[UQ]){r(O0(void 0,!0));return}e[qG](r,o)},o)}}var $2t=Object.getPrototypeOf(function(){}),eBt=Object.setPrototypeOf((MQ={get stream(){return this[Im]},next:function(){var e=this,r=this[Cv];if(r!==null)return Promise.reject(r);if(this[UQ])return Promise.resolve(O0(void 0,!0));if(this[Im].destroyed)return new Promise(function(u,A){process.nextTick(function(){e[Cv]?A(e[Cv]):u(O0(void 0,!0))})});var o=this[wm],a;if(o)a=new Promise(Z2t(o,this));else{var n=this[Im].read();if(n!==null)return Promise.resolve(O0(n,!1));a=new Promise(this[qG])}return this[wm]=a,a}},L0(MQ,Symbol.asyncIterator,function(){return this}),L0(MQ,"return",function(){var e=this;return new Promise(function(r,o){e[Im].destroy(null,function(a){if(a){o(a);return}r(O0(void 0,!0))})})}),MQ),$2t),tBt=function(e){var r,o=Object.create(eBt,(r={},L0(r,Im,{value:e,writable:!0}),L0(r,N0,{value:null,writable:!0}),L0(r,Cm,{value:null,writable:!0}),L0(r,Cv,{value:null,writable:!0}),L0(r,UQ,{value:e._readableState.endEmitted,writable:!0}),L0(r,qG,{value:function(n,u){var A=o[Im].read();A?(o[wm]=null,o[N0]=null,o[Cm]=null,n(O0(A,!1))):(o[N0]=n,o[Cm]=u)},writable:!0}),r));return o[wm]=null,J2t(e,function(a){if(a&&a.code!=="ERR_STREAM_PREMATURE_CLOSE"){var n=o[Cm];n!==null&&(o[wm]=null,o[N0]=null,o[Cm]=null,n(a)),o[Cv]=a;return}var u=o[N0];u!==null&&(o[wm]=null,o[N0]=null,o[Cm]=null,u(O0(void 0,!0))),o[UQ]=!0}),e.on("readable",X2t.bind(null,o)),o};s2e.exports=tBt});var u2e=_((R$t,c2e)=>{"use strict";function a2e(t,e,r,o,a,n,u){try{var A=t[n](u),p=A.value}catch(h){r(h);return}A.done?e(p):Promise.resolve(p).then(o,a)}function rBt(t){return function(){var e=this,r=arguments;return new Promise(function(o,a){var n=t.apply(e,r);function u(p){a2e(n,o,a,u,A,"next",p)}function A(p){a2e(n,o,a,u,A,"throw",p)}u(void 0)})}}function l2e(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable})),r.push.apply(r,o)}return r}function nBt(t){for(var e=1;e{"use strict";C2e.exports=mn;var XC;mn.ReadableState=h2e;var F$t=ve("events").EventEmitter,p2e=function(e,r){return e.listeners(r).length},Iv=vG(),_Q=ve("buffer").Buffer,aBt=global.Uint8Array||function(){};function lBt(t){return _Q.from(t)}function cBt(t){return _Q.isBuffer(t)||t instanceof aBt}var GG=ve("util"),en;GG&&GG.debuglog?en=GG.debuglog("stream"):en=function(){};var uBt=F1e(),VG=SG(),ABt=bG(),fBt=ABt.getHighWaterMark,HQ=R0().codes,pBt=HQ.ERR_INVALID_ARG_TYPE,hBt=HQ.ERR_STREAM_PUSH_AFTER_EOF,gBt=HQ.ERR_METHOD_NOT_IMPLEMENTED,dBt=HQ.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,ZC,jG,YG;F0()(mn,Iv);var wv=VG.errorOrDestroy,WG=["error","close","destroy","pause","resume"];function mBt(t,e,r){if(typeof t.prependListener=="function")return t.prependListener(e,r);!t._events||!t._events[e]?t.on(e,r):Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]}function h2e(t,e,r){XC=XC||Em(),t=t||{},typeof r!="boolean"&&(r=e instanceof XC),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=fBt(this,t,"readableHighWaterMark",r),this.buffer=new uBt,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=t.emitClose!==!1,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(ZC||(ZC=HG().StringDecoder),this.decoder=new ZC(t.encoding),this.encoding=t.encoding)}function mn(t){if(XC=XC||Em(),!(this instanceof mn))return new mn(t);var e=this instanceof XC;this._readableState=new h2e(t,this,e),this.readable=!0,t&&(typeof t.read=="function"&&(this._read=t.read),typeof t.destroy=="function"&&(this._destroy=t.destroy)),Iv.call(this)}Object.defineProperty(mn.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(e){!this._readableState||(this._readableState.destroyed=e)}});mn.prototype.destroy=VG.destroy;mn.prototype._undestroy=VG.undestroy;mn.prototype._destroy=function(t,e){e(t)};mn.prototype.push=function(t,e){var r=this._readableState,o;return r.objectMode?o=!0:typeof t=="string"&&(e=e||r.defaultEncoding,e!==r.encoding&&(t=_Q.from(t,e),e=""),o=!0),g2e(this,t,e,!1,o)};mn.prototype.unshift=function(t){return g2e(this,t,null,!0,!1)};function g2e(t,e,r,o,a){en("readableAddChunk",e);var n=t._readableState;if(e===null)n.reading=!1,CBt(t,n);else{var u;if(a||(u=yBt(n,e)),u)wv(t,u);else if(n.objectMode||e&&e.length>0)if(typeof e!="string"&&!n.objectMode&&Object.getPrototypeOf(e)!==_Q.prototype&&(e=lBt(e)),o)n.endEmitted?wv(t,new dBt):KG(t,n,e,!0);else if(n.ended)wv(t,new hBt);else{if(n.destroyed)return!1;n.reading=!1,n.decoder&&!r?(e=n.decoder.write(e),n.objectMode||e.length!==0?KG(t,n,e,!1):JG(t,n)):KG(t,n,e,!1)}else o||(n.reading=!1,JG(t,n))}return!n.ended&&(n.length=A2e?t=A2e:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}function f2e(t,e){return t<=0||e.length===0&&e.ended?0:e.objectMode?1:t!==t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=EBt(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}mn.prototype.read=function(t){en("read",t),t=parseInt(t,10);var e=this._readableState,r=t;if(t!==0&&(e.emittedReadable=!1),t===0&&e.needReadable&&((e.highWaterMark!==0?e.length>=e.highWaterMark:e.length>0)||e.ended))return en("read: emitReadable",e.length,e.ended),e.length===0&&e.ended?zG(this):qQ(this),null;if(t=f2e(t,e),t===0&&e.ended)return e.length===0&&zG(this),null;var o=e.needReadable;en("need readable",o),(e.length===0||e.length-t0?a=y2e(t,e):a=null,a===null?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),e.length===0&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&zG(this)),a!==null&&this.emit("data",a),a};function CBt(t,e){if(en("onEofChunk"),!e.ended){if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?qQ(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,d2e(t)))}}function qQ(t){var e=t._readableState;en("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(en("emitReadable",e.flowing),e.emittedReadable=!0,process.nextTick(d2e,t))}function d2e(t){var e=t._readableState;en("emitReadable_",e.destroyed,e.length,e.ended),!e.destroyed&&(e.length||e.ended)&&(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,XG(t)}function JG(t,e){e.readingMore||(e.readingMore=!0,process.nextTick(wBt,t,e))}function wBt(t,e){for(;!e.reading&&!e.ended&&(e.length1&&E2e(o.pipes,t)!==-1)&&!h&&(en("false write response, pause",o.awaitDrain),o.awaitDrain++),r.pause())}function v(N){en("onerror",N),F(),t.removeListener("error",v),p2e(t,"error")===0&&wv(t,N)}mBt(t,"error",v);function x(){t.removeListener("finish",C),F()}t.once("close",x);function C(){en("onfinish"),t.removeListener("close",x),F()}t.once("finish",C);function F(){en("unpipe"),r.unpipe(t)}return t.emit("pipe",r),o.flowing||(en("pipe resume"),r.resume()),t};function IBt(t){return function(){var r=t._readableState;en("pipeOnDrain",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&p2e(t,"data")&&(r.flowing=!0,XG(t))}}mn.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(e.pipesCount===0)return this;if(e.pipesCount===1)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r),this);if(!t){var o=e.pipes,a=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var n=0;n0,o.flowing!==!1&&this.resume()):t==="readable"&&!o.endEmitted&&!o.readableListening&&(o.readableListening=o.needReadable=!0,o.flowing=!1,o.emittedReadable=!1,en("on readable",o.length,o.reading),o.length?qQ(this):o.reading||process.nextTick(BBt,this)),r};mn.prototype.addListener=mn.prototype.on;mn.prototype.removeListener=function(t,e){var r=Iv.prototype.removeListener.call(this,t,e);return t==="readable"&&process.nextTick(m2e,this),r};mn.prototype.removeAllListeners=function(t){var e=Iv.prototype.removeAllListeners.apply(this,arguments);return(t==="readable"||t===void 0)&&process.nextTick(m2e,this),e};function m2e(t){var e=t._readableState;e.readableListening=t.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function BBt(t){en("readable nexttick read 0"),t.read(0)}mn.prototype.resume=function(){var t=this._readableState;return t.flowing||(en("resume"),t.flowing=!t.readableListening,vBt(this,t)),t.paused=!1,this};function vBt(t,e){e.resumeScheduled||(e.resumeScheduled=!0,process.nextTick(PBt,t,e))}function PBt(t,e){en("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),XG(t),e.flowing&&!e.reading&&t.read(0)}mn.prototype.pause=function(){return en("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(en("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function XG(t){var e=t._readableState;for(en("flow",e.flowing);e.flowing&&t.read()!==null;);}mn.prototype.wrap=function(t){var e=this,r=this._readableState,o=!1;t.on("end",function(){if(en("wrapped end"),r.decoder&&!r.ended){var u=r.decoder.end();u&&u.length&&e.push(u)}e.push(null)}),t.on("data",function(u){if(en("wrapped data"),r.decoder&&(u=r.decoder.write(u)),!(r.objectMode&&u==null)&&!(!r.objectMode&&(!u||!u.length))){var A=e.push(u);A||(o=!0,t.pause())}});for(var a in t)this[a]===void 0&&typeof t[a]=="function"&&(this[a]=function(A){return function(){return t[A].apply(t,arguments)}}(a));for(var n=0;n=e.length?(e.decoder?r=e.buffer.join(""):e.buffer.length===1?r=e.buffer.first():r=e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r}function zG(t){var e=t._readableState;en("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,process.nextTick(DBt,e,t))}function DBt(t,e){if(en("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&t.length===0&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}typeof Symbol=="function"&&(mn.from=function(t,e){return YG===void 0&&(YG=u2e()),YG(mn,t,e)});function E2e(t,e){for(var r=0,o=t.length;r{"use strict";I2e.exports=op;var GQ=R0().codes,SBt=GQ.ERR_METHOD_NOT_IMPLEMENTED,bBt=GQ.ERR_MULTIPLE_CALLBACK,xBt=GQ.ERR_TRANSFORM_ALREADY_TRANSFORMING,kBt=GQ.ERR_TRANSFORM_WITH_LENGTH_0,jQ=Em();F0()(op,jQ);function QBt(t,e){var r=this._transformState;r.transforming=!1;var o=r.writecb;if(o===null)return this.emit("error",new bBt);r.writechunk=null,r.writecb=null,e!=null&&this.push(e),o(t);var a=this._readableState;a.reading=!1,(a.needReadable||a.length{"use strict";v2e.exports=Bv;var B2e=ZG();F0()(Bv,B2e);function Bv(t){if(!(this instanceof Bv))return new Bv(t);B2e.call(this,t)}Bv.prototype._transform=function(t,e,r){r(null,t)}});var k2e=_((O$t,x2e)=>{"use strict";var $G;function FBt(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}var b2e=R0().codes,TBt=b2e.ERR_MISSING_ARGS,LBt=b2e.ERR_STREAM_DESTROYED;function D2e(t){if(t)throw t}function NBt(t){return t.setHeader&&typeof t.abort=="function"}function OBt(t,e,r,o){o=FBt(o);var a=!1;t.on("close",function(){a=!0}),$G===void 0&&($G=OQ()),$G(t,{readable:e,writable:r},function(u){if(u)return o(u);a=!0,o()});var n=!1;return function(u){if(!a&&!n){if(n=!0,NBt(t))return t.abort();if(typeof t.destroy=="function")return t.destroy();o(u||new LBt("pipe"))}}}function S2e(t){t()}function MBt(t,e){return t.pipe(e)}function UBt(t){return!t.length||typeof t[t.length-1]!="function"?D2e:t.pop()}function _Bt(){for(var t=arguments.length,e=new Array(t),r=0;r0;return OBt(u,p,h,function(E){a||(a=E),E&&n.forEach(S2e),!p&&(n.forEach(S2e),o(a))})});return e.reduce(MBt)}x2e.exports=_Bt});var $C=_((cc,Pv)=>{var vv=ve("stream");process.env.READABLE_STREAM==="disable"&&vv?(Pv.exports=vv.Readable,Object.assign(Pv.exports,vv),Pv.exports.Stream=vv):(cc=Pv.exports=OG(),cc.Stream=vv||cc,cc.Readable=cc,cc.Writable=TG(),cc.Duplex=Em(),cc.Transform=ZG(),cc.PassThrough=P2e(),cc.finished=OQ(),cc.pipeline=k2e())});var F2e=_((M$t,R2e)=>{"use strict";var{Buffer:cu}=ve("buffer"),Q2e=Symbol.for("BufferList");function ni(t){if(!(this instanceof ni))return new ni(t);ni._init.call(this,t)}ni._init=function(e){Object.defineProperty(this,Q2e,{value:!0}),this._bufs=[],this.length=0,e&&this.append(e)};ni.prototype._new=function(e){return new ni(e)};ni.prototype._offset=function(e){if(e===0)return[0,0];let r=0;for(let o=0;othis.length||e<0)return;let r=this._offset(e);return this._bufs[r[0]][r[1]]};ni.prototype.slice=function(e,r){return typeof e=="number"&&e<0&&(e+=this.length),typeof r=="number"&&r<0&&(r+=this.length),this.copy(null,0,e,r)};ni.prototype.copy=function(e,r,o,a){if((typeof o!="number"||o<0)&&(o=0),(typeof a!="number"||a>this.length)&&(a=this.length),o>=this.length||a<=0)return e||cu.alloc(0);let n=!!e,u=this._offset(o),A=a-o,p=A,h=n&&r||0,E=u[1];if(o===0&&a===this.length){if(!n)return this._bufs.length===1?this._bufs[0]:cu.concat(this._bufs,this.length);for(let I=0;Iv)this._bufs[I].copy(e,h,E),h+=v;else{this._bufs[I].copy(e,h,E,E+p),h+=v;break}p-=v,E&&(E=0)}return e.length>h?e.slice(0,h):e};ni.prototype.shallowSlice=function(e,r){if(e=e||0,r=typeof r!="number"?this.length:r,e<0&&(e+=this.length),r<0&&(r+=this.length),e===r)return this._new();let o=this._offset(e),a=this._offset(r),n=this._bufs.slice(o[0],a[0]+1);return a[1]===0?n.pop():n[n.length-1]=n[n.length-1].slice(0,a[1]),o[1]!==0&&(n[0]=n[0].slice(o[1])),this._new(n)};ni.prototype.toString=function(e,r,o){return this.slice(r,o).toString(e)};ni.prototype.consume=function(e){if(e=Math.trunc(e),Number.isNaN(e)||e<=0)return this;for(;this._bufs.length;)if(e>=this._bufs[0].length)e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}return this};ni.prototype.duplicate=function(){let e=this._new();for(let r=0;rthis.length?this.length:e;let o=this._offset(e),a=o[0],n=o[1];for(;a=t.length){let p=u.indexOf(t,n);if(p!==-1)return this._reverseOffset([a,p]);n=u.length-t.length+1}else{let p=this._reverseOffset([a,n]);if(this._match(p,t))return p;n++}n=0}return-1};ni.prototype._match=function(t,e){if(this.length-t{"use strict";var ej=$C().Duplex,HBt=F0(),Dv=F2e();function Mo(t){if(!(this instanceof Mo))return new Mo(t);if(typeof t=="function"){this._callback=t;let e=function(o){this._callback&&(this._callback(o),this._callback=null)}.bind(this);this.on("pipe",function(o){o.on("error",e)}),this.on("unpipe",function(o){o.removeListener("error",e)}),t=null}Dv._init.call(this,t),ej.call(this)}HBt(Mo,ej);Object.assign(Mo.prototype,Dv.prototype);Mo.prototype._new=function(e){return new Mo(e)};Mo.prototype._write=function(e,r,o){this._appendBuffer(e),typeof o=="function"&&o()};Mo.prototype._read=function(e){if(!this.length)return this.push(null);e=Math.min(e,this.length),this.push(this.slice(0,e)),this.consume(e)};Mo.prototype.end=function(e){ej.prototype.end.call(this,e),this._callback&&(this._callback(null,this.slice()),this._callback=null)};Mo.prototype._destroy=function(e,r){this._bufs.length=0,this.length=0,r(e)};Mo.prototype._isBufferList=function(e){return e instanceof Mo||e instanceof Dv||Mo.isBufferList(e)};Mo.isBufferList=Dv.isBufferList;YQ.exports=Mo;YQ.exports.BufferListStream=Mo;YQ.exports.BufferList=Dv});var nj=_(tw=>{var qBt=Buffer.alloc,GBt="0000000000000000000",jBt="7777777777777777777",L2e="0".charCodeAt(0),N2e=Buffer.from("ustar\0","binary"),YBt=Buffer.from("00","binary"),WBt=Buffer.from("ustar ","binary"),KBt=Buffer.from(" \0","binary"),zBt=parseInt("7777",8),Sv=257,rj=263,JBt=function(t,e,r){return typeof t!="number"?r:(t=~~t,t>=e?e:t>=0||(t+=e,t>=0)?t:0)},VBt=function(t){switch(t){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null},XBt=function(t){switch(t){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0},O2e=function(t,e,r,o){for(;re?jBt.slice(0,e)+" ":GBt.slice(0,e-t.length)+t+" "};function ZBt(t){var e;if(t[0]===128)e=!0;else if(t[0]===255)e=!1;else return null;for(var r=[],o=t.length-1;o>0;o--){var a=t[o];e?r.push(a):r.push(255-a)}var n=0,u=r.length;for(o=0;o=Math.pow(10,r)&&r++,e+r+t};tw.decodeLongPath=function(t,e){return ew(t,0,t.length,e)};tw.encodePax=function(t){var e="";t.name&&(e+=tj(" path="+t.name+` +`)),t.linkname&&(e+=tj(" linkpath="+t.linkname+` +`));var r=t.pax;if(r)for(var o in r)e+=tj(" "+o+"="+r[o]+` +`);return Buffer.from(e)};tw.decodePax=function(t){for(var e={};t.length;){for(var r=0;r100;){var a=r.indexOf("/");if(a===-1)return null;o+=o?"/"+r.slice(0,a):r.slice(0,a),r=r.slice(a+1)}return Buffer.byteLength(r)>100||Buffer.byteLength(o)>155||t.linkname&&Buffer.byteLength(t.linkname)>100?null:(e.write(r),e.write(M0(t.mode&zBt,6),100),e.write(M0(t.uid,6),108),e.write(M0(t.gid,6),116),e.write(M0(t.size,11),124),e.write(M0(t.mtime.getTime()/1e3|0,11),136),e[156]=L2e+XBt(t.type),t.linkname&&e.write(t.linkname,157),N2e.copy(e,Sv),YBt.copy(e,rj),t.uname&&e.write(t.uname,265),t.gname&&e.write(t.gname,297),e.write(M0(t.devmajor||0,6),329),e.write(M0(t.devminor||0,6),337),o&&e.write(o,345),e.write(M0(M2e(e),6),148),e)};tw.decode=function(t,e,r){var o=t[156]===0?0:t[156]-L2e,a=ew(t,0,100,e),n=U0(t,100,8),u=U0(t,108,8),A=U0(t,116,8),p=U0(t,124,12),h=U0(t,136,12),E=VBt(o),I=t[157]===0?null:ew(t,157,100,e),v=ew(t,265,32),x=ew(t,297,32),C=U0(t,329,8),F=U0(t,337,8),N=M2e(t);if(N===8*32)return null;if(N!==U0(t,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(N2e.compare(t,Sv,Sv+6)===0)t[345]&&(a=ew(t,345,155,e)+"/"+a);else if(!(WBt.compare(t,Sv,Sv+6)===0&&KBt.compare(t,rj,rj+2)===0)){if(!r)throw new Error("Invalid tar header: unknown format.")}return o===0&&a&&a[a.length-1]==="/"&&(o=5),{name:a,mode:n,uid:u,gid:A,size:p,mtime:new Date(1e3*h),type:E,linkname:I,uname:v,gname:x,devmajor:C,devminor:F}}});var Y2e=_((H$t,j2e)=>{var _2e=ve("util"),$Bt=T2e(),bv=nj(),H2e=$C().Writable,q2e=$C().PassThrough,G2e=function(){},U2e=function(t){return t&=511,t&&512-t},evt=function(t,e){var r=new WQ(t,e);return r.end(),r},tvt=function(t,e){return e.path&&(t.name=e.path),e.linkpath&&(t.linkname=e.linkpath),e.size&&(t.size=parseInt(e.size,10)),t.pax=e,t},WQ=function(t,e){this._parent=t,this.offset=e,q2e.call(this,{autoDestroy:!1})};_2e.inherits(WQ,q2e);WQ.prototype.destroy=function(t){this._parent.destroy(t)};var ap=function(t){if(!(this instanceof ap))return new ap(t);H2e.call(this,t),t=t||{},this._offset=0,this._buffer=$Bt(),this._missing=0,this._partial=!1,this._onparse=G2e,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var e=this,r=e._buffer,o=function(){e._continue()},a=function(v){if(e._locked=!1,v)return e.destroy(v);e._stream||o()},n=function(){e._stream=null;var v=U2e(e._header.size);v?e._parse(v,u):e._parse(512,I),e._locked||o()},u=function(){e._buffer.consume(U2e(e._header.size)),e._parse(512,I),o()},A=function(){var v=e._header.size;e._paxGlobal=bv.decodePax(r.slice(0,v)),r.consume(v),n()},p=function(){var v=e._header.size;e._pax=bv.decodePax(r.slice(0,v)),e._paxGlobal&&(e._pax=Object.assign({},e._paxGlobal,e._pax)),r.consume(v),n()},h=function(){var v=e._header.size;this._gnuLongPath=bv.decodeLongPath(r.slice(0,v),t.filenameEncoding),r.consume(v),n()},E=function(){var v=e._header.size;this._gnuLongLinkPath=bv.decodeLongPath(r.slice(0,v),t.filenameEncoding),r.consume(v),n()},I=function(){var v=e._offset,x;try{x=e._header=bv.decode(r.slice(0,512),t.filenameEncoding,t.allowUnknownFormat)}catch(C){e.emit("error",C)}if(r.consume(512),!x){e._parse(512,I),o();return}if(x.type==="gnu-long-path"){e._parse(x.size,h),o();return}if(x.type==="gnu-long-link-path"){e._parse(x.size,E),o();return}if(x.type==="pax-global-header"){e._parse(x.size,A),o();return}if(x.type==="pax-header"){e._parse(x.size,p),o();return}if(e._gnuLongPath&&(x.name=e._gnuLongPath,e._gnuLongPath=null),e._gnuLongLinkPath&&(x.linkname=e._gnuLongLinkPath,e._gnuLongLinkPath=null),e._pax&&(e._header=x=tvt(x,e._pax),e._pax=null),e._locked=!0,!x.size||x.type==="directory"){e._parse(512,I),e.emit("entry",x,evt(e,v),a);return}e._stream=new WQ(e,v),e.emit("entry",x,e._stream,a),e._parse(x.size,n),o()};this._onheader=I,this._parse(512,I)};_2e.inherits(ap,H2e);ap.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.emit("close"))};ap.prototype._parse=function(t,e){this._destroyed||(this._offset+=t,this._missing=t,e===this._onheader&&(this._partial=!1),this._onparse=e)};ap.prototype._continue=function(){if(!this._destroyed){var t=this._cb;this._cb=G2e,this._overflow?this._write(this._overflow,void 0,t):t()}};ap.prototype._write=function(t,e,r){if(!this._destroyed){var o=this._stream,a=this._buffer,n=this._missing;if(t.length&&(this._partial=!0),t.lengthn&&(u=t.slice(n),t=t.slice(0,n)),o?o.end(t):a.append(t),this._overflow=u,this._onparse()}};ap.prototype._final=function(t){if(this._partial)return this.destroy(new Error("Unexpected end of data"));t()};j2e.exports=ap});var K2e=_((q$t,W2e)=>{W2e.exports=ve("fs").constants||ve("constants")});var Z2e=_((G$t,X2e)=>{var rw=K2e(),z2e=NM(),zQ=F0(),rvt=Buffer.alloc,J2e=$C().Readable,nw=$C().Writable,nvt=ve("string_decoder").StringDecoder,KQ=nj(),ivt=parseInt("755",8),svt=parseInt("644",8),V2e=rvt(1024),sj=function(){},ij=function(t,e){e&=511,e&&t.push(V2e.slice(0,512-e))};function ovt(t){switch(t&rw.S_IFMT){case rw.S_IFBLK:return"block-device";case rw.S_IFCHR:return"character-device";case rw.S_IFDIR:return"directory";case rw.S_IFIFO:return"fifo";case rw.S_IFLNK:return"symlink"}return"file"}var JQ=function(t){nw.call(this),this.written=0,this._to=t,this._destroyed=!1};zQ(JQ,nw);JQ.prototype._write=function(t,e,r){if(this.written+=t.length,this._to.push(t))return r();this._to._drain=r};JQ.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var VQ=function(){nw.call(this),this.linkname="",this._decoder=new nvt("utf-8"),this._destroyed=!1};zQ(VQ,nw);VQ.prototype._write=function(t,e,r){this.linkname+=this._decoder.write(t),r()};VQ.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var xv=function(){nw.call(this),this._destroyed=!1};zQ(xv,nw);xv.prototype._write=function(t,e,r){r(new Error("No body allowed for this entry"))};xv.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var CA=function(t){if(!(this instanceof CA))return new CA(t);J2e.call(this,t),this._drain=sj,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};zQ(CA,J2e);CA.prototype.entry=function(t,e,r){if(this._stream)throw new Error("already piping an entry");if(!(this._finalized||this._destroyed)){typeof e=="function"&&(r=e,e=null),r||(r=sj);var o=this;if((!t.size||t.type==="symlink")&&(t.size=0),t.type||(t.type=ovt(t.mode)),t.mode||(t.mode=t.type==="directory"?ivt:svt),t.uid||(t.uid=0),t.gid||(t.gid=0),t.mtime||(t.mtime=new Date),typeof e=="string"&&(e=Buffer.from(e)),Buffer.isBuffer(e)){t.size=e.length,this._encode(t);var a=this.push(e);return ij(o,t.size),a?process.nextTick(r):this._drain=r,new xv}if(t.type==="symlink"&&!t.linkname){var n=new VQ;return z2e(n,function(A){if(A)return o.destroy(),r(A);t.linkname=n.linkname,o._encode(t),r()}),n}if(this._encode(t),t.type!=="file"&&t.type!=="contiguous-file")return process.nextTick(r),new xv;var u=new JQ(this);return this._stream=u,z2e(u,function(A){if(o._stream=null,A)return o.destroy(),r(A);if(u.written!==t.size)return o.destroy(),r(new Error("size mismatch"));ij(o,t.size),o._finalizing&&o.finalize(),r()}),u}};CA.prototype.finalize=function(){if(this._stream){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(V2e),this.push(null))};CA.prototype.destroy=function(t){this._destroyed||(this._destroyed=!0,t&&this.emit("error",t),this.emit("close"),this._stream&&this._stream.destroy&&this._stream.destroy())};CA.prototype._encode=function(t){if(!t.pax){var e=KQ.encode(t);if(e){this.push(e);return}}this._encodePax(t)};CA.prototype._encodePax=function(t){var e=KQ.encodePax({name:t.name,linkname:t.linkname,pax:t.pax}),r={name:"PaxHeader",mode:t.mode,uid:t.uid,gid:t.gid,size:e.length,mtime:t.mtime,type:"pax-header",linkname:t.linkname&&"PaxHeader",uname:t.uname,gname:t.gname,devmajor:t.devmajor,devminor:t.devminor};this.push(KQ.encode(r)),this.push(e),ij(this,e.length),r.size=t.size,r.type=t.type,this.push(KQ.encode(r))};CA.prototype._read=function(t){var e=this._drain;this._drain=sj,e()};X2e.exports=CA});var $2e=_(oj=>{oj.extract=Y2e();oj.pack=Z2e()});var ABe=_((cer,uBe)=>{"use strict";var Bm=class{constructor(e,r,o){this.__specs=e||{},Object.keys(this.__specs).forEach(a=>{if(typeof this.__specs[a]=="string"){let n=this.__specs[a],u=this.__specs[n];if(u){let A=u.aliases||[];A.push(a,n),u.aliases=[...new Set(A)],this.__specs[a]=u}else throw new Error(`Alias refers to invalid key: ${n} -> ${a}`)}}),this.__opts=r||{},this.__providers=lBe(o.filter(a=>a!=null&&typeof a=="object")),this.__isFiggyPudding=!0}get(e){return fj(this,e,!0)}get[Symbol.toStringTag](){return"FiggyPudding"}forEach(e,r=this){for(let[o,a]of this.entries())e.call(r,a,o,this)}toJSON(){let e={};return this.forEach((r,o)=>{e[o]=r}),e}*entries(e){for(let o of Object.keys(this.__specs))yield[o,this.get(o)];let r=e||this.__opts.other;if(r){let o=new Set;for(let a of this.__providers){let n=a.entries?a.entries(r):wvt(a);for(let[u,A]of n)r(u)&&!o.has(u)&&(o.add(u),yield[u,A])}}}*[Symbol.iterator](){for(let[e,r]of this.entries())yield[e,r]}*keys(){for(let[e]of this.entries())yield e}*values(){for(let[,e]of this.entries())yield e}concat(...e){return new Proxy(new Bm(this.__specs,this.__opts,lBe(this.__providers).concat(e)),cBe)}};try{let t=ve("util");Bm.prototype[t.inspect.custom]=function(e,r){return this[Symbol.toStringTag]+" "+t.inspect(this.toJSON(),r)}}catch{}function Evt(t){throw Object.assign(new Error(`invalid config key requested: ${t}`),{code:"EBADKEY"})}function fj(t,e,r){let o=t.__specs[e];if(r&&!o&&(!t.__opts.other||!t.__opts.other(e)))Evt(e);else{o||(o={});let a;for(let n of t.__providers){if(a=aBe(e,n),a===void 0&&o.aliases&&o.aliases.length){for(let u of o.aliases)if(u!==e&&(a=aBe(u,n),a!==void 0))break}if(a!==void 0)break}return a===void 0&&o.default!==void 0?typeof o.default=="function"?o.default(t):o.default:a}}function aBe(t,e){let r;return e.__isFiggyPudding?r=fj(e,t,!1):typeof e.get=="function"?r=e.get(t):r=e[t],r}var cBe={has(t,e){return e in t.__specs&&fj(t,e,!1)!==void 0},ownKeys(t){return Object.keys(t.__specs)},get(t,e){return typeof e=="symbol"||e.slice(0,2)==="__"||e in Bm.prototype?t[e]:t.get(e)},set(t,e,r){if(typeof e=="symbol"||e.slice(0,2)==="__")return t[e]=r,!0;throw new Error("figgyPudding options cannot be modified. Use .concat() instead.")},deleteProperty(){throw new Error("figgyPudding options cannot be deleted. Use .concat() and shadow them instead.")}};uBe.exports=Cvt;function Cvt(t,e){function r(...o){return new Proxy(new Bm(t,e,o),cBe)}return r}function lBe(t){let e=[];return t.forEach(r=>e.unshift(r)),e}function wvt(t){return Object.keys(t).map(e=>[e,t[e]])}});var hBe=_((uer,BA)=>{"use strict";var Qv=ve("crypto"),Ivt=ABe(),Bvt=ve("stream").Transform,fBe=["sha256","sha384","sha512"],vvt=/^[a-z0-9+/]+(?:=?=?)$/i,Pvt=/^([^-]+)-([^?]+)([?\S*]*)$/,Dvt=/^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/,Svt=/^[\x21-\x7E]+$/,ia=Ivt({algorithms:{default:["sha512"]},error:{default:!1},integrity:{},options:{default:[]},pickAlgorithm:{default:()=>Lvt},Promise:{default:()=>Promise},sep:{default:" "},single:{default:!1},size:{},strict:{default:!1}}),H0=class{get isHash(){return!0}constructor(e,r){r=ia(r);let o=!!r.strict;this.source=e.trim();let a=this.source.match(o?Dvt:Pvt);if(!a||o&&!fBe.some(u=>u===a[1]))return;this.algorithm=a[1],this.digest=a[2];let n=a[3];this.options=n?n.slice(1).split("?"):[]}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}toString(e){if(e=ia(e),e.strict&&!(fBe.some(o=>o===this.algorithm)&&this.digest.match(vvt)&&(this.options||[]).every(o=>o.match(Svt))))return"";let r=this.options&&this.options.length?`?${this.options.join("?")}`:"";return`${this.algorithm}-${this.digest}${r}`}},vm=class{get isIntegrity(){return!0}toJSON(){return this.toString()}toString(e){e=ia(e);let r=e.sep||" ";return e.strict&&(r=r.replace(/\S+/g," ")),Object.keys(this).map(o=>this[o].map(a=>H0.prototype.toString.call(a,e)).filter(a=>a.length).join(r)).filter(o=>o.length).join(r)}concat(e,r){r=ia(r);let o=typeof e=="string"?e:kv(e,r);return IA(`${this.toString(r)} ${o}`,r)}hexDigest(){return IA(this,{single:!0}).hexDigest()}match(e,r){r=ia(r);let o=IA(e,r),a=o.pickAlgorithm(r);return this[a]&&o[a]&&this[a].find(n=>o[a].find(u=>n.digest===u.digest))||!1}pickAlgorithm(e){e=ia(e);let r=e.pickAlgorithm,o=Object.keys(this);if(!o.length)throw new Error(`No algorithms available for ${JSON.stringify(this.toString())}`);return o.reduce((a,n)=>r(a,n)||a)}};BA.exports.parse=IA;function IA(t,e){if(e=ia(e),typeof t=="string")return pj(t,e);if(t.algorithm&&t.digest){let r=new vm;return r[t.algorithm]=[t],pj(kv(r,e),e)}else return pj(kv(t,e),e)}function pj(t,e){return e.single?new H0(t,e):t.trim().split(/\s+/).reduce((r,o)=>{let a=new H0(o,e);if(a.algorithm&&a.digest){let n=a.algorithm;r[n]||(r[n]=[]),r[n].push(a)}return r},new vm)}BA.exports.stringify=kv;function kv(t,e){return e=ia(e),t.algorithm&&t.digest?H0.prototype.toString.call(t,e):typeof t=="string"?kv(IA(t,e),e):vm.prototype.toString.call(t,e)}BA.exports.fromHex=bvt;function bvt(t,e,r){r=ia(r);let o=r.options&&r.options.length?`?${r.options.join("?")}`:"";return IA(`${e}-${Buffer.from(t,"hex").toString("base64")}${o}`,r)}BA.exports.fromData=xvt;function xvt(t,e){e=ia(e);let r=e.algorithms,o=e.options&&e.options.length?`?${e.options.join("?")}`:"";return r.reduce((a,n)=>{let u=Qv.createHash(n).update(t).digest("base64"),A=new H0(`${n}-${u}${o}`,e);if(A.algorithm&&A.digest){let p=A.algorithm;a[p]||(a[p]=[]),a[p].push(A)}return a},new vm)}BA.exports.fromStream=kvt;function kvt(t,e){e=ia(e);let r=e.Promise||Promise,o=hj(e);return new r((a,n)=>{t.pipe(o),t.on("error",n),o.on("error",n);let u;o.on("integrity",A=>{u=A}),o.on("end",()=>a(u)),o.on("data",()=>{})})}BA.exports.checkData=Qvt;function Qvt(t,e,r){if(r=ia(r),e=IA(e,r),!Object.keys(e).length){if(r.error)throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"});return!1}let o=e.pickAlgorithm(r),a=Qv.createHash(o).update(t).digest("base64"),n=IA({algorithm:o,digest:a}),u=n.match(e,r);if(u||!r.error)return u;if(typeof r.size=="number"&&t.length!==r.size){let A=new Error(`data size mismatch when checking ${e}. + Wanted: ${r.size} + Found: ${t.length}`);throw A.code="EBADSIZE",A.found=t.length,A.expected=r.size,A.sri=e,A}else{let A=new Error(`Integrity checksum failed when using ${o}: Wanted ${e}, but got ${n}. (${t.length} bytes)`);throw A.code="EINTEGRITY",A.found=n,A.expected=e,A.algorithm=o,A.sri=e,A}}BA.exports.checkStream=Rvt;function Rvt(t,e,r){r=ia(r);let o=r.Promise||Promise,a=hj(r.concat({integrity:e}));return new o((n,u)=>{t.pipe(a),t.on("error",u),a.on("error",u);let A;a.on("verified",p=>{A=p}),a.on("end",()=>n(A)),a.on("data",()=>{})})}BA.exports.integrityStream=hj;function hj(t){t=ia(t);let e=t.integrity&&IA(t.integrity,t),r=e&&Object.keys(e).length,o=r&&e.pickAlgorithm(t),a=r&&e[o],n=Array.from(new Set(t.algorithms.concat(o?[o]:[]))),u=n.map(Qv.createHash),A=0,p=new Bvt({transform(h,E,I){A+=h.length,u.forEach(v=>v.update(h,E)),I(null,h,E)}}).on("end",()=>{let h=t.options&&t.options.length?`?${t.options.join("?")}`:"",E=IA(u.map((v,x)=>`${n[x]}-${v.digest("base64")}${h}`).join(" "),t),I=r&&E.match(e,t);if(typeof t.size=="number"&&A!==t.size){let v=new Error(`stream size mismatch when checking ${e}. + Wanted: ${t.size} + Found: ${A}`);v.code="EBADSIZE",v.found=A,v.expected=t.size,v.sri=e,p.emit("error",v)}else if(t.integrity&&!I){let v=new Error(`${e} integrity checksum failed when using ${o}: wanted ${a} but got ${E}. (${A} bytes)`);v.code="EINTEGRITY",v.found=E,v.expected=a,v.algorithm=o,v.sri=e,p.emit("error",v)}else p.emit("size",A),p.emit("integrity",E),I&&p.emit("verified",I)});return p}BA.exports.create=Fvt;function Fvt(t){t=ia(t);let e=t.algorithms,r=t.options.length?`?${t.options.join("?")}`:"",o=e.map(Qv.createHash);return{update:function(a,n){return o.forEach(u=>u.update(a,n)),this},digest:function(a){return e.reduce((u,A)=>{let p=o.shift().digest("base64"),h=new H0(`${A}-${p}${r}`,t);if(h.algorithm&&h.digest){let E=h.algorithm;u[E]||(u[E]=[]),u[E].push(h)}return u},new vm)}}}var Tvt=new Set(Qv.getHashes()),pBe=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(t=>Tvt.has(t));function Lvt(t,e){return pBe.indexOf(t.toLowerCase())>=pBe.indexOf(e.toLowerCase())?t:e}});var GBe=_((pir,qBe)=>{var LPt=uN();function NPt(t){return LPt(t)?void 0:t}qBe.exports=NPt});var YBe=_((hir,jBe)=>{var OPt=qb(),MPt=x8(),UPt=F8(),_Pt=Gd(),HPt=md(),qPt=GBe(),GPt=v_(),jPt=b8(),YPt=1,WPt=2,KPt=4,zPt=GPt(function(t,e){var r={};if(t==null)return r;var o=!1;e=OPt(e,function(n){return n=_Pt(n,t),o||(o=n.length>1),n}),HPt(t,jPt(t),r),o&&(r=MPt(r,YPt|WPt|KPt,qPt));for(var a=e.length;a--;)UPt(r,e[a]);return r});jBe.exports=zPt});Dt();je();Dt();var VBe=ve("child_process"),XBe=Ze(rd());qt();var cC=new Map([]);var l2={};zt(l2,{BaseCommand:()=>ut,WorkspaceRequiredError:()=>sr,getCli:()=>ehe,getDynamicLibs:()=>$pe,getPluginConfiguration:()=>AC,openWorkspace:()=>uC,pluginCommands:()=>cC,runExit:()=>ik});qt();var ut=class extends it{constructor(){super(...arguments);this.cwd=ge.String("--cwd",{hidden:!0})}validateAndExecute(){if(typeof this.cwd<"u")throw new st("The --cwd option is ambiguous when used anywhere else than the very first parameter provided in the command line, before even the command path");return super.validateAndExecute()}};je();Dt();qt();var sr=class extends st{constructor(e,r){let o=z.relative(e,r),a=z.join(e,Ot.fileName);super(`This command can only be run from within a workspace of your project (${o} isn't a workspace of ${a}).`)}};je();Dt();iA();Nl();Q1();qt();var LAt=Ze(Vn());$a();var $pe=()=>new Map([["@yarnpkg/cli",l2],["@yarnpkg/core",a2],["@yarnpkg/fslib",Ww],["@yarnpkg/libzip",k1],["@yarnpkg/parsers",eI],["@yarnpkg/shell",L1],["clipanion",fI],["semver",LAt],["typanion",Ko]]);je();async function uC(t,e){let{project:r,workspace:o}=await St.find(t,e);if(!o)throw new sr(r.cwd,e);return o}je();Dt();iA();Nl();Q1();qt();var nDt=Ze(Vn());$a();var $8={};zt($8,{AddCommand:()=>Qh,BinCommand:()=>Rh,CacheCleanCommand:()=>Fh,ClipanionCommand:()=>Kd,ConfigCommand:()=>Oh,ConfigGetCommand:()=>Th,ConfigSetCommand:()=>Lh,ConfigUnsetCommand:()=>Nh,DedupeCommand:()=>Mh,EntryCommand:()=>gC,ExecCommand:()=>Uh,ExplainCommand:()=>qh,ExplainPeerRequirementsCommand:()=>_h,HelpCommand:()=>zd,InfoCommand:()=>Gh,LinkCommand:()=>Yh,NodeCommand:()=>Wh,PluginCheckCommand:()=>Kh,PluginImportCommand:()=>Vh,PluginImportSourcesCommand:()=>Xh,PluginListCommand:()=>zh,PluginRemoveCommand:()=>Zh,PluginRuntimeCommand:()=>$h,RebuildCommand:()=>e0,RemoveCommand:()=>t0,RunCommand:()=>r0,RunIndexCommand:()=>Xd,SetResolutionCommand:()=>n0,SetVersionCommand:()=>Hh,SetVersionSourcesCommand:()=>Jh,UnlinkCommand:()=>i0,UpCommand:()=>Jf,VersionCommand:()=>Jd,WhyCommand:()=>s0,WorkspaceCommand:()=>l0,WorkspacesListCommand:()=>a0,YarnCommand:()=>jh,dedupeUtils:()=>hk,default:()=>xgt,suggestUtils:()=>Xc});var Qde=Ze(rd());je();je();je();qt();var H0e=Ze(p2());$a();var Xc={};zt(Xc,{Modifier:()=>B8,Strategy:()=>Ak,Target:()=>h2,WorkspaceModifier:()=>N0e,applyModifier:()=>tpt,extractDescriptorFromPath:()=>v8,extractRangeModifier:()=>O0e,fetchDescriptorFrom:()=>P8,findProjectDescriptors:()=>_0e,getModifier:()=>g2,getSuggestedDescriptors:()=>d2,makeWorkspaceDescriptor:()=>U0e,toWorkspaceModifier:()=>M0e});je();je();Dt();var I8=Ze(Vn()),$ft="workspace:",h2=(o=>(o.REGULAR="dependencies",o.DEVELOPMENT="devDependencies",o.PEER="peerDependencies",o))(h2||{}),B8=(o=>(o.CARET="^",o.TILDE="~",o.EXACT="",o))(B8||{}),N0e=(o=>(o.CARET="^",o.TILDE="~",o.EXACT="*",o))(N0e||{}),Ak=(n=>(n.KEEP="keep",n.REUSE="reuse",n.PROJECT="project",n.LATEST="latest",n.CACHE="cache",n))(Ak||{});function g2(t,e){return t.exact?"":t.caret?"^":t.tilde?"~":e.configuration.get("defaultSemverRangePrefix")}var ept=/^([\^~]?)[0-9]+(?:\.[0-9]+){0,2}(?:-\S+)?$/;function O0e(t,{project:e}){let r=t.match(ept);return r?r[1]:e.configuration.get("defaultSemverRangePrefix")}function tpt(t,e){let{protocol:r,source:o,params:a,selector:n}=j.parseRange(t.range);return I8.default.valid(n)&&(n=`${e}${t.range}`),j.makeDescriptor(t,j.makeRange({protocol:r,source:o,params:a,selector:n}))}function M0e(t){switch(t){case"^":return"^";case"~":return"~";case"":return"*";default:throw new Error(`Assertion failed: Unknown modifier: "${t}"`)}}function U0e(t,e){return j.makeDescriptor(t.anchoredDescriptor,`${$ft}${M0e(e)}`)}async function _0e(t,{project:e,target:r}){let o=new Map,a=n=>{let u=o.get(n.descriptorHash);return u||o.set(n.descriptorHash,u={descriptor:n,locators:[]}),u};for(let n of e.workspaces)if(r==="peerDependencies"){let u=n.manifest.peerDependencies.get(t.identHash);u!==void 0&&a(u).locators.push(n.anchoredLocator)}else{let u=n.manifest.dependencies.get(t.identHash),A=n.manifest.devDependencies.get(t.identHash);r==="devDependencies"?A!==void 0?a(A).locators.push(n.anchoredLocator):u!==void 0&&a(u).locators.push(n.anchoredLocator):u!==void 0?a(u).locators.push(n.anchoredLocator):A!==void 0&&a(A).locators.push(n.anchoredLocator)}return o}async function v8(t,{cwd:e,workspace:r}){return await rpt(async o=>{z.isAbsolute(t)||(t=z.relative(r.cwd,z.resolve(e,t)),t.match(/^\.{0,2}\//)||(t=`./${t}`));let{project:a}=r,n=await P8(j.makeIdent(null,"archive"),t,{project:r.project,cache:o,workspace:r});if(!n)throw new Error("Assertion failed: The descriptor should have been found");let u=new Qi,A=a.configuration.makeResolver(),p=a.configuration.makeFetcher(),h={checksums:a.storedChecksums,project:a,cache:o,fetcher:p,report:u,resolver:A},E=A.bindDescriptor(n,r.anchoredLocator,h),I=j.convertDescriptorToLocator(E),v=await p.fetch(I,h),x=await Ot.find(v.prefixPath,{baseFs:v.packageFs});if(!x.name)throw new Error("Target path doesn't have a name");return j.makeDescriptor(x.name,t)})}async function d2(t,{project:e,workspace:r,cache:o,target:a,fixed:n,modifier:u,strategies:A,maxResults:p=1/0}){if(!(p>=0))throw new Error(`Invalid maxResults (${p})`);let[h,E]=t.range!=="unknown"?n||Lr.validRange(t.range)||!t.range.match(/^[a-z0-9._-]+$/i)?[t.range,"latest"]:["unknown",t.range]:["unknown","latest"];if(h!=="unknown")return{suggestions:[{descriptor:t,name:`Use ${j.prettyDescriptor(e.configuration,t)}`,reason:"(unambiguous explicit request)"}],rejections:[]};let I=typeof r<"u"&&r!==null&&r.manifest[a].get(t.identHash)||null,v=[],x=[],C=async F=>{try{await F()}catch(N){x.push(N)}};for(let F of A){if(v.length>=p)break;switch(F){case"keep":await C(async()=>{I&&v.push({descriptor:I,name:`Keep ${j.prettyDescriptor(e.configuration,I)}`,reason:"(no changes)"})});break;case"reuse":await C(async()=>{for(let{descriptor:N,locators:U}of(await _0e(t,{project:e,target:a})).values()){if(U.length===1&&U[0].locatorHash===r.anchoredLocator.locatorHash&&A.includes("keep"))continue;let J=`(originally used by ${j.prettyLocator(e.configuration,U[0])}`;J+=U.length>1?` and ${U.length-1} other${U.length>2?"s":""})`:")",v.push({descriptor:N,name:`Reuse ${j.prettyDescriptor(e.configuration,N)}`,reason:J})}});break;case"cache":await C(async()=>{for(let N of e.storedDescriptors.values())N.identHash===t.identHash&&v.push({descriptor:N,name:`Reuse ${j.prettyDescriptor(e.configuration,N)}`,reason:"(already used somewhere in the lockfile)"})});break;case"project":await C(async()=>{if(r.manifest.name!==null&&t.identHash===r.manifest.name.identHash)return;let N=e.tryWorkspaceByIdent(t);if(N===null)return;let U=U0e(N,u);v.push({descriptor:U,name:`Attach ${j.prettyDescriptor(e.configuration,U)}`,reason:`(local workspace at ${pe.pretty(e.configuration,N.relativeCwd,pe.Type.PATH)})`})});break;case"latest":{let N=e.configuration.get("enableNetwork"),U=e.configuration.get("enableOfflineMode");await C(async()=>{if(a==="peerDependencies")v.push({descriptor:j.makeDescriptor(t,"*"),name:"Use *",reason:"(catch-all peer dependency pattern)"});else if(!N&&!U)v.push({descriptor:null,name:"Resolve from latest",reason:pe.pretty(e.configuration,"(unavailable because enableNetwork is toggled off)","grey")});else{let J=await P8(t,E,{project:e,cache:o,workspace:r,modifier:u});J&&v.push({descriptor:J,name:`Use ${j.prettyDescriptor(e.configuration,J)}`,reason:`(resolved from ${U?"the cache":"latest"})`})}})}break}}return{suggestions:v.slice(0,p),rejections:x.slice(0,p)}}async function P8(t,e,{project:r,cache:o,workspace:a,preserveModifier:n=!0,modifier:u}){let A=r.configuration.normalizeDependency(j.makeDescriptor(t,e)),p=new Qi,h=r.configuration.makeFetcher(),E=r.configuration.makeResolver(),I={project:r,fetcher:h,cache:o,checksums:r.storedChecksums,report:p,cacheOptions:{skipIntegrityCheck:!0}},v={...I,resolver:E,fetchOptions:I},x=E.bindDescriptor(A,a.anchoredLocator,v),C=await E.getCandidates(x,{},v);if(C.length===0)return null;let F=C[0],{protocol:N,source:U,params:J,selector:te}=j.parseRange(j.convertToManifestRange(F.reference));if(N===r.configuration.get("defaultProtocol")&&(N=null),I8.default.valid(te)){let ae=te;if(typeof u<"u")te=u+te;else if(n!==!1){let we=typeof n=="string"?n:A.range;te=O0e(we,{project:r})+te}let le=j.makeDescriptor(F,j.makeRange({protocol:N,source:U,params:J,selector:te}));(await E.getCandidates(r.configuration.normalizeDependency(le),{},v)).length!==1&&(te=ae)}return j.makeDescriptor(F,j.makeRange({protocol:N,source:U,params:J,selector:te}))}async function rpt(t){return await oe.mktempPromise(async e=>{let r=Ke.create(e);return r.useWithSource(e,{enableMirror:!1,compressionLevel:0},e,{overwrite:!0}),await t(new Nr(e,{configuration:r,check:!1,immutable:!1}))})}var Qh=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.fixed=ge.Boolean("-F,--fixed",!1,{description:"Store dependency tags as-is instead of resolving them"});this.exact=ge.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=ge.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=ge.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.dev=ge.Boolean("-D,--dev",!1,{description:"Add a package as a dev dependency"});this.peer=ge.Boolean("-P,--peer",!1,{description:"Add a package as a peer dependency"});this.optional=ge.Boolean("-O,--optional",!1,{description:"Add / upgrade a package to an optional regular / peer dependency"});this.preferDev=ge.Boolean("--prefer-dev",!1,{description:"Add / upgrade a package to a dev dependency"});this.interactive=ge.Boolean("-i,--interactive",{description:"Reuse the specified package from other workspaces in the project"});this.cached=ge.Boolean("--cached",!1,{description:"Reuse the highest version already used somewhere within the project"});this.mode=ge.String("--mode",{description:"Change what artifacts installs generate",validator:Js(hl)});this.silent=ge.Boolean("--silent",{hidden:!0});this.packages=ge.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Nr.find(r);if(!a)throw new sr(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=this.fixed,A=this.interactive??r.get("preferInteractive"),p=A||r.get("preferReuse"),h=g2(this,o),E=[p?"reuse":void 0,"project",this.cached?"cache":void 0,"latest"].filter(U=>typeof U<"u"),I=A?1/0:1,v=await Promise.all(this.packages.map(async U=>{let J=U.match(/^\.{0,2}\//)?await v8(U,{cwd:this.context.cwd,workspace:a}):j.tryParseDescriptor(U),te=U.match(/^(https?:|git@github)/);if(te)throw new st(`It seems you are trying to add a package using a ${pe.pretty(r,`${te[0]}...`,pe.Type.RANGE)} url; we now require package names to be explicitly specified. +Try running the command again with the package name prefixed: ${pe.pretty(r,"yarn add",pe.Type.CODE)} ${pe.pretty(r,j.makeDescriptor(j.makeIdent(null,"my-package"),`${te[0]}...`),pe.Type.DESCRIPTOR)}`);if(!J)throw new st(`The ${pe.pretty(r,U,pe.Type.CODE)} string didn't match the required format (package-name@range). Did you perhaps forget to explicitly reference the package name?`);let ae=npt(a,J,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional});return await Promise.all(ae.map(async ce=>{let we=await d2(J,{project:o,workspace:a,cache:n,fixed:u,target:ce,modifier:h,strategies:E,maxResults:I});return{request:J,suggestedDescriptors:we,target:ce}}))})).then(U=>U.flat()),x=await fA.start({configuration:r,stdout:this.context.stdout,suggestInstall:!1},async U=>{for(let{request:J,suggestedDescriptors:{suggestions:te,rejections:ae}}of v)if(te.filter(ce=>ce.descriptor!==null).length===0){let[ce]=ae;if(typeof ce>"u")throw new Error("Assertion failed: Expected an error to have been set");o.configuration.get("enableNetwork")?U.reportError(27,`${j.prettyDescriptor(r,J)} can't be resolved to a satisfying range`):U.reportError(27,`${j.prettyDescriptor(r,J)} can't be resolved to a satisfying range (note: network resolution has been disabled)`),U.reportSeparator(),U.reportExceptionOnce(ce)}});if(x.hasErrors())return x.exitCode();let C=!1,F=[],N=[];for(let{suggestedDescriptors:{suggestions:U},target:J}of v){let te,ae=U.filter(de=>de.descriptor!==null),le=ae[0].descriptor,ce=ae.every(de=>j.areDescriptorsEqual(de.descriptor,le));ae.length===1||ce?te=le:(C=!0,{answer:te}=await(0,H0e.prompt)({type:"select",name:"answer",message:"Which range do you want to use?",choices:U.map(({descriptor:de,name:Be,reason:Ee})=>de?{name:Be,hint:Ee,descriptor:de}:{name:Be,hint:Ee,disabled:!0}),onCancel:()=>process.exit(130),result(de){return this.find(de,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let we=a.manifest[J].get(te.identHash);(typeof we>"u"||we.descriptorHash!==te.descriptorHash)&&(a.manifest[J].set(te.identHash,te),this.optional&&(J==="dependencies"?a.manifest.ensureDependencyMeta({...te,range:"unknown"}).optional=!0:J==="peerDependencies"&&(a.manifest.ensurePeerDependencyMeta({...te,range:"unknown"}).optional=!0)),typeof we>"u"?F.push([a,J,te,E]):N.push([a,J,we,te]))}return await r.triggerMultipleHooks(U=>U.afterWorkspaceDependencyAddition,F),await r.triggerMultipleHooks(U=>U.afterWorkspaceDependencyReplacement,N),C&&this.context.stdout.write(` +`),await o.installWithNewReport({json:this.json,stdout:this.context.stdout,quiet:this.context.quiet},{cache:n,mode:this.mode})}};Qh.paths=[["add"]],Qh.usage=it.Usage({description:"add dependencies to the project",details:"\n This command adds a package to the package.json for the nearest workspace.\n\n - If it didn't exist before, the package will by default be added to the regular `dependencies` field, but this behavior can be overriden thanks to the `-D,--dev` flag (which will cause the dependency to be added to the `devDependencies` field instead) and the `-P,--peer` flag (which will do the same but for `peerDependencies`).\n\n - If the package was already listed in your dependencies, it will by default be upgraded whether it's part of your `dependencies` or `devDependencies` (it won't ever update `peerDependencies`, though).\n\n - If set, the `--prefer-dev` flag will operate as a more flexible `-D,--dev` in that it will add the package to your `devDependencies` if it isn't already listed in either `dependencies` or `devDependencies`, but it will also happily upgrade your `dependencies` if that's what you already use (whereas `-D,--dev` would throw an exception).\n\n - If set, the `-O,--optional` flag will add the package to the `optionalDependencies` field and, in combination with the `-P,--peer` flag, it will add the package as an optional peer dependency. If the package was already listed in your `dependencies`, it will be upgraded to `optionalDependencies`. If the package was already listed in your `peerDependencies`, in combination with the `-P,--peer` flag, it will be upgraded to an optional peer dependency: `\"peerDependenciesMeta\": { \"\": { \"optional\": true } }`\n\n - If the added package doesn't specify a range at all its `latest` tag will be resolved and the returned version will be used to generate a new semver range (using the `^` modifier by default unless otherwise configured via the `defaultSemverRangePrefix` configuration, or the `~` modifier if `-T,--tilde` is specified, or no modifier at all if `-E,--exact` is specified). Two exceptions to this rule: the first one is that if the package is a workspace then its local version will be used, and the second one is that if you use `-P,--peer` the default range will be `*` and won't be resolved at all.\n\n - If the added package specifies a range (such as `^1.0.0`, `latest`, or `rc`), Yarn will add this range as-is in the resulting package.json entry (in particular, tags such as `rc` will be encoded as-is rather than being converted into a semver range).\n\n If the `--cached` option is used, Yarn will preferably reuse the highest version already used somewhere within the project, even if through a transitive dependency.\n\n If the `-i,--interactive` option is used (or if the `preferInteractive` settings is toggled on) the command will first try to check whether other workspaces in the project use the specified package and, if so, will offer to reuse them.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n For a compilation of all the supported protocols, please consult the dedicated page from our website: https://yarnpkg.com/protocols.\n ",examples:[["Add a regular package to the current workspace","$0 add lodash"],["Add a specific version for a package to the current workspace","$0 add lodash@1.2.3"],["Add a package from a GitHub repository (the master branch) to the current workspace using a URL","$0 add lodash@https://github.com/lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol","$0 add lodash@github:lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol (shorthand)","$0 add lodash@lodash/lodash"],["Add a package from a specific branch of a GitHub repository to the current workspace using the GitHub protocol (shorthand)","$0 add lodash-es@lodash/lodash#es"]]});function npt(t,e,{dev:r,peer:o,preferDev:a,optional:n}){let u=t.manifest["dependencies"].has(e.identHash),A=t.manifest["devDependencies"].has(e.identHash),p=t.manifest["peerDependencies"].has(e.identHash);if((r||o)&&u)throw new st(`Package "${j.prettyIdent(t.project.configuration,e)}" is already listed as a regular dependency - remove the -D,-P flags or remove it from your dependencies first`);if(!r&&!o&&p)throw new st(`Package "${j.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - use either of -D or -P, or remove it from your peer dependencies first`);if(n&&A)throw new st(`Package "${j.prettyIdent(t.project.configuration,e)}" is already listed as a dev dependency - remove the -O flag or remove it from your dev dependencies first`);if(n&&!o&&p)throw new st(`Package "${j.prettyIdent(t.project.configuration,e)}" is already listed as a peer dependency - remove the -O flag or add the -P flag or remove it from your peer dependencies first`);if((r||a)&&n)throw new st(`Package "${j.prettyIdent(t.project.configuration,e)}" cannot simultaneously be a dev dependency and an optional dependency`);let h=[];return o&&h.push("peerDependencies"),(r||a)&&h.push("devDependencies"),n&&h.push("dependencies"),h.length>0?h:A?["devDependencies"]:p?["peerDependencies"]:["dependencies"]}je();je();qt();var Rh=class extends ut{constructor(){super(...arguments);this.verbose=ge.Boolean("-v,--verbose",!1,{description:"Print both the binary name and the locator of the package that provides the binary"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.name=ge.String({required:!1})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,locator:a}=await St.find(r,this.context.cwd);if(await o.restoreInstallState(),this.name){let A=(await An.getPackageAccessibleBinaries(a,{project:o})).get(this.name);if(!A)throw new st(`Couldn't find a binary named "${this.name}" for package "${j.prettyLocator(r,a)}"`);let[,p]=A;return this.context.stdout.write(`${p} +`),0}return(await Ft.start({configuration:r,json:this.json,stdout:this.context.stdout},async u=>{let A=await An.getPackageAccessibleBinaries(a,{project:o}),h=Array.from(A.keys()).reduce((E,I)=>Math.max(E,I.length),0);for(let[E,[I,v]]of A)u.reportJson({name:E,source:j.stringifyIdent(I),path:v});if(this.verbose)for(let[E,[I]]of A)u.reportInfo(null,`${E.padEnd(h," ")} ${j.prettyLocator(r,I)}`);else for(let E of A.keys())u.reportInfo(null,E)})).exitCode()}};Rh.paths=[["bin"]],Rh.usage=it.Usage({description:"get the path to a binary script",details:` + When used without arguments, this command will print the list of all the binaries available in the current workspace. Adding the \`-v,--verbose\` flag will cause the output to contain both the binary name and the locator of the package that provides the binary. + + When an argument is specified, this command will just print the path to the binary on the standard output and exit. Note that the reported path may be stored within a zip archive. + `,examples:[["List all the available binaries","$0 bin"],["Print the path to a specific binary","$0 bin eslint"]]});je();Dt();qt();var Fh=class extends ut{constructor(){super(...arguments);this.mirror=ge.Boolean("--mirror",!1,{description:"Remove the global cache files instead of the local cache files"});this.all=ge.Boolean("--all",!1,{description:"Remove both the global cache files and the local cache files of the current project"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o=await Nr.find(r);return(await Ft.start({configuration:r,stdout:this.context.stdout},async()=>{let n=(this.all||this.mirror)&&o.mirrorCwd!==null,u=!this.mirror;n&&(await oe.removePromise(o.mirrorCwd),await r.triggerHook(A=>A.cleanGlobalArtifacts,r)),u&&await oe.removePromise(o.cwd)})).exitCode()}};Fh.paths=[["cache","clean"],["cache","clear"]],Fh.usage=it.Usage({description:"remove the shared cache files",details:` + This command will remove all the files from the cache. + `,examples:[["Remove all the local archives","$0 cache clean"],["Remove all the archives stored in the ~/.yarn directory","$0 cache clean --mirror"]]});je();qt();var G0e=Ze(m2()),D8=ve("util"),Th=class extends ut{constructor(){super(...arguments);this.why=ge.Boolean("--why",!1,{description:"Print the explanation for why a setting has its value"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.unsafe=ge.Boolean("--no-redacted",!1,{description:"Don't redact secrets (such as tokens) from the output"});this.name=ge.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o=this.name.replace(/[.[].*$/,""),a=this.name.replace(/^[^.[]*/,"");if(typeof r.settings.get(o)>"u")throw new st(`Couldn't find a configuration settings named "${o}"`);let u=r.getSpecial(o,{hideSecrets:!this.unsafe,getNativePaths:!0}),A=He.convertMapsToIndexableObjects(u),p=a?(0,G0e.default)(A,a):A,h=await Ft.start({configuration:r,includeFooter:!1,json:this.json,stdout:this.context.stdout},async E=>{E.reportJson(p)});if(!this.json){if(typeof p=="string")return this.context.stdout.write(`${p} +`),h.exitCode();D8.inspect.styles.name="cyan",this.context.stdout.write(`${(0,D8.inspect)(p,{depth:1/0,colors:r.get("enableColors"),compact:!1})} +`)}return h.exitCode()}};Th.paths=[["config","get"]],Th.usage=it.Usage({description:"read a configuration settings",details:` + This command will print a configuration setting. + + Secrets (such as tokens) will be redacted from the output by default. If this behavior isn't desired, set the \`--no-redacted\` to get the untransformed value. + `,examples:[["Print a simple configuration setting","yarn config get yarnPath"],["Print a complex configuration setting","yarn config get packageExtensions"],["Print a nested field from the configuration",`yarn config get 'npmScopes["my-company"].npmRegistryServer'`],["Print a token from the configuration","yarn config get npmAuthToken --no-redacted"],["Print a configuration setting as JSON","yarn config get packageExtensions --json"]]});je();qt();var Fge=Ze(k8()),Tge=Ze(m2()),Lge=Ze(Q8()),R8=ve("util"),Lh=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Set complex configuration settings to JSON values"});this.home=ge.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=ge.String();this.value=ge.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o=()=>{if(!r.projectCwd)throw new st("This command must be run from within a project folder");return r.projectCwd},a=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof r.settings.get(a)>"u")throw new st(`Couldn't find a configuration settings named "${a}"`);if(a==="enableStrictSettings")throw new st("This setting only affects the file it's in, and thus cannot be set from the CLI");let A=this.json?JSON.parse(this.value):this.value;await(this.home?C=>Ke.updateHomeConfiguration(C):C=>Ke.updateConfiguration(o(),C))(C=>{if(n){let F=(0,Fge.default)(C);return(0,Lge.default)(F,this.name,A),F}else return{...C,[a]:A}});let E=(await Ke.find(this.context.cwd,this.context.plugins)).getSpecial(a,{hideSecrets:!0,getNativePaths:!0}),I=He.convertMapsToIndexableObjects(E),v=n?(0,Tge.default)(I,n):I;return(await Ft.start({configuration:r,includeFooter:!1,stdout:this.context.stdout},async C=>{R8.inspect.styles.name="cyan",C.reportInfo(0,`Successfully set ${this.name} to ${(0,R8.inspect)(v,{depth:1/0,colors:r.get("enableColors"),compact:!1})}`)})).exitCode()}};Lh.paths=[["config","set"]],Lh.usage=it.Usage({description:"change a configuration settings",details:` + This command will set a configuration setting. + + When used without the \`--json\` flag, it can only set a simple configuration setting (a string, a number, or a boolean). + + When used with the \`--json\` flag, it can set both simple and complex configuration settings, including Arrays and Objects. + `,examples:[["Set a simple configuration setting (a string, a number, or a boolean)","yarn config set initScope myScope"],["Set a simple configuration setting (a string, a number, or a boolean) using the `--json` flag",'yarn config set initScope --json \\"myScope\\"'],["Set a complex configuration setting (an Array) using the `--json` flag",`yarn config set unsafeHttpWhitelist --json '["*.example.com", "example.com"]'`],["Set a complex configuration setting (an Object) using the `--json` flag",`yarn config set packageExtensions --json '{ "@babel/parser@*": { "dependencies": { "@babel/types": "*" } } }'`],["Set a nested configuration setting",'yarn config set npmScopes.company.npmRegistryServer "https://npm.example.com"'],["Set a nested configuration setting using indexed access for non-simple keys",`yarn config set 'npmRegistries["//npm.example.com"].npmAuthToken' "ffffffff-ffff-ffff-ffff-ffffffffffff"`]]});je();qt();var Wge=Ze(k8()),Kge=Ze(Uge()),zge=Ze(T8()),Nh=class extends ut{constructor(){super(...arguments);this.home=ge.Boolean("-H,--home",!1,{description:"Update the home configuration instead of the project configuration"});this.name=ge.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o=()=>{if(!r.projectCwd)throw new st("This command must be run from within a project folder");return r.projectCwd},a=this.name.replace(/[.[].*$/,""),n=this.name.replace(/^[^.[]*\.?/,"");if(typeof r.settings.get(a)>"u")throw new st(`Couldn't find a configuration settings named "${a}"`);let A=this.home?h=>Ke.updateHomeConfiguration(h):h=>Ke.updateConfiguration(o(),h);return(await Ft.start({configuration:r,includeFooter:!1,stdout:this.context.stdout},async h=>{let E=!1;await A(I=>{if(!(0,Kge.default)(I,this.name))return h.reportWarning(0,`Configuration doesn't contain setting ${this.name}; there is nothing to unset`),E=!0,I;let v=n?(0,Wge.default)(I):{...I};return(0,zge.default)(v,this.name),v}),E||h.reportInfo(0,`Successfully unset ${this.name}`)})).exitCode()}};Nh.paths=[["config","unset"]],Nh.usage=it.Usage({description:"unset a configuration setting",details:` + This command will unset a configuration setting. + `,examples:[["Unset a simple configuration setting","yarn config unset initScope"],["Unset a complex configuration setting","yarn config unset packageExtensions"],["Unset a nested configuration setting","yarn config unset npmScopes.company.npmRegistryServer"]]});je();Dt();qt();var pk=ve("util"),Oh=class extends ut{constructor(){super(...arguments);this.noDefaults=ge.Boolean("--no-defaults",!1,{description:"Omit the default values from the display"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.verbose=ge.Boolean("-v,--verbose",{hidden:!0});this.why=ge.Boolean("--why",{hidden:!0});this.names=ge.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins,{strict:!1}),o=await TE({configuration:r,stdout:this.context.stdout,forceError:this.json},[{option:this.verbose,message:"The --verbose option is deprecated, the settings' descriptions are now always displayed"},{option:this.why,message:"The --why option is deprecated, the settings' sources are now always displayed"}]);if(o!==null)return o;let a=this.names.length>0?[...new Set(this.names)].sort():[...r.settings.keys()].sort(),n,u=await Ft.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async A=>{if(r.invalid.size>0&&!this.json){for(let[p,h]of r.invalid)A.reportError(34,`Invalid configuration key "${p}" in ${h}`);A.reportSeparator()}if(this.json)for(let p of a){let h=r.settings.get(p);typeof h>"u"&&A.reportError(34,`No configuration key named "${p}"`);let E=r.getSpecial(p,{hideSecrets:!0,getNativePaths:!0}),I=r.sources.get(p)??"",v=I&&I[0]!=="<"?ue.fromPortablePath(I):I;A.reportJson({key:p,effective:E,source:v,...h})}else{let p={breakLength:1/0,colors:r.get("enableColors"),maxArrayLength:2},h={},E={children:h};for(let I of a){if(this.noDefaults&&!r.sources.has(I))continue;let v=r.settings.get(I),x=r.sources.get(I)??"",C=r.getSpecial(I,{hideSecrets:!0,getNativePaths:!0}),F={Description:{label:"Description",value:pe.tuple(pe.Type.MARKDOWN,{text:v.description,format:this.cli.format(),paragraphs:!1})},Source:{label:"Source",value:pe.tuple(x[0]==="<"?pe.Type.CODE:pe.Type.PATH,x)}};h[I]={value:pe.tuple(pe.Type.CODE,I),children:F};let N=(U,J)=>{for(let[te,ae]of J)if(ae instanceof Map){let le={};U[te]={children:le},N(le,ae)}else U[te]={label:te,value:pe.tuple(pe.Type.NO_HINT,(0,pk.inspect)(ae,p))}};C instanceof Map?N(F,C):F.Value={label:"Value",value:pe.tuple(pe.Type.NO_HINT,(0,pk.inspect)(C,p))}}a.length!==1&&(n=void 0),fs.emitTree(E,{configuration:r,json:this.json,stdout:this.context.stdout,separators:2})}});if(!this.json&&typeof n<"u"){let A=a[0],p=(0,pk.inspect)(r.getSpecial(A,{hideSecrets:!0,getNativePaths:!0}),{colors:r.get("enableColors")});this.context.stdout.write(` +`),this.context.stdout.write(`${p} +`)}return u.exitCode()}};Oh.paths=[["config"]],Oh.usage=it.Usage({description:"display the current configuration",details:` + This command prints the current active configuration settings. + `,examples:[["Print the active configuration settings","$0 config"]]});je();qt();$a();var hk={};zt(hk,{Strategy:()=>y2,acceptedStrategies:()=>U0t,dedupe:()=>L8});je();je();var Jge=Ze(Xo()),y2=(e=>(e.HIGHEST="highest",e))(y2||{}),U0t=new Set(Object.values(y2)),_0t={highest:async(t,e,{resolver:r,fetcher:o,resolveOptions:a,fetchOptions:n})=>{let u=new Map;for(let[p,h]of t.storedResolutions){let E=t.storedDescriptors.get(p);if(typeof E>"u")throw new Error(`Assertion failed: The descriptor (${p}) should have been registered`);He.getSetWithDefault(u,E.identHash).add(h)}let A=new Map(He.mapAndFilter(t.storedDescriptors.values(),p=>j.isVirtualDescriptor(p)?He.mapAndFilter.skip:[p.descriptorHash,He.makeDeferred()]));for(let p of t.storedDescriptors.values()){let h=A.get(p.descriptorHash);if(typeof h>"u")throw new Error(`Assertion failed: The descriptor (${p.descriptorHash}) should have been registered`);let E=t.storedResolutions.get(p.descriptorHash);if(typeof E>"u")throw new Error(`Assertion failed: The resolution (${p.descriptorHash}) should have been registered`);let I=t.originalPackages.get(E);if(typeof I>"u")throw new Error(`Assertion failed: The package (${E}) should have been registered`);Promise.resolve().then(async()=>{let v=r.getResolutionDependencies(p,a),x=Object.fromEntries(await He.allSettledSafe(Object.entries(v).map(async([te,ae])=>{let le=A.get(ae.descriptorHash);if(typeof le>"u")throw new Error(`Assertion failed: The descriptor (${ae.descriptorHash}) should have been registered`);let ce=await le.promise;if(!ce)throw new Error("Assertion failed: Expected the dependency to have been through the dedupe process itself");return[te,ce.updatedPackage]})));if(e.length&&!Jge.default.isMatch(j.stringifyIdent(p),e)||!r.shouldPersistResolution(I,a))return I;let C=u.get(p.identHash);if(typeof C>"u")throw new Error(`Assertion failed: The resolutions (${p.identHash}) should have been registered`);if(C.size===1)return I;let F=[...C].map(te=>{let ae=t.originalPackages.get(te);if(typeof ae>"u")throw new Error(`Assertion failed: The package (${te}) should have been registered`);return ae}),N=await r.getSatisfying(p,x,F,a),U=N.locators?.[0];if(typeof U>"u"||!N.sorted)return I;let J=t.originalPackages.get(U.locatorHash);if(typeof J>"u")throw new Error(`Assertion failed: The package (${U.locatorHash}) should have been registered`);return J}).then(async v=>{let x=await t.preparePackage(v,{resolver:r,resolveOptions:a});h.resolve({descriptor:p,currentPackage:I,updatedPackage:v,resolvedPackage:x})}).catch(v=>{h.reject(v)})}return[...A.values()].map(p=>p.promise)}};async function L8(t,{strategy:e,patterns:r,cache:o,report:a}){let{configuration:n}=t,u=new Qi,A=n.makeResolver(),p=n.makeFetcher(),h={cache:o,checksums:t.storedChecksums,fetcher:p,project:t,report:u,cacheOptions:{skipIntegrityCheck:!0}},E={project:t,resolver:A,report:u,fetchOptions:h};return await a.startTimerPromise("Deduplication step",async()=>{let I=_0t[e],v=await I(t,r,{resolver:A,resolveOptions:E,fetcher:p,fetchOptions:h}),x=Xs.progressViaCounter(v.length);await a.reportProgress(x);let C=0;await Promise.all(v.map(U=>U.then(J=>{if(J===null||J.currentPackage.locatorHash===J.updatedPackage.locatorHash)return;C++;let{descriptor:te,currentPackage:ae,updatedPackage:le}=J;a.reportInfo(0,`${j.prettyDescriptor(n,te)} can be deduped from ${j.prettyLocator(n,ae)} to ${j.prettyLocator(n,le)}`),a.reportJson({descriptor:j.stringifyDescriptor(te),currentResolution:j.stringifyLocator(ae),updatedResolution:j.stringifyLocator(le)}),t.storedResolutions.set(te.descriptorHash,le.locatorHash)}).finally(()=>x.tick())));let F;switch(C){case 0:F="No packages";break;case 1:F="One package";break;default:F=`${C} packages`}let N=pe.pretty(n,e,pe.Type.CODE);return a.reportInfo(0,`${F} can be deduped using the ${N} strategy`),C})}var Mh=class extends ut{constructor(){super(...arguments);this.strategy=ge.String("-s,--strategy","highest",{description:"The strategy to use when deduping dependencies",validator:Js(y2)});this.check=ge.Boolean("-c,--check",!1,{description:"Exit with exit code 1 when duplicates are found, without persisting the dependency tree"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.mode=ge.String("--mode",{description:"Change what artifacts installs generate",validator:Js(hl)});this.patterns=ge.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd),a=await Nr.find(r);await o.restoreInstallState({restoreResolutions:!1});let n=0,u=await Ft.start({configuration:r,includeFooter:!1,stdout:this.context.stdout,json:this.json},async A=>{n=await L8(o,{strategy:this.strategy,patterns:this.patterns,cache:a,report:A})});return u.hasErrors()?u.exitCode():this.check?n?1:0:await o.installWithNewReport({json:this.json,stdout:this.context.stdout},{cache:a,mode:this.mode})}};Mh.paths=[["dedupe"]],Mh.usage=it.Usage({description:"deduplicate dependencies with overlapping ranges",details:"\n Duplicates are defined as descriptors with overlapping ranges being resolved and locked to different locators. They are a natural consequence of Yarn's deterministic installs, but they can sometimes pile up and unnecessarily increase the size of your project.\n\n This command dedupes dependencies in the current project using different strategies (only one is implemented at the moment):\n\n - `highest`: Reuses (where possible) the locators with the highest versions. This means that dependencies can only be upgraded, never downgraded. It's also guaranteed that it never takes more than a single pass to dedupe the entire dependency tree.\n\n **Note:** Even though it never produces a wrong dependency tree, this command should be used with caution, as it modifies the dependency tree, which can sometimes cause problems when packages don't strictly follow semver recommendations. Because of this, it is recommended to also review the changes manually.\n\n If set, the `-c,--check` flag will only report the found duplicates, without persisting the modified dependency tree. If changes are found, the command will exit with a non-zero exit code, making it suitable for CI purposes.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n ### In-depth explanation:\n\n Yarn doesn't deduplicate dependencies by default, otherwise installs wouldn't be deterministic and the lockfile would be useless. What it actually does is that it tries to not duplicate dependencies in the first place.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@*`will cause Yarn to reuse `foo@2.3.4`, even if the latest `foo` is actually `foo@2.10.14`, thus preventing unnecessary duplication.\n\n Duplication happens when Yarn can't unlock dependencies that have already been locked inside the lockfile.\n\n **Example:** If `foo@^2.3.4` (a dependency of a dependency) has already been resolved to `foo@2.3.4`, running `yarn add foo@2.10.14` will cause Yarn to install `foo@2.10.14` because the existing resolution doesn't satisfy the range `2.10.14`. This behavior can lead to (sometimes) unwanted duplication, since now the lockfile contains 2 separate resolutions for the 2 `foo` descriptors, even though they have overlapping ranges, which means that the lockfile can be simplified so that both descriptors resolve to `foo@2.10.14`.\n ",examples:[["Dedupe all packages","$0 dedupe"],["Dedupe all packages using a specific strategy","$0 dedupe --strategy highest"],["Dedupe a specific package","$0 dedupe lodash"],["Dedupe all packages with the `@babel/*` scope","$0 dedupe '@babel/*'"],["Check for duplicates (can be used as a CI step)","$0 dedupe --check"]]});je();qt();var Kd=class extends ut{async execute(){let{plugins:e}=await Ke.find(this.context.cwd,this.context.plugins),r=[];for(let u of e){let{commands:A}=u[1];if(A){let h=ls.from(A).definitions();r.push([u[0],h])}}let o=this.cli.definitions(),a=(u,A)=>u.split(" ").slice(1).join()===A.split(" ").slice(1).join(),n=Vge()["@yarnpkg/builder"].bundles.standard;for(let u of r){let A=u[1];for(let p of A)o.find(h=>a(h.path,p.path)).plugin={name:u[0],isDefault:n.includes(u[0])}}this.context.stdout.write(`${JSON.stringify(o,null,2)} +`)}};Kd.paths=[["--clipanion=definitions"]];var zd=class extends ut{async execute(){this.context.stdout.write(this.cli.usage(null))}};zd.paths=[["help"],["--help"],["-h"]];je();Dt();qt();var gC=class extends ut{constructor(){super(...arguments);this.leadingArgument=ge.String();this.args=ge.Proxy()}async execute(){if(this.leadingArgument.match(/[\\/]/)&&!j.tryParseIdent(this.leadingArgument)){let r=z.resolve(this.context.cwd,ue.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:r})}else return await this.cli.run(["run",this.leadingArgument,...this.args])}};je();var Jd=class extends ut{async execute(){this.context.stdout.write(`${nn||""} +`)}};Jd.paths=[["-v"],["--version"]];je();je();qt();var Uh=class extends ut{constructor(){super(...arguments);this.commandName=ge.String();this.args=ge.Proxy()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,locator:a}=await St.find(r,this.context.cwd);return await o.restoreInstallState(),await An.executePackageShellcode(a,this.commandName,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,project:o})}};Uh.paths=[["exec"]],Uh.usage=it.Usage({description:"execute a shell script",details:` + This command simply executes a shell script within the context of the root directory of the active workspace using the portable shell. + + It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). + `,examples:[["Execute a single shell command","$0 exec echo Hello World"],["Execute a shell script",'$0 exec "tsc & babel src --out-dir lib"']]});je();qt();$a();var _h=class extends ut{constructor(){super(...arguments);this.hash=ge.String({required:!1,validator:aD(Ey(),[iI(/^p[0-9a-f]{5}$/)])})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd);return await o.restoreInstallState({restoreResolutions:!1}),await o.applyLightResolution(),typeof this.hash<"u"?await q0t(this.hash,o,{stdout:this.context.stdout}):await G0t(o,{stdout:this.context.stdout})}};_h.paths=[["explain","peer-requirements"]],_h.usage=it.Usage({description:"explain a set of peer requirements",details:` + A peer requirement represents all peer requests that a subject must satisfy when providing a requested package to requesters. + + When the hash argument is specified, this command prints a detailed explanation of the peer requirement corresponding to the hash and whether it is satisfied or not. + + When used without arguments, this command lists all peer requirements and the corresponding hash that can be used to get detailed information about a given requirement. + + **Note:** A hash is a six-letter p-prefixed code that can be obtained from peer dependency warnings or from the list of all peer requirements (\`yarn explain peer-requirements\`). + `,examples:[["Explain the corresponding peer requirement for a hash","$0 explain peer-requirements p1a4ed"],["List all peer requirements","$0 explain peer-requirements"]]});async function q0t(t,e,r){let o=e.peerRequirementNodes.get(t);if(typeof o>"u")throw new Error(`No peerDependency requirements found for hash: "${t}"`);let a=new Set,n=p=>a.has(p.requester.locatorHash)?{value:pe.tuple(pe.Type.DEPENDENT,{locator:p.requester,descriptor:p.descriptor}),children:p.children.size>0?[{value:pe.tuple(pe.Type.NO_HINT,"...")}]:[]}:(a.add(p.requester.locatorHash),{value:pe.tuple(pe.Type.DEPENDENT,{locator:p.requester,descriptor:p.descriptor}),children:Object.fromEntries(Array.from(p.children.values(),h=>[j.stringifyLocator(h.requester),n(h)]))}),u=e.peerWarnings.find(p=>p.hash===t);return(await Ft.start({configuration:e.configuration,stdout:r.stdout,includeFooter:!1,includePrefix:!1},async p=>{let h=pe.mark(e.configuration),E=u?h.Cross:h.Check;if(p.reportInfo(0,`Package ${pe.pretty(e.configuration,o.subject,pe.Type.LOCATOR)} is requested to provide ${pe.pretty(e.configuration,o.ident,pe.Type.IDENT)} by its descendants`),p.reportSeparator(),p.reportInfo(0,pe.pretty(e.configuration,o.subject,pe.Type.LOCATOR)),fs.emitTree({children:Object.fromEntries(Array.from(o.requests.values(),I=>[j.stringifyLocator(I.requester),n(I)]))},{configuration:e.configuration,stdout:r.stdout,json:!1}),p.reportSeparator(),o.provided.range==="missing:"){let I=u?"":" , but all peer requests are optional";p.reportInfo(0,`${E} Package ${pe.pretty(e.configuration,o.subject,pe.Type.LOCATOR)} does not provide ${pe.pretty(e.configuration,o.ident,pe.Type.IDENT)}${I}.`)}else{let I=e.storedResolutions.get(o.provided.descriptorHash);if(!I)throw new Error("Assertion failed: Expected the descriptor to be registered");let v=e.storedPackages.get(I);if(!v)throw new Error("Assertion failed: Expected the package to be registered");p.reportInfo(0,`${E} Package ${pe.pretty(e.configuration,o.subject,pe.Type.LOCATOR)} provides ${pe.pretty(e.configuration,o.ident,pe.Type.IDENT)} with version ${j.prettyReference(e.configuration,v.version??"0.0.0")}, ${u?"which does not satisfy all requests.":"which satisfies all requests"}`),u?.type===3&&(u.range?p.reportInfo(0,` The combined requested range is ${pe.pretty(e.configuration,u.range,pe.Type.RANGE)}`):p.reportInfo(0," Unfortunately, the requested ranges have no overlap"))}})).exitCode()}async function G0t(t,e){return(await Ft.start({configuration:t.configuration,stdout:e.stdout,includeFooter:!1,includePrefix:!1},async o=>{let a=pe.mark(t.configuration),n=He.sortMap(t.peerRequirementNodes,[([,u])=>j.stringifyLocator(u.subject),([,u])=>j.stringifyIdent(u.ident)]);for(let[,u]of n.values()){if(!u.root)continue;let A=t.peerWarnings.find(E=>E.hash===u.hash),p=[...j.allPeerRequests(u)],h;if(p.length>2?h=` and ${p.length-1} other dependencies`:p.length===2?h=" and 1 other dependency":h="",u.provided.range!=="missing:"){let E=t.storedResolutions.get(u.provided.descriptorHash);if(!E)throw new Error("Assertion failed: Expected the resolution to have been registered");let I=t.storedPackages.get(E);if(!I)throw new Error("Assertion failed: Expected the provided package to have been registered");let v=`${pe.pretty(t.configuration,u.hash,pe.Type.CODE)} \u2192 ${A?a.Cross:a.Check} ${j.prettyLocator(t.configuration,u.subject)} provides ${j.prettyLocator(t.configuration,I)} to ${j.prettyLocator(t.configuration,p[0].requester)}${h}`;A?o.reportWarning(0,v):o.reportInfo(0,v)}else{let E=`${pe.pretty(t.configuration,u.hash,pe.Type.CODE)} \u2192 ${A?a.Cross:a.Check} ${j.prettyLocator(t.configuration,u.subject)} doesn't provide ${j.prettyIdent(t.configuration,u.ident)} to ${j.prettyLocator(t.configuration,p[0].requester)}${h}`;A?o.reportWarning(0,E):o.reportInfo(0,E)}}})).exitCode()}je();qt();$a();je();je();Dt();qt();var Xge=Ze(Vn()),Hh=class extends ut{constructor(){super(...arguments);this.useYarnPath=ge.Boolean("--yarn-path",{description:"Set the yarnPath setting even if the version can be accessed by Corepack"});this.onlyIfNeeded=ge.Boolean("--only-if-needed",!1,{description:"Only lock the Yarn version if it isn't already locked"});this.version=ge.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins);if(this.onlyIfNeeded&&r.get("yarnPath")){let A=r.sources.get("yarnPath");if(!A)throw new Error("Assertion failed: Expected 'yarnPath' to have a source");let p=r.projectCwd??r.startingCwd;if(z.contains(p,A))return 0}let o=()=>{if(typeof nn>"u")throw new st("The --install flag can only be used without explicit version specifier from the Yarn CLI");return`file://${process.argv[1]}`},a,n=(A,p)=>({version:p,url:A.replace(/\{\}/g,p)});if(this.version==="self")a={url:o(),version:nn??"self"};else if(this.version==="latest"||this.version==="berry"||this.version==="stable")a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",await E2(r,"stable"));else if(this.version==="canary")a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",await E2(r,"canary"));else if(this.version==="classic")a={url:"https://classic.yarnpkg.com/latest.js",version:"classic"};else if(this.version.match(/^https?:/))a={url:this.version,version:"remote"};else if(this.version.match(/^\.{0,2}[\\/]/)||ue.isAbsolute(this.version))a={url:`file://${z.resolve(ue.toPortablePath(this.version))}`,version:"file"};else if(Lr.satisfiesWithPrereleases(this.version,">=2.0.0"))a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",this.version);else if(Lr.satisfiesWithPrereleases(this.version,"^0.x || ^1.x"))a=n("https://github.com/yarnpkg/yarn/releases/download/v{}/yarn-{}.js",this.version);else if(Lr.validRange(this.version))a=n("https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",await j0t(r,this.version));else throw new st(`Invalid version descriptor "${this.version}"`);return(await Ft.start({configuration:r,stdout:this.context.stdout,includeLogs:!this.context.quiet},async A=>{let p=async()=>{let h="file://";return a.url.startsWith(h)?(A.reportInfo(0,`Retrieving ${pe.pretty(r,a.url,pe.Type.PATH)}`),await oe.readFilePromise(a.url.slice(h.length))):(A.reportInfo(0,`Downloading ${pe.pretty(r,a.url,pe.Type.URL)}`),await sn.get(a.url,{configuration:r}))};await N8(r,a.version,p,{report:A,useYarnPath:this.useYarnPath})})).exitCode()}};Hh.paths=[["set","version"]],Hh.usage=it.Usage({description:"lock the Yarn version used by the project",details:"\n This command will set a specific release of Yarn to be used by Corepack: https://nodejs.org/api/corepack.html.\n\n By default it only will set the `packageManager` field at the root of your project, but if the referenced release cannot be represented this way, if you already have `yarnPath` configured, or if you set the `--yarn-path` command line flag, then the release will also be downloaded from the Yarn GitHub repository, stored inside your project, and referenced via the `yarnPath` settings from your project `.yarnrc.yml` file.\n\n A very good use case for this command is to enforce the version of Yarn used by any single member of your team inside the same project - by doing this you ensure that you have control over Yarn upgrades and downgrades (including on your deployment servers), and get rid of most of the headaches related to someone using a slightly different version and getting different behavior.\n\n The version specifier can be:\n\n - a tag:\n - `latest` / `berry` / `stable` -> the most recent stable berry (`>=2.0.0`) release\n - `canary` -> the most recent canary (release candidate) berry (`>=2.0.0`) release\n - `classic` -> the most recent classic (`^0.x || ^1.x`) release\n\n - a semver range (e.g. `2.x`) -> the most recent version satisfying the range (limited to berry releases)\n\n - a semver version (e.g. `2.4.1`, `1.22.1`)\n\n - a local file referenced through either a relative or absolute path\n\n - `self` -> the version used to invoke the command\n ",examples:[["Download the latest release from the Yarn repository","$0 set version latest"],["Download the latest canary release from the Yarn repository","$0 set version canary"],["Download the latest classic release from the Yarn repository","$0 set version classic"],["Download the most recent Yarn 3 build","$0 set version 3.x"],["Download a specific Yarn 2 build","$0 set version 2.0.0-rc.30"],["Switch back to a specific Yarn 1 release","$0 set version 1.22.1"],["Use a release from the local filesystem","$0 set version ./yarn.cjs"],["Use a release from a URL","$0 set version https://repo.yarnpkg.com/3.1.0/packages/yarnpkg-cli/bin/yarn.js"],["Download the version used to invoke the command","$0 set version self"]]});async function j0t(t,e){let o=(await sn.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0})).tags.filter(a=>Lr.satisfiesWithPrereleases(a,e));if(o.length===0)throw new st(`No matching release found for range ${pe.pretty(t,e,pe.Type.RANGE)}.`);return o[0]}async function E2(t,e){let r=await sn.get("https://repo.yarnpkg.com/tags",{configuration:t,jsonResponse:!0});if(!r.latest[e])throw new st(`Tag ${pe.pretty(t,e,pe.Type.RANGE)} not found`);return r.latest[e]}async function N8(t,e,r,{report:o,useYarnPath:a}){let n,u=async()=>(typeof n>"u"&&(n=await r()),n);if(e===null){let te=await u();await oe.mktempPromise(async ae=>{let le=z.join(ae,"yarn.cjs");await oe.writeFilePromise(le,te);let{stdout:ce}=await Ur.execvp(process.execPath,[ue.fromPortablePath(le),"--version"],{cwd:ae,env:{...t.env,YARN_IGNORE_PATH:"1"}});if(e=ce.trim(),!Xge.default.valid(e))throw new Error(`Invalid semver version. ${pe.pretty(t,"yarn --version",pe.Type.CODE)} returned: +${e}`)})}let A=t.projectCwd??t.startingCwd,p=z.resolve(A,".yarn/releases"),h=z.resolve(p,`yarn-${e}.cjs`),E=z.relative(t.startingCwd,h),I=He.isTaggedYarnVersion(e),v=t.get("yarnPath"),x=!I,C=x||!!v||!!a;if(a===!1){if(x)throw new Vt(0,"You explicitly opted out of yarnPath usage in your command line, but the version you specified cannot be represented by Corepack");C=!1}else!C&&!process.env.COREPACK_ROOT&&(o.reportWarning(0,`You don't seem to have ${pe.applyHyperlink(t,"Corepack","https://nodejs.org/api/corepack.html")} enabled; we'll have to rely on ${pe.applyHyperlink(t,"yarnPath","https://yarnpkg.com/configuration/yarnrc#yarnPath")} instead`),C=!0);if(C){let te=await u();o.reportInfo(0,`Saving the new release in ${pe.pretty(t,E,"magenta")}`),await oe.removePromise(z.dirname(h)),await oe.mkdirPromise(z.dirname(h),{recursive:!0}),await oe.writeFilePromise(h,te,{mode:493}),await Ke.updateConfiguration(A,{yarnPath:z.relative(A,h)})}else await oe.removePromise(z.dirname(h)),await Ke.updateConfiguration(A,{yarnPath:Ke.deleteProperty});let F=await Ot.tryFind(A)||new Ot;F.packageManager=`yarn@${I?e:await E2(t,"stable")}`;let N={};F.exportTo(N);let U=z.join(A,Ot.fileName),J=`${JSON.stringify(N,null,F.indent)} +`;return await oe.changeFilePromise(U,J,{automaticNewlines:!0}),{bundleVersion:e}}function Zge(t){return wr[fD(t)]}var Y0t=/## (?YN[0-9]{4}) - `(?[A-Z_]+)`\n\n(?
(?:.(?!##))+)/gs;async function W0t(t){let r=`https://repo.yarnpkg.com/${He.isTaggedYarnVersion(nn)?nn:await E2(t,"canary")}/packages/docusaurus/docs/advanced/01-general-reference/error-codes.mdx`,o=await sn.get(r,{configuration:t});return new Map(Array.from(o.toString().matchAll(Y0t),({groups:a})=>{if(!a)throw new Error("Assertion failed: Expected the match to have been successful");let n=Zge(a.code);if(a.name!==n)throw new Error(`Assertion failed: Invalid error code data: Expected "${a.name}" to be named "${n}"`);return[a.code,a.details]}))}var qh=class extends ut{constructor(){super(...arguments);this.code=ge.String({required:!1,validator:sI(Ey(),[iI(/^YN[0-9]{4}$/)])});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins);if(typeof this.code<"u"){let o=Zge(this.code),a=pe.pretty(r,o,pe.Type.CODE),n=this.cli.format().header(`${this.code} - ${a}`),A=(await W0t(r)).get(this.code),p=typeof A<"u"?pe.jsonOrPretty(this.json,r,pe.tuple(pe.Type.MARKDOWN,{text:A,format:this.cli.format(),paragraphs:!0})):`This error code does not have a description. + +You can help us by editing this page on GitHub \u{1F642}: +${pe.jsonOrPretty(this.json,r,pe.tuple(pe.Type.URL,"https://github.com/yarnpkg/berry/blob/master/packages/docusaurus/docs/advanced/01-general-reference/error-codes.mdx"))} +`;this.json?this.context.stdout.write(`${JSON.stringify({code:this.code,name:o,details:p})} +`):this.context.stdout.write(`${n} + +${p} +`)}else{let o={children:He.mapAndFilter(Object.entries(wr),([a,n])=>Number.isNaN(Number(a))?He.mapAndFilter.skip:{label:Ku(Number(a)),value:pe.tuple(pe.Type.CODE,n)})};fs.emitTree(o,{configuration:r,stdout:this.context.stdout,json:this.json})}}};qh.paths=[["explain"]],qh.usage=it.Usage({description:"explain an error code",details:` + When the code argument is specified, this command prints its name and its details. + + When used without arguments, this command lists all error codes and their names. + `,examples:[["Explain an error code","$0 explain YN0006"],["List all error codes","$0 explain"]]});je();Dt();qt();var $ge=Ze(Xo()),Gh=class extends ut{constructor(){super(...arguments);this.all=ge.Boolean("-A,--all",!1,{description:"Print versions of a package from the whole project"});this.recursive=ge.Boolean("-R,--recursive",!1,{description:"Print information for all packages, including transitive dependencies"});this.extra=ge.Array("-X,--extra",[],{description:"An array of requests of extra data provided by plugins"});this.cache=ge.Boolean("--cache",!1,{description:"Print information about the cache entry of a package (path, size, checksum)"});this.dependents=ge.Boolean("--dependents",!1,{description:"Print all dependents for each matching package"});this.manifest=ge.Boolean("--manifest",!1,{description:"Print data obtained by looking at the package archive (license, homepage, ...)"});this.nameOnly=ge.Boolean("--name-only",!1,{description:"Only print the name for the matching packages"});this.virtuals=ge.Boolean("--virtuals",!1,{description:"Print each instance of the virtual packages"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=ge.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Nr.find(r);if(!a&&!this.all)throw new sr(o.cwd,this.context.cwd);await o.restoreInstallState();let u=new Set(this.extra);this.cache&&u.add("cache"),this.dependents&&u.add("dependents"),this.manifest&&u.add("manifest");let A=(ae,{recursive:le})=>{let ce=ae.anchoredLocator.locatorHash,we=new Map,de=[ce];for(;de.length>0;){let Be=de.shift();if(we.has(Be))continue;let Ee=o.storedPackages.get(Be);if(typeof Ee>"u")throw new Error("Assertion failed: Expected the package to be registered");if(we.set(Be,Ee),j.isVirtualLocator(Ee)&&de.push(j.devirtualizeLocator(Ee).locatorHash),!(!le&&Be!==ce))for(let g of Ee.dependencies.values()){let me=o.storedResolutions.get(g.descriptorHash);if(typeof me>"u")throw new Error("Assertion failed: Expected the resolution to be registered");de.push(me)}}return we.values()},p=({recursive:ae})=>{let le=new Map;for(let ce of o.workspaces)for(let we of A(ce,{recursive:ae}))le.set(we.locatorHash,we);return le.values()},h=({all:ae,recursive:le})=>ae&&le?o.storedPackages.values():ae?p({recursive:le}):A(a,{recursive:le}),E=({all:ae,recursive:le})=>{let ce=h({all:ae,recursive:le}),we=this.patterns.map(Ee=>{let g=j.parseLocator(Ee),me=$ge.default.makeRe(j.stringifyIdent(g)),Ce=j.isVirtualLocator(g),Ae=Ce?j.devirtualizeLocator(g):g;return ne=>{let Z=j.stringifyIdent(ne);if(!me.test(Z))return!1;if(g.reference==="unknown")return!0;let xe=j.isVirtualLocator(ne),Le=xe?j.devirtualizeLocator(ne):ne;return!(Ce&&xe&&g.reference!==ne.reference||Ae.reference!==Le.reference)}}),de=He.sortMap([...ce],Ee=>j.stringifyLocator(Ee));return{selection:de.filter(Ee=>we.length===0||we.some(g=>g(Ee))),sortedLookup:de}},{selection:I,sortedLookup:v}=E({all:this.all,recursive:this.recursive});if(I.length===0)throw new st("No package matched your request");let x=new Map;if(this.dependents)for(let ae of v)for(let le of ae.dependencies.values()){let ce=o.storedResolutions.get(le.descriptorHash);if(typeof ce>"u")throw new Error("Assertion failed: Expected the resolution to be registered");He.getArrayWithDefault(x,ce).push(ae)}let C=new Map;for(let ae of v){if(!j.isVirtualLocator(ae))continue;let le=j.devirtualizeLocator(ae);He.getArrayWithDefault(C,le.locatorHash).push(ae)}let F={},N={children:F},U=r.makeFetcher(),J={project:o,fetcher:U,cache:n,checksums:o.storedChecksums,report:new Qi,cacheOptions:{skipIntegrityCheck:!0}},te=[async(ae,le,ce)=>{if(!le.has("manifest"))return;let we=await U.fetch(ae,J),de;try{de=await Ot.find(we.prefixPath,{baseFs:we.packageFs})}finally{we.releaseFs?.()}ce("Manifest",{License:pe.tuple(pe.Type.NO_HINT,de.license),Homepage:pe.tuple(pe.Type.URL,de.raw.homepage??null)})},async(ae,le,ce)=>{if(!le.has("cache"))return;let we=o.storedChecksums.get(ae.locatorHash)??null,de=n.getLocatorPath(ae,we),Be;if(de!==null)try{Be=await oe.statPromise(de)}catch{}let Ee=typeof Be<"u"?[Be.size,pe.Type.SIZE]:void 0;ce("Cache",{Checksum:pe.tuple(pe.Type.NO_HINT,we),Path:pe.tuple(pe.Type.PATH,de),Size:Ee})}];for(let ae of I){let le=j.isVirtualLocator(ae);if(!this.virtuals&&le)continue;let ce={},we={value:[ae,pe.Type.LOCATOR],children:ce};if(F[j.stringifyLocator(ae)]=we,this.nameOnly){delete we.children;continue}let de=C.get(ae.locatorHash);typeof de<"u"&&(ce.Instances={label:"Instances",value:pe.tuple(pe.Type.NUMBER,de.length)}),ce.Version={label:"Version",value:pe.tuple(pe.Type.NO_HINT,ae.version)};let Be=(g,me)=>{let Ce={};if(ce[g]=Ce,Array.isArray(me))Ce.children=me.map(Ae=>({value:Ae}));else{let Ae={};Ce.children=Ae;for(let[ne,Z]of Object.entries(me))typeof Z>"u"||(Ae[ne]={label:ne,value:Z})}};if(!le){for(let g of te)await g(ae,u,Be);await r.triggerHook(g=>g.fetchPackageInfo,ae,u,Be)}ae.bin.size>0&&!le&&Be("Exported Binaries",[...ae.bin.keys()].map(g=>pe.tuple(pe.Type.PATH,g)));let Ee=x.get(ae.locatorHash);typeof Ee<"u"&&Ee.length>0&&Be("Dependents",Ee.map(g=>pe.tuple(pe.Type.LOCATOR,g))),ae.dependencies.size>0&&!le&&Be("Dependencies",[...ae.dependencies.values()].map(g=>{let me=o.storedResolutions.get(g.descriptorHash),Ce=typeof me<"u"?o.storedPackages.get(me)??null:null;return pe.tuple(pe.Type.RESOLUTION,{descriptor:g,locator:Ce})})),ae.peerDependencies.size>0&&le&&Be("Peer dependencies",[...ae.peerDependencies.values()].map(g=>{let me=ae.dependencies.get(g.identHash),Ce=typeof me<"u"?o.storedResolutions.get(me.descriptorHash)??null:null,Ae=Ce!==null?o.storedPackages.get(Ce)??null:null;return pe.tuple(pe.Type.RESOLUTION,{descriptor:g,locator:Ae})}))}fs.emitTree(N,{configuration:r,json:this.json,stdout:this.context.stdout,separators:this.nameOnly?0:2})}};Gh.paths=[["info"]],Gh.usage=it.Usage({description:"see information related to packages",details:"\n This command prints various information related to the specified packages, accepting glob patterns.\n\n By default, if the locator reference is missing, Yarn will default to print the information about all the matching direct dependencies of the package for the active workspace. To instead print all versions of the package that are direct dependencies of any of your workspaces, use the `-A,--all` flag. Adding the `-R,--recursive` flag will also report transitive dependencies.\n\n Some fields will be hidden by default in order to keep the output readable, but can be selectively displayed by using additional options (`--dependents`, `--manifest`, `--virtuals`, ...) described in the option descriptions.\n\n Note that this command will only print the information directly related to the selected packages - if you wish to know why the package is there in the first place, use `yarn why` which will do just that (it also provides a `-R,--recursive` flag that may be of some help).\n ",examples:[["Show information about Lodash","$0 info lodash"]]});je();Dt();Nl();var gk=Ze(rd());qt();var O8=Ze(Vn());$a();var K0t=[{selector:t=>t===-1,name:"nodeLinker",value:"node-modules"},{selector:t=>t!==-1&&t<8,name:"enableGlobalCache",value:!1},{selector:t=>t!==-1&&t<8,name:"compressionLevel",value:"mixed"}],jh=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.immutable=ge.Boolean("--immutable",{description:"Abort with an error exit code if the lockfile was to be modified"});this.immutableCache=ge.Boolean("--immutable-cache",{description:"Abort with an error exit code if the cache folder was to be modified"});this.refreshLockfile=ge.Boolean("--refresh-lockfile",{description:"Refresh the package metadata stored in the lockfile"});this.checkCache=ge.Boolean("--check-cache",{description:"Always refetch the packages and ensure that their checksums are consistent"});this.checkResolutions=ge.Boolean("--check-resolutions",{description:"Validates that the package resolutions are coherent"});this.inlineBuilds=ge.Boolean("--inline-builds",{description:"Verbosely print the output of the build steps of dependencies"});this.mode=ge.String("--mode",{description:"Change what artifacts installs generate",validator:Js(hl)});this.cacheFolder=ge.String("--cache-folder",{hidden:!0});this.frozenLockfile=ge.Boolean("--frozen-lockfile",{hidden:!0});this.ignoreEngines=ge.Boolean("--ignore-engines",{hidden:!0});this.nonInteractive=ge.Boolean("--non-interactive",{hidden:!0});this.preferOffline=ge.Boolean("--prefer-offline",{hidden:!0});this.production=ge.Boolean("--production",{hidden:!0});this.registry=ge.String("--registry",{hidden:!0});this.silent=ge.Boolean("--silent",{hidden:!0});this.networkTimeout=ge.String("--network-timeout",{hidden:!0})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins);typeof this.inlineBuilds<"u"&&r.useWithSource("",{enableInlineBuilds:this.inlineBuilds},r.startingCwd,{overwrite:!0});let o=!!process.env.FUNCTION_TARGET||!!process.env.GOOGLE_RUNTIME,a=await TE({configuration:r,stdout:this.context.stdout},[{option:this.ignoreEngines,message:"The --ignore-engines option is deprecated; engine checking isn't a core feature anymore",error:!gk.default.VERCEL},{option:this.registry,message:"The --registry option is deprecated; prefer setting npmRegistryServer in your .yarnrc.yml file"},{option:this.preferOffline,message:"The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead",error:!gk.default.VERCEL},{option:this.production,message:"The --production option is deprecated on 'install'; use 'yarn workspaces focus' instead",error:!0},{option:this.nonInteractive,message:"The --non-interactive option is deprecated",error:!o},{option:this.frozenLockfile,message:"The --frozen-lockfile option is deprecated; use --immutable and/or --immutable-cache instead",callback:()=>this.immutable=this.frozenLockfile},{option:this.cacheFolder,message:"The cache-folder option has been deprecated; use rc settings instead",error:!gk.default.NETLIFY}]);if(a!==null)return a;let n=this.mode==="update-lockfile";if(n&&(this.immutable||this.immutableCache))throw new st(`${pe.pretty(r,"--immutable",pe.Type.CODE)} and ${pe.pretty(r,"--immutable-cache",pe.Type.CODE)} cannot be used with ${pe.pretty(r,"--mode=update-lockfile",pe.Type.CODE)}`);let u=(this.immutable??r.get("enableImmutableInstalls"))&&!n,A=this.immutableCache&&!n;if(r.projectCwd!==null){let F=await Ft.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async N=>{let U=!1;await V0t(r,u)&&(N.reportInfo(48,"Automatically removed core plugins that are now builtins \u{1F44D}"),U=!0),await J0t(r,u)&&(N.reportInfo(48,"Automatically fixed merge conflicts \u{1F44D}"),U=!0),U&&N.reportSeparator()});if(F.hasErrors())return F.exitCode()}if(r.projectCwd!==null){let F=await Ft.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async N=>{if(Ke.telemetry?.isNew)Ke.telemetry.commitTips(),N.reportInfo(65,"Yarn will periodically gather anonymous telemetry: https://yarnpkg.com/advanced/telemetry"),N.reportInfo(65,`Run ${pe.pretty(r,"yarn config set --home enableTelemetry 0",pe.Type.CODE)} to disable`),N.reportSeparator();else if(Ke.telemetry?.shouldShowTips){let U=await sn.get("https://repo.yarnpkg.com/tags",{configuration:r,jsonResponse:!0}).catch(()=>null);if(U!==null){let J=null;if(nn!==null){let ae=O8.default.prerelease(nn)?"canary":"stable",le=U.latest[ae];O8.default.gt(le,nn)&&(J=[ae,le])}if(J)Ke.telemetry.commitTips(),N.reportInfo(88,`${pe.applyStyle(r,`A new ${J[0]} version of Yarn is available:`,pe.Style.BOLD)} ${j.prettyReference(r,J[1])}!`),N.reportInfo(88,`Upgrade now by running ${pe.pretty(r,`yarn set version ${J[1]}`,pe.Type.CODE)}`),N.reportSeparator();else{let te=Ke.telemetry.selectTip(U.tips);te&&(N.reportInfo(89,pe.pretty(r,te.message,pe.Type.MARKDOWN_INLINE)),te.url&&N.reportInfo(89,`Learn more at ${te.url}`),N.reportSeparator())}}}});if(F.hasErrors())return F.exitCode()}let{project:p,workspace:h}=await St.find(r,this.context.cwd),E=p.lockfileLastVersion;if(E!==null){let F=await Ft.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async N=>{let U={};for(let J of K0t)J.selector(E)&&typeof r.sources.get(J.name)>"u"&&(r.use("",{[J.name]:J.value},p.cwd,{overwrite:!0}),U[J.name]=J.value);Object.keys(U).length>0&&(await Ke.updateConfiguration(p.cwd,U),N.reportInfo(87,"Migrated your project to the latest Yarn version \u{1F680}"),N.reportSeparator())});if(F.hasErrors())return F.exitCode()}let I=await Nr.find(r,{immutable:A,check:this.checkCache});if(!h)throw new sr(p.cwd,this.context.cwd);await p.restoreInstallState({restoreResolutions:!1});let v=r.get("enableHardenedMode");v&&typeof r.sources.get("enableHardenedMode")>"u"&&await Ft.start({configuration:r,json:this.json,stdout:this.context.stdout,includeFooter:!1},async F=>{F.reportWarning(0,"Yarn detected that the current workflow is executed from a public pull request. For safety the hardened mode has been enabled."),F.reportWarning(0,`It will prevent malicious lockfile manipulations, in exchange for a slower install time. You can opt-out if necessary; check our ${pe.applyHyperlink(r,"documentation","https://yarnpkg.com/features/security#hardened-mode")} for more details.`),F.reportSeparator()}),(this.refreshLockfile??v)&&(p.lockfileNeedsRefresh=!0);let x=this.checkResolutions??v;return(await Ft.start({configuration:r,json:this.json,stdout:this.context.stdout,forceSectionAlignment:!0,includeLogs:!0,includeVersion:!0},async F=>{await p.install({cache:I,report:F,immutable:u,checkResolutions:x,mode:this.mode})})).exitCode()}};jh.paths=[["install"],it.Default],jh.usage=it.Usage({description:"install the project dependencies",details:"\n This command sets up your project if needed. The installation is split into four different steps that each have their own characteristics:\n\n - **Resolution:** First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ).\n\n - **Fetch:** Then we download all the dependencies if needed, and make sure that they're all stored within our cache (check the value of `cacheFolder` in `yarn config` to see where the cache files are stored).\n\n - **Link:** Then we send the dependency tree information to internal plugins tasked with writing them on the disk in some form (for example by generating the `.pnp.cjs` file you might know).\n\n - **Build:** Once the dependency tree has been written on the disk, the package manager will now be free to run the build scripts for all packages that might need it, in a topological order compatible with the way they depend on one another. See https://yarnpkg.com/advanced/lifecycle-scripts for detail.\n\n Note that running this command is not part of the recommended workflow. Yarn supports zero-installs, which means that as long as you store your cache and your `.pnp.cjs` file inside your repository, everything will work without requiring any install right after cloning your repository or switching branches.\n\n If the `--immutable` option is set (defaults to true on CI), Yarn will abort with an error exit code if the lockfile was to be modified (other paths can be added using the `immutablePatterns` configuration setting). For backward compatibility we offer an alias under the name of `--frozen-lockfile`, but it will be removed in a later release.\n\n If the `--immutable-cache` option is set, Yarn will abort with an error exit code if the cache folder was to be modified (either because files would be added, or because they'd be removed).\n\n If the `--refresh-lockfile` option is set, Yarn will keep the same resolution for the packages currently in the lockfile but will refresh their metadata. If used together with `--immutable`, it can validate that the lockfile information are consistent. This flag is enabled by default when Yarn detects it runs within a pull request context.\n\n If the `--check-cache` option is set, Yarn will always refetch the packages and will ensure that their checksum matches what's 1/ described in the lockfile 2/ inside the existing cache files (if present). This is recommended as part of your CI workflow if you're both following the Zero-Installs model and accepting PRs from third-parties, as they'd otherwise have the ability to alter the checked-in packages before submitting them.\n\n If the `--inline-builds` option is set, Yarn will verbosely print the output of the build steps of your dependencies (instead of writing them into individual files). This is likely useful mostly for debug purposes only when using Docker-like environments.\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n ",examples:[["Install the project","$0 install"],["Validate a project when using Zero-Installs","$0 install --immutable --immutable-cache"],["Validate a project when using Zero-Installs (slightly safer if you accept external PRs)","$0 install --immutable --immutable-cache --check-cache"]]});var z0t="<<<<<<<";async function J0t(t,e){if(!t.projectCwd)return!1;let r=z.join(t.projectCwd,dr.lockfile);if(!await oe.existsPromise(r)||!(await oe.readFilePromise(r,"utf8")).includes(z0t))return!1;if(e)throw new Vt(47,"Cannot autofix a lockfile when running an immutable install");let a=await Ur.execvp("git",["rev-parse","MERGE_HEAD","HEAD"],{cwd:t.projectCwd});if(a.code!==0&&(a=await Ur.execvp("git",["rev-parse","REBASE_HEAD","HEAD"],{cwd:t.projectCwd})),a.code!==0&&(a=await Ur.execvp("git",["rev-parse","CHERRY_PICK_HEAD","HEAD"],{cwd:t.projectCwd})),a.code!==0)throw new Vt(83,"Git returned an error when trying to find the commits pertaining to the conflict");let n=await Promise.all(a.stdout.trim().split(/\n/).map(async A=>{let p=await Ur.execvp("git",["show",`${A}:./${dr.lockfile}`],{cwd:t.projectCwd});if(p.code!==0)throw new Vt(83,`Git returned an error when trying to access the lockfile content in ${A}`);try{return Ki(p.stdout)}catch{throw new Vt(46,"A variant of the conflicting lockfile failed to parse")}}));n=n.filter(A=>!!A.__metadata);for(let A of n){if(A.__metadata.version<7)for(let p of Object.keys(A)){if(p==="__metadata")continue;let h=j.parseDescriptor(p,!0),E=t.normalizeDependency(h),I=j.stringifyDescriptor(E);I!==p&&(A[I]=A[p],delete A[p])}for(let p of Object.keys(A)){if(p==="__metadata")continue;let h=A[p].checksum;typeof h=="string"&&h.includes("/")||(A[p].checksum=`${A.__metadata.cacheKey}/${h}`)}}let u=Object.assign({},...n);u.__metadata.version=`${Math.min(...n.map(A=>parseInt(A.__metadata.version??0)))}`,u.__metadata.cacheKey="merged";for(let[A,p]of Object.entries(u))typeof p=="string"&&delete u[A];return await oe.changeFilePromise(r,Ba(u),{automaticNewlines:!0}),!0}async function V0t(t,e){if(!t.projectCwd)return!1;let r=[],o=z.join(t.projectCwd,".yarn/plugins/@yarnpkg");return await Ke.updateConfiguration(t.projectCwd,{plugins:n=>{if(!Array.isArray(n))return n;let u=n.filter(A=>{if(!A.path)return!0;let p=z.resolve(t.projectCwd,A.path),h=P1.has(A.spec)&&z.contains(o,p);return h&&r.push(p),!h});return u.length===0?Ke.deleteProperty:u.length===n.length?n:u}},{immutable:e})?(await Promise.all(r.map(async n=>{await oe.removePromise(n)})),!0):!1}je();Dt();qt();var Yh=class extends ut{constructor(){super(...arguments);this.all=ge.Boolean("-A,--all",!1,{description:"Link all workspaces belonging to the target projects to the current one"});this.private=ge.Boolean("-p,--private",!1,{description:"Also link private workspaces belonging to the target projects to the current one"});this.relative=ge.Boolean("-r,--relative",!1,{description:"Link workspaces using relative paths instead of absolute paths"});this.destinations=ge.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Nr.find(r);if(!a)throw new sr(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=o.topLevelWorkspace,A=[];for(let p of this.destinations){let h=z.resolve(this.context.cwd,ue.toPortablePath(p)),E=await Ke.find(h,this.context.plugins,{useRc:!1,strict:!1}),{project:I,workspace:v}=await St.find(E,h);if(o.cwd===I.cwd)throw new st(`Invalid destination '${p}'; Can't link the project to itself`);if(!v)throw new sr(I.cwd,h);if(this.all){let x=!1;for(let C of I.workspaces)C.manifest.name&&(!C.manifest.private||this.private)&&(A.push(C),x=!0);if(!x)throw new st(`No workspace found to be linked in the target project: ${p}`)}else{if(!v.manifest.name)throw new st(`The target workspace at '${p}' doesn't have a name and thus cannot be linked`);if(v.manifest.private&&!this.private)throw new st(`The target workspace at '${p}' is marked private - use the --private flag to link it anyway`);A.push(v)}}for(let p of A){let h=j.stringifyIdent(p.anchoredLocator),E=this.relative?z.relative(o.cwd,p.cwd):p.cwd;u.manifest.resolutions.push({pattern:{descriptor:{fullName:h}},reference:`portal:${E}`})}return await o.installWithNewReport({stdout:this.context.stdout},{cache:n})}};Yh.paths=[["link"]],Yh.usage=it.Usage({description:"connect the local project to another one",details:"\n This command will set a new `resolutions` field in the project-level manifest and point it to the workspace at the specified location (even if part of another project).\n ",examples:[["Register one or more remote workspaces for use in the current project","$0 link ~/ts-loader ~/jest"],["Register all workspaces from a remote project for use in the current project","$0 link ~/jest --all"]]});qt();var Wh=class extends ut{constructor(){super(...arguments);this.args=ge.Proxy()}async execute(){return this.cli.run(["exec","node",...this.args])}};Wh.paths=[["node"]],Wh.usage=it.Usage({description:"run node with the hook already setup",details:` + This command simply runs Node. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment). + + The Node process will use the exact same version of Node as the one used to run Yarn itself, which might be a good way to ensure that your commands always use a consistent Node version. + `,examples:[["Run a Node script","$0 node ./my-script.js"]]});je();qt();var Kh=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o=await Ke.findRcFiles(this.context.cwd);return(await Ft.start({configuration:r,json:this.json,stdout:this.context.stdout},async n=>{for(let u of o)if(!!u.data?.plugins)for(let A of u.data.plugins){if(!A.checksum||!A.spec.match(/^https?:/))continue;let p=await sn.get(A.spec,{configuration:r}),h=wn.makeHash(p);if(A.checksum===h)continue;let E=pe.pretty(r,A.path,pe.Type.PATH),I=pe.pretty(r,A.spec,pe.Type.URL),v=`${E} is different from the file provided by ${I}`;n.reportJson({...A,newChecksum:h}),n.reportError(0,v)}})).exitCode()}};Kh.paths=[["plugin","check"]],Kh.usage=it.Usage({category:"Plugin-related commands",description:"find all third-party plugins that differ from their own spec",details:` + Check only the plugins from https. + + If this command detects any plugin differences in the CI environment, it will throw an error. + `,examples:[["find all third-party plugins that differ from their own spec","$0 plugin check"]]});je();je();Dt();qt();var ide=ve("os");je();Dt();qt();var ede=ve("os");je();Nl();qt();var X0t="https://raw.githubusercontent.com/yarnpkg/berry/master/plugins.yml";async function Vd(t,e){let r=await sn.get(X0t,{configuration:t}),o=Ki(r.toString());return Object.fromEntries(Object.entries(o).filter(([a,n])=>!e||Lr.satisfiesWithPrereleases(e,n.range??"<4.0.0-rc.1")))}var zh=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins);return(await Ft.start({configuration:r,json:this.json,stdout:this.context.stdout},async a=>{let n=await Vd(r,nn);for(let[u,{experimental:A,...p}]of Object.entries(n)){let h=u;A&&(h+=" [experimental]"),a.reportJson({name:u,experimental:A,...p}),a.reportInfo(null,h)}})).exitCode()}};zh.paths=[["plugin","list"]],zh.usage=it.Usage({category:"Plugin-related commands",description:"list the available official plugins",details:"\n This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\n ",examples:[["List the official plugins","$0 plugin list"]]});var Z0t=/^[0-9]+$/,$0t=process.platform==="win32";function tde(t){return Z0t.test(t)?`pull/${t}/head`:t}var egt=({repository:t,branch:e},r)=>[["git","init",ue.fromPortablePath(r)],["git","remote","add","origin",t],["git","fetch","origin","--depth=1",tde(e)],["git","reset","--hard","FETCH_HEAD"]],tgt=({branch:t})=>[["git","fetch","origin","--depth=1",tde(t),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx","-e","packages/yarnpkg-cli/bundles"]],rgt=({plugins:t,noMinify:e},r,o)=>[["yarn","build:cli",...new Array().concat(...t.map(a=>["--plugin",z.resolve(o,a)])),...e?["--no-minify"]:[],"|"],[$0t?"move":"mv","packages/yarnpkg-cli/bundles/yarn.js",ue.fromPortablePath(r),"|"]],Jh=class extends ut{constructor(){super(...arguments);this.installPath=ge.String("--path",{description:"The path where the repository should be cloned to"});this.repository=ge.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=ge.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.plugins=ge.Array("--plugin",[],{description:"An array of additional plugins that should be included in the bundle"});this.dryRun=ge.Boolean("-n,--dry-run",!1,{description:"If set, the bundle will be built but not added to the project"});this.noMinify=ge.Boolean("--no-minify",!1,{description:"Build a bundle for development (debugging) - non-minified and non-mangled"});this.force=ge.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.skipPlugins=ge.Boolean("--skip-plugins",!1,{description:"Skip updating the contrib plugins"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd),a=typeof this.installPath<"u"?z.resolve(this.context.cwd,ue.toPortablePath(this.installPath)):z.resolve(ue.toPortablePath((0,ede.tmpdir)()),"yarnpkg-sources",wn.makeHash(this.repository).slice(0,6));return(await Ft.start({configuration:r,stdout:this.context.stdout},async u=>{await M8(this,{configuration:r,report:u,target:a}),u.reportSeparator(),u.reportInfo(0,"Building a fresh bundle"),u.reportSeparator();let A=await Ur.execvp("git",["rev-parse","--short","HEAD"],{cwd:a,strict:!0}),p=z.join(a,`packages/yarnpkg-cli/bundles/yarn-${A.stdout.trim()}.js`);oe.existsSync(p)||(await C2(rgt(this,p,a),{configuration:r,context:this.context,target:a}),u.reportSeparator());let h=await oe.readFilePromise(p);if(!this.dryRun){let{bundleVersion:E}=await N8(r,null,async()=>h,{report:u});this.skipPlugins||await ngt(this,E,{project:o,report:u,target:a})}})).exitCode()}};Jh.paths=[["set","version","from","sources"]],Jh.usage=it.Usage({description:"build Yarn from master",details:` + This command will clone the Yarn repository into a temporary folder, then build it. The resulting bundle will then be copied into the local project. + + By default, it also updates all contrib plugins to the same commit the bundle is built from. This behavior can be disabled by using the \`--skip-plugins\` flag. + `,examples:[["Build Yarn from master","$0 set version from sources"]]});async function C2(t,{configuration:e,context:r,target:o}){for(let[a,...n]of t){let u=n[n.length-1]==="|";if(u&&n.pop(),u)await Ur.pipevp(a,n,{cwd:o,stdin:r.stdin,stdout:r.stdout,stderr:r.stderr,strict:!0});else{r.stdout.write(`${pe.pretty(e,` $ ${[a,...n].join(" ")}`,"grey")} +`);try{await Ur.execvp(a,n,{cwd:o,strict:!0})}catch(A){throw r.stdout.write(A.stdout||A.stack),A}}}}async function M8(t,{configuration:e,report:r,target:o}){let a=!1;if(!t.force&&oe.existsSync(z.join(o,".git"))){r.reportInfo(0,"Fetching the latest commits"),r.reportSeparator();try{await C2(tgt(t),{configuration:e,context:t.context,target:o}),a=!0}catch{r.reportSeparator(),r.reportWarning(0,"Repository update failed; we'll try to regenerate it")}}a||(r.reportInfo(0,"Cloning the remote repository"),r.reportSeparator(),await oe.removePromise(o),await oe.mkdirPromise(o,{recursive:!0}),await C2(egt(t,o),{configuration:e,context:t.context,target:o}))}async function ngt(t,e,{project:r,report:o,target:a}){let n=await Vd(r.configuration,e),u=new Set(Object.keys(n));for(let A of r.configuration.plugins.keys())!u.has(A)||await U8(A,t,{project:r,report:o,target:a})}je();je();Dt();qt();var rde=Ze(Vn()),nde=ve("vm");var Vh=class extends ut{constructor(){super(...arguments);this.name=ge.String();this.checksum=ge.Boolean("--checksum",!0,{description:"Whether to care if this plugin is modified"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins);return(await Ft.start({configuration:r,stdout:this.context.stdout},async a=>{let{project:n}=await St.find(r,this.context.cwd),u,A;if(this.name.match(/^\.{0,2}[\\/]/)||ue.isAbsolute(this.name)){let p=z.resolve(this.context.cwd,ue.toPortablePath(this.name));a.reportInfo(0,`Reading ${pe.pretty(r,p,pe.Type.PATH)}`),u=z.relative(n.cwd,p),A=await oe.readFilePromise(p)}else{let p;if(this.name.match(/^https?:/)){try{new URL(this.name)}catch{throw new Vt(52,`Plugin specifier "${this.name}" is neither a plugin name nor a valid url`)}u=this.name,p=this.name}else{let h=j.parseLocator(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-"));if(h.reference!=="unknown"&&!rde.default.valid(h.reference))throw new Vt(0,"Official plugins only accept strict version references. Use an explicit URL if you wish to download them from another location.");let E=j.stringifyIdent(h),I=await Vd(r,nn);if(!Object.hasOwn(I,E)){let v=`Couldn't find a plugin named ${j.prettyIdent(r,h)} on the remote registry. +`;throw r.plugins.has(E)?v+=`A plugin named ${j.prettyIdent(r,h)} is already installed; possibly attempting to import a built-in plugin.`:v+=`Note that only the plugins referenced on our website (${pe.pretty(r,"https://github.com/yarnpkg/berry/blob/master/plugins.yml",pe.Type.URL)}) can be referenced by their name; any other plugin will have to be referenced through its public url (for example ${pe.pretty(r,"https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js",pe.Type.URL)}).`,new Vt(51,v)}u=E,p=I[E].url,h.reference!=="unknown"?p=p.replace(/\/master\//,`/${E}/${h.reference}/`):nn!==null&&(p=p.replace(/\/master\//,`/@yarnpkg/cli/${nn}/`))}a.reportInfo(0,`Downloading ${pe.pretty(r,p,"green")}`),A=await sn.get(p,{configuration:r})}await _8(u,A,{checksum:this.checksum,project:n,report:a})})).exitCode()}};Vh.paths=[["plugin","import"]],Vh.usage=it.Usage({category:"Plugin-related commands",description:"download a plugin",details:` + This command downloads the specified plugin from its remote location and updates the configuration to reference it in further CLI invocations. + + Three types of plugin references are accepted: + + - If the plugin is stored within the Yarn repository, it can be referenced by name. + - Third-party plugins can be referenced directly through their public urls. + - Local plugins can be referenced by their path on the disk. + + If the \`--no-checksum\` option is set, Yarn will no longer care if the plugin is modified. + + Plugins cannot be downloaded from the npm registry, and aren't allowed to have dependencies (they need to be bundled into a single file, possibly thanks to the \`@yarnpkg/builder\` package). + `,examples:[['Download and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import @yarnpkg/plugin-exec"],['Download and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import exec"],["Download and activate a community plugin","$0 plugin import https://example.org/path/to/plugin.js"],["Activate a local plugin","$0 plugin import ./path/to/plugin.js"]]});async function _8(t,e,{checksum:r=!0,project:o,report:a}){let{configuration:n}=o,u={},A={exports:u};(0,nde.runInNewContext)(e.toString(),{module:A,exports:u});let h=`.yarn/plugins/${A.exports.name}.cjs`,E=z.resolve(o.cwd,h);a.reportInfo(0,`Saving the new plugin in ${pe.pretty(n,h,"magenta")}`),await oe.mkdirPromise(z.dirname(E),{recursive:!0}),await oe.writeFilePromise(E,e);let I={path:h,spec:t};r&&(I.checksum=wn.makeHash(e)),await Ke.addPlugin(o.cwd,[I])}var igt=({pluginName:t,noMinify:e},r)=>[["yarn",`build:${t}`,...e?["--no-minify"]:[],"|"]],Xh=class extends ut{constructor(){super(...arguments);this.installPath=ge.String("--path",{description:"The path where the repository should be cloned to"});this.repository=ge.String("--repository","https://github.com/yarnpkg/berry.git",{description:"The repository that should be cloned"});this.branch=ge.String("--branch","master",{description:"The branch of the repository that should be cloned"});this.noMinify=ge.Boolean("--no-minify",!1,{description:"Build a plugin for development (debugging) - non-minified and non-mangled"});this.force=ge.Boolean("-f,--force",!1,{description:"Always clone the repository instead of trying to fetch the latest commits"});this.name=ge.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o=typeof this.installPath<"u"?z.resolve(this.context.cwd,ue.toPortablePath(this.installPath)):z.resolve(ue.toPortablePath((0,ide.tmpdir)()),"yarnpkg-sources",wn.makeHash(this.repository).slice(0,6));return(await Ft.start({configuration:r,stdout:this.context.stdout},async n=>{let{project:u}=await St.find(r,this.context.cwd),A=j.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),p=j.stringifyIdent(A),h=await Vd(r,nn);if(!Object.hasOwn(h,p))throw new Vt(51,`Couldn't find a plugin named "${p}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be built and imported from sources.`);let E=p;await M8(this,{configuration:r,report:n,target:o}),await U8(E,this,{project:u,report:n,target:o})})).exitCode()}};Xh.paths=[["plugin","import","from","sources"]],Xh.usage=it.Usage({category:"Plugin-related commands",description:"build a plugin from sources",details:` + This command clones the Yarn repository into a temporary folder, builds the specified contrib plugin and updates the configuration to reference it in further CLI invocations. + + The plugins can be referenced by their short name if sourced from the official Yarn repository. + `,examples:[['Build and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import from sources @yarnpkg/plugin-exec"],['Build and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import from sources exec"]]});async function U8(t,{context:e,noMinify:r},{project:o,report:a,target:n}){let u=t.replace(/@yarnpkg\//,""),{configuration:A}=o;a.reportSeparator(),a.reportInfo(0,`Building a fresh ${u}`),a.reportSeparator(),await C2(igt({pluginName:u,noMinify:r},n),{configuration:A,context:e,target:n}),a.reportSeparator();let p=z.resolve(n,`packages/${u}/bundles/${t}.js`),h=await oe.readFilePromise(p);await _8(t,h,{project:o,report:a})}je();Dt();qt();var Zh=class extends ut{constructor(){super(...arguments);this.name=ge.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd);return(await Ft.start({configuration:r,stdout:this.context.stdout},async n=>{let u=this.name,A=j.parseIdent(u);if(!r.plugins.has(u))throw new st(`${j.prettyIdent(r,A)} isn't referenced by the current configuration`);let p=`.yarn/plugins/${u}.cjs`,h=z.resolve(o.cwd,p);oe.existsSync(h)&&(n.reportInfo(0,`Removing ${pe.pretty(r,p,pe.Type.PATH)}...`),await oe.removePromise(h)),n.reportInfo(0,"Updating the configuration..."),await Ke.updateConfiguration(o.cwd,{plugins:E=>{if(!Array.isArray(E))return E;let I=E.filter(v=>v.path!==p);return I.length===0?Ke.deleteProperty:I.length===E.length?E:I}})})).exitCode()}};Zh.paths=[["plugin","remove"]],Zh.usage=it.Usage({category:"Plugin-related commands",description:"remove a plugin",details:` + This command deletes the specified plugin from the .yarn/plugins folder and removes it from the configuration. + + **Note:** The plugins have to be referenced by their name property, which can be obtained using the \`yarn plugin runtime\` command. Shorthands are not allowed. + `,examples:[["Remove a plugin imported from the Yarn repository","$0 plugin remove @yarnpkg/plugin-typescript"],["Remove a plugin imported from a local file","$0 plugin remove my-local-plugin"]]});je();qt();var $h=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins);return(await Ft.start({configuration:r,json:this.json,stdout:this.context.stdout},async a=>{for(let n of r.plugins.keys()){let u=this.context.plugins.plugins.has(n),A=n;u&&(A+=" [builtin]"),a.reportJson({name:n,builtin:u}),a.reportInfo(null,`${A}`)}})).exitCode()}};$h.paths=[["plugin","runtime"]],$h.usage=it.Usage({category:"Plugin-related commands",description:"list the active plugins",details:` + This command prints the currently active plugins. Will be displayed both builtin plugins and external plugins. + `,examples:[["List the currently active plugins","$0 plugin runtime"]]});je();je();qt();var e0=class extends ut{constructor(){super(...arguments);this.idents=ge.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Nr.find(r);if(!a)throw new sr(o.cwd,this.context.cwd);let u=new Set;for(let A of this.idents)u.add(j.parseIdent(A).identHash);if(await o.restoreInstallState({restoreResolutions:!1}),await o.resolveEverything({cache:n,report:new Qi}),u.size>0)for(let A of o.storedPackages.values())u.has(A.identHash)&&(o.storedBuildState.delete(A.locatorHash),o.skippedBuilds.delete(A.locatorHash));else o.storedBuildState.clear(),o.skippedBuilds.clear();return await o.installWithNewReport({stdout:this.context.stdout,quiet:this.context.quiet},{cache:n})}};e0.paths=[["rebuild"]],e0.usage=it.Usage({description:"rebuild the project's native packages",details:` + This command will automatically cause Yarn to forget about previous compilations of the given packages and to run them again. + + Note that while Yarn forgets the compilation, the previous artifacts aren't erased from the filesystem and may affect the next builds (in good or bad). To avoid this, you may remove the .yarn/unplugged folder, or any other relevant location where packages might have been stored (Yarn may offer a way to do that automatically in the future). + + By default all packages will be rebuilt, but you can filter the list by specifying the names of the packages you want to clear from memory. + `,examples:[["Rebuild all packages","$0 rebuild"],["Rebuild fsevents only","$0 rebuild fsevents"]]});je();je();je();qt();var H8=Ze(Xo());$a();var t0=class extends ut{constructor(){super(...arguments);this.all=ge.Boolean("-A,--all",!1,{description:"Apply the operation to all workspaces from the current project"});this.mode=ge.String("--mode",{description:"Change what artifacts installs generate",validator:Js(hl)});this.patterns=ge.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Nr.find(r);if(!a)throw new sr(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=this.all?o.workspaces:[a],A=["dependencies","devDependencies","peerDependencies"],p=[],h=!1,E=[];for(let C of this.patterns){let F=!1,N=j.parseIdent(C);for(let U of u){let J=[...U.manifest.peerDependenciesMeta.keys()];for(let te of(0,H8.default)(J,C))U.manifest.peerDependenciesMeta.delete(te),h=!0,F=!0;for(let te of A){let ae=U.manifest.getForScope(te),le=[...ae.values()].map(ce=>j.stringifyIdent(ce));for(let ce of(0,H8.default)(le,j.stringifyIdent(N))){let{identHash:we}=j.parseIdent(ce),de=ae.get(we);if(typeof de>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");U.manifest[te].delete(we),E.push([U,te,de]),h=!0,F=!0}}}F||p.push(C)}let I=p.length>1?"Patterns":"Pattern",v=p.length>1?"don't":"doesn't",x=this.all?"any":"this";if(p.length>0)throw new st(`${I} ${pe.prettyList(r,p,pe.Type.CODE)} ${v} match any packages referenced by ${x} workspace`);return h?(await r.triggerMultipleHooks(C=>C.afterWorkspaceDependencyRemoval,E),await o.installWithNewReport({stdout:this.context.stdout},{cache:n,mode:this.mode})):0}};t0.paths=[["remove"]],t0.usage=it.Usage({description:"remove dependencies from the project",details:` + This command will remove the packages matching the specified patterns from the current workspace. + + If the \`--mode=\` option is set, Yarn will change which artifacts are generated. The modes currently supported are: + + - \`skip-build\` will not run the build scripts at all. Note that this is different from setting \`enableScripts\` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run. + + - \`update-lockfile\` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost. + + This command accepts glob patterns as arguments (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them. + `,examples:[["Remove a dependency from the current project","$0 remove lodash"],["Remove a dependency from all workspaces at once","$0 remove lodash --all"],["Remove all dependencies starting with `eslint-`","$0 remove 'eslint-*'"],["Remove all dependencies with the `@babel` scope","$0 remove '@babel/*'"],["Remove all dependencies matching `react-dom` or `react-helmet`","$0 remove 'react-{dom,helmet}'"]]});je();je();qt();var sde=ve("util"),Xd=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new sr(o.cwd,this.context.cwd);return(await Ft.start({configuration:r,stdout:this.context.stdout,json:this.json},async u=>{let A=a.manifest.scripts,p=He.sortMap(A.keys(),I=>I),h={breakLength:1/0,colors:r.get("enableColors"),maxArrayLength:2},E=p.reduce((I,v)=>Math.max(I,v.length),0);for(let[I,v]of A.entries())u.reportInfo(null,`${I.padEnd(E," ")} ${(0,sde.inspect)(v,h)}`),u.reportJson({name:I,script:v})})).exitCode()}};Xd.paths=[["run"]];je();je();qt();var r0=class extends ut{constructor(){super(...arguments);this.inspect=ge.String("--inspect",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.inspectBrk=ge.String("--inspect-brk",!1,{tolerateBoolean:!0,description:"Forwarded to the underlying Node process when executing a binary"});this.topLevel=ge.Boolean("-T,--top-level",!1,{description:"Check the root workspace for scripts and/or binaries instead of the current one"});this.binariesOnly=ge.Boolean("-B,--binaries-only",!1,{description:"Ignore any user defined scripts and only check for binaries"});this.require=ge.String("--require",{description:"Forwarded to the underlying Node process when executing a binary"});this.silent=ge.Boolean("--silent",{hidden:!0});this.scriptName=ge.String();this.args=ge.Proxy()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a,locator:n}=await St.find(r,this.context.cwd);await o.restoreInstallState();let u=this.topLevel?o.topLevelWorkspace.anchoredLocator:n;if(!this.binariesOnly&&await An.hasPackageScript(u,this.scriptName,{project:o}))return await An.executePackageScript(u,this.scriptName,this.args,{project:o,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});let A=await An.getPackageAccessibleBinaries(u,{project:o});if(A.get(this.scriptName)){let h=[];return this.inspect&&(typeof this.inspect=="string"?h.push(`--inspect=${this.inspect}`):h.push("--inspect")),this.inspectBrk&&(typeof this.inspectBrk=="string"?h.push(`--inspect-brk=${this.inspectBrk}`):h.push("--inspect-brk")),this.require&&h.push(`--require=${this.require}`),await An.executePackageAccessibleBinary(u,this.scriptName,this.args,{cwd:this.context.cwd,project:o,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:h,packageAccessibleBinaries:A})}if(!this.topLevel&&!this.binariesOnly&&a&&this.scriptName.includes(":")){let E=(await Promise.all(o.workspaces.map(async I=>I.manifest.scripts.has(this.scriptName)?I:null))).filter(I=>I!==null);if(E.length===1)return await An.executeWorkspaceScript(E[0],this.scriptName,this.args,{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}if(this.topLevel)throw this.scriptName==="node-gyp"?new st(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${j.prettyLocator(r,n)}). This typically happens because some package depends on "node-gyp" to build itself, but didn't list it in their dependencies. To fix that, please run "yarn add node-gyp" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.`):new st(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${j.prettyLocator(r,n)}).`);{if(this.scriptName==="global")throw new st("The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead");let h=[this.scriptName].concat(this.args);for(let[E,I]of cC)for(let v of I)if(h.length>=v.length&&JSON.stringify(h.slice(0,v.length))===JSON.stringify(v))throw new st(`Couldn't find a script named "${this.scriptName}", but a matching command can be found in the ${E} plugin. You can install it with "yarn plugin import ${E}".`);throw new st(`Couldn't find a script named "${this.scriptName}".`)}}};r0.paths=[["run"]],r0.usage=it.Usage({description:"run a script defined in the package.json",details:` + This command will run a tool. The exact tool that will be executed will depend on the current state of your workspace: + + - If the \`scripts\` field from your local package.json contains a matching script name, its definition will get executed. + + - Otherwise, if one of the local workspace's dependencies exposes a binary with a matching name, this binary will get executed. + + - Otherwise, if the specified name contains a colon character and if one of the workspaces in the project contains exactly one script with a matching name, then this script will get executed. + + Whatever happens, the cwd of the spawned process will be the workspace that declares the script (which makes it possible to call commands cross-workspaces using the third syntax). + `,examples:[["Run the tests from the local workspace","$0 run test"],['Same thing, but without the "run" keyword',"$0 test"],["Inspect Webpack while running","$0 run --inspect-brk webpack"]]});je();je();qt();var n0=class extends ut{constructor(){super(...arguments);this.descriptor=ge.String();this.resolution=ge.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Nr.find(r);if(await o.restoreInstallState({restoreResolutions:!1}),!a)throw new sr(o.cwd,this.context.cwd);let u=j.parseDescriptor(this.descriptor,!0),A=j.makeDescriptor(u,this.resolution);return o.storedDescriptors.set(u.descriptorHash,u),o.storedDescriptors.set(A.descriptorHash,A),o.resolutionAliases.set(u.descriptorHash,A.descriptorHash),await o.installWithNewReport({stdout:this.context.stdout},{cache:n})}};n0.paths=[["set","resolution"]],n0.usage=it.Usage({description:"enforce a package resolution",details:'\n This command updates the resolution table so that `descriptor` is resolved by `resolution`.\n\n Note that by default this command only affect the current resolution table - meaning that this "manual override" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, edit the `resolutions` field in your top-level manifest.\n\n Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\n ',examples:[["Force all instances of lodash@npm:^1.2.3 to resolve to 1.5.0","$0 set resolution lodash@npm:^1.2.3 1.5.0"]]});je();Dt();qt();var ode=Ze(Xo()),i0=class extends ut{constructor(){super(...arguments);this.all=ge.Boolean("-A,--all",!1,{description:"Unlink all workspaces belonging to the target project from the current one"});this.leadingArguments=ge.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Nr.find(r);if(!a)throw new sr(o.cwd,this.context.cwd);let u=o.topLevelWorkspace,A=new Set;if(this.leadingArguments.length===0&&this.all)for(let{pattern:p,reference:h}of u.manifest.resolutions)h.startsWith("portal:")&&A.add(p.descriptor.fullName);if(this.leadingArguments.length>0)for(let p of this.leadingArguments){let h=z.resolve(this.context.cwd,ue.toPortablePath(p));if(He.isPathLike(p)){let E=await Ke.find(h,this.context.plugins,{useRc:!1,strict:!1}),{project:I,workspace:v}=await St.find(E,h);if(!v)throw new sr(I.cwd,h);if(this.all){for(let x of I.workspaces)x.manifest.name&&A.add(j.stringifyIdent(x.anchoredLocator));if(A.size===0)throw new st("No workspace found to be unlinked in the target project")}else{if(!v.manifest.name)throw new st("The target workspace doesn't have a name and thus cannot be unlinked");A.add(j.stringifyIdent(v.anchoredLocator))}}else{let E=[...u.manifest.resolutions.map(({pattern:I})=>I.descriptor.fullName)];for(let I of(0,ode.default)(E,p))A.add(I)}}return u.manifest.resolutions=u.manifest.resolutions.filter(({pattern:p})=>!A.has(p.descriptor.fullName)),await o.installWithNewReport({stdout:this.context.stdout,quiet:this.context.quiet},{cache:n})}};i0.paths=[["unlink"]],i0.usage=it.Usage({description:"disconnect the local project from another one",details:` + This command will remove any resolutions in the project-level manifest that would have been added via a yarn link with similar arguments. + `,examples:[["Unregister a remote workspace in the current project","$0 unlink ~/ts-loader"],["Unregister all workspaces from a remote project in the current project","$0 unlink ~/jest --all"],["Unregister all previously linked workspaces","$0 unlink --all"],["Unregister all workspaces matching a glob","$0 unlink '@babel/*' 'pkg-{a,b}'"]]});je();je();je();qt();var ade=Ze(p2()),q8=Ze(Xo());$a();var Jf=class extends ut{constructor(){super(...arguments);this.interactive=ge.Boolean("-i,--interactive",{description:"Offer various choices, depending on the detected upgrade paths"});this.fixed=ge.Boolean("-F,--fixed",!1,{description:"Store dependency tags as-is instead of resolving them"});this.exact=ge.Boolean("-E,--exact",!1,{description:"Don't use any semver modifier on the resolved range"});this.tilde=ge.Boolean("-T,--tilde",!1,{description:"Use the `~` semver modifier on the resolved range"});this.caret=ge.Boolean("-C,--caret",!1,{description:"Use the `^` semver modifier on the resolved range"});this.recursive=ge.Boolean("-R,--recursive",!1,{description:"Resolve again ALL resolutions for those packages"});this.mode=ge.String("--mode",{description:"Change what artifacts installs generate",validator:Js(hl)});this.patterns=ge.Rest()}async execute(){return this.recursive?await this.executeUpRecursive():await this.executeUpClassic()}async executeUpRecursive(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Nr.find(r);if(!a)throw new sr(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=[...o.storedDescriptors.values()],A=u.map(E=>j.stringifyIdent(E)),p=new Set;for(let E of this.patterns){if(j.parseDescriptor(E).range!=="unknown")throw new st("Ranges aren't allowed when using --recursive");for(let I of(0,q8.default)(A,E)){let v=j.parseIdent(I);p.add(v.identHash)}}let h=u.filter(E=>p.has(E.identHash));for(let E of h)o.storedDescriptors.delete(E.descriptorHash),o.storedResolutions.delete(E.descriptorHash);return await o.installWithNewReport({stdout:this.context.stdout},{cache:n,mode:this.mode})}async executeUpClassic(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Nr.find(r);if(!a)throw new sr(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=this.fixed,A=this.interactive??r.get("preferInteractive"),p=g2(this,o),h=A?["keep","reuse","project","latest"]:["project","latest"],E=[],I=[];for(let N of this.patterns){let U=!1,J=j.parseDescriptor(N),te=j.stringifyIdent(J);for(let ae of o.workspaces)for(let le of["dependencies","devDependencies"]){let we=[...ae.manifest.getForScope(le).values()].map(Be=>j.stringifyIdent(Be)),de=te==="*"?we:(0,q8.default)(we,te);for(let Be of de){let Ee=j.parseIdent(Be),g=ae.manifest[le].get(Ee.identHash);if(typeof g>"u")throw new Error("Assertion failed: Expected the descriptor to be registered");let me=j.makeDescriptor(Ee,J.range);E.push(Promise.resolve().then(async()=>[ae,le,g,await d2(me,{project:o,workspace:ae,cache:n,target:le,fixed:u,modifier:p,strategies:h})])),U=!0}}U||I.push(N)}if(I.length>1)throw new st(`Patterns ${pe.prettyList(r,I,pe.Type.CODE)} don't match any packages referenced by any workspace`);if(I.length>0)throw new st(`Pattern ${pe.prettyList(r,I,pe.Type.CODE)} doesn't match any packages referenced by any workspace`);let v=await Promise.all(E),x=await fA.start({configuration:r,stdout:this.context.stdout,suggestInstall:!1},async N=>{for(let[,,U,{suggestions:J,rejections:te}]of v){let ae=J.filter(le=>le.descriptor!==null);if(ae.length===0){let[le]=te;if(typeof le>"u")throw new Error("Assertion failed: Expected an error to have been set");let ce=this.cli.error(le);o.configuration.get("enableNetwork")?N.reportError(27,`${j.prettyDescriptor(r,U)} can't be resolved to a satisfying range + +${ce}`):N.reportError(27,`${j.prettyDescriptor(r,U)} can't be resolved to a satisfying range (note: network resolution has been disabled) + +${ce}`)}else ae.length>1&&!A&&N.reportError(27,`${j.prettyDescriptor(r,U)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(x.hasErrors())return x.exitCode();let C=!1,F=[];for(let[N,U,,{suggestions:J}]of v){let te,ae=J.filter(de=>de.descriptor!==null),le=ae[0].descriptor,ce=ae.every(de=>j.areDescriptorsEqual(de.descriptor,le));ae.length===1||ce?te=le:(C=!0,{answer:te}=await(0,ade.prompt)({type:"select",name:"answer",message:`Which range do you want to use in ${j.prettyWorkspace(r,N)} \u276F ${U}?`,choices:J.map(({descriptor:de,name:Be,reason:Ee})=>de?{name:Be,hint:Ee,descriptor:de}:{name:Be,hint:Ee,disabled:!0}),onCancel:()=>process.exit(130),result(de){return this.find(de,"descriptor")},stdin:this.context.stdin,stdout:this.context.stdout}));let we=N.manifest[U].get(te.identHash);if(typeof we>"u")throw new Error("Assertion failed: This descriptor should have a matching entry");if(we.descriptorHash!==te.descriptorHash)N.manifest[U].set(te.identHash,te),F.push([N,U,we,te]);else{let de=r.makeResolver(),Be={project:o,resolver:de},Ee=r.normalizeDependency(we),g=de.bindDescriptor(Ee,N.anchoredLocator,Be);o.forgetResolution(g)}}return await r.triggerMultipleHooks(N=>N.afterWorkspaceDependencyReplacement,F),C&&this.context.stdout.write(` +`),await o.installWithNewReport({stdout:this.context.stdout},{cache:n,mode:this.mode})}};Jf.paths=[["up"]],Jf.usage=it.Usage({description:"upgrade dependencies across the project",details:"\n This command upgrades the packages matching the list of specified patterns to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\n\n If `-R,--recursive` is set the command will change behavior and no other switch will be allowed. When operating under this mode `yarn up` will force all ranges matching the selected packages to be resolved again (often to the highest available versions) before being stored in the lockfile. It however won't touch your manifests anymore, so depending on your needs you might want to run both `yarn up` and `yarn up -R` to cover all bases.\n\n If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\n\n The, `-C,--caret`, `-E,--exact` and `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\n\n If the `--mode=` option is set, Yarn will change which artifacts are generated. The modes currently supported are:\n\n - `skip-build` will not run the build scripts at all. Note that this is different from setting `enableScripts` to false because the latter will disable build scripts, and thus affect the content of the artifacts generated on disk, whereas the former will just disable the build step - but not the scripts themselves, which just won't run.\n\n - `update-lockfile` will skip the link step altogether, and only fetch packages that are missing from the lockfile (or that have no associated checksums). This mode is typically used by tools like Renovate or Dependabot to keep a lockfile up-to-date without incurring the full install cost.\n\n Generally you can see `yarn up` as a counterpart to what was `yarn upgrade --latest` in Yarn 1 (ie it ignores the ranges previously listed in your manifests), but unlike `yarn upgrade` which only upgraded dependencies in the current workspace, `yarn up` will upgrade all workspaces at the same time.\n\n This command accepts glob patterns as arguments (if valid Descriptors and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n **Note:** The ranges have to be static, only the package scopes and names can contain glob patterns.\n ",examples:[["Upgrade all instances of lodash to the latest release","$0 up lodash"],["Upgrade all instances of lodash to the latest release, but ask confirmation for each","$0 up lodash -i"],["Upgrade all instances of lodash to 1.2.3","$0 up lodash@1.2.3"],["Upgrade all instances of packages with the `@babel` scope to the latest release","$0 up '@babel/*'"],["Upgrade all instances of packages containing the word `jest` to the latest release","$0 up '*jest*'"],["Upgrade all instances of packages with the `@babel` scope to 7.0.0","$0 up '@babel/*@7.0.0'"]]}),Jf.schema=[aI("recursive",Yu.Forbids,["interactive","exact","tilde","caret"],{ignore:[void 0,!1]})];je();je();je();qt();var s0=class extends ut{constructor(){super(...arguments);this.recursive=ge.Boolean("-R,--recursive",!1,{description:"List, for each workspace, what are all the paths that lead to the dependency"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.peers=ge.Boolean("--peers",!1,{description:"Also print the peer dependencies that match the specified name"});this.package=ge.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new sr(o.cwd,this.context.cwd);await o.restoreInstallState();let n=j.parseIdent(this.package).identHash,u=this.recursive?ogt(o,n,{configuration:r,peers:this.peers}):sgt(o,n,{configuration:r,peers:this.peers});fs.emitTree(u,{configuration:r,stdout:this.context.stdout,json:this.json,separators:1})}};s0.paths=[["why"]],s0.usage=it.Usage({description:"display the reason why a package is needed",details:` + This command prints the exact reasons why a package appears in the dependency tree. + + If \`-R,--recursive\` is set, the listing will go in depth and will list, for each workspaces, what are all the paths that lead to the dependency. Note that the display is somewhat optimized in that it will not print the package listing twice for a single package, so if you see a leaf named "Foo" when looking for "Bar", it means that "Foo" already got printed higher in the tree. + `,examples:[["Explain why lodash is used in your project","$0 why lodash"]]});function sgt(t,e,{configuration:r,peers:o}){let a=He.sortMap(t.storedPackages.values(),A=>j.stringifyLocator(A)),n={},u={children:n};for(let A of a){let p={};for(let E of A.dependencies.values()){if(!o&&A.peerDependencies.has(E.identHash))continue;let I=t.storedResolutions.get(E.descriptorHash);if(!I)throw new Error("Assertion failed: The resolution should have been registered");let v=t.storedPackages.get(I);if(!v)throw new Error("Assertion failed: The package should have been registered");if(v.identHash!==e)continue;{let C=j.stringifyLocator(A);n[C]={value:[A,pe.Type.LOCATOR],children:p}}let x=j.stringifyLocator(v);p[x]={value:[{descriptor:E,locator:v},pe.Type.DEPENDENT]}}}return u}function ogt(t,e,{configuration:r,peers:o}){let a=He.sortMap(t.workspaces,v=>j.stringifyLocator(v.anchoredLocator)),n=new Set,u=new Set,A=v=>{if(n.has(v.locatorHash))return u.has(v.locatorHash);if(n.add(v.locatorHash),v.identHash===e)return u.add(v.locatorHash),!0;let x=!1;v.identHash===e&&(x=!0);for(let C of v.dependencies.values()){if(!o&&v.peerDependencies.has(C.identHash))continue;let F=t.storedResolutions.get(C.descriptorHash);if(!F)throw new Error("Assertion failed: The resolution should have been registered");let N=t.storedPackages.get(F);if(!N)throw new Error("Assertion failed: The package should have been registered");A(N)&&(x=!0)}return x&&u.add(v.locatorHash),x};for(let v of a)A(v.anchoredPackage);let p=new Set,h={},E={children:h},I=(v,x,C)=>{if(!u.has(v.locatorHash))return;let F=C!==null?pe.tuple(pe.Type.DEPENDENT,{locator:v,descriptor:C}):pe.tuple(pe.Type.LOCATOR,v),N={},U={value:F,children:N},J=j.stringifyLocator(v);if(x[J]=U,!(C!==null&&t.tryWorkspaceByLocator(v))&&!p.has(v.locatorHash)){p.add(v.locatorHash);for(let te of v.dependencies.values()){if(!o&&v.peerDependencies.has(te.identHash))continue;let ae=t.storedResolutions.get(te.descriptorHash);if(!ae)throw new Error("Assertion failed: The resolution should have been registered");let le=t.storedPackages.get(ae);if(!le)throw new Error("Assertion failed: The package should have been registered");I(le,N,te)}}};for(let v of a)I(v.anchoredPackage,h,null);return E}je();var Z8={};zt(Z8,{GitFetcher:()=>I2,GitResolver:()=>B2,default:()=>Sgt,gitUtils:()=>ra});je();Dt();var ra={};zt(ra,{TreeishProtocols:()=>w2,clone:()=>X8,fetchBase:()=>xde,fetchChangedFiles:()=>kde,fetchChangedWorkspaces:()=>Pgt,fetchRoot:()=>bde,isGitUrl:()=>yC,lsRemote:()=>Sde,normalizeLocator:()=>vgt,normalizeRepoUrl:()=>dC,resolveUrl:()=>V8,splitRepoUrl:()=>o0,validateRepoUrl:()=>J8});je();Dt();qt();var vde=Ze(wde()),Pde=Ze(mU()),mC=Ze(ve("querystring")),K8=Ze(Vn());function W8(t,e,r){let o=t.indexOf(r);return t.lastIndexOf(e,o>-1?o:1/0)}function Ide(t){try{return new URL(t)}catch{return}}function Igt(t){let e=W8(t,"@","#"),r=W8(t,":","#");return r>e&&(t=`${t.slice(0,r)}/${t.slice(r+1)}`),W8(t,":","#")===-1&&t.indexOf("//")===-1&&(t=`ssh://${t}`),t}function Bde(t){return Ide(t)||Ide(Igt(t))}function dC(t,{git:e=!1}={}){if(t=t.replace(/^git\+https:/,"https:"),t=t.replace(/^(?:github:|https:\/\/github\.com\/|git:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\.git)?(#.*)?$/,"https://github.com/$1/$2.git$3"),t=t.replace(/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/,"https://github.com/$1/$2.git#$3"),e){let r=Bde(t);r&&(t=r.href),t=t.replace(/^git\+([^:]+):/,"$1:")}return t}function Dde(){return{...process.env,GIT_SSH_COMMAND:process.env.GIT_SSH_COMMAND||`${process.env.GIT_SSH||"ssh"} -o BatchMode=yes`}}var Bgt=[/^ssh:/,/^git(?:\+[^:]+)?:/,/^(?:git\+)?https?:[^#]+\/[^#]+(?:\.git)(?:#.*)?$/,/^git@[^#]+\/[^#]+\.git(?:#.*)?$/,/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z._0-9-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\.git)?(?:#.*)?$/,/^https:\/\/github\.com\/(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)\/tarball\/(.+)?$/],w2=(a=>(a.Commit="commit",a.Head="head",a.Tag="tag",a.Semver="semver",a))(w2||{});function yC(t){return t?Bgt.some(e=>!!t.match(e)):!1}function o0(t){t=dC(t);let e=t.indexOf("#");if(e===-1)return{repo:t,treeish:{protocol:"head",request:"HEAD"},extra:{}};let r=t.slice(0,e),o=t.slice(e+1);if(o.match(/^[a-z]+=/)){let a=mC.default.parse(o);for(let[p,h]of Object.entries(a))if(typeof h!="string")throw new Error(`Assertion failed: The ${p} parameter must be a literal string`);let n=Object.values(w2).find(p=>Object.hasOwn(a,p)),[u,A]=typeof n<"u"?[n,a[n]]:["head","HEAD"];for(let p of Object.values(w2))delete a[p];return{repo:r,treeish:{protocol:u,request:A},extra:a}}else{let a=o.indexOf(":"),[n,u]=a===-1?[null,o]:[o.slice(0,a),o.slice(a+1)];return{repo:r,treeish:{protocol:n,request:u},extra:{}}}}function vgt(t){return j.makeLocator(t,dC(t.reference))}function J8(t,{configuration:e}){let r=dC(t,{git:!0});if(!sn.getNetworkSettings(`https://${(0,vde.default)(r).resource}`,{configuration:e}).enableNetwork)throw new Vt(80,`Request to '${r}' has been blocked because of your configuration settings`);return r}async function Sde(t,e){let r=J8(t,{configuration:e}),o=await z8("listing refs",["ls-remote",r],{cwd:e.startingCwd,env:Dde()},{configuration:e,normalizedRepoUrl:r}),a=new Map,n=/^([a-f0-9]{40})\t([^\n]+)/gm,u;for(;(u=n.exec(o.stdout))!==null;)a.set(u[2],u[1]);return a}async function V8(t,e){let{repo:r,treeish:{protocol:o,request:a},extra:n}=o0(t),u=await Sde(r,e),A=(h,E)=>{switch(h){case"commit":{if(!E.match(/^[a-f0-9]{40}$/))throw new Error("Invalid commit hash");return mC.default.stringify({...n,commit:E})}case"head":{let I=u.get(E==="HEAD"?E:`refs/heads/${E}`);if(typeof I>"u")throw new Error(`Unknown head ("${E}")`);return mC.default.stringify({...n,commit:I})}case"tag":{let I=u.get(`refs/tags/${E}`);if(typeof I>"u")throw new Error(`Unknown tag ("${E}")`);return mC.default.stringify({...n,commit:I})}case"semver":{let I=Lr.validRange(E);if(!I)throw new Error(`Invalid range ("${E}")`);let v=new Map([...u.entries()].filter(([C])=>C.startsWith("refs/tags/")).map(([C,F])=>[K8.default.parse(C.slice(10)),F]).filter(C=>C[0]!==null)),x=K8.default.maxSatisfying([...v.keys()],I);if(x===null)throw new Error(`No matching range ("${E}")`);return mC.default.stringify({...n,commit:v.get(x)})}case null:{let I;if((I=p("commit",E))!==null||(I=p("tag",E))!==null||(I=p("head",E))!==null)return I;throw E.match(/^[a-f0-9]+$/)?new Error(`Couldn't resolve "${E}" as either a commit, a tag, or a head - if a commit, use the 40-characters commit hash`):new Error(`Couldn't resolve "${E}" as either a commit, a tag, or a head`)}default:throw new Error(`Invalid Git resolution protocol ("${h}")`)}},p=(h,E)=>{try{return A(h,E)}catch{return null}};return dC(`${r}#${A(o,a)}`)}async function X8(t,e){return await e.getLimit("cloneConcurrency")(async()=>{let{repo:r,treeish:{protocol:o,request:a}}=o0(t);if(o!=="commit")throw new Error("Invalid treeish protocol when cloning");let n=J8(r,{configuration:e}),u=await oe.mktempPromise(),A={cwd:u,env:Dde()};return await z8("cloning the repository",["clone","-c core.autocrlf=false",n,ue.fromPortablePath(u)],A,{configuration:e,normalizedRepoUrl:n}),await z8("switching branch",["checkout",`${a}`],A,{configuration:e,normalizedRepoUrl:n}),u})}async function bde(t){let e,r=t;do{if(e=r,await oe.existsPromise(z.join(e,".git")))return e;r=z.dirname(e)}while(r!==e);return null}async function xde(t,{baseRefs:e}){if(e.length===0)throw new st("Can't run this command with zero base refs specified.");let r=[];for(let A of e){let{code:p}=await Ur.execvp("git",["merge-base",A,"HEAD"],{cwd:t});p===0&&r.push(A)}if(r.length===0)throw new st(`No ancestor could be found between any of HEAD and ${e.join(", ")}`);let{stdout:o}=await Ur.execvp("git",["merge-base","HEAD",...r],{cwd:t,strict:!0}),a=o.trim(),{stdout:n}=await Ur.execvp("git",["show","--quiet","--pretty=format:%s",a],{cwd:t,strict:!0}),u=n.trim();return{hash:a,title:u}}async function kde(t,{base:e,project:r}){let o=He.buildIgnorePattern(r.configuration.get("changesetIgnorePatterns")),{stdout:a}=await Ur.execvp("git",["diff","--name-only",`${e}`],{cwd:t,strict:!0}),n=a.split(/\r\n|\r|\n/).filter(h=>h.length>0).map(h=>z.resolve(t,ue.toPortablePath(h))),{stdout:u}=await Ur.execvp("git",["ls-files","--others","--exclude-standard"],{cwd:t,strict:!0}),A=u.split(/\r\n|\r|\n/).filter(h=>h.length>0).map(h=>z.resolve(t,ue.toPortablePath(h))),p=[...new Set([...n,...A].sort())];return o?p.filter(h=>!z.relative(r.cwd,h).match(o)):p}async function Pgt({ref:t,project:e}){if(e.configuration.projectCwd===null)throw new st("This command can only be run from within a Yarn project");let r=[z.resolve(e.cwd,dr.lockfile),z.resolve(e.cwd,e.configuration.get("cacheFolder")),z.resolve(e.cwd,e.configuration.get("installStatePath")),z.resolve(e.cwd,e.configuration.get("virtualFolder"))];await e.configuration.triggerHook(u=>u.populateYarnPaths,e,u=>{u!=null&&r.push(u)});let o=await bde(e.configuration.projectCwd);if(o==null)throw new st("This command can only be run on Git repositories");let a=await xde(o,{baseRefs:typeof t=="string"?[t]:e.configuration.get("changesetBaseRefs")}),n=await kde(o,{base:a.hash,project:e});return new Set(He.mapAndFilter(n,u=>{let A=e.tryWorkspaceByFilePath(u);return A===null?He.mapAndFilter.skip:r.some(p=>u.startsWith(p))?He.mapAndFilter.skip:A}))}async function z8(t,e,r,{configuration:o,normalizedRepoUrl:a}){try{return await Ur.execvp("git",e,{...r,strict:!0})}catch(n){if(!(n instanceof Ur.ExecError))throw n;let u=n.reportExtra,A=n.stderr.toString();throw new Vt(1,`Failed ${t}`,p=>{p.reportError(1,` ${pe.prettyField(o,{label:"Repository URL",value:pe.tuple(pe.Type.URL,a)})}`);for(let h of A.matchAll(/^(.+?): (.*)$/gm)){let[,E,I]=h;E=E.toLowerCase();let v=E==="error"?"Error":`${(0,Pde.default)(E)} Error`;p.reportError(1,` ${pe.prettyField(o,{label:v,value:pe.tuple(pe.Type.NO_HINT,I)})}`)}u?.(p)})}}var I2=class{supports(e,r){return yC(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,a=new Map(r.checksums);a.set(e.locatorHash,o);let n={...r,checksums:a},u=await this.downloadHosted(e,n);if(u!==null)return u;let[A,p,h]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${j.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote repository`),loader:()=>this.cloneFromRemote(e,n),...r.cacheOptions});return{packageFs:A,releaseFs:p,prefixPath:j.getIdentVendorPath(e),checksum:h}}async downloadHosted(e,r){return r.project.configuration.reduceHook(o=>o.fetchHostedRepository,null,e,r)}async cloneFromRemote(e,r){let o=await X8(e.reference,r.project.configuration),a=o0(e.reference),n=z.join(o,"package.tgz");await An.prepareExternalProject(o,n,{configuration:r.project.configuration,report:r.report,workspace:a.extra.workspace,locator:e});let u=await oe.readFilePromise(n);return await He.releaseAfterUseAsync(async()=>await Zi.convertToZip(u,{configuration:r.project.configuration,prefixPath:j.getIdentVendorPath(e),stripComponents:1}))}};je();je();var B2=class{supportsDescriptor(e,r){return yC(e.range)}supportsLocator(e,r){return yC(e.reference)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=await V8(e.range,o.project.configuration);return[j.makeLocator(e,a)]}async getSatisfying(e,r,o,a){let n=o0(e.range);return{locators:o.filter(A=>{if(A.identHash!==e.identHash)return!1;let p=o0(A.reference);return!(n.repo!==p.repo||n.treeish.protocol==="commit"&&n.treeish.request!==p.treeish.request)}),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await He.releaseAfterUseAsync(async()=>await Ot.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var Dgt={configuration:{changesetBaseRefs:{description:"The base git refs that the current HEAD is compared against when detecting changes. Supports git branches, tags, and commits.",type:"STRING",isArray:!0,isNullable:!1,default:["master","origin/master","upstream/master","main","origin/main","upstream/main"]},changesetIgnorePatterns:{description:"Array of glob patterns; files matching them will be ignored when fetching the changed files",type:"STRING",default:[],isArray:!0},cloneConcurrency:{description:"Maximal number of concurrent clones",type:"NUMBER",default:2}},fetchers:[I2],resolvers:[B2]};var Sgt=Dgt;qt();var a0=class extends ut{constructor(){super(...arguments);this.since=ge.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.recursive=ge.Boolean("-R,--recursive",!1,{description:"Find packages via dependencies/devDependencies instead of using the workspaces field"});this.noPrivate=ge.Boolean("--no-private",{description:"Exclude workspaces that have the private field set to true"});this.verbose=ge.Boolean("-v,--verbose",!1,{description:"Also return the cross-dependencies between workspaces"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd);return(await Ft.start({configuration:r,json:this.json,stdout:this.context.stdout},async n=>{let u=this.since?await ra.fetchChangedWorkspaces({ref:this.since,project:o}):o.workspaces,A=new Set(u);if(this.recursive)for(let p of[...u].map(h=>h.getRecursiveWorkspaceDependents()))for(let h of p)A.add(h);for(let p of A){let{manifest:h}=p;if(h.private&&this.noPrivate)continue;let E;if(this.verbose){let I=new Set,v=new Set;for(let x of Ot.hardDependencies)for(let[C,F]of h.getForScope(x)){let N=o.tryWorkspaceByDescriptor(F);N===null?o.workspacesByIdent.has(C)&&v.add(F):I.add(N)}E={workspaceDependencies:Array.from(I).map(x=>x.relativeCwd),mismatchedWorkspaceDependencies:Array.from(v).map(x=>j.stringifyDescriptor(x))}}n.reportInfo(null,`${p.relativeCwd}`),n.reportJson({location:p.relativeCwd,name:h.name?j.stringifyIdent(h.name):null,...E})}})).exitCode()}};a0.paths=[["workspaces","list"]],a0.usage=it.Usage({category:"Workspace-related commands",description:"list all available workspaces",details:"\n This command will print the list of all workspaces in the project.\n\n - If `--since` is set, Yarn will only list workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If `--no-private` is set, Yarn will not list any workspaces that have the `private` field set to `true`.\n\n - If both the `-v,--verbose` and `--json` options are set, Yarn will also return the cross-dependencies between each workspaces (useful when you wish to automatically generate Buck / Bazel rules).\n "});je();je();qt();var l0=class extends ut{constructor(){super(...arguments);this.workspaceName=ge.String();this.commandName=ge.String();this.args=ge.Proxy()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new sr(o.cwd,this.context.cwd);let n=o.workspaces,u=new Map(n.map(p=>[j.stringifyIdent(p.anchoredLocator),p])),A=u.get(this.workspaceName);if(A===void 0){let p=Array.from(u.keys()).sort();throw new st(`Workspace '${this.workspaceName}' not found. Did you mean any of the following: + - ${p.join(` + - `)}?`)}return this.cli.run([this.commandName,...this.args],{cwd:A.cwd})}};l0.paths=[["workspace"]],l0.usage=it.Usage({category:"Workspace-related commands",description:"run a command within the specified workspace",details:` + This command will run a given sub-command on a single workspace. + `,examples:[["Add a package to a single workspace","yarn workspace components add -D react"],["Run build script on a single workspace","yarn workspace components run build"]]});var bgt={configuration:{enableImmutableInstalls:{description:"If true (the default on CI), prevents the install command from modifying the lockfile",type:"BOOLEAN",default:Qde.isCI},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:"STRING",values:["^","~",""],default:"^"},preferReuse:{description:"If true, `yarn add` will attempt to reuse the most common dependency range in other workspaces.",type:"BOOLEAN",default:!1}},commands:[Fh,Th,Lh,Nh,n0,Jh,Hh,a0,Kd,zd,gC,Jd,Qh,Rh,Oh,Mh,Uh,_h,qh,Gh,jh,Yh,i0,Wh,Kh,Xh,Vh,Zh,zh,$h,e0,t0,Xd,r0,Jf,s0,l0]},xgt=bgt;var iH={};zt(iH,{default:()=>Qgt});je();var kt={optional:!0},eH=[["@tailwindcss/aspect-ratio@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@tailwindcss/line-clamp@<0.2.1",{peerDependencies:{tailwindcss:"^2.0.2"}}],["@fullhuman/postcss-purgecss@3.1.3 || 3.1.3-alpha.0",{peerDependencies:{postcss:"^8.0.0"}}],["@samverschueren/stream-to-observable@<0.3.1",{peerDependenciesMeta:{rxjs:kt,zenObservable:kt}}],["any-observable@<0.5.1",{peerDependenciesMeta:{rxjs:kt,zenObservable:kt}}],["@pm2/agent@<1.0.4",{dependencies:{debug:"*"}}],["debug@<4.2.0",{peerDependenciesMeta:{["supports-color"]:kt}}],["got@<11",{dependencies:{["@types/responselike"]:"^1.0.0",["@types/keyv"]:"^3.1.1"}}],["cacheable-lookup@<4.1.2",{dependencies:{["@types/keyv"]:"^3.1.1"}}],["http-link-dataloader@*",{peerDependencies:{graphql:"^0.13.1 || ^14.0.0"}}],["typescript-language-server@*",{dependencies:{["vscode-jsonrpc"]:"^5.0.1",["vscode-languageserver-protocol"]:"^3.15.0"}}],["postcss-syntax@*",{peerDependenciesMeta:{["postcss-html"]:kt,["postcss-jsx"]:kt,["postcss-less"]:kt,["postcss-markdown"]:kt,["postcss-scss"]:kt}}],["jss-plugin-rule-value-function@<=10.1.1",{dependencies:{["tiny-warning"]:"^1.0.2"}}],["ink-select-input@<4.1.0",{peerDependencies:{react:"^16.8.2"}}],["license-webpack-plugin@<2.3.18",{peerDependenciesMeta:{webpack:kt}}],["snowpack@>=3.3.0",{dependencies:{["node-gyp"]:"^7.1.0"}}],["promise-inflight@*",{peerDependenciesMeta:{bluebird:kt}}],["reactcss@*",{peerDependencies:{react:"*"}}],["react-color@<=2.19.0",{peerDependencies:{react:"*"}}],["gatsby-plugin-i18n@*",{dependencies:{ramda:"^0.24.1"}}],["useragent@^2.0.0",{dependencies:{request:"^2.88.0",yamlparser:"0.0.x",semver:"5.5.x"}}],["@apollographql/apollo-tools@<=0.5.2",{peerDependencies:{graphql:"^14.2.1 || ^15.0.0"}}],["material-table@^2.0.0",{dependencies:{"@babel/runtime":"^7.11.2"}}],["@babel/parser@*",{dependencies:{"@babel/types":"^7.8.3"}}],["fork-ts-checker-webpack-plugin@<=6.3.4",{peerDependencies:{eslint:">= 6",typescript:">= 2.7",webpack:">= 4","vue-template-compiler":"*"},peerDependenciesMeta:{eslint:kt,"vue-template-compiler":kt}}],["rc-animate@<=3.1.1",{peerDependencies:{react:">=16.9.0","react-dom":">=16.9.0"}}],["react-bootstrap-table2-paginator@*",{dependencies:{classnames:"^2.2.6"}}],["react-draggable@<=4.4.3",{peerDependencies:{react:">= 16.3.0","react-dom":">= 16.3.0"}}],["apollo-upload-client@<14",{peerDependencies:{graphql:"14 - 15"}}],["react-instantsearch-core@<=6.7.0",{peerDependencies:{algoliasearch:">= 3.1 < 5"}}],["react-instantsearch-dom@<=6.7.0",{dependencies:{"react-fast-compare":"^3.0.0"}}],["ws@<7.2.1",{peerDependencies:{bufferutil:"^4.0.1","utf-8-validate":"^5.0.2"},peerDependenciesMeta:{bufferutil:kt,"utf-8-validate":kt}}],["react-portal@<4.2.2",{peerDependencies:{"react-dom":"^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0"}}],["react-scripts@<=4.0.1",{peerDependencies:{react:"*"}}],["testcafe@<=1.10.1",{dependencies:{"@babel/plugin-transform-for-of":"^7.12.1","@babel/runtime":"^7.12.5"}}],["testcafe-legacy-api@<=4.2.0",{dependencies:{"testcafe-hammerhead":"^17.0.1","read-file-relative":"^1.2.0"}}],["@google-cloud/firestore@<=4.9.3",{dependencies:{protobufjs:"^6.8.6"}}],["gatsby-source-apiserver@*",{dependencies:{["babel-polyfill"]:"^6.26.0"}}],["@webpack-cli/package-utils@<=1.0.1-alpha.4",{dependencies:{["cross-spawn"]:"^7.0.3"}}],["gatsby-remark-prismjs@<3.3.28",{dependencies:{lodash:"^4"}}],["gatsby-plugin-favicon@*",{peerDependencies:{webpack:"*"}}],["gatsby-plugin-sharp@<=4.6.0-next.3",{dependencies:{debug:"^4.3.1"}}],["gatsby-react-router-scroll@<=5.6.0-next.0",{dependencies:{["prop-types"]:"^15.7.2"}}],["@rebass/forms@*",{dependencies:{["@styled-system/should-forward-prop"]:"^5.0.0"},peerDependencies:{react:"^16.8.6"}}],["rebass@*",{peerDependencies:{react:"^16.8.6"}}],["@ant-design/react-slick@<=0.28.3",{peerDependencies:{react:">=16.0.0"}}],["mqtt@<4.2.7",{dependencies:{duplexify:"^4.1.1"}}],["vue-cli-plugin-vuetify@<=2.0.3",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":kt,"vuetify-loader":kt}}],["vue-cli-plugin-vuetify@<=2.0.4",{dependencies:{"null-loader":"^3.0.0"}}],["vue-cli-plugin-vuetify@>=2.4.3",{peerDependencies:{vue:"*"}}],["@vuetify/cli-plugin-utils@<=0.0.4",{dependencies:{semver:"^6.3.0"},peerDependenciesMeta:{"sass-loader":kt}}],["@vue/cli-plugin-typescript@<=5.0.0-alpha.0",{dependencies:{"babel-loader":"^8.1.0"}}],["@vue/cli-plugin-typescript@<=5.0.0-beta.0",{dependencies:{"@babel/core":"^7.12.16"},peerDependencies:{"vue-template-compiler":"^2.0.0"},peerDependenciesMeta:{"vue-template-compiler":kt}}],["cordova-ios@<=6.3.0",{dependencies:{underscore:"^1.9.2"}}],["cordova-lib@<=10.0.1",{dependencies:{underscore:"^1.9.2"}}],["git-node-fs@*",{peerDependencies:{"js-git":"^0.7.8"},peerDependenciesMeta:{"js-git":kt}}],["consolidate@<0.16.0",{peerDependencies:{mustache:"^3.0.0"},peerDependenciesMeta:{mustache:kt}}],["consolidate@<=0.16.0",{peerDependencies:{velocityjs:"^2.0.1",tinyliquid:"^0.2.34","liquid-node":"^3.0.1",jade:"^1.11.0","then-jade":"*",dust:"^0.3.0","dustjs-helpers":"^1.7.4","dustjs-linkedin":"^2.7.5",swig:"^1.4.2","swig-templates":"^2.0.3","razor-tmpl":"^1.3.1",atpl:">=0.7.6",liquor:"^0.0.5",twig:"^1.15.2",ejs:"^3.1.5",eco:"^1.1.0-rc-3",jazz:"^0.0.18",jqtpl:"~1.1.0",hamljs:"^0.6.2",hamlet:"^0.3.3",whiskers:"^0.4.0","haml-coffee":"^1.14.1","hogan.js":"^3.0.2",templayed:">=0.2.3",handlebars:"^4.7.6",underscore:"^1.11.0",lodash:"^4.17.20",pug:"^3.0.0","then-pug":"*",qejs:"^3.0.5",walrus:"^0.10.1",mustache:"^4.0.1",just:"^0.1.8",ect:"^0.5.9",mote:"^0.2.0",toffee:"^0.3.6",dot:"^1.1.3","bracket-template":"^1.1.5",ractive:"^1.3.12",nunjucks:"^3.2.2",htmling:"^0.0.8","babel-core":"^6.26.3",plates:"~0.4.11","react-dom":"^16.13.1",react:"^16.13.1","arc-templates":"^0.5.3",vash:"^0.13.0",slm:"^2.0.0",marko:"^3.14.4",teacup:"^2.0.0","coffee-script":"^1.12.7",squirrelly:"^5.1.0",twing:"^5.0.2"},peerDependenciesMeta:{velocityjs:kt,tinyliquid:kt,"liquid-node":kt,jade:kt,"then-jade":kt,dust:kt,"dustjs-helpers":kt,"dustjs-linkedin":kt,swig:kt,"swig-templates":kt,"razor-tmpl":kt,atpl:kt,liquor:kt,twig:kt,ejs:kt,eco:kt,jazz:kt,jqtpl:kt,hamljs:kt,hamlet:kt,whiskers:kt,"haml-coffee":kt,"hogan.js":kt,templayed:kt,handlebars:kt,underscore:kt,lodash:kt,pug:kt,"then-pug":kt,qejs:kt,walrus:kt,mustache:kt,just:kt,ect:kt,mote:kt,toffee:kt,dot:kt,"bracket-template":kt,ractive:kt,nunjucks:kt,htmling:kt,"babel-core":kt,plates:kt,"react-dom":kt,react:kt,"arc-templates":kt,vash:kt,slm:kt,marko:kt,teacup:kt,"coffee-script":kt,squirrelly:kt,twing:kt}}],["vue-loader@<=16.3.3",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",webpack:"^4.1.0 || ^5.0.0-0"},peerDependenciesMeta:{"@vue/compiler-sfc":kt}}],["vue-loader@^16.7.0",{peerDependencies:{"@vue/compiler-sfc":"^3.0.8",vue:"^3.2.13"},peerDependenciesMeta:{"@vue/compiler-sfc":kt,vue:kt}}],["scss-parser@<=1.0.5",{dependencies:{lodash:"^4.17.21"}}],["query-ast@<1.0.5",{dependencies:{lodash:"^4.17.21"}}],["redux-thunk@<=2.3.0",{peerDependencies:{redux:"^4.0.0"}}],["skypack@<=0.3.2",{dependencies:{tar:"^6.1.0"}}],["@npmcli/metavuln-calculator@<2.0.0",{dependencies:{"json-parse-even-better-errors":"^2.3.1"}}],["bin-links@<2.3.0",{dependencies:{"mkdirp-infer-owner":"^1.0.2"}}],["rollup-plugin-polyfill-node@<=0.8.0",{peerDependencies:{rollup:"^1.20.0 || ^2.0.0"}}],["snowpack@<3.8.6",{dependencies:{"magic-string":"^0.25.7"}}],["elm-webpack-loader@*",{dependencies:{temp:"^0.9.4"}}],["winston-transport@<=4.4.0",{dependencies:{logform:"^2.2.0"}}],["jest-vue-preprocessor@*",{dependencies:{"@babel/core":"7.8.7","@babel/template":"7.8.6"},peerDependencies:{pug:"^2.0.4"},peerDependenciesMeta:{pug:kt}}],["redux-persist@*",{peerDependencies:{react:">=16"},peerDependenciesMeta:{react:kt}}],["sodium@>=3",{dependencies:{"node-gyp":"^3.8.0"}}],["babel-plugin-graphql-tag@<=3.1.0",{peerDependencies:{graphql:"^14.0.0 || ^15.0.0"}}],["@playwright/test@<=1.14.1",{dependencies:{"jest-matcher-utils":"^26.4.2"}}],...["babel-plugin-remove-graphql-queries@<3.14.0-next.1","babel-preset-gatsby-package@<1.14.0-next.1","create-gatsby@<1.14.0-next.1","gatsby-admin@<0.24.0-next.1","gatsby-cli@<3.14.0-next.1","gatsby-core-utils@<2.14.0-next.1","gatsby-design-tokens@<3.14.0-next.1","gatsby-legacy-polyfills@<1.14.0-next.1","gatsby-plugin-benchmark-reporting@<1.14.0-next.1","gatsby-plugin-graphql-config@<0.23.0-next.1","gatsby-plugin-image@<1.14.0-next.1","gatsby-plugin-mdx@<2.14.0-next.1","gatsby-plugin-netlify-cms@<5.14.0-next.1","gatsby-plugin-no-sourcemaps@<3.14.0-next.1","gatsby-plugin-page-creator@<3.14.0-next.1","gatsby-plugin-preact@<5.14.0-next.1","gatsby-plugin-preload-fonts@<2.14.0-next.1","gatsby-plugin-schema-snapshot@<2.14.0-next.1","gatsby-plugin-styletron@<6.14.0-next.1","gatsby-plugin-subfont@<3.14.0-next.1","gatsby-plugin-utils@<1.14.0-next.1","gatsby-recipes@<0.25.0-next.1","gatsby-source-shopify@<5.6.0-next.1","gatsby-source-wikipedia@<3.14.0-next.1","gatsby-transformer-screenshot@<3.14.0-next.1","gatsby-worker@<0.5.0-next.1"].map(t=>[t,{dependencies:{"@babel/runtime":"^7.14.8"}}]),["gatsby-core-utils@<2.14.0-next.1",{dependencies:{got:"8.3.2"}}],["gatsby-plugin-gatsby-cloud@<=3.1.0-next.0",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["gatsby-plugin-gatsby-cloud@<=3.2.0-next.1",{peerDependencies:{webpack:"*"}}],["babel-plugin-remove-graphql-queries@<=3.14.0-next.1",{dependencies:{"gatsby-core-utils":"^2.8.0-next.1"}}],["gatsby-plugin-netlify@3.13.0-next.1",{dependencies:{"gatsby-core-utils":"^2.13.0-next.0"}}],["clipanion-v3-codemod@<=0.2.0",{peerDependencies:{jscodeshift:"^0.11.0"}}],["react-live@*",{peerDependencies:{"react-dom":"*",react:"*"}}],["webpack@<4.44.1",{peerDependenciesMeta:{"webpack-cli":kt,"webpack-command":kt}}],["webpack@<5.0.0-beta.23",{peerDependenciesMeta:{"webpack-cli":kt}}],["webpack-dev-server@<3.10.2",{peerDependenciesMeta:{"webpack-cli":kt}}],["@docusaurus/responsive-loader@<1.5.0",{peerDependenciesMeta:{sharp:kt,jimp:kt}}],["eslint-module-utils@*",{peerDependenciesMeta:{"eslint-import-resolver-node":kt,"eslint-import-resolver-typescript":kt,"eslint-import-resolver-webpack":kt,"@typescript-eslint/parser":kt}}],["eslint-plugin-import@*",{peerDependenciesMeta:{"@typescript-eslint/parser":kt}}],["critters-webpack-plugin@<3.0.2",{peerDependenciesMeta:{"html-webpack-plugin":kt}}],["terser@<=5.10.0",{dependencies:{acorn:"^8.5.0"}}],["babel-preset-react-app@10.0.x <10.0.2",{dependencies:{"@babel/plugin-proposal-private-property-in-object":"^7.16.7"}}],["eslint-config-react-app@*",{peerDependenciesMeta:{typescript:kt}}],["@vue/eslint-config-typescript@<11.0.0",{peerDependenciesMeta:{typescript:kt}}],["unplugin-vue2-script-setup@<0.9.1",{peerDependencies:{"@vue/composition-api":"^1.4.3","@vue/runtime-dom":"^3.2.26"}}],["@cypress/snapshot@*",{dependencies:{debug:"^3.2.7"}}],["auto-relay@<=0.14.0",{peerDependencies:{"reflect-metadata":"^0.1.13"}}],["vue-template-babel-compiler@<1.2.0",{peerDependencies:{["vue-template-compiler"]:"^2.6.0"}}],["@parcel/transformer-image@<2.5.0",{peerDependencies:{["@parcel/core"]:"*"}}],["@parcel/transformer-js@<2.5.0",{peerDependencies:{["@parcel/core"]:"*"}}],["parcel@*",{peerDependenciesMeta:{["@parcel/core"]:kt}}],["react-scripts@*",{peerDependencies:{eslint:"*"}}],["focus-trap-react@^8.0.0",{dependencies:{tabbable:"^5.3.2"}}],["react-rnd@<10.3.7",{peerDependencies:{react:">=16.3.0","react-dom":">=16.3.0"}}],["connect-mongo@<5.0.0",{peerDependencies:{"express-session":"^1.17.1"}}],["vue-i18n@<9",{peerDependencies:{vue:"^2"}}],["vue-router@<4",{peerDependencies:{vue:"^2"}}],["unified@<10",{dependencies:{"@types/unist":"^2.0.0"}}],["react-github-btn@<=1.3.0",{peerDependencies:{react:">=16.3.0"}}],["react-dev-utils@*",{peerDependencies:{typescript:">=2.7",webpack:">=4"},peerDependenciesMeta:{typescript:kt}}],["@asyncapi/react-component@<=1.0.0-next.39",{peerDependencies:{react:">=16.8.0","react-dom":">=16.8.0"}}],["xo@*",{peerDependencies:{webpack:">=1.11.0"},peerDependenciesMeta:{webpack:kt}}],["babel-plugin-remove-graphql-queries@<=4.20.0-next.0",{dependencies:{"@babel/types":"^7.15.4"}}],["gatsby-plugin-page-creator@<=4.20.0-next.1",{dependencies:{"fs-extra":"^10.1.0"}}],["gatsby-plugin-utils@<=3.14.0-next.1",{dependencies:{fastq:"^1.13.0"},peerDependencies:{graphql:"^15.0.0"}}],["gatsby-plugin-mdx@<3.1.0-next.1",{dependencies:{mkdirp:"^1.0.4"}}],["gatsby-plugin-mdx@^2",{peerDependencies:{gatsby:"^3.0.0-next"}}],["fdir@<=5.2.0",{peerDependencies:{picomatch:"2.x"},peerDependenciesMeta:{picomatch:kt}}],["babel-plugin-transform-typescript-metadata@<=0.3.2",{peerDependencies:{"@babel/core":"^7","@babel/traverse":"^7"},peerDependenciesMeta:{"@babel/traverse":kt}}],["graphql-compose@>=9.0.10",{peerDependencies:{graphql:"^14.2.0 || ^15.0.0 || ^16.0.0"}}],["vite-plugin-vuetify@<=1.0.2",{peerDependencies:{vue:"^3.0.0"}}],["webpack-plugin-vuetify@<=2.0.1",{peerDependencies:{vue:"^3.2.6"}}],["eslint-import-resolver-vite@<2.0.1",{dependencies:{debug:"^4.3.4",resolve:"^1.22.8"}}]];var tH;function Rde(){return typeof tH>"u"&&(tH=ve("zlib").brotliDecompressSync(Buffer.from("G7weAByFTVk3Vs7UfHhq4yykgEM7pbW7TI43SG2S5tvGrwHBAzdz+s/npQ6tgEvobvxisrPIadkXeUAJotBn5bDZ5kAhcRqsIHe3F75Walet5hNalwgFDtxb0BiDUjiUQkjG0yW2hto9HPgiCkm316d6bC0kST72YN7D7rfkhCE9x4J0XwB0yavalxpUu2t9xszHrmtwalOxT7VslsxWcB1qpqZwERUra4psWhTV8BgwWeizurec82Caf1ABL11YMfbf8FJ9JBceZOkgmvrQPbC9DUldX/yMbmX06UQluCEjSwUoyO+EZPIjofr+/oAZUck2enraRD+oWLlnlYnj8xB+gwSo9lmmks4fXv574qSqcWA6z21uYkzMu3EWj+K23RxeQlLqiE35/rC8GcS4CGkKHKKq+zAIQwD9iRDNfiAqueLLpicFFrNsAI4zeTD/eO9MHcnRa5m8UT+M2+V+AkFST4BlKneiAQRSdST8KEAIyFlULt6wa9EBd0Ds28VmpaxquJdVt+nwdEs5xUskI13OVtFyY0UrQIRAlCuvvWivvlSKQfTO+2Q8OyUR1W5RvetaPz4jD27hdtwHFFA1Ptx6Ee/t2cY2rg2G46M1pNDRf2pWhvpy8pqMnuI3++4OF3+7OFIWXGjh+o7Nr2jNvbiYcQdQS1h903/jVFgOpA0yJ78z+x759bFA0rq+6aY5qPB4FzS3oYoLupDUhD9nDz6F6H7hpnlMf18KNKDu4IKjTWwrAnY6MFQw1W6ymOALHlFyCZmQhldg1MQHaMVVQTVgDC60TfaBqG++Y8PEoFhN/PBTZT175KNP/BlHDYGOOBmnBdzqJKplZ/ljiVG0ZBzfqeBRrrUkn6rA54462SgiliKoYVnbeptMdXNfAuaupIEi0bApF10TlgHfmEJAPUVidRVFyDupSem5po5vErPqWKhKbUIp0LozpYsIKK57dM/HKr+nguF+7924IIWMICkQ8JUigs9D+W+c4LnNoRtPPKNRUiCYmP+Jfo2lfKCKw8qpraEeWU3uiNRO6zcyKQoXPR5htmzzLznke7b4YbXW3I1lIRzmgG02Udb58U+7TpwyN7XymCgH+wuPDthZVQvRZuEP+SnLtMicz9m5zASWOBiAcLmkuFlTKuHspSIhCBD0yUPKcxu81A+4YD78rA2vtwsUEday9WNyrShyrl60rWmA+SmbYZkQOwFJWArxRYYc5jGhA5ikxYw1rx3ei4NmeX/lKiwpZ9Ln1tV2Ae7sArvxuVLbJjqJRjW1vFXAyHpvLG+8MJ6T2Ubx5M2KDa2SN6vuIGxJ9WQM9Mk3Q7aCNiZONXllhqq24DmoLbQfW2rYWsOgHWjtOmIQMyMKdiHZDjoyIq5+U700nZ6odJAoYXPQBvFNiQ78d5jaXliBqLTJEqUCwi+LiH2mx92EmNKDsJL74Z613+3lf20pxkV1+erOrjj8pW00vsPaahKUM+05ssd5uwM7K482KWEf3TCwlg/o3e5ngto7qSMz7YteIgCsF1UOcsLk7F7MxWbvrPMY473ew0G+noVL8EPbkmEMftMSeL6HFub/zy+2JQ==","base64")).toString()),tH}var rH;function Fde(){return typeof rH>"u"&&(rH=ve("zlib").brotliDecompressSync(Buffer.from("G8MSIIzURnVBnObTcvb3XE6v2S9Qgc2K801Oa5otNKEtK8BINZNcaQHy+9/vf/WXBimwutXC33P2DPc64pps5rz7NGGWaOKNSPL4Y2KRE8twut2lFOIN+OXPtRmPMRhMTILib2bEQx43az2I5d3YS8Roa5UZpF/ujHb3Djd3GDvYUfvFYSUQ39vb2cmifp/rgB4J/65JK3wRBTvMBoNBmn3mbXC63/gbBkW/2IRPri0O8bcsRBsmarF328pAln04nyJFkwUAvNu934supAqLtyerZZpJ8I8suJHhf/ocMV+scKwa8NOiDKIPXw6Ex/EEZD6TEGaW8N5zvNHYF10l6Lfooj7D5W2k3dgvQSbp2Wv8TGOayS978gxlOLVjTGXs66ozewbrjwElLtyrYNnWTfzzdEutgROUFPVMhnMoy8EjJLLlWwIEoySxliim9kYW30JUHiPVyjt0iAw/ZpPmCbUCltYPnq6ZNblIKhTNhqS/oqC9iya5sGKZTOVsTEg34n92uZTf2iPpcZih8rPW8CzA+adIGmyCPcKdLMsBLShd+zuEbTrqpwuh+DLmracZcjPC5Sdf5odDAhKpFuOsQS67RT+1VgWWygSv3YwxDnylc04/PYuaMeIzhBkLrvs7e/OUzRTF56MmfY6rI63QtEjEQzq637zQqJ39nNhu3NmoRRhW/086bHGBUtx0PE0j3aEGvkdh9WJC8y8j8mqqke9/dQ5la+Q3ba4RlhvTbnfQhPDDab3tUifkjKuOsp13mXEmO00Mu88F/M67R7LXfoFDFLNtgCSWjWX+3Jn1371pJTK9xPBiMJafvDjtFyAzu8rxeQ0TKMQXNPs5xxiBOd+BRJP8KP88XPtJIbZKh/cdW8KvBUkpqKpGoiIaA32c3/JnQr4efXt85mXvidOvn/eU3Pase1typLYBalJ14mCso9h79nuMOuCa/kZAOkJHmTjP5RM2WNoPasZUAnT1TAE/NH25hUxcQv6hQWR/m1PKk4ooXMcM4SR1iYU3fUohvqk4RY2hbmTVVIXv6TvqO+0doOjgeVFAcom+RlwJQmOVH7pr1Q9LoJT6n1DeQEB+NHygsATbIwTcOKZlJsY8G4+suX1uQLjUWwLjjs0mvSvZcLTpIGAekeR7GCgl8eo3ndAqEe2XCav4huliHjdbIPBsGJuPX7lrO9HX1UbXRH5opOe1x6JsOSgHZR+EaxuXVhpLLxm6jk1LJtZfHSc6BKPun3CpYYVMJGwEUyk8MTGG0XL5MfEwaXpnc9TKnBmlGn6nHiGREc3ysn47XIBDzA+YvFdjZzVIEDcKGpS6PbUJehFRjEne8D0lVU1XuRtlgszq6pTNlQ/3MzNOEgCWPyTct22V2mEi2krizn5VDo9B19/X2DB3hCGRMM7ONbtnAcIx/OWB1u5uPbW1gsH8irXxT/IzG0PoXWYjhbMsH3KTuoOl5o17PulcgvsfTSnKFM354GWI8luqZnrswWjiXy3G+Vbyo1KMopFmmvBwNELgaS8z8dNZchx/Cl/xjddxhMcyqtzFyONb2Zdu90NkI8pAeufe7YlXrp53v8Dj/l8vWeVspRKBGXScBBPI/HinSTGmLDOGGOCIyH0JFdOZx0gWsacNlQLJMIrBhqRxXxHF/5pseWwejlAAvZ3klZSDSYY8mkToaWejXhgNomeGtx1DTLEUFMRkgF5yFB22WYdJnaWN14r1YJj81hGi45+jrADS5nYRhCiSlCJJ1nL8pYX+HDSMhdTEWyRcgHVp/IsUIZYMfT+YYncUQPgcxNGCHfZ88vDdrcUuaGIl6zhAsiaq7R5dfqrqXH/JcBhfjT8D0azayIyEz75Nxp6YkcyDxlJq3EXnJUpqDohJJOysL1t1uNiHESlvsxPb5cpbW0+ICZqJmUZus1BMW0F5IVBODLIo2zHHjA0=","base64")).toString()),rH}var nH;function Tde(){return typeof nH>"u"&&(nH=ve("zlib").brotliDecompressSync(Buffer.from("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","base64")).toString()),nH}var Lde=new Map([[j.makeIdent(null,"fsevents").identHash,Rde],[j.makeIdent(null,"resolve").identHash,Fde],[j.makeIdent(null,"typescript").identHash,Tde]]),kgt={hooks:{registerPackageExtensions:async(t,e)=>{for(let[r,o]of eH)e(j.parseDescriptor(r,!0),o)},getBuiltinPatch:async(t,e)=>{let r="compat/";if(!e.startsWith(r))return;let o=j.parseIdent(e.slice(r.length)),a=Lde.get(o.identHash)?.();return typeof a<"u"?a:null},reduceDependency:async(t,e,r,o)=>typeof Lde.get(t.identHash)>"u"?t:j.makeDescriptor(t,j.makeRange({protocol:"patch:",source:j.stringifyDescriptor(t),selector:`optional!builtin`,params:null}))}},Qgt=kgt;var wH={};zt(wH,{ConstraintsCheckCommand:()=>g0,ConstraintsQueryCommand:()=>p0,ConstraintsSourceCommand:()=>h0,default:()=>idt});je();je();P2();var CC=class{constructor(e){this.project=e}createEnvironment(){let e=new EC(["cwd","ident"]),r=new EC(["workspace","type","ident"]),o=new EC(["ident"]),a={manifestUpdates:new Map,reportedErrors:new Map},n=new Map,u=new Map;for(let A of this.project.storedPackages.values()){let p=Array.from(A.peerDependencies.values(),h=>[j.stringifyIdent(h),h.range]);n.set(A.locatorHash,{workspace:null,ident:j.stringifyIdent(A),version:A.version,dependencies:new Map,peerDependencies:new Map(p.filter(([h])=>A.peerDependenciesMeta.get(h)?.optional!==!0)),optionalPeerDependencies:new Map(p.filter(([h])=>A.peerDependenciesMeta.get(h)?.optional===!0))})}for(let A of this.project.storedPackages.values()){let p=n.get(A.locatorHash);p.dependencies=new Map(Array.from(A.dependencies.values(),h=>{let E=this.project.storedResolutions.get(h.descriptorHash);if(typeof E>"u")throw new Error("Assertion failed: The resolution should have been registered");let I=n.get(E);if(typeof I>"u")throw new Error("Assertion failed: The package should have been registered");return[j.stringifyIdent(h),I]})),p.dependencies.delete(p.ident)}for(let A of this.project.workspaces){let p=j.stringifyIdent(A.anchoredLocator),h=A.manifest.exportTo({}),E=n.get(A.anchoredLocator.locatorHash);if(typeof E>"u")throw new Error("Assertion failed: The package should have been registered");let I=(F,N,{caller:U=Vi.getCaller()}={})=>{let J=v2(F),te=He.getMapWithDefault(a.manifestUpdates,A.cwd),ae=He.getMapWithDefault(te,J),le=He.getSetWithDefault(ae,N);U!==null&&le.add(U)},v=F=>I(F,void 0,{caller:Vi.getCaller()}),x=F=>{He.getArrayWithDefault(a.reportedErrors,A.cwd).push(F)},C=e.insert({cwd:A.relativeCwd,ident:p,manifest:h,pkg:E,set:I,unset:v,error:x});u.set(A,C);for(let F of Ot.allDependencies)for(let N of A.manifest[F].values()){let U=j.stringifyIdent(N),J=()=>{I([F,U],void 0,{caller:Vi.getCaller()})},te=le=>{I([F,U],le,{caller:Vi.getCaller()})},ae=null;if(F!=="peerDependencies"&&(F!=="dependencies"||!A.manifest.devDependencies.has(N.identHash))){let le=A.anchoredPackage.dependencies.get(N.identHash);if(le){if(typeof le>"u")throw new Error("Assertion failed: The dependency should have been registered");let ce=this.project.storedResolutions.get(le.descriptorHash);if(typeof ce>"u")throw new Error("Assertion failed: The resolution should have been registered");let we=n.get(ce);if(typeof we>"u")throw new Error("Assertion failed: The package should have been registered");ae=we}}r.insert({workspace:C,ident:U,range:N.range,type:F,resolution:ae,update:te,delete:J,error:x})}}for(let A of this.project.storedPackages.values()){let p=this.project.tryWorkspaceByLocator(A);if(!p)continue;let h=u.get(p);if(typeof h>"u")throw new Error("Assertion failed: The workspace should have been registered");let E=n.get(A.locatorHash);if(typeof E>"u")throw new Error("Assertion failed: The package should have been registered");E.workspace=h}return{workspaces:e,dependencies:r,packages:o,result:a}}async process(){let e=this.createEnvironment(),r={Yarn:{workspace:a=>e.workspaces.find(a)[0]??null,workspaces:a=>e.workspaces.find(a),dependency:a=>e.dependencies.find(a)[0]??null,dependencies:a=>e.dependencies.find(a),package:a=>e.packages.find(a)[0]??null,packages:a=>e.packages.find(a)}},o=await this.project.loadUserConfig();return o?.constraints?(await o.constraints(r),e.result):null}};je();je();qt();var p0=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.query=ge.String()}async execute(){let{Constraints:r}=await Promise.resolve().then(()=>(k2(),x2)),o=await Ke.find(this.context.cwd,this.context.plugins),{project:a}=await St.find(o,this.context.cwd),n=await r.find(a),u=this.query;return u.endsWith(".")||(u=`${u}.`),(await Ft.start({configuration:o,json:this.json,stdout:this.context.stdout},async p=>{for await(let h of n.query(u)){let E=Array.from(Object.entries(h)),I=E.length,v=E.reduce((x,[C])=>Math.max(x,C.length),0);for(let x=0;x(k2(),x2)),o=await Ke.find(this.context.cwd,this.context.plugins),{project:a}=await St.find(o,this.context.cwd),n=await r.find(a);this.context.stdout.write(this.verbose?n.fullSource:n.source)}};h0.paths=[["constraints","source"]],h0.usage=it.Usage({category:"Constraints-related commands",description:"print the source code for the constraints",details:"\n This command will print the Prolog source code used by the constraints engine. Adding the `-v,--verbose` flag will print the *full* source code, including the fact database automatically compiled from the workspace manifests.\n ",examples:[["Prints the source code","yarn constraints source"],["Print the source code and the fact database","yarn constraints source -v"]]});je();je();qt();P2();var g0=class extends ut{constructor(){super(...arguments);this.fix=ge.Boolean("--fix",!1,{description:"Attempt to automatically fix unambiguous issues, following a multi-pass process"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd);await o.restoreInstallState();let a=await o.loadUserConfig(),n;if(a?.constraints)n=new CC(o);else{let{Constraints:h}=await Promise.resolve().then(()=>(k2(),x2));n=await h.find(o)}let u,A=!1,p=!1;for(let h=this.fix?10:1;h>0;--h){let E=await n.process();if(!E)break;let{changedWorkspaces:I,remainingErrors:v}=dk(o,E,{fix:this.fix}),x=[];for(let[C,F]of I){let N=C.manifest.indent;C.manifest=new Ot,C.manifest.indent=N,C.manifest.load(F),x.push(C.persistManifest())}if(await Promise.all(x),!(I.size>0&&h>1)){u=qde(v,{configuration:r}),A=!1,p=!0;for(let[,C]of v)for(let F of C)F.fixable?A=!0:p=!1}}if(u.children.length===0)return 0;if(A){let h=p?`Those errors can all be fixed by running ${pe.pretty(r,"yarn constraints --fix",pe.Type.CODE)}`:`Errors prefixed by '\u2699' can be fixed by running ${pe.pretty(r,"yarn constraints --fix",pe.Type.CODE)}`;await Ft.start({configuration:r,stdout:this.context.stdout,includeNames:!1,includeFooter:!1},async E=>{E.reportInfo(0,h),E.reportSeparator()})}return u.children=He.sortMap(u.children,h=>h.value[1]),fs.emitTree(u,{configuration:r,stdout:this.context.stdout,json:this.json,separators:1}),1}};g0.paths=[["constraints"]],g0.usage=it.Usage({category:"Constraints-related commands",description:"check that the project constraints are met",details:` + This command will run constraints on your project and emit errors for each one that is found but isn't met. If any error is emitted the process will exit with a non-zero exit code. + + If the \`--fix\` flag is used, Yarn will attempt to automatically fix the issues the best it can, following a multi-pass process (with a maximum of 10 iterations). Some ambiguous patterns cannot be autofixed, in which case you'll have to manually specify the right resolution. + + For more information as to how to write constraints, please consult our dedicated page on our website: https://yarnpkg.com/features/constraints. + `,examples:[["Check that all constraints are satisfied","yarn constraints"],["Autofix all unmet constraints","yarn constraints --fix"]]});P2();var ndt={configuration:{enableConstraintsChecks:{description:"If true, constraints will run during installs",type:"BOOLEAN",default:!1},constraintsPath:{description:"The path of the constraints file.",type:"ABSOLUTE_PATH",default:"./constraints.pro"}},commands:[p0,h0,g0],hooks:{async validateProjectAfterInstall(t,{reportError:e}){if(!t.configuration.get("enableConstraintsChecks"))return;let r=await t.loadUserConfig(),o;if(r?.constraints)o=new CC(t);else{let{Constraints:u}=await Promise.resolve().then(()=>(k2(),x2));o=await u.find(t)}let a=await o.process();if(!a)return;let{remainingErrors:n}=dk(t,a);if(n.size!==0)if(t.configuration.isCI)for(let[u,A]of n)for(let p of A)e(84,`${pe.pretty(t.configuration,u.anchoredLocator,pe.Type.IDENT)}: ${p.text}`);else e(84,`Constraint check failed; run ${pe.pretty(t.configuration,"yarn constraints",pe.Type.CODE)} for more details`)}}},idt=ndt;var IH={};zt(IH,{CreateCommand:()=>tm,DlxCommand:()=>d0,default:()=>odt});je();qt();var tm=class extends ut{constructor(){super(...arguments);this.pkg=ge.String("-p,--package",{description:"The package to run the provided command from"});this.quiet=ge.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=ge.String();this.args=ge.Proxy()}async execute(){let r=[];this.pkg&&r.push("--package",this.pkg),this.quiet&&r.push("--quiet");let o=this.command.replace(/^(@[^@/]+)(@|$)/,"$1/create$2"),a=j.parseDescriptor(o),n=a.name.match(/^create(-|$)/)?a:a.scope?j.makeIdent(a.scope,`create-${a.name}`):j.makeIdent(null,`create-${a.name}`),u=j.stringifyIdent(n);return a.range!=="unknown"&&(u+=`@${a.range}`),this.cli.run(["dlx",...r,u,...this.args])}};tm.paths=[["create"]];je();je();Dt();qt();var d0=class extends ut{constructor(){super(...arguments);this.packages=ge.Array("-p,--package",{description:"The package(s) to install before running the command"});this.quiet=ge.Boolean("-q,--quiet",!1,{description:"Only report critical errors instead of printing the full install logs"});this.command=ge.String();this.args=ge.Proxy()}async execute(){return Ke.telemetry=null,await oe.mktempPromise(async r=>{let o=z.join(r,`dlx-${process.pid}`);await oe.mkdirPromise(o),await oe.writeFilePromise(z.join(o,"package.json"),`{} +`),await oe.writeFilePromise(z.join(o,"yarn.lock"),"");let a=z.join(o,".yarnrc.yml"),n=await Ke.findProjectCwd(this.context.cwd),A={enableGlobalCache:!(await Ke.find(this.context.cwd,null,{strict:!1})).get("enableGlobalCache"),enableTelemetry:!1,logFilters:[{code:Ku(68),level:pe.LogLevel.Discard}]},p=n!==null?z.join(n,".yarnrc.yml"):null;p!==null&&oe.existsSync(p)?(await oe.copyFilePromise(p,a),await Ke.updateConfiguration(o,N=>{let U=He.toMerged(N,A);return Array.isArray(N.plugins)&&(U.plugins=N.plugins.map(J=>{let te=typeof J=="string"?J:J.path,ae=ue.isAbsolute(te)?te:ue.resolve(ue.fromPortablePath(n),te);return typeof J=="string"?ae:{path:ae,spec:J.spec}})),U})):await oe.writeJsonPromise(a,A);let h=this.packages??[this.command],E=j.parseDescriptor(this.command).name,I=await this.cli.run(["add","--fixed","--",...h],{cwd:o,quiet:this.quiet});if(I!==0)return I;this.quiet||this.context.stdout.write(` +`);let v=await Ke.find(o,this.context.plugins),{project:x,workspace:C}=await St.find(v,o);if(C===null)throw new sr(x.cwd,o);await x.restoreInstallState();let F=await An.getWorkspaceAccessibleBinaries(C);return F.has(E)===!1&&F.size===1&&typeof this.packages>"u"&&(E=Array.from(F)[0][0]),await An.executeWorkspaceAccessibleBinary(C,E,this.args,{packageAccessibleBinaries:F,cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}};d0.paths=[["dlx"]],d0.usage=it.Usage({description:"run a package in a temporary environment",details:"\n This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\n\n By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\n\n Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\n ",examples:[["Use create-react-app to create a new React app","yarn dlx create-react-app ./my-app"],["Install multiple packages for a single command",`yarn dlx -p typescript -p ts-node ts-node --transpile-only -e "console.log('hello!')"`]]});var sdt={commands:[tm,d0]},odt=sdt;var PH={};zt(PH,{ExecFetcher:()=>R2,ExecResolver:()=>F2,default:()=>cdt,execUtils:()=>Ck});je();je();Dt();var pA="exec:";var Ck={};zt(Ck,{loadGeneratorFile:()=>Q2,makeLocator:()=>vH,makeSpec:()=>hme,parseSpec:()=>BH});je();Dt();function BH(t){let{params:e,selector:r}=j.parseRange(t),o=ue.toPortablePath(r);return{parentLocator:e&&typeof e.locator=="string"?j.parseLocator(e.locator):null,path:o}}function hme({parentLocator:t,path:e,generatorHash:r,protocol:o}){let a=t!==null?{locator:j.stringifyLocator(t)}:{},n=typeof r<"u"?{hash:r}:{};return j.makeRange({protocol:o,source:e,selector:e,params:{...n,...a}})}function vH(t,{parentLocator:e,path:r,generatorHash:o,protocol:a}){return j.makeLocator(t,hme({parentLocator:e,path:r,generatorHash:o,protocol:a}))}async function Q2(t,e,r){let{parentLocator:o,path:a}=j.parseFileStyleRange(t,{protocol:e}),n=z.isAbsolute(a)?{packageFs:new gn(Bt.root),prefixPath:Bt.dot,localPath:Bt.root}:await r.fetcher.fetch(o,r),u=n.localPath?{packageFs:new gn(Bt.root),prefixPath:z.relative(Bt.root,n.localPath)}:n;n!==u&&n.releaseFs&&n.releaseFs();let A=u.packageFs,p=z.join(u.prefixPath,a);return await A.readFilePromise(p,"utf8")}var R2=class{supports(e,r){return!!e.reference.startsWith(pA)}getLocalPath(e,r){let{parentLocator:o,path:a}=j.parseFileStyleRange(e.reference,{protocol:pA});if(z.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:z.resolve(n,a)}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e),loader:()=>this.fetchFromDisk(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:j.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:u}}async fetchFromDisk(e,r){let o=await Q2(e.reference,pA,r);return oe.mktempPromise(async a=>{let n=z.join(a,"generator.js");return await oe.writeFilePromise(n,o),oe.mktempPromise(async u=>{if(await this.generatePackage(u,e,n,r),!oe.existsSync(z.join(u,"build")))throw new Error("The script should have generated a build directory");return await Zi.makeArchiveFromDirectory(z.join(u,"build"),{prefixPath:j.getIdentVendorPath(e),compressionLevel:r.project.configuration.get("compressionLevel")})})})}async generatePackage(e,r,o,a){return await oe.mktempPromise(async n=>{let u=await An.makeScriptEnv({project:a.project,binFolder:n}),A=z.join(e,"runtime.js");return await oe.mktempPromise(async p=>{let h=z.join(p,"buildfile.log"),E=z.join(e,"generator"),I=z.join(e,"build");await oe.mkdirPromise(E),await oe.mkdirPromise(I);let v={tempDir:ue.fromPortablePath(E),buildDir:ue.fromPortablePath(I),locator:j.stringifyLocator(r)};await oe.writeFilePromise(A,` + // Expose 'Module' as a global variable + Object.defineProperty(global, 'Module', { + get: () => require('module'), + configurable: true, + enumerable: false, + }); + + // Expose non-hidden built-in modules as global variables + for (const name of Module.builtinModules.filter((name) => name !== 'module' && !name.startsWith('_'))) { + Object.defineProperty(global, name, { + get: () => require(name), + configurable: true, + enumerable: false, + }); + } + + // Expose the 'execEnv' global variable + Object.defineProperty(global, 'execEnv', { + value: { + ...${JSON.stringify(v)}, + }, + enumerable: true, + }); + `);let x=u.NODE_OPTIONS||"",C=/\s*--require\s+\S*\.pnp\.c?js\s*/g;x=x.replace(C," ").trim(),u.NODE_OPTIONS=x;let{stdout:F,stderr:N}=a.project.configuration.getSubprocessStreams(h,{header:`# This file contains the result of Yarn generating a package (${j.stringifyLocator(r)}) +`,prefix:j.prettyLocator(a.project.configuration,r),report:a.report}),{code:U}=await Ur.pipevp(process.execPath,["--require",ue.fromPortablePath(A),ue.fromPortablePath(o),j.stringifyIdent(r)],{cwd:e,env:u,stdin:null,stdout:F,stderr:N});if(U!==0)throw oe.detachTemp(p),new Error(`Package generation failed (exit code ${U}, logs can be found here: ${pe.pretty(a.project.configuration,h,pe.Type.PATH)})`)})})}};je();je();var adt=2,F2=class{supportsDescriptor(e,r){return!!e.range.startsWith(pA)}supportsLocator(e,r){return!!e.reference.startsWith(pA)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return j.bindDescriptor(e,{locator:j.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:a,parentLocator:n}=BH(e.range);if(n===null)throw new Error("Assertion failed: The descriptor should have been bound");let u=await Q2(j.makeRange({protocol:pA,source:a,selector:a,params:{locator:j.stringifyLocator(n)}}),pA,o.fetchOptions),A=wn.makeHash(`${adt}`,u).slice(0,6);return[vH(e,{parentLocator:n,path:a,generatorHash:A,protocol:pA})]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await He.releaseAfterUseAsync(async()=>await Ot.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var ldt={fetchers:[R2],resolvers:[F2]},cdt=ldt;var SH={};zt(SH,{FileFetcher:()=>O2,FileResolver:()=>M2,TarballFileFetcher:()=>U2,TarballFileResolver:()=>_2,default:()=>fdt,fileUtils:()=>rm});je();Dt();var vC=/^(?:[a-zA-Z]:[\\/]|\.{0,2}\/)/,T2=/^[^?]*\.(?:tar\.gz|tgz)(?:::.*)?$/,Ui="file:";var rm={};zt(rm,{fetchArchiveFromLocator:()=>N2,makeArchiveFromLocator:()=>wk,makeBufferFromLocator:()=>DH,makeLocator:()=>PC,makeSpec:()=>gme,parseSpec:()=>L2});je();Dt();function L2(t){let{params:e,selector:r}=j.parseRange(t),o=ue.toPortablePath(r);return{parentLocator:e&&typeof e.locator=="string"?j.parseLocator(e.locator):null,path:o}}function gme({parentLocator:t,path:e,hash:r,protocol:o}){let a=t!==null?{locator:j.stringifyLocator(t)}:{},n=typeof r<"u"?{hash:r}:{};return j.makeRange({protocol:o,source:e,selector:e,params:{...n,...a}})}function PC(t,{parentLocator:e,path:r,hash:o,protocol:a}){return j.makeLocator(t,gme({parentLocator:e,path:r,hash:o,protocol:a}))}async function N2(t,e){let{parentLocator:r,path:o}=j.parseFileStyleRange(t.reference,{protocol:Ui}),a=z.isAbsolute(o)?{packageFs:new gn(Bt.root),prefixPath:Bt.dot,localPath:Bt.root}:await e.fetcher.fetch(r,e),n=a.localPath?{packageFs:new gn(Bt.root),prefixPath:z.relative(Bt.root,a.localPath)}:a;a!==n&&a.releaseFs&&a.releaseFs();let u=n.packageFs,A=z.join(n.prefixPath,o);return await He.releaseAfterUseAsync(async()=>await u.readFilePromise(A),n.releaseFs)}async function wk(t,{protocol:e,fetchOptions:r,inMemory:o=!1}){let{parentLocator:a,path:n}=j.parseFileStyleRange(t.reference,{protocol:e}),u=z.isAbsolute(n)?{packageFs:new gn(Bt.root),prefixPath:Bt.dot,localPath:Bt.root}:await r.fetcher.fetch(a,r),A=u.localPath?{packageFs:new gn(Bt.root),prefixPath:z.relative(Bt.root,u.localPath)}:u;u!==A&&u.releaseFs&&u.releaseFs();let p=A.packageFs,h=z.join(A.prefixPath,n);return await He.releaseAfterUseAsync(async()=>await Zi.makeArchiveFromDirectory(h,{baseFs:p,prefixPath:j.getIdentVendorPath(t),compressionLevel:r.project.configuration.get("compressionLevel"),inMemory:o}),A.releaseFs)}async function DH(t,{protocol:e,fetchOptions:r}){return(await wk(t,{protocol:e,fetchOptions:r,inMemory:!0})).getBufferAndClose()}var O2=class{supports(e,r){return!!e.reference.startsWith(Ui)}getLocalPath(e,r){let{parentLocator:o,path:a}=j.parseFileStyleRange(e.reference,{protocol:Ui});if(z.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:z.resolve(n,a)}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${j.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:j.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:u}}async fetchFromDisk(e,r){return wk(e,{protocol:Ui,fetchOptions:r})}};je();je();var udt=2,M2=class{supportsDescriptor(e,r){return e.range.match(vC)?!0:!!e.range.startsWith(Ui)}supportsLocator(e,r){return!!e.reference.startsWith(Ui)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return vC.test(e.range)&&(e=j.makeDescriptor(e,`${Ui}${e.range}`)),j.bindDescriptor(e,{locator:j.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:a,parentLocator:n}=L2(e.range);if(n===null)throw new Error("Assertion failed: The descriptor should have been bound");let u=await DH(j.makeLocator(e,j.makeRange({protocol:Ui,source:a,selector:a,params:{locator:j.stringifyLocator(n)}})),{protocol:Ui,fetchOptions:o.fetchOptions}),A=wn.makeHash(`${udt}`,u).slice(0,6);return[PC(e,{parentLocator:n,path:a,hash:A,protocol:Ui})]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await He.releaseAfterUseAsync(async()=>await Ot.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};je();var U2=class{supports(e,r){return T2.test(e.reference)?!!e.reference.startsWith(Ui):!1}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${j.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:j.getIdentVendorPath(e),checksum:u}}async fetchFromDisk(e,r){let o=await N2(e,r);return await Zi.convertToZip(o,{configuration:r.project.configuration,prefixPath:j.getIdentVendorPath(e),stripComponents:1})}};je();je();je();var _2=class{supportsDescriptor(e,r){return T2.test(e.range)?!!(e.range.startsWith(Ui)||vC.test(e.range)):!1}supportsLocator(e,r){return T2.test(e.reference)?!!e.reference.startsWith(Ui):!1}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return vC.test(e.range)&&(e=j.makeDescriptor(e,`${Ui}${e.range}`)),j.bindDescriptor(e,{locator:j.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{path:a,parentLocator:n}=L2(e.range);if(n===null)throw new Error("Assertion failed: The descriptor should have been bound");let u=PC(e,{parentLocator:n,path:a,hash:"",protocol:Ui}),A=await N2(u,o.fetchOptions),p=wn.makeHash(A).slice(0,6);return[PC(e,{parentLocator:n,path:a,hash:p,protocol:Ui})]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await He.releaseAfterUseAsync(async()=>await Ot.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var Adt={fetchers:[U2,O2],resolvers:[_2,M2]},fdt=Adt;var kH={};zt(kH,{GithubFetcher:()=>H2,default:()=>hdt,githubUtils:()=>Ik});je();Dt();var Ik={};zt(Ik,{invalidGithubUrlMessage:()=>yme,isGithubUrl:()=>bH,parseGithubUrl:()=>xH});var dme=Ze(ve("querystring")),mme=[/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+)\/tarball\/([^/#]+)(?:#(.*))?$/,/^https?:\/\/(?:([^/]+?)@)?github.com\/([^/#]+)\/([^/#]+?)(?:\.git)?(?:#(.*))?$/];function bH(t){return t?mme.some(e=>!!t.match(e)):!1}function xH(t){let e;for(let A of mme)if(e=t.match(A),e)break;if(!e)throw new Error(yme(t));let[,r,o,a,n="master"]=e,{commit:u}=dme.default.parse(n);return n=u||n.replace(/[^:]*:/,""),{auth:r,username:o,reponame:a,treeish:n}}function yme(t){return`Input cannot be parsed as a valid GitHub URL ('${t}').`}var H2=class{supports(e,r){return!!bH(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${j.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from GitHub`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:j.getIdentVendorPath(e),checksum:u}}async fetchFromNetwork(e,r){let o=await sn.get(this.getLocatorUrl(e,r),{configuration:r.project.configuration});return await oe.mktempPromise(async a=>{let n=new gn(a);await Zi.extractArchiveTo(o,n,{stripComponents:1});let u=ra.splitRepoUrl(e.reference),A=z.join(a,"package.tgz");await An.prepareExternalProject(a,A,{configuration:r.project.configuration,report:r.report,workspace:u.extra.workspace,locator:e});let p=await oe.readFilePromise(A);return await Zi.convertToZip(p,{configuration:r.project.configuration,prefixPath:j.getIdentVendorPath(e),stripComponents:1})})}getLocatorUrl(e,r){let{auth:o,username:a,reponame:n,treeish:u}=xH(e.reference);return`https://${o?`${o}@`:""}github.com/${a}/${n}/archive/${u}.tar.gz`}};var pdt={hooks:{async fetchHostedRepository(t,e,r){if(t!==null)return t;let o=new H2;if(!o.supports(e,r))return null;try{return await o.fetch(e,r)}catch{return null}}}},hdt=pdt;var QH={};zt(QH,{TarballHttpFetcher:()=>G2,TarballHttpResolver:()=>j2,default:()=>ddt});je();function q2(t){let e;try{e=new URL(t)}catch{return!1}return!(e.protocol!=="http:"&&e.protocol!=="https:"||!e.pathname.match(/(\.tar\.gz|\.tgz|\/[^.]+)$/))}var G2=class{supports(e,r){return q2(e.reference)}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${j.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:j.getIdentVendorPath(e),checksum:u}}async fetchFromNetwork(e,r){let o=await sn.get(e.reference,{configuration:r.project.configuration});return await Zi.convertToZip(o,{configuration:r.project.configuration,prefixPath:j.getIdentVendorPath(e),stripComponents:1})}};je();je();var j2=class{supportsDescriptor(e,r){return q2(e.range)}supportsLocator(e,r){return q2(e.reference)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){return[j.convertDescriptorToLocator(e)]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await He.releaseAfterUseAsync(async()=>await Ot.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"HARD",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var gdt={fetchers:[G2],resolvers:[j2]},ddt=gdt;var RH={};zt(RH,{InitCommand:()=>m0,default:()=>ydt});je();je();Dt();qt();var m0=class extends ut{constructor(){super(...arguments);this.private=ge.Boolean("-p,--private",!1,{description:"Initialize a private package"});this.workspace=ge.Boolean("-w,--workspace",!1,{description:"Initialize a workspace root with a `packages/` directory"});this.install=ge.String("-i,--install",!1,{tolerateBoolean:!0,description:"Initialize a package with a specific bundle that will be locked in the project"});this.name=ge.String("-n,--name",{description:"Initialize a package with the given name"});this.usev2=ge.Boolean("-2",!1,{hidden:!0});this.yes=ge.Boolean("-y,--yes",{hidden:!0})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o=typeof this.install=="string"?this.install:this.usev2||this.install===!0?"latest":null;return o!==null?await this.executeProxy(r,o):await this.executeRegular(r)}async executeProxy(r,o){if(r.projectCwd!==null&&r.projectCwd!==this.context.cwd)throw new st("Cannot use the --install flag from within a project subdirectory");oe.existsSync(this.context.cwd)||await oe.mkdirPromise(this.context.cwd,{recursive:!0});let a=z.join(this.context.cwd,dr.lockfile);oe.existsSync(a)||await oe.writeFilePromise(a,"");let n=await this.cli.run(["set","version",o],{quiet:!0});if(n!==0)return n;let u=[];return this.private&&u.push("-p"),this.workspace&&u.push("-w"),this.name&&u.push(`-n=${this.name}`),this.yes&&u.push("-y"),await oe.mktempPromise(async A=>{let{code:p}=await Ur.pipevp("yarn",["init",...u],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await An.makeScriptEnv({binFolder:A})});return p})}async executeRegular(r){let o=null;try{o=(await St.find(r,this.context.cwd)).project}catch{o=null}oe.existsSync(this.context.cwd)||await oe.mkdirPromise(this.context.cwd,{recursive:!0});let a=await Ot.tryFind(this.context.cwd),n=a??new Ot,u=Object.fromEntries(r.get("initFields").entries());n.load(u),n.name=n.name??j.makeIdent(r.get("initScope"),this.name??z.basename(this.context.cwd)),n.packageManager=nn&&He.isTaggedYarnVersion(nn)?`yarn@${nn}`:null,(!a&&this.workspace||this.private)&&(n.private=!0),this.workspace&&n.workspaceDefinitions.length===0&&(await oe.mkdirPromise(z.join(this.context.cwd,"packages"),{recursive:!0}),n.workspaceDefinitions=[{pattern:"packages/*"}]);let A={};n.exportTo(A);let p=z.join(this.context.cwd,Ot.fileName);await oe.changeFilePromise(p,`${JSON.stringify(A,null,2)} +`,{automaticNewlines:!0});let h=[p],E=z.join(this.context.cwd,"README.md");if(oe.existsSync(E)||(await oe.writeFilePromise(E,`# ${j.stringifyIdent(n.name)} +`),h.push(E)),!o||o.cwd===this.context.cwd){let I=z.join(this.context.cwd,dr.lockfile);oe.existsSync(I)||(await oe.writeFilePromise(I,""),h.push(I));let x=[".yarn/*","!.yarn/patches","!.yarn/plugins","!.yarn/releases","!.yarn/sdks","!.yarn/versions","","# Swap the comments on the following lines if you wish to use zero-installs","# In that case, don't forget to run `yarn config set enableGlobalCache false`!","# Documentation here: https://yarnpkg.com/features/caching#zero-installs","","#!.yarn/cache",".pnp.*"].map(le=>`${le} +`).join(""),C=z.join(this.context.cwd,".gitignore");oe.existsSync(C)||(await oe.writeFilePromise(C,x),h.push(C));let N=["/.yarn/** linguist-vendored","/.yarn/releases/* binary","/.yarn/plugins/**/* binary","/.pnp.* binary linguist-generated"].map(le=>`${le} +`).join(""),U=z.join(this.context.cwd,".gitattributes");oe.existsSync(U)||(await oe.writeFilePromise(U,N),h.push(U));let J={["*"]:{endOfLine:"lf",insertFinalNewline:!0},["*.{js,json,yml}"]:{charset:"utf-8",indentStyle:"space",indentSize:2}};He.mergeIntoTarget(J,r.get("initEditorConfig"));let te=`root = true +`;for(let[le,ce]of Object.entries(J)){te+=` +[${le}] +`;for(let[we,de]of Object.entries(ce)){let Be=we.replace(/[A-Z]/g,Ee=>`_${Ee.toLowerCase()}`);te+=`${Be} = ${de} +`}}let ae=z.join(this.context.cwd,".editorconfig");oe.existsSync(ae)||(await oe.writeFilePromise(ae,te),h.push(ae)),await this.cli.run(["install"],{quiet:!0}),oe.existsSync(z.join(this.context.cwd,".git"))||(await Ur.execvp("git",["init"],{cwd:this.context.cwd}),await Ur.execvp("git",["add","--",...h],{cwd:this.context.cwd}),await Ur.execvp("git",["commit","--allow-empty","-m","First commit"],{cwd:this.context.cwd}))}}};m0.paths=[["init"]],m0.usage=it.Usage({description:"create a new package",details:"\n This command will setup a new package in your local directory.\n\n If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\n\n If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\n\n If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle. Without arguments, the downloaded bundle will be `latest`.\n\n The initial settings of the manifest can be changed by using the `initScope` and `initFields` configuration values. Additionally, Yarn will generate an EditorConfig file whose rules can be altered via `initEditorConfig`, and will initialize a Git repository in the current directory.\n ",examples:[["Create a new package in the local directory","yarn init"],["Create a new private package in the local directory","yarn init -p"],["Create a new package and store the Yarn release inside","yarn init -i=latest"],["Create a new private package and defines it as a workspace root","yarn init -w"]]});var mdt={configuration:{initScope:{description:"Scope used when creating packages via the init command",type:"STRING",default:null},initFields:{description:"Additional fields to set when creating packages via the init command",type:"MAP",valueDefinition:{description:"",type:"ANY"}},initEditorConfig:{description:"Extra rules to define in the generator editorconfig",type:"MAP",valueDefinition:{description:"",type:"ANY"}}},commands:[m0]},ydt=mdt;var Tq={};zt(Tq,{SearchCommand:()=>I0,UpgradeInteractiveCommand:()=>v0,default:()=>oIt});je();var Cme=Ze(ve("os"));function DC({stdout:t}){if(Cme.default.endianness()==="BE")throw new Error("Interactive commands cannot be used on big-endian systems because ink depends on yoga-layout-prebuilt which only supports little-endian architectures");if(!t.isTTY)throw new Error("Interactive commands can only be used inside a TTY environment")}qt();var Rye=Ze(VH()),XH={appId:"OFCNCOG2CU",apiKey:"6fe4476ee5a1832882e326b506d14126",indexName:"npm-search"},gyt=(0,Rye.default)(XH.appId,XH.apiKey).initIndex(XH.indexName),ZH=async(t,e=0)=>await gyt.search(t,{analyticsTags:["yarn-plugin-interactive-tools"],attributesToRetrieve:["name","version","owner","repository","humanDownloadsLast30Days"],page:e,hitsPerPage:10});var GB=["regular","dev","peer"],I0=class extends ut{async execute(){DC(this.context);let{Gem:e}=await Promise.resolve().then(()=>(uQ(),Bq)),{ScrollableItems:r}=await Promise.resolve().then(()=>(hQ(),pQ)),{useKeypress:o}=await Promise.resolve().then(()=>(_B(),Kwe)),{useMinistore:a}=await Promise.resolve().then(()=>(xq(),bq)),{renderForm:n}=await Promise.resolve().then(()=>(yQ(),mQ)),{default:u}=await Promise.resolve().then(()=>Ze(nIe())),{Box:A,Text:p}=await Promise.resolve().then(()=>Ze(sc())),{default:h,useEffect:E,useState:I}=await Promise.resolve().then(()=>Ze(an())),v=await Ke.find(this.context.cwd,this.context.plugins),x=()=>h.createElement(A,{flexDirection:"row"},h.createElement(A,{flexDirection:"column",width:48},h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},""),"/",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to move between packages.")),h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to select a package.")),h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," again to change the target."))),h.createElement(A,{flexDirection:"column"},h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to install the selected packages.")),h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to abort.")))),C=()=>h.createElement(h.Fragment,null,h.createElement(A,{width:15},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Owner")),h.createElement(A,{width:11},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Version")),h.createElement(A,{width:10},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Downloads"))),F=()=>h.createElement(A,{width:17},h.createElement(p,{bold:!0,underline:!0,color:"gray"},"Target")),N=({hit:de,active:Be})=>{let[Ee,g]=a(de.name,null);o({active:Be},(Ae,ne)=>{if(ne.name!=="space")return;if(!Ee){g(GB[0]);return}let Z=GB.indexOf(Ee)+1;Z===GB.length?g(null):g(GB[Z])},[Ee,g]);let me=j.parseIdent(de.name),Ce=j.prettyIdent(v,me);return h.createElement(A,null,h.createElement(A,{width:45},h.createElement(p,{bold:!0,wrap:"wrap"},Ce)),h.createElement(A,{width:14,marginLeft:1},h.createElement(p,{bold:!0,wrap:"truncate"},de.owner.name)),h.createElement(A,{width:10,marginLeft:1},h.createElement(p,{italic:!0,wrap:"truncate"},de.version)),h.createElement(A,{width:16,marginLeft:1},h.createElement(p,null,de.humanDownloadsLast30Days)))},U=({name:de,active:Be})=>{let[Ee]=a(de,null),g=j.parseIdent(de);return h.createElement(A,null,h.createElement(A,{width:47},h.createElement(p,{bold:!0}," - ",j.prettyIdent(v,g))),GB.map(me=>h.createElement(A,{key:me,width:14,marginLeft:1},h.createElement(p,null," ",h.createElement(e,{active:Ee===me})," ",h.createElement(p,{bold:!0},me)))))},J=()=>h.createElement(A,{marginTop:1},h.createElement(p,null,"Powered by Algolia.")),ae=await n(({useSubmit:de})=>{let Be=a();de(Be);let Ee=Array.from(Be.keys()).filter(H=>Be.get(H)!==null),[g,me]=I(""),[Ce,Ae]=I(0),[ne,Z]=I([]),xe=H=>{H.match(/\t| /)||me(H)},Le=async()=>{Ae(0);let H=await ZH(g);H.query===g&&Z(H.hits)},ht=async()=>{let H=await ZH(g,Ce+1);H.query===g&&H.page-1===Ce&&(Ae(H.page),Z([...ne,...H.hits]))};return E(()=>{g?Le():Z([])},[g]),h.createElement(A,{flexDirection:"column"},h.createElement(x,null),h.createElement(A,{flexDirection:"row",marginTop:1},h.createElement(p,{bold:!0},"Search: "),h.createElement(A,{width:41},h.createElement(u,{value:g,onChange:xe,placeholder:"i.e. babel, webpack, react...",showCursor:!1})),h.createElement(C,null)),ne.length?h.createElement(r,{radius:2,loop:!1,children:ne.map(H=>h.createElement(N,{key:H.name,hit:H,active:!1})),willReachEnd:ht}):h.createElement(p,{color:"gray"},"Start typing..."),h.createElement(A,{flexDirection:"row",marginTop:1},h.createElement(A,{width:49},h.createElement(p,{bold:!0},"Selected:")),h.createElement(F,null)),Ee.length?Ee.map(H=>h.createElement(U,{key:H,name:H,active:!1})):h.createElement(p,{color:"gray"},"No selected packages..."),h.createElement(J,null))},{},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof ae>"u")return 1;let le=Array.from(ae.keys()).filter(de=>ae.get(de)==="regular"),ce=Array.from(ae.keys()).filter(de=>ae.get(de)==="dev"),we=Array.from(ae.keys()).filter(de=>ae.get(de)==="peer");return le.length&&await this.cli.run(["add",...le]),ce.length&&await this.cli.run(["add","--dev",...ce]),we&&await this.cli.run(["add","--peer",...we]),0}};I0.paths=[["search"]],I0.usage=it.Usage({category:"Interactive commands",description:"open the search interface",details:` + This command opens a fullscreen terminal interface where you can search for and install packages from the npm registry. + `,examples:[["Open the search window","yarn search"]]});je();qt();E_();var uIe=Ze(Vn()),cIe=/^((?:[\^~]|>=?)?)([0-9]+)(\.[0-9]+)(\.[0-9]+)((?:-\S+)?)$/,AIe=(t,e)=>t.length>0?[t.slice(0,e)].concat(AIe(t.slice(e),e)):[],v0=class extends ut{async execute(){DC(this.context);let{ItemOptions:e}=await Promise.resolve().then(()=>(lIe(),aIe)),{Pad:r}=await Promise.resolve().then(()=>(Fq(),oIe)),{ScrollableItems:o}=await Promise.resolve().then(()=>(hQ(),pQ)),{useMinistore:a}=await Promise.resolve().then(()=>(xq(),bq)),{renderForm:n}=await Promise.resolve().then(()=>(yQ(),mQ)),{Box:u,Text:A}=await Promise.resolve().then(()=>Ze(sc())),{default:p,useEffect:h,useRef:E,useState:I}=await Promise.resolve().then(()=>Ze(an())),v=await Ke.find(this.context.cwd,this.context.plugins),{project:x,workspace:C}=await St.find(v,this.context.cwd),F=await Nr.find(v);if(!C)throw new sr(x.cwd,this.context.cwd);await x.restoreInstallState({restoreResolutions:!1});let N=this.context.stdout.rows-7,U=(me,Ce)=>{let Ae=Ape(me,Ce),ne="";for(let Z of Ae)Z.added?ne+=pe.pretty(v,Z.value,"green"):Z.removed||(ne+=Z.value);return ne},J=(me,Ce)=>{if(me===Ce)return Ce;let Ae=j.parseRange(me),ne=j.parseRange(Ce),Z=Ae.selector.match(cIe),xe=ne.selector.match(cIe);if(!Z||!xe)return U(me,Ce);let Le=["gray","red","yellow","green","magenta"],ht=null,H="";for(let rt=1;rt{let ne=await Xc.fetchDescriptorFrom(me,Ae,{project:x,cache:F,preserveModifier:Ce,workspace:C});return ne!==null?ne.range:me.range},ae=async me=>{let Ce=uIe.default.valid(me.range)?`^${me.range}`:me.range,[Ae,ne]=await Promise.all([te(me,me.range,Ce).catch(()=>null),te(me,me.range,"latest").catch(()=>null)]),Z=[{value:null,label:me.range}];return Ae&&Ae!==me.range?Z.push({value:Ae,label:J(me.range,Ae)}):Z.push({value:null,label:""}),ne&&ne!==Ae&&ne!==me.range?Z.push({value:ne,label:J(me.range,ne)}):Z.push({value:null,label:""}),Z},le=()=>p.createElement(u,{flexDirection:"row"},p.createElement(u,{flexDirection:"column",width:49},p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},""),"/",p.createElement(A,{bold:!0,color:"cyanBright"},"")," to select packages.")),p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},""),"/",p.createElement(A,{bold:!0,color:"cyanBright"},"")," to select versions."))),p.createElement(u,{flexDirection:"column"},p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},"")," to install.")),p.createElement(u,{marginLeft:1},p.createElement(A,null,"Press ",p.createElement(A,{bold:!0,color:"cyanBright"},"")," to abort.")))),ce=()=>p.createElement(u,{flexDirection:"row",paddingTop:1,paddingBottom:1},p.createElement(u,{width:50},p.createElement(A,{bold:!0},p.createElement(A,{color:"greenBright"},"?")," Pick the packages you want to upgrade.")),p.createElement(u,{width:17},p.createElement(A,{bold:!0,underline:!0,color:"gray"},"Current")),p.createElement(u,{width:17},p.createElement(A,{bold:!0,underline:!0,color:"gray"},"Range")),p.createElement(u,{width:17},p.createElement(A,{bold:!0,underline:!0,color:"gray"},"Latest"))),we=({active:me,descriptor:Ce,suggestions:Ae})=>{let[ne,Z]=a(Ce.descriptorHash,null),xe=j.stringifyIdent(Ce),Le=Math.max(0,45-xe.length);return p.createElement(p.Fragment,null,p.createElement(u,null,p.createElement(u,{width:45},p.createElement(A,{bold:!0},j.prettyIdent(v,Ce)),p.createElement(r,{active:me,length:Le})),p.createElement(e,{active:me,options:Ae,value:ne,skewer:!0,onChange:Z,sizes:[17,17,17]})))},de=({dependencies:me})=>{let[Ce,Ae]=I(me.map(()=>null)),ne=E(!0),Z=async xe=>{let Le=await ae(xe);return Le.filter(ht=>ht.label!=="").length<=1?null:{descriptor:xe,suggestions:Le}};return h(()=>()=>{ne.current=!1},[]),h(()=>{let xe=Math.trunc(N*1.75),Le=me.slice(0,xe),ht=me.slice(xe),H=AIe(ht,N),rt=Le.map(Z).reduce(async(Te,Re)=>{await Te;let ke=await Re;ke!==null&&(!ne.current||Ae(Ye=>{let Se=Ye.findIndex(Ue=>Ue===null),et=[...Ye];return et[Se]=ke,et}))},Promise.resolve());H.reduce((Te,Re)=>Promise.all(Re.map(ke=>Promise.resolve().then(()=>Z(ke)))).then(async ke=>{ke=ke.filter(Ye=>Ye!==null),await Te,ne.current&&Ae(Ye=>{let Se=Ye.findIndex(et=>et===null);return Ye.slice(0,Se).concat(ke).concat(Ye.slice(Se+ke.length))})}),rt).then(()=>{ne.current&&Ae(Te=>Te.filter(Re=>Re!==null))})},[]),Ce.length?p.createElement(o,{radius:N>>1,children:Ce.map((xe,Le)=>xe!==null?p.createElement(we,{key:Le,active:!1,descriptor:xe.descriptor,suggestions:xe.suggestions}):p.createElement(A,{key:Le},"Loading..."))}):p.createElement(A,null,"No upgrades found")},Ee=await n(({useSubmit:me})=>{me(a());let Ce=new Map;for(let ne of x.workspaces)for(let Z of["dependencies","devDependencies"])for(let xe of ne.manifest[Z].values())x.tryWorkspaceByDescriptor(xe)===null&&(xe.range.startsWith("link:")||Ce.set(xe.descriptorHash,xe));let Ae=He.sortMap(Ce.values(),ne=>j.stringifyDescriptor(ne));return p.createElement(u,{flexDirection:"column"},p.createElement(le,null),p.createElement(ce,null),p.createElement(de,{dependencies:Ae}))},{},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof Ee>"u")return 1;let g=!1;for(let me of x.workspaces)for(let Ce of["dependencies","devDependencies"]){let Ae=me.manifest[Ce];for(let ne of Ae.values()){let Z=Ee.get(ne.descriptorHash);typeof Z<"u"&&Z!==null&&(Ae.set(ne.identHash,j.makeDescriptor(ne,Z)),g=!0)}}return g?await x.installWithNewReport({quiet:this.context.quiet,stdout:this.context.stdout},{cache:F}):0}};v0.paths=[["upgrade-interactive"]],v0.usage=it.Usage({category:"Interactive commands",description:"open the upgrade interface",details:` + This command opens a fullscreen terminal interface where you can see any out of date packages used by your application, their status compared to the latest versions available on the remote registry, and select packages to upgrade. + `,examples:[["Open the upgrade window","yarn upgrade-interactive"]]});var sIt={commands:[I0,v0]},oIt=sIt;var Lq={};zt(Lq,{LinkFetcher:()=>YB,LinkResolver:()=>WB,PortalFetcher:()=>KB,PortalResolver:()=>zB,default:()=>lIt});je();Dt();var tp="portal:",rp="link:";var YB=class{supports(e,r){return!!e.reference.startsWith(rp)}getLocalPath(e,r){let{parentLocator:o,path:a}=j.parseFileStyleRange(e.reference,{protocol:rp});if(z.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:z.resolve(n,a)}async fetch(e,r){let{parentLocator:o,path:a}=j.parseFileStyleRange(e.reference,{protocol:rp}),n=z.isAbsolute(a)?{packageFs:new gn(Bt.root),prefixPath:Bt.dot,localPath:Bt.root}:await r.fetcher.fetch(o,r),u=n.localPath?{packageFs:new gn(Bt.root),prefixPath:z.relative(Bt.root,n.localPath),localPath:Bt.root}:n;n!==u&&n.releaseFs&&n.releaseFs();let A=u.packageFs,p=z.resolve(u.localPath??u.packageFs.getRealPath(),u.prefixPath,a);return n.localPath?{packageFs:new gn(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:Bt.dot,discardFromLookup:!0,localPath:p}:{packageFs:new Hu(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:Bt.dot,discardFromLookup:!0}}};je();Dt();var WB=class{supportsDescriptor(e,r){return!!e.range.startsWith(rp)}supportsLocator(e,r){return!!e.reference.startsWith(rp)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return j.bindDescriptor(e,{locator:j.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=e.range.slice(rp.length);return[j.makeLocator(e,`${rp}${ue.toPortablePath(a)}`)]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){return{...e,version:"0.0.0",languageName:r.project.configuration.get("defaultLanguageName"),linkType:"SOFT",conditions:null,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map}}};je();Dt();var KB=class{supports(e,r){return!!e.reference.startsWith(tp)}getLocalPath(e,r){let{parentLocator:o,path:a}=j.parseFileStyleRange(e.reference,{protocol:tp});if(z.isAbsolute(a))return a;let n=r.fetcher.getLocalPath(o,r);return n===null?null:z.resolve(n,a)}async fetch(e,r){let{parentLocator:o,path:a}=j.parseFileStyleRange(e.reference,{protocol:tp}),n=z.isAbsolute(a)?{packageFs:new gn(Bt.root),prefixPath:Bt.dot,localPath:Bt.root}:await r.fetcher.fetch(o,r),u=n.localPath?{packageFs:new gn(Bt.root),prefixPath:z.relative(Bt.root,n.localPath),localPath:Bt.root}:n;n!==u&&n.releaseFs&&n.releaseFs();let A=u.packageFs,p=z.resolve(u.localPath??u.packageFs.getRealPath(),u.prefixPath,a);return n.localPath?{packageFs:new gn(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:Bt.dot,localPath:p}:{packageFs:new Hu(p,{baseFs:A}),releaseFs:u.releaseFs,prefixPath:Bt.dot}}};je();je();Dt();var zB=class{supportsDescriptor(e,r){return!!e.range.startsWith(tp)}supportsLocator(e,r){return!!e.reference.startsWith(tp)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){return j.bindDescriptor(e,{locator:j.stringifyLocator(r)})}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=e.range.slice(tp.length);return[j.makeLocator(e,`${tp}${ue.toPortablePath(a)}`)]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){if(!r.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let o=await r.fetchOptions.fetcher.fetch(e,r.fetchOptions),a=await He.releaseAfterUseAsync(async()=>await Ot.find(o.prefixPath,{baseFs:o.packageFs}),o.releaseFs);return{...e,version:a.version||"0.0.0",languageName:a.languageName||r.project.configuration.get("defaultLanguageName"),linkType:"SOFT",conditions:a.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(a.dependencies),peerDependencies:a.peerDependencies,dependenciesMeta:a.dependenciesMeta,peerDependenciesMeta:a.peerDependenciesMeta,bin:a.bin}}};var aIt={fetchers:[YB,KB],resolvers:[WB,zB]},lIt=aIt;var yG={};zt(yG,{NodeModulesLinker:()=>cv,NodeModulesMode:()=>hG,PnpLooseLinker:()=>uv,default:()=>v1t});Dt();je();Dt();Dt();var Oq=(t,e)=>`${t}@${e}`,fIe=(t,e)=>{let r=e.indexOf("#"),o=r>=0?e.substring(r+1):e;return Oq(t,o)};var gIe=(t,e={})=>{let r=e.debugLevel||Number(process.env.NM_DEBUG_LEVEL||-1),o=e.check||r>=9,a=e.hoistingLimits||new Map,n={check:o,debugLevel:r,hoistingLimits:a,fastLookupPossible:!0},u;n.debugLevel>=0&&(u=Date.now());let A=gIt(t,n),p=!1,h=0;do p=Mq(A,[A],new Set([A.locator]),new Map,n).anotherRoundNeeded,n.fastLookupPossible=!1,h++;while(p);if(n.debugLevel>=0&&console.log(`hoist time: ${Date.now()-u}ms, rounds: ${h}`),n.debugLevel>=1){let E=JB(A);if(Mq(A,[A],new Set([A.locator]),new Map,n).isGraphChanged)throw new Error(`The hoisting result is not terminal, prev tree: +${E}, next tree: +${JB(A)}`);let v=dIe(A);if(v)throw new Error(`${v}, after hoisting finished: +${JB(A)}`)}return n.debugLevel>=2&&console.log(JB(A)),dIt(A)},cIt=t=>{let e=t[t.length-1],r=new Map,o=new Set,a=n=>{if(!o.has(n)){o.add(n);for(let u of n.hoistedDependencies.values())r.set(u.name,u);for(let u of n.dependencies.values())n.peerNames.has(u.name)||a(u)}};return a(e),r},uIt=t=>{let e=t[t.length-1],r=new Map,o=new Set,a=new Set,n=(u,A)=>{if(o.has(u))return;o.add(u);for(let h of u.hoistedDependencies.values())if(!A.has(h.name)){let E;for(let I of t)E=I.dependencies.get(h.name),E&&r.set(E.name,E)}let p=new Set;for(let h of u.dependencies.values())p.add(h.name);for(let h of u.dependencies.values())u.peerNames.has(h.name)||n(h,p)};return n(e,a),r},pIe=(t,e)=>{if(e.decoupled)return e;let{name:r,references:o,ident:a,locator:n,dependencies:u,originalDependencies:A,hoistedDependencies:p,peerNames:h,reasons:E,isHoistBorder:I,hoistPriority:v,dependencyKind:x,hoistedFrom:C,hoistedTo:F}=e,N={name:r,references:new Set(o),ident:a,locator:n,dependencies:new Map(u),originalDependencies:new Map(A),hoistedDependencies:new Map(p),peerNames:new Set(h),reasons:new Map(E),decoupled:!0,isHoistBorder:I,hoistPriority:v,dependencyKind:x,hoistedFrom:new Map(C),hoistedTo:new Map(F)},U=N.dependencies.get(r);return U&&U.ident==N.ident&&N.dependencies.set(r,N),t.dependencies.set(N.name,N),N},AIt=(t,e)=>{let r=new Map([[t.name,[t.ident]]]);for(let a of t.dependencies.values())t.peerNames.has(a.name)||r.set(a.name,[a.ident]);let o=Array.from(e.keys());o.sort((a,n)=>{let u=e.get(a),A=e.get(n);return A.hoistPriority!==u.hoistPriority?A.hoistPriority-u.hoistPriority:A.peerDependents.size!==u.peerDependents.size?A.peerDependents.size-u.peerDependents.size:A.dependents.size-u.dependents.size});for(let a of o){let n=a.substring(0,a.indexOf("@",1)),u=a.substring(n.length+1);if(!t.peerNames.has(n)){let A=r.get(n);A||(A=[],r.set(n,A)),A.indexOf(u)<0&&A.push(u)}}return r},Nq=t=>{let e=new Set,r=(o,a=new Set)=>{if(!a.has(o)){a.add(o);for(let n of o.peerNames)if(!t.peerNames.has(n)){let u=t.dependencies.get(n);u&&!e.has(u)&&r(u,a)}e.add(o)}};for(let o of t.dependencies.values())t.peerNames.has(o.name)||r(o);return e},Mq=(t,e,r,o,a,n=new Set)=>{let u=e[e.length-1];if(n.has(u))return{anotherRoundNeeded:!1,isGraphChanged:!1};n.add(u);let A=mIt(u),p=AIt(u,A),h=t==u?new Map:a.fastLookupPossible?cIt(e):uIt(e),E,I=!1,v=!1,x=new Map(Array.from(p.entries()).map(([F,N])=>[F,N[0]])),C=new Map;do{let F=hIt(t,e,r,h,x,p,o,C,a);F.isGraphChanged&&(v=!0),F.anotherRoundNeeded&&(I=!0),E=!1;for(let[N,U]of p)U.length>1&&!u.dependencies.has(N)&&(x.delete(N),U.shift(),x.set(N,U[0]),E=!0)}while(E);for(let F of u.dependencies.values())if(!u.peerNames.has(F.name)&&!r.has(F.locator)){r.add(F.locator);let N=Mq(t,[...e,F],r,C,a);N.isGraphChanged&&(v=!0),N.anotherRoundNeeded&&(I=!0),r.delete(F.locator)}return{anotherRoundNeeded:I,isGraphChanged:v}},fIt=t=>{for(let[e,r]of t.dependencies)if(!t.peerNames.has(e)&&r.ident!==t.ident)return!0;return!1},pIt=(t,e,r,o,a,n,u,A,{outputReason:p,fastLookupPossible:h})=>{let E,I=null,v=new Set;p&&(E=`${Array.from(e).map(N=>ro(N)).join("\u2192")}`);let x=r[r.length-1],F=!(o.ident===x.ident);if(p&&!F&&(I="- self-reference"),F&&(F=o.dependencyKind!==1,p&&!F&&(I="- workspace")),F&&o.dependencyKind===2&&(F=!fIt(o),p&&!F&&(I="- external soft link with unhoisted dependencies")),F&&(F=x.dependencyKind!==1||x.hoistedFrom.has(o.name)||e.size===1,p&&!F&&(I=x.reasons.get(o.name))),F&&(F=!t.peerNames.has(o.name),p&&!F&&(I=`- cannot shadow peer: ${ro(t.originalDependencies.get(o.name).locator)} at ${E}`)),F){let N=!1,U=a.get(o.name);if(N=!U||U.ident===o.ident,p&&!N&&(I=`- filled by: ${ro(U.locator)} at ${E}`),N)for(let J=r.length-1;J>=1;J--){let ae=r[J].dependencies.get(o.name);if(ae&&ae.ident!==o.ident){N=!1;let le=A.get(x);le||(le=new Set,A.set(x,le)),le.add(o.name),p&&(I=`- filled by ${ro(ae.locator)} at ${r.slice(0,J).map(ce=>ro(ce.locator)).join("\u2192")}`);break}}F=N}if(F&&(F=n.get(o.name)===o.ident,p&&!F&&(I=`- filled by: ${ro(u.get(o.name)[0])} at ${E}`)),F){let N=!0,U=new Set(o.peerNames);for(let J=r.length-1;J>=1;J--){let te=r[J];for(let ae of U){if(te.peerNames.has(ae)&&te.originalDependencies.has(ae))continue;let le=te.dependencies.get(ae);le&&t.dependencies.get(ae)!==le&&(J===r.length-1?v.add(le):(v=null,N=!1,p&&(I=`- peer dependency ${ro(le.locator)} from parent ${ro(te.locator)} was not hoisted to ${E}`))),U.delete(ae)}if(!N)break}F=N}if(F&&!h)for(let N of o.hoistedDependencies.values()){let U=a.get(N.name)||t.dependencies.get(N.name);if(!U||N.ident!==U.ident){F=!1,p&&(I=`- previously hoisted dependency mismatch, needed: ${ro(N.locator)}, available: ${ro(U?.locator)}`);break}}return v!==null&&v.size>0?{isHoistable:2,dependsOn:v,reason:I}:{isHoistable:F?0:1,reason:I}},EQ=t=>`${t.name}@${t.locator}`,hIt=(t,e,r,o,a,n,u,A,p)=>{let h=e[e.length-1],E=new Set,I=!1,v=!1,x=(U,J,te,ae,le)=>{if(E.has(ae))return;let ce=[...J,EQ(ae)],we=[...te,EQ(ae)],de=new Map,Be=new Map;for(let Ae of Nq(ae)){let ne=pIt(h,r,[h,...U,ae],Ae,o,a,n,A,{outputReason:p.debugLevel>=2,fastLookupPossible:p.fastLookupPossible});if(Be.set(Ae,ne),ne.isHoistable===2)for(let Z of ne.dependsOn){let xe=de.get(Z.name)||new Set;xe.add(Ae.name),de.set(Z.name,xe)}}let Ee=new Set,g=(Ae,ne,Z)=>{if(!Ee.has(Ae)){Ee.add(Ae),Be.set(Ae,{isHoistable:1,reason:Z});for(let xe of de.get(Ae.name)||[])g(ae.dependencies.get(xe),ne,p.debugLevel>=2?`- peer dependency ${ro(Ae.locator)} from parent ${ro(ae.locator)} was not hoisted`:"")}};for(let[Ae,ne]of Be)ne.isHoistable===1&&g(Ae,ne,ne.reason);let me=!1;for(let Ae of Be.keys())if(!Ee.has(Ae)){v=!0;let ne=u.get(ae);ne&&ne.has(Ae.name)&&(I=!0),me=!0,ae.dependencies.delete(Ae.name),ae.hoistedDependencies.set(Ae.name,Ae),ae.reasons.delete(Ae.name);let Z=h.dependencies.get(Ae.name);if(p.debugLevel>=2){let xe=Array.from(J).concat([ae.locator]).map(ht=>ro(ht)).join("\u2192"),Le=h.hoistedFrom.get(Ae.name);Le||(Le=[],h.hoistedFrom.set(Ae.name,Le)),Le.push(xe),ae.hoistedTo.set(Ae.name,Array.from(e).map(ht=>ro(ht.locator)).join("\u2192"))}if(!Z)h.ident!==Ae.ident&&(h.dependencies.set(Ae.name,Ae),le.add(Ae));else for(let xe of Ae.references)Z.references.add(xe)}if(ae.dependencyKind===2&&me&&(I=!0),p.check){let Ae=dIe(t);if(Ae)throw new Error(`${Ae}, after hoisting dependencies of ${[h,...U,ae].map(ne=>ro(ne.locator)).join("\u2192")}: +${JB(t)}`)}let Ce=Nq(ae);for(let Ae of Ce)if(Ee.has(Ae)){let ne=Be.get(Ae);if((a.get(Ae.name)===Ae.ident||!ae.reasons.has(Ae.name))&&ne.isHoistable!==0&&ae.reasons.set(Ae.name,ne.reason),!Ae.isHoistBorder&&we.indexOf(EQ(Ae))<0){E.add(ae);let xe=pIe(ae,Ae);x([...U,ae],ce,we,xe,F),E.delete(ae)}}},C,F=new Set(Nq(h)),N=Array.from(e).map(U=>EQ(U));do{C=F,F=new Set;for(let U of C){if(U.locator===h.locator||U.isHoistBorder)continue;let J=pIe(h,U);x([],Array.from(r),N,J,F)}}while(F.size>0);return{anotherRoundNeeded:I,isGraphChanged:v}},dIe=t=>{let e=[],r=new Set,o=new Set,a=(n,u,A)=>{if(r.has(n)||(r.add(n),o.has(n)))return;let p=new Map(u);for(let h of n.dependencies.values())n.peerNames.has(h.name)||p.set(h.name,h);for(let h of n.originalDependencies.values()){let E=p.get(h.name),I=()=>`${Array.from(o).concat([n]).map(v=>ro(v.locator)).join("\u2192")}`;if(n.peerNames.has(h.name)){let v=u.get(h.name);(v!==E||!v||v.ident!==h.ident)&&e.push(`${I()} - broken peer promise: expected ${h.ident} but found ${v&&v.ident}`)}else{let v=A.hoistedFrom.get(n.name),x=n.hoistedTo.get(h.name),C=`${v?` hoisted from ${v.join(", ")}`:""}`,F=`${x?` hoisted to ${x}`:""}`,N=`${I()}${C}`;E?E.ident!==h.ident&&e.push(`${N} - broken require promise for ${h.name}${F}: expected ${h.ident}, but found: ${E.ident}`):e.push(`${N} - broken require promise: no required dependency ${h.name}${F} found`)}}o.add(n);for(let h of n.dependencies.values())n.peerNames.has(h.name)||a(h,p,n);o.delete(n)};return a(t,t.dependencies,t),e.join(` +`)},gIt=(t,e)=>{let{identName:r,name:o,reference:a,peerNames:n}=t,u={name:o,references:new Set([a]),locator:Oq(r,a),ident:fIe(r,a),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(n),reasons:new Map,decoupled:!0,isHoistBorder:!0,hoistPriority:0,dependencyKind:1,hoistedFrom:new Map,hoistedTo:new Map},A=new Map([[t,u]]),p=(h,E)=>{let I=A.get(h),v=!!I;if(!I){let{name:x,identName:C,reference:F,peerNames:N,hoistPriority:U,dependencyKind:J}=h,te=e.hoistingLimits.get(E.locator);I={name:x,references:new Set([F]),locator:Oq(C,F),ident:fIe(C,F),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(N),reasons:new Map,decoupled:!0,isHoistBorder:te?te.has(x):!1,hoistPriority:U||0,dependencyKind:J||0,hoistedFrom:new Map,hoistedTo:new Map},A.set(h,I)}if(E.dependencies.set(h.name,I),E.originalDependencies.set(h.name,I),v){let x=new Set,C=F=>{if(!x.has(F)){x.add(F),F.decoupled=!1;for(let N of F.dependencies.values())F.peerNames.has(N.name)||C(N)}};C(I)}else for(let x of h.dependencies)p(x,I)};for(let h of t.dependencies)p(h,u);return u},Uq=t=>t.substring(0,t.indexOf("@",1)),dIt=t=>{let e={name:t.name,identName:Uq(t.locator),references:new Set(t.references),dependencies:new Set},r=new Set([t]),o=(a,n,u)=>{let A=r.has(a),p;if(n===a)p=u;else{let{name:h,references:E,locator:I}=a;p={name:h,identName:Uq(I),references:E,dependencies:new Set}}if(u.dependencies.add(p),!A){r.add(a);for(let h of a.dependencies.values())a.peerNames.has(h.name)||o(h,a,p);r.delete(a)}};for(let a of t.dependencies.values())o(a,t,e);return e},mIt=t=>{let e=new Map,r=new Set([t]),o=u=>`${u.name}@${u.ident}`,a=u=>{let A=o(u),p=e.get(A);return p||(p={dependents:new Set,peerDependents:new Set,hoistPriority:0},e.set(A,p)),p},n=(u,A)=>{let p=!!r.has(A);if(a(A).dependents.add(u.ident),!p){r.add(A);for(let E of A.dependencies.values()){let I=a(E);I.hoistPriority=Math.max(I.hoistPriority,E.hoistPriority),A.peerNames.has(E.name)?I.peerDependents.add(A.ident):n(A,E)}}};for(let u of t.dependencies.values())t.peerNames.has(u.name)||n(t,u);return e},ro=t=>{if(!t)return"none";let e=t.indexOf("@",1),r=t.substring(0,e);r.endsWith("$wsroot$")&&(r=`wh:${r.replace("$wsroot$","")}`);let o=t.substring(e+1);if(o==="workspace:.")return".";if(o){let a=(o.indexOf("#")>0?o.split("#")[1]:o).replace("npm:","");return o.startsWith("virtual")&&(r=`v:${r}`),a.startsWith("workspace")&&(r=`w:${r}`,a=""),`${r}${a?`@${a}`:""}`}else return`${r}`},hIe=5e4,JB=t=>{let e=0,r=(a,n,u="")=>{if(e>hIe||n.has(a))return"";e++;let A=Array.from(a.dependencies.values()).sort((h,E)=>h.name===E.name?0:h.name>E.name?1:-1),p="";n.add(a);for(let h=0;h":"")+(v!==E.name?`a:${E.name}:`:"")+ro(E.locator)+(I?` ${I}`:"")} +`,p+=r(E,n,`${u}${hhIe?` +Tree is too large, part of the tree has been dunped +`:"")};var VB=(o=>(o.WORKSPACES="workspaces",o.DEPENDENCIES="dependencies",o.NONE="none",o))(VB||{}),mIe="node_modules",P0="$wsroot$";var XB=(t,e)=>{let{packageTree:r,hoistingLimits:o,errors:a,preserveSymlinksRequired:n}=EIt(t,e),u=null;if(a.length===0){let A=gIe(r,{hoistingLimits:o});u=wIt(t,A,e)}return{tree:u,errors:a,preserveSymlinksRequired:n}},dA=t=>`${t.name}@${t.reference}`,Hq=t=>{let e=new Map;for(let[r,o]of t.entries())if(!o.dirList){let a=e.get(o.locator);a||(a={target:o.target,linkType:o.linkType,locations:[],aliases:o.aliases},e.set(o.locator,a)),a.locations.push(r)}for(let r of e.values())r.locations=r.locations.sort((o,a)=>{let n=o.split(z.delimiter).length,u=a.split(z.delimiter).length;return a===o?0:n!==u?u-n:a>o?1:-1});return e},yIe=(t,e)=>{let r=j.isVirtualLocator(t)?j.devirtualizeLocator(t):t,o=j.isVirtualLocator(e)?j.devirtualizeLocator(e):e;return j.areLocatorsEqual(r,o)},_q=(t,e,r,o)=>{if(t.linkType!=="SOFT")return!1;let a=ue.toPortablePath(r.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?r.resolveVirtual(t.packageLocation):t.packageLocation);return z.contains(o,a)===null},yIt=t=>{let e=t.getPackageInformation(t.topLevel);if(e===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");if(t.findPackageLocator(e.packageLocation)===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let o=ue.toPortablePath(e.packageLocation.slice(0,-1)),a=new Map,n={children:new Map},u=t.getDependencyTreeRoots(),A=new Map,p=new Set,h=(v,x)=>{let C=dA(v);if(p.has(C))return;p.add(C);let F=t.getPackageInformation(v);if(F){let N=x?dA(x):"";if(dA(v)!==N&&F.linkType==="SOFT"&&!v.reference.startsWith("link:")&&!_q(F,v,t,o)){let U=EIe(F,v,t);(!A.get(U)||v.reference.startsWith("workspace:"))&&A.set(U,v)}for(let[U,J]of F.packageDependencies)J!==null&&(F.packagePeers.has(U)||h(t.getLocator(U,J),v))}};for(let v of u)h(v,null);let E=o.split(z.sep);for(let v of A.values()){let x=t.getPackageInformation(v),F=ue.toPortablePath(x.packageLocation.slice(0,-1)).split(z.sep).slice(E.length),N=n;for(let U of F){let J=N.children.get(U);J||(J={children:new Map},N.children.set(U,J)),N=J}N.workspaceLocator=v}let I=(v,x)=>{if(v.workspaceLocator){let C=dA(x),F=a.get(C);F||(F=new Set,a.set(C,F)),F.add(v.workspaceLocator)}for(let C of v.children.values())I(C,v.workspaceLocator||x)};for(let v of n.children.values())I(v,n.workspaceLocator);return a},EIt=(t,e)=>{let r=[],o=!1,a=new Map,n=yIt(t),u=t.getPackageInformation(t.topLevel);if(u===null)throw new Error("Assertion failed: Expected the top-level package to have been registered");let A=t.findPackageLocator(u.packageLocation);if(A===null)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");let p=ue.toPortablePath(u.packageLocation.slice(0,-1)),h={name:A.name,identName:A.name,reference:A.reference,peerNames:u.packagePeers,dependencies:new Set,dependencyKind:1},E=new Map,I=(x,C)=>`${dA(C)}:${x}`,v=(x,C,F,N,U,J,te,ae)=>{let le=I(x,F),ce=E.get(le),we=!!ce;!we&&F.name===A.name&&F.reference===A.reference&&(ce=h,E.set(le,h));let de=_q(C,F,t,p);if(!ce){let Ae=0;de?Ae=2:C.linkType==="SOFT"&&F.name.endsWith(P0)&&(Ae=1),ce={name:x,identName:F.name,reference:F.reference,dependencies:new Set,peerNames:Ae===1?new Set:C.packagePeers,dependencyKind:Ae},E.set(le,ce)}let Be;if(de?Be=2:U.linkType==="SOFT"?Be=1:Be=0,ce.hoistPriority=Math.max(ce.hoistPriority||0,Be),ae&&!de){let Ae=dA({name:N.identName,reference:N.reference}),ne=a.get(Ae)||new Set;a.set(Ae,ne),ne.add(ce.name)}let Ee=new Map(C.packageDependencies);if(e.project){let Ae=e.project.workspacesByCwd.get(ue.toPortablePath(C.packageLocation.slice(0,-1)));if(Ae){let ne=new Set([...Array.from(Ae.manifest.peerDependencies.values(),Z=>j.stringifyIdent(Z)),...Array.from(Ae.manifest.peerDependenciesMeta.keys())]);for(let Z of ne)Ee.has(Z)||(Ee.set(Z,J.get(Z)||null),ce.peerNames.add(Z))}}let g=dA({name:F.name.replace(P0,""),reference:F.reference}),me=n.get(g);if(me)for(let Ae of me)Ee.set(`${Ae.name}${P0}`,Ae.reference);(C!==U||C.linkType!=="SOFT"||!de&&(!e.selfReferencesByCwd||e.selfReferencesByCwd.get(te)))&&N.dependencies.add(ce);let Ce=F!==A&&C.linkType==="SOFT"&&!F.name.endsWith(P0)&&!de;if(!we&&!Ce){let Ae=new Map;for(let[ne,Z]of Ee)if(Z!==null){let xe=t.getLocator(ne,Z),Le=t.getLocator(ne.replace(P0,""),Z),ht=t.getPackageInformation(Le);if(ht===null)throw new Error("Assertion failed: Expected the package to have been registered");let H=_q(ht,xe,t,p);if(e.validateExternalSoftLinks&&e.project&&H){ht.packageDependencies.size>0&&(o=!0);for(let[Ye,Se]of ht.packageDependencies)if(Se!==null){let et=j.parseLocator(Array.isArray(Se)?`${Se[0]}@${Se[1]}`:`${Ye}@${Se}`);if(dA(et)!==dA(xe)){let Ue=Ee.get(Ye);if(Ue){let b=j.parseLocator(Array.isArray(Ue)?`${Ue[0]}@${Ue[1]}`:`${Ye}@${Ue}`);yIe(b,et)||r.push({messageName:71,text:`Cannot link ${j.prettyIdent(e.project.configuration,j.parseIdent(xe.name))} into ${j.prettyLocator(e.project.configuration,j.parseLocator(`${F.name}@${F.reference}`))} dependency ${j.prettyLocator(e.project.configuration,et)} conflicts with parent dependency ${j.prettyLocator(e.project.configuration,b)}`})}else{let b=Ae.get(Ye);if(b){let w=b.target,S=j.parseLocator(Array.isArray(w)?`${w[0]}@${w[1]}`:`${Ye}@${w}`);yIe(S,et)||r.push({messageName:71,text:`Cannot link ${j.prettyIdent(e.project.configuration,j.parseIdent(xe.name))} into ${j.prettyLocator(e.project.configuration,j.parseLocator(`${F.name}@${F.reference}`))} dependency ${j.prettyLocator(e.project.configuration,et)} conflicts with dependency ${j.prettyLocator(e.project.configuration,S)} from sibling portal ${j.prettyIdent(e.project.configuration,j.parseIdent(b.portal.name))}`})}else Ae.set(Ye,{target:et.reference,portal:xe})}}}}let rt=e.hoistingLimitsByCwd?.get(te),Te=H?te:z.relative(p,ue.toPortablePath(ht.packageLocation))||Bt.dot,Re=e.hoistingLimitsByCwd?.get(Te);v(ne,ht,xe,ce,C,Ee,Te,rt==="dependencies"||Re==="dependencies"||Re==="workspaces")}}};return v(A.name,u,A,h,u,u.packageDependencies,Bt.dot,!1),{packageTree:h,hoistingLimits:a,errors:r,preserveSymlinksRequired:o}};function EIe(t,e,r){let o=r.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?r.resolveVirtual(t.packageLocation):t.packageLocation;return ue.toPortablePath(o||t.packageLocation)}function CIt(t,e,r){let o=e.getLocator(t.name.replace(P0,""),t.reference),a=e.getPackageInformation(o);if(a===null)throw new Error("Assertion failed: Expected the package to be registered");return r.pnpifyFs?{linkType:"SOFT",target:ue.toPortablePath(a.packageLocation)}:{linkType:a.linkType,target:EIe(a,t,e)}}var wIt=(t,e,r)=>{let o=new Map,a=(E,I,v)=>{let{linkType:x,target:C}=CIt(E,t,r);return{locator:dA(E),nodePath:I,target:C,linkType:x,aliases:v}},n=E=>{let[I,v]=E.split("/");return v?{scope:I,name:v}:{scope:null,name:I}},u=new Set,A=(E,I,v)=>{if(u.has(E))return;u.add(E);let x=Array.from(E.references).sort().join("#");for(let C of E.dependencies){let F=Array.from(C.references).sort().join("#");if(C.identName===E.identName.replace(P0,"")&&F===x)continue;let N=Array.from(C.references).sort(),U={name:C.identName,reference:N[0]},{name:J,scope:te}=n(C.name),ae=te?[te,J]:[J],le=z.join(I,mIe),ce=z.join(le,...ae),we=`${v}/${U.name}`,de=a(U,v,N.slice(1)),Be=!1;if(de.linkType==="SOFT"&&r.project){let Ee=r.project.workspacesByCwd.get(de.target.slice(0,-1));Be=!!(Ee&&!Ee.manifest.name)}if(!C.name.endsWith(P0)&&!Be){let Ee=o.get(ce);if(Ee){if(Ee.dirList)throw new Error(`Assertion failed: ${ce} cannot merge dir node with leaf node`);{let Ce=j.parseLocator(Ee.locator),Ae=j.parseLocator(de.locator);if(Ee.linkType!==de.linkType)throw new Error(`Assertion failed: ${ce} cannot merge nodes with different link types ${Ee.nodePath}/${j.stringifyLocator(Ce)} and ${v}/${j.stringifyLocator(Ae)}`);if(Ce.identHash!==Ae.identHash)throw new Error(`Assertion failed: ${ce} cannot merge nodes with different idents ${Ee.nodePath}/${j.stringifyLocator(Ce)} and ${v}/s${j.stringifyLocator(Ae)}`);de.aliases=[...de.aliases,...Ee.aliases,j.parseLocator(Ee.locator).reference]}}o.set(ce,de);let g=ce.split("/"),me=g.indexOf(mIe);for(let Ce=g.length-1;me>=0&&Ce>me;Ce--){let Ae=ue.toPortablePath(g.slice(0,Ce).join(z.sep)),ne=g[Ce],Z=o.get(Ae);if(!Z)o.set(Ae,{dirList:new Set([ne])});else if(Z.dirList){if(Z.dirList.has(ne))break;Z.dirList.add(ne)}}}A(C,de.linkType==="SOFT"?de.target:ce,we)}},p=a({name:e.name,reference:Array.from(e.references)[0]},"",[]),h=p.target;return o.set(h,p),A(e,h,""),o};je();je();Dt();Dt();iA();Nl();var oG={};zt(oG,{PnpInstaller:()=>dm,PnpLinker:()=>b0,UnplugCommand:()=>k0,default:()=>XIt,getPnpPath:()=>x0,jsInstallUtils:()=>yA,pnpUtils:()=>lv,quotePathIfNeeded:()=>n1e});Dt();var r1e=ve("url");je();je();Dt();Dt();var CIe={["DEFAULT"]:{collapsed:!1,next:{["*"]:"DEFAULT"}},["TOP_LEVEL"]:{collapsed:!1,next:{fallbackExclusionList:"FALLBACK_EXCLUSION_LIST",packageRegistryData:"PACKAGE_REGISTRY_DATA",["*"]:"DEFAULT"}},["FALLBACK_EXCLUSION_LIST"]:{collapsed:!1,next:{["*"]:"FALLBACK_EXCLUSION_ENTRIES"}},["FALLBACK_EXCLUSION_ENTRIES"]:{collapsed:!0,next:{["*"]:"FALLBACK_EXCLUSION_DATA"}},["FALLBACK_EXCLUSION_DATA"]:{collapsed:!0,next:{["*"]:"DEFAULT"}},["PACKAGE_REGISTRY_DATA"]:{collapsed:!1,next:{["*"]:"PACKAGE_REGISTRY_ENTRIES"}},["PACKAGE_REGISTRY_ENTRIES"]:{collapsed:!0,next:{["*"]:"PACKAGE_STORE_DATA"}},["PACKAGE_STORE_DATA"]:{collapsed:!1,next:{["*"]:"PACKAGE_STORE_ENTRIES"}},["PACKAGE_STORE_ENTRIES"]:{collapsed:!0,next:{["*"]:"PACKAGE_INFORMATION_DATA"}},["PACKAGE_INFORMATION_DATA"]:{collapsed:!1,next:{packageDependencies:"PACKAGE_DEPENDENCIES",["*"]:"DEFAULT"}},["PACKAGE_DEPENDENCIES"]:{collapsed:!1,next:{["*"]:"PACKAGE_DEPENDENCY"}},["PACKAGE_DEPENDENCY"]:{collapsed:!0,next:{["*"]:"DEFAULT"}}};function IIt(t,e,r){let o="";o+="[";for(let a=0,n=t.length;a"u"||(A!==0&&(a+=", "),a+=JSON.stringify(p),a+=": ",a+=CQ(p,h,e,r).replace(/^ +/g,""),A+=1)}return a+="}",a}function PIt(t,e,r){let o=Object.keys(t),a=`${r} `,n="";n+=r,n+=`{ +`;let u=0;for(let A=0,p=o.length;A"u"||(u!==0&&(n+=",",n+=` +`),n+=a,n+=JSON.stringify(h),n+=": ",n+=CQ(h,E,e,a).replace(/^ +/g,""),u+=1)}return u!==0&&(n+=` +`),n+=r,n+="}",n}function CQ(t,e,r,o){let{next:a}=CIe[r],n=a[t]||a["*"];return wIe(e,n,o)}function wIe(t,e,r){let{collapsed:o}=CIe[e];return Array.isArray(t)?o?IIt(t,e,r):BIt(t,e,r):typeof t=="object"&&t!==null?o?vIt(t,e,r):PIt(t,e,r):JSON.stringify(t)}function IIe(t){return wIe(t,"TOP_LEVEL","")}function ZB(t,e){let r=Array.from(t);Array.isArray(e)||(e=[e]);let o=[];for(let n of e)o.push(r.map(u=>n(u)));let a=r.map((n,u)=>u);return a.sort((n,u)=>{for(let A of o){let p=A[n]A[u]?1:0;if(p!==0)return p}return 0}),a.map(n=>r[n])}function DIt(t){let e=new Map,r=ZB(t.fallbackExclusionList||[],[({name:o,reference:a})=>o,({name:o,reference:a})=>a]);for(let{name:o,reference:a}of r){let n=e.get(o);typeof n>"u"&&e.set(o,n=new Set),n.add(a)}return Array.from(e).map(([o,a])=>[o,Array.from(a)])}function SIt(t){return ZB(t.fallbackPool||[],([e])=>e)}function bIt(t){let e=[];for(let[r,o]of ZB(t.packageRegistry,([a])=>a===null?"0":`1${a}`)){let a=[];e.push([r,a]);for(let[n,{packageLocation:u,packageDependencies:A,packagePeers:p,linkType:h,discardFromLookup:E}]of ZB(o,([I])=>I===null?"0":`1${I}`)){let I=[];r!==null&&n!==null&&!A.has(r)&&I.push([r,n]);for(let[C,F]of ZB(A.entries(),([N])=>N))I.push([C,F]);let v=p&&p.size>0?Array.from(p):void 0,x=E||void 0;a.push([n,{packageLocation:u,packageDependencies:I,packagePeers:v,linkType:h,discardFromLookup:x}])}}return e}function $B(t){return{__info:["This file is automatically generated. Do not touch it, or risk","your modifications being lost."],dependencyTreeRoots:t.dependencyTreeRoots,enableTopLevelFallback:t.enableTopLevelFallback||!1,ignorePatternData:t.ignorePattern||null,fallbackExclusionList:DIt(t),fallbackPool:SIt(t),packageRegistryData:bIt(t)}}var PIe=Ze(vIe());function DIe(t,e){return[t?`${t} +`:"",`/* eslint-disable */ +`,`// @ts-nocheck +`,`"use strict"; +`,` +`,e,` +`,(0,PIe.default)()].join("")}function xIt(t){return JSON.stringify(t,null,2)}function kIt(t){return`'${t.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,`\\ +`)}'`}function QIt(t){return[`const RAW_RUNTIME_STATE = +`,`${kIt(IIe(t))}; + +`,`function $$SETUP_STATE(hydrateRuntimeState, basePath) { +`,` return hydrateRuntimeState(JSON.parse(RAW_RUNTIME_STATE), {basePath: basePath || __dirname}); +`,`} +`].join("")}function RIt(){return[`function $$SETUP_STATE(hydrateRuntimeState, basePath) { +`,` const fs = require('fs'); +`,` const path = require('path'); +`,` const pnpDataFilepath = path.resolve(__dirname, ${JSON.stringify(dr.pnpData)}); +`,` return hydrateRuntimeState(JSON.parse(fs.readFileSync(pnpDataFilepath, 'utf8')), {basePath: basePath || __dirname}); +`,`} +`].join("")}function SIe(t){let e=$B(t),r=QIt(e);return DIe(t.shebang,r)}function bIe(t){let e=$B(t),r=RIt(),o=DIe(t.shebang,r);return{dataFile:xIt(e),loaderFile:o}}Dt();function Gq(t,{basePath:e}){let r=ue.toPortablePath(e),o=z.resolve(r),a=t.ignorePatternData!==null?new RegExp(t.ignorePatternData):null,n=new Map,u=new Map(t.packageRegistryData.map(([I,v])=>[I,new Map(v.map(([x,C])=>{if(I===null!=(x===null))throw new Error("Assertion failed: The name and reference should be null, or neither should");let F=C.discardFromLookup??!1,N={name:I,reference:x},U=n.get(C.packageLocation);U?(U.discardFromLookup=U.discardFromLookup&&F,F||(U.locator=N)):n.set(C.packageLocation,{locator:N,discardFromLookup:F});let J=null;return[x,{packageDependencies:new Map(C.packageDependencies),packagePeers:new Set(C.packagePeers),linkType:C.linkType,discardFromLookup:F,get packageLocation(){return J||(J=z.join(o,C.packageLocation))}}]}))])),A=new Map(t.fallbackExclusionList.map(([I,v])=>[I,new Set(v)])),p=new Map(t.fallbackPool),h=t.dependencyTreeRoots,E=t.enableTopLevelFallback;return{basePath:r,dependencyTreeRoots:h,enableTopLevelFallback:E,fallbackExclusionList:A,fallbackPool:p,ignorePattern:a,packageLocatorsByLocations:n,packageRegistry:u}}Dt();Dt();var ip=ve("module"),gm=ve("url"),$q=ve("util");var Oo=ve("url");var RIe=Ze(ve("assert"));var jq=Array.isArray,ev=JSON.stringify,tv=Object.getOwnPropertyNames,hm=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),Yq=(t,e)=>RegExp.prototype.exec.call(t,e),Wq=(t,...e)=>RegExp.prototype[Symbol.replace].apply(t,e),D0=(t,...e)=>String.prototype.endsWith.apply(t,e),Kq=(t,...e)=>String.prototype.includes.apply(t,e),zq=(t,...e)=>String.prototype.lastIndexOf.apply(t,e),rv=(t,...e)=>String.prototype.indexOf.apply(t,e),xIe=(t,...e)=>String.prototype.replace.apply(t,e),S0=(t,...e)=>String.prototype.slice.apply(t,e),mA=(t,...e)=>String.prototype.startsWith.apply(t,e),kIe=Map,QIe=JSON.parse;function nv(t,e,r){return class extends r{constructor(...o){super(e(...o)),this.code=t,this.name=`${r.name} [${t}]`}}}var FIe=nv("ERR_PACKAGE_IMPORT_NOT_DEFINED",(t,e,r)=>`Package import specifier "${t}" is not defined${e?` in package ${e}package.json`:""} imported from ${r}`,TypeError),Jq=nv("ERR_INVALID_MODULE_SPECIFIER",(t,e,r=void 0)=>`Invalid module "${t}" ${e}${r?` imported from ${r}`:""}`,TypeError),TIe=nv("ERR_INVALID_PACKAGE_TARGET",(t,e,r,o=!1,a=void 0)=>{let n=typeof r=="string"&&!o&&r.length&&!mA(r,"./");return e==="."?((0,RIe.default)(o===!1),`Invalid "exports" main target ${ev(r)} defined in the package config ${t}package.json${a?` imported from ${a}`:""}${n?'; targets must start with "./"':""}`):`Invalid "${o?"imports":"exports"}" target ${ev(r)} defined for '${e}' in the package config ${t}package.json${a?` imported from ${a}`:""}${n?'; targets must start with "./"':""}`},Error),iv=nv("ERR_INVALID_PACKAGE_CONFIG",(t,e,r)=>`Invalid package config ${t}${e?` while importing ${e}`:""}${r?`. ${r}`:""}`,Error),LIe=nv("ERR_PACKAGE_PATH_NOT_EXPORTED",(t,e,r=void 0)=>e==="."?`No "exports" main defined in ${t}package.json${r?` imported from ${r}`:""}`:`Package subpath '${e}' is not defined by "exports" in ${t}package.json${r?` imported from ${r}`:""}`,Error);var IQ=ve("url");function NIe(t,e){let r=Object.create(null);for(let o=0;oe):t+e}sv(r,t,o,u,a)}Yq(MIe,S0(t,2))!==null&&sv(r,t,o,u,a);let p=new URL(t,o),h=p.pathname,E=new URL(".",o).pathname;if(mA(h,E)||sv(r,t,o,u,a),e==="")return p;if(Yq(MIe,e)!==null){let I=n?xIe(r,"*",()=>e):r+e;LIt(I,o,u,a)}return n?new URL(Wq(UIe,p.href,()=>e)):new URL(e,p)}function OIt(t){let e=+t;return`${e}`!==t?!1:e>=0&&e<4294967295}function qC(t,e,r,o,a,n,u,A){if(typeof e=="string")return NIt(e,r,o,t,a,n,u,A);if(jq(e)){if(e.length===0)return null;let p;for(let h=0;hn?-1:n>a||r===-1?1:o===-1||t.length>e.length?-1:e.length>t.length?1:0}function MIt(t,e,r){if(typeof t=="string"||jq(t))return!0;if(typeof t!="object"||t===null)return!1;let o=tv(t),a=!1,n=0;for(let u=0;u=h.length&&D0(e,I)&&HIe(n,h)===1&&zq(h,"*")===E&&(n=h,u=S0(e,E,e.length-I.length))}}if(n){let p=r[n],h=qC(t,p,u,n,o,!0,!1,a);return h==null&&Vq(e,t,o),h}Vq(e,t,o)}function GIe({name:t,base:e,conditions:r,readFileSyncFn:o}){if(t==="#"||mA(t,"#/")||D0(t,"/")){let u="is not a valid internal imports specifier name";throw new Jq(t,u,(0,Oo.fileURLToPath)(e))}let a,n=OIe(e,o);if(n.exists){a=(0,Oo.pathToFileURL)(n.pjsonPath);let u=n.imports;if(u)if(hm(u,t)&&!Kq(t,"*")){let A=qC(a,u[t],"",t,e,!1,!0,r);if(A!=null)return A}else{let A="",p,h=tv(u);for(let E=0;E=I.length&&D0(t,x)&&HIe(A,I)===1&&zq(I,"*")===v&&(A=I,p=S0(t,v,t.length-x.length))}}if(A){let E=u[A],I=qC(a,E,p,A,e,!0,!0,r);if(I!=null)return I}}}TIt(t,a,e)}Dt();var _It=new Set(["BUILTIN_NODE_RESOLUTION_FAILED","MISSING_DEPENDENCY","MISSING_PEER_DEPENDENCY","QUALIFIED_PATH_RESOLUTION_FAILED","UNDECLARED_DEPENDENCY"]);function es(t,e,r={},o){o??=_It.has(t)?"MODULE_NOT_FOUND":t;let a={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(e),{code:{...a,value:o},pnpCode:{...a,value:t},data:{...a,value:r}})}function lu(t){return ue.normalize(ue.fromPortablePath(t))}var KIe=Ze(YIe());function zIe(t){return HIt(),Zq[t]}var Zq;function HIt(){Zq||(Zq={"--conditions":[],...WIe(qIt()),...WIe(process.execArgv)})}function WIe(t){return(0,KIe.default)({"--conditions":[String],"-C":"--conditions"},{argv:t,permissive:!0})}function qIt(){let t=[],e=GIt(process.env.NODE_OPTIONS||"",t);return t.length,e}function GIt(t,e){let r=[],o=!1,a=!0;for(let n=0;nparseInt(t,10)),JIe=Ma>19||Ma===19&&np>=2||Ma===18&&np>=13,DVt=Ma===20&&np<6||Ma===19&&np>=3,SVt=Ma>19||Ma===19&&np>=6,bVt=Ma>=21||Ma===20&&np>=10||Ma===18&&np>=19,xVt=Ma>=21||Ma===20&&np>=10||Ma===18&&np>=20,kVt=Ma>=22;function VIe(t){if(process.env.WATCH_REPORT_DEPENDENCIES&&process.send)if(t=t.map(e=>ue.fromPortablePath(mi.resolveVirtual(ue.toPortablePath(e)))),JIe)process.send({"watch:require":t});else for(let e of t)process.send({"watch:require":e})}function eG(t,e){let r=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,o=Number(process.env.PNP_DEBUG_LEVEL),a=/^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/,n=/^(\/|\.{1,2}(\/|$))/,u=/\/$/,A=/^\.{0,2}\//,p={name:null,reference:null},h=[],E=new Set;if(t.enableTopLevelFallback===!0&&h.push(p),e.compatibilityMode!==!1)for(let Te of["react-scripts","gatsby"]){let Re=t.packageRegistry.get(Te);if(Re)for(let ke of Re.keys()){if(ke===null)throw new Error("Assertion failed: This reference shouldn't be null");h.push({name:Te,reference:ke})}}let{ignorePattern:I,packageRegistry:v,packageLocatorsByLocations:x}=t;function C(Te,Re){return{fn:Te,args:Re,error:null,result:null}}function F(Te){let Re=process.stderr?.hasColors?.()??process.stdout.isTTY,ke=(et,Ue)=>`\x1B[${et}m${Ue}\x1B[0m`,Ye=Te.error;console.error(Ye?ke("31;1",`\u2716 ${Te.error?.message.replace(/\n.*/s,"")}`):ke("33;1","\u203C Resolution")),Te.args.length>0&&console.error();for(let et of Te.args)console.error(` ${ke("37;1","In \u2190")} ${(0,$q.inspect)(et,{colors:Re,compact:!0})}`);Te.result&&(console.error(),console.error(` ${ke("37;1","Out \u2192")} ${(0,$q.inspect)(Te.result,{colors:Re,compact:!0})}`));let Se=new Error().stack.match(/(?<=^ +)at.*/gm)?.slice(2)??[];if(Se.length>0){console.error();for(let et of Se)console.error(` ${ke("38;5;244",et)}`)}console.error()}function N(Te,Re){if(e.allowDebug===!1)return Re;if(Number.isFinite(o)){if(o>=2)return(...ke)=>{let Ye=C(Te,ke);try{return Ye.result=Re(...ke)}catch(Se){throw Ye.error=Se}finally{F(Ye)}};if(o>=1)return(...ke)=>{try{return Re(...ke)}catch(Ye){let Se=C(Te,ke);throw Se.error=Ye,F(Se),Ye}}}return Re}function U(Te){let Re=g(Te);if(!Re)throw es("INTERNAL","Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return Re}function J(Te){if(Te.name===null)return!0;for(let Re of t.dependencyTreeRoots)if(Re.name===Te.name&&Re.reference===Te.reference)return!0;return!1}let te=new Set(["node","require",...zIe("--conditions")]);function ae(Te,Re=te,ke){let Ye=Ae(z.join(Te,"internal.js"),{resolveIgnored:!0,includeDiscardFromLookup:!0});if(Ye===null)throw es("INTERNAL",`The locator that owns the "${Te}" path can't be found inside the dependency tree (this is probably an internal error)`);let{packageLocation:Se}=U(Ye),et=z.join(Se,dr.manifest);if(!e.fakeFs.existsSync(et))return null;let Ue=JSON.parse(e.fakeFs.readFileSync(et,"utf8"));if(Ue.exports==null)return null;let b=z.contains(Se,Te);if(b===null)throw es("INTERNAL","unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)");b!=="."&&!A.test(b)&&(b=`./${b}`);try{let w=qIe({packageJSONUrl:(0,gm.pathToFileURL)(ue.fromPortablePath(et)),packageSubpath:b,exports:Ue.exports,base:ke?(0,gm.pathToFileURL)(ue.fromPortablePath(ke)):null,conditions:Re});return ue.toPortablePath((0,gm.fileURLToPath)(w))}catch(w){throw es("EXPORTS_RESOLUTION_FAILED",w.message,{unqualifiedPath:lu(Te),locator:Ye,pkgJson:Ue,subpath:lu(b),conditions:Re},w.code)}}function le(Te,Re,{extensions:ke}){let Ye;try{Re.push(Te),Ye=e.fakeFs.statSync(Te)}catch{}if(Ye&&!Ye.isDirectory())return e.fakeFs.realpathSync(Te);if(Ye&&Ye.isDirectory()){let Se;try{Se=JSON.parse(e.fakeFs.readFileSync(z.join(Te,dr.manifest),"utf8"))}catch{}let et;if(Se&&Se.main&&(et=z.resolve(Te,Se.main)),et&&et!==Te){let Ue=le(et,Re,{extensions:ke});if(Ue!==null)return Ue}}for(let Se=0,et=ke.length;Se{let b=JSON.stringify(Ue.name);if(Ye.has(b))return;Ye.add(b);let w=me(Ue);for(let S of w)if(U(S).packagePeers.has(Te))Se(S);else{let R=ke.get(S.name);typeof R>"u"&&ke.set(S.name,R=new Set),R.add(S.reference)}};Se(Re);let et=[];for(let Ue of[...ke.keys()].sort())for(let b of[...ke.get(Ue)].sort())et.push({name:Ue,reference:b});return et}function Ae(Te,{resolveIgnored:Re=!1,includeDiscardFromLookup:ke=!1}={}){if(de(Te)&&!Re)return null;let Ye=z.relative(t.basePath,Te);Ye.match(n)||(Ye=`./${Ye}`),Ye.endsWith("/")||(Ye=`${Ye}/`);do{let Se=x.get(Ye);if(typeof Se>"u"||Se.discardFromLookup&&!ke){Ye=Ye.substring(0,Ye.lastIndexOf("/",Ye.length-2)+1);continue}return Se.locator}while(Ye!=="");return null}function ne(Te){try{return e.fakeFs.readFileSync(ue.toPortablePath(Te),"utf8")}catch(Re){if(Re.code==="ENOENT")return;throw Re}}function Z(Te,Re,{considerBuiltins:ke=!0}={}){if(Te.startsWith("#"))throw new Error("resolveToUnqualified can not handle private import mappings");if(Te==="pnpapi")return ue.toPortablePath(e.pnpapiResolution);if(ke&&(0,ip.isBuiltin)(Te))return null;let Ye=lu(Te),Se=Re&&lu(Re);if(Re&&de(Re)&&(!z.isAbsolute(Te)||Ae(Te)===null)){let b=we(Te,Re);if(b===!1)throw es("BUILTIN_NODE_RESOLUTION_FAILED",`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp) + +Require request: "${Ye}" +Required by: ${Se} +`,{request:Ye,issuer:Se});return ue.toPortablePath(b)}let et,Ue=Te.match(a);if(Ue){if(!Re)throw es("API_ERROR","The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:Ye,issuer:Se});let[,b,w]=Ue,S=Ae(Re);if(!S){let Fe=we(Te,Re);if(Fe===!1)throw es("BUILTIN_NODE_RESOLUTION_FAILED",`The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree). + +Require path: "${Ye}" +Required by: ${Se} +`,{request:Ye,issuer:Se});return ue.toPortablePath(Fe)}let R=U(S).packageDependencies.get(b),V=null;if(R==null&&S.name!==null){let Fe=t.fallbackExclusionList.get(S.name);if(!Fe||!Fe.has(S.reference)){for(let dt=0,Gt=h.length;dtJ(at))?X=es("MISSING_PEER_DEPENDENCY",`${S.name} tried to access ${b} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound. + +Required package: ${b}${b!==Ye?` (via "${Ye}")`:""} +Required by: ${S.name}@${S.reference} (via ${Se}) +${Fe.map(at=>`Ancestor breaking the chain: ${at.name}@${at.reference} +`).join("")} +`,{request:Ye,issuer:Se,issuerLocator:Object.assign({},S),dependencyName:b,brokenAncestors:Fe}):X=es("MISSING_PEER_DEPENDENCY",`${S.name} tried to access ${b} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound. + +Required package: ${b}${b!==Ye?` (via "${Ye}")`:""} +Required by: ${S.name}@${S.reference} (via ${Se}) + +${Fe.map(at=>`Ancestor breaking the chain: ${at.name}@${at.reference} +`).join("")} +`,{request:Ye,issuer:Se,issuerLocator:Object.assign({},S),dependencyName:b,brokenAncestors:Fe})}else R===void 0&&(!ke&&(0,ip.isBuiltin)(Te)?J(S)?X=es("UNDECLARED_DEPENDENCY",`Your application tried to access ${b}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${b} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound. + +Required package: ${b}${b!==Ye?` (via "${Ye}")`:""} +Required by: ${Se} +`,{request:Ye,issuer:Se,dependencyName:b}):X=es("UNDECLARED_DEPENDENCY",`${S.name} tried to access ${b}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${b} isn't otherwise declared in ${S.name}'s dependencies, this makes the require call ambiguous and unsound. + +Required package: ${b}${b!==Ye?` (via "${Ye}")`:""} +Required by: ${Se} +`,{request:Ye,issuer:Se,issuerLocator:Object.assign({},S),dependencyName:b}):J(S)?X=es("UNDECLARED_DEPENDENCY",`Your application tried to access ${b}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound. + +Required package: ${b}${b!==Ye?` (via "${Ye}")`:""} +Required by: ${Se} +`,{request:Ye,issuer:Se,dependencyName:b}):X=es("UNDECLARED_DEPENDENCY",`${S.name} tried to access ${b}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound. + +Required package: ${b}${b!==Ye?` (via "${Ye}")`:""} +Required by: ${S.name}@${S.reference} (via ${Se}) +`,{request:Ye,issuer:Se,issuerLocator:Object.assign({},S),dependencyName:b}));if(R==null){if(V===null||X===null)throw X||new Error("Assertion failed: Expected an error to have been set");R=V;let Fe=X.message.replace(/\n.*/g,"");X.message=Fe,!E.has(Fe)&&o!==0&&(E.add(Fe),process.emitWarning(X))}let $=Array.isArray(R)?{name:R[0],reference:R[1]}:{name:b,reference:R},ie=U($);if(!ie.packageLocation)throw es("MISSING_DEPENDENCY",`A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod. + +Required package: ${$.name}@${$.reference}${$.name!==Ye?` (via "${Ye}")`:""} +Required by: ${S.name}@${S.reference} (via ${Se}) +`,{request:Ye,issuer:Se,dependencyLocator:Object.assign({},$)});let be=ie.packageLocation;w?et=z.join(be,w):et=be}else if(z.isAbsolute(Te))et=z.normalize(Te);else{if(!Re)throw es("API_ERROR","The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute",{request:Ye,issuer:Se});let b=z.resolve(Re);Re.match(u)?et=z.normalize(z.join(b,Te)):et=z.normalize(z.join(z.dirname(b),Te))}return z.normalize(et)}function xe(Te,Re,ke=te,Ye){if(n.test(Te))return Re;let Se=ae(Re,ke,Ye);return Se?z.normalize(Se):Re}function Le(Te,{extensions:Re=Object.keys(ip.Module._extensions)}={}){let ke=[],Ye=le(Te,ke,{extensions:Re});if(Ye)return z.normalize(Ye);{VIe(ke.map(Ue=>ue.fromPortablePath(Ue)));let Se=lu(Te),et=Ae(Te);if(et){let{packageLocation:Ue}=U(et),b=!0;try{e.fakeFs.accessSync(Ue)}catch(w){if(w?.code==="ENOENT")b=!1;else{let S=(w?.message??w??"empty exception thrown").replace(/^[A-Z]/,y=>y.toLowerCase());throw es("QUALIFIED_PATH_RESOLUTION_FAILED",`Required package exists but could not be accessed (${S}). + +Missing package: ${et.name}@${et.reference} +Expected package location: ${lu(Ue)} +`,{unqualifiedPath:Se,extensions:Re})}}if(!b){let w=Ue.includes("/unplugged/")?"Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).":"Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.";throw es("QUALIFIED_PATH_RESOLUTION_FAILED",`${w} + +Missing package: ${et.name}@${et.reference} +Expected package location: ${lu(Ue)} +`,{unqualifiedPath:Se,extensions:Re})}}throw es("QUALIFIED_PATH_RESOLUTION_FAILED",`Qualified path resolution failed: we looked for the following paths, but none could be accessed. + +Source path: ${Se} +${ke.map(Ue=>`Not found: ${lu(Ue)} +`).join("")}`,{unqualifiedPath:Se,extensions:Re})}}function ht(Te,Re,ke){if(!Re)throw new Error("Assertion failed: An issuer is required to resolve private import mappings");let Ye=GIe({name:Te,base:(0,gm.pathToFileURL)(ue.fromPortablePath(Re)),conditions:ke.conditions??te,readFileSyncFn:ne});if(Ye instanceof URL)return Le(ue.toPortablePath((0,gm.fileURLToPath)(Ye)),{extensions:ke.extensions});if(Ye.startsWith("#"))throw new Error("Mapping from one private import to another isn't allowed");return H(Ye,Re,ke)}function H(Te,Re,ke={}){try{if(Te.startsWith("#"))return ht(Te,Re,ke);let{considerBuiltins:Ye,extensions:Se,conditions:et}=ke,Ue=Z(Te,Re,{considerBuiltins:Ye});if(Te==="pnpapi")return Ue;if(Ue===null)return null;let b=()=>Re!==null?de(Re):!1,w=(!Ye||!(0,ip.isBuiltin)(Te))&&!b()?xe(Te,Ue,et,Re):Ue;return Le(w,{extensions:Se})}catch(Ye){throw Object.hasOwn(Ye,"pnpCode")&&Object.assign(Ye.data,{request:lu(Te),issuer:Re&&lu(Re)}),Ye}}function rt(Te){let Re=z.normalize(Te),ke=mi.resolveVirtual(Re);return ke!==Re?ke:null}return{VERSIONS:Be,topLevel:Ee,getLocator:(Te,Re)=>Array.isArray(Re)?{name:Re[0],reference:Re[1]}:{name:Te,reference:Re},getDependencyTreeRoots:()=>[...t.dependencyTreeRoots],getAllLocators(){let Te=[];for(let[Re,ke]of v)for(let Ye of ke.keys())Re!==null&&Ye!==null&&Te.push({name:Re,reference:Ye});return Te},getPackageInformation:Te=>{let Re=g(Te);if(Re===null)return null;let ke=ue.fromPortablePath(Re.packageLocation);return{...Re,packageLocation:ke}},findPackageLocator:Te=>Ae(ue.toPortablePath(Te)),resolveToUnqualified:N("resolveToUnqualified",(Te,Re,ke)=>{let Ye=Re!==null?ue.toPortablePath(Re):null,Se=Z(ue.toPortablePath(Te),Ye,ke);return Se===null?null:ue.fromPortablePath(Se)}),resolveUnqualified:N("resolveUnqualified",(Te,Re)=>ue.fromPortablePath(Le(ue.toPortablePath(Te),Re))),resolveRequest:N("resolveRequest",(Te,Re,ke)=>{let Ye=Re!==null?ue.toPortablePath(Re):null,Se=H(ue.toPortablePath(Te),Ye,ke);return Se===null?null:ue.fromPortablePath(Se)}),resolveVirtual:N("resolveVirtual",Te=>{let Re=rt(ue.toPortablePath(Te));return Re!==null?ue.fromPortablePath(Re):null})}}Dt();var XIe=(t,e,r)=>{let o=$B(t),a=Gq(o,{basePath:e}),n=ue.join(e,dr.pnpCjs);return eG(a,{fakeFs:r,pnpapiResolution:n})};var rG=Ze($Ie());qt();var yA={};zt(yA,{checkManifestCompatibility:()=>e1e,extractBuildRequest:()=>BQ,getExtractHint:()=>nG,hasBindingGyp:()=>iG});je();Dt();function e1e(t){return j.isPackageCompatible(t,Vi.getArchitectureSet())}function BQ(t,e,r,{configuration:o}){let a=[];for(let n of["preinstall","install","postinstall"])e.manifest.scripts.has(n)&&a.push({type:0,script:n});return!e.manifest.scripts.has("install")&&e.misc.hasBindingGyp&&a.push({type:1,script:"node-gyp rebuild"}),a.length===0?null:t.linkType!=="HARD"?{skipped:!0,explain:n=>n.reportWarningOnce(6,`${j.prettyLocator(o,t)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`)}:r&&r.built===!1?{skipped:!0,explain:n=>n.reportInfoOnce(5,`${j.prettyLocator(o,t)} lists build scripts, but its build has been explicitly disabled through configuration.`)}:!o.get("enableScripts")&&!r.built?{skipped:!0,explain:n=>n.reportWarningOnce(4,`${j.prettyLocator(o,t)} lists build scripts, but all build scripts have been disabled.`)}:e1e(t)?{skipped:!1,directives:a}:{skipped:!0,explain:n=>n.reportWarningOnce(76,`${j.prettyLocator(o,t)} The ${Vi.getArchitectureName()} architecture is incompatible with this package, build skipped.`)}}var YIt=new Set([".exe",".bin",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);function nG(t){return t.packageFs.getExtractHint({relevantExtensions:YIt})}function iG(t){let e=z.join(t.prefixPath,"binding.gyp");return t.packageFs.existsSync(e)}var lv={};zt(lv,{getUnpluggedPath:()=>av});je();Dt();function av(t,{configuration:e}){return z.resolve(e.get("pnpUnpluggedFolder"),j.slugifyLocator(t))}var WIt=new Set([j.makeIdent(null,"open").identHash,j.makeIdent(null,"opn").identHash]),b0=class{constructor(){this.mode="strict";this.pnpCache=new Map}getCustomDataKey(){return JSON.stringify({name:"PnpLinker",version:2})}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the PnP linker to be enabled");let o=x0(r.project).cjs;if(!oe.existsSync(o))throw new st(`The project in ${pe.pretty(r.project.configuration,`${r.project.cwd}/package.json`,pe.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let a=He.getFactoryWithDefault(this.pnpCache,o,()=>He.dynamicRequire(o,{cachingStrategy:He.CachingStrategy.FsTime})),n={name:j.stringifyIdent(e),reference:e.reference},u=a.getPackageInformation(n);if(!u)throw new st(`Couldn't find ${j.prettyLocator(r.project.configuration,e)} in the currently installed PnP map - running an install might help`);return ue.toPortablePath(u.packageLocation)}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let o=x0(r.project).cjs;if(!oe.existsSync(o))return null;let n=He.getFactoryWithDefault(this.pnpCache,o,()=>He.dynamicRequire(o,{cachingStrategy:He.CachingStrategy.FsTime})).findPackageLocator(ue.fromPortablePath(e));return n?j.makeLocator(j.parseIdent(n.name),n.reference):null}makeInstaller(e){return new dm(e)}isEnabled(e){return!(e.project.configuration.get("nodeLinker")!=="pnp"||e.project.configuration.get("pnpMode")!==this.mode)}},dm=class{constructor(e){this.opts=e;this.mode="strict";this.asyncActions=new He.AsyncActions(10);this.packageRegistry=new Map;this.virtualTemplates=new Map;this.isESMLoaderRequired=!1;this.customData={store:new Map};this.unpluggedPaths=new Set;this.opts=e}attachCustomData(e){this.customData=e}async installPackage(e,r,o){let a=j.stringifyIdent(e),n=e.reference,u=!!this.opts.project.tryWorkspaceByLocator(e),A=j.isVirtualLocator(e),p=e.peerDependencies.size>0&&!A,h=!p&&!u,E=!p&&e.linkType!=="SOFT",I,v;if(h||E){let te=A?j.devirtualizeLocator(e):e;I=this.customData.store.get(te.locatorHash),typeof I>"u"&&(I=await KIt(r),e.linkType==="HARD"&&this.customData.store.set(te.locatorHash,I)),I.manifest.type==="module"&&(this.isESMLoaderRequired=!0),v=this.opts.project.getDependencyMeta(te,e.version)}let x=h?BQ(e,I,v,{configuration:this.opts.project.configuration}):null,C=E?await this.unplugPackageIfNeeded(e,I,r,v,o):r.packageFs;if(z.isAbsolute(r.prefixPath))throw new Error(`Assertion failed: Expected the prefix path (${r.prefixPath}) to be relative to the parent`);let F=z.resolve(C.getRealPath(),r.prefixPath),N=sG(this.opts.project.cwd,F),U=new Map,J=new Set;if(A){for(let te of e.peerDependencies.values())U.set(j.stringifyIdent(te),null),J.add(j.stringifyIdent(te));if(!u){let te=j.devirtualizeLocator(e);this.virtualTemplates.set(te.locatorHash,{location:sG(this.opts.project.cwd,mi.resolveVirtual(F)),locator:te})}}return He.getMapWithDefault(this.packageRegistry,a).set(n,{packageLocation:N,packageDependencies:U,packagePeers:J,linkType:e.linkType,discardFromLookup:r.discardFromLookup||!1}),{packageLocation:F,buildRequest:x}}async attachInternalDependencies(e,r){let o=this.getPackageInformation(e);for(let[a,n]of r){let u=j.areIdentsEqual(a,n)?n.reference:[j.stringifyIdent(n),n.reference];o.packageDependencies.set(j.stringifyIdent(a),u)}}async attachExternalDependents(e,r){for(let o of r)this.getDiskInformation(o).packageDependencies.set(j.stringifyIdent(e),e.reference)}async finalizeInstall(){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;let e=x0(this.opts.project);if(this.isEsmEnabled()||await oe.removePromise(e.esmLoader),this.opts.project.configuration.get("nodeLinker")!=="pnp"){await oe.removePromise(e.cjs),await oe.removePromise(e.data),await oe.removePromise(e.esmLoader),await oe.removePromise(this.opts.project.configuration.get("pnpUnpluggedFolder"));return}for(let{locator:E,location:I}of this.virtualTemplates.values())He.getMapWithDefault(this.packageRegistry,j.stringifyIdent(E)).set(E.reference,{packageLocation:I,packageDependencies:new Map,packagePeers:new Set,linkType:"SOFT",discardFromLookup:!1});this.packageRegistry.set(null,new Map([[null,this.getPackageInformation(this.opts.project.topLevelWorkspace.anchoredLocator)]]));let r=this.opts.project.configuration.get("pnpFallbackMode"),o=this.opts.project.workspaces.map(({anchoredLocator:E})=>({name:j.stringifyIdent(E),reference:E.reference})),a=r!=="none",n=[],u=new Map,A=He.buildIgnorePattern([".yarn/sdks/**",...this.opts.project.configuration.get("pnpIgnorePatterns")]),p=this.packageRegistry,h=this.opts.project.configuration.get("pnpShebang");if(r==="dependencies-only")for(let E of this.opts.project.storedPackages.values())this.opts.project.tryWorkspaceByLocator(E)&&n.push({name:j.stringifyIdent(E),reference:E.reference});return await this.asyncActions.wait(),await this.finalizeInstallWithPnp({dependencyTreeRoots:o,enableTopLevelFallback:a,fallbackExclusionList:n,fallbackPool:u,ignorePattern:A,packageRegistry:p,shebang:h}),{customData:this.customData}}async transformPnpSettings(e){}isEsmEnabled(){if(this.opts.project.configuration.sources.has("pnpEnableEsmLoader"))return this.opts.project.configuration.get("pnpEnableEsmLoader");if(this.isESMLoaderRequired)return!0;for(let e of this.opts.project.workspaces)if(e.manifest.type==="module")return!0;return!1}async finalizeInstallWithPnp(e){let r=x0(this.opts.project),o=await this.locateNodeModules(e.ignorePattern);if(o.length>0){this.opts.report.reportWarning(31,"One or more node_modules have been detected and will be removed. This operation may take some time.");for(let n of o)await oe.removePromise(n)}if(await this.transformPnpSettings(e),this.opts.project.configuration.get("pnpEnableInlining")){let n=SIe(e);await oe.changeFilePromise(r.cjs,n,{automaticNewlines:!0,mode:493}),await oe.removePromise(r.data)}else{let{dataFile:n,loaderFile:u}=bIe(e);await oe.changeFilePromise(r.cjs,u,{automaticNewlines:!0,mode:493}),await oe.changeFilePromise(r.data,n,{automaticNewlines:!0,mode:420})}this.isEsmEnabled()&&(this.opts.report.reportWarning(0,"ESM support for PnP uses the experimental loader API and is therefore experimental"),await oe.changeFilePromise(r.esmLoader,(0,rG.default)(),{automaticNewlines:!0,mode:420}));let a=this.opts.project.configuration.get("pnpUnpluggedFolder");if(this.unpluggedPaths.size===0)await oe.removePromise(a);else for(let n of await oe.readdirPromise(a)){let u=z.resolve(a,n);this.unpluggedPaths.has(u)||await oe.removePromise(u)}}async locateNodeModules(e){let r=[],o=e?new RegExp(e):null;for(let a of this.opts.project.workspaces){let n=z.join(a.cwd,"node_modules");if(o&&o.test(z.relative(this.opts.project.cwd,a.cwd))||!oe.existsSync(n))continue;let u=await oe.readdirPromise(n,{withFileTypes:!0}),A=u.filter(p=>!p.isDirectory()||p.name===".bin"||!p.name.startsWith("."));if(A.length===u.length)r.push(n);else for(let p of A)r.push(z.join(n,p.name))}return r}async unplugPackageIfNeeded(e,r,o,a,n){return this.shouldBeUnplugged(e,r,a)?this.unplugPackage(e,o,n):o.packageFs}shouldBeUnplugged(e,r,o){return typeof o.unplugged<"u"?o.unplugged:WIt.has(e.identHash)||e.conditions!=null?!0:r.manifest.preferUnplugged!==null?r.manifest.preferUnplugged:!!(BQ(e,r,o,{configuration:this.opts.project.configuration})?.skipped===!1||r.misc.extractHint)}async unplugPackage(e,r,o){let a=av(e,{configuration:this.opts.project.configuration});return this.opts.project.disabledLocators.has(e.locatorHash)?new _u(a,{baseFs:r.packageFs,pathUtils:z}):(this.unpluggedPaths.add(a),o.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{let n=z.join(a,r.prefixPath,".ready");await oe.existsPromise(n)||(this.opts.project.storedBuildState.delete(e.locatorHash),await oe.mkdirPromise(a,{recursive:!0}),await oe.copyPromise(a,Bt.dot,{baseFs:r.packageFs,overwrite:!1}),await oe.writeFilePromise(n,""))})),new gn(a))}getPackageInformation(e){let r=j.stringifyIdent(e),o=e.reference,a=this.packageRegistry.get(r);if(!a)throw new Error(`Assertion failed: The package information store should have been available (for ${j.prettyIdent(this.opts.project.configuration,e)})`);let n=a.get(o);if(!n)throw new Error(`Assertion failed: The package information should have been available (for ${j.prettyLocator(this.opts.project.configuration,e)})`);return n}getDiskInformation(e){let r=He.getMapWithDefault(this.packageRegistry,"@@disk"),o=sG(this.opts.project.cwd,e);return He.getFactoryWithDefault(r,o,()=>({packageLocation:o,packageDependencies:new Map,packagePeers:new Set,linkType:"SOFT",discardFromLookup:!1}))}};function sG(t,e){let r=z.relative(t,e);return r.match(/^\.{0,2}\//)||(r=`./${r}`),r.replace(/\/?$/,"/")}async function KIt(t){let e=await Ot.tryFind(t.prefixPath,{baseFs:t.packageFs})??new Ot,r=new Set(["preinstall","install","postinstall"]);for(let o of e.scripts.keys())r.has(o)||e.scripts.delete(o);return{manifest:{scripts:e.scripts,preferUnplugged:e.preferUnplugged,type:e.type},misc:{extractHint:nG(t),hasBindingGyp:iG(t)}}}je();je();qt();var t1e=Ze(Xo());var k0=class extends ut{constructor(){super(...arguments);this.all=ge.Boolean("-A,--all",!1,{description:"Unplug direct dependencies from the entire project"});this.recursive=ge.Boolean("-R,--recursive",!1,{description:"Unplug both direct and transitive dependencies"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.patterns=ge.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Nr.find(r);if(!a)throw new sr(o.cwd,this.context.cwd);if(r.get("nodeLinker")!=="pnp")throw new st("This command can only be used if the `nodeLinker` option is set to `pnp`");await o.restoreInstallState();let u=new Set(this.patterns),A=this.patterns.map(x=>{let C=j.parseDescriptor(x),F=C.range!=="unknown"?C:j.makeDescriptor(C,"*");if(!Lr.validRange(F.range))throw new st(`The range of the descriptor patterns must be a valid semver range (${j.prettyDescriptor(r,F)})`);return N=>{let U=j.stringifyIdent(N);return!t1e.default.isMatch(U,j.stringifyIdent(F))||N.version&&!Lr.satisfiesWithPrereleases(N.version,F.range)?!1:(u.delete(x),!0)}}),p=()=>{let x=[];for(let C of o.storedPackages.values())!o.tryWorkspaceByLocator(C)&&!j.isVirtualLocator(C)&&A.some(F=>F(C))&&x.push(C);return x},h=x=>{let C=new Set,F=[],N=(U,J)=>{if(C.has(U.locatorHash))return;let te=!!o.tryWorkspaceByLocator(U);if(!(J>0&&!this.recursive&&te)&&(C.add(U.locatorHash),!o.tryWorkspaceByLocator(U)&&A.some(ae=>ae(U))&&F.push(U),!(J>0&&!this.recursive)))for(let ae of U.dependencies.values()){let le=o.storedResolutions.get(ae.descriptorHash);if(!le)throw new Error("Assertion failed: The resolution should have been registered");let ce=o.storedPackages.get(le);if(!ce)throw new Error("Assertion failed: The package should have been registered");N(ce,J+1)}};for(let U of x)N(U.anchoredPackage,0);return F},E,I;if(this.all&&this.recursive?(E=p(),I="the project"):this.all?(E=h(o.workspaces),I="any workspace"):(E=h([a]),I="this workspace"),u.size>1)throw new st(`Patterns ${pe.prettyList(r,u,pe.Type.CODE)} don't match any packages referenced by ${I}`);if(u.size>0)throw new st(`Pattern ${pe.prettyList(r,u,pe.Type.CODE)} doesn't match any packages referenced by ${I}`);E=He.sortMap(E,x=>j.stringifyLocator(x));let v=await Ft.start({configuration:r,stdout:this.context.stdout,json:this.json},async x=>{for(let C of E){let F=C.version??"unknown",N=o.topLevelWorkspace.manifest.ensureDependencyMeta(j.makeDescriptor(C,F));N.unplugged=!0,x.reportInfo(0,`Will unpack ${j.prettyLocator(r,C)} to ${pe.pretty(r,av(C,{configuration:r}),pe.Type.PATH)}`),x.reportJson({locator:j.stringifyLocator(C),version:F})}await o.topLevelWorkspace.persistManifest(),this.json||x.reportSeparator()});return v.hasErrors()?v.exitCode():await o.installWithNewReport({json:this.json,stdout:this.context.stdout},{cache:n})}};k0.paths=[["unplug"]],k0.usage=it.Usage({description:"force the unpacking of a list of packages",details:"\n This command will add the selectors matching the specified patterns to the list of packages that must be unplugged when installed.\n\n A package being unplugged means that instead of being referenced directly through its archive, it will be unpacked at install time in the directory configured via `pnpUnpluggedFolder`. Note that unpacking packages this way is generally not recommended because it'll make it harder to store your packages within the repository. However, it's a good approach to quickly and safely debug some packages, and can even sometimes be required depending on the context (for example when the package contains shellscripts).\n\n Running the command will set a persistent flag inside your top-level `package.json`, in the `dependenciesMeta` field. As such, to undo its effects, you'll need to revert the changes made to the manifest and run `yarn install` to apply the modification.\n\n By default, only direct dependencies from the current workspace are affected. If `-A,--all` is set, direct dependencies from the entire project are affected. Using the `-R,--recursive` flag will affect transitive dependencies as well as direct ones.\n\n This command accepts glob patterns inside the scope and name components (not the range). Make sure to escape the patterns to prevent your own shell from trying to expand them.\n ",examples:[["Unplug the lodash dependency from the active workspace","yarn unplug lodash"],["Unplug all instances of lodash referenced by any workspace","yarn unplug lodash -A"],["Unplug all instances of lodash referenced by the active workspace and its dependencies","yarn unplug lodash -R"],["Unplug all instances of lodash, anywhere","yarn unplug lodash -AR"],["Unplug one specific version of lodash","yarn unplug lodash@1.2.3"],["Unplug all packages with the `@babel` scope","yarn unplug '@babel/*'"],["Unplug all packages (only for testing, not recommended)","yarn unplug -R '*'"]]});var x0=t=>({cjs:z.join(t.cwd,dr.pnpCjs),data:z.join(t.cwd,dr.pnpData),esmLoader:z.join(t.cwd,dr.pnpEsmLoader)}),n1e=t=>/\s/.test(t)?JSON.stringify(t):t;async function zIt(t,e,r){let o=/\s*--require\s+\S*\.pnp\.c?js\s*/g,a=/\s*--experimental-loader\s+\S*\.pnp\.loader\.mjs\s*/,n=(e.NODE_OPTIONS??"").replace(o," ").replace(a," ").trim();if(t.configuration.get("nodeLinker")!=="pnp"){e.NODE_OPTIONS=n||void 0;return}let u=x0(t),A=`--require ${n1e(ue.fromPortablePath(u.cjs))}`;oe.existsSync(u.esmLoader)&&(A=`${A} --experimental-loader ${(0,r1e.pathToFileURL)(ue.fromPortablePath(u.esmLoader)).href}`),oe.existsSync(u.cjs)&&(e.NODE_OPTIONS=n?`${A} ${n}`:A)}async function JIt(t,e){let r=x0(t);e(r.cjs),e(r.data),e(r.esmLoader),e(t.configuration.get("pnpUnpluggedFolder"))}var VIt={hooks:{populateYarnPaths:JIt,setupScriptEnvironment:zIt},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: "pnp", "pnpm", or "node-modules"',type:"STRING",default:"pnp"},winLinkType:{description:"Whether Yarn should use Windows Junctions or symlinks when creating links on Windows.",type:"STRING",values:["junctions","symlinks"],default:"junctions"},pnpMode:{description:"If 'strict', generates standard PnP maps. If 'loose', merges them with the n_m resolution.",type:"STRING",default:"strict"},pnpShebang:{description:"String to prepend to the generated PnP script",type:"STRING",default:"#!/usr/bin/env node"},pnpIgnorePatterns:{description:"Array of glob patterns; files matching them will use the classic resolution",type:"STRING",default:[],isArray:!0},pnpEnableEsmLoader:{description:"If true, Yarn will generate an ESM loader (`.pnp.loader.mjs`). If this is not explicitly set Yarn tries to automatically detect whether ESM support is required.",type:"BOOLEAN",default:!1},pnpEnableInlining:{description:"If true, the PnP data will be inlined along with the generated loader",type:"BOOLEAN",default:!0},pnpFallbackMode:{description:"If true, the generated PnP loader will follow the top-level fallback rule",type:"STRING",default:"dependencies-only"},pnpUnpluggedFolder:{description:"Folder where the unplugged packages must be stored",type:"ABSOLUTE_PATH",default:"./.yarn/unplugged"}},linkers:[b0],commands:[k0]},XIt=VIt;var A1e=Ze(l1e());qt();var pG=Ze(ve("crypto")),f1e=Ze(ve("fs")),p1e=1,Di="node_modules",vQ=".bin",h1e=".yarn-state.yml",h1t=1e3,hG=(o=>(o.CLASSIC="classic",o.HARDLINKS_LOCAL="hardlinks-local",o.HARDLINKS_GLOBAL="hardlinks-global",o))(hG||{}),cv=class{constructor(){this.installStateCache=new Map}getCustomDataKey(){return JSON.stringify({name:"NodeModulesLinker",version:3})}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the node-modules linker to be enabled");let o=r.project.tryWorkspaceByLocator(e);if(o)return o.cwd;let a=await He.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await fG(r.project,{unrollAliases:!0}));if(a===null)throw new st("Couldn't find the node_modules state file - running an install might help (findPackageLocation)");let n=a.locatorMap.get(j.stringifyLocator(e));if(!n){let p=new st(`Couldn't find ${j.prettyLocator(r.project.configuration,e)} in the currently installed node_modules map - running an install might help`);throw p.code="LOCATOR_NOT_INSTALLED",p}let u=n.locations.sort((p,h)=>p.split(z.sep).length-h.split(z.sep).length),A=z.join(r.project.configuration.startingCwd,Di);return u.find(p=>z.contains(A,p))||n.locations[0]}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let o=await He.getFactoryWithDefault(this.installStateCache,r.project.cwd,async()=>await fG(r.project,{unrollAliases:!0}));if(o===null)return null;let{locationRoot:a,segments:n}=PQ(z.resolve(e),{skipPrefix:r.project.cwd}),u=o.locationTree.get(a);if(!u)return null;let A=u.locator;for(let p of n){if(u=u.children.get(p),!u)break;A=u.locator||A}return j.parseLocator(A)}makeInstaller(e){return new AG(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="node-modules"}},AG=class{constructor(e){this.opts=e;this.localStore=new Map;this.realLocatorChecksums=new Map;this.customData={store:new Map}}attachCustomData(e){this.customData=e}async installPackage(e,r){let o=z.resolve(r.packageFs.getRealPath(),r.prefixPath),a=this.customData.store.get(e.locatorHash);if(typeof a>"u"&&(a=await g1t(e,r),e.linkType==="HARD"&&this.customData.store.set(e.locatorHash,a)),!j.isPackageCompatible(e,this.opts.project.configuration.getSupportedArchitectures()))return{packageLocation:null,buildRequest:null};let n=new Map,u=new Set;n.has(j.stringifyIdent(e))||n.set(j.stringifyIdent(e),e.reference);let A=e;if(j.isVirtualLocator(e)){A=j.devirtualizeLocator(e);for(let E of e.peerDependencies.values())n.set(j.stringifyIdent(E),null),u.add(j.stringifyIdent(E))}let p={packageLocation:`${ue.fromPortablePath(o)}/`,packageDependencies:n,packagePeers:u,linkType:e.linkType,discardFromLookup:r.discardFromLookup??!1};this.localStore.set(e.locatorHash,{pkg:e,customPackageData:a,dependencyMeta:this.opts.project.getDependencyMeta(e,e.version),pnpNode:p});let h=r.checksum?r.checksum.substring(r.checksum.indexOf("/")+1):null;return this.realLocatorChecksums.set(A.locatorHash,h),{packageLocation:o,buildRequest:null}}async attachInternalDependencies(e,r){let o=this.localStore.get(e.locatorHash);if(typeof o>"u")throw new Error("Assertion failed: Expected information object to have been registered");for(let[a,n]of r){let u=j.areIdentsEqual(a,n)?n.reference:[j.stringifyIdent(n),n.reference];o.pnpNode.packageDependencies.set(j.stringifyIdent(a),u)}}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the node-modules linker")}async finalizeInstall(){if(this.opts.project.configuration.get("nodeLinker")!=="node-modules")return;let e=new mi({baseFs:new Vl({maxOpenFiles:80,readOnlyArchives:!0})}),r=await fG(this.opts.project),o=this.opts.project.configuration.get("nmMode");(r===null||o!==r.nmMode)&&(this.opts.project.storedBuildState.clear(),r={locatorMap:new Map,binSymlinks:new Map,locationTree:new Map,nmMode:o,mtimeMs:0});let a=new Map(this.opts.project.workspaces.map(v=>{let x=this.opts.project.configuration.get("nmHoistingLimits");try{x=He.validateEnum(VB,v.manifest.installConfig?.hoistingLimits??x)}catch{let F=j.prettyWorkspace(this.opts.project.configuration,v);this.opts.report.reportWarning(57,`${F}: Invalid 'installConfig.hoistingLimits' value. Expected one of ${Object.values(VB).join(", ")}, using default: "${x}"`)}return[v.relativeCwd,x]})),n=new Map(this.opts.project.workspaces.map(v=>{let x=this.opts.project.configuration.get("nmSelfReferences");return x=v.manifest.installConfig?.selfReferences??x,[v.relativeCwd,x]})),u={VERSIONS:{std:1},topLevel:{name:null,reference:null},getLocator:(v,x)=>Array.isArray(x)?{name:x[0],reference:x[1]}:{name:v,reference:x},getDependencyTreeRoots:()=>this.opts.project.workspaces.map(v=>{let x=v.anchoredLocator;return{name:j.stringifyIdent(x),reference:x.reference}}),getPackageInformation:v=>{let x=v.reference===null?this.opts.project.topLevelWorkspace.anchoredLocator:j.makeLocator(j.parseIdent(v.name),v.reference),C=this.localStore.get(x.locatorHash);if(typeof C>"u")throw new Error("Assertion failed: Expected the package reference to have been registered");return C.pnpNode},findPackageLocator:v=>{let x=this.opts.project.tryWorkspaceByCwd(ue.toPortablePath(v));if(x!==null){let C=x.anchoredLocator;return{name:j.stringifyIdent(C),reference:C.reference}}throw new Error("Assertion failed: Unimplemented")},resolveToUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveUnqualified:()=>{throw new Error("Assertion failed: Unimplemented")},resolveRequest:()=>{throw new Error("Assertion failed: Unimplemented")},resolveVirtual:v=>ue.fromPortablePath(mi.resolveVirtual(ue.toPortablePath(v)))},{tree:A,errors:p,preserveSymlinksRequired:h}=XB(u,{pnpifyFs:!1,validateExternalSoftLinks:!0,hoistingLimitsByCwd:a,project:this.opts.project,selfReferencesByCwd:n});if(!A){for(let{messageName:v,text:x}of p)this.opts.report.reportError(v,x);return}let E=Hq(A);await w1t(r,E,{baseFs:e,project:this.opts.project,report:this.opts.report,realLocatorChecksums:this.realLocatorChecksums,loadManifest:async v=>{let x=j.parseLocator(v),C=this.localStore.get(x.locatorHash);if(typeof C>"u")throw new Error("Assertion failed: Expected the slot to exist");return C.customPackageData.manifest}});let I=[];for(let[v,x]of E.entries()){if(y1e(v))continue;let C=j.parseLocator(v),F=this.localStore.get(C.locatorHash);if(typeof F>"u")throw new Error("Assertion failed: Expected the slot to exist");if(this.opts.project.tryWorkspaceByLocator(F.pkg))continue;let N=yA.extractBuildRequest(F.pkg,F.customPackageData,F.dependencyMeta,{configuration:this.opts.project.configuration});!N||I.push({buildLocations:x.locations,locator:C,buildRequest:N})}return h&&this.opts.report.reportWarning(72,`The application uses portals and that's why ${pe.pretty(this.opts.project.configuration,"--preserve-symlinks",pe.Type.CODE)} Node option is required for launching it`),{customData:this.customData,records:I}}};async function g1t(t,e){let r=await Ot.tryFind(e.prefixPath,{baseFs:e.packageFs})??new Ot,o=new Set(["preinstall","install","postinstall"]);for(let a of r.scripts.keys())o.has(a)||r.scripts.delete(a);return{manifest:{bin:r.bin,scripts:r.scripts},misc:{hasBindingGyp:yA.hasBindingGyp(e)}}}async function d1t(t,e,r,o,{installChangedByUser:a}){let n="";n+=`# Warning: This file is automatically generated. Removing it is fine, but will +`,n+=`# cause your node_modules installation to become invalidated. +`,n+=` +`,n+=`__metadata: +`,n+=` version: ${p1e} +`,n+=` nmMode: ${o.value} +`;let u=Array.from(e.keys()).sort(),A=j.stringifyLocator(t.topLevelWorkspace.anchoredLocator);for(let E of u){let I=e.get(E);n+=` +`,n+=`${JSON.stringify(E)}: +`,n+=` locations: +`;for(let v of I.locations){let x=z.contains(t.cwd,v);if(x===null)throw new Error(`Assertion failed: Expected the path to be within the project (${v})`);n+=` - ${JSON.stringify(x)} +`}if(I.aliases.length>0){n+=` aliases: +`;for(let v of I.aliases)n+=` - ${JSON.stringify(v)} +`}if(E===A&&r.size>0){n+=` bin: +`;for(let[v,x]of r){let C=z.contains(t.cwd,v);if(C===null)throw new Error(`Assertion failed: Expected the path to be within the project (${v})`);n+=` ${JSON.stringify(C)}: +`;for(let[F,N]of x){let U=z.relative(z.join(v,Di),N);n+=` ${JSON.stringify(F)}: ${JSON.stringify(U)} +`}}}}let p=t.cwd,h=z.join(p,Di,h1e);a&&await oe.removePromise(h),await oe.changeFilePromise(h,n,{automaticNewlines:!0})}async function fG(t,{unrollAliases:e=!1}={}){let r=t.cwd,o=z.join(r,Di,h1e),a;try{a=await oe.statPromise(o)}catch{}if(!a)return null;let n=Ki(await oe.readFilePromise(o,"utf8"));if(n.__metadata.version>p1e)return null;let u=n.__metadata.nmMode||"classic",A=new Map,p=new Map;delete n.__metadata;for(let[h,E]of Object.entries(n)){let I=E.locations.map(x=>z.join(r,x)),v=E.bin;if(v)for(let[x,C]of Object.entries(v)){let F=z.join(r,ue.toPortablePath(x)),N=He.getMapWithDefault(p,F);for(let[U,J]of Object.entries(C))N.set(U,ue.toPortablePath([F,Di,J].join(z.sep)))}if(A.set(h,{target:Bt.dot,linkType:"HARD",locations:I,aliases:E.aliases||[]}),e&&E.aliases)for(let x of E.aliases){let{scope:C,name:F}=j.parseLocator(h),N=j.makeLocator(j.makeIdent(C,F),x),U=j.stringifyLocator(N);A.set(U,{target:Bt.dot,linkType:"HARD",locations:I,aliases:[]})}}return{locatorMap:A,binSymlinks:p,locationTree:g1e(A,{skipPrefix:t.cwd}),nmMode:u,mtimeMs:a.mtimeMs}}var jC=async(t,e)=>{if(t.split(z.sep).indexOf(Di)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${t}`);try{if(!e.innerLoop){let o=e.allowSymlink?await oe.statPromise(t):await oe.lstatPromise(t);if(e.allowSymlink&&!o.isDirectory()||!e.allowSymlink&&o.isSymbolicLink()){await oe.unlinkPromise(t);return}}let r=await oe.readdirPromise(t,{withFileTypes:!0});for(let o of r){let a=z.join(t,o.name);o.isDirectory()?(o.name!==Di||e&&e.innerLoop)&&await jC(a,{innerLoop:!0,contentsOnly:!1}):await oe.unlinkPromise(a)}e.contentsOnly||await oe.rmdirPromise(t)}catch(r){if(r.code!=="ENOENT"&&r.code!=="ENOTEMPTY")throw r}},c1e=4,PQ=(t,{skipPrefix:e})=>{let r=z.contains(e,t);if(r===null)throw new Error(`Assertion failed: Writing attempt prevented to ${t} which is outside project root: ${e}`);let o=r.split(z.sep).filter(p=>p!==""),a=o.indexOf(Di),n=o.slice(0,a).join(z.sep),u=z.join(e,n),A=o.slice(a);return{locationRoot:u,segments:A}},g1e=(t,{skipPrefix:e})=>{let r=new Map;if(t===null)return r;let o=()=>({children:new Map,linkType:"HARD"});for(let[a,n]of t.entries()){if(n.linkType==="SOFT"&&z.contains(e,n.target)!==null){let A=He.getFactoryWithDefault(r,n.target,o);A.locator=a,A.linkType=n.linkType}for(let u of n.locations){let{locationRoot:A,segments:p}=PQ(u,{skipPrefix:e}),h=He.getFactoryWithDefault(r,A,o);for(let E=0;E{if(process.platform==="win32"&&r==="junctions"){let o;try{o=await oe.lstatPromise(t)}catch{}if(!o||o.isDirectory()){await oe.symlinkPromise(t,e,"junction");return}}await oe.symlinkPromise(z.relative(z.dirname(e),t),e)};async function d1e(t,e,r){let o=z.join(t,`${pG.default.randomBytes(16).toString("hex")}.tmp`);try{await oe.writeFilePromise(o,r);try{await oe.linkPromise(o,e)}catch{}}finally{await oe.unlinkPromise(o)}}async function m1t({srcPath:t,dstPath:e,entry:r,globalHardlinksStore:o,baseFs:a,nmMode:n}){if(r.kind===m1e.FILE){if(n.value==="hardlinks-global"&&o&&r.digest){let A=z.join(o,r.digest.substring(0,2),`${r.digest.substring(2)}.dat`),p;try{let h=await oe.statPromise(A);if(h&&(!r.mtimeMs||h.mtimeMs>r.mtimeMs||h.mtimeMs(o.FILE="file",o.DIRECTORY="directory",o.SYMLINK="symlink",o))(m1e||{}),y1t=async(t,e,{baseFs:r,globalHardlinksStore:o,nmMode:a,windowsLinkType:n,packageChecksum:u})=>{await oe.mkdirPromise(t,{recursive:!0});let A=async(E=Bt.dot)=>{let I=z.join(e,E),v=await r.readdirPromise(I,{withFileTypes:!0}),x=new Map;for(let C of v){let F=z.join(E,C.name),N,U=z.join(I,C.name);if(C.isFile()){if(N={kind:"file",mode:(await r.lstatPromise(U)).mode},a.value==="hardlinks-global"){let J=await wn.checksumFile(U,{baseFs:r,algorithm:"sha1"});N.digest=J}}else if(C.isDirectory())N={kind:"directory"};else if(C.isSymbolicLink())N={kind:"symlink",symlinkTo:await r.readlinkPromise(U)};else throw new Error(`Unsupported file type (file: ${U}, mode: 0o${await r.statSync(U).mode.toString(8).padStart(6,"0")})`);if(x.set(F,N),C.isDirectory()&&F!==Di){let J=await A(F);for(let[te,ae]of J)x.set(te,ae)}}return x},p;if(a.value==="hardlinks-global"&&o&&u){let E=z.join(o,u.substring(0,2),`${u.substring(2)}.json`);try{p=new Map(Object.entries(JSON.parse(await oe.readFilePromise(E,"utf8"))))}catch{p=await A()}}else p=await A();let h=!1;for(let[E,I]of p){let v=z.join(e,E),x=z.join(t,E);if(I.kind==="directory")await oe.mkdirPromise(x,{recursive:!0});else if(I.kind==="file"){let C=I.mtimeMs;await m1t({srcPath:v,dstPath:x,entry:I,nmMode:a,baseFs:r,globalHardlinksStore:o}),I.mtimeMs!==C&&(h=!0)}else I.kind==="symlink"&&await gG(z.resolve(z.dirname(x),I.symlinkTo),x,n)}if(a.value==="hardlinks-global"&&o&&h&&u){let E=z.join(o,u.substring(0,2),`${u.substring(2)}.json`);await oe.removePromise(E),await d1e(o,E,Buffer.from(JSON.stringify(Object.fromEntries(p))))}};function E1t(t,e,r,o){let a=new Map,n=new Map,u=new Map,A=!1,p=(h,E,I,v,x)=>{let C=!0,F=z.join(h,E),N=new Set;if(E===Di||E.startsWith("@")){let J;try{J=oe.statSync(F)}catch{}C=!!J,J?J.mtimeMs>r?(A=!0,N=new Set(oe.readdirSync(F))):N=new Set(I.children.get(E).children.keys()):A=!0;let te=e.get(h);if(te){let ae=z.join(h,Di,vQ),le;try{le=oe.statSync(ae)}catch{}if(!le)A=!0;else if(le.mtimeMs>r){A=!0;let ce=new Set(oe.readdirSync(ae)),we=new Map;n.set(h,we);for(let[de,Be]of te)ce.has(de)&&we.set(de,Be)}else n.set(h,te)}}else C=x.has(E);let U=I.children.get(E);if(C){let{linkType:J,locator:te}=U,ae={children:new Map,linkType:J,locator:te};if(v.children.set(E,ae),te){let le=He.getSetWithDefault(u,te);le.add(F),u.set(te,le)}for(let le of U.children.keys())p(F,le,U,ae,N)}else U.locator&&o.storedBuildState.delete(j.parseLocator(U.locator).locatorHash)};for(let[h,E]of t){let{linkType:I,locator:v}=E,x={children:new Map,linkType:I,locator:v};if(a.set(h,x),v){let C=He.getSetWithDefault(u,E.locator);C.add(h),u.set(E.locator,C)}E.children.has(Di)&&p(h,Di,E,x,new Set)}return{locationTree:a,binSymlinks:n,locatorLocations:u,installChangedByUser:A}}function y1e(t){let e=j.parseDescriptor(t);return j.isVirtualDescriptor(e)&&(e=j.devirtualizeDescriptor(e)),e.range.startsWith("link:")}async function C1t(t,e,r,{loadManifest:o}){let a=new Map;for(let[A,{locations:p}]of t){let h=y1e(A)?null:await o(A,p[0]),E=new Map;if(h)for(let[I,v]of h.bin){let x=z.join(p[0],v);v!==""&&oe.existsSync(x)&&E.set(I,v)}a.set(A,E)}let n=new Map,u=(A,p,h)=>{let E=new Map,I=z.contains(r,A);if(h.locator&&I!==null){let v=a.get(h.locator);for(let[x,C]of v){let F=z.join(A,ue.toPortablePath(C));E.set(x,F)}for(let[x,C]of h.children){let F=z.join(A,x),N=u(F,F,C);N.size>0&&n.set(A,new Map([...n.get(A)||new Map,...N]))}}else for(let[v,x]of h.children){let C=u(z.join(A,v),p,x);for(let[F,N]of C)E.set(F,N)}return E};for(let[A,p]of e){let h=u(A,A,p);h.size>0&&n.set(A,new Map([...n.get(A)||new Map,...h]))}return n}var u1e=(t,e)=>{if(!t||!e)return t===e;let r=j.parseLocator(t);j.isVirtualLocator(r)&&(r=j.devirtualizeLocator(r));let o=j.parseLocator(e);return j.isVirtualLocator(o)&&(o=j.devirtualizeLocator(o)),j.areLocatorsEqual(r,o)};function dG(t){return z.join(t.get("globalFolder"),"store")}async function w1t(t,e,{baseFs:r,project:o,report:a,loadManifest:n,realLocatorChecksums:u}){let A=z.join(o.cwd,Di),{locationTree:p,binSymlinks:h,locatorLocations:E,installChangedByUser:I}=E1t(t.locationTree,t.binSymlinks,t.mtimeMs,o),v=g1e(e,{skipPrefix:o.cwd}),x=[],C=async({srcDir:Be,dstDir:Ee,linkType:g,globalHardlinksStore:me,nmMode:Ce,windowsLinkType:Ae,packageChecksum:ne})=>{let Z=(async()=>{try{g==="SOFT"?(await oe.mkdirPromise(z.dirname(Ee),{recursive:!0}),await gG(z.resolve(Be),Ee,Ae)):await y1t(Ee,Be,{baseFs:r,globalHardlinksStore:me,nmMode:Ce,windowsLinkType:Ae,packageChecksum:ne})}catch(xe){throw xe.message=`While persisting ${Be} -> ${Ee} ${xe.message}`,xe}finally{ae.tick()}})().then(()=>x.splice(x.indexOf(Z),1));x.push(Z),x.length>c1e&&await Promise.race(x)},F=async(Be,Ee,g)=>{let me=(async()=>{let Ce=async(Ae,ne,Z)=>{try{Z.innerLoop||await oe.mkdirPromise(ne,{recursive:!0});let xe=await oe.readdirPromise(Ae,{withFileTypes:!0});for(let Le of xe){if(!Z.innerLoop&&Le.name===vQ)continue;let ht=z.join(Ae,Le.name),H=z.join(ne,Le.name);Le.isDirectory()?(Le.name!==Di||Z&&Z.innerLoop)&&(await oe.mkdirPromise(H,{recursive:!0}),await Ce(ht,H,{...Z,innerLoop:!0})):we.value==="hardlinks-local"||we.value==="hardlinks-global"?await oe.linkPromise(ht,H):await oe.copyFilePromise(ht,H,f1e.default.constants.COPYFILE_FICLONE)}}catch(xe){throw Z.innerLoop||(xe.message=`While cloning ${Ae} -> ${ne} ${xe.message}`),xe}finally{Z.innerLoop||ae.tick()}};await Ce(Be,Ee,g)})().then(()=>x.splice(x.indexOf(me),1));x.push(me),x.length>c1e&&await Promise.race(x)},N=async(Be,Ee,g)=>{if(g)for(let[me,Ce]of Ee.children){let Ae=g.children.get(me);await N(z.join(Be,me),Ce,Ae)}else{Ee.children.has(Di)&&await jC(z.join(Be,Di),{contentsOnly:!1});let me=z.basename(Be)===Di&&v.has(z.join(z.dirname(Be),z.sep));await jC(Be,{contentsOnly:Be===A,allowSymlink:me})}};for(let[Be,Ee]of p){let g=v.get(Be);for(let[me,Ce]of Ee.children){if(me===".")continue;let Ae=g&&g.children.get(me),ne=z.join(Be,me);await N(ne,Ce,Ae)}}let U=async(Be,Ee,g)=>{if(g){u1e(Ee.locator,g.locator)||await jC(Be,{contentsOnly:Ee.linkType==="HARD"});for(let[me,Ce]of Ee.children){let Ae=g.children.get(me);await U(z.join(Be,me),Ce,Ae)}}else{Ee.children.has(Di)&&await jC(z.join(Be,Di),{contentsOnly:!0});let me=z.basename(Be)===Di&&v.has(z.join(z.dirname(Be),z.sep));await jC(Be,{contentsOnly:Ee.linkType==="HARD",allowSymlink:me})}};for(let[Be,Ee]of v){let g=p.get(Be);for(let[me,Ce]of Ee.children){if(me===".")continue;let Ae=g&&g.children.get(me);await U(z.join(Be,me),Ce,Ae)}}let J=new Map,te=[];for(let[Be,Ee]of E)for(let g of Ee){let{locationRoot:me,segments:Ce}=PQ(g,{skipPrefix:o.cwd}),Ae=v.get(me),ne=me;if(Ae){for(let Z of Ce)if(ne=z.join(ne,Z),Ae=Ae.children.get(Z),!Ae)break;if(Ae){let Z=u1e(Ae.locator,Be),xe=e.get(Ae.locator),Le=xe.target,ht=ne,H=xe.linkType;if(Z)J.has(Le)||J.set(Le,ht);else if(Le!==ht){let rt=j.parseLocator(Ae.locator);j.isVirtualLocator(rt)&&(rt=j.devirtualizeLocator(rt)),te.push({srcDir:Le,dstDir:ht,linkType:H,realLocatorHash:rt.locatorHash})}}}}for(let[Be,{locations:Ee}]of e.entries())for(let g of Ee){let{locationRoot:me,segments:Ce}=PQ(g,{skipPrefix:o.cwd}),Ae=p.get(me),ne=v.get(me),Z=me,xe=e.get(Be),Le=j.parseLocator(Be);j.isVirtualLocator(Le)&&(Le=j.devirtualizeLocator(Le));let ht=Le.locatorHash,H=xe.target,rt=g;if(H===rt)continue;let Te=xe.linkType;for(let Re of Ce)ne=ne.children.get(Re);if(!Ae)te.push({srcDir:H,dstDir:rt,linkType:Te,realLocatorHash:ht});else for(let Re of Ce)if(Z=z.join(Z,Re),Ae=Ae.children.get(Re),!Ae){te.push({srcDir:H,dstDir:rt,linkType:Te,realLocatorHash:ht});break}}let ae=Xs.progressViaCounter(te.length),le=a.reportProgress(ae),ce=o.configuration.get("nmMode"),we={value:ce},de=o.configuration.get("winLinkType");try{let Be=we.value==="hardlinks-global"?`${dG(o.configuration)}/v1`:null;if(Be&&!await oe.existsPromise(Be)){await oe.mkdirpPromise(Be);for(let g=0;g<256;g++)await oe.mkdirPromise(z.join(Be,g.toString(16).padStart(2,"0")))}for(let g of te)(g.linkType==="SOFT"||!J.has(g.srcDir))&&(J.set(g.srcDir,g.dstDir),await C({...g,globalHardlinksStore:Be,nmMode:we,windowsLinkType:de,packageChecksum:u.get(g.realLocatorHash)||null}));await Promise.all(x),x.length=0;for(let g of te){let me=J.get(g.srcDir);g.linkType!=="SOFT"&&g.dstDir!==me&&await F(me,g.dstDir,{nmMode:we})}await Promise.all(x),await oe.mkdirPromise(A,{recursive:!0});let Ee=await C1t(e,v,o.cwd,{loadManifest:n});await I1t(h,Ee,o.cwd,de),await d1t(o,e,Ee,we,{installChangedByUser:I}),ce=="hardlinks-global"&&we.value=="hardlinks-local"&&a.reportWarningOnce(74,"'nmMode' has been downgraded to 'hardlinks-local' due to global cache and install folder being on different devices")}finally{le.stop()}}async function I1t(t,e,r,o){for(let a of t.keys()){if(z.contains(r,a)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${a}`);if(!e.has(a)){let n=z.join(a,Di,vQ);await oe.removePromise(n)}}for(let[a,n]of e){if(z.contains(r,a)===null)throw new Error(`Assertion failed. Excepted bin symlink location to be inside project dir, instead it was at ${a}`);let u=z.join(a,Di,vQ),A=t.get(a)||new Map;await oe.mkdirPromise(u,{recursive:!0});for(let p of A.keys())n.has(p)||(await oe.removePromise(z.join(u,p)),process.platform==="win32"&&await oe.removePromise(z.join(u,`${p}.cmd`)));for(let[p,h]of n){let E=A.get(p),I=z.join(u,p);E!==h&&(process.platform==="win32"?await(0,A1e.default)(ue.fromPortablePath(h),ue.fromPortablePath(I),{createPwshFile:!1}):(await oe.removePromise(I),await gG(h,I,o),z.contains(r,await oe.realpathPromise(h))!==null&&await oe.chmodPromise(h,493)))}}}je();Dt();iA();var uv=class extends b0{constructor(){super(...arguments);this.mode="loose"}makeInstaller(r){return new mG(r)}},mG=class extends dm{constructor(){super(...arguments);this.mode="loose"}async transformPnpSettings(r){let o=new mi({baseFs:new Vl({maxOpenFiles:80,readOnlyArchives:!0})}),a=XIe(r,this.opts.project.cwd,o),{tree:n,errors:u}=XB(a,{pnpifyFs:!1,project:this.opts.project});if(!n){for(let{messageName:I,text:v}of u)this.opts.report.reportError(I,v);return}let A=new Map;r.fallbackPool=A;let p=(I,v)=>{let x=j.parseLocator(v.locator),C=j.stringifyIdent(x);C===I?A.set(I,x.reference):A.set(I,[C,x.reference])},h=z.join(this.opts.project.cwd,dr.nodeModules),E=n.get(h);if(!(typeof E>"u")){if("target"in E)throw new Error("Assertion failed: Expected the root junction point to be a directory");for(let I of E.dirList){let v=z.join(h,I),x=n.get(v);if(typeof x>"u")throw new Error("Assertion failed: Expected the child to have been registered");if("target"in x)p(I,x);else for(let C of x.dirList){let F=z.join(v,C),N=n.get(F);if(typeof N>"u")throw new Error("Assertion failed: Expected the subchild to have been registered");if("target"in N)p(`${I}/${C}`,N);else throw new Error("Assertion failed: Expected the leaf junction to be a package")}}}}};var B1t={hooks:{cleanGlobalArtifacts:async t=>{let e=dG(t);await oe.removePromise(e)}},configuration:{nmHoistingLimits:{description:"Prevents packages to be hoisted past specific levels",type:"STRING",values:["workspaces","dependencies","none"],default:"none"},nmMode:{description:"Defines in which measure Yarn must use hardlinks and symlinks when generated `node_modules` directories.",type:"STRING",values:["classic","hardlinks-local","hardlinks-global"],default:"classic"},nmSelfReferences:{description:"Defines whether the linker should generate self-referencing symlinks for workspaces.",type:"BOOLEAN",default:!0}},linkers:[cv,uv]},v1t=B1t;var dj={};zt(dj,{NpmHttpFetcher:()=>pv,NpmRemapResolver:()=>hv,NpmSemverFetcher:()=>ml,NpmSemverResolver:()=>gv,NpmTagResolver:()=>dv,default:()=>Uvt,npmConfigUtils:()=>$n,npmHttpUtils:()=>Zr,npmPublishUtils:()=>iw});je();var D1e=Ze(Vn());var Wn="npm:";var Zr={};zt(Zr,{AuthType:()=>B1e,customPackageError:()=>mm,del:()=>N1t,get:()=>ym,getIdentUrl:()=>DQ,getPackageMetadata:()=>KC,handleInvalidAuthenticationError:()=>Q0,post:()=>T1t,put:()=>L1t});je();je();Dt();var wG=Ze(p2()),w1e=Ze(P_()),I1e=Ze(Vn());var $n={};zt($n,{RegistryType:()=>E1e,getAuditRegistry:()=>P1t,getAuthConfiguration:()=>CG,getDefaultRegistry:()=>Av,getPublishRegistry:()=>D1t,getRegistryConfiguration:()=>C1e,getScopeConfiguration:()=>EG,getScopeRegistry:()=>YC,normalizeRegistry:()=>ac});var E1e=(o=>(o.AUDIT_REGISTRY="npmAuditRegistry",o.FETCH_REGISTRY="npmRegistryServer",o.PUBLISH_REGISTRY="npmPublishRegistry",o))(E1e||{});function ac(t){return t.replace(/\/$/,"")}function P1t({configuration:t}){return Av({configuration:t,type:"npmAuditRegistry"})}function D1t(t,{configuration:e}){return t.publishConfig?.registry?ac(t.publishConfig.registry):t.name?YC(t.name.scope,{configuration:e,type:"npmPublishRegistry"}):Av({configuration:e,type:"npmPublishRegistry"})}function YC(t,{configuration:e,type:r="npmRegistryServer"}){let o=EG(t,{configuration:e});if(o===null)return Av({configuration:e,type:r});let a=o.get(r);return a===null?Av({configuration:e,type:r}):ac(a)}function Av({configuration:t,type:e="npmRegistryServer"}){let r=t.get(e);return ac(r!==null?r:t.get("npmRegistryServer"))}function C1e(t,{configuration:e}){let r=e.get("npmRegistries"),o=ac(t),a=r.get(o);if(typeof a<"u")return a;let n=r.get(o.replace(/^[a-z]+:/,""));return typeof n<"u"?n:null}function EG(t,{configuration:e}){if(t===null)return null;let o=e.get("npmScopes").get(t);return o||null}function CG(t,{configuration:e,ident:r}){let o=r&&EG(r.scope,{configuration:e});return o?.get("npmAuthIdent")||o?.get("npmAuthToken")?o:C1e(t,{configuration:e})||e}var B1e=(a=>(a[a.NO_AUTH=0]="NO_AUTH",a[a.BEST_EFFORT=1]="BEST_EFFORT",a[a.CONFIGURATION=2]="CONFIGURATION",a[a.ALWAYS_AUTH=3]="ALWAYS_AUTH",a))(B1e||{});async function Q0(t,{attemptedAs:e,registry:r,headers:o,configuration:a}){if(bQ(t))throw new Vt(41,"Invalid OTP token");if(t.originalError?.name==="HTTPError"&&t.originalError?.response.statusCode===401)throw new Vt(41,`Invalid authentication (${typeof e!="string"?`as ${await M1t(r,o,{configuration:a})}`:`attempted as ${e}`})`)}function mm(t,e){let r=t.response?.statusCode;return r?r===404?"Package not found":r>=500&&r<600?`The registry appears to be down (using a ${pe.applyHyperlink(e,"local cache","https://yarnpkg.com/advanced/lexicon#local-cache")} might have protected you against such outages)`:null:null}function DQ(t){return t.scope?`/@${t.scope}%2f${t.name}`:`/${t.name}`}var v1e=new Map,S1t=new Map;async function b1t(t){return await He.getFactoryWithDefault(v1e,t,async()=>{let e=null;try{e=await oe.readJsonPromise(t)}catch{}return e})}async function x1t(t,e,{configuration:r,cached:o,registry:a,headers:n,version:u,...A}){return await He.getFactoryWithDefault(S1t,t,async()=>await ym(DQ(e),{...A,customErrorMessage:mm,configuration:r,registry:a,ident:e,headers:{...n,["If-None-Match"]:o?.etag,["If-Modified-Since"]:o?.lastModified},wrapNetworkRequest:async p=>async()=>{let h=await p();if(h.statusCode===304){if(o===null)throw new Error("Assertion failed: cachedMetadata should not be null");return{...h,body:o.metadata}}let E=k1t(JSON.parse(h.body.toString())),I={metadata:E,etag:h.headers.etag,lastModified:h.headers["last-modified"]};return v1e.set(t,Promise.resolve(I)),Promise.resolve().then(async()=>{let v=`${t}-${process.pid}.tmp`;await oe.mkdirPromise(z.dirname(v),{recursive:!0}),await oe.writeJsonPromise(v,I,{compact:!0}),await oe.renamePromise(v,t)}).catch(()=>{}),{...h,body:E}}}))}async function KC(t,{cache:e,project:r,registry:o,headers:a,version:n,...u}){let{configuration:A}=r;o=fv(A,{ident:t,registry:o});let p=R1t(A,o),h=z.join(p,`${j.slugifyIdent(t)}.json`),E=null;if(!r.lockfileNeedsRefresh&&(E=await b1t(h),E)){if(typeof n<"u"&&typeof E.metadata.versions[n]<"u")return E.metadata;if(A.get("enableOfflineMode")){let I=structuredClone(E.metadata),v=new Set;if(e){for(let C of Object.keys(I.versions)){let F=j.makeLocator(t,`npm:${C}`),N=e.getLocatorMirrorPath(F);(!N||!oe.existsSync(N))&&(delete I.versions[C],v.add(C))}let x=I["dist-tags"].latest;if(v.has(x)){let C=Object.keys(E.metadata.versions).sort(I1e.default.compare),F=C.indexOf(x);for(;v.has(C[F])&&F>=0;)F-=1;F>=0?I["dist-tags"].latest=C[F]:delete I["dist-tags"].latest}}return I}}return await x1t(h,t,{...u,configuration:A,cached:E,registry:o,headers:a,version:n})}var P1e=["name","dist.tarball","bin","scripts","os","cpu","libc","dependencies","dependenciesMeta","optionalDependencies","peerDependencies","peerDependenciesMeta","deprecated"];function k1t(t){return{"dist-tags":t["dist-tags"],versions:Object.fromEntries(Object.entries(t.versions).map(([e,r])=>[e,(0,w1e.default)(r,P1e)]))}}var Q1t=wn.makeHash(...P1e).slice(0,6);function R1t(t,e){let r=F1t(t),o=new URL(e);return z.join(r,Q1t,o.hostname)}function F1t(t){return z.join(t.get("globalFolder"),"metadata/npm")}async function ym(t,{configuration:e,headers:r,ident:o,authType:a,registry:n,...u}){n=fv(e,{ident:o,registry:n}),o&&o.scope&&typeof a>"u"&&(a=1);let A=await SQ(n,{authType:a,configuration:e,ident:o});A&&(r={...r,authorization:A});try{return await sn.get(t.charAt(0)==="/"?`${n}${t}`:t,{configuration:e,headers:r,...u})}catch(p){throw await Q0(p,{registry:n,configuration:e,headers:r}),p}}async function T1t(t,e,{attemptedAs:r,configuration:o,headers:a,ident:n,authType:u=3,registry:A,otp:p,...h}){A=fv(o,{ident:n,registry:A});let E=await SQ(A,{authType:u,configuration:o,ident:n});E&&(a={...a,authorization:E}),p&&(a={...a,...WC(p)});try{return await sn.post(A+t,e,{configuration:o,headers:a,...h})}catch(I){if(!bQ(I)||p)throw await Q0(I,{attemptedAs:r,registry:A,configuration:o,headers:a}),I;p=await IG(I,{configuration:o});let v={...a,...WC(p)};try{return await sn.post(`${A}${t}`,e,{configuration:o,headers:v,...h})}catch(x){throw await Q0(x,{attemptedAs:r,registry:A,configuration:o,headers:a}),x}}}async function L1t(t,e,{attemptedAs:r,configuration:o,headers:a,ident:n,authType:u=3,registry:A,otp:p,...h}){A=fv(o,{ident:n,registry:A});let E=await SQ(A,{authType:u,configuration:o,ident:n});E&&(a={...a,authorization:E}),p&&(a={...a,...WC(p)});try{return await sn.put(A+t,e,{configuration:o,headers:a,...h})}catch(I){if(!bQ(I))throw await Q0(I,{attemptedAs:r,registry:A,configuration:o,headers:a}),I;p=await IG(I,{configuration:o});let v={...a,...WC(p)};try{return await sn.put(`${A}${t}`,e,{configuration:o,headers:v,...h})}catch(x){throw await Q0(x,{attemptedAs:r,registry:A,configuration:o,headers:a}),x}}}async function N1t(t,{attemptedAs:e,configuration:r,headers:o,ident:a,authType:n=3,registry:u,otp:A,...p}){u=fv(r,{ident:a,registry:u});let h=await SQ(u,{authType:n,configuration:r,ident:a});h&&(o={...o,authorization:h}),A&&(o={...o,...WC(A)});try{return await sn.del(u+t,{configuration:r,headers:o,...p})}catch(E){if(!bQ(E)||A)throw await Q0(E,{attemptedAs:e,registry:u,configuration:r,headers:o}),E;A=await IG(E,{configuration:r});let I={...o,...WC(A)};try{return await sn.del(`${u}${t}`,{configuration:r,headers:I,...p})}catch(v){throw await Q0(v,{attemptedAs:e,registry:u,configuration:r,headers:o}),v}}}function fv(t,{ident:e,registry:r}){if(typeof r>"u"&&e)return YC(e.scope,{configuration:t});if(typeof r!="string")throw new Error("Assertion failed: The registry should be a string");return ac(r)}async function SQ(t,{authType:e=2,configuration:r,ident:o}){let a=CG(t,{configuration:r,ident:o}),n=O1t(a,e);if(!n)return null;let u=await r.reduceHook(A=>A.getNpmAuthenticationHeader,void 0,t,{configuration:r,ident:o});if(u)return u;if(a.get("npmAuthToken"))return`Bearer ${a.get("npmAuthToken")}`;if(a.get("npmAuthIdent")){let A=a.get("npmAuthIdent");return A.includes(":")?`Basic ${Buffer.from(A).toString("base64")}`:`Basic ${A}`}if(n&&e!==1)throw new Vt(33,"No authentication configured for request");return null}function O1t(t,e){switch(e){case 2:return t.get("npmAlwaysAuth");case 1:case 3:return!0;case 0:return!1;default:throw new Error("Unreachable")}}async function M1t(t,e,{configuration:r}){if(typeof e>"u"||typeof e.authorization>"u")return"an anonymous user";try{return(await sn.get(new URL(`${t}/-/whoami`).href,{configuration:r,headers:e,jsonResponse:!0})).username??"an unknown user"}catch{return"an unknown user"}}async function IG(t,{configuration:e}){let r=t.originalError?.response.headers["npm-notice"];if(r&&(await Ft.start({configuration:e,stdout:process.stdout,includeFooter:!1},async a=>{if(a.reportInfo(0,r.replace(/(https?:\/\/\S+)/g,pe.pretty(e,"$1",pe.Type.URL))),!process.env.YARN_IS_TEST_ENV){let n=r.match(/open (https?:\/\/\S+)/i);if(n&&Vi.openUrl){let{openNow:u}=await(0,wG.prompt)({type:"confirm",name:"openNow",message:"Do you want to try to open this url now?",required:!0,initial:!0,onCancel:()=>process.exit(130)});u&&(await Vi.openUrl(n[1])||(a.reportSeparator(),a.reportWarning(0,"We failed to automatically open the url; you'll have to open it yourself in your browser of choice.")))}}}),process.stdout.write(` +`)),process.env.YARN_IS_TEST_ENV)return process.env.YARN_INJECT_NPM_2FA_TOKEN||"";let{otp:o}=await(0,wG.prompt)({type:"password",name:"otp",message:"One-time password:",required:!0,onCancel:()=>process.exit(130)});return process.stdout.write(` +`),o}function bQ(t){if(t.originalError?.name!=="HTTPError")return!1;try{return(t.originalError?.response.headers["www-authenticate"].split(/,\s*/).map(r=>r.toLowerCase())).includes("otp")}catch{return!1}}function WC(t){return{["npm-otp"]:t}}var pv=class{supports(e,r){if(!e.reference.startsWith(Wn))return!1;let{selector:o,params:a}=j.parseRange(e.reference);return!(!D1e.default.valid(o)||a===null||typeof a.__archiveUrl!="string")}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${j.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:j.getIdentVendorPath(e),checksum:u}}async fetchFromNetwork(e,r){let{params:o}=j.parseRange(e.reference);if(o===null||typeof o.__archiveUrl!="string")throw new Error("Assertion failed: The archiveUrl querystring parameter should have been available");let a=await ym(o.__archiveUrl,{customErrorMessage:mm,configuration:r.project.configuration,ident:e});return await Zi.convertToZip(a,{configuration:r.project.configuration,prefixPath:j.getIdentVendorPath(e),stripComponents:1})}};je();var hv=class{supportsDescriptor(e,r){return!(!e.range.startsWith(Wn)||!j.tryParseDescriptor(e.range.slice(Wn.length),!0))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){let o=r.project.configuration.normalizeDependency(j.parseDescriptor(e.range.slice(Wn.length),!0));return r.resolver.getResolutionDependencies(o,r)}async getCandidates(e,r,o){let a=o.project.configuration.normalizeDependency(j.parseDescriptor(e.range.slice(Wn.length),!0));return await o.resolver.getCandidates(a,r,o)}async getSatisfying(e,r,o,a){let n=a.project.configuration.normalizeDependency(j.parseDescriptor(e.range.slice(Wn.length),!0));return a.resolver.getSatisfying(n,r,o,a)}resolve(e,r){throw new Error("Unreachable")}};je();je();var S1e=Ze(Vn());var ml=class{supports(e,r){if(!e.reference.startsWith(Wn))return!1;let o=new URL(e.reference);return!(!S1e.default.valid(o.pathname)||o.searchParams.has("__archiveUrl"))}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${j.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the remote registry`),loader:()=>this.fetchFromNetwork(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:j.getIdentVendorPath(e),checksum:u}}async fetchFromNetwork(e,r){let o;try{o=await ym(ml.getLocatorUrl(e),{customErrorMessage:mm,configuration:r.project.configuration,ident:e})}catch{o=await ym(ml.getLocatorUrl(e).replace(/%2f/g,"/"),{customErrorMessage:mm,configuration:r.project.configuration,ident:e})}return await Zi.convertToZip(o,{configuration:r.project.configuration,prefixPath:j.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,r,{configuration:o}){let a=YC(e.scope,{configuration:o}),n=ml.getLocatorUrl(e);return r=r.replace(/^https?:(\/\/(?:[^/]+\.)?npmjs.org(?:$|\/))/,"https:$1"),a=a.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r=r.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),r===a+n||r===a+n.replace(/%2f/g,"/")}static getLocatorUrl(e){let r=Lr.clean(e.reference.slice(Wn.length));if(r===null)throw new Vt(10,"The npm semver resolver got selected, but the version isn't semver");return`${DQ(e)}/-/${e.name}-${r}.tgz`}};je();je();je();var BG=Ze(Vn());var xQ=j.makeIdent(null,"node-gyp"),U1t=/\b(node-gyp|prebuild-install)\b/,gv=class{supportsDescriptor(e,r){return e.range.startsWith(Wn)?!!Lr.validRange(e.range.slice(Wn.length)):!1}supportsLocator(e,r){if(!e.reference.startsWith(Wn))return!1;let{selector:o}=j.parseRange(e.reference);return!!BG.default.valid(o)}shouldPersistResolution(e,r){return!0}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=Lr.validRange(e.range.slice(Wn.length));if(a===null)throw new Error(`Expected a valid range, got ${e.range.slice(Wn.length)}`);let n=await KC(e,{cache:o.fetchOptions?.cache,project:o.project,version:BG.default.valid(a.raw)?a.raw:void 0}),u=He.mapAndFilter(Object.keys(n.versions),h=>{try{let E=new Lr.SemVer(h);if(a.test(E))return E}catch{}return He.mapAndFilter.skip}),A=u.filter(h=>!n.versions[h.raw].deprecated),p=A.length>0?A:u;return p.sort((h,E)=>-h.compare(E)),p.map(h=>{let E=j.makeLocator(e,`${Wn}${h.raw}`),I=n.versions[h.raw].dist.tarball;return ml.isConventionalTarballUrl(E,I,{configuration:o.project.configuration})?E:j.bindLocator(E,{__archiveUrl:I})})}async getSatisfying(e,r,o,a){let n=Lr.validRange(e.range.slice(Wn.length));if(n===null)throw new Error(`Expected a valid range, got ${e.range.slice(Wn.length)}`);return{locators:He.mapAndFilter(o,p=>{if(p.identHash!==e.identHash)return He.mapAndFilter.skip;let h=j.tryParseRange(p.reference,{requireProtocol:Wn});if(!h)return He.mapAndFilter.skip;let E=new Lr.SemVer(h.selector);return n.test(E)?{locator:p,version:E}:He.mapAndFilter.skip}).sort((p,h)=>-p.version.compare(h.version)).map(({locator:p})=>p),sorted:!0}}async resolve(e,r){let{selector:o}=j.parseRange(e.reference),a=Lr.clean(o);if(a===null)throw new Vt(10,"The npm semver resolver got selected, but the version isn't semver");let n=await KC(e,{cache:r.fetchOptions?.cache,project:r.project,version:a});if(!Object.hasOwn(n,"versions"))throw new Vt(15,'Registry returned invalid data for - missing "versions" field');if(!Object.hasOwn(n.versions,a))throw new Vt(16,`Registry failed to return reference "${a}"`);let u=new Ot;if(u.load(n.versions[a]),!u.dependencies.has(xQ.identHash)&&!u.peerDependencies.has(xQ.identHash)){for(let A of u.scripts.values())if(A.match(U1t)){u.dependencies.set(xQ.identHash,j.makeDescriptor(xQ,"latest"));break}}return{...e,version:a,languageName:"node",linkType:"HARD",conditions:u.getConditions(),dependencies:r.project.configuration.normalizeDependencyMap(u.dependencies),peerDependencies:u.peerDependencies,dependenciesMeta:u.dependenciesMeta,peerDependenciesMeta:u.peerDependenciesMeta,bin:u.bin}}};je();je();var b1e=Ze(Vn());var dv=class{supportsDescriptor(e,r){return!(!e.range.startsWith(Wn)||!kE.test(e.range.slice(Wn.length)))}supportsLocator(e,r){return!1}shouldPersistResolution(e,r){throw new Error("Unreachable")}bindDescriptor(e,r,o){return e}getResolutionDependencies(e,r){return{}}async getCandidates(e,r,o){let a=e.range.slice(Wn.length),n=await KC(e,{cache:o.fetchOptions?.cache,project:o.project});if(!Object.hasOwn(n,"dist-tags"))throw new Vt(15,'Registry returned invalid data - missing "dist-tags" field');let u=n["dist-tags"];if(!Object.hasOwn(u,a))throw new Vt(16,`Registry failed to return tag "${a}"`);let A=u[a],p=j.makeLocator(e,`${Wn}${A}`),h=n.versions[A].dist.tarball;return ml.isConventionalTarballUrl(p,h,{configuration:o.project.configuration})?[p]:[j.bindLocator(p,{__archiveUrl:h})]}async getSatisfying(e,r,o,a){let n=[];for(let u of o){if(u.identHash!==e.identHash)continue;let A=j.tryParseRange(u.reference,{requireProtocol:Wn});if(!(!A||!b1e.default.valid(A.selector))){if(A.params?.__archiveUrl){let p=j.makeRange({protocol:Wn,selector:A.selector,source:null,params:null}),[h]=await a.resolver.getCandidates(j.makeDescriptor(e,p),r,a);if(u.reference!==h.reference)continue}n.push(u)}}return{locators:n,sorted:!1}}async resolve(e,r){throw new Error("Unreachable")}};var iw={};zt(iw,{getGitHead:()=>Ovt,getPublishAccess:()=>mBe,getReadmeContent:()=>yBe,makePublishBody:()=>Nvt});je();je();Dt();var Aj={};zt(Aj,{PackCommand:()=>_0,default:()=>yvt,packUtils:()=>wA});je();je();je();Dt();qt();var wA={};zt(wA,{genPackList:()=>ZQ,genPackStream:()=>uj,genPackageManifest:()=>sBe,hasPackScripts:()=>lj,prepareForPack:()=>cj});je();Dt();var aj=Ze(Xo()),nBe=Ze($2e()),iBe=ve("zlib"),avt=["/package.json","/readme","/readme.*","/license","/license.*","/licence","/licence.*","/changelog","/changelog.*"],lvt=["/package.tgz",".github",".git",".hg","node_modules",".npmignore",".gitignore",".#*",".DS_Store"];async function lj(t){return!!(An.hasWorkspaceScript(t,"prepack")||An.hasWorkspaceScript(t,"postpack"))}async function cj(t,{report:e},r){await An.maybeExecuteWorkspaceLifecycleScript(t,"prepack",{report:e});try{let o=z.join(t.cwd,Ot.fileName);await oe.existsPromise(o)&&await t.manifest.loadFile(o,{baseFs:oe}),await r()}finally{await An.maybeExecuteWorkspaceLifecycleScript(t,"postpack",{report:e})}}async function uj(t,e){typeof e>"u"&&(e=await ZQ(t));let r=new Set;for(let n of t.manifest.publishConfig?.executableFiles??new Set)r.add(z.normalize(n));for(let n of t.manifest.bin.values())r.add(z.normalize(n));let o=nBe.default.pack();process.nextTick(async()=>{for(let n of e){let u=z.normalize(n),A=z.resolve(t.cwd,u),p=z.join("package",u),h=await oe.lstatPromise(A),E={name:p,mtime:new Date(vi.SAFE_TIME*1e3)},I=r.has(u)?493:420,v,x,C=new Promise((N,U)=>{v=N,x=U}),F=N=>{N?x(N):v()};if(h.isFile()){let N;u==="package.json"?N=Buffer.from(JSON.stringify(await sBe(t),null,2)):N=await oe.readFilePromise(A),o.entry({...E,mode:I,type:"file"},N,F)}else h.isSymbolicLink()?o.entry({...E,mode:I,type:"symlink",linkname:await oe.readlinkPromise(A)},F):F(new Error(`Unsupported file type ${h.mode} for ${ue.fromPortablePath(u)}`));await C}o.finalize()});let a=(0,iBe.createGzip)();return o.pipe(a),a}async function sBe(t){let e=JSON.parse(JSON.stringify(t.manifest.raw));return await t.project.configuration.triggerHook(r=>r.beforeWorkspacePacking,t,e),e}async function ZQ(t){let e=t.project,r=e.configuration,o={accept:[],reject:[]};for(let I of lvt)o.reject.push(I);for(let I of avt)o.accept.push(I);o.reject.push(r.get("rcFilename"));let a=I=>{if(I===null||!I.startsWith(`${t.cwd}/`))return;let v=z.relative(t.cwd,I),x=z.resolve(Bt.root,v);o.reject.push(x)};a(z.resolve(e.cwd,dr.lockfile)),a(r.get("cacheFolder")),a(r.get("globalFolder")),a(r.get("installStatePath")),a(r.get("virtualFolder")),a(r.get("yarnPath")),await r.triggerHook(I=>I.populateYarnPaths,e,I=>{a(I)});for(let I of e.workspaces){let v=z.relative(t.cwd,I.cwd);v!==""&&!v.match(/^(\.\.)?\//)&&o.reject.push(`/${v}`)}let n={accept:[],reject:[]},u=t.manifest.publishConfig?.main??t.manifest.main,A=t.manifest.publishConfig?.module??t.manifest.module,p=t.manifest.publishConfig?.browser??t.manifest.browser,h=t.manifest.publishConfig?.bin??t.manifest.bin;u!=null&&n.accept.push(z.resolve(Bt.root,u)),A!=null&&n.accept.push(z.resolve(Bt.root,A)),typeof p=="string"&&n.accept.push(z.resolve(Bt.root,p));for(let I of h.values())n.accept.push(z.resolve(Bt.root,I));if(p instanceof Map)for(let[I,v]of p.entries())n.accept.push(z.resolve(Bt.root,I)),typeof v=="string"&&n.accept.push(z.resolve(Bt.root,v));let E=t.manifest.files!==null;if(E){n.reject.push("/*");for(let I of t.manifest.files)oBe(n.accept,I,{cwd:Bt.root})}return await cvt(t.cwd,{hasExplicitFileList:E,globalList:o,ignoreList:n})}async function cvt(t,{hasExplicitFileList:e,globalList:r,ignoreList:o}){let a=[],n=new Hu(t),u=[[Bt.root,[o]]];for(;u.length>0;){let[A,p]=u.pop(),h=await n.lstatPromise(A);if(!tBe(A,{globalList:r,ignoreLists:h.isDirectory()?null:p}))if(h.isDirectory()){let E=await n.readdirPromise(A),I=!1,v=!1;if(!e||A!==Bt.root)for(let F of E)I=I||F===".gitignore",v=v||F===".npmignore";let x=v?await eBe(n,A,".npmignore"):I?await eBe(n,A,".gitignore"):null,C=x!==null?[x].concat(p):p;tBe(A,{globalList:r,ignoreLists:p})&&(C=[...p,{accept:[],reject:["**/*"]}]);for(let F of E)u.push([z.resolve(A,F),C])}else(h.isFile()||h.isSymbolicLink())&&a.push(z.relative(Bt.root,A))}return a.sort()}async function eBe(t,e,r){let o={accept:[],reject:[]},a=await t.readFilePromise(z.join(e,r),"utf8");for(let n of a.split(/\n/g))oBe(o.reject,n,{cwd:e});return o}function uvt(t,{cwd:e}){let r=t[0]==="!";return r&&(t=t.slice(1)),t.match(/\.{0,1}\//)&&(t=z.resolve(e,t)),r&&(t=`!${t}`),t}function oBe(t,e,{cwd:r}){let o=e.trim();o===""||o[0]==="#"||t.push(uvt(o,{cwd:r}))}function tBe(t,{globalList:e,ignoreLists:r}){let o=XQ(t,e.accept);if(o!==0)return o===2;let a=XQ(t,e.reject);if(a!==0)return a===1;if(r!==null)for(let n of r){let u=XQ(t,n.accept);if(u!==0)return u===2;let A=XQ(t,n.reject);if(A!==0)return A===1}return!1}function XQ(t,e){let r=e,o=[];for(let a=0;a{await cj(a,{report:p},async()=>{p.reportJson({base:ue.fromPortablePath(a.cwd)});let h=await ZQ(a);for(let E of h)p.reportInfo(null,ue.fromPortablePath(E)),p.reportJson({location:ue.fromPortablePath(E)});if(!this.dryRun){let E=await uj(a,h),I=oe.createWriteStream(u);E.pipe(I),await new Promise(v=>{I.on("finish",v)})}}),this.dryRun||(p.reportInfo(0,`Package archive generated in ${pe.pretty(r,u,pe.Type.PATH)}`),p.reportJson({output:ue.fromPortablePath(u)}))})).exitCode()}};_0.paths=[["pack"]],_0.usage=it.Usage({description:"generate a tarball from the active workspace",details:"\n This command will turn the active workspace into a compressed archive suitable for publishing. The archive will by default be stored at the root of the workspace (`package.tgz`).\n\n If the `-o,---out` is set the archive will be created at the specified path. The `%s` and `%v` variables can be used within the path and will be respectively replaced by the package name and version.\n ",examples:[["Create an archive from the active workspace","yarn pack"],["List the files that would be made part of the workspace's archive","yarn pack --dry-run"],["Name and output the archive in a dedicated folder","yarn pack --out /artifacts/%s-%v.tgz"]]});function Avt(t,{workspace:e}){let r=t.replace("%s",fvt(e)).replace("%v",pvt(e));return ue.toPortablePath(r)}function fvt(t){return t.manifest.name!==null?j.slugifyIdent(t.manifest.name):"package"}function pvt(t){return t.manifest.version!==null?t.manifest.version:"unknown"}var hvt=["dependencies","devDependencies","peerDependencies"],gvt="workspace:",dvt=(t,e)=>{e.publishConfig&&(e.publishConfig.type&&(e.type=e.publishConfig.type),e.publishConfig.main&&(e.main=e.publishConfig.main),e.publishConfig.browser&&(e.browser=e.publishConfig.browser),e.publishConfig.module&&(e.module=e.publishConfig.module),e.publishConfig.exports&&(e.exports=e.publishConfig.exports),e.publishConfig.imports&&(e.imports=e.publishConfig.imports),e.publishConfig.bin&&(e.bin=e.publishConfig.bin));let r=t.project;for(let o of hvt)for(let a of t.manifest.getForScope(o).values()){let n=r.tryWorkspaceByDescriptor(a),u=j.parseRange(a.range);if(u.protocol===gvt)if(n===null){if(r.tryWorkspaceByIdent(a)===null)throw new Vt(21,`${j.prettyDescriptor(r.configuration,a)}: No local workspace found for this range`)}else{let A;j.areDescriptorsEqual(a,n.anchoredDescriptor)||u.selector==="*"?A=n.manifest.version??"0.0.0":u.selector==="~"||u.selector==="^"?A=`${u.selector}${n.manifest.version??"0.0.0"}`:A=u.selector;let p=o==="dependencies"?j.makeDescriptor(a,"unknown"):null,h=p!==null&&t.manifest.ensureDependencyMeta(p).optional?"optionalDependencies":o;e[h][j.stringifyIdent(a)]=A}}},mvt={hooks:{beforeWorkspacePacking:dvt},commands:[_0]},yvt=mvt;var gBe=ve("crypto"),dBe=Ze(hBe());async function Nvt(t,e,{access:r,tag:o,registry:a,gitHead:n}){let u=t.manifest.name,A=t.manifest.version,p=j.stringifyIdent(u),h=(0,gBe.createHash)("sha1").update(e).digest("hex"),E=dBe.default.fromData(e).toString(),I=r??mBe(t,u),v=await yBe(t),x=await wA.genPackageManifest(t),C=`${p}-${A}.tgz`,F=new URL(`${ac(a)}/${p}/-/${C}`);return{_id:p,_attachments:{[C]:{content_type:"application/octet-stream",data:e.toString("base64"),length:e.length}},name:p,access:I,["dist-tags"]:{[o]:A},versions:{[A]:{...x,_id:`${p}@${A}`,name:p,version:A,gitHead:n,dist:{shasum:h,integrity:E,tarball:F.toString()}}},readme:v}}async function Ovt(t){try{let{stdout:e}=await Ur.execvp("git",["rev-parse","--revs-only","HEAD"],{cwd:t});return e.trim()===""?void 0:e.trim()}catch{return}}function mBe(t,e){let r=t.project.configuration;return t.manifest.publishConfig&&typeof t.manifest.publishConfig.access=="string"?t.manifest.publishConfig.access:r.get("npmPublishAccess")!==null?r.get("npmPublishAccess"):e.scope?"restricted":"public"}async function yBe(t){let e=ue.toPortablePath(`${t.cwd}/README.md`),r=t.manifest.name,a=`# ${j.stringifyIdent(r)} +`;try{a=await oe.readFilePromise(e,"utf8")}catch(n){if(n.code==="ENOENT")return a;throw n}return a}var gj={npmAlwaysAuth:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:"BOOLEAN",default:!1},npmAuthIdent:{description:"Authentication identity for the npm registry (_auth in npm and yarn v1)",type:"SECRET",default:null},npmAuthToken:{description:"Authentication token for the npm registry (_authToken in npm and yarn v1)",type:"SECRET",default:null}},EBe={npmAuditRegistry:{description:"Registry to query for audit reports",type:"STRING",default:null},npmPublishRegistry:{description:"Registry to push packages to",type:"STRING",default:null},npmRegistryServer:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:"STRING",default:"https://registry.yarnpkg.com"}},Mvt={configuration:{...gj,...EBe,npmScopes:{description:"Settings per package scope",type:"MAP",valueDefinition:{description:"",type:"SHAPE",properties:{...gj,...EBe}}},npmRegistries:{description:"Settings per registry",type:"MAP",normalizeKeys:ac,valueDefinition:{description:"",type:"SHAPE",properties:{...gj}}}},fetchers:[pv,ml],resolvers:[hv,gv,dv]},Uvt=Mvt;var Pj={};zt(Pj,{NpmAuditCommand:()=>q0,NpmInfoCommand:()=>G0,NpmLoginCommand:()=>j0,NpmLogoutCommand:()=>Y0,NpmPublishCommand:()=>W0,NpmTagAddCommand:()=>z0,NpmTagListCommand:()=>K0,NpmTagRemoveCommand:()=>J0,NpmWhoamiCommand:()=>V0,default:()=>Wvt,npmAuditTypes:()=>Tv,npmAuditUtils:()=>$Q});je();je();qt();var wj=Ze(Xo());$a();var Tv={};zt(Tv,{Environment:()=>Rv,Severity:()=>Fv});var Rv=(o=>(o.All="all",o.Production="production",o.Development="development",o))(Rv||{}),Fv=(n=>(n.Info="info",n.Low="low",n.Moderate="moderate",n.High="high",n.Critical="critical",n))(Fv||{});var $Q={};zt($Q,{allSeverities:()=>sw,getPackages:()=>Cj,getReportTree:()=>yj,getSeverityInclusions:()=>mj,getTopLevelDependencies:()=>Ej});je();var CBe=Ze(Vn());var sw=["info","low","moderate","high","critical"];function mj(t){if(typeof t>"u")return new Set(sw);let e=sw.indexOf(t),r=sw.slice(e);return new Set(r)}function yj(t){let e={},r={children:e};for(let[o,a]of He.sortMap(Object.entries(t),n=>n[0]))for(let n of He.sortMap(a,u=>`${u.id}`))e[`${o}/${n.id}`]={value:pe.tuple(pe.Type.IDENT,j.parseIdent(o)),children:{ID:typeof n.id<"u"&&{label:"ID",value:pe.tuple(pe.Type.ID,n.id)},Issue:{label:"Issue",value:pe.tuple(pe.Type.NO_HINT,n.title)},URL:typeof n.url<"u"&&{label:"URL",value:pe.tuple(pe.Type.URL,n.url)},Severity:{label:"Severity",value:pe.tuple(pe.Type.NO_HINT,n.severity)},["Vulnerable Versions"]:{label:"Vulnerable Versions",value:pe.tuple(pe.Type.RANGE,n.vulnerable_versions)},["Tree Versions"]:{label:"Tree Versions",children:[...n.versions].sort(CBe.default.compare).map(u=>({value:pe.tuple(pe.Type.REFERENCE,u)}))},Dependents:{label:"Dependents",children:He.sortMap(n.dependents,u=>j.stringifyLocator(u)).map(u=>({value:pe.tuple(pe.Type.LOCATOR,u)}))}}};return r}function Ej(t,e,{all:r,environment:o}){let a=[],n=r?t.workspaces:[e],u=["all","production"].includes(o),A=["all","development"].includes(o);for(let p of n)for(let h of p.anchoredPackage.dependencies.values())(p.manifest.devDependencies.has(h.identHash)?!A:!u)||a.push({workspace:p,dependency:h});return a}function Cj(t,e,{recursive:r}){let o=new Map,a=new Set,n=[],u=(A,p)=>{let h=t.storedResolutions.get(p.descriptorHash);if(typeof h>"u")throw new Error("Assertion failed: The resolution should have been registered");if(!a.has(h))a.add(h);else return;let E=t.storedPackages.get(h);if(typeof E>"u")throw new Error("Assertion failed: The package should have been registered");if(j.ensureDevirtualizedLocator(E).reference.startsWith("npm:")&&E.version!==null){let v=j.stringifyIdent(E),x=He.getMapWithDefault(o,v);He.getArrayWithDefault(x,E.version).push(A)}if(r)for(let v of E.dependencies.values())n.push([E,v])};for(let{workspace:A,dependency:p}of e)n.push([A.anchoredLocator,p]);for(;n.length>0;){let[A,p]=n.shift();u(A,p)}return o}var q0=class extends ut{constructor(){super(...arguments);this.all=ge.Boolean("-A,--all",!1,{description:"Audit dependencies from all workspaces"});this.recursive=ge.Boolean("-R,--recursive",!1,{description:"Audit transitive dependencies as well"});this.environment=ge.String("--environment","all",{description:"Which environments to cover",validator:Js(Rv)});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.noDeprecations=ge.Boolean("--no-deprecations",!1,{description:"Don't warn about deprecated packages"});this.severity=ge.String("--severity","info",{description:"Minimal severity requested for packages to be displayed",validator:Js(Fv)});this.excludes=ge.Array("--exclude",[],{description:"Array of glob patterns of packages to exclude from audit"});this.ignores=ge.Array("--ignore",[],{description:"Array of glob patterns of advisory ID's to ignore in the audit report"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new sr(o.cwd,this.context.cwd);await o.restoreInstallState();let n=Ej(o,a,{all:this.all,environment:this.environment}),u=Cj(o,n,{recursive:this.recursive}),A=Array.from(new Set([...r.get("npmAuditExcludePackages"),...this.excludes])),p=Object.create(null);for(let[N,U]of u)A.some(J=>wj.default.isMatch(N,J))||(p[N]=[...U.keys()]);let h=$n.getAuditRegistry({configuration:r}),E,I=await fA.start({configuration:r,stdout:this.context.stdout},async()=>{let N=Zr.post("/-/npm/v1/security/advisories/bulk",p,{authType:Zr.AuthType.BEST_EFFORT,configuration:r,jsonResponse:!0,registry:h}),U=this.noDeprecations?[]:await Promise.all(Array.from(Object.entries(p),async([te,ae])=>{let le=await Zr.getPackageMetadata(j.parseIdent(te),{project:o});return He.mapAndFilter(ae,ce=>{let{deprecated:we}=le.versions[ce];return we?[te,ce,we]:He.mapAndFilter.skip})})),J=await N;for(let[te,ae,le]of U.flat(1))Object.hasOwn(J,te)&&J[te].some(ce=>Lr.satisfiesWithPrereleases(ae,ce.vulnerable_versions))||(J[te]??=[],J[te].push({id:`${te} (deprecation)`,title:le.trim()||"This package has been deprecated.",severity:"moderate",vulnerable_versions:ae}));E=J});if(I.hasErrors())return I.exitCode();let v=mj(this.severity),x=Array.from(new Set([...r.get("npmAuditIgnoreAdvisories"),...this.ignores])),C=Object.create(null);for(let[N,U]of Object.entries(E)){let J=U.filter(te=>!wj.default.isMatch(`${te.id}`,x)&&v.has(te.severity));J.length>0&&(C[N]=J.map(te=>{let ae=u.get(N);if(typeof ae>"u")throw new Error("Assertion failed: Expected the registry to only return packages that were requested");let le=[...ae.keys()].filter(we=>Lr.satisfiesWithPrereleases(we,te.vulnerable_versions)),ce=new Map;for(let we of le)for(let de of ae.get(we))ce.set(de.locatorHash,de);return{...te,versions:le,dependents:[...ce.values()]}}))}let F=Object.keys(C).length>0;return F?(fs.emitTree(yj(C),{configuration:r,json:this.json,stdout:this.context.stdout,separators:2}),1):(await Ft.start({configuration:r,includeFooter:!1,json:this.json,stdout:this.context.stdout},async N=>{N.reportInfo(1,"No audit suggestions")}),F?1:0)}};q0.paths=[["npm","audit"]],q0.usage=it.Usage({description:"perform a vulnerability audit against the installed packages",details:` + This command checks for known security reports on the packages you use. The reports are by default extracted from the npm registry, and may or may not be relevant to your actual program (not all vulnerabilities affect all code paths). + + For consistency with our other commands the default is to only check the direct dependencies for the active workspace. To extend this search to all workspaces, use \`-A,--all\`. To extend this search to both direct and transitive dependencies, use \`-R,--recursive\`. + + Applying the \`--severity\` flag will limit the audit table to vulnerabilities of the corresponding severity and above. Valid values are ${sw.map(r=>`\`${r}\``).join(", ")}. + + If the \`--json\` flag is set, Yarn will print the output exactly as received from the registry. Regardless of this flag, the process will exit with a non-zero exit code if a report is found for the selected packages. + + If certain packages produce false positives for a particular environment, the \`--exclude\` flag can be used to exclude any number of packages from the audit. This can also be set in the configuration file with the \`npmAuditExcludePackages\` option. + + If particular advisories are needed to be ignored, the \`--ignore\` flag can be used with Advisory ID's to ignore any number of advisories in the audit report. This can also be set in the configuration file with the \`npmAuditIgnoreAdvisories\` option. + + To understand the dependency tree requiring vulnerable packages, check the raw report with the \`--json\` flag or use \`yarn why package\` to get more information as to who depends on them. + `,examples:[["Checks for known security issues with the installed packages. The output is a list of known issues.","yarn npm audit"],["Audit dependencies in all workspaces","yarn npm audit --all"],["Limit auditing to `dependencies` (excludes `devDependencies`)","yarn npm audit --environment production"],["Show audit report as valid JSON","yarn npm audit --json"],["Audit all direct and transitive dependencies","yarn npm audit --recursive"],["Output moderate (or more severe) vulnerabilities","yarn npm audit --severity moderate"],["Exclude certain packages","yarn npm audit --exclude package1 --exclude package2"],["Ignore specific advisories","yarn npm audit --ignore 1234567 --ignore 7654321"]]});je();je();Dt();qt();var Ij=Ze(Vn()),Bj=ve("util"),G0=class extends ut{constructor(){super(...arguments);this.fields=ge.String("-f,--fields",{description:"A comma-separated list of manifest fields that should be displayed"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.packages=ge.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd),a=typeof this.fields<"u"?new Set(["name",...this.fields.split(/\s*,\s*/)]):null,n=[],u=!1,A=await Ft.start({configuration:r,includeFooter:!1,json:this.json,stdout:this.context.stdout},async p=>{for(let h of this.packages){let E;if(h==="."){let ae=o.topLevelWorkspace;if(!ae.manifest.name)throw new st(`Missing ${pe.pretty(r,"name",pe.Type.CODE)} field in ${ue.fromPortablePath(z.join(ae.cwd,dr.manifest))}`);E=j.makeDescriptor(ae.manifest.name,"unknown")}else E=j.parseDescriptor(h);let I=Zr.getIdentUrl(E),v=vj(await Zr.get(I,{configuration:r,ident:E,jsonResponse:!0,customErrorMessage:Zr.customPackageError})),x=Object.keys(v.versions).sort(Ij.default.compareLoose),F=v["dist-tags"].latest||x[x.length-1],N=Lr.validRange(E.range);if(N){let ae=Ij.default.maxSatisfying(x,N);ae!==null?F=ae:(p.reportWarning(0,`Unmet range ${j.prettyRange(r,E.range)}; falling back to the latest version`),u=!0)}else Object.hasOwn(v["dist-tags"],E.range)?F=v["dist-tags"][E.range]:E.range!=="unknown"&&(p.reportWarning(0,`Unknown tag ${j.prettyRange(r,E.range)}; falling back to the latest version`),u=!0);let U=v.versions[F],J={...v,...U,version:F,versions:x},te;if(a!==null){te={};for(let ae of a){let le=J[ae];if(typeof le<"u")te[ae]=le;else{p.reportWarning(1,`The ${pe.pretty(r,ae,pe.Type.CODE)} field doesn't exist inside ${j.prettyIdent(r,E)}'s information`),u=!0;continue}}}else this.json||(delete J.dist,delete J.readme,delete J.users),te=J;p.reportJson(te),this.json||n.push(te)}});Bj.inspect.styles.name="cyan";for(let p of n)(p!==n[0]||u)&&this.context.stdout.write(` +`),this.context.stdout.write(`${(0,Bj.inspect)(p,{depth:1/0,colors:!0,compact:!1})} +`);return A.exitCode()}};G0.paths=[["npm","info"]],G0.usage=it.Usage({category:"Npm-related commands",description:"show information about a package",details:"\n This command fetches information about a package from the npm registry and prints it in a tree format.\n\n The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\n\n Append `@` to the package argument to provide information specific to the latest version that satisfies the range or to the corresponding tagged version. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\n\n If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package information.\n\n By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\n ",examples:[["Show all available information about react (except the `dist`, `readme`, and `users` fields)","yarn npm info react"],["Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)","yarn npm info react --json"],["Show all available information about react@16.12.0","yarn npm info react@16.12.0"],["Show all available information about react@next","yarn npm info react@next"],["Show the description of react","yarn npm info react --fields description"],["Show all available versions of react","yarn npm info react --fields versions"],["Show the readme of react","yarn npm info react --fields readme"],["Show a few fields of react","yarn npm info react --fields homepage,repository"]]});function vj(t){if(Array.isArray(t)){let e=[];for(let r of t)r=vj(r),r&&e.push(r);return e}else if(typeof t=="object"&&t!==null){let e={};for(let r of Object.keys(t)){if(r.startsWith("_"))continue;let o=vj(t[r]);o&&(e[r]=o)}return e}else return t||null}je();je();qt();var wBe=Ze(p2()),j0=class extends ut{constructor(){super(...arguments);this.scope=ge.String("-s,--scope",{description:"Login to the registry configured for a given scope"});this.publish=ge.Boolean("--publish",!1,{description:"Login to the publish registry"});this.alwaysAuth=ge.Boolean("--always-auth",{description:"Set the npmAlwaysAuth configuration"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o=await eR({configuration:r,cwd:this.context.cwd,publish:this.publish,scope:this.scope});return(await Ft.start({configuration:r,stdout:this.context.stdout,includeFooter:!1},async n=>{let u=await qvt({configuration:r,registry:o,report:n,stdin:this.context.stdin,stdout:this.context.stdout}),A=await _vt(o,u,r);return await Hvt(o,A,{alwaysAuth:this.alwaysAuth,scope:this.scope}),n.reportInfo(0,"Successfully logged in")})).exitCode()}};j0.paths=[["npm","login"]],j0.usage=it.Usage({category:"Npm-related commands",description:"store new login info to access the npm registry",details:"\n This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\n\n Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n ",examples:[["Login to the default registry","yarn npm login"],["Login to the registry linked to the @my-scope registry","yarn npm login --scope my-scope"],["Login to the publish registry for the current package","yarn npm login --publish"]]});async function eR({scope:t,publish:e,configuration:r,cwd:o}){return t&&e?$n.getScopeRegistry(t,{configuration:r,type:$n.RegistryType.PUBLISH_REGISTRY}):t?$n.getScopeRegistry(t,{configuration:r}):e?$n.getPublishRegistry((await uC(r,o)).manifest,{configuration:r}):$n.getDefaultRegistry({configuration:r})}async function _vt(t,e,r){let o=`/-/user/org.couchdb.user:${encodeURIComponent(e.name)}`,a={_id:`org.couchdb.user:${e.name}`,name:e.name,password:e.password,type:"user",roles:[],date:new Date().toISOString()},n={attemptedAs:e.name,configuration:r,registry:t,jsonResponse:!0,authType:Zr.AuthType.NO_AUTH};try{return(await Zr.put(o,a,n)).token}catch(E){if(!(E.originalError?.name==="HTTPError"&&E.originalError?.response.statusCode===409))throw E}let u={...n,authType:Zr.AuthType.NO_AUTH,headers:{authorization:`Basic ${Buffer.from(`${e.name}:${e.password}`).toString("base64")}`}},A=await Zr.get(o,u);for(let[E,I]of Object.entries(A))(!a[E]||E==="roles")&&(a[E]=I);let p=`${o}/-rev/${a._rev}`;return(await Zr.put(p,a,u)).token}async function Hvt(t,e,{alwaysAuth:r,scope:o}){let a=u=>A=>{let p=He.isIndexableObject(A)?A:{},h=p[u],E=He.isIndexableObject(h)?h:{};return{...p,[u]:{...E,...r!==void 0?{npmAlwaysAuth:r}:{},npmAuthToken:e}}},n=o?{npmScopes:a(o)}:{npmRegistries:a(t)};return await Ke.updateHomeConfiguration(n)}async function qvt({configuration:t,registry:e,report:r,stdin:o,stdout:a}){r.reportInfo(0,`Logging in to ${pe.pretty(t,e,pe.Type.URL)}`);let n=!1;if(e.match(/^https:\/\/npm\.pkg\.github\.com(\/|$)/)&&(r.reportInfo(0,"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions."),n=!0),r.reportSeparator(),t.env.YARN_IS_TEST_ENV)return{name:t.env.YARN_INJECT_NPM_USER||"",password:t.env.YARN_INJECT_NPM_PASSWORD||""};let u=await(0,wBe.prompt)([{type:"input",name:"name",message:"Username:",required:!0,onCancel:()=>process.exit(130),stdin:o,stdout:a},{type:"password",name:"password",message:n?"Token:":"Password:",required:!0,onCancel:()=>process.exit(130),stdin:o,stdout:a}]);return r.reportSeparator(),u}je();je();qt();var ow=new Set(["npmAuthIdent","npmAuthToken"]),Y0=class extends ut{constructor(){super(...arguments);this.scope=ge.String("-s,--scope",{description:"Logout of the registry configured for a given scope"});this.publish=ge.Boolean("--publish",!1,{description:"Logout of the publish registry"});this.all=ge.Boolean("-A,--all",!1,{description:"Logout of all registries"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o=async()=>{let n=await eR({configuration:r,cwd:this.context.cwd,publish:this.publish,scope:this.scope}),u=await Ke.find(this.context.cwd,this.context.plugins),A=j.makeIdent(this.scope??null,"pkg");return!$n.getAuthConfiguration(n,{configuration:u,ident:A}).get("npmAuthToken")};return(await Ft.start({configuration:r,stdout:this.context.stdout},async n=>{if(this.all&&(await jvt(),n.reportInfo(0,"Successfully logged out from everything")),this.scope){await IBe("npmScopes",this.scope),await o()?n.reportInfo(0,`Successfully logged out from ${this.scope}`):n.reportWarning(0,"Scope authentication settings removed, but some other ones settings still apply to it");return}let u=await eR({configuration:r,cwd:this.context.cwd,publish:this.publish});await IBe("npmRegistries",u),await o()?n.reportInfo(0,`Successfully logged out from ${u}`):n.reportWarning(0,"Registry authentication settings removed, but some other ones settings still apply to it")})).exitCode()}};Y0.paths=[["npm","logout"]],Y0.usage=it.Usage({category:"Npm-related commands",description:"logout of the npm registry",details:"\n This command will log you out by modifying your local configuration (in your home folder, never in the project itself) to delete all credentials linked to a registry.\n\n Adding the `-s,--scope` flag will cause the deletion to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the deletion to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n\n Adding the `-A,--all` flag will cause the deletion to be done against all registries and scopes.\n ",examples:[["Logout of the default registry","yarn npm logout"],["Logout of the @my-scope scope","yarn npm logout --scope my-scope"],["Logout of the publish registry for the current package","yarn npm logout --publish"],["Logout of all registries","yarn npm logout --all"]]});function Gvt(t,e){let r=t[e];if(!He.isIndexableObject(r))return!1;let o=new Set(Object.keys(r));if([...ow].every(n=>!o.has(n)))return!1;for(let n of ow)o.delete(n);if(o.size===0)return t[e]=void 0,!0;let a={...r};for(let n of ow)delete a[n];return t[e]=a,!0}async function jvt(){let t=e=>{let r=!1,o=He.isIndexableObject(e)?{...e}:{};o.npmAuthToken&&(delete o.npmAuthToken,r=!0);for(let a of Object.keys(o))Gvt(o,a)&&(r=!0);if(Object.keys(o).length!==0)return r?o:e};return await Ke.updateHomeConfiguration({npmRegistries:t,npmScopes:t})}async function IBe(t,e){return await Ke.updateHomeConfiguration({[t]:r=>{let o=He.isIndexableObject(r)?r:{};if(!Object.hasOwn(o,e))return r;let a=o[e],n=He.isIndexableObject(a)?a:{},u=new Set(Object.keys(n));if([...ow].every(p=>!u.has(p)))return r;for(let p of ow)u.delete(p);if(u.size===0)return Object.keys(o).length===1?void 0:{...o,[e]:void 0};let A={};for(let p of ow)A[p]=void 0;return{...o,[e]:{...n,...A}}}})}je();qt();var W0=class extends ut{constructor(){super(...arguments);this.access=ge.String("--access",{description:"The access for the published package (public or restricted)"});this.tag=ge.String("--tag","latest",{description:"The tag on the registry that the package should be attached to"});this.tolerateRepublish=ge.Boolean("--tolerate-republish",!1,{description:"Warn and exit when republishing an already existing version of a package"});this.otp=ge.String("--otp",{description:"The OTP token to use with the command"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new sr(o.cwd,this.context.cwd);if(a.manifest.private)throw new st("Private workspaces cannot be published");if(a.manifest.name===null||a.manifest.version===null)throw new st("Workspaces must have valid names and versions to be published on an external registry");await o.restoreInstallState();let n=a.manifest.name,u=a.manifest.version,A=$n.getPublishRegistry(a.manifest,{configuration:r});return(await Ft.start({configuration:r,stdout:this.context.stdout},async h=>{if(this.tolerateRepublish)try{let E=await Zr.get(Zr.getIdentUrl(n),{configuration:r,registry:A,ident:n,jsonResponse:!0});if(!Object.hasOwn(E,"versions"))throw new Vt(15,'Registry returned invalid data for - missing "versions" field');if(Object.hasOwn(E.versions,u)){h.reportWarning(0,`Registry already knows about version ${u}; skipping.`);return}}catch(E){if(E.originalError?.response?.statusCode!==404)throw E}await An.maybeExecuteWorkspaceLifecycleScript(a,"prepublish",{report:h}),await wA.prepareForPack(a,{report:h},async()=>{let E=await wA.genPackList(a);for(let F of E)h.reportInfo(null,F);let I=await wA.genPackStream(a,E),v=await He.bufferStream(I),x=await iw.getGitHead(a.cwd),C=await iw.makePublishBody(a,v,{access:this.access,tag:this.tag,registry:A,gitHead:x});await Zr.put(Zr.getIdentUrl(n),C,{configuration:r,registry:A,ident:n,otp:this.otp,jsonResponse:!0})}),h.reportInfo(0,"Package archive published")})).exitCode()}};W0.paths=[["npm","publish"]],W0.usage=it.Usage({category:"Npm-related commands",description:"publish the active workspace to the npm registry",details:'\n This command will pack the active workspace into a fresh archive and upload it to the npm registry.\n\n The package will by default be attached to the `latest` tag on the registry, but this behavior can be overridden by using the `--tag` option.\n\n Note that for legacy reasons scoped packages are by default published with an access set to `restricted` (aka "private packages"). This requires you to register for a paid npm plan. In case you simply wish to publish a public scoped package to the registry (for free), just add the `--access public` flag. This behavior can be enabled by default through the `npmPublishAccess` settings.\n ',examples:[["Publish the active workspace","yarn npm publish"]]});je();qt();var BBe=Ze(Vn());je();Dt();qt();var K0=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=ge.String({required:!1})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n;if(typeof this.package<"u")n=j.parseIdent(this.package);else{if(!a)throw new sr(o.cwd,this.context.cwd);if(!a.manifest.name)throw new st(`Missing 'name' field in ${ue.fromPortablePath(z.join(a.cwd,dr.manifest))}`);n=a.manifest.name}let u=await Lv(n,r),p={children:He.sortMap(Object.entries(u),([h])=>h).map(([h,E])=>({value:pe.tuple(pe.Type.RESOLUTION,{descriptor:j.makeDescriptor(n,h),locator:j.makeLocator(n,E)})}))};return fs.emitTree(p,{configuration:r,json:this.json,stdout:this.context.stdout})}};K0.paths=[["npm","tag","list"]],K0.usage=it.Usage({category:"Npm-related commands",description:"list all dist-tags of a package",details:` + This command will list all tags of a package from the npm registry. + + If the package is not specified, Yarn will default to the current workspace. + `,examples:[["List all tags of package `my-pkg`","yarn npm tag list my-pkg"]]});async function Lv(t,e){let r=`/-/package${Zr.getIdentUrl(t)}/dist-tags`;return Zr.get(r,{configuration:e,ident:t,jsonResponse:!0,customErrorMessage:Zr.customPackageError})}var z0=class extends ut{constructor(){super(...arguments);this.package=ge.String();this.tag=ge.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new sr(o.cwd,this.context.cwd);let n=j.parseDescriptor(this.package,!0),u=n.range;if(!BBe.default.valid(u))throw new st(`The range ${pe.pretty(r,n.range,pe.Type.RANGE)} must be a valid semver version`);let A=$n.getPublishRegistry(a.manifest,{configuration:r}),p=pe.pretty(r,n,pe.Type.IDENT),h=pe.pretty(r,u,pe.Type.RANGE),E=pe.pretty(r,this.tag,pe.Type.CODE);return(await Ft.start({configuration:r,stdout:this.context.stdout},async v=>{let x=await Lv(n,r);Object.hasOwn(x,this.tag)&&x[this.tag]===u&&v.reportWarning(0,`Tag ${E} is already set to version ${h}`);let C=`/-/package${Zr.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await Zr.put(C,u,{configuration:r,registry:A,ident:n,jsonRequest:!0,jsonResponse:!0}),v.reportInfo(0,`Tag ${E} added to version ${h} of package ${p}`)})).exitCode()}};z0.paths=[["npm","tag","add"]],z0.usage=it.Usage({category:"Npm-related commands",description:"add a tag for a specific version of a package",details:` + This command will add a tag to the npm registry for a specific version of a package. If the tag already exists, it will be overwritten. + `,examples:[["Add a `beta` tag for version `2.3.4-beta.4` of package `my-pkg`","yarn npm tag add my-pkg@2.3.4-beta.4 beta"]]});je();qt();var J0=class extends ut{constructor(){super(...arguments);this.package=ge.String();this.tag=ge.String()}async execute(){if(this.tag==="latest")throw new st("The 'latest' tag cannot be removed.");let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new sr(o.cwd,this.context.cwd);let n=j.parseIdent(this.package),u=$n.getPublishRegistry(a.manifest,{configuration:r}),A=pe.pretty(r,this.tag,pe.Type.CODE),p=pe.pretty(r,n,pe.Type.IDENT),h=await Lv(n,r);if(!Object.hasOwn(h,this.tag))throw new st(`${A} is not a tag of package ${p}`);return(await Ft.start({configuration:r,stdout:this.context.stdout},async I=>{let v=`/-/package${Zr.getIdentUrl(n)}/dist-tags/${encodeURIComponent(this.tag)}`;await Zr.del(v,{configuration:r,registry:u,ident:n,jsonResponse:!0}),I.reportInfo(0,`Tag ${A} removed from package ${p}`)})).exitCode()}};J0.paths=[["npm","tag","remove"]],J0.usage=it.Usage({category:"Npm-related commands",description:"remove a tag from a package",details:` + This command will remove a tag from a package from the npm registry. + `,examples:[["Remove the `beta` tag from package `my-pkg`","yarn npm tag remove my-pkg beta"]]});je();je();qt();var V0=class extends ut{constructor(){super(...arguments);this.scope=ge.String("-s,--scope",{description:"Print username for the registry configured for a given scope"});this.publish=ge.Boolean("--publish",!1,{description:"Print username for the publish registry"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),o;return this.scope&&this.publish?o=$n.getScopeRegistry(this.scope,{configuration:r,type:$n.RegistryType.PUBLISH_REGISTRY}):this.scope?o=$n.getScopeRegistry(this.scope,{configuration:r}):this.publish?o=$n.getPublishRegistry((await uC(r,this.context.cwd)).manifest,{configuration:r}):o=$n.getDefaultRegistry({configuration:r}),(await Ft.start({configuration:r,stdout:this.context.stdout},async n=>{let u;try{u=await Zr.get("/-/whoami",{configuration:r,registry:o,authType:Zr.AuthType.ALWAYS_AUTH,jsonResponse:!0,ident:this.scope?j.makeIdent(this.scope,""):void 0})}catch(A){if(A.response?.statusCode===401||A.response?.statusCode===403){n.reportError(41,"Authentication failed - your credentials may have expired");return}else throw A}n.reportInfo(0,u.username)})).exitCode()}};V0.paths=[["npm","whoami"]],V0.usage=it.Usage({category:"Npm-related commands",description:"display the name of the authenticated user",details:"\n Print the username associated with the current authentication settings to the standard output.\n\n When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\n\n When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\n ",examples:[["Print username for the default registry","yarn npm whoami"],["Print username for the registry on a given scope","yarn npm whoami --scope company"]]});var Yvt={configuration:{npmPublishAccess:{description:"Default access of the published packages",type:"STRING",default:null},npmAuditExcludePackages:{description:"Array of glob patterns of packages to exclude from npm audit",type:"STRING",default:[],isArray:!0},npmAuditIgnoreAdvisories:{description:"Array of glob patterns of advisory IDs to exclude from npm audit",type:"STRING",default:[],isArray:!0}},commands:[q0,G0,j0,Y0,W0,z0,K0,J0,V0]},Wvt=Yvt;var Rj={};zt(Rj,{PatchCommand:()=>$0,PatchCommitCommand:()=>Z0,PatchFetcher:()=>_v,PatchResolver:()=>Hv,default:()=>uPt,patchUtils:()=>Pm});je();je();Dt();iA();var Pm={};zt(Pm,{applyPatchFile:()=>rR,diffFolders:()=>kj,ensureUnpatchedDescriptor:()=>Dj,ensureUnpatchedLocator:()=>iR,extractPackageToDisk:()=>xj,extractPatchFlags:()=>kBe,isParentRequired:()=>bj,isPatchDescriptor:()=>nR,isPatchLocator:()=>X0,loadPatchFiles:()=>Uv,makeDescriptor:()=>sR,makeLocator:()=>Sj,makePatchHash:()=>Qj,parseDescriptor:()=>Ov,parseLocator:()=>Mv,parsePatchFile:()=>Nv,unpatchDescriptor:()=>aPt,unpatchLocator:()=>lPt});je();Dt();je();Dt();var Kvt=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function aw(t){return z.relative(Bt.root,z.resolve(Bt.root,ue.toPortablePath(t)))}function zvt(t){let e=t.trim().match(Kvt);if(!e)throw new Error(`Bad header line: '${t}'`);return{original:{start:Math.max(Number(e[1]),1),length:Number(e[3]||1)},patched:{start:Math.max(Number(e[4]),1),length:Number(e[6]||1)}}}var Jvt=420,Vvt=493;var vBe=()=>({semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}),Xvt=t=>({header:zvt(t),parts:[]}),Zvt={["@"]:"header",["-"]:"deletion",["+"]:"insertion",[" "]:"context",["\\"]:"pragma",undefined:"context"};function $vt(t){let e=[],r=vBe(),o="parsing header",a=null,n=null;function u(){a&&(n&&(a.parts.push(n),n=null),r.hunks.push(a),a=null)}function A(){u(),e.push(r),r=vBe()}for(let p=0;p0?"patch":"mode change",J=null;switch(U){case"rename":{if(!E||!I)throw new Error("Bad parser state: rename from & to not given");e.push({type:"rename",semverExclusivity:o,fromPath:aw(E),toPath:aw(I)}),J=I}break;case"file deletion":{let te=a||C;if(!te)throw new Error("Bad parse state: no path given for file deletion");e.push({type:"file deletion",semverExclusivity:o,hunk:N&&N[0]||null,path:aw(te),mode:tR(p),hash:v})}break;case"file creation":{let te=n||F;if(!te)throw new Error("Bad parse state: no path given for file creation");e.push({type:"file creation",semverExclusivity:o,hunk:N&&N[0]||null,path:aw(te),mode:tR(h),hash:x})}break;case"patch":case"mode change":J=F||n;break;default:He.assertNever(U);break}J&&u&&A&&u!==A&&e.push({type:"mode change",semverExclusivity:o,path:aw(J),oldMode:tR(u),newMode:tR(A)}),J&&N&&N.length&&e.push({type:"patch",semverExclusivity:o,path:aw(J),hunks:N,beforeHash:v,afterHash:x})}if(e.length===0)throw new Error("Unable to parse patch file: No changes found. Make sure the patch is a valid UTF8 encoded string");return e}function tR(t){let e=parseInt(t,8)&511;if(e!==Jvt&&e!==Vvt)throw new Error(`Unexpected file mode string: ${t}`);return e}function Nv(t){let e=t.split(/\n/g);return e[e.length-1]===""&&e.pop(),ePt($vt(e))}function tPt(t){let e=0,r=0;for(let{type:o,lines:a}of t.parts)switch(o){case"context":r+=a.length,e+=a.length;break;case"deletion":e+=a.length;break;case"insertion":r+=a.length;break;default:He.assertNever(o);break}if(e!==t.header.original.length||r!==t.header.patched.length){let o=a=>a<0?a:`+${a}`;throw new Error(`hunk header integrity check failed (expected @@ ${o(t.header.original.length)} ${o(t.header.patched.length)} @@, got @@ ${o(e)} ${o(r)} @@)`)}}je();Dt();var lw=class extends Error{constructor(r,o){super(`Cannot apply hunk #${r+1}`);this.hunk=o}};async function cw(t,e,r){let o=await t.lstatPromise(e),a=await r();typeof a<"u"&&(e=a),await t.lutimesPromise(e,o.atime,o.mtime)}async function rR(t,{baseFs:e=new Tn,dryRun:r=!1,version:o=null}={}){for(let a of t)if(!(a.semverExclusivity!==null&&o!==null&&!Lr.satisfiesWithPrereleases(o,a.semverExclusivity)))switch(a.type){case"file deletion":if(r){if(!e.existsSync(a.path))throw new Error(`Trying to delete a file that doesn't exist: ${a.path}`)}else await cw(e,z.dirname(a.path),async()=>{await e.unlinkPromise(a.path)});break;case"rename":if(r){if(!e.existsSync(a.fromPath))throw new Error(`Trying to move a file that doesn't exist: ${a.fromPath}`)}else await cw(e,z.dirname(a.fromPath),async()=>{await cw(e,z.dirname(a.toPath),async()=>{await cw(e,a.fromPath,async()=>(await e.movePromise(a.fromPath,a.toPath),a.toPath))})});break;case"file creation":if(r){if(e.existsSync(a.path))throw new Error(`Trying to create a file that already exists: ${a.path}`)}else{let n=a.hunk?a.hunk.parts[0].lines.join(` +`)+(a.hunk.parts[0].noNewlineAtEndOfFile?"":` +`):"";await e.mkdirpPromise(z.dirname(a.path),{chmod:493,utimes:[vi.SAFE_TIME,vi.SAFE_TIME]}),await e.writeFilePromise(a.path,n,{mode:a.mode}),await e.utimesPromise(a.path,vi.SAFE_TIME,vi.SAFE_TIME)}break;case"patch":await cw(e,a.path,async()=>{await iPt(a,{baseFs:e,dryRun:r})});break;case"mode change":{let u=(await e.statPromise(a.path)).mode;if(PBe(a.newMode)!==PBe(u))continue;await cw(e,a.path,async()=>{await e.chmodPromise(a.path,a.newMode)})}break;default:He.assertNever(a);break}}function PBe(t){return(t&64)>0}function DBe(t){return t.replace(/\s+$/,"")}function nPt(t,e){return DBe(t)===DBe(e)}async function iPt({hunks:t,path:e},{baseFs:r,dryRun:o=!1}){let a=await r.statSync(e).mode,u=(await r.readFileSync(e,"utf8")).split(/\n/),A=[],p=0,h=0;for(let I of t){let v=Math.max(h,I.header.patched.start+p),x=Math.max(0,v-h),C=Math.max(0,u.length-v-I.header.original.length),F=Math.max(x,C),N=0,U=0,J=null;for(;N<=F;){if(N<=x&&(U=v-N,J=SBe(I,u,U),J!==null)){N=-N;break}if(N<=C&&(U=v+N,J=SBe(I,u,U),J!==null))break;N+=1}if(J===null)throw new lw(t.indexOf(I),I);A.push(J),p+=N,h=U+I.header.original.length}if(o)return;let E=0;for(let I of A)for(let v of I)switch(v.type){case"splice":{let x=v.index+E;u.splice(x,v.numToDelete,...v.linesToInsert),E+=v.linesToInsert.length-v.numToDelete}break;case"pop":u.pop();break;case"push":u.push(v.line);break;default:He.assertNever(v);break}await r.writeFilePromise(e,u.join(` +`),{mode:a})}function SBe(t,e,r){let o=[];for(let a of t.parts)switch(a.type){case"context":case"deletion":{for(let n of a.lines){let u=e[r];if(u==null||!nPt(u,n))return null;r+=1}a.type==="deletion"&&(o.push({type:"splice",index:r-a.lines.length,numToDelete:a.lines.length,linesToInsert:[]}),a.noNewlineAtEndOfFile&&o.push({type:"push",line:""}))}break;case"insertion":o.push({type:"splice",index:r,numToDelete:0,linesToInsert:a.lines}),a.noNewlineAtEndOfFile&&o.push({type:"pop"});break;default:He.assertNever(a.type);break}return o}var oPt=/^builtin<([^>]+)>$/;function uw(t,e){let{protocol:r,source:o,selector:a,params:n}=j.parseRange(t);if(r!=="patch:")throw new Error("Invalid patch range");if(o===null)throw new Error("Patch locators must explicitly define their source");let u=a?a.split(/&/).map(E=>ue.toPortablePath(E)):[],A=n&&typeof n.locator=="string"?j.parseLocator(n.locator):null,p=n&&typeof n.version=="string"?n.version:null,h=e(o);return{parentLocator:A,sourceItem:h,patchPaths:u,sourceVersion:p}}function nR(t){return t.range.startsWith("patch:")}function X0(t){return t.reference.startsWith("patch:")}function Ov(t){let{sourceItem:e,...r}=uw(t.range,j.parseDescriptor);return{...r,sourceDescriptor:e}}function Mv(t){let{sourceItem:e,...r}=uw(t.reference,j.parseLocator);return{...r,sourceLocator:e}}function aPt(t){let{sourceItem:e}=uw(t.range,j.parseDescriptor);return e}function lPt(t){let{sourceItem:e}=uw(t.reference,j.parseLocator);return e}function Dj(t){if(!nR(t))return t;let{sourceItem:e}=uw(t.range,j.parseDescriptor);return e}function iR(t){if(!X0(t))return t;let{sourceItem:e}=uw(t.reference,j.parseLocator);return e}function bBe({parentLocator:t,sourceItem:e,patchPaths:r,sourceVersion:o,patchHash:a},n){let u=t!==null?{locator:j.stringifyLocator(t)}:{},A=typeof o<"u"?{version:o}:{},p=typeof a<"u"?{hash:a}:{};return j.makeRange({protocol:"patch:",source:n(e),selector:r.join("&"),params:{...A,...p,...u}})}function sR(t,{parentLocator:e,sourceDescriptor:r,patchPaths:o}){return j.makeDescriptor(t,bBe({parentLocator:e,sourceItem:r,patchPaths:o},j.stringifyDescriptor))}function Sj(t,{parentLocator:e,sourcePackage:r,patchPaths:o,patchHash:a}){return j.makeLocator(t,bBe({parentLocator:e,sourceItem:r,sourceVersion:r.version,patchPaths:o,patchHash:a},j.stringifyLocator))}function xBe({onAbsolute:t,onRelative:e,onProject:r,onBuiltin:o},a){let n=a.lastIndexOf("!");n!==-1&&(a=a.slice(n+1));let u=a.match(oPt);return u!==null?o(u[1]):a.startsWith("~/")?r(a.slice(2)):z.isAbsolute(a)?t(a):e(a)}function kBe(t){let e=t.lastIndexOf("!");return{optional:(e!==-1?new Set(t.slice(0,e).split(/!/)):new Set).has("optional")}}function bj(t){return xBe({onAbsolute:()=>!1,onRelative:()=>!0,onProject:()=>!1,onBuiltin:()=>!1},t)}async function Uv(t,e,r){let o=t!==null?await r.fetcher.fetch(t,r):null,a=o&&o.localPath?{packageFs:new gn(Bt.root),prefixPath:z.relative(Bt.root,o.localPath)}:o;o&&o!==a&&o.releaseFs&&o.releaseFs();let n=await He.releaseAfterUseAsync(async()=>await Promise.all(e.map(async u=>{let A=kBe(u),p=await xBe({onAbsolute:async h=>await oe.readFilePromise(h,"utf8"),onRelative:async h=>{if(a===null)throw new Error("Assertion failed: The parent locator should have been fetched");return await a.packageFs.readFilePromise(z.join(a.prefixPath,h),"utf8")},onProject:async h=>await oe.readFilePromise(z.join(r.project.cwd,h),"utf8"),onBuiltin:async h=>await r.project.configuration.firstHook(E=>E.getBuiltinPatch,r.project,h)},u);return{...A,source:p}})));for(let u of n)typeof u.source=="string"&&(u.source=u.source.replace(/\r\n?/g,` +`));return n}async function xj(t,{cache:e,project:r}){let o=r.storedPackages.get(t.locatorHash);if(typeof o>"u")throw new Error("Assertion failed: Expected the package to be registered");let a=iR(t),n=r.storedChecksums,u=new Qi,A=await oe.mktempPromise(),p=z.join(A,"source"),h=z.join(A,"user"),E=z.join(A,".yarn-patch.json"),I=r.configuration.makeFetcher(),v=[];try{let x,C;if(t.locatorHash===a.locatorHash){let F=await I.fetch(t,{cache:e,project:r,fetcher:I,checksums:n,report:u});v.push(()=>F.releaseFs?.()),x=F,C=F}else x=await I.fetch(t,{cache:e,project:r,fetcher:I,checksums:n,report:u}),v.push(()=>x.releaseFs?.()),C=await I.fetch(t,{cache:e,project:r,fetcher:I,checksums:n,report:u}),v.push(()=>C.releaseFs?.());await Promise.all([oe.copyPromise(p,x.prefixPath,{baseFs:x.packageFs}),oe.copyPromise(h,C.prefixPath,{baseFs:C.packageFs}),oe.writeJsonPromise(E,{locator:j.stringifyLocator(t),version:o.version})])}finally{for(let x of v)x()}return oe.detachTemp(A),h}async function kj(t,e){let r=ue.fromPortablePath(t).replace(/\\/g,"/"),o=ue.fromPortablePath(e).replace(/\\/g,"/"),{stdout:a,stderr:n}=await Ur.execvp("git",["-c","core.safecrlf=false","diff","--src-prefix=a/","--dst-prefix=b/","--ignore-cr-at-eol","--full-index","--no-index","--no-renames","--text",r,o],{cwd:ue.toPortablePath(process.cwd()),env:{...process.env,GIT_CONFIG_NOSYSTEM:"1",HOME:"",XDG_CONFIG_HOME:"",USERPROFILE:""}});if(n.length>0)throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH. +The following error was reported by 'git': +${n}`);let u=r.startsWith("/")?A=>A.slice(1):A=>A;return a.replace(new RegExp(`(a|b)(${He.escapeRegExp(`/${u(r)}/`)})`,"g"),"$1/").replace(new RegExp(`(a|b)${He.escapeRegExp(`/${u(o)}/`)}`,"g"),"$1/").replace(new RegExp(He.escapeRegExp(`${r}/`),"g"),"").replace(new RegExp(He.escapeRegExp(`${o}/`),"g"),"")}function Qj(t,e){let r=[];for(let{source:o}of t){if(o===null)continue;let a=Nv(o);for(let n of a){let{semverExclusivity:u,...A}=n;u!==null&&e!==null&&!Lr.satisfiesWithPrereleases(e,u)||r.push(JSON.stringify(A))}}return wn.makeHash(`${3}`,...r).slice(0,6)}je();function QBe(t,{configuration:e,report:r}){for(let o of t.parts)for(let a of o.lines)switch(o.type){case"context":r.reportInfo(null,` ${pe.pretty(e,a,"grey")}`);break;case"deletion":r.reportError(28,`- ${pe.pretty(e,a,pe.Type.REMOVED)}`);break;case"insertion":r.reportError(28,`+ ${pe.pretty(e,a,pe.Type.ADDED)}`);break;default:He.assertNever(o.type)}}var _v=class{supports(e,r){return!!X0(e)}getLocalPath(e,r){return null}async fetch(e,r){let o=r.checksums.get(e.locatorHash)||null,[a,n,u]=await r.cache.fetchPackageFromCache(e,o,{onHit:()=>r.report.reportCacheHit(e),onMiss:()=>r.report.reportCacheMiss(e,`${j.prettyLocator(r.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(e,r),...r.cacheOptions});return{packageFs:a,releaseFs:n,prefixPath:j.getIdentVendorPath(e),localPath:this.getLocalPath(e,r),checksum:u}}async patchPackage(e,r){let{parentLocator:o,sourceLocator:a,sourceVersion:n,patchPaths:u}=Mv(e),A=await Uv(o,u,r),p=await oe.mktempPromise(),h=z.join(p,"current.zip"),E=await r.fetcher.fetch(a,r),I=j.getIdentVendorPath(e),v=new Xi(h,{create:!0,level:r.project.configuration.get("compressionLevel")});await He.releaseAfterUseAsync(async()=>{await v.copyPromise(I,E.prefixPath,{baseFs:E.packageFs,stableSort:!0})},E.releaseFs),v.saveAndClose();for(let{source:x,optional:C}of A){if(x===null)continue;let F=new Xi(h,{level:r.project.configuration.get("compressionLevel")}),N=new gn(z.resolve(Bt.root,I),{baseFs:F});try{await rR(Nv(x),{baseFs:N,version:n})}catch(U){if(!(U instanceof lw))throw U;let J=r.project.configuration.get("enableInlineHunks"),te=!J&&!C?" (set enableInlineHunks for details)":"",ae=`${j.prettyLocator(r.project.configuration,e)}: ${U.message}${te}`,le=ce=>{!J||QBe(U.hunk,{configuration:r.project.configuration,report:ce})};if(F.discardAndClose(),C){r.report.reportWarningOnce(66,ae,{reportExtra:le});continue}else throw new Vt(66,ae,le)}F.saveAndClose()}return new Xi(h,{level:r.project.configuration.get("compressionLevel")})}};je();var Hv=class{supportsDescriptor(e,r){return!!nR(e)}supportsLocator(e,r){return!!X0(e)}shouldPersistResolution(e,r){return!1}bindDescriptor(e,r,o){let{patchPaths:a}=Ov(e);return a.every(n=>!bj(n))?e:j.bindDescriptor(e,{locator:j.stringifyLocator(r)})}getResolutionDependencies(e,r){let{sourceDescriptor:o}=Ov(e);return{sourceDescriptor:r.project.configuration.normalizeDependency(o)}}async getCandidates(e,r,o){if(!o.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");let{parentLocator:a,patchPaths:n}=Ov(e),u=await Uv(a,n,o.fetchOptions),A=r.sourceDescriptor;if(typeof A>"u")throw new Error("Assertion failed: The dependency should have been resolved");let p=Qj(u,A.version);return[Sj(e,{parentLocator:a,sourcePackage:A,patchPaths:n,patchHash:p})]}async getSatisfying(e,r,o,a){let[n]=await this.getCandidates(e,r,a);return{locators:o.filter(u=>u.locatorHash===n.locatorHash),sorted:!1}}async resolve(e,r){let{sourceLocator:o}=Mv(e);return{...await r.resolver.resolve(o,r),...e}}};je();Dt();qt();var Z0=class extends ut{constructor(){super(...arguments);this.save=ge.Boolean("-s,--save",!1,{description:"Add the patch to your resolution entries"});this.patchFolder=ge.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new sr(o.cwd,this.context.cwd);await o.restoreInstallState();let n=z.resolve(this.context.cwd,ue.toPortablePath(this.patchFolder)),u=z.join(n,"../source"),A=z.join(n,"../.yarn-patch.json");if(!oe.existsSync(u))throw new st("The argument folder didn't get created by 'yarn patch'");let p=await kj(u,n),h=await oe.readJsonPromise(A),E=j.parseLocator(h.locator,!0);if(!o.storedPackages.has(E.locatorHash))throw new st("No package found in the project for the given locator");if(!this.save){this.context.stdout.write(p);return}let I=r.get("patchFolder"),v=z.join(I,`${j.slugifyLocator(E)}.patch`);await oe.mkdirPromise(I,{recursive:!0}),await oe.writeFilePromise(v,p);let x=[],C=new Map;for(let F of o.storedPackages.values()){if(j.isVirtualLocator(F))continue;let N=F.dependencies.get(E.identHash);if(!N)continue;let U=j.ensureDevirtualizedDescriptor(N),J=Dj(U),te=o.storedResolutions.get(J.descriptorHash);if(!te)throw new Error("Assertion failed: Expected the resolution to have been registered");if(!o.storedPackages.get(te))throw new Error("Assertion failed: Expected the package to have been registered");let le=o.tryWorkspaceByLocator(F);if(le)x.push(le);else{let ce=o.originalPackages.get(F.locatorHash);if(!ce)throw new Error("Assertion failed: Expected the original package to have been registered");let we=ce.dependencies.get(N.identHash);if(!we)throw new Error("Assertion failed: Expected the original dependency to have been registered");C.set(we.descriptorHash,we)}}for(let F of x)for(let N of Ot.hardDependencies){let U=F.manifest[N].get(E.identHash);if(!U)continue;let J=sR(U,{parentLocator:null,sourceDescriptor:j.convertLocatorToDescriptor(E),patchPaths:[z.join(dr.home,z.relative(o.cwd,v))]});F.manifest[N].set(U.identHash,J)}for(let F of C.values()){let N=sR(F,{parentLocator:null,sourceDescriptor:j.convertLocatorToDescriptor(E),patchPaths:[z.join(dr.home,z.relative(o.cwd,v))]});o.topLevelWorkspace.manifest.resolutions.push({pattern:{descriptor:{fullName:j.stringifyIdent(N),description:F.range}},reference:N.range})}await o.persist()}};Z0.paths=[["patch-commit"]],Z0.usage=it.Usage({description:"generate a patch out of a directory",details:"\n By default, this will print a patchfile on stdout based on the diff between the folder passed in and the original version of the package. Such file is suitable for consumption with the `patch:` protocol.\n\n With the `-s,--save` option set, the patchfile won't be printed on stdout anymore and will instead be stored within a local file (by default kept within `.yarn/patches`, but configurable via the `patchFolder` setting). A `resolutions` entry will also be added to your top-level manifest, referencing the patched package via the `patch:` protocol.\n\n Note that only folders generated by `yarn patch` are accepted as valid input for `yarn patch-commit`.\n "});je();Dt();qt();var $0=class extends ut{constructor(){super(...arguments);this.update=ge.Boolean("-u,--update",!1,{description:"Reapply local patches that already apply to this packages"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.package=ge.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Nr.find(r);if(!a)throw new sr(o.cwd,this.context.cwd);await o.restoreInstallState();let u=j.parseLocator(this.package);if(u.reference==="unknown"){let A=He.mapAndFilter([...o.storedPackages.values()],p=>p.identHash!==u.identHash?He.mapAndFilter.skip:j.isVirtualLocator(p)?He.mapAndFilter.skip:X0(p)!==this.update?He.mapAndFilter.skip:p);if(A.length===0)throw new st("No package found in the project for the given locator");if(A.length>1)throw new st(`Multiple candidate packages found; explicitly choose one of them (use \`yarn why \` to get more information as to who depends on them): +${A.map(p=>` +- ${j.prettyLocator(r,p)}`).join("")}`);u=A[0]}if(!o.storedPackages.has(u.locatorHash))throw new st("No package found in the project for the given locator");await Ft.start({configuration:r,json:this.json,stdout:this.context.stdout},async A=>{let p=iR(u),h=await xj(u,{cache:n,project:o});A.reportJson({locator:j.stringifyLocator(p),path:ue.fromPortablePath(h)});let E=this.update?" along with its current modifications":"";A.reportInfo(0,`Package ${j.prettyLocator(r,p)} got extracted with success${E}!`),A.reportInfo(0,`You can now edit the following folder: ${pe.pretty(r,ue.fromPortablePath(h),"magenta")}`),A.reportInfo(0,`Once you are done run ${pe.pretty(r,`yarn patch-commit -s ${process.platform==="win32"?'"':""}${ue.fromPortablePath(h)}${process.platform==="win32"?'"':""}`,"cyan")} and Yarn will store a patchfile based on your changes.`)})}};$0.paths=[["patch"]],$0.usage=it.Usage({description:"prepare a package for patching",details:"\n This command will cause a package to be extracted in a temporary directory intended to be editable at will.\n\n Once you're done with your changes, run `yarn patch-commit -s path` (with `path` being the temporary directory you received) to generate a patchfile and register it into your top-level manifest via the `patch:` protocol. Run `yarn patch-commit -h` for more details.\n\n Calling the command when you already have a patch won't import it by default (in other words, the default behavior is to reset existing patches). However, adding the `-u,--update` flag will import any current patch.\n "});var cPt={configuration:{enableInlineHunks:{description:"If true, the installs will print unmatched patch hunks",type:"BOOLEAN",default:!1},patchFolder:{description:"Folder where the patch files must be written",type:"ABSOLUTE_PATH",default:"./.yarn/patches"}},commands:[Z0,$0],fetchers:[_v],resolvers:[Hv]},uPt=cPt;var Lj={};zt(Lj,{PnpmLinker:()=>qv,default:()=>gPt});je();Dt();qt();var qv=class{getCustomDataKey(){return JSON.stringify({name:"PnpmLinker",version:3})}supportsPackage(e,r){return this.isEnabled(r)}async findPackageLocation(e,r){if(!this.isEnabled(r))throw new Error("Assertion failed: Expected the pnpm linker to be enabled");let o=this.getCustomDataKey(),a=r.project.linkersCustomData.get(o);if(!a)throw new st(`The project in ${pe.pretty(r.project.configuration,`${r.project.cwd}/package.json`,pe.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=a.pathsByLocator.get(e.locatorHash);if(typeof n>"u")throw new st(`Couldn't find ${j.prettyLocator(r.project.configuration,e)} in the currently installed pnpm map - running an install might help`);return n.packageLocation}async findPackageLocator(e,r){if(!this.isEnabled(r))return null;let o=this.getCustomDataKey(),a=r.project.linkersCustomData.get(o);if(!a)throw new st(`The project in ${pe.pretty(r.project.configuration,`${r.project.cwd}/package.json`,pe.Type.PATH)} doesn't seem to have been installed - running an install there might help`);let n=e.match(/(^.*\/node_modules\/(@[^/]*\/)?[^/]+)(\/.*$)/);if(n){let p=a.locatorByPath.get(n[1]);if(p)return p}let u=e,A=e;do{A=u,u=z.dirname(A);let p=a.locatorByPath.get(A);if(p)return p}while(u!==A);return null}makeInstaller(e){return new Fj(e)}isEnabled(e){return e.project.configuration.get("nodeLinker")==="pnpm"}},Fj=class{constructor(e){this.opts=e;this.asyncActions=new He.AsyncActions(10);this.customData={pathsByLocator:new Map,locatorByPath:new Map};this.indexFolderPromise=SP(oe,{indexPath:z.join(e.project.configuration.get("globalFolder"),"index")})}attachCustomData(e){}async installPackage(e,r,o){switch(e.linkType){case"SOFT":return this.installPackageSoft(e,r,o);case"HARD":return this.installPackageHard(e,r,o)}throw new Error("Assertion failed: Unsupported package link type")}async installPackageSoft(e,r,o){let a=z.resolve(r.packageFs.getRealPath(),r.prefixPath),n=this.opts.project.tryWorkspaceByLocator(e)?z.join(a,dr.nodeModules):null;return this.customData.pathsByLocator.set(e.locatorHash,{packageLocation:a,dependenciesLocation:n}),{packageLocation:a,buildRequest:null}}async installPackageHard(e,r,o){let a=APt(e,{project:this.opts.project}),n=a.packageLocation;this.customData.locatorByPath.set(n,j.stringifyLocator(e)),this.customData.pathsByLocator.set(e.locatorHash,a),o.holdFetchResult(this.asyncActions.set(e.locatorHash,async()=>{await oe.mkdirPromise(n,{recursive:!0}),await oe.copyPromise(n,r.prefixPath,{baseFs:r.packageFs,overwrite:!1,linkStrategy:{type:"HardlinkFromIndex",indexPath:await this.indexFolderPromise,autoRepair:!0}})}));let A=j.isVirtualLocator(e)?j.devirtualizeLocator(e):e,p={manifest:await Ot.tryFind(r.prefixPath,{baseFs:r.packageFs})??new Ot,misc:{hasBindingGyp:yA.hasBindingGyp(r)}},h=this.opts.project.getDependencyMeta(A,e.version),E=yA.extractBuildRequest(e,p,h,{configuration:this.opts.project.configuration});return{packageLocation:n,buildRequest:E}}async attachInternalDependencies(e,r){if(this.opts.project.configuration.get("nodeLinker")!=="pnpm"||!RBe(e,{project:this.opts.project}))return;let o=this.customData.pathsByLocator.get(e.locatorHash);if(typeof o>"u")throw new Error(`Assertion failed: Expected the package to have been registered (${j.stringifyLocator(e)})`);let{dependenciesLocation:a}=o;!a||this.asyncActions.reduce(e.locatorHash,async n=>{await oe.mkdirPromise(a,{recursive:!0});let u=await fPt(a),A=new Map(u),p=[n],h=(I,v)=>{let x=v;RBe(v,{project:this.opts.project})||(this.opts.report.reportWarningOnce(0,"The pnpm linker doesn't support providing different versions to workspaces' peer dependencies"),x=j.devirtualizeLocator(v));let C=this.customData.pathsByLocator.get(x.locatorHash);if(typeof C>"u")throw new Error(`Assertion failed: Expected the package to have been registered (${j.stringifyLocator(v)})`);let F=j.stringifyIdent(I),N=z.join(a,F),U=z.relative(z.dirname(N),C.packageLocation),J=A.get(F);A.delete(F),p.push(Promise.resolve().then(async()=>{if(J){if(J.isSymbolicLink()&&await oe.readlinkPromise(N)===U)return;await oe.removePromise(N)}await oe.mkdirpPromise(z.dirname(N)),process.platform=="win32"&&this.opts.project.configuration.get("winLinkType")==="junctions"?await oe.symlinkPromise(C.packageLocation,N,"junction"):await oe.symlinkPromise(U,N)}))},E=!1;for(let[I,v]of r)I.identHash===e.identHash&&(E=!0),h(I,v);!E&&!this.opts.project.tryWorkspaceByLocator(e)&&h(j.convertLocatorToDescriptor(e),e),p.push(pPt(a,A)),await Promise.all(p)})}async attachExternalDependents(e,r){throw new Error("External dependencies haven't been implemented for the pnpm linker")}async finalizeInstall(){let e=TBe(this.opts.project);if(this.opts.project.configuration.get("nodeLinker")!=="pnpm")await oe.removePromise(e);else{let r;try{r=new Set(await oe.readdirPromise(e))}catch{r=new Set}for(let{dependenciesLocation:o}of this.customData.pathsByLocator.values()){if(!o)continue;let a=z.contains(e,o);if(a===null)continue;let[n]=a.split(z.sep);r.delete(n)}await Promise.all([...r].map(async o=>{await oe.removePromise(z.join(e,o))}))}return await this.asyncActions.wait(),await Tj(e),this.opts.project.configuration.get("nodeLinker")!=="node-modules"&&await Tj(FBe(this.opts.project)),{customData:this.customData}}};function FBe(t){return z.join(t.cwd,dr.nodeModules)}function TBe(t){return z.join(FBe(t),".store")}function APt(t,{project:e}){let r=j.slugifyLocator(t),o=TBe(e),a=z.join(o,r,"package"),n=z.join(o,r,dr.nodeModules);return{packageLocation:a,dependenciesLocation:n}}function RBe(t,{project:e}){return!j.isVirtualLocator(t)||!e.tryWorkspaceByLocator(t)}async function fPt(t){let e=new Map,r=[];try{r=await oe.readdirPromise(t,{withFileTypes:!0})}catch(o){if(o.code!=="ENOENT")throw o}try{for(let o of r)if(!o.name.startsWith("."))if(o.name.startsWith("@")){let a=await oe.readdirPromise(z.join(t,o.name),{withFileTypes:!0});if(a.length===0)e.set(o.name,o);else for(let n of a)e.set(`${o.name}/${n.name}`,n)}else e.set(o.name,o)}catch(o){if(o.code!=="ENOENT")throw o}return e}async function pPt(t,e){let r=[],o=new Set;for(let a of e.keys()){r.push(oe.removePromise(z.join(t,a)));let n=j.tryParseIdent(a)?.scope;n&&o.add(`@${n}`)}return Promise.all(r).then(()=>Promise.all([...o].map(a=>Tj(z.join(t,a)))))}async function Tj(t){try{await oe.rmdirPromise(t)}catch(e){if(e.code!=="ENOENT"&&e.code!=="ENOTEMPTY")throw e}}var hPt={linkers:[qv]},gPt=hPt;var qj={};zt(qj,{StageCommand:()=>eg,default:()=>DPt,stageUtils:()=>aR});je();Dt();qt();je();Dt();var aR={};zt(aR,{ActionType:()=>Nj,checkConsensus:()=>oR,expandDirectory:()=>Uj,findConsensus:()=>_j,findVcsRoot:()=>Oj,genCommitMessage:()=>Hj,getCommitPrefix:()=>LBe,isYarnFile:()=>Mj});Dt();var Nj=(n=>(n[n.CREATE=0]="CREATE",n[n.DELETE=1]="DELETE",n[n.ADD=2]="ADD",n[n.REMOVE=3]="REMOVE",n[n.MODIFY=4]="MODIFY",n))(Nj||{});async function Oj(t,{marker:e}){do if(!oe.existsSync(z.join(t,e)))t=z.dirname(t);else return t;while(t!=="/");return null}function Mj(t,{roots:e,names:r}){if(r.has(z.basename(t)))return!0;do if(!e.has(t))t=z.dirname(t);else return!0;while(t!=="/");return!1}function Uj(t){let e=[],r=[t];for(;r.length>0;){let o=r.pop(),a=oe.readdirSync(o);for(let n of a){let u=z.resolve(o,n);oe.lstatSync(u).isDirectory()?r.push(u):e.push(u)}}return e}function oR(t,e){let r=0,o=0;for(let a of t)a!=="wip"&&(e.test(a)?r+=1:o+=1);return r>=o}function _j(t){let e=oR(t,/^(\w\(\w+\):\s*)?\w+s/),r=oR(t,/^(\w\(\w+\):\s*)?[A-Z]/),o=oR(t,/^\w\(\w+\):/);return{useThirdPerson:e,useUpperCase:r,useComponent:o}}function LBe(t){return t.useComponent?"chore(yarn): ":""}var dPt=new Map([[0,"create"],[1,"delete"],[2,"add"],[3,"remove"],[4,"update"]]);function Hj(t,e){let r=LBe(t),o=[],a=e.slice().sort((n,u)=>n[0]-u[0]);for(;a.length>0;){let[n,u]=a.shift(),A=dPt.get(n);t.useUpperCase&&o.length===0&&(A=`${A[0].toUpperCase()}${A.slice(1)}`),t.useThirdPerson&&(A+="s");let p=[u];for(;a.length>0&&a[0][0]===n;){let[,E]=a.shift();p.push(E)}p.sort();let h=p.shift();p.length===1?h+=" (and one other)":p.length>1&&(h+=` (and ${p.length} others)`),o.push(`${A} ${h}`)}return`${r}${o.join(", ")}`}var mPt="Commit generated via `yarn stage`",yPt=11;async function NBe(t){let{code:e,stdout:r}=await Ur.execvp("git",["log","-1","--pretty=format:%H"],{cwd:t});return e===0?r.trim():null}async function EPt(t,e){let r=[],o=e.filter(h=>z.basename(h.path)==="package.json");for(let{action:h,path:E}of o){let I=z.relative(t,E);if(h===4){let v=await NBe(t),{stdout:x}=await Ur.execvp("git",["show",`${v}:${I}`],{cwd:t,strict:!0}),C=await Ot.fromText(x),F=await Ot.fromFile(E),N=new Map([...F.dependencies,...F.devDependencies]),U=new Map([...C.dependencies,...C.devDependencies]);for(let[J,te]of U){let ae=j.stringifyIdent(te),le=N.get(J);le?le.range!==te.range&&r.push([4,`${ae} to ${le.range}`]):r.push([3,ae])}for(let[J,te]of N)U.has(J)||r.push([2,j.stringifyIdent(te)])}else if(h===0){let v=await Ot.fromFile(E);v.name?r.push([0,j.stringifyIdent(v.name)]):r.push([0,"a package"])}else if(h===1){let v=await NBe(t),{stdout:x}=await Ur.execvp("git",["show",`${v}:${I}`],{cwd:t,strict:!0}),C=await Ot.fromText(x);C.name?r.push([1,j.stringifyIdent(C.name)]):r.push([1,"a package"])}else throw new Error("Assertion failed: Unsupported action type")}let{code:a,stdout:n}=await Ur.execvp("git",["log",`-${yPt}`,"--pretty=format:%s"],{cwd:t}),u=a===0?n.split(/\n/g).filter(h=>h!==""):[],A=_j(u);return Hj(A,r)}var CPt={[0]:[" A ","?? "],[4]:[" M "],[1]:[" D "]},wPt={[0]:["A "],[4]:["M "],[1]:["D "]},OBe={async findRoot(t){return await Oj(t,{marker:".git"})},async filterChanges(t,e,r,o){let{stdout:a}=await Ur.execvp("git",["status","-s"],{cwd:t,strict:!0}),n=a.toString().split(/\n/g),u=o?.staged?wPt:CPt;return[].concat(...n.map(p=>{if(p==="")return[];let h=p.slice(0,3),E=z.resolve(t,p.slice(3));if(!o?.staged&&h==="?? "&&p.endsWith("/"))return Uj(E).map(I=>({action:0,path:I}));{let v=[0,4,1].find(x=>u[x].includes(h));return v!==void 0?[{action:v,path:E}]:[]}})).filter(p=>Mj(p.path,{roots:e,names:r}))},async genCommitMessage(t,e){return await EPt(t,e)},async makeStage(t,e){let r=e.map(o=>ue.fromPortablePath(o.path));await Ur.execvp("git",["add","--",...r],{cwd:t,strict:!0})},async makeCommit(t,e,r){let o=e.map(a=>ue.fromPortablePath(a.path));await Ur.execvp("git",["add","-N","--",...o],{cwd:t,strict:!0}),await Ur.execvp("git",["commit","-m",`${r} + +${mPt} +`,"--",...o],{cwd:t,strict:!0})},async makeReset(t,e){let r=e.map(o=>ue.fromPortablePath(o.path));await Ur.execvp("git",["reset","HEAD","--",...r],{cwd:t,strict:!0})}};var IPt=[OBe],eg=class extends ut{constructor(){super(...arguments);this.commit=ge.Boolean("-c,--commit",!1,{description:"Commit the staged files"});this.reset=ge.Boolean("-r,--reset",!1,{description:"Remove all files from the staging area"});this.dryRun=ge.Boolean("-n,--dry-run",!1,{description:"Print the commit message and the list of modified files without staging / committing"});this.update=ge.Boolean("-u,--update",!1,{hidden:!0})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o}=await St.find(r,this.context.cwd),{driver:a,root:n}=await BPt(o.cwd),u=[r.get("cacheFolder"),r.get("globalFolder"),r.get("virtualFolder"),r.get("yarnPath")];await r.triggerHook(I=>I.populateYarnPaths,o,I=>{u.push(I)});let A=new Set;for(let I of u)for(let v of vPt(n,I))A.add(v);let p=new Set([r.get("rcFilename"),dr.lockfile,dr.manifest]),h=await a.filterChanges(n,A,p),E=await a.genCommitMessage(n,h);if(this.dryRun)if(this.commit)this.context.stdout.write(`${E} +`);else for(let I of h)this.context.stdout.write(`${ue.fromPortablePath(I.path)} +`);else if(this.reset){let I=await a.filterChanges(n,A,p,{staged:!0});I.length===0?this.context.stdout.write("No staged changes found!"):await a.makeReset(n,I)}else h.length===0?this.context.stdout.write("No changes found!"):this.commit?await a.makeCommit(n,h,E):(await a.makeStage(n,h),this.context.stdout.write(E))}};eg.paths=[["stage"]],eg.usage=it.Usage({description:"add all yarn files to your vcs",details:"\n This command will add to your staging area the files belonging to Yarn (typically any modified `package.json` and `.yarnrc.yml` files, but also linker-generated files, cache data, etc). It will take your ignore list into account, so the cache files won't be added if the cache is ignored in a `.gitignore` file (assuming you use Git).\n\n Running `--reset` will instead remove them from the staging area (the changes will still be there, but won't be committed until you stage them back).\n\n Since the staging area is a non-existent concept in Mercurial, Yarn will always create a new commit when running this command on Mercurial repositories. You can get this behavior when using Git by using the `--commit` flag which will directly create a commit.\n ",examples:[["Adds all modified project files to the staging area","yarn stage"],["Creates a new commit containing all modified project files","yarn stage --commit"]]});async function BPt(t){let e=null,r=null;for(let o of IPt)if((r=await o.findRoot(t))!==null){e=o;break}if(e===null||r===null)throw new st("No stage driver has been found for your current project");return{driver:e,root:r}}function vPt(t,e){let r=[];if(e===null)return r;for(;;){(e===t||e.startsWith(`${t}/`))&&r.push(e);let o;try{o=oe.statSync(e)}catch{break}if(o.isSymbolicLink())e=z.resolve(z.dirname(e),oe.readlinkSync(e));else break}return r}var PPt={commands:[eg]},DPt=PPt;var Gj={};zt(Gj,{default:()=>TPt});je();je();Dt();var _Be=Ze(Vn());je();var MBe=Ze(VH()),SPt="e8e1bd300d860104bb8c58453ffa1eb4",bPt="OFCNCOG2CU",UBe=async(t,e)=>{let r=j.stringifyIdent(t),a=xPt(e).initIndex("npm-search");try{return(await a.getObject(r,{attributesToRetrieve:["types"]})).types?.ts==="definitely-typed"}catch{return!1}},xPt=t=>(0,MBe.default)(bPt,SPt,{requester:{async send(r){try{let o=await sn.request(r.url,r.data||null,{configuration:t,headers:r.headers});return{content:o.body,isTimedOut:!1,status:o.statusCode}}catch(o){return{content:o.response.body,isTimedOut:!1,status:o.response.statusCode}}}}});var HBe=t=>t.scope?`${t.scope}__${t.name}`:`${t.name}`,kPt=async(t,e,r,o)=>{if(r.scope==="types")return;let{project:a}=t,{configuration:n}=a;if(!(n.get("tsEnableAutoTypes")??(oe.existsSync(z.join(t.cwd,"tsconfig.json"))||oe.existsSync(z.join(a.cwd,"tsconfig.json")))))return;let A=n.makeResolver(),p={project:a,resolver:A,report:new Qi};if(!await UBe(r,n))return;let E=HBe(r),I=j.parseRange(r.range).selector;if(!Lr.validRange(I)){let N=n.normalizeDependency(r),U=await A.getCandidates(N,{},p);I=j.parseRange(U[0].reference).selector}let v=_Be.default.coerce(I);if(v===null)return;let x=`${Xc.Modifier.CARET}${v.major}`,C=j.makeDescriptor(j.makeIdent("types",E),x),F=He.mapAndFind(a.workspaces,N=>{let U=N.manifest.dependencies.get(r.identHash)?.descriptorHash,J=N.manifest.devDependencies.get(r.identHash)?.descriptorHash;if(U!==r.descriptorHash&&J!==r.descriptorHash)return He.mapAndFind.skip;let te=[];for(let ae of Ot.allDependencies){let le=N.manifest[ae].get(C.identHash);typeof le>"u"||te.push([ae,le])}return te.length===0?He.mapAndFind.skip:te});if(typeof F<"u")for(let[N,U]of F)t.manifest[N].set(U.identHash,U);else{try{let N=n.normalizeDependency(C);if((await A.getCandidates(N,{},p)).length===0)return}catch{return}t.manifest[Xc.Target.DEVELOPMENT].set(C.identHash,C)}},QPt=async(t,e,r)=>{if(r.scope==="types")return;let{project:o}=t,{configuration:a}=o;if(!(a.get("tsEnableAutoTypes")??(oe.existsSync(z.join(t.cwd,"tsconfig.json"))||oe.existsSync(z.join(o.cwd,"tsconfig.json")))))return;let u=HBe(r),A=j.makeIdent("types",u);for(let p of Ot.allDependencies)typeof t.manifest[p].get(A.identHash)>"u"||t.manifest[p].delete(A.identHash)},RPt=(t,e)=>{e.publishConfig&&e.publishConfig.typings&&(e.typings=e.publishConfig.typings),e.publishConfig&&e.publishConfig.types&&(e.types=e.publishConfig.types)},FPt={configuration:{tsEnableAutoTypes:{description:"Whether Yarn should auto-install @types/ dependencies on 'yarn add'",type:"BOOLEAN",isNullable:!0,default:null}},hooks:{afterWorkspaceDependencyAddition:kPt,afterWorkspaceDependencyRemoval:QPt,beforeWorkspacePacking:RPt}},TPt=FPt;var zj={};zt(zj,{VersionApplyCommand:()=>tg,VersionCheckCommand:()=>rg,VersionCommand:()=>ng,default:()=>$Pt,versionUtils:()=>hw});je();je();qt();var hw={};zt(hw,{Decision:()=>fw,applyPrerelease:()=>KBe,applyReleases:()=>Kj,applyStrategy:()=>cR,clearVersionFiles:()=>jj,getUndecidedDependentWorkspaces:()=>jv,getUndecidedWorkspaces:()=>lR,openVersionFile:()=>pw,requireMoreDecisions:()=>VPt,resolveVersionFiles:()=>Gv,suggestStrategy:()=>Wj,updateVersionFiles:()=>Yj,validateReleaseDecision:()=>Aw});je();Dt();Nl();qt();var WBe=Ze(YBe()),vA=Ze(Vn()),JPt=/^(>=|[~^]|)(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(-(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(\.(0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*)?(\+[0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*)?$/,fw=(u=>(u.UNDECIDED="undecided",u.DECLINE="decline",u.MAJOR="major",u.MINOR="minor",u.PATCH="patch",u.PRERELEASE="prerelease",u))(fw||{});function Aw(t){let e=vA.default.valid(t);return e||He.validateEnum((0,WBe.default)(fw,"UNDECIDED"),t)}async function Gv(t,{prerelease:e=null}={}){let r=new Map,o=t.configuration.get("deferredVersionFolder");if(!oe.existsSync(o))return r;let a=await oe.readdirPromise(o);for(let n of a){if(!n.endsWith(".yml"))continue;let u=z.join(o,n),A=await oe.readFilePromise(u,"utf8"),p=Ki(A);for(let[h,E]of Object.entries(p.releases||{})){if(E==="decline")continue;let I=j.parseIdent(h),v=t.tryWorkspaceByIdent(I);if(v===null)throw new Error(`Assertion failed: Expected a release definition file to only reference existing workspaces (${z.basename(u)} references ${h})`);if(v.manifest.version===null)throw new Error(`Assertion failed: Expected the workspace to have a version (${j.prettyLocator(t.configuration,v.anchoredLocator)})`);let x=v.manifest.raw.stableVersion??v.manifest.version,C=r.get(v),F=cR(x,Aw(E));if(F===null)throw new Error(`Assertion failed: Expected ${x} to support being bumped via strategy ${E}`);let N=typeof C<"u"?vA.default.gt(F,C)?F:C:F;r.set(v,N)}}return e&&(r=new Map([...r].map(([n,u])=>[n,KBe(u,{current:n.manifest.version,prerelease:e})]))),r}async function jj(t){let e=t.configuration.get("deferredVersionFolder");!oe.existsSync(e)||await oe.removePromise(e)}async function Yj(t,e){let r=new Set(e),o=t.configuration.get("deferredVersionFolder");if(!oe.existsSync(o))return;let a=await oe.readdirPromise(o);for(let n of a){if(!n.endsWith(".yml"))continue;let u=z.join(o,n),A=await oe.readFilePromise(u,"utf8"),p=Ki(A),h=p?.releases;if(!!h){for(let E of Object.keys(h)){let I=j.parseIdent(E),v=t.tryWorkspaceByIdent(I);(v===null||r.has(v))&&delete p.releases[E]}Object.keys(p.releases).length>0?await oe.changeFilePromise(u,Ba(new Ba.PreserveOrdering(p))):await oe.unlinkPromise(u)}}}async function pw(t,{allowEmpty:e=!1}={}){let r=t.configuration;if(r.projectCwd===null)throw new st("This command can only be run from within a Yarn project");let o=await ra.fetchRoot(r.projectCwd),a=o!==null?await ra.fetchBase(o,{baseRefs:r.get("changesetBaseRefs")}):null,n=o!==null?await ra.fetchChangedFiles(o,{base:a.hash,project:t}):[],u=r.get("deferredVersionFolder"),A=n.filter(x=>z.contains(u,x)!==null);if(A.length>1)throw new st(`Your current branch contains multiple versioning files; this isn't supported: +- ${A.map(x=>ue.fromPortablePath(x)).join(` +- `)}`);let p=new Set(He.mapAndFilter(n,x=>{let C=t.tryWorkspaceByFilePath(x);return C===null?He.mapAndFilter.skip:C}));if(A.length===0&&p.size===0&&!e)return null;let h=A.length===1?A[0]:z.join(u,`${wn.makeHash(Math.random().toString()).slice(0,8)}.yml`),E=oe.existsSync(h)?await oe.readFilePromise(h,"utf8"):"{}",I=Ki(E),v=new Map;for(let x of I.declined||[]){let C=j.parseIdent(x),F=t.getWorkspaceByIdent(C);v.set(F,"decline")}for(let[x,C]of Object.entries(I.releases||{})){let F=j.parseIdent(x),N=t.getWorkspaceByIdent(F);v.set(N,Aw(C))}return{project:t,root:o,baseHash:a!==null?a.hash:null,baseTitle:a!==null?a.title:null,changedFiles:new Set(n),changedWorkspaces:p,releaseRoots:new Set([...p].filter(x=>x.manifest.version!==null)),releases:v,async saveAll(){let x={},C=[],F=[];for(let N of t.workspaces){if(N.manifest.version===null)continue;let U=j.stringifyIdent(N.anchoredLocator),J=v.get(N);J==="decline"?C.push(U):typeof J<"u"?x[U]=Aw(J):p.has(N)&&F.push(U)}await oe.mkdirPromise(z.dirname(h),{recursive:!0}),await oe.changeFilePromise(h,Ba(new Ba.PreserveOrdering({releases:Object.keys(x).length>0?x:void 0,declined:C.length>0?C:void 0,undecided:F.length>0?F:void 0})))}}}function VPt(t){return lR(t).size>0||jv(t).length>0}function lR(t){let e=new Set;for(let r of t.changedWorkspaces)r.manifest.version!==null&&(t.releases.has(r)||e.add(r));return e}function jv(t,{include:e=new Set}={}){let r=[],o=new Map(He.mapAndFilter([...t.releases],([n,u])=>u==="decline"?He.mapAndFilter.skip:[n.anchoredLocator.locatorHash,n])),a=new Map(He.mapAndFilter([...t.releases],([n,u])=>u!=="decline"?He.mapAndFilter.skip:[n.anchoredLocator.locatorHash,n]));for(let n of t.project.workspaces)if(!(!e.has(n)&&(a.has(n.anchoredLocator.locatorHash)||o.has(n.anchoredLocator.locatorHash)))&&n.manifest.version!==null)for(let u of Ot.hardDependencies)for(let A of n.manifest.getForScope(u).values()){let p=t.project.tryWorkspaceByDescriptor(A);p!==null&&o.has(p.anchoredLocator.locatorHash)&&r.push([n,p])}return r}function Wj(t,e){let r=vA.default.clean(e);for(let o of Object.values(fw))if(o!=="undecided"&&o!=="decline"&&vA.default.inc(t,o)===r)return o;return null}function cR(t,e){if(vA.default.valid(e))return e;if(t===null)throw new st(`Cannot apply the release strategy "${e}" unless the workspace already has a valid version`);if(!vA.default.valid(t))throw new st(`Cannot apply the release strategy "${e}" on a non-semver version (${t})`);let r=vA.default.inc(t,e);if(r===null)throw new st(`Cannot apply the release strategy "${e}" on the specified version (${t})`);return r}function Kj(t,e,{report:r}){let o=new Map;for(let a of t.workspaces)for(let n of Ot.allDependencies)for(let u of a.manifest[n].values()){let A=t.tryWorkspaceByDescriptor(u);if(A===null||!e.has(A))continue;He.getArrayWithDefault(o,A).push([a,n,u.identHash])}for(let[a,n]of e){let u=a.manifest.version;a.manifest.version=n,vA.default.prerelease(n)===null?delete a.manifest.raw.stableVersion:a.manifest.raw.stableVersion||(a.manifest.raw.stableVersion=u);let A=a.manifest.name!==null?j.stringifyIdent(a.manifest.name):null;r.reportInfo(0,`${j.prettyLocator(t.configuration,a.anchoredLocator)}: Bumped to ${n}`),r.reportJson({cwd:ue.fromPortablePath(a.cwd),ident:A,oldVersion:u,newVersion:n});let p=o.get(a);if(!(typeof p>"u"))for(let[h,E,I]of p){let v=h.manifest[E].get(I);if(typeof v>"u")throw new Error("Assertion failed: The dependency should have existed");let x=v.range,C=!1;if(x.startsWith(Xn.protocol)&&(x=x.slice(Xn.protocol.length),C=!0,x===a.relativeCwd))continue;let F=x.match(JPt);if(!F){r.reportWarning(0,`Couldn't auto-upgrade range ${x} (in ${j.prettyLocator(t.configuration,h.anchoredLocator)})`);continue}let N=`${F[1]}${n}`;C&&(N=`${Xn.protocol}${N}`);let U=j.makeDescriptor(v,N);h.manifest[E].set(I,U)}}}var XPt=new Map([["%n",{extract:t=>t.length>=1?[t[0],t.slice(1)]:null,generate:(t=0)=>`${t+1}`}]]);function KBe(t,{current:e,prerelease:r}){let o=new vA.default.SemVer(e),a=o.prerelease.slice(),n=[];o.prerelease=[],o.format()!==t&&(a.length=0);let u=!0,A=r.split(/\./g);for(let p of A){let h=XPt.get(p);if(typeof h>"u")n.push(p),a[0]===p?a.shift():u=!1;else{let E=u?h.extract(a):null;E!==null&&typeof E[0]=="number"?(n.push(h.generate(E[0])),a=E[1]):(n.push(h.generate()),u=!1)}}return o.prerelease&&(o.prerelease=[]),`${t}-${n.join(".")}`}var tg=class extends ut{constructor(){super(...arguments);this.all=ge.Boolean("--all",!1,{description:"Apply the deferred version changes on all workspaces"});this.dryRun=ge.Boolean("--dry-run",!1,{description:"Print the versions without actually generating the package archive"});this.prerelease=ge.String("--prerelease",{description:"Add a prerelease identifier to new versions",tolerateBoolean:!0});this.recursive=ge.Boolean("-R,--recursive",{description:"Release the transitive workspaces as well"});this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"})}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Nr.find(r);if(!a)throw new sr(o.cwd,this.context.cwd);await o.restoreInstallState({restoreResolutions:!1});let u=await Ft.start({configuration:r,json:this.json,stdout:this.context.stdout},async A=>{let p=this.prerelease?typeof this.prerelease!="boolean"?this.prerelease:"rc.%n":null,h=await Gv(o,{prerelease:p}),E=new Map;if(this.all)E=h;else{let I=this.recursive?a.getRecursiveWorkspaceDependencies():[a];for(let v of I){let x=h.get(v);typeof x<"u"&&E.set(v,x)}}if(E.size===0){let I=h.size>0?" Did you want to add --all?":"";A.reportWarning(0,`The current workspace doesn't seem to require a version bump.${I}`);return}Kj(o,E,{report:A}),this.dryRun||(p||(this.all?await jj(o):await Yj(o,[...E.keys()])),A.reportSeparator())});return this.dryRun||u.hasErrors()?u.exitCode():await o.installWithNewReport({json:this.json,stdout:this.context.stdout},{cache:n})}};tg.paths=[["version","apply"]],tg.usage=it.Usage({category:"Release-related commands",description:"apply all the deferred version bumps at once",details:` + This command will apply the deferred version changes and remove their definitions from the repository. + + Note that if \`--prerelease\` is set, the given prerelease identifier (by default \`rc.%n\`) will be used on all new versions and the version definitions will be kept as-is. + + By default only the current workspace will be bumped, but you can configure this behavior by using one of: + + - \`--recursive\` to also apply the version bump on its dependencies + - \`--all\` to apply the version bump on all packages in the repository + + Note that this command will also update the \`workspace:\` references across all your local workspaces, thus ensuring that they keep referring to the same workspaces even after the version bump. + `,examples:[["Apply the version change to the local workspace","yarn version apply"],["Apply the version change to all the workspaces in the local workspace","yarn version apply --all"]]});je();Dt();qt();var uR=Ze(Vn());var rg=class extends ut{constructor(){super(...arguments);this.interactive=ge.Boolean("-i,--interactive",{description:"Open an interactive interface used to set version bumps"})}async execute(){return this.interactive?await this.executeInteractive():await this.executeStandard()}async executeInteractive(){DC(this.context);let{Gem:r}=await Promise.resolve().then(()=>(uQ(),Bq)),{ScrollableItems:o}=await Promise.resolve().then(()=>(hQ(),pQ)),{FocusRequest:a}=await Promise.resolve().then(()=>(Pq(),Jwe)),{useListInput:n}=await Promise.resolve().then(()=>(fQ(),Vwe)),{renderForm:u}=await Promise.resolve().then(()=>(yQ(),mQ)),{Box:A,Text:p}=await Promise.resolve().then(()=>Ze(sc())),{default:h,useCallback:E,useState:I}=await Promise.resolve().then(()=>Ze(an())),v=await Ke.find(this.context.cwd,this.context.plugins),{project:x,workspace:C}=await St.find(v,this.context.cwd);if(!C)throw new sr(x.cwd,this.context.cwd);await x.restoreInstallState();let F=await pw(x);if(F===null||F.releaseRoots.size===0)return 0;if(F.root===null)throw new st("This command can only be run on Git repositories");let N=()=>h.createElement(A,{flexDirection:"row",paddingBottom:1},h.createElement(A,{flexDirection:"column",width:60},h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},""),"/",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to select workspaces.")),h.createElement(A,null,h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},""),"/",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to select release strategies."))),h.createElement(A,{flexDirection:"column"},h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to save.")),h.createElement(A,{marginLeft:1},h.createElement(p,null,"Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to abort.")))),U=({workspace:we,active:de,decision:Be,setDecision:Ee})=>{let g=we.manifest.raw.stableVersion??we.manifest.version;if(g===null)throw new Error(`Assertion failed: The version should have been set (${j.prettyLocator(v,we.anchoredLocator)})`);if(uR.default.prerelease(g)!==null)throw new Error(`Assertion failed: Prerelease identifiers shouldn't be found (${g})`);let me=["undecided","decline","patch","minor","major"];n(Be,me,{active:de,minus:"left",plus:"right",set:Ee});let Ce=Be==="undecided"?h.createElement(p,{color:"yellow"},g):Be==="decline"?h.createElement(p,{color:"green"},g):h.createElement(p,null,h.createElement(p,{color:"magenta"},g)," \u2192 ",h.createElement(p,{color:"green"},uR.default.valid(Be)?Be:uR.default.inc(g,Be)));return h.createElement(A,{flexDirection:"column"},h.createElement(A,null,h.createElement(p,null,j.prettyLocator(v,we.anchoredLocator)," - ",Ce)),h.createElement(A,null,me.map(Ae=>h.createElement(A,{key:Ae,paddingLeft:2},h.createElement(p,null,h.createElement(r,{active:Ae===Be})," ",Ae)))))},J=we=>{let de=new Set(F.releaseRoots),Be=new Map([...we].filter(([Ee])=>de.has(Ee)));for(;;){let Ee=jv({project:F.project,releases:Be}),g=!1;if(Ee.length>0){for(let[me]of Ee)if(!de.has(me)){de.add(me),g=!0;let Ce=we.get(me);typeof Ce<"u"&&Be.set(me,Ce)}}if(!g)break}return{relevantWorkspaces:de,relevantReleases:Be}},te=()=>{let[we,de]=I(()=>new Map(F.releases)),Be=E((Ee,g)=>{let me=new Map(we);g!=="undecided"?me.set(Ee,g):me.delete(Ee);let{relevantReleases:Ce}=J(me);de(Ce)},[we,de]);return[we,Be]},ae=({workspaces:we,releases:de})=>{let Be=[];Be.push(`${we.size} total`);let Ee=0,g=0;for(let me of we){let Ce=de.get(me);typeof Ce>"u"?g+=1:Ce!=="decline"&&(Ee+=1)}return Be.push(`${Ee} release${Ee===1?"":"s"}`),Be.push(`${g} remaining`),h.createElement(p,{color:"yellow"},Be.join(", "))},ce=await u(({useSubmit:we})=>{let[de,Be]=te();we(de);let{relevantWorkspaces:Ee}=J(de),g=new Set([...Ee].filter(ne=>!F.releaseRoots.has(ne))),[me,Ce]=I(0),Ae=E(ne=>{switch(ne){case a.BEFORE:Ce(me-1);break;case a.AFTER:Ce(me+1);break}},[me,Ce]);return h.createElement(A,{flexDirection:"column"},h.createElement(N,null),h.createElement(A,null,h.createElement(p,{wrap:"wrap"},"The following files have been modified in your local checkout.")),h.createElement(A,{flexDirection:"column",marginTop:1,paddingLeft:2},[...F.changedFiles].map(ne=>h.createElement(A,{key:ne},h.createElement(p,null,h.createElement(p,{color:"grey"},ue.fromPortablePath(F.root)),ue.sep,ue.relative(ue.fromPortablePath(F.root),ue.fromPortablePath(ne)))))),F.releaseRoots.size>0&&h.createElement(h.Fragment,null,h.createElement(A,{marginTop:1},h.createElement(p,{wrap:"wrap"},"Because of those files having been modified, the following workspaces may need to be released again (note that private workspaces are also shown here, because even though they won't be published, releasing them will allow us to flag their dependents for potential re-release):")),g.size>3?h.createElement(A,{marginTop:1},h.createElement(ae,{workspaces:F.releaseRoots,releases:de})):null,h.createElement(A,{marginTop:1,flexDirection:"column"},h.createElement(o,{active:me%2===0,radius:1,size:2,onFocusRequest:Ae},[...F.releaseRoots].map(ne=>h.createElement(U,{key:ne.cwd,workspace:ne,decision:de.get(ne)||"undecided",setDecision:Z=>Be(ne,Z)}))))),g.size>0?h.createElement(h.Fragment,null,h.createElement(A,{marginTop:1},h.createElement(p,{wrap:"wrap"},"The following workspaces depend on other workspaces that have been marked for release, and thus may need to be released as well:")),h.createElement(A,null,h.createElement(p,null,"(Press ",h.createElement(p,{bold:!0,color:"cyanBright"},"")," to move the focus between the workspace groups.)")),g.size>5?h.createElement(A,{marginTop:1},h.createElement(ae,{workspaces:g,releases:de})):null,h.createElement(A,{marginTop:1,flexDirection:"column"},h.createElement(o,{active:me%2===1,radius:2,size:2,onFocusRequest:Ae},[...g].map(ne=>h.createElement(U,{key:ne.cwd,workspace:ne,decision:de.get(ne)||"undecided",setDecision:Z=>Be(ne,Z)}))))):null)},{versionFile:F},{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if(typeof ce>"u")return 1;F.releases.clear();for(let[we,de]of ce)F.releases.set(we,de);await F.saveAll()}async executeStandard(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new sr(o.cwd,this.context.cwd);return await o.restoreInstallState(),(await Ft.start({configuration:r,stdout:this.context.stdout},async u=>{let A=await pw(o);if(A===null||A.releaseRoots.size===0)return;if(A.root===null)throw new st("This command can only be run on Git repositories");if(u.reportInfo(0,`Your PR was started right after ${pe.pretty(r,A.baseHash.slice(0,7),"yellow")} ${pe.pretty(r,A.baseTitle,"magenta")}`),A.changedFiles.size>0){u.reportInfo(0,"You have changed the following files since then:"),u.reportSeparator();for(let v of A.changedFiles)u.reportInfo(null,`${pe.pretty(r,ue.fromPortablePath(A.root),"gray")}${ue.sep}${ue.relative(ue.fromPortablePath(A.root),ue.fromPortablePath(v))}`)}let p=!1,h=!1,E=lR(A);if(E.size>0){p||u.reportSeparator();for(let v of E)u.reportError(0,`${j.prettyLocator(r,v.anchoredLocator)} has been modified but doesn't have a release strategy attached`);p=!0}let I=jv(A);for(let[v,x]of I)h||u.reportSeparator(),u.reportError(0,`${j.prettyLocator(r,v.anchoredLocator)} doesn't have a release strategy attached, but depends on ${j.prettyWorkspace(r,x)} which is planned for release.`),h=!0;(p||h)&&(u.reportSeparator(),u.reportInfo(0,"This command detected that at least some workspaces have received modifications without explicit instructions as to how they had to be released (if needed)."),u.reportInfo(0,"To correct these errors, run `yarn version check --interactive` then follow the instructions."))})).exitCode()}};rg.paths=[["version","check"]],rg.usage=it.Usage({category:"Release-related commands",description:"check that all the relevant packages have been bumped",details:"\n **Warning:** This command currently requires Git.\n\n This command will check that all the packages covered by the files listed in argument have been properly bumped or declined to bump.\n\n In the case of a bump, the check will also cover transitive packages - meaning that should `Foo` be bumped, a package `Bar` depending on `Foo` will require a decision as to whether `Bar` will need to be bumped. This check doesn't cross packages that have declined to bump.\n\n In case no arguments are passed to the function, the list of modified files will be generated by comparing the HEAD against `master`.\n ",examples:[["Check whether the modified packages need a bump","yarn version check"]]});je();qt();var AR=Ze(Vn());var ng=class extends ut{constructor(){super(...arguments);this.deferred=ge.Boolean("-d,--deferred",{description:"Prepare the version to be bumped during the next release cycle"});this.immediate=ge.Boolean("-i,--immediate",{description:"Bump the version immediately"});this.strategy=ge.String()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!a)throw new sr(o.cwd,this.context.cwd);let n=r.get("preferDeferredVersions");this.deferred&&(n=!0),this.immediate&&(n=!1);let u=AR.default.valid(this.strategy),A=this.strategy==="decline",p;if(u)if(a.manifest.version!==null){let E=Wj(a.manifest.version,this.strategy);E!==null?p=E:p=this.strategy}else p=this.strategy;else{let E=a.manifest.version;if(!A){if(E===null)throw new st("Can't bump the version if there wasn't a version to begin with - use 0.0.0 as initial version then run the command again.");if(typeof E!="string"||!AR.default.valid(E))throw new st(`Can't bump the version (${E}) if it's not valid semver`)}p=Aw(this.strategy)}if(!n){let I=(await Gv(o)).get(a);if(typeof I<"u"&&p!=="decline"){let v=cR(a.manifest.version,p);if(AR.default.lt(v,I))throw new st(`Can't bump the version to one that would be lower than the current deferred one (${I})`)}}let h=await pw(o,{allowEmpty:!0});return h.releases.set(a,p),await h.saveAll(),n?0:await this.cli.run(["version","apply"])}};ng.paths=[["version"]],ng.usage=it.Usage({category:"Release-related commands",description:"apply a new version to the current package",details:"\n This command will bump the version number for the given package, following the specified strategy:\n\n - If `major`, the first number from the semver range will be increased (`X.0.0`).\n - If `minor`, the second number from the semver range will be increased (`0.X.0`).\n - If `patch`, the third number from the semver range will be increased (`0.0.X`).\n - If prefixed by `pre` (`premajor`, ...), a `-0` suffix will be set (`0.0.0-0`).\n - If `prerelease`, the suffix will be increased (`0.0.0-X`); the third number from the semver range will also be increased if there was no suffix in the previous version.\n - If `decline`, the nonce will be increased for `yarn version check` to pass without version bump.\n - If a valid semver range, it will be used as new version.\n - If unspecified, Yarn will ask you for guidance.\n\n For more information about the `--deferred` flag, consult our documentation (https://yarnpkg.com/features/release-workflow#deferred-versioning).\n ",examples:[["Immediately bump the version to the next major","yarn version major"],["Prepare the version to be bumped to the next major","yarn version major --deferred"]]});var ZPt={configuration:{deferredVersionFolder:{description:"Folder where are stored the versioning files",type:"ABSOLUTE_PATH",default:"./.yarn/versions"},preferDeferredVersions:{description:"If true, running `yarn version` will assume the `--deferred` flag unless `--immediate` is set",type:"BOOLEAN",default:!1}},commands:[tg,rg,ng]},$Pt=ZPt;var Jj={};zt(Jj,{WorkspacesFocusCommand:()=>ig,WorkspacesForeachCommand:()=>lp,default:()=>rDt});je();je();qt();var ig=class extends ut{constructor(){super(...arguments);this.json=ge.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.production=ge.Boolean("--production",!1,{description:"Only install regular dependencies by omitting dev dependencies"});this.all=ge.Boolean("-A,--all",!1,{description:"Install the entire project"});this.workspaces=ge.Rest()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd),n=await Nr.find(r);await o.restoreInstallState({restoreResolutions:!1});let u;if(this.all)u=new Set(o.workspaces);else if(this.workspaces.length===0){if(!a)throw new sr(o.cwd,this.context.cwd);u=new Set([a])}else u=new Set(this.workspaces.map(A=>o.getWorkspaceByIdent(j.parseIdent(A))));for(let A of u)for(let p of this.production?["dependencies"]:Ot.hardDependencies)for(let h of A.manifest.getForScope(p).values()){let E=o.tryWorkspaceByDescriptor(h);E!==null&&u.add(E)}for(let A of o.workspaces)u.has(A)?this.production&&A.manifest.devDependencies.clear():(A.manifest.installConfig=A.manifest.installConfig||{},A.manifest.installConfig.selfReferences=!1,A.manifest.dependencies.clear(),A.manifest.devDependencies.clear(),A.manifest.peerDependencies.clear(),A.manifest.scripts.clear());return await o.installWithNewReport({json:this.json,stdout:this.context.stdout},{cache:n,persistProject:!1})}};ig.paths=[["workspaces","focus"]],ig.usage=it.Usage({category:"Workspace-related commands",description:"install a single workspace and its dependencies",details:"\n This command will run an install as if the specified workspaces (and all other workspaces they depend on) were the only ones in the project. If no workspaces are explicitly listed, the active one will be assumed.\n\n Note that this command is only very moderately useful when using zero-installs, since the cache will contain all the packages anyway - meaning that the only difference between a full install and a focused install would just be a few extra lines in the `.pnp.cjs` file, at the cost of introducing an extra complexity.\n\n If the `-A,--all` flag is set, the entire project will be installed. Combine with `--production` to replicate the old `yarn install --production`.\n "});je();je();je();qt();var gw=Ze(Xo()),JBe=Ze(sd());$a();var lp=class extends ut{constructor(){super(...arguments);this.from=ge.Array("--from",{description:"An array of glob pattern idents or paths from which to base any recursion"});this.all=ge.Boolean("-A,--all",{description:"Run the command on all workspaces of a project"});this.recursive=ge.Boolean("-R,--recursive",{description:"Run the command on the current workspace and all of its recursive dependencies"});this.worktree=ge.Boolean("-W,--worktree",{description:"Run the command on all workspaces of the current worktree"});this.verbose=ge.Counter("-v,--verbose",{description:"Increase level of logging verbosity up to 2 times"});this.parallel=ge.Boolean("-p,--parallel",!1,{description:"Run the commands in parallel"});this.interlaced=ge.Boolean("-i,--interlaced",!1,{description:"Print the output of commands in real-time instead of buffering it"});this.jobs=ge.String("-j,--jobs",{description:"The maximum number of parallel tasks that the execution will be limited to; or `unlimited`",validator:LT([Js(["unlimited"]),sI(TT(),[OT(),NT(1)])])});this.topological=ge.Boolean("-t,--topological",!1,{description:"Run the command after all workspaces it depends on (regular) have finished"});this.topologicalDev=ge.Boolean("--topological-dev",!1,{description:"Run the command after all workspaces it depends on (regular + dev) have finished"});this.include=ge.Array("--include",[],{description:"An array of glob pattern idents or paths; only matching workspaces will be traversed"});this.exclude=ge.Array("--exclude",[],{description:"An array of glob pattern idents or paths; matching workspaces won't be traversed"});this.publicOnly=ge.Boolean("--no-private",{description:"Avoid running the command on private workspaces"});this.since=ge.String("--since",{description:"Only include workspaces that have been changed since the specified ref.",tolerateBoolean:!0});this.dryRun=ge.Boolean("-n,--dry-run",{description:"Print the commands that would be run, without actually running them"});this.commandName=ge.String();this.args=ge.Proxy()}async execute(){let r=await Ke.find(this.context.cwd,this.context.plugins),{project:o,workspace:a}=await St.find(r,this.context.cwd);if(!this.all&&!a)throw new sr(o.cwd,this.context.cwd);await o.restoreInstallState();let n=this.cli.process([this.commandName,...this.args]),u=n.path.length===1&&n.path[0]==="run"&&typeof n.scriptName<"u"?n.scriptName:null;if(n.path.length===0)throw new st("Invalid subcommand name for iteration - use the 'run' keyword if you wish to execute a script");let A=Ee=>{!this.dryRun||this.context.stdout.write(`${Ee} +`)},p=()=>{let Ee=this.from.map(g=>gw.default.matcher(g));return o.workspaces.filter(g=>{let me=j.stringifyIdent(g.anchoredLocator),Ce=g.relativeCwd;return Ee.some(Ae=>Ae(me)||Ae(Ce))})},h=[];if(this.since?(A("Option --since is set; selecting the changed workspaces as root for workspace selection"),h=Array.from(await ra.fetchChangedWorkspaces({ref:this.since,project:o}))):this.from?(A("Option --from is set; selecting the specified workspaces"),h=[...p()]):this.worktree?(A("Option --worktree is set; selecting the current workspace"),h=[a]):this.recursive?(A("Option --recursive is set; selecting the current workspace"),h=[a]):this.all&&(A("Option --all is set; selecting all workspaces"),h=[...o.workspaces]),this.dryRun&&!this.all){for(let Ee of h)A(` +- ${Ee.relativeCwd} + ${j.prettyLocator(r,Ee.anchoredLocator)}`);h.length>0&&A("")}let E;if(this.recursive?this.since?(A("Option --recursive --since is set; recursively selecting all dependent workspaces"),E=new Set(h.map(Ee=>[...Ee.getRecursiveWorkspaceDependents()]).flat())):(A("Option --recursive is set; recursively selecting all transitive dependencies"),E=new Set(h.map(Ee=>[...Ee.getRecursiveWorkspaceDependencies()]).flat())):this.worktree?(A("Option --worktree is set; recursively selecting all nested workspaces"),E=new Set(h.map(Ee=>[...Ee.getRecursiveWorkspaceChildren()]).flat())):E=null,E!==null&&(h=[...new Set([...h,...E])],this.dryRun))for(let Ee of E)A(` +- ${Ee.relativeCwd} + ${j.prettyLocator(r,Ee.anchoredLocator)}`);let I=[],v=!1;if(u?.includes(":")){for(let Ee of o.workspaces)if(Ee.manifest.scripts.has(u)&&(v=!v,v===!1))break}for(let Ee of h){if(u&&!Ee.manifest.scripts.has(u)&&!v&&!(await An.getWorkspaceAccessibleBinaries(Ee)).has(u)){A(`Excluding ${Ee.relativeCwd} because it doesn't have a "${u}" script`);continue}if(!(u===r.env.npm_lifecycle_event&&Ee.cwd===a.cwd)){if(this.include.length>0&&!gw.default.isMatch(j.stringifyIdent(Ee.anchoredLocator),this.include)&&!gw.default.isMatch(Ee.relativeCwd,this.include)){A(`Excluding ${Ee.relativeCwd} because it doesn't match the --include filter`);continue}if(this.exclude.length>0&&(gw.default.isMatch(j.stringifyIdent(Ee.anchoredLocator),this.exclude)||gw.default.isMatch(Ee.relativeCwd,this.exclude))){A(`Excluding ${Ee.relativeCwd} because it matches the --include filter`);continue}if(this.publicOnly&&Ee.manifest.private===!0){A(`Excluding ${Ee.relativeCwd} because it's a private workspace and --no-private was set`);continue}I.push(Ee)}}if(this.dryRun)return 0;let x=this.verbose??(this.context.stdout.isTTY?1/0:0),C=x>0,F=x>1,N=this.parallel?this.jobs==="unlimited"?1/0:Number(this.jobs)||Math.ceil(Vi.availableParallelism()/2):1,U=N===1?!1:this.parallel,J=U?this.interlaced:!0,te=(0,JBe.default)(N),ae=new Map,le=new Set,ce=0,we=null,de=!1,Be=await Ft.start({configuration:r,stdout:this.context.stdout,includePrefix:!1},async Ee=>{let g=async(me,{commandIndex:Ce})=>{if(de)return-1;!U&&F&&Ce>1&&Ee.reportSeparator();let Ae=eDt(me,{configuration:r,label:C,commandIndex:Ce}),[ne,Z]=zBe(Ee,{prefix:Ae,interlaced:J}),[xe,Le]=zBe(Ee,{prefix:Ae,interlaced:J});try{F&&Ee.reportInfo(null,`${Ae?`${Ae} `:""}Process started`);let ht=Date.now(),H=await this.cli.run([this.commandName,...this.args],{cwd:me.cwd,stdout:ne,stderr:xe})||0;ne.end(),xe.end(),await Z,await Le;let rt=Date.now();if(F){let Te=r.get("enableTimers")?`, completed in ${pe.pretty(r,rt-ht,pe.Type.DURATION)}`:"";Ee.reportInfo(null,`${Ae?`${Ae} `:""}Process exited (exit code ${H})${Te}`)}return H===130&&(de=!0,we=H),H}catch(ht){throw ne.end(),xe.end(),await Z,await Le,ht}};for(let me of I)ae.set(me.anchoredLocator.locatorHash,me);for(;ae.size>0&&!Ee.hasErrors();){let me=[];for(let[ne,Z]of ae){if(le.has(Z.anchoredDescriptor.descriptorHash))continue;let xe=!0;if(this.topological||this.topologicalDev){let Le=this.topologicalDev?new Map([...Z.manifest.dependencies,...Z.manifest.devDependencies]):Z.manifest.dependencies;for(let ht of Le.values()){let H=o.tryWorkspaceByDescriptor(ht);if(xe=H===null||!ae.has(H.anchoredLocator.locatorHash),!xe)break}}if(!!xe&&(le.add(Z.anchoredDescriptor.descriptorHash),me.push(te(async()=>{let Le=await g(Z,{commandIndex:++ce});return ae.delete(ne),le.delete(Z.anchoredDescriptor.descriptorHash),Le})),!U))break}if(me.length===0){let ne=Array.from(ae.values()).map(Z=>j.prettyLocator(r,Z.anchoredLocator)).join(", ");Ee.reportError(3,`Dependency cycle detected (${ne})`);return}let Ae=(await Promise.all(me)).find(ne=>ne!==0);we===null&&(we=typeof Ae<"u"?1:we),(this.topological||this.topologicalDev)&&typeof Ae<"u"&&Ee.reportError(0,"The command failed for workspaces that are depended upon by other workspaces; can't satisfy the dependency graph")}});return we!==null?we:Be.exitCode()}};lp.paths=[["workspaces","foreach"]],lp.usage=it.Usage({category:"Workspace-related commands",description:"run a command on all workspaces",details:"\n This command will run a given sub-command on current and all its descendant workspaces. Various flags can alter the exact behavior of the command:\n\n - If `-p,--parallel` is set, the commands will be ran in parallel; they'll by default be limited to a number of parallel tasks roughly equal to half your core number, but that can be overridden via `-j,--jobs`, or disabled by setting `-j unlimited`.\n\n - If `-p,--parallel` and `-i,--interlaced` are both set, Yarn will print the lines from the output as it receives them. If `-i,--interlaced` wasn't set, it would instead buffer the output from each process and print the resulting buffers only after their source processes have exited.\n\n - If `-t,--topological` is set, Yarn will only run the command after all workspaces that it depends on through the `dependencies` field have successfully finished executing. If `--topological-dev` is set, both the `dependencies` and `devDependencies` fields will be considered when figuring out the wait points.\n\n - If `-A,--all` is set, Yarn will run the command on all the workspaces of a project.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If `-W,--worktree` is set, Yarn will find workspaces to run the command on by looking at the current worktree.\n\n - If `--from` is set, Yarn will use the packages matching the 'from' glob as the starting point for any recursive search.\n\n - If `--since` is set, Yarn will only run the command on workspaces that have been modified since the specified ref. By default Yarn will use the refs specified by the `changesetBaseRefs` configuration option.\n\n - If `--dry-run` is set, Yarn will explain what it would do without actually doing anything.\n\n - The command may apply to only some workspaces through the use of `--include` which acts as a whitelist. The `--exclude` flag will do the opposite and will be a list of packages that mustn't execute the script. Both flags accept glob patterns (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n The `-v,--verbose` flag can be passed up to twice: once to prefix output lines with the originating workspace's name, and again to include start/finish/timing log lines. Maximum verbosity is enabled by default in terminal environments.\n\n If the command is `run` and the script being run does not exist the child workspace will be skipped without error.\n ",examples:[["Publish all packages","yarn workspaces foreach -A npm publish --tolerate-republish"],["Run the build script on all descendant packages","yarn workspaces foreach -A run build"],["Run the build script on current and all descendant packages in parallel, building package dependencies first","yarn workspaces foreach -Apt run build"],["Run the build script on several packages and all their dependencies, building dependencies first","yarn workspaces foreach -Rpt --from '{workspace-a,workspace-b}' run build"]]}),lp.schema=[aI("all",Yu.Forbids,["from","recursive","since","worktree"],{missingIf:"undefined"}),MT(["all","recursive","since","worktree"],{missingIf:"undefined"})];function zBe(t,{prefix:e,interlaced:r}){let o=t.createStreamReporter(e),a=new He.DefaultStream;a.pipe(o,{end:!1}),a.on("finish",()=>{o.end()});let n=new Promise(A=>{o.on("finish",()=>{A(a.active)})});if(r)return[a,n];let u=new He.BufferStream;return u.pipe(a,{end:!1}),u.on("finish",()=>{a.end()}),[u,n]}function eDt(t,{configuration:e,commandIndex:r,label:o}){if(!o)return null;let n=`[${j.stringifyIdent(t.anchoredLocator)}]:`,u=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],A=u[r%u.length];return pe.pretty(e,n,A)}var tDt={commands:[ig,lp]},rDt=tDt;var AC=()=>({modules:new Map([["@yarnpkg/cli",l2],["@yarnpkg/core",a2],["@yarnpkg/fslib",Ww],["@yarnpkg/libzip",k1],["@yarnpkg/parsers",eI],["@yarnpkg/shell",L1],["clipanion",fI],["semver",nDt],["typanion",Ko],["@yarnpkg/plugin-essentials",$8],["@yarnpkg/plugin-compat",iH],["@yarnpkg/plugin-constraints",wH],["@yarnpkg/plugin-dlx",IH],["@yarnpkg/plugin-exec",PH],["@yarnpkg/plugin-file",SH],["@yarnpkg/plugin-git",Z8],["@yarnpkg/plugin-github",kH],["@yarnpkg/plugin-http",QH],["@yarnpkg/plugin-init",RH],["@yarnpkg/plugin-interactive-tools",Tq],["@yarnpkg/plugin-link",Lq],["@yarnpkg/plugin-nm",yG],["@yarnpkg/plugin-npm",dj],["@yarnpkg/plugin-npm-cli",Pj],["@yarnpkg/plugin-pack",Aj],["@yarnpkg/plugin-patch",Rj],["@yarnpkg/plugin-pnp",oG],["@yarnpkg/plugin-pnpm",Lj],["@yarnpkg/plugin-stage",qj],["@yarnpkg/plugin-typescript",Gj],["@yarnpkg/plugin-version",zj],["@yarnpkg/plugin-workspace-tools",Jj]]),plugins:new Set(["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-constraints","@yarnpkg/plugin-dlx","@yarnpkg/plugin-exec","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-interactive-tools","@yarnpkg/plugin-link","@yarnpkg/plugin-nm","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp","@yarnpkg/plugin-pnpm","@yarnpkg/plugin-stage","@yarnpkg/plugin-typescript","@yarnpkg/plugin-version","@yarnpkg/plugin-workspace-tools"])});function ZBe({cwd:t,pluginConfiguration:e}){let r=new ls({binaryLabel:"Yarn Package Manager",binaryName:"yarn",binaryVersion:nn??""});return Object.assign(r,{defaultContext:{...ls.defaultContext,cwd:t,plugins:e,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr}})}function iDt(t){if(He.parseOptionalBoolean(process.env.YARN_IGNORE_NODE))return!0;let r=process.versions.node,o=">=18.12.0";if(Lr.satisfiesWithPrereleases(r,o))return!0;let a=new st(`This tool requires a Node version compatible with ${o} (got ${r}). Upgrade Node, or set \`YARN_IGNORE_NODE=1\` in your environment.`);return ls.defaultContext.stdout.write(t.error(a)),!1}async function $Be({selfPath:t,pluginConfiguration:e}){return await Ke.find(ue.toPortablePath(process.cwd()),e,{strict:!1,usePathCheck:t})}function sDt(t,e,{yarnPath:r}){if(!oe.existsSync(r))return t.error(new Error(`The "yarn-path" option has been set, but the specified location doesn't exist (${r}).`)),1;process.on("SIGINT",()=>{});let o={stdio:"inherit",env:{...process.env,YARN_IGNORE_PATH:"1"}};try{(0,VBe.execFileSync)(process.execPath,[ue.fromPortablePath(r),...e],o)}catch(a){return a.status??1}return 0}function oDt(t,e){let r=null,o=e;return e.length>=2&&e[0]==="--cwd"?(r=ue.toPortablePath(e[1]),o=e.slice(2)):e.length>=1&&e[0].startsWith("--cwd=")?(r=ue.toPortablePath(e[0].slice(6)),o=e.slice(1)):e[0]==="add"&&e[e.length-2]==="--cwd"&&(r=ue.toPortablePath(e[e.length-1]),o=e.slice(0,e.length-2)),t.defaultContext.cwd=r!==null?z.resolve(r):z.cwd(),o}function aDt(t,{configuration:e}){if(!e.get("enableTelemetry")||XBe.isCI||!process.stdout.isTTY)return;Ke.telemetry=new lC(e,"puba9cdc10ec5790a2cf4969dd413a47270");let o=/^@yarnpkg\/plugin-(.*)$/;for(let a of e.plugins.keys())cC.has(a.match(o)?.[1]??"")&&Ke.telemetry?.reportPluginName(a);t.binaryVersion&&Ke.telemetry.reportVersion(t.binaryVersion)}function eve(t,{configuration:e}){for(let r of e.plugins.values())for(let o of r.commands||[])t.register(o)}async function lDt(t,e,{selfPath:r,pluginConfiguration:o}){if(!iDt(t))return 1;let a=await $Be({selfPath:r,pluginConfiguration:o}),n=a.get("yarnPath"),u=a.get("ignorePath");if(n&&!u)return sDt(t,e,{yarnPath:n});delete process.env.YARN_IGNORE_PATH;let A=oDt(t,e);aDt(t,{configuration:a}),eve(t,{configuration:a});let p=t.process(A,t.defaultContext);return p.help||Ke.telemetry?.reportCommandName(p.path.join(" ")),await t.run(p,t.defaultContext)}async function ehe({cwd:t=z.cwd(),pluginConfiguration:e=AC()}={}){let r=ZBe({cwd:t,pluginConfiguration:e}),o=await $Be({pluginConfiguration:e,selfPath:null});return eve(r,{configuration:o}),r}async function ik(t,{cwd:e=z.cwd(),selfPath:r,pluginConfiguration:o}){let a=ZBe({cwd:e,pluginConfiguration:o});try{process.exitCode=await lDt(a,t,{selfPath:r,pluginConfiguration:o})}catch(n){ls.defaultContext.stdout.write(a.error(n)),process.exitCode=1}finally{await oe.rmtempPromise()}}ik(process.argv.slice(2),{cwd:z.cwd(),selfPath:ue.toPortablePath(ue.resolve(process.argv[1])),pluginConfiguration:AC()});})(); +/* +object-assign +(c) Sindre Sorhus +@license MIT +*/ +/*! + * buildToken + * Builds OAuth token prefix (helper function) + * + * @name buildToken + * @function + * @param {GitUrl} obj The parsed Git url object. + * @return {String} token prefix + */ +/*! + * fill-range + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Licensed under the MIT License. + */ +/*! + * is-extglob + * + * Copyright (c) 2014-2016, Jon Schlinkert. + * Licensed under the MIT License. + */ +/*! + * is-glob + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * is-number + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * is-windows + * + * Copyright © 2015-2018, Jon Schlinkert. + * Released under the MIT License. + */ +/*! + * to-regex-range + * + * Copyright (c) 2015-present, Jon Schlinkert. + * Released under the MIT License. + */ +/** + @license + Copyright (c) 2015, Rebecca Turner + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + */ +/** + @license + Copyright Joyent, Inc. and other Node contributors. + + 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. +*/ +/** + @license + Copyright Node.js contributors. All rights reserved. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to + deal in the Software without restriction, including without limitation the + rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + IN THE SOFTWARE. +*/ +/** + @license + The MIT License (MIT) + + Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +*/ +/** @license React v0.18.0 + * scheduler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +/** @license React v0.24.0 + * react-reconciler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +/** @license React v16.13.1 + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ diff --git a/.yarnrc.yml b/.yarnrc.yml new file mode 100644 index 000000000..951a379df --- /dev/null +++ b/.yarnrc.yml @@ -0,0 +1,2 @@ +nodeLinker: node-modules +yarnPath: .yarn/releases/yarn-4.3.1.cjs diff --git a/Anchor.toml b/Anchor.toml index 788e21220..44694c066 100644 --- a/Anchor.toml +++ b/Anchor.toml @@ -9,7 +9,7 @@ cluster = "localnet" wallet = "~/.config/solana/id.json" [scripts] -test = "ts-mocha -p sdk/tests/tsconfig.json -t 1000000 sdk/tests/**/*.test.ts" +test = "ts-mocha -t 1000000 legacy/tests/**/*.test.ts" [test.validator] slots_per_epoch = "33" @@ -23,8 +23,8 @@ url = "https://api.mainnet-beta.solana.com" [[test.genesis]] address = "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s" -program = "sdk/tests/external_program/mpl_token_metadata.20240214.so" +program = "legacy/tests/external_program/mpl_token_metadata.20240214.so" [[test.genesis]] address = "EBZDYx7599krFc4m2govwBdZcicr4GgepqC78m71nsHS" -program = "sdk/tests/external_program/transfer_hook_counter.so" +program = "legacy/tests/external_program/transfer_hook_counter.so" diff --git a/README.md b/README.md index e0f155dd8..18107f335 100644 --- a/README.md +++ b/README.md @@ -33,50 +33,23 @@ $ echo $NODE_PATH Instructions on how to interact with the Whirlpools contract is documented in the [Orca Developer Portal](https://orca-so.gitbook.io/orca-developer-portal/orca/welcome). -## Tests +## Local Development -- Run "cargo test --lib" to run Rust unit tests +This repository uses NX to manage the Rust and Typescript codebases. This allows us to have a monorepo with multiple packages and share code between them. Dependencies between packages are automatically resolved by NX, so you don't have to worry about managing that yourself. ---- - -# Whirlpool SDK - -Use the SDK to interact with a deployed Whirlpools program via Typescript. - -## Installation - -In your package, run: - -``` -yarn add "@orca-so/whirlpools-sdk" -yarn add "@orca-so/common-sdk" -yarn add "@coral-xyz/anchor@0.29.0" -yarn add "@solana/web3.js" -yarn add "@solana/spl-token" -yarn add "decimal.js" -``` - -## Usage - -Read instructions on how to use the SDK on the [Orca Developer Portal](https://orca-so.gitbook.io/orca-developer-portal/orca/welcome). - -## Run Typescript tests via local validator - -In the whirlpools/sdk folder, run: - -``` -anchor test -``` - -## Generate TypeDoc +### Commands -In the `sdk` folder, run `yarn run docs` +All commands should be run from the root of the repository. The commands will try to run a command with the same name for each individual component, skipping the component if that specific command does not exist. -You can also see the generated [TypeDoc](https://orca-so.github.io/whirlpools/). +Below is a (non-exhaustive) list of available commands: +* **`yarn build`** - compile the components for deployment or serving. +* **`yarn clean`** - clean up all local build products, useful for when builds are failing. +* **`yarn test`** - run the tests for all components. +* **`yarn format`** - run formatter to format code. -## Sample Codes +If you look closely, the commands just call individual commands specified in the component's `package.json` file. These commands should not be run by themselves as it will not resolve the right dependencies and will not execute the prerequisites. Instead you can specify which package to run with `yarn build program`, `yarn test integration`, etc. -You can find sample code covering basic operations [here](https://github.com/everlastingsong/tour-de-whirlpool/tree/main/src/EN). +If you want to stream the logs of a specific command you can add the `--output-style stream` flag to the command. This allows you to view the logs of the command as they are being produced which can be useful for longer running tasks like tests. --- diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 000000000..2008e381f --- /dev/null +++ b/SECURITY.md @@ -0,0 +1 @@ +https://immunefi.com/bug-bounty/orca diff --git a/docs/.nojekyll b/docs/.nojekyll deleted file mode 100644 index e2ac6616a..000000000 --- a/docs/.nojekyll +++ /dev/null @@ -1 +0,0 @@ -TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. \ No newline at end of file diff --git a/docs/assets/highlight.css b/docs/assets/highlight.css deleted file mode 100644 index ad862c583..000000000 --- a/docs/assets/highlight.css +++ /dev/null @@ -1,43 +0,0 @@ -:root { - --light-hl-0: #001080; - --dark-hl-0: #9CDCFE; - --light-hl-1: #000000; - --dark-hl-1: #D4D4D4; - --light-hl-2: #A31515; - --dark-hl-2: #CE9178; - --light-code-background: #FFFFFF; - --dark-code-background: #1E1E1E; -} - -@media (prefers-color-scheme: light) { :root { - --hl-0: var(--light-hl-0); - --hl-1: var(--light-hl-1); - --hl-2: var(--light-hl-2); - --code-background: var(--light-code-background); -} } - -@media (prefers-color-scheme: dark) { :root { - --hl-0: var(--dark-hl-0); - --hl-1: var(--dark-hl-1); - --hl-2: var(--dark-hl-2); - --code-background: var(--dark-code-background); -} } - -:root[data-theme='light'] { - --hl-0: var(--light-hl-0); - --hl-1: var(--light-hl-1); - --hl-2: var(--light-hl-2); - --code-background: var(--light-code-background); -} - -:root[data-theme='dark'] { - --hl-0: var(--dark-hl-0); - --hl-1: var(--dark-hl-1); - --hl-2: var(--dark-hl-2); - --code-background: var(--dark-code-background); -} - -.hl-0 { color: var(--hl-0); } -.hl-1 { color: var(--hl-1); } -.hl-2 { color: var(--hl-2); } -pre, code { background: var(--code-background); } diff --git a/docs/assets/main.js b/docs/assets/main.js deleted file mode 100644 index 7270cff8d..000000000 --- a/docs/assets/main.js +++ /dev/null @@ -1,59 +0,0 @@ -"use strict"; -"use strict";(()=>{var Pe=Object.create;var ne=Object.defineProperty;var Ie=Object.getOwnPropertyDescriptor;var Oe=Object.getOwnPropertyNames;var _e=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty;var Me=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Fe=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Oe(e))!Re.call(t,i)&&i!==n&&ne(t,i,{get:()=>e[i],enumerable:!(r=Ie(e,i))||r.enumerable});return t};var De=(t,e,n)=>(n=t!=null?Pe(_e(t)):{},Fe(e||!t||!t.__esModule?ne(n,"default",{value:t,enumerable:!0}):n,t));var ae=Me((se,oe)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var d=t.utils.clone(n)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(r.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. -`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(n+=r[u+1]*i[d+1],u+=2,d+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),v=s.str.charAt(1),f;v in s.node.edges?f=s.node.edges[v]:(f=new t.TokenSet,s.node.edges[v]=f),s.str.length==1&&(f.final=!0),i.push({node:f,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof se=="object"?oe.exports=n():e.lunr=n()}(this,function(){return t})})()});var re=[];function G(t,e){re.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureActivePageVisible(),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible())}createComponents(e){re.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r}}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(n&&n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let r=document.createElement("p");r.classList.add("warning"),r.textContent="This member is normally hidden due to your filter settings.",n.prepend(r)}}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent="Copied!",e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent="Copy"},100)},1e3)})})}};var ie=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var de=De(ae());async function le(t,e){if(!window.searchData)return;let n=await fetch(window.searchData),r=new Blob([await n.arrayBuffer()]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();t.data=i,t.index=de.Index.load(i.index),e.classList.remove("loading"),e.classList.add("ready")}function he(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:t.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{le(e,t)}),le(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");let s=!1;i.addEventListener("mousedown",()=>s=!0),i.addEventListener("mouseup",()=>{s=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{s||(s=!1,t.classList.remove("has-focus"))}),Ae(t,i,r,e)}function Ae(t,e,n,r){n.addEventListener("input",ie(()=>{Ne(t,e,n,r)},200));let i=!1;n.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Ve(e,n):s.key=="Escape"?n.blur():s.key=="ArrowUp"?ue(e,-1):s.key==="ArrowDown"?ue(e,1):i=!1}),n.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!n.matches(":focus")&&s.key==="/"&&(n.focus(),s.preventDefault())})}function Ne(t,e,n,r){if(!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s;if(i){let o=i.split(" ").map(a=>a.length?`*${a}*`:"").join(" ");s=r.index.search(o)}else s=[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o`,d=ce(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=` - ${ce(l.parent,i)}.${d}`);let v=document.createElement("li");v.classList.value=l.classes??"";let f=document.createElement("a");f.href=r.base+l.url,f.innerHTML=u+d,v.append(f),e.appendChild(v)}}function ue(t,e){let n=t.querySelector(".current");if(!n)n=t.querySelector(e==1?"li:first-child":"li:last-child"),n&&n.classList.add("current");else{let r=n;if(e===1)do r=r.nextElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);else do r=r.previousElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);r&&(n.classList.remove("current"),r.classList.add("current"))}}function Ve(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),e.blur()}}function ce(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(K(t.substring(s,o)),`${K(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(K(t.substring(s))),i.join("")}var Be={"&":"&","<":"<",">":">","'":"'",'"':"""};function K(t){return t.replace(/[&<>"'"]/g,e=>Be[e])}var C=class{constructor(e){this.el=e.el,this.app=e.app}};var F="mousedown",pe="mousemove",B="mouseup",J={x:0,y:0},fe=!1,ee=!1,He=!1,D=!1,me=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(me?"is-mobile":"not-mobile");me&&"ontouchstart"in document.documentElement&&(He=!0,F="touchstart",pe="touchmove",B="touchend");document.addEventListener(F,t=>{ee=!0,D=!1;let e=F=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(pe,t=>{if(ee&&!D){let e=F=="touchstart"?t.targetTouches[0]:t,n=J.x-(e.pageX||0),r=J.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(B,()=>{ee=!1});document.addEventListener("click",t=>{fe&&(t.preventDefault(),t.stopImmediatePropagation(),fe=!1)});var X=class extends C{constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(B,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(F,n=>this.onDocumentPointerDown(n)),document.addEventListener(B,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var te;try{te=localStorage}catch{te={getItem(){return null},setItem(){}}}var Q=te;var ve=document.head.appendChild(document.createElement("style"));ve.dataset.for="filters";var Y=class extends C{constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),ve.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } -`,this.handleValueChange()}fromLocalStorage(){let e=Q.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){Q.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),document.querySelectorAll(".tsd-index-section").forEach(e=>{e.style.display="block";let n=Array.from(e.querySelectorAll(".tsd-index-link")).every(r=>r.offsetParent==null);e.style.display=n?"none":"block"})}};var Z=class extends C{constructor(e){super(e),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update());let r=this.summary.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)}),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function ge(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,ye(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),ye(t.value)})}function ye(t){document.documentElement.dataset.theme=t}var Le;function be(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",xe),xe())}async function xe(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let n=await(await fetch(window.navigationData)).arrayBuffer(),r=new Blob([n]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();Le=t.dataset.base+"/",t.innerHTML="";for(let s of i)we(s,t,[]);window.app.createComponents(t),window.app.ensureActivePageVisible()}function we(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-index-accordion`:"tsd-index-accordion",s.dataset.key=i.join("$");let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.innerHTML='',Ee(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let u of t.children)we(u,l,i)}else Ee(t,r,t.class)}function Ee(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));r.href=Le+t.path,n&&(r.className=n),location.href===r.href&&r.classList.add("current"),t.kind&&(r.innerHTML=``),r.appendChild(document.createElement("span")).textContent=t.text}else e.appendChild(document.createElement("span")).textContent=t.text}G(X,"a[data-toggle]");G(Z,".tsd-index-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var Se=document.getElementById("tsd-theme");Se&&ge(Se);var je=new U;Object.defineProperty(window,"app",{value:je});he();be();})(); -/*! Bundled license information: - -lunr/lunr.js: - (** - * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 - * Copyright (C) 2020 Oliver Nightingale - * @license MIT - *) - (*! - * lunr.utils - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Set - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.tokenizer - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Pipeline - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Vector - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.stemmer - * Copyright (C) 2020 Oliver Nightingale - * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt - *) - (*! - * lunr.stopWordFilter - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.trimmer - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.TokenSet - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Index - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Builder - * Copyright (C) 2020 Oliver Nightingale - *) -*/ diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js deleted file mode 100644 index 41849d7f9..000000000 --- a/docs/assets/navigation.js +++ /dev/null @@ -1 +0,0 @@ -window.navigationData = "data:application/octet-stream;base64,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" \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js deleted file mode 100644 index 3c2b8d632..000000000 --- a/docs/assets/search.js +++ /dev/null @@ -1 +0,0 @@ -window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/docs/assets/style.css b/docs/assets/style.css deleted file mode 100644 index 98a437794..000000000 --- a/docs/assets/style.css +++ /dev/null @@ -1,1414 +0,0 @@ -:root { - /* Light */ - --light-color-background: #f2f4f8; - --light-color-background-secondary: #eff0f1; - --light-color-warning-text: #222; - --light-color-background-warning: #e6e600; - --light-color-icon-background: var(--light-color-background); - --light-color-accent: #c5c7c9; - --light-color-active-menu-item: var(--light-color-accent); - --light-color-text: #222; - --light-color-text-aside: #6e6e6e; - --light-color-link: #1f70c2; - - --light-color-ts-keyword: #056bd6; - --light-color-ts-project: #b111c9; - --light-color-ts-module: var(--light-color-ts-project); - --light-color-ts-namespace: var(--light-color-ts-project); - --light-color-ts-enum: #7e6f15; - --light-color-ts-enum-member: var(--light-color-ts-enum); - --light-color-ts-variable: #4760ec; - --light-color-ts-function: #572be7; - --light-color-ts-class: #1f70c2; - --light-color-ts-interface: #108024; - --light-color-ts-constructor: var(--light-color-ts-class); - --light-color-ts-property: var(--light-color-ts-variable); - --light-color-ts-method: var(--light-color-ts-function); - --light-color-ts-call-signature: var(--light-color-ts-method); - --light-color-ts-index-signature: var(--light-color-ts-property); - --light-color-ts-constructor-signature: var(--light-color-ts-constructor); - --light-color-ts-parameter: var(--light-color-ts-variable); - /* type literal not included as links will never be generated to it */ - --light-color-ts-type-parameter: #a55c0e; - --light-color-ts-accessor: var(--light-color-ts-property); - --light-color-ts-get-signature: var(--light-color-ts-accessor); - --light-color-ts-set-signature: var(--light-color-ts-accessor); - --light-color-ts-type-alias: #d51270; - /* reference not included as links will be colored with the kind that it points to */ - - --light-external-icon: url("data:image/svg+xml;utf8,"); - --light-color-scheme: light; - - /* Dark */ - --dark-color-background: #2b2e33; - --dark-color-background-secondary: #1e2024; - --dark-color-background-warning: #bebe00; - --dark-color-warning-text: #222; - --dark-color-icon-background: var(--dark-color-background-secondary); - --dark-color-accent: #9096a2; - --dark-color-active-menu-item: #5d5d6a; - --dark-color-text: #f5f5f5; - --dark-color-text-aside: #dddddd; - --dark-color-link: #00aff4; - - --dark-color-ts-keyword: #3399ff; - --dark-color-ts-project: #e358ff; - --dark-color-ts-module: var(--dark-color-ts-project); - --dark-color-ts-namespace: var(--dark-color-ts-project); - --dark-color-ts-enum: #f4d93e; - --dark-color-ts-enum-member: var(--dark-color-ts-enum); - --dark-color-ts-variable: #798dff; - --dark-color-ts-function: #a280ff; - --dark-color-ts-class: #8ac4ff; - --dark-color-ts-interface: #6cff87; - --dark-color-ts-constructor: var(--dark-color-ts-class); - --dark-color-ts-property: var(--dark-color-ts-variable); - --dark-color-ts-method: var(--dark-color-ts-function); - --dark-color-ts-call-signature: var(--dark-color-ts-method); - --dark-color-ts-index-signature: var(--dark-color-ts-property); - --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); - --dark-color-ts-parameter: var(--dark-color-ts-variable); - /* type literal not included as links will never be generated to it */ - --dark-color-ts-type-parameter: #e07d13; - --dark-color-ts-accessor: var(--dark-color-ts-property); - --dark-color-ts-get-signature: var(--dark-color-ts-accessor); - --dark-color-ts-set-signature: var(--dark-color-ts-accessor); - --dark-color-ts-type-alias: #ff6492; - /* reference not included as links will be colored with the kind that it points to */ - - --dark-external-icon: url("data:image/svg+xml;utf8,"); - --dark-color-scheme: dark; -} - -@media (prefers-color-scheme: light) { - :root { - --color-background: var(--light-color-background); - --color-background-secondary: var(--light-color-background-secondary); - --color-background-warning: var(--light-color-background-warning); - --color-warning-text: var(--light-color-warning-text); - --color-icon-background: var(--light-color-icon-background); - --color-accent: var(--light-color-accent); - --color-active-menu-item: var(--light-color-active-menu-item); - --color-text: var(--light-color-text); - --color-text-aside: var(--light-color-text-aside); - --color-link: var(--light-color-link); - - --color-ts-keyword: var(--light-color-ts-keyword); - --color-ts-module: var(--light-color-ts-module); - --color-ts-namespace: var(--light-color-ts-namespace); - --color-ts-enum: var(--light-color-ts-enum); - --color-ts-enum-member: var(--light-color-ts-enum-member); - --color-ts-variable: var(--light-color-ts-variable); - --color-ts-function: var(--light-color-ts-function); - --color-ts-class: var(--light-color-ts-class); - --color-ts-interface: var(--light-color-ts-interface); - --color-ts-constructor: var(--light-color-ts-constructor); - --color-ts-property: var(--light-color-ts-property); - --color-ts-method: var(--light-color-ts-method); - --color-ts-call-signature: var(--light-color-ts-call-signature); - --color-ts-index-signature: var(--light-color-ts-index-signature); - --color-ts-constructor-signature: var( - --light-color-ts-constructor-signature - ); - --color-ts-parameter: var(--light-color-ts-parameter); - --color-ts-type-parameter: var(--light-color-ts-type-parameter); - --color-ts-accessor: var(--light-color-ts-accessor); - --color-ts-get-signature: var(--light-color-ts-get-signature); - --color-ts-set-signature: var(--light-color-ts-set-signature); - --color-ts-type-alias: var(--light-color-ts-type-alias); - - --external-icon: var(--light-external-icon); - --color-scheme: var(--light-color-scheme); - } -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--dark-color-background); - --color-background-secondary: var(--dark-color-background-secondary); - --color-background-warning: var(--dark-color-background-warning); - --color-warning-text: var(--dark-color-warning-text); - --color-icon-background: var(--dark-color-icon-background); - --color-accent: var(--dark-color-accent); - --color-active-menu-item: var(--dark-color-active-menu-item); - --color-text: var(--dark-color-text); - --color-text-aside: var(--dark-color-text-aside); - --color-link: var(--dark-color-link); - - --color-ts-keyword: var(--dark-color-ts-keyword); - --color-ts-module: var(--dark-color-ts-module); - --color-ts-namespace: var(--dark-color-ts-namespace); - --color-ts-enum: var(--dark-color-ts-enum); - --color-ts-enum-member: var(--dark-color-ts-enum-member); - --color-ts-variable: var(--dark-color-ts-variable); - --color-ts-function: var(--dark-color-ts-function); - --color-ts-class: var(--dark-color-ts-class); - --color-ts-interface: var(--dark-color-ts-interface); - --color-ts-constructor: var(--dark-color-ts-constructor); - --color-ts-property: var(--dark-color-ts-property); - --color-ts-method: var(--dark-color-ts-method); - --color-ts-call-signature: var(--dark-color-ts-call-signature); - --color-ts-index-signature: var(--dark-color-ts-index-signature); - --color-ts-constructor-signature: var( - --dark-color-ts-constructor-signature - ); - --color-ts-parameter: var(--dark-color-ts-parameter); - --color-ts-type-parameter: var(--dark-color-ts-type-parameter); - --color-ts-accessor: var(--dark-color-ts-accessor); - --color-ts-get-signature: var(--dark-color-ts-get-signature); - --color-ts-set-signature: var(--dark-color-ts-set-signature); - --color-ts-type-alias: var(--dark-color-ts-type-alias); - - --external-icon: var(--dark-external-icon); - --color-scheme: var(--dark-color-scheme); - } -} - -html { - color-scheme: var(--color-scheme); -} - -body { - margin: 0; -} - -:root[data-theme="light"] { - --color-background: var(--light-color-background); - --color-background-secondary: var(--light-color-background-secondary); - --color-background-warning: var(--light-color-background-warning); - --color-warning-text: var(--light-color-warning-text); - --color-icon-background: var(--light-color-icon-background); - --color-accent: var(--light-color-accent); - --color-active-menu-item: var(--light-color-active-menu-item); - --color-text: var(--light-color-text); - --color-text-aside: var(--light-color-text-aside); - --color-link: var(--light-color-link); - - --color-ts-keyword: var(--light-color-ts-keyword); - --color-ts-module: var(--light-color-ts-module); - --color-ts-namespace: var(--light-color-ts-namespace); - --color-ts-enum: var(--light-color-ts-enum); - --color-ts-enum-member: var(--light-color-ts-enum-member); - --color-ts-variable: var(--light-color-ts-variable); - --color-ts-function: var(--light-color-ts-function); - --color-ts-class: var(--light-color-ts-class); - --color-ts-interface: var(--light-color-ts-interface); - --color-ts-constructor: var(--light-color-ts-constructor); - --color-ts-property: var(--light-color-ts-property); - --color-ts-method: var(--light-color-ts-method); - --color-ts-call-signature: var(--light-color-ts-call-signature); - --color-ts-index-signature: var(--light-color-ts-index-signature); - --color-ts-constructor-signature: var( - --light-color-ts-constructor-signature - ); - --color-ts-parameter: var(--light-color-ts-parameter); - --color-ts-type-parameter: var(--light-color-ts-type-parameter); - --color-ts-accessor: var(--light-color-ts-accessor); - --color-ts-get-signature: var(--light-color-ts-get-signature); - --color-ts-set-signature: var(--light-color-ts-set-signature); - --color-ts-type-alias: var(--light-color-ts-type-alias); - - --external-icon: var(--light-external-icon); - --color-scheme: var(--light-color-scheme); -} - -:root[data-theme="dark"] { - --color-background: var(--dark-color-background); - --color-background-secondary: var(--dark-color-background-secondary); - --color-background-warning: var(--dark-color-background-warning); - --color-warning-text: var(--dark-color-warning-text); - --color-icon-background: var(--dark-color-icon-background); - --color-accent: var(--dark-color-accent); - --color-active-menu-item: var(--dark-color-active-menu-item); - --color-text: var(--dark-color-text); - --color-text-aside: var(--dark-color-text-aside); - --color-link: var(--dark-color-link); - - --color-ts-keyword: var(--dark-color-ts-keyword); - --color-ts-module: var(--dark-color-ts-module); - --color-ts-namespace: var(--dark-color-ts-namespace); - --color-ts-enum: var(--dark-color-ts-enum); - --color-ts-enum-member: var(--dark-color-ts-enum-member); - --color-ts-variable: var(--dark-color-ts-variable); - --color-ts-function: var(--dark-color-ts-function); - --color-ts-class: var(--dark-color-ts-class); - --color-ts-interface: var(--dark-color-ts-interface); - --color-ts-constructor: var(--dark-color-ts-constructor); - --color-ts-property: var(--dark-color-ts-property); - --color-ts-method: var(--dark-color-ts-method); - --color-ts-call-signature: var(--dark-color-ts-call-signature); - --color-ts-index-signature: var(--dark-color-ts-index-signature); - --color-ts-constructor-signature: var( - --dark-color-ts-constructor-signature - ); - --color-ts-parameter: var(--dark-color-ts-parameter); - --color-ts-type-parameter: var(--dark-color-ts-type-parameter); - --color-ts-accessor: var(--dark-color-ts-accessor); - --color-ts-get-signature: var(--dark-color-ts-get-signature); - --color-ts-set-signature: var(--dark-color-ts-set-signature); - --color-ts-type-alias: var(--dark-color-ts-type-alias); - - --external-icon: var(--dark-external-icon); - --color-scheme: var(--dark-color-scheme); -} - -.always-visible, -.always-visible .tsd-signatures { - display: inherit !important; -} - -h1, -h2, -h3, -h4, -h5, -h6 { - line-height: 1.2; -} - -h1 > a:not(.link), -h2 > a:not(.link), -h3 > a:not(.link), -h4 > a:not(.link), -h5 > a:not(.link), -h6 > a:not(.link) { - text-decoration: none; - color: var(--color-text); -} - -h1 { - font-size: 1.875rem; - margin: 0.67rem 0; -} - -h2 { - font-size: 1.5rem; - margin: 0.83rem 0; -} - -h3 { - font-size: 1.25rem; - margin: 1rem 0; -} - -h4 { - font-size: 1.05rem; - margin: 1.33rem 0; -} - -h5 { - font-size: 1rem; - margin: 1.5rem 0; -} - -h6 { - font-size: 0.875rem; - margin: 2.33rem 0; -} - -.uppercase { - text-transform: uppercase; -} - -dl, -menu, -ol, -ul { - margin: 1em 0; -} - -dd { - margin: 0 0 0 40px; -} - -.container { - max-width: 1700px; - padding: 0 2rem; -} - -/* Footer */ -.tsd-generator { - border-top: 1px solid var(--color-accent); - padding-top: 1rem; - padding-bottom: 1rem; - max-height: 3.5rem; -} - -.tsd-generator > p { - margin-top: 0; - margin-bottom: 0; - padding: 0 1rem; -} - -.container-main { - margin: 0 auto; - /* toolbar, footer, margin */ - min-height: calc(100vh - 41px - 56px - 4rem); -} - -@keyframes fade-in { - from { - opacity: 0; - } - to { - opacity: 1; - } -} -@keyframes fade-out { - from { - opacity: 1; - visibility: visible; - } - to { - opacity: 0; - } -} -@keyframes fade-in-delayed { - 0% { - opacity: 0; - } - 33% { - opacity: 0; - } - 100% { - opacity: 1; - } -} -@keyframes fade-out-delayed { - 0% { - opacity: 1; - visibility: visible; - } - 66% { - opacity: 0; - } - 100% { - opacity: 0; - } -} -@keyframes pop-in-from-right { - from { - transform: translate(100%, 0); - } - to { - transform: translate(0, 0); - } -} -@keyframes pop-out-to-right { - from { - transform: translate(0, 0); - visibility: visible; - } - to { - transform: translate(100%, 0); - } -} -body { - background: var(--color-background); - font-family: "Segoe UI", sans-serif; - font-size: 16px; - color: var(--color-text); -} - -a { - color: var(--color-link); - text-decoration: none; -} -a:hover { - text-decoration: underline; -} -a.external[target="_blank"] { - background-image: var(--external-icon); - background-position: top 3px right; - background-repeat: no-repeat; - padding-right: 13px; -} - -code, -pre { - font-family: Menlo, Monaco, Consolas, "Courier New", monospace; - padding: 0.2em; - margin: 0; - font-size: 0.875rem; - border-radius: 0.8em; -} - -pre { - position: relative; - white-space: pre; - white-space: pre-wrap; - word-wrap: break-word; - padding: 10px; - border: 1px solid var(--color-accent); -} -pre code { - padding: 0; - font-size: 100%; -} -pre > button { - position: absolute; - top: 10px; - right: 10px; - opacity: 0; - transition: opacity 0.1s; - box-sizing: border-box; -} -pre:hover > button, -pre > button.visible { - opacity: 1; -} - -blockquote { - margin: 1em 0; - padding-left: 1em; - border-left: 4px solid gray; -} - -.tsd-typography { - line-height: 1.333em; -} -.tsd-typography ul { - list-style: square; - padding: 0 0 0 20px; - margin: 0; -} -.tsd-typography .tsd-index-panel h3, -.tsd-index-panel .tsd-typography h3, -.tsd-typography h4, -.tsd-typography h5, -.tsd-typography h6 { - font-size: 1em; -} -.tsd-typography h5, -.tsd-typography h6 { - font-weight: normal; -} -.tsd-typography p, -.tsd-typography ul, -.tsd-typography ol { - margin: 1em 0; -} -.tsd-typography table { - border-collapse: collapse; - border: none; -} -.tsd-typography td, -.tsd-typography th { - padding: 6px 13px; - border: 1px solid var(--color-accent); -} -.tsd-typography thead, -.tsd-typography tr:nth-child(even) { - background-color: var(--color-background-secondary); -} - -.tsd-breadcrumb { - margin: 0; - padding: 0; - color: var(--color-text-aside); -} -.tsd-breadcrumb a { - color: var(--color-text-aside); - text-decoration: none; -} -.tsd-breadcrumb a:hover { - text-decoration: underline; -} -.tsd-breadcrumb li { - display: inline; -} -.tsd-breadcrumb li:after { - content: " / "; -} - -.tsd-comment-tags { - display: flex; - flex-direction: column; -} -dl.tsd-comment-tag-group { - display: flex; - align-items: center; - overflow: hidden; - margin: 0.5em 0; -} -dl.tsd-comment-tag-group dt { - display: flex; - margin-right: 0.5em; - font-size: 0.875em; - font-weight: normal; -} -dl.tsd-comment-tag-group dd { - margin: 0; -} -code.tsd-tag { - padding: 0.25em 0.4em; - border: 0.1em solid var(--color-accent); - margin-right: 0.25em; - font-size: 70%; -} -h1 code.tsd-tag:first-of-type { - margin-left: 0.25em; -} - -dl.tsd-comment-tag-group dd:before, -dl.tsd-comment-tag-group dd:after { - content: " "; -} -dl.tsd-comment-tag-group dd pre, -dl.tsd-comment-tag-group dd:after { - clear: both; -} -dl.tsd-comment-tag-group p { - margin: 0; -} - -.tsd-panel.tsd-comment .lead { - font-size: 1.1em; - line-height: 1.333em; - margin-bottom: 2em; -} -.tsd-panel.tsd-comment .lead:last-child { - margin-bottom: 0; -} - -.tsd-filter-visibility h4 { - font-size: 1rem; - padding-top: 0.75rem; - padding-bottom: 0.5rem; - margin: 0; -} -.tsd-filter-item:not(:last-child) { - margin-bottom: 0.5rem; -} -.tsd-filter-input { - display: flex; - width: fit-content; - width: -moz-fit-content; - align-items: center; - user-select: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - cursor: pointer; -} -.tsd-filter-input input[type="checkbox"] { - cursor: pointer; - position: absolute; - width: 1.5em; - height: 1.5em; - opacity: 0; -} -.tsd-filter-input input[type="checkbox"]:disabled { - pointer-events: none; -} -.tsd-filter-input svg { - cursor: pointer; - width: 1.5em; - height: 1.5em; - margin-right: 0.5em; - border-radius: 0.33em; - /* Leaving this at full opacity breaks event listeners on Firefox. - Don't remove unless you know what you're doing. */ - opacity: 0.99; -} -.tsd-filter-input input[type="checkbox"]:focus + svg { - transform: scale(0.95); -} -.tsd-filter-input input[type="checkbox"]:focus:not(:focus-visible) + svg { - transform: scale(1); -} -.tsd-checkbox-background { - fill: var(--color-accent); -} -input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { - stroke: var(--color-text); -} -.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { - fill: var(--color-background); - stroke: var(--color-accent); - stroke-width: 0.25rem; -} -.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { - stroke: var(--color-accent); -} - -.tsd-theme-toggle { - padding-top: 0.75rem; -} -.tsd-theme-toggle > h4 { - display: inline; - vertical-align: middle; - margin-right: 0.75rem; -} - -.tsd-hierarchy { - list-style: square; - margin: 0; -} -.tsd-hierarchy .target { - font-weight: bold; -} - -.tsd-full-hierarchy:not(:last-child) { - margin-bottom: 1em; - padding-bottom: 1em; - border-bottom: 1px solid var(--color-accent); -} -.tsd-full-hierarchy, -.tsd-full-hierarchy ul { - list-style: none; - margin: 0; - padding: 0; -} -.tsd-full-hierarchy ul { - padding-left: 1.5rem; -} -.tsd-full-hierarchy a { - padding: 0.25rem 0 !important; - font-size: 1rem; - display: inline-flex; - align-items: center; - color: var(--color-text); -} - -.tsd-panel-group.tsd-index-group { - margin-bottom: 0; -} -.tsd-index-panel .tsd-index-list { - list-style: none; - line-height: 1.333em; - margin: 0; - padding: 0.25rem 0 0 0; - overflow: hidden; - display: grid; - grid-template-columns: repeat(3, 1fr); - column-gap: 1rem; - grid-template-rows: auto; -} -@media (max-width: 1024px) { - .tsd-index-panel .tsd-index-list { - grid-template-columns: repeat(2, 1fr); - } -} -@media (max-width: 768px) { - .tsd-index-panel .tsd-index-list { - grid-template-columns: repeat(1, 1fr); - } -} -.tsd-index-panel .tsd-index-list li { - -webkit-page-break-inside: avoid; - -moz-page-break-inside: avoid; - -ms-page-break-inside: avoid; - -o-page-break-inside: avoid; - page-break-inside: avoid; -} - -.tsd-flag { - display: inline-block; - padding: 0.25em 0.4em; - border-radius: 4px; - color: var(--color-comment-tag-text); - background-color: var(--color-comment-tag); - text-indent: 0; - font-size: 75%; - line-height: 1; - font-weight: normal; -} - -.tsd-anchor { - position: relative; - top: -100px; -} - -.tsd-member { - position: relative; -} -.tsd-member .tsd-anchor + h3 { - display: flex; - align-items: center; - margin-top: 0; - margin-bottom: 0; - border-bottom: none; -} - -.tsd-navigation.settings { - margin: 1rem 0; -} -.tsd-navigation > a, -.tsd-navigation .tsd-accordion-summary { - width: calc(100% - 0.25rem); - display: flex; - align-items: center; -} -.tsd-navigation a, -.tsd-navigation summary > span, -.tsd-page-navigation a { - display: flex; - width: calc(100% - 0.25rem); - align-items: center; - padding: 0.25rem; - color: var(--color-text); - text-decoration: none; - box-sizing: border-box; -} -.tsd-navigation a.current, -.tsd-page-navigation a.current { - background: var(--color-active-menu-item); -} -.tsd-navigation a:hover, -.tsd-page-navigation a:hover { - text-decoration: underline; -} -.tsd-navigation ul, -.tsd-page-navigation ul { - margin-top: 0; - margin-bottom: 0; - padding: 0; - list-style: none; -} -.tsd-navigation li, -.tsd-page-navigation li { - padding: 0; - max-width: 100%; -} -.tsd-nested-navigation { - margin-left: 3rem; -} -.tsd-nested-navigation > li > details { - margin-left: -1.5rem; -} -.tsd-small-nested-navigation { - margin-left: 1.5rem; -} -.tsd-small-nested-navigation > li > details { - margin-left: -1.5rem; -} - -.tsd-page-navigation ul { - padding-left: 1.75rem; -} - -#tsd-sidebar-links a { - margin-top: 0; - margin-bottom: 0.5rem; - line-height: 1.25rem; -} -#tsd-sidebar-links a:last-of-type { - margin-bottom: 0; -} - -a.tsd-index-link { - padding: 0.25rem 0 !important; - font-size: 1rem; - line-height: 1.25rem; - display: inline-flex; - align-items: center; - color: var(--color-text); -} -.tsd-accordion-summary { - list-style-type: none; /* hide marker on non-safari */ - outline: none; /* broken on safari, so just hide it */ -} -.tsd-accordion-summary::-webkit-details-marker { - display: none; /* hide marker on safari */ -} -.tsd-accordion-summary, -.tsd-accordion-summary a { - user-select: none; - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - - cursor: pointer; -} -.tsd-accordion-summary a { - width: calc(100% - 1.5rem); -} -.tsd-accordion-summary > * { - margin-top: 0; - margin-bottom: 0; - padding-top: 0; - padding-bottom: 0; -} -.tsd-index-accordion .tsd-accordion-summary > svg { - margin-left: 0.25rem; -} -.tsd-index-content > :not(:first-child) { - margin-top: 0.75rem; -} -.tsd-index-heading { - margin-top: 1.5rem; - margin-bottom: 0.75rem; -} - -.tsd-kind-icon { - margin-right: 0.5rem; - width: 1.25rem; - height: 1.25rem; - min-width: 1.25rem; - min-height: 1.25rem; -} -.tsd-kind-icon path { - transform-origin: center; - transform: scale(1.1); -} -.tsd-signature > .tsd-kind-icon { - margin-right: 0.8rem; -} - -.tsd-panel { - margin-bottom: 2.5rem; -} -.tsd-panel.tsd-member { - margin-bottom: 4rem; -} -.tsd-panel:empty { - display: none; -} -.tsd-panel > h1, -.tsd-panel > h2, -.tsd-panel > h3 { - margin: 1.5rem -1.5rem 0.75rem -1.5rem; - padding: 0 1.5rem 0.75rem 1.5rem; -} -.tsd-panel > h1.tsd-before-signature, -.tsd-panel > h2.tsd-before-signature, -.tsd-panel > h3.tsd-before-signature { - margin-bottom: 0; - border-bottom: none; -} - -.tsd-panel-group { - margin: 4rem 0; -} -.tsd-panel-group.tsd-index-group { - margin: 2rem 0; -} -.tsd-panel-group.tsd-index-group details { - margin: 2rem 0; -} - -#tsd-search { - transition: background-color 0.2s; -} -#tsd-search .title { - position: relative; - z-index: 2; -} -#tsd-search .field { - position: absolute; - left: 0; - top: 0; - right: 2.5rem; - height: 100%; -} -#tsd-search .field input { - box-sizing: border-box; - position: relative; - top: -50px; - z-index: 1; - width: 100%; - padding: 0 10px; - opacity: 0; - outline: 0; - border: 0; - background: transparent; - color: var(--color-text); -} -#tsd-search .field label { - position: absolute; - overflow: hidden; - right: -40px; -} -#tsd-search .field input, -#tsd-search .title, -#tsd-toolbar-links a { - transition: opacity 0.2s; -} -#tsd-search .results { - position: absolute; - visibility: hidden; - top: 40px; - width: 100%; - margin: 0; - padding: 0; - list-style: none; - box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); -} -#tsd-search .results li { - background-color: var(--color-background); - line-height: initial; - padding: 4px; -} -#tsd-search .results li:nth-child(even) { - background-color: var(--color-background-secondary); -} -#tsd-search .results li.state { - display: none; -} -#tsd-search .results li.current:not(.no-results), -#tsd-search .results li:hover:not(.no-results) { - background-color: var(--color-accent); -} -#tsd-search .results a { - display: flex; - align-items: center; - padding: 0.25rem; - box-sizing: border-box; -} -#tsd-search .results a:before { - top: 10px; -} -#tsd-search .results span.parent { - color: var(--color-text-aside); - font-weight: normal; -} -#tsd-search.has-focus { - background-color: var(--color-accent); -} -#tsd-search.has-focus .field input { - top: 0; - opacity: 1; -} -#tsd-search.has-focus .title, -#tsd-search.has-focus #tsd-toolbar-links a { - z-index: 0; - opacity: 0; -} -#tsd-search.has-focus .results { - visibility: visible; -} -#tsd-search.loading .results li.state.loading { - display: block; -} -#tsd-search.failure .results li.state.failure { - display: block; -} - -#tsd-toolbar-links { - position: absolute; - top: 0; - right: 2rem; - height: 100%; - display: flex; - align-items: center; - justify-content: flex-end; -} -#tsd-toolbar-links a { - margin-left: 1.5rem; -} -#tsd-toolbar-links a:hover { - text-decoration: underline; -} - -.tsd-signature { - margin: 0 0 1rem 0; - padding: 1rem 0.5rem; - border: 1px solid var(--color-accent); - font-family: Menlo, Monaco, Consolas, "Courier New", monospace; - font-size: 14px; - overflow-x: auto; -} - -.tsd-signature-keyword { - color: var(--color-ts-keyword); - font-weight: normal; -} - -.tsd-signature-symbol { - color: var(--color-text-aside); - font-weight: normal; -} - -.tsd-signature-type { - font-style: italic; - font-weight: normal; -} - -.tsd-signatures { - padding: 0; - margin: 0 0 1em 0; - list-style-type: none; -} -.tsd-signatures .tsd-signature { - margin: 0; - border-color: var(--color-accent); - border-width: 1px 0; - transition: background-color 0.1s; -} -.tsd-description .tsd-signatures .tsd-signature { - border-width: 1px; -} - -ul.tsd-parameter-list, -ul.tsd-type-parameter-list { - list-style: square; - margin: 0; - padding-left: 20px; -} -ul.tsd-parameter-list > li.tsd-parameter-signature, -ul.tsd-type-parameter-list > li.tsd-parameter-signature { - list-style: none; - margin-left: -20px; -} -ul.tsd-parameter-list h5, -ul.tsd-type-parameter-list h5 { - font-size: 16px; - margin: 1em 0 0.5em 0; -} -.tsd-sources { - margin-top: 1rem; - font-size: 0.875em; -} -.tsd-sources a { - color: var(--color-text-aside); - text-decoration: underline; -} -.tsd-sources ul { - list-style: none; - padding: 0; -} - -.tsd-page-toolbar { - position: sticky; - z-index: 1; - top: 0; - left: 0; - width: 100%; - color: var(--color-text); - background: var(--color-background-secondary); - border-bottom: 1px var(--color-accent) solid; - transition: transform 0.3s ease-in-out; -} -.tsd-page-toolbar a { - color: var(--color-text); - text-decoration: none; -} -.tsd-page-toolbar a.title { - font-weight: bold; -} -.tsd-page-toolbar a.title:hover { - text-decoration: underline; -} -.tsd-page-toolbar .tsd-toolbar-contents { - display: flex; - justify-content: space-between; - height: 2.5rem; - margin: 0 auto; -} -.tsd-page-toolbar .table-cell { - position: relative; - white-space: nowrap; - line-height: 40px; -} -.tsd-page-toolbar .table-cell:first-child { - width: 100%; -} -.tsd-page-toolbar .tsd-toolbar-icon { - box-sizing: border-box; - line-height: 0; - padding: 12px 0; -} - -.tsd-widget { - display: inline-block; - overflow: hidden; - opacity: 0.8; - height: 40px; - transition: - opacity 0.1s, - background-color 0.2s; - vertical-align: bottom; - cursor: pointer; -} -.tsd-widget:hover { - opacity: 0.9; -} -.tsd-widget.active { - opacity: 1; - background-color: var(--color-accent); -} -.tsd-widget.no-caption { - width: 40px; -} -.tsd-widget.no-caption:before { - margin: 0; -} - -.tsd-widget.options, -.tsd-widget.menu { - display: none; -} -input[type="checkbox"] + .tsd-widget:before { - background-position: -120px 0; -} -input[type="checkbox"]:checked + .tsd-widget:before { - background-position: -160px 0; -} - -img { - max-width: 100%; -} - -.tsd-anchor-icon { - display: inline-flex; - align-items: center; - margin-left: 0.5rem; - vertical-align: middle; - color: var(--color-text); -} - -.tsd-anchor-icon svg { - width: 1em; - height: 1em; - visibility: hidden; -} - -.tsd-anchor-link:hover > .tsd-anchor-icon svg { - visibility: visible; -} - -.deprecated { - text-decoration: line-through !important; -} - -.warning { - padding: 1rem; - color: var(--color-warning-text); - background: var(--color-background-warning); -} - -.tsd-kind-project { - color: var(--color-ts-project); -} -.tsd-kind-module { - color: var(--color-ts-module); -} -.tsd-kind-namespace { - color: var(--color-ts-namespace); -} -.tsd-kind-enum { - color: var(--color-ts-enum); -} -.tsd-kind-enum-member { - color: var(--color-ts-enum-member); -} -.tsd-kind-variable { - color: var(--color-ts-variable); -} -.tsd-kind-function { - color: var(--color-ts-function); -} -.tsd-kind-class { - color: var(--color-ts-class); -} -.tsd-kind-interface { - color: var(--color-ts-interface); -} -.tsd-kind-constructor { - color: var(--color-ts-constructor); -} -.tsd-kind-property { - color: var(--color-ts-property); -} -.tsd-kind-method { - color: var(--color-ts-method); -} -.tsd-kind-call-signature { - color: var(--color-ts-call-signature); -} -.tsd-kind-index-signature { - color: var(--color-ts-index-signature); -} -.tsd-kind-constructor-signature { - color: var(--color-ts-constructor-signature); -} -.tsd-kind-parameter { - color: var(--color-ts-parameter); -} -.tsd-kind-type-literal { - color: var(--color-ts-type-literal); -} -.tsd-kind-type-parameter { - color: var(--color-ts-type-parameter); -} -.tsd-kind-accessor { - color: var(--color-ts-accessor); -} -.tsd-kind-get-signature { - color: var(--color-ts-get-signature); -} -.tsd-kind-set-signature { - color: var(--color-ts-set-signature); -} -.tsd-kind-type-alias { - color: var(--color-ts-type-alias); -} - -/* if we have a kind icon, don't color the text by kind */ -.tsd-kind-icon ~ span { - color: var(--color-text); -} - -* { - scrollbar-width: thin; - scrollbar-color: var(--color-accent) var(--color-icon-background); -} - -*::-webkit-scrollbar { - width: 0.75rem; -} - -*::-webkit-scrollbar-track { - background: var(--color-icon-background); -} - -*::-webkit-scrollbar-thumb { - background-color: var(--color-accent); - border-radius: 999rem; - border: 0.25rem solid var(--color-icon-background); -} - -/* mobile */ -@media (max-width: 769px) { - .tsd-widget.options, - .tsd-widget.menu { - display: inline-block; - } - - .container-main { - display: flex; - } - html .col-content { - float: none; - max-width: 100%; - width: 100%; - } - html .col-sidebar { - position: fixed !important; - overflow-y: auto; - -webkit-overflow-scrolling: touch; - z-index: 1024; - top: 0 !important; - bottom: 0 !important; - left: auto !important; - right: 0 !important; - padding: 1.5rem 1.5rem 0 0; - width: 75vw; - visibility: hidden; - background-color: var(--color-background); - transform: translate(100%, 0); - } - html .col-sidebar > *:last-child { - padding-bottom: 20px; - } - html .overlay { - content: ""; - display: block; - position: fixed; - z-index: 1023; - top: 0; - left: 0; - right: 0; - bottom: 0; - background-color: rgba(0, 0, 0, 0.75); - visibility: hidden; - } - - .to-has-menu .overlay { - animation: fade-in 0.4s; - } - - .to-has-menu .col-sidebar { - animation: pop-in-from-right 0.4s; - } - - .from-has-menu .overlay { - animation: fade-out 0.4s; - } - - .from-has-menu .col-sidebar { - animation: pop-out-to-right 0.4s; - } - - .has-menu body { - overflow: hidden; - } - .has-menu .overlay { - visibility: visible; - } - .has-menu .col-sidebar { - visibility: visible; - transform: translate(0, 0); - display: flex; - flex-direction: column; - gap: 1.5rem; - max-height: 100vh; - padding: 1rem 2rem; - } - .has-menu .tsd-navigation { - max-height: 100%; - } -} - -/* one sidebar */ -@media (min-width: 770px) { - .container-main { - display: grid; - grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); - grid-template-areas: "sidebar content"; - margin: 2rem auto; - } - - .col-sidebar { - grid-area: sidebar; - } - .col-content { - grid-area: content; - padding: 0 1rem; - } -} -@media (min-width: 770px) and (max-width: 1399px) { - .col-sidebar { - max-height: calc(100vh - 2rem - 42px); - overflow: auto; - position: sticky; - top: 42px; - padding-top: 1rem; - } - .site-menu { - margin-top: 1rem; - } -} - -/* two sidebars */ -@media (min-width: 1200px) { - .container-main { - grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax(0, 20rem); - grid-template-areas: "sidebar content toc"; - } - - .col-sidebar { - display: contents; - } - - .page-menu { - grid-area: toc; - padding-left: 1rem; - } - .site-menu { - grid-area: sidebar; - } - - .site-menu { - margin-top: 1rem 0; - } - - .page-menu, - .site-menu { - max-height: calc(100vh - 2rem - 42px); - overflow: auto; - position: sticky; - top: 42px; - } -} diff --git a/docs/classes/PDAUtil.html b/docs/classes/PDAUtil.html deleted file mode 100644 index 0cec8e541..000000000 --- a/docs/classes/PDAUtil.html +++ /dev/null @@ -1,17 +0,0 @@ -PDAUtil | @orca-so/whirlpools-sdk

Other

  • Parameters

    • sqrtPriceX64: BN
    • tickSpacing: number
    • whirlpool: PublicKey
    • programId: PublicKey
    • tickArrayOffset: number = 0

    Returns PDA

  • Get the PDA of the tick array containing tickIndex. -tickArrayOffset can be used to get neighboring tick arrays.

    -

    Parameters

    • tickIndex: number
    • tickSpacing: number
    • whirlpool: PublicKey
    • programId: PublicKey
    • tickArrayOffset: number = 0

    Returns PDA

  • Parameters

    • programId: PublicKey
    • whirlpoolsConfigKey: PublicKey
    • tokenMintAKey: PublicKey
    • tokenMintBKey: PublicKey
    • tickSpacing: number

    Returns PDA

Program Derived Addresses

  • Parameters

    • programId: PublicKey
    • positionBundleMintKey: PublicKey
    • bundleIndex: number

    Returns PDA

  • Parameters

    • programId: PublicKey
    • whirlpoolsConfigAddress: PublicKey

    Returns PDA

  • Parameters

    • programId: PublicKey
    • whirlpoolsConfigAddress: PublicKey
    • tickSpacing: number

    Returns PDA

  • Parameters

    • programId: PublicKey
    • whirlpoolAddress: PublicKey

    Returns PDA

  • Parameters

    • programId: PublicKey
    • positionMintKey: PublicKey

    Returns PDA

  • Parameters

    • programId: PublicKey
    • positionBundleMintKey: PublicKey

    Returns PDA

  • Parameters

    • positionBundleMintKey: PublicKey

    Returns PDA

  • Parameters

    • programId: PublicKey
    • whirlpoolAddress: PublicKey
    • startTick: number

    Returns PDA

  • Parameters

    • programId: PublicKey
    • whirlpoolsConfigAddress: PublicKey
    • tokenMintKey: PublicKey

    Returns PDA

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ParsableFeeTier.html b/docs/classes/ParsableFeeTier.html deleted file mode 100644 index d949f45c2..000000000 --- a/docs/classes/ParsableFeeTier.html +++ /dev/null @@ -1,2 +0,0 @@ -ParsableFeeTier | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ParsablePosition.html b/docs/classes/ParsablePosition.html deleted file mode 100644 index 484ed1d55..000000000 --- a/docs/classes/ParsablePosition.html +++ /dev/null @@ -1,2 +0,0 @@ -ParsablePosition | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ParsablePositionBundle.html b/docs/classes/ParsablePositionBundle.html deleted file mode 100644 index d5ae5059a..000000000 --- a/docs/classes/ParsablePositionBundle.html +++ /dev/null @@ -1,2 +0,0 @@ -ParsablePositionBundle | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ParsableTickArray.html b/docs/classes/ParsableTickArray.html deleted file mode 100644 index efbef75ef..000000000 --- a/docs/classes/ParsableTickArray.html +++ /dev/null @@ -1,2 +0,0 @@ -ParsableTickArray | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ParsableTokenBadge.html b/docs/classes/ParsableTokenBadge.html deleted file mode 100644 index ad500cb29..000000000 --- a/docs/classes/ParsableTokenBadge.html +++ /dev/null @@ -1,2 +0,0 @@ -ParsableTokenBadge | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ParsableWhirlpool.html b/docs/classes/ParsableWhirlpool.html deleted file mode 100644 index 4ae8e74db..000000000 --- a/docs/classes/ParsableWhirlpool.html +++ /dev/null @@ -1,2 +0,0 @@ -ParsableWhirlpool | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ParsableWhirlpoolsConfig.html b/docs/classes/ParsableWhirlpoolsConfig.html deleted file mode 100644 index bb256f044..000000000 --- a/docs/classes/ParsableWhirlpoolsConfig.html +++ /dev/null @@ -1,2 +0,0 @@ -ParsableWhirlpoolsConfig | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ParsableWhirlpoolsConfigExtension.html b/docs/classes/ParsableWhirlpoolsConfigExtension.html deleted file mode 100644 index ecdefec20..000000000 --- a/docs/classes/ParsableWhirlpoolsConfigExtension.html +++ /dev/null @@ -1,2 +0,0 @@ -ParsableWhirlpoolsConfigExtension | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/PoolGraphBuilder.html b/docs/classes/PoolGraphBuilder.html deleted file mode 100644 index 5a80a3087..000000000 --- a/docs/classes/PoolGraphBuilder.html +++ /dev/null @@ -1,13 +0,0 @@ -PoolGraphBuilder | @orca-so/whirlpools-sdk

A builder class for creating a PoolGraph

-

Note: we use an adjacency list as a representation of our pool graph, -since we assume that most token pairings don't exist as pools

-

Constructors

Methods

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/PoolGraphUtils.html b/docs/classes/PoolGraphUtils.html deleted file mode 100644 index 3db67d3b2..000000000 --- a/docs/classes/PoolGraphUtils.html +++ /dev/null @@ -1,13 +0,0 @@ -PoolGraphUtils | @orca-so/whirlpools-sdk

A utility class for working with pool graphs

-

Constructors

Properties

PATH_ID_DELIMITER: "-" = "-"

Methods

  • Deconstruct a path id into the two tokens it represents

    -

    Parameters

    • pathId: string

      The path id to deconstruct

      -

    Returns readonly [string, string]

    A tuple of the two tokens in the path id. Returns undefined if the provided pathId is invalid.

    -
  • Get a search path id from two tokens. The id can be used to identify a path between the two tokens in PathSearchEntries.

    -

    Parameters

    • tokenA: Address

      The first token in the path

      -
    • tokenB: Address

      The second token in the path

      -

    Returns string

    A path id that can be used to identify a path between the two tokens in PathSearchEntries.

    -

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/PoolUtil.html b/docs/classes/PoolUtil.html deleted file mode 100644 index 4ff5b6e58..000000000 --- a/docs/classes/PoolUtil.html +++ /dev/null @@ -1,28 +0,0 @@ -PoolUtil | @orca-so/whirlpools-sdk

Other

  • Return the corresponding token type (TokenA/B) for this mint key for a Whirlpool.

    -

    Parameters

    • pool: WhirlpoolData

      The Whirlpool to evaluate the mint against

      -
    • mint: PublicKey

      The token mint PublicKey

      -

    Returns undefined | TokenType

    The match result in the form of TokenType enum. undefined if the token mint is not part of the trade pair of the pool.

    -
  • Parameters

    • mintX: Address
    • mintY: Address

    Returns [Address, Address]

Whirlpool Utils

  • Estimate the liquidity amount required to increase/decrease liquidity.

    -

    // TODO: At the top end of the price range, tick calcuation is off therefore the results can be off

    -

    Parameters

    • currTick: number

      Whirlpool's current tick index (aka price)

      -
    • lowerTick: number

      Position lower tick index

      -
    • upperTick: number

      Position upper tick index

      -
    • tokenAmount: TokenAmounts

      The desired amount of tokens to deposit/withdraw

      -

    Returns BN

    An estimated amount of liquidity needed to deposit/withdraw the desired amount of tokens.

    -
  • Parameters

    • liquidity: BN
    • currentSqrtPrice: BN
    • lowerSqrtPrice: BN
    • upperSqrtPrice: BN
    • round_up: boolean

    Returns TokenAmounts

  • Given an arbitrary pair of token mints, this function returns an ordering of the token mints -in the format [base, quote]. USD based stable coins are prioritized as the quote currency -followed by variants of SOL.

    -

    Parameters

    • tokenMintAKey: PublicKey

      The mint of token A in the token pair.

      -
    • tokenMintBKey: PublicKey

      The mint of token B in the token pair.

      -

    Returns [PublicKey, PublicKey]

    A two-element array with the tokens sorted in the order of [baseToken, quoteToken].

    -

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/PositionBundleUtil.html b/docs/classes/PositionBundleUtil.html deleted file mode 100644 index 3e64f0a23..000000000 --- a/docs/classes/PositionBundleUtil.html +++ /dev/null @@ -1,40 +0,0 @@ -PositionBundleUtil | @orca-so/whirlpools-sdk

A collection of utility functions when interacting with a PositionBundle.

-

Methods

  • Check if the bundle index is in the correct range.

    -

    Parameters

    • bundleIndex: number

      The bundle index to be checked

      -

    Returns boolean

    true if bundle index is in the correct range

    -
  • Convert position bitmap to the array of boolean which represent if Bundled Position is open.

    -

    Parameters

    Returns boolean[]

    The array of boolean representing if Bundled Position is open

    -
  • Get the first unoccupied bundle index in the position bundle.

    -

    Parameters

    Returns null | number

    The first unoccupied bundle index, null if the position bundle is full

    -
  • Get all bundle indexes where the corresponding Bundled Position is open.

    -

    Parameters

    Returns number[]

    The array of bundle index where the corresponding Bundled Position is open

    -
  • Get all bundle indexes where the corresponding Bundled Position is not open.

    -

    Parameters

    Returns number[]

    The array of bundle index where the corresponding Bundled Position is not open

    -
  • Check if the Bundled Position corresponding to the bundle index has been opened.

    -

    Parameters

    • positionBundle: PositionBundleData

      The position bundle to be checked

      -
    • bundleIndex: number

      The bundle index to be checked

      -

    Returns boolean

    true if Bundled Position has been opened

    -
  • Check if the Bundled Position corresponding to the bundle index has not been opened.

    -

    Parameters

    • positionBundle: PositionBundleData

      The position bundle to be checked

      -
    • bundleIndex: number

      The bundle index to be checked

      -

    Returns boolean

    true if Bundled Position has not been opened

    -

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/PriceMath.html b/docs/classes/PriceMath.html deleted file mode 100644 index 1228bc8ea..000000000 --- a/docs/classes/PriceMath.html +++ /dev/null @@ -1,28 +0,0 @@ -PriceMath | @orca-so/whirlpools-sdk

A collection of utility functions to convert between price, tickIndex and sqrtPrice.

-

Constructors

Methods

  • Calculate the sqrtPriceX64 & tick index slippage price boundary for a given price and slippage. -Note: This function loses precision

    -

    Parameters

    • sqrtPriceX64: BN

      the sqrtPriceX64 to apply the slippage on

      -
    • slippage: Percentage

      the slippage to apply onto the sqrtPriceX64

      -

    Returns {
        lowerBound: [BN, number];
        upperBound: [BN, number];
    }

    the sqrtPriceX64 & tick index slippage price boundary

    -
    • lowerBound: [BN, number]
    • upperBound: [BN, number]
  • Utility to invert the price Pb/Pa to Pa/Pb -NOTE: precision is lost in this conversion

    -

    Parameters

    • price: Decimal

      Pb / Pa

      -
    • decimalsA: number

      Decimals of original token A (i.e. token A in the given Pb / Pa price)

      -
    • decimalsB: number

      Decimals of original token B (i.e. token B in the given Pb / Pa price)

      -

    Returns Decimal

    inverted price, i.e. Pa / Pb

    -
  • Utility to invert the sqrtPriceX64 from X64 repr. of sqrt(Pb/Pa) to X64 repr. of sqrt(Pa/Pb) -NOTE: precision is lost in this conversion

    -

    Parameters

    • sqrtPriceX64: BN

      X64 representation of sqrt(Pb / Pa)

      -

    Returns BN

    inverted sqrtPriceX64, i.e. X64 representation of sqrt(Pa / Pb)

    -
  • Parameters

    • price: Decimal
    • decimalsA: number
    • decimalsB: number
    • tickSpacing: number

    Returns number

  • Parameters

    • price: Decimal
    • decimalsA: number
    • decimalsB: number

    Returns BN

  • Parameters

    • price: Decimal
    • decimalsA: number
    • decimalsB: number

    Returns number

  • Parameters

    • sqrtPriceX64: BN
    • decimalsA: number
    • decimalsB: number

    Returns Decimal

  • Parameters

    • tickIndex: number
    • decimalsA: number
    • decimalsB: number

    Returns Decimal

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/PriceModule.html b/docs/classes/PriceModule.html deleted file mode 100644 index 3af786cef..000000000 --- a/docs/classes/PriceModule.html +++ /dev/null @@ -1,38 +0,0 @@ -PriceModule | @orca-so/whirlpools-sdk

PriceModule is a static class that provides functions for fetching and calculating -token prices for a set of pools or mints.

-

Deprecated

PriceModule will be removed in the future release. Please use endpoint which provides prices.

-

Other

  • Fetches and calculates the prices for a set of tokens. -This method will derive the pools that need to be queried from the mints and is not performant.

    -

    Parameters

    Returns Promise<PriceMap>

    A map of token addresses to prices.

    -

    Deprecated

    PriceModule will be removed in the future release. Please use endpoint which provides prices.

    -
  • Fetches and calculates the token prices from a set of pools.

    -

    Parameters

    Returns Promise<PriceMap>

    A map of token addresses to prices

    -

    Deprecated

    PriceModule will be removed in the future release. Please use endpoint which provides prices.

    -

PriceModule

  • Calculate the price of each token in the mints array.

    -

    Each token will be priced against the first quote token in the config.quoteTokens array -with sufficient liquidity. If a token does not have sufficient liquidity against the -first quote token, then it will be priced against the next quote token in the array. -If a token does not have sufficient liquidity against any quote token, -then the price will be set to null.

    -

    Parameters

    • mints: Address[]

      The mints to calculate prices for.

      -
    • priceCalcData: PriceCalculationData

      The data required to calculate prices.

      -
    • config: GetPricesConfig = defaultGetPricesConfig

      The configuration for the price calculation.

      -
    • thresholdConfig: GetPricesThresholdConfig = defaultGetPricesThresholdConfig

      The threshold configuration for the price calculation.

      -

    Returns PriceMap

    A map of token addresses to prices.

    -

    Deprecated

    PriceModule will be removed in the future release. Please use endpoint which provides prices.

    -

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/PriceModuleUtils.html b/docs/classes/PriceModuleUtils.html deleted file mode 100644 index 959767765..000000000 --- a/docs/classes/PriceModuleUtils.html +++ /dev/null @@ -1,28 +0,0 @@ -PriceModuleUtils | @orca-so/whirlpools-sdk

A list of utility functions for the price module.

-

Deprecated

PriceModule will be removed in the future release. Please use endpoint which provides prices.

-

Constructors

Methods

  • Fetch pool data for the given mints by deriving the PDA from all combinations of mints & tick-arrays. -Note that this method can be slow.

    -

    Parameters

    Returns Promise<PoolMap>

    A PoolMap of pool addresses to pool data.

    -

    Deprecated

    PriceModule will be removed in the future release. Please use endpoint which provides prices.

    -

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/RouterUtils.html b/docs/classes/RouterUtils.html deleted file mode 100644 index b8e98bc4f..000000000 --- a/docs/classes/RouterUtils.html +++ /dev/null @@ -1,31 +0,0 @@ -RouterUtils | @orca-so/whirlpools-sdk

A selection of utility functions for the WhirlpoolRouter.

-

Deprecated

WhirlpoolRouter will be removed in the future release. Please use endpoint which provides qoutes.

-

Constructors

Methods

  • Get the default options for generating trade routes.

    -

    Returns RoutingOptions

    Default options for generating trade routes.

    -

    Deprecated

    WhirlpoolRouter will be removed in the future release. Please use endpoint which provides qoutes.

    -
  • Calculate the price impact for a route.

    -

    Parameters

    • trade: Trade

      The trade the user used to derive the route.

      -
    • route: TradeRoute

      The route to calculate the price impact for.

      -

    Returns Decimal

    A Decimal object representing the percentage value of the price impact (ex. 3.01%)

    -

    Deprecated

    WhirlpoolRouter will be removed in the future release. Please use endpoint which provides qoutes.

    -
  • Get the tick arrays addresses that are touched by a route.

    -

    Parameters

    • route: TradeRoute

      The route to get the tick arrays from.

      -

    Returns PublicKey[]

    The tick arrays addresses that are touched by the route.

    -

    Deprecated

    WhirlpoolRouter will be removed in the future release. Please use endpoint which provides qoutes.

    -
  • Selects the best executable route from a list of routes using the current execution environment. -The wallet support type, available ATA accounts, existance of lookup tables all effect the transaction size -and eligibility of a route.

    -

    Parameters

    Returns Promise<null | ExecutableRoute>

    The best ExecutableRoute that can be used to execute a swap. If no executable route is found, null is returned.

    -

    Deprecated

    WhirlpoolRouter will be removed in the future release. Please use endpoint which provides qoutes.

    -

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/SwapUtils.html b/docs/classes/SwapUtils.html deleted file mode 100644 index a838c76ee..000000000 --- a/docs/classes/SwapUtils.html +++ /dev/null @@ -1,60 +0,0 @@ -SwapUtils | @orca-so/whirlpools-sdk

Other

  • Calculate the SwapInput parameters amount & otherAmountThreshold based on the amountIn & amountOut estimates from a quote.

    -

    Parameters

    • amount: BN

      The amount of tokens the user wanted to swap from.

      -
    • estAmountIn: BN

      The estimated amount of input tokens expected in a SwapQuote

      -
    • estAmountOut: BN

      The estimated amount of output tokens expected from a SwapQuote

      -
    • slippageTolerance: Percentage

      The amount of slippage to adjust for.

      -
    • amountSpecifiedIsInput: boolean

      Specifies the token the parameter amountrepresents in the swap quote. If true, the amount represents - the input token of the swap.

      -

    Returns Pick<SwapInput, "amount" | "otherAmountThreshold">

    A Partial SwapInput object containing the slippage adjusted 'amount' & 'otherAmountThreshold' parameters.

    -
  • Get the default values for the otherAmountThreshold parameter in a swap.

    -

    Parameters

    • amountSpecifiedIsInput: boolean

      The direction of a swap

      -

    Returns BN

    The default values for the otherAmountThreshold parameter in a swap.

    -
  • Get the default values for the sqrtPriceLimit parameter in a swap.

    -

    Parameters

    • aToB: boolean

      The direction of a swap

      -

    Returns BN

    The default values for the sqrtPriceLimit parameter in a swap.

    -
  • Given the intended token mint to swap, return the swap direction of a swap for a Whirlpool

    -

    Parameters

    • pool: WhirlpoolData

      The Whirlpool to evaluate the mint against

      -
    • swapTokenMint: PublicKey

      The token mint PublicKey the user bases their swap against

      -
    • swapTokenIsInput: boolean

      Whether the swap token is the input token. (similar to amountSpecifiedIsInput from swap Ix)

      -

    Returns undefined | SwapDirection

    The direction of the swap given the swapTokenMint. undefined if the token mint is not part of the trade pair of the pool.

    -
  • Parameters

    • quote: SwapInput
    • ctx: WhirlpoolContext
    • whirlpool: PublicKey
    • tokenVaultA: PublicKey
    • tokenVaultB: PublicKey
    • inputTokenAssociatedAddress: Address
    • outputTokenAssociatedAddress: Address
    • wallet: PublicKey

    Returns SwapParams

Whirlpool Utils

  • Given the current tick-index, returns the dervied PDA and fetched data -for the tick-arrays that this swap may traverse across.

    -

    Parameters

    • tickCurrentIndex: number

      The current tickIndex for the Whirlpool to swap on.

      -
    • tickSpacing: number

      The tickSpacing for the Whirlpool.

      -
    • aToB: boolean

      The direction of the trade.

      -
    • programId: PublicKey

      The Whirlpool programId which the Whirlpool lives on.

      -
    • whirlpoolAddress: PublicKey

      PublicKey of the whirlpool to swap on.

      -

    Returns PublicKey[]

    An array of PublicKey[] for the tickArray accounts that this swap may traverse across.

    -
  • Given the current tick-index, returns TickArray objects that this swap may traverse across.

    -

    Parameters

    • tickCurrentIndex: number

      The current tickIndex for the Whirlpool to swap on.

      -
    • tickSpacing: number

      The tickSpacing for the Whirlpool.

      -
    • aToB: boolean

      The direction of the trade.

      -
    • programId: PublicKey

      The Whirlpool programId which the Whirlpool lives on.

      -
    • whirlpoolAddress: PublicKey

      PublicKey of the whirlpool to swap on.

      -
    • fetcher: WhirlpoolAccountFetcherInterface
    • Optional opts: SimpleAccountFetchOptions

      an WhirlpoolAccountFetchOptions object to define fetch and cache options when accessing on-chain accounts

      -

    Returns Promise<TickArray[]>

    An array of PublicKey[] for the tickArray accounts that this swap may traverse across.

    -

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/TickArrayUtil.html b/docs/classes/TickArrayUtil.html deleted file mode 100644 index e77054447..000000000 --- a/docs/classes/TickArrayUtil.html +++ /dev/null @@ -1,24 +0,0 @@ -TickArrayUtil | @orca-so/whirlpools-sdk

A collection of utility functions when interacting with a TickArray.

-

Constructors

Methods

  • Return a sequence of tick array pdas based on the sequence start index.

    -

    Parameters

    • tick: number

      A tick in the first tick-array of your sequence

      -
    • tickSpacing: number

      Tick spacing for the whirlpool

      -
    • numOfTickArrays: number

      The number of TickArray PDAs to generate

      -
    • programId: PublicKey

      Program Id of the whirlpool for these tick-arrays

      -
    • whirlpoolAddress: PublicKey

      Address for the Whirlpool for these tick-arrays

      -
    • aToB: boolean

    Returns PDA[]

    TickArray PDAs for the sequence`

    -
  • Evaluate a list of tick-array data and return the array of indices which the tick-arrays are not initialized.

    -

    Parameters

    • tickArrays: readonly (null | TickArrayData)[]

      a list of TickArrayData or null objects from WhirlpoolAccountCacheInterface.getTickArrays

      -

    Returns number[]

    an array of array-index for the input tickArrays that requires initialization.

    -
  • Parameters

    Returns Promise<{
        pda: PDA;
        startIndex: number;
    }[]>

  • Return a string containing all of the uninitialized arrays in the provided addresses. -Useful for creating error messages.

    -

    Parameters

    Returns Promise<null | string>

    A string of all uninitialized tick array addresses, delimited by ",". Falsy value if all arrays are initialized.

    -

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/TickUtil.html b/docs/classes/TickUtil.html deleted file mode 100644 index 41563c6d9..000000000 --- a/docs/classes/TickUtil.html +++ /dev/null @@ -1,37 +0,0 @@ -TickUtil | @orca-so/whirlpools-sdk

A collection of utility functions when interacting with Ticks.

-

Methods

  • Get the next initialized tick index within the same tick array.

    -

    Parameters

    • account: TickArrayData
    • currentTickIndex: number
    • tickSpacing: number

    Returns null | number

  • Get the previous initialized tick index within the same tick array.

    -

    Parameters

    • account: TickArrayData
    • currentTickIndex: number
    • tickSpacing: number

    Returns null | number

  • Get the minimum and maximum tick index that can be initialized.

    -

    Parameters

    • tickSpacing: number

      The tickSpacing for the Whirlpool

      -

    Returns [number, number]

    An array of numbers where the first element is the minimum tick index and the second element is the maximum tick index.

    -
  • Get the nearest (rounding down) valid tick index from the tickIndex. -A valid tick index is a point on the tick spacing grid line.

    -

    Parameters

    • tickIndex: number
    • tickSpacing: number

    Returns number

  • Parameters

    • tickIndex: number
    • tickSpacing: number

    Returns number

  • Get the offset index to access a tick at a given tick-index in a tick-array

    -

    Parameters

    • tickIndex: number

      The tick index for the tick that this offset would access

      -
    • arrayStartIndex: number

      The starting tick for the array that this tick-index resides in

      -
    • tickSpacing: number

      The tickSpacing for the Whirlpool that this tickArray belongs to

      -

    Returns number

    The offset index that can access the desired tick at the given tick-array

    -
  • Parameters

    • tickIndex: number
    • tickSpacing: number

    Returns number

  • Get the startIndex of the tick array containing tickIndex.

    -

    Parameters

    • tickIndex: number
    • tickSpacing: number
    • offset: number = 0

      can be used to get neighboring tick array startIndex.

      -

    Returns number

  • Returns the tick for the inverse of the price that this tick represents. -Eg: Consider tick i where Pb/Pa = 1.0001 ^ i -inverse of this, i.e. Pa/Pb = 1 / (1.0001 ^ i) = 1.0001^-i

    -

    Parameters

    • tick: number

      The tick to invert

      -

    Returns number

  • Check if the tick range is the full range of the Whirlpool.

    -

    Parameters

    • tickSpacing: number

      The tickSpacing for the Whirlpool

      -
    • tickLowerIndex: number

      The lower tick index of the range

      -
    • tickUpperIndex: number

      The upper tick index of the range

      -

    Returns boolean

    true if the range is the full range of the Whirlpool, false otherwise.

    -

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/TokenExtensionUtil.html b/docs/classes/TokenExtensionUtil.html deleted file mode 100644 index d65064288..000000000 --- a/docs/classes/TokenExtensionUtil.html +++ /dev/null @@ -1,10 +0,0 @@ -TokenExtensionUtil | @orca-so/whirlpools-sdk

Constructors

Methods

  • Parameters

    • connection: Connection
    • tokenMintWithProgram: MintWithTokenProgram
    • source: PublicKey
    • destination: PublicKey
    • owner: PublicKey

    Returns Promise<undefined | AccountMeta[]>

  • Parameters

    • connection: Connection
    • tokenExtensionCtx: TokenExtensionContextForPool
    • sourceA: PublicKey
    • destinationA: PublicKey
    • ownerA: PublicKey
    • sourceB: PublicKey
    • destinationB: PublicKey
    • ownerB: PublicKey

    Returns Promise<{
        tokenTransferHookAccountsA: undefined | AccountMeta[];
        tokenTransferHookAccountsB: undefined | AccountMeta[];
    }>

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/WhirlpoolAccountFetcher.html b/docs/classes/WhirlpoolAccountFetcher.html deleted file mode 100644 index 24b066d54..000000000 --- a/docs/classes/WhirlpoolAccountFetcher.html +++ /dev/null @@ -1,97 +0,0 @@ -WhirlpoolAccountFetcher | @orca-so/whirlpools-sdk

Fetcher and cache layer for fetching WhirlpoolSupportedTypes from the network -Default implementation for WhirlpoolAccountFetcherInterface

-

Implements

Constructors

Properties

connection: Connection
fetcher: AccountFetcher<WhirlpoolSupportedTypes, SimpleAccountFetchOptions>

Methods

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/WhirlpoolContext.html b/docs/classes/WhirlpoolContext.html deleted file mode 100644 index bc5876871..000000000 --- a/docs/classes/WhirlpoolContext.html +++ /dev/null @@ -1,15 +0,0 @@ -WhirlpoolContext | @orca-so/whirlpools-sdk

Context for storing environment classes and objects for usage throughout the SDK

-

Constructors

Properties

accountResolverOpts: AccountResolverOptions
connection: Connection
lookupTableFetcher: undefined | LookupTableFetcher
program: Program<Whirlpool>
provider: AnchorProvider
txBuilderOpts: undefined | TransactionBuilderOptions
wallet: Wallet

Methods

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/WhirlpoolIx.html b/docs/classes/WhirlpoolIx.html deleted file mode 100644 index 82a5ae0b3..000000000 --- a/docs/classes/WhirlpoolIx.html +++ /dev/null @@ -1,331 +0,0 @@ -WhirlpoolIx | @orca-so/whirlpools-sdk

Instruction builders for the Whirlpools program.

-

Constructors

Methods

  • Close a bundled position in a Whirlpool.

    -

    Special Errors

    InvalidBundleIndex - If the provided bundle index is out of bounds. -ClosePositionNotEmpty - The provided position account is not empty.

    -

    Parameters

    • program: Program<Whirlpool>

      program object containing services required to generate the instruction

      -
    • params: CloseBundledPositionParams

      CloseBundledPositionParams object

      -

    Returns Instruction

      -
    • Instruction to perform the action.
    • -
    -
  • Close a position in a Whirlpool. Burns the position token in the owner's wallet.

    -

    Parameters

    • program: Program<Whirlpool>

      program object containing services required to generate the instruction

      -
    • params: ClosePositionParams

      ClosePositionParams object

      -

    Returns Instruction

      -
    • Instruction to perform the action.
    • -
    -
  • Collect fees accrued for this position. -Call updateFeesAndRewards before this to update the position to the newest accrued values.

    -

    Parameters

    • program: Program<Whirlpool>

      program object containing services required to generate the instruction

      -
    • params: CollectFeesParams

      CollectFeesParams object

      -

    Returns Instruction

      -
    • Instruction to perform the action.
    • -
    -
  • Parameters

    Returns Instruction

  • Collect protocol fees accrued in this Whirlpool.

    -

    Parameters

    • program: Program<Whirlpool>

      program object containing services required to generate the instruction

      -
    • params: CollectProtocolFeesParams

      CollectProtocolFeesParams object

      -

    Returns Instruction

      -
    • Instruction to perform the action.
    • -
    -
  • Collect rewards accrued for this reward index in a position. -Call updateFeesAndRewards before this to update the position to the newest accrued values.

    -

    Parameters

    • program: Program<Whirlpool>

      program object containing services required to generate the instruction

      -
    • params: CollectRewardParams

      CollectRewardParams object

      -

    Returns Instruction

      -
    • Instruction to perform the action.
    • -
    -
  • Parameters

    Returns Instruction

  • Remove liquidity to a position in the Whirlpool. This call also updates the position's accrued fees and rewards.

    -

    Special Errors

      -
    • LiquidityZero - Provided liquidity amount is zero.
    • -
    • LiquidityTooHigh - Provided liquidity exceeds u128::max.
    • -
    • TokenMinSubceeded - The required token to perform this operation subceeds the user defined amount.
    • -
    -

    Parameters

    • program: Program<Whirlpool>

      program object containing services required to generate the instruction

      -
    • params: DecreaseLiquidityParams

      DecreaseLiquidityParams object

      -

    Returns Instruction

      -
    • Instruction to perform the action.
    • -
    -
  • Deletes a PositionBundle account.

    -

    Special Errors

    PositionBundleNotDeletable - The provided position bundle has open positions.

    -

    Parameters

    • program: Program<Whirlpool>

      program object containing services required to generate the instruction

      -
    • params: DeletePositionBundleParams

      DeletePositionBundleParams object

      -

    Returns Instruction

      -
    • Instruction to perform the action.
    • -
    -
  • Add liquidity to a position in the Whirlpool. This call also updates the position's accrued fees and rewards.

    -

    Special Errors

    LiquidityZero - Provided liquidity amount is zero. -LiquidityTooHigh - Provided liquidity exceeds u128::max. -TokenMaxExceeded - The required token to perform this operation exceeds the user defined amount.

    -

    Parameters

    • program: Program<Whirlpool>

      program object containing services required to generate the instruction

      -
    • params: IncreaseLiquidityParams

      IncreaseLiquidityParams object

      -

    Returns Instruction

      -
    • Instruction to perform the action.
    • -
    -
  • Initializes a TickArray account.

    -

    Special Errors

    InvalidStartTick - if the provided start tick is out of bounds or is not a multiple of TICK_ARRAY_SIZE * tick spacing.

    -

    Parameters

    • program: Program<Whirlpool>

      program object containing services required to generate the instruction

      -
    • params: InitTickArrayParams

      InitTickArrayParams object

      -

    Returns Instruction

      -
    • Instruction to perform the action.
    • -
    -
  • Initializes a WhirlpoolsConfig account that hosts info & authorities -required to govern a set of Whirlpools.

    -

    Parameters

    • program: Program<Whirlpool>

      program object containing services required to generate the instruction

      -
    • params: InitConfigParams

      InitConfigParams object

      -

    Returns Instruction

      -
    • Instruction to perform the action.
    • -
    -
  • Initializes a fee tier account usable by Whirlpools in this WhirlpoolsConfig space.

    -

    Special Errors -FeeRateMaxExceeded - If the provided default_fee_rate exceeds MAX_FEE_RATE.

    -

    Parameters

    • program: Program<Whirlpool>

      program object containing services required to generate the instruction

      -
    • params: InitFeeTierParams

      InitFeeTierParams object

      -

    Returns Instruction

      -
    • Instruction to perform the action.
    • -
    -
  • Initializes a tick_array account to represent a tick-range in a Whirlpool.

    -

    Special Errors -InvalidTokenMintOrder - The order of mints have to be ordered by -SqrtPriceOutOfBounds - provided initial_sqrt_price is not between 2^-64 to 2^64

    -

    Parameters

    • program: Program<Whirlpool>

      program object containing services required to generate the instruction

      -
    • params: InitPoolParams

      InitPoolParams object

      -

    Returns Instruction

      -
    • Instruction to perform the action.
    • -
    -
  • Parameters

    Returns Instruction

  • Initializes a PositionBundle account.

    -

    Parameters

    • program: Program<Whirlpool>

      program object containing services required to generate the instruction

      -
    • params: InitializePositionBundleParams

      InitializePositionBundleParams object

      -

    Returns Instruction

      -
    • Instruction to perform the action.
    • -
    -
  • Initializes a PositionBundle account. -Additional Metaplex metadata is appended to identify the token.

    -

    Parameters

    • program: Program<Whirlpool>

      program object containing services required to generate the instruction

      -
    • params: InitializePositionBundleParams & {
          positionBundleMetadataPda: PDA;
      }

      InitializePositionBundleParams object

      -

    Returns Instruction

      -
    • Instruction to perform the action.
    • -
    -
  • Initialize reward for a Whirlpool. A pool can only support up to a set number of rewards. -The initial emissionsPerSecond is set to 0.

    -

    Special Errors

      -
    • InvalidRewardIndex - If the provided reward index doesn't match the lowest uninitialized index in this pool, - or exceeds NUM_REWARDS, or all reward slots for this pool has been initialized.
    • -
    -

    Parameters

    • program: Program<Whirlpool>

      program object containing services required to generate the instruction

      -
    • params: InitializeRewardParams

      InitializeRewardParams object

      -

    Returns Instruction

      -
    • Instruction to perform the action.
    • -
    -
  • Open a bundled position in a Whirlpool. -No new tokens are issued because the owner of the position bundle becomes the owner of the position. -The position will start off with 0 liquidity.

    -

    Special Errors

    InvalidBundleIndex - If the provided bundle index is out of bounds. -InvalidTickIndex - If a provided tick is out of bounds, out of order or not a multiple of the tick-spacing in this pool.

    -

    Parameters

    • program: Program<Whirlpool>

      program object containing services required to generate the instruction

      -
    • params: OpenBundledPositionParams

      OpenBundledPositionParams object

      -

    Returns Instruction

      -
    • Instruction to perform the action.
    • -
    -
  • Open a position in a Whirlpool. A unique token will be minted to represent the position in the users wallet. -The position will start off with 0 liquidity.

    -

    Special Errors

    InvalidTickIndex - If a provided tick is out of bounds, out of order or not a multiple of the tick-spacing in this pool.

    -

    Parameters

    • program: Program<Whirlpool>

      program object containing services required to generate the instruction

      -
    • params: OpenPositionParams

      OpenPositionParams object

      -

    Returns Instruction

      -
    • Instruction to perform the action.
    • -
    -
  • Open a position in a Whirlpool. A unique token will be minted to represent the position -in the users wallet. Additional Metaplex metadata is appended to identify the token. -The position will start off with 0 liquidity.

    -

    Special Errors

    InvalidTickIndex - If a provided tick is out of bounds, out of order or not a multiple of the tick-spacing in this pool.

    -

    Parameters

    • program: Program<Whirlpool>

      program object containing services required to generate the instruction

      -
    • params: OpenPositionParams & {
          metadataPda: PDA;
      }

      OpenPositionParams object and a derived PDA that hosts the position's metadata.

      -

    Returns Instruction

      -
    • Instruction to perform the action.
    • -
    -
  • Sets the fee authority to collect protocol fees for a WhirlpoolsConfig. -Only the current collect protocol fee authority has permission to invoke this instruction.

    -

    Parameters

    • program: Program<Whirlpool>

      program object containing services required to generate the instruction

      -
    • params: SetCollectProtocolFeesAuthorityParams

      SetCollectProtocolFeesAuthorityParams object

      -

    Returns Instruction

      -
    • Instruction to perform the action.
    • -
    -
  • Updates a fee tier account with a new default fee rate. The new rate will not retroactively update -initialized pools.

    -

    Special Errors

      -
    • FeeRateMaxExceeded - If the provided default_fee_rate exceeds MAX_FEE_RATE.
    • -
    -

    Parameters

    • program: Program<Whirlpool>

      program object containing services required to generate the instruction

      -
    • params: SetDefaultFeeRateParams

      SetDefaultFeeRateParams object

      -

    Returns Instruction

      -
    • Instruction to perform the action.
    • -
    -
  • Updates a WhirlpoolsConfig with a new default protocol fee rate. The new rate will not retroactively update -initialized pools.

    -

    Special Errors

      -
    • ProtocolFeeRateMaxExceeded - If the provided default_protocol_fee_rate exceeds MAX_PROTOCOL_FEE_RATE.
    • -
    -

    Parameters

    • program: Program<Whirlpool>

      program object containing services required to generate the instruction

      -
    • params: SetDefaultProtocolFeeRateParams

      SetDefaultFeeRateParams object

      -

    Returns Instruction

      -
    • Instruction to perform the action.
    • -
    -
  • Sets the fee authority for a WhirlpoolsConfig. -The fee authority can set the fee & protocol fee rate for individual pools or set the default fee rate for newly minted pools. -Only the current fee authority has permission to invoke this instruction.

    -

    Parameters

    • program: Program<Whirlpool>

      program object containing services required to generate the instruction

      -
    • params: SetFeeAuthorityParams

      SetFeeAuthorityParams object

      -

    Returns Instruction

      -
    • Instruction to perform the action.
    • -
    -
  • Sets the fee rate for a Whirlpool. -Only the current fee authority has permission to invoke this instruction.

    -

    Special Errors

      -
    • FeeRateMaxExceeded - If the provided fee_rate exceeds MAX_FEE_RATE.
    • -
    -

    Parameters

    • program: Program<Whirlpool>

      program object containing services required to generate the instruction

      -
    • params: SetFeeRateParams

      SetFeeRateParams object

      -

    Returns Instruction

      -
    • Instruction to perform the action.
    • -
    -
  • Sets the protocol fee rate for a Whirlpool. -Only the current fee authority has permission to invoke this instruction.

    -

    Special Errors

      -
    • ProtocolFeeRateMaxExceeded - If the provided default_protocol_fee_rate exceeds MAX_PROTOCOL_FEE_RATE.
    • -
    -

    Parameters

    • program: Program<Whirlpool>

      program object containing services required to generate the instruction

      -
    • params: SetProtocolFeeRateParams

      SetFeeRateParams object

      -

    Returns Instruction

      -
    • Instruction to perform the action.
    • -
    -
  • Set the whirlpool reward authority at the provided reward_index. -Only the current reward super authority has permission to invoke this instruction.

    -

    Special Errors

      -
    • InvalidRewardIndex - If the provided reward index doesn't match the lowest uninitialized index in this pool, - or exceeds NUM_REWARDS.
    • -
    -

    Parameters

    Returns Instruction

      -
    • Instruction to perform the action.
    • -
    -
  • Set the whirlpool reward authority at the provided reward_index. -Only the current reward authority for this reward index has permission to invoke this instruction.

    -

    Special Errors

      -
    • InvalidRewardIndex - If the provided reward index doesn't match the lowest uninitialized index in this pool, - or exceeds NUM_REWARDS.
    • -
    -

    Parameters

    • program: Program<Whirlpool>

      program object containing services required to generate the instruction

      -
    • params: SetRewardAuthorityParams

      SetRewardAuthorityParams object

      -

    Returns Instruction

      -
    • Instruction to perform the action.
    • -
    -
  • Set the reward emissions for a reward in a Whirlpool.

    -

    Special Errors

      -
    • RewardVaultAmountInsufficient - The amount of rewards in the reward vault cannot emit more than a day of desired emissions.
    • -
    • InvalidTimestamp - Provided timestamp is not in order with the previous timestamp.
    • -
    • InvalidRewardIndex - If the provided reward index doesn't match the lowest uninitialized index in this pool, - or exceeds NUM_REWARDS.
    • -
    -

    Parameters

    • program: Program<Whirlpool>

      program object containing services required to generate the instruction

      -
    • params: SetRewardEmissionsParams

      SetRewardEmissionsParams object

      -

    Returns Instruction

      -
    • Instruction to perform the action.
    • -
    -
  • Set the whirlpool reward super authority for a WhirlpoolsConfig -Only the current reward super authority has permission to invoke this instruction. -This instruction will not change the authority on any WhirlpoolRewardInfo whirlpool rewards.

    -

    Parameters

    • program: Program<Whirlpool>

      program object containing services required to generate the instruction

      -
    • params: SetRewardEmissionsSuperAuthorityParams

      SetRewardEmissionsSuperAuthorityParams object

      -

    Returns Instruction

      -
    • Instruction to perform the action.
    • -
    -
  • Perform a swap in this Whirlpool

    -

    Special Errors

      -
    • ZeroTradableAmount - User provided parameter amount is 0.
    • -
    • InvalidSqrtPriceLimitDirection - User provided parameter sqrt_price_limit does not match the direction of the trade.
    • -
    • SqrtPriceOutOfBounds - User provided parameter sqrt_price_limit is over Whirlppool's max/min bounds for sqrt-price.
    • -
    • InvalidTickArraySequence - User provided tick-arrays are not in sequential order required to proceed in this trade direction.
    • -
    • TickArraySequenceInvalidIndex - The swap loop attempted to access an invalid array index during the query of the next initialized tick.
    • -
    • TickArrayIndexOutofBounds - The swap loop attempted to access an invalid array index during tick crossing.
    • -
    • LiquidityOverflow - Liquidity value overflowed 128bits during tick crossing.
    • -
    • InvalidTickSpacing - The swap pool was initialized with tick-spacing of 0.
    • -
    -

    Parameters

    Parameters

    • program: Program<Whirlpool>

      program object containing services required to generate the instruction

      -
    • params: SwapParams

    Returns Instruction

      -
    • Instruction to perform the action.
    • -
    -
  • Parameters

    Returns Instruction

  • Perform a two-hop-swap in this Whirlpool

    -

    Special Errors

      -
    • ZeroTradableAmount - User provided parameter amount is 0.
    • -
    • InvalidSqrtPriceLimitDirection - User provided parameter sqrt_price_limit does not match the direction of the trade.
    • -
    • SqrtPriceOutOfBounds - User provided parameter sqrt_price_limit is over Whirlppool's max/min bounds for sqrt-price.
    • -
    • InvalidTickArraySequence - User provided tick-arrays are not in sequential order required to proceed in this trade direction.
    • -
    • TickArraySequenceInvalidIndex - The swap loop attempted to access an invalid array index during the query of the next initialized tick.
    • -
    • TickArrayIndexOutofBounds - The swap loop attempted to access an invalid array index during tick crossing.
    • -
    • LiquidityOverflow - Liquidity value overflowed 128bits during tick crossing.
    • -
    • InvalidTickSpacing - The swap pool was initialized with tick-spacing of 0.
    • -
    • DuplicateTwoHopPool - Swaps on the same pool are not allowed.
    • -
    • InvalidIntermediaryMint - The first and second leg of the hops do not share a common token.
    • -
    -

    Parameters

    Parameters

    • program: Program<Whirlpool>

      program object containing services required to generate the instruction

      -
    • params: TwoHopSwapParams

      TwoHopSwapParams object

      -

    Returns Instruction

      -
    • Instruction to perform the action.
    • -
    -
  • Parameters

    Returns Instruction

  • Update the accrued fees and rewards for a position.

    -

    Special Errors

    TickNotFound - Provided tick array account does not contain the tick for this position. -LiquidityZero - Position has zero liquidity and therefore already has the most updated fees and reward values.

    -

    Parameters

    • program: Program<Whirlpool>

      program object containing services required to generate the instruction

      -
    • params: UpdateFeesAndRewardsParams

      UpdateFeesAndRewardsParams object

      -

    Returns Instruction

      -
    • Instruction to perform the action.
    • -
    -

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/WhirlpoolRouterBuilder.html b/docs/classes/WhirlpoolRouterBuilder.html deleted file mode 100644 index b1dacfa33..000000000 --- a/docs/classes/WhirlpoolRouterBuilder.html +++ /dev/null @@ -1,16 +0,0 @@ -WhirlpoolRouterBuilder | @orca-so/whirlpools-sdk

Builder to build instances of the WhirlpoolRouter

-

Deprecated

WhirlpoolRouter will be removed in the future release. Please use endpoint which provides qoutes.

-

Constructors

Methods

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/enums/AccountName.html b/docs/enums/AccountName.html deleted file mode 100644 index 4246b4c16..000000000 --- a/docs/enums/AccountName.html +++ /dev/null @@ -1,10 +0,0 @@ -AccountName | @orca-so/whirlpools-sdk

Enumeration AccountName

Supported parasable account names from the Whirlpool contract.

-

Enumeration Members

FeeTier: "FeeTier"
Position: "Position"
PositionBundle: "PositionBundle"
TickArray: "TickArray"
TokenBadge: "TokenBadge"
Whirlpool: "Whirlpool"
WhirlpoolsConfig: "WhirlpoolsConfig"
WhirlpoolsConfigExtension: "WhirlpoolsConfigExtension"

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/enums/SwapDirection.html b/docs/enums/SwapDirection.html deleted file mode 100644 index 9d97409c0..000000000 --- a/docs/enums/SwapDirection.html +++ /dev/null @@ -1,4 +0,0 @@ -SwapDirection | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/enums/TokenType.html b/docs/enums/TokenType.html deleted file mode 100644 index 4dedb6236..000000000 --- a/docs/enums/TokenType.html +++ /dev/null @@ -1,4 +0,0 @@ -TokenType | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/buildDefaultAccountFetcher.html b/docs/functions/buildDefaultAccountFetcher.html deleted file mode 100644 index 042688f78..000000000 --- a/docs/functions/buildDefaultAccountFetcher.html +++ /dev/null @@ -1,4 +0,0 @@ -buildDefaultAccountFetcher | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/buildWhirlpoolClient.html b/docs/functions/buildWhirlpoolClient.html deleted file mode 100644 index 975170688..000000000 --- a/docs/functions/buildWhirlpoolClient.html +++ /dev/null @@ -1,4 +0,0 @@ -buildWhirlpoolClient | @orca-so/whirlpools-sdk

Function buildWhirlpoolClient

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/collectFeesQuote-1.html b/docs/functions/collectFeesQuote-1.html deleted file mode 100644 index b03cd8eb6..000000000 --- a/docs/functions/collectFeesQuote-1.html +++ /dev/null @@ -1,4 +0,0 @@ -collectFeesQuote | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/collectRewardsQuote-1.html b/docs/functions/collectRewardsQuote-1.html deleted file mode 100644 index 9111704a8..000000000 --- a/docs/functions/collectRewardsQuote-1.html +++ /dev/null @@ -1,4 +0,0 @@ -collectRewardsQuote | @orca-so/whirlpools-sdk

Function collectRewardsQuote

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/decreaseLiquidityQuoteByLiquidity.html b/docs/functions/decreaseLiquidityQuoteByLiquidity.html deleted file mode 100644 index 897a83d9a..000000000 --- a/docs/functions/decreaseLiquidityQuoteByLiquidity.html +++ /dev/null @@ -1,7 +0,0 @@ -decreaseLiquidityQuoteByLiquidity | @orca-so/whirlpools-sdk

Function decreaseLiquidityQuoteByLiquidity

  • Get an estimated quote on the minimum tokens receivable based on the desired withdraw liquidity value.

    -

    Parameters

    • liquidity: BN

      The desired liquidity to withdraw from the Whirlpool

      -
    • slippageTolerance: Percentage

      The maximum slippage allowed when calculating the minimum tokens received.

      -
    • position: Position

      A Position helper class to help interact with the Position account.

      -
    • whirlpool: Whirlpool

      A Whirlpool helper class to help interact with the Whirlpool account.

      -
    • tokenExtensionCtx: TokenExtensionContextForPool

    Returns DecreaseLiquidityQuote

    An DecreaseLiquidityQuote object detailing the tokenMin & liquidity values to use when calling decrease-liquidity-ix.

    -

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/decreaseLiquidityQuoteByLiquidityWithParams.html b/docs/functions/decreaseLiquidityQuoteByLiquidityWithParams.html deleted file mode 100644 index 661de5ada..000000000 --- a/docs/functions/decreaseLiquidityQuoteByLiquidityWithParams.html +++ /dev/null @@ -1,3 +0,0 @@ -decreaseLiquidityQuoteByLiquidityWithParams | @orca-so/whirlpools-sdk

Function decreaseLiquidityQuoteByLiquidityWithParams

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/decreaseLiquidityQuoteByLiquidityWithParamsUsingPriceSlippage.html b/docs/functions/decreaseLiquidityQuoteByLiquidityWithParamsUsingPriceSlippage.html deleted file mode 100644 index d8e43b241..000000000 --- a/docs/functions/decreaseLiquidityQuoteByLiquidityWithParamsUsingPriceSlippage.html +++ /dev/null @@ -1,5 +0,0 @@ -decreaseLiquidityQuoteByLiquidityWithParamsUsingPriceSlippage | @orca-so/whirlpools-sdk

Function decreaseLiquidityQuoteByLiquidityWithParamsUsingPriceSlippage

  • Get an estimated quote on the minimum tokens receivable based on the desired withdraw liquidity value. -This version calculates slippage based on price percentage movement, rather than setting the percentage threshold based on token estimates.

    -

    Parameters

    Returns DecreaseLiquidityQuote

    A DecreaseLiquidityQuote object detailing the tokenMin & liquidity values to use when calling decrease-liquidity-ix.

    -

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/getAccountSize.html b/docs/functions/getAccountSize.html deleted file mode 100644 index 51a292bdc..000000000 --- a/docs/functions/getAccountSize.html +++ /dev/null @@ -1,4 +0,0 @@ -getAccountSize | @orca-so/whirlpools-sdk
  • Get the size of an account owned by the Whirlpool program in bytes.

    -

    Parameters

    Returns number

    Size in bytes of the account

    -

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/getAllWhirlpoolAccountsForConfig.html b/docs/functions/getAllWhirlpoolAccountsForConfig.html deleted file mode 100644 index 4e8d829cc..000000000 --- a/docs/functions/getAllWhirlpoolAccountsForConfig.html +++ /dev/null @@ -1,4 +0,0 @@ -getAllWhirlpoolAccountsForConfig | @orca-so/whirlpools-sdk

Function getAllWhirlpoolAccountsForConfig

  • Retrieve a list of whirlpool addresses and accounts filtered by the given params using -getProgramAccounts.

    -

    Parameters

    • __namedParameters: {
          configId: Address;
          connection: Connection;
          programId: Address;
      }
      • configId: Address
      • connection: Connection
      • programId: Address

    Returns Promise<ReadonlyMap<string, WhirlpoolData>>

    tuple of whirlpool addresses and accounts

    -

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/increaseLiquidityQuoteByInputToken.html b/docs/functions/increaseLiquidityQuoteByInputToken.html deleted file mode 100644 index 8d09e949d..000000000 --- a/docs/functions/increaseLiquidityQuoteByInputToken.html +++ /dev/null @@ -1,9 +0,0 @@ -increaseLiquidityQuoteByInputToken | @orca-so/whirlpools-sdk

Function increaseLiquidityQuoteByInputToken

  • Get an estimated quote on the maximum tokens required to deposit based on a specified input token amount.

    -

    Parameters

    • inputTokenMint: Address

      The mint of the input token the user would like to deposit.

      -
    • inputTokenAmount: Decimal

      The amount of input tokens to deposit.

      -
    • tickLower: number

      The lower index of the position that we are withdrawing from.

      -
    • tickUpper: number

      The upper index of the position that we are withdrawing from.

      -
    • slippageTolerance: Percentage

      The maximum slippage allowed when calculating the minimum tokens received.

      -
    • whirlpool: Whirlpool

      A Whirlpool helper class to help interact with the Whirlpool account.

      -
    • tokenExtensionCtx: TokenExtensionContextForPool

    Returns IncreaseLiquidityQuote

    An IncreaseLiquidityInput object detailing the required token amounts & liquidity values to use when calling increase-liquidity-ix.

    -

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/increaseLiquidityQuoteByInputTokenUsingPriceSlippage.html b/docs/functions/increaseLiquidityQuoteByInputTokenUsingPriceSlippage.html deleted file mode 100644 index 759547763..000000000 --- a/docs/functions/increaseLiquidityQuoteByInputTokenUsingPriceSlippage.html +++ /dev/null @@ -1,10 +0,0 @@ -increaseLiquidityQuoteByInputTokenUsingPriceSlippage | @orca-so/whirlpools-sdk

Function increaseLiquidityQuoteByInputTokenUsingPriceSlippage

  • Get an estimated quote on the maximum tokens required to deposit based on a specified input token amount. -This new version calculates slippage based on price percentage movement, rather than setting the percentage threshold based on token estimates.

    -

    Parameters

    • inputTokenMint: Address

      The mint of the input token the user would like to deposit.

      -
    • inputTokenAmount: Decimal

      The amount of input tokens to deposit.

      -
    • tickLower: number

      The lower index of the position that we are depositing into.

      -
    • tickUpper: number

      The upper index of the position that we are depositing into.

      -
    • slippageTolerance: Percentage

      The maximum slippage allowed when calculating the minimum tokens received.

      -
    • whirlpool: Whirlpool

      A Whirlpool helper class to help interact with the Whirlpool account.

      -
    • tokenExtensionCtx: TokenExtensionContextForPool

    Returns IncreaseLiquidityQuote

    An IncreaseLiquidityInput object detailing the required token amounts & liquidity values to use when calling increase-liquidity-ix.

    -

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/increaseLiquidityQuoteByInputTokenWithParams.html b/docs/functions/increaseLiquidityQuoteByInputTokenWithParams.html deleted file mode 100644 index 7f8312ee2..000000000 --- a/docs/functions/increaseLiquidityQuoteByInputTokenWithParams.html +++ /dev/null @@ -1,4 +0,0 @@ -increaseLiquidityQuoteByInputTokenWithParams | @orca-so/whirlpools-sdk

Function increaseLiquidityQuoteByInputTokenWithParams

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/increaseLiquidityQuoteByInputTokenWithParamsUsingPriceSlippage.html b/docs/functions/increaseLiquidityQuoteByInputTokenWithParamsUsingPriceSlippage.html deleted file mode 100644 index 054a12ddc..000000000 --- a/docs/functions/increaseLiquidityQuoteByInputTokenWithParamsUsingPriceSlippage.html +++ /dev/null @@ -1,5 +0,0 @@ -increaseLiquidityQuoteByInputTokenWithParamsUsingPriceSlippage | @orca-so/whirlpools-sdk

Function increaseLiquidityQuoteByInputTokenWithParamsUsingPriceSlippage

  • Get an estimated quote on the maximum tokens required to deposit based on a specified input token amount. -This new version calculates slippage based on price percentage movement, rather than setting the percentage threshold based on token estimates.

    -

    Parameters

    Returns IncreaseLiquidityQuote

    An IncreaseLiquidityInput object detailing the required token amounts & liquidity values to use when calling increase-liquidity-ix.

    -

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/increaseLiquidityQuoteByLiquidityWithParams.html b/docs/functions/increaseLiquidityQuoteByLiquidityWithParams.html deleted file mode 100644 index ee96a2509..000000000 --- a/docs/functions/increaseLiquidityQuoteByLiquidityWithParams.html +++ /dev/null @@ -1 +0,0 @@ -increaseLiquidityQuoteByLiquidityWithParams | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/swapQuoteByInputToken.html b/docs/functions/swapQuoteByInputToken.html deleted file mode 100644 index 9e5060f7a..000000000 --- a/docs/functions/swapQuoteByInputToken.html +++ /dev/null @@ -1,9 +0,0 @@ -swapQuoteByInputToken | @orca-so/whirlpools-sdk

Function swapQuoteByInputToken

  • Get an estimated swap quote using input token amount.

    -

    Parameters

    • whirlpool: Whirlpool

      Whirlpool to perform the swap on

      -
    • inputTokenMint: Address

      PublicKey for the input token mint to swap with

      -
    • tokenAmount: BN

      The amount of input token to swap from

      -
    • slippageTolerance: Percentage

      The amount of slippage to account for in this quote

      -
    • programId: Address

      PublicKey for the Whirlpool ProgramId

      -
    • fetcher: WhirlpoolAccountFetcherInterface
    • Optional opts: SimpleAccountFetchOptions

      an WhirlpoolAccountFetchOptions object to define fetch and cache options when accessing on-chain accounts

      -

    Returns Promise<SwapQuote>

    a SwapQuote object with slippage adjusted SwapInput parameters & estimates on token amounts, fee & end whirlpool states.

    -

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/swapQuoteByInputTokenWithDevFees.html b/docs/functions/swapQuoteByInputTokenWithDevFees.html deleted file mode 100644 index dff158771..000000000 --- a/docs/functions/swapQuoteByInputTokenWithDevFees.html +++ /dev/null @@ -1,10 +0,0 @@ -swapQuoteByInputTokenWithDevFees | @orca-so/whirlpools-sdk

Function swapQuoteByInputTokenWithDevFees

  • Get an estimated swap quote using input token amount while collecting dev fees.

    -

    Parameters

    • whirlpool: Whirlpool

      Whirlpool to perform the swap on

      -
    • inputTokenMint: Address

      PublicKey for the input token mint to swap with

      -
    • tokenAmount: BN

      The amount of input token to swap from

      -
    • slippageTolerance: Percentage

      The amount of slippage to account for in this quote

      -
    • programId: Address

      PublicKey for the Whirlpool ProgramId

      -
    • fetcher: WhirlpoolAccountFetcherInterface
    • devFeePercentage: Percentage

      The percentage amount to send to developer wallet prior to the swap. Percentage num/dem values has to match token decimal.

      -
    • Optional opts: SimpleAccountFetchOptions

      an WhirlpoolAccountFetchOptions object to define fetch and cache options when accessing on-chain accounts

      -

    Returns Promise<DevFeeSwapQuote>

    a SwapQuote object with slippage adjusted SwapInput parameters & estimates on token amounts, fee & end whirlpool states.

    -

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/swapQuoteByOutputToken.html b/docs/functions/swapQuoteByOutputToken.html deleted file mode 100644 index 664385647..000000000 --- a/docs/functions/swapQuoteByOutputToken.html +++ /dev/null @@ -1,11 +0,0 @@ -swapQuoteByOutputToken | @orca-so/whirlpools-sdk

Function swapQuoteByOutputToken

  • Get an estimated swap quote using an output token amount.

    -

    Use this quote to get an estimated amount of input token needed to receive -the defined output token amount.

    -

    Parameters

    • whirlpool: Whirlpool

      Whirlpool to perform the swap on

      -
    • outputTokenMint: Address

      PublicKey for the output token mint to swap into

      -
    • tokenAmount: BN

      The maximum amount of output token to receive in this swap.

      -
    • slippageTolerance: Percentage

      The amount of slippage to account for in this quote

      -
    • programId: Address

      PublicKey for the Whirlpool ProgramId

      -
    • fetcher: WhirlpoolAccountFetcherInterface
    • Optional opts: SimpleAccountFetchOptions

      an WhirlpoolAccountFetchOptions object to define fetch and cache options when accessing on-chain accounts

      -

    Returns Promise<SwapQuote>

    a SwapQuote object with slippage adjusted SwapInput parameters & estimates on token amounts, fee & end whirlpool states.

    -

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/swapQuoteWithParams.html b/docs/functions/swapQuoteWithParams.html deleted file mode 100644 index 2a0397819..000000000 --- a/docs/functions/swapQuoteWithParams.html +++ /dev/null @@ -1,5 +0,0 @@ -swapQuoteWithParams | @orca-so/whirlpools-sdk

Function swapQuoteWithParams

  • Perform a sync swap quote based on the basic swap instruction parameters.

    -

    Parameters

    • params: SwapQuoteParam

      SwapQuote parameters

      -
    • slippageTolerance: Percentage

      The amount of slippage to account for when generating the final quote.

      -

    Returns SwapQuote

    a SwapQuote object with slippage adjusted SwapInput parameters & estimates on token amounts, fee & end whirlpool states.

    -

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/toTokenAmount.html b/docs/functions/toTokenAmount.html deleted file mode 100644 index 8a8c3e912..000000000 --- a/docs/functions/toTokenAmount.html +++ /dev/null @@ -1 +0,0 @@ -toTokenAmount | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/toTx.html b/docs/functions/toTx.html deleted file mode 100644 index 121817508..000000000 --- a/docs/functions/toTx.html +++ /dev/null @@ -1 +0,0 @@ -toTx | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/functions/twoHopSwapQuoteFromSwapQuotes.html b/docs/functions/twoHopSwapQuoteFromSwapQuotes.html deleted file mode 100644 index 027fd0978..000000000 --- a/docs/functions/twoHopSwapQuoteFromSwapQuotes.html +++ /dev/null @@ -1,2 +0,0 @@ -twoHopSwapQuoteFromSwapQuotes | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/hierarchy.html b/docs/hierarchy.html deleted file mode 100644 index 026295635..000000000 --- a/docs/hierarchy.html +++ /dev/null @@ -1 +0,0 @@ -@orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/index.html b/docs/index.html deleted file mode 100644 index 2fbad7302..000000000 --- a/docs/index.html +++ /dev/null @@ -1,13 +0,0 @@ -@orca-so/whirlpools-sdk

@orca-so/whirlpools-sdk

Whirlpools

Whirpools is an open-source concentrated liquidity AMM contract on the Solana blockchain. -The Whirlpools Typescript SDK (@orca-so/whirlpools-sdk) allows for easy interaction with a deployed Whirlpools program.

-

The contract has been audited by Kudelski and Neodyme.

-

Whirlpool SDK

Use the SDK to interact with a deployed Whirlpools program via Typescript.

-

Installation

In your package, run:

-
yarn add "@orca-so/whirlpools-sdk"
yarn add "@orca-so/common-sdk"
yarn add "@coral-xyz/anchor@0.29.0"
yarn add "@solana/web3.js"
yarn add "@solana/spl-token"
yarn add "decimal.js" -
-

Usage

Read instructions on how to use the SDK on the Orca Developer Portal.

-

Tests

To run tests for the SDK, setup your anchor environment and run:

-
anchor test
-
-

License

Apache 2.0

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/PoolTokenPair.html b/docs/interfaces/PoolTokenPair.html deleted file mode 100644 index 52d690102..000000000 --- a/docs/interfaces/PoolTokenPair.html +++ /dev/null @@ -1,5 +0,0 @@ -PoolTokenPair | @orca-so/whirlpools-sdk

An object containing the token pairs of a Whirlpool.

-
interface PoolTokenPair {
    address: Address;
    tokenMintA: Address;
    tokenMintB: Address;
}

Properties

address: Address
tokenMintA: Address
tokenMintB: Address

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/Position.html b/docs/interfaces/Position.html deleted file mode 100644 index 4afbfb21c..000000000 --- a/docs/interfaces/Position.html +++ /dev/null @@ -1,108 +0,0 @@ -Position | @orca-so/whirlpools-sdk

Helper class to interact with a Position account and build complex transactions.

-
interface Position {
    collectFees: ((updateFeesAndRewards?, ownerTokenAccountMap?, destinationWallet?, positionWallet?, ataPayer?, opts?) => Promise<TransactionBuilder>);
    collectRewards: ((rewardsToCollect?, updateFeesAndRewards?, ownerTokenAccountMap?, destinationWallet?, positionWallet?, ataPayer?, opts?) => Promise<TransactionBuilder[]>);
    decreaseLiquidity: ((liquidityInput, resolveATA?, destinationWallet?, positionWallet?, ataPayer?) => Promise<TransactionBuilder>);
    getAddress: (() => PublicKey);
    getData: (() => PositionData);
    getLowerTickData: (() => TickData);
    getUpperTickData: (() => TickData);
    getWhirlpoolData: (() => WhirlpoolData);
    increaseLiquidity: ((liquidityInput, resolveATA?, wallet?, positionWallet?, ataPayer?) => Promise<TransactionBuilder>);
    refreshData: (() => Promise<PositionData>);
}

Properties

collectFees: ((updateFeesAndRewards?, ownerTokenAccountMap?, destinationWallet?, positionWallet?, ataPayer?, opts?) => Promise<TransactionBuilder>)

Collect fees from this position

-

If positionWallet is provided, the wallet owners have to sign this transaction.

-

Type declaration

    • (updateFeesAndRewards?, ownerTokenAccountMap?, destinationWallet?, positionWallet?, ataPayer?, opts?): Promise<TransactionBuilder>
    • Collect fees from this position

      -

      If positionWallet is provided, the wallet owners have to sign this transaction.

      -

      Parameters

      • Optional updateFeesAndRewards: boolean

        if true, add instructions to refresh the accumulated fees and rewards data (default to true unless you know that the collect fees quote and on-chain data match for the "feeOwedA" and "feeOwedB" fields in the Position account)

        -
      • Optional ownerTokenAccountMap: Partial<Record<string, Address>>

        A record that maps a given mint to the owner's token account for that mint (if an entry doesn't exist, it will be automatically resolved)

        -
      • Optional destinationWallet: Address

        the wallet to deposit tokens into when withdrawing from the position. If null, the WhirlpoolContext wallet is used.

        -
      • Optional positionWallet: Address

        the wallet to that houses the position token. If null, the WhirlpoolContext wallet is used.

        -
      • Optional ataPayer: Address

        wallet that will fund the creation of the new associated token accounts

        -
      • Optional opts: SimpleAccountFetchOptions

        an options object to define fetch and cache options when accessing on-chain accounts

        -

      Returns Promise<TransactionBuilder>

      the transaction that will collect fees from the position

      -

Param: updateFeesAndRewards

if true, add instructions to refresh the accumulated fees and rewards data (default to true unless you know that the collect fees quote and on-chain data match for the "feeOwedA" and "feeOwedB" fields in the Position account)

-

Param: ownerTokenAccountMap

A record that maps a given mint to the owner's token account for that mint (if an entry doesn't exist, it will be automatically resolved)

-

Param: destinationWallet

the wallet to deposit tokens into when withdrawing from the position. If null, the WhirlpoolContext wallet is used.

-

Param: positionWallet

the wallet to that houses the position token. If null, the WhirlpoolContext wallet is used.

-

Param: ataPayer

wallet that will fund the creation of the new associated token accounts

-

Param: opts

an options object to define fetch and cache options when accessing on-chain accounts

-

Returns

the transaction that will collect fees from the position

-
collectRewards: ((rewardsToCollect?, updateFeesAndRewards?, ownerTokenAccountMap?, destinationWallet?, positionWallet?, ataPayer?, opts?) => Promise<TransactionBuilder[]>)

Collect rewards from this position

-

If positionWallet is provided, the wallet owners have to sign this transaction.

-

Type declaration

    • (rewardsToCollect?, updateFeesAndRewards?, ownerTokenAccountMap?, destinationWallet?, positionWallet?, ataPayer?, opts?): Promise<TransactionBuilder[]>
    • Collect rewards from this position

      -

      If positionWallet is provided, the wallet owners have to sign this transaction.

      -

      Parameters

      • Optional rewardsToCollect: Address[]

        reward mints to collect (omitting this parameter means all rewards will be collected)

        -
      • Optional updateFeesAndRewards: boolean

        if true, add instructions to refresh the accumulated fees and rewards data (default to true unless you know that the collect fees quote and on-chain data match for the "feeOwedA" and "feeOwedB" fields in the Position account)

        -
      • Optional ownerTokenAccountMap: Partial<Record<string, Address>>

        A record that maps a given mint to the owner's token account for that mint (if an entry doesn't exist, it will be automatically resolved)

        -
      • Optional destinationWallet: Address

        the wallet to deposit tokens into when withdrawing from the position. If null, the WhirlpoolContext wallet is used.

        -
      • Optional positionWallet: Address

        the wallet to that houses the position token. If null, the WhirlpoolContext wallet is used.

        -
      • Optional ataPayer: Address

        wallet that will fund the creation of the new associated token accounts

        -
      • Optional opts: SimpleAccountFetchOptions

        an options object to define fetch and cache options when accessing on-chain accounts

        -

      Returns Promise<TransactionBuilder[]>

      the transactions that will collect rewards from the position. The transactions must be executed serially.

      -

Param: rewardsToCollect

reward mints to collect (omitting this parameter means all rewards will be collected)

-

Param: updateFeesAndRewards

if true, add instructions to refresh the accumulated fees and rewards data (default to true unless you know that the collect fees quote and on-chain data match for the "feeOwedA" and "feeOwedB" fields in the Position account)

-

Param: ownerTokenAccountMap

A record that maps a given mint to the owner's token account for that mint (if an entry doesn't exist, it will be automatically resolved)

-

Param: destinationWallet

the wallet to deposit tokens into when withdrawing from the position. If null, the WhirlpoolContext wallet is used.

-

Param: positionWallet

the wallet to that houses the position token. If null, the WhirlpoolContext wallet is used.

-

Param: ataPayer

wallet that will fund the creation of the new associated token accounts

-

Param: opts

an options object to define fetch and cache options when accessing on-chain accounts

-

Returns

the transactions that will collect rewards from the position. The transactions must be executed serially.

-
decreaseLiquidity: ((liquidityInput, resolveATA?, destinationWallet?, positionWallet?, ataPayer?) => Promise<TransactionBuilder>)

Withdraw liquidity from this position.

-

If positionWallet is provided, the wallet owners have to sign this transaction.

-

Type declaration

    • (liquidityInput, resolveATA?, destinationWallet?, positionWallet?, ataPayer?): Promise<TransactionBuilder>
    • Withdraw liquidity from this position.

      -

      If positionWallet is provided, the wallet owners have to sign this transaction.

      -

      Parameters

      • liquidityInput: DecreaseLiquidityInput

        input that defines the desired liquidity amount and minimum tokens willing to be to withdrawn from the position.

        -
      • Optional resolveATA: boolean

        if true, add instructions to create associated token accounts for tokenA,B for the destinationWallet if necessary. (RPC call required)

        -
      • Optional destinationWallet: Address

        the wallet to deposit tokens into when withdrawing from the position. If null, the WhirlpoolContext wallet is used.

        -
      • Optional positionWallet: Address

        the wallet to that houses the position token. If null, the WhirlpoolContext wallet is used.

        -
      • Optional ataPayer: Address

        wallet that will fund the creation of the new associated token accounts

        -

      Returns Promise<TransactionBuilder>

      the transaction that will deposit the tokens into the position when executed.

      -

Param: liquidityInput

input that defines the desired liquidity amount and minimum tokens willing to be to withdrawn from the position.

-

Param: resolveATA

if true, add instructions to create associated token accounts for tokenA,B for the destinationWallet if necessary. (RPC call required)

-

Param: destinationWallet

the wallet to deposit tokens into when withdrawing from the position. If null, the WhirlpoolContext wallet is used.

-

Param: positionWallet

the wallet to that houses the position token. If null, the WhirlpoolContext wallet is used.

-

Param: ataPayer

wallet that will fund the creation of the new associated token accounts

-

Returns

the transaction that will deposit the tokens into the position when executed.

-
getAddress: (() => PublicKey)

Return the address for this Whirlpool instance.

-

Type declaration

    • (): PublicKey
    • Return the address for this Whirlpool instance.

      -

      Returns PublicKey

      the PublicKey for this Whirlpool instance.

      -

Returns

the PublicKey for this Whirlpool instance.

-
getData: (() => PositionData)

Return the most recently fetched Position account data.

-

Type declaration

    • (): PositionData
    • Return the most recently fetched Position account data.

      -

      Returns PositionData

      most recently fetched PositionData for this address.

      -

Returns

most recently fetched PositionData for this address.

-
getLowerTickData: (() => TickData)

Return the most recently fetched TickData account data for this position's lower tick.

-

Type declaration

    • (): TickData
    • Return the most recently fetched TickData account data for this position's lower tick.

      -

      Returns TickData

      most recently fetched TickData for this position's lower tick.

      -

Returns

most recently fetched TickData for this position's lower tick.

-
getUpperTickData: (() => TickData)

Return the most recently fetched TickData account data for this position's upper tick.

-

Type declaration

    • (): TickData
    • Return the most recently fetched TickData account data for this position's upper tick.

      -

      Returns TickData

      most recently fetched TickData for this position's upper tick.

      -

Returns

most recently fetched TickData for this position's upper tick.

-
getWhirlpoolData: (() => WhirlpoolData)

Return the most recently fetched Whirlpool account data for this position.

-

Type declaration

    • (): WhirlpoolData
    • Return the most recently fetched Whirlpool account data for this position.

      -

      Returns WhirlpoolData

      most recently fetched WhirlpoolData for this position.

      -

Returns

most recently fetched WhirlpoolData for this position.

-
increaseLiquidity: ((liquidityInput, resolveATA?, wallet?, positionWallet?, ataPayer?) => Promise<TransactionBuilder>)

Deposit additional tokens into this postiion. -The wallet must contain the position token and the necessary token A & B to complete the deposit. -If positionWallet and wallet is provided, the wallet owners have to sign this transaction.

-

Type declaration

    • (liquidityInput, resolveATA?, wallet?, positionWallet?, ataPayer?): Promise<TransactionBuilder>
    • Deposit additional tokens into this postiion. -The wallet must contain the position token and the necessary token A & B to complete the deposit. -If positionWallet and wallet is provided, the wallet owners have to sign this transaction.

      -

      Parameters

      • liquidityInput: IncreaseLiquidityInput

        input that defines the desired liquidity amount and maximum tokens willing to be to deposited.

        -
      • Optional resolveATA: boolean

        if true, add instructions to create associated token accounts for tokenA,B for the destinationWallet if necessary. (RPC call required)

        -
      • Optional wallet: Address

        to withdraw tokens to deposit into the position. If null, the WhirlpoolContext wallet is used.

        -
      • Optional positionWallet: Address

        the wallet to that houses the position token. If null, the WhirlpoolContext wallet is used.

        -
      • Optional ataPayer: Address

        wallet that will fund the creation of the new associated token accounts

        -

      Returns Promise<TransactionBuilder>

      the transaction that will deposit the tokens into the position when executed.

      -

Param: liquidityInput

input that defines the desired liquidity amount and maximum tokens willing to be to deposited.

-

Param: resolveATA

if true, add instructions to create associated token accounts for tokenA,B for the destinationWallet if necessary. (RPC call required)

-

Param: wallet

to withdraw tokens to deposit into the position. If null, the WhirlpoolContext wallet is used.

-

Param: positionWallet

the wallet to that houses the position token. If null, the WhirlpoolContext wallet is used.

-

Param: ataPayer

wallet that will fund the creation of the new associated token accounts

-

Returns

the transaction that will deposit the tokens into the position when executed.

-
refreshData: (() => Promise<PositionData>)

Fetch and return the most recently fetched Position account data.

-

Type declaration

    • (): Promise<PositionData>
    • Fetch and return the most recently fetched Position account data.

      -

      Returns Promise<PositionData>

      the most up to date PositionData for this address.

      -

Returns

the most up to date PositionData for this address.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/TickArrayRequest.html b/docs/interfaces/TickArrayRequest.html deleted file mode 100644 index 8391399ba..000000000 --- a/docs/interfaces/TickArrayRequest.html +++ /dev/null @@ -1,6 +0,0 @@ -TickArrayRequest | @orca-so/whirlpools-sdk

Interface TickArrayRequest

A request to fetch the tick-arrays that a swap may traverse across.

-
interface TickArrayRequest {
    aToB: boolean;
    tickCurrentIndex: number;
    tickSpacing: number;
    whirlpoolAddress: PublicKey;
}

Properties

aToB: boolean
tickCurrentIndex: number
tickSpacing: number
whirlpoolAddress: PublicKey

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/Whirlpool.html b/docs/interfaces/Whirlpool.html deleted file mode 100644 index 5c06b737f..000000000 --- a/docs/interfaces/Whirlpool.html +++ /dev/null @@ -1,140 +0,0 @@ -Whirlpool | @orca-so/whirlpools-sdk

Helper class to interact with a Whirlpool account and build complex transactions.

-
interface Whirlpool {
    closePosition: ((positionAddress, slippageTolerance, destinationWallet?, positionWallet?, payer?, usePriceSlippage?) => Promise<TransactionBuilder[]>);
    getAddress: (() => PublicKey);
    getData: (() => WhirlpoolData);
    getRewardInfos: (() => WhirlpoolRewardInfo[]);
    getTokenAInfo: (() => TokenInfo);
    getTokenBInfo: (() => TokenInfo);
    getTokenVaultAInfo: (() => AccountWithTokenProgram);
    getTokenVaultBInfo: (() => AccountWithTokenProgram);
    initTickArrayForTicks: ((ticks, funder?, opts?) => Promise<null | TransactionBuilder>);
    openPosition: ((tickLower, tickUpper, liquidityInput, wallet?, funder?, positionMint?) => Promise<{
        positionMint: PublicKey;
        tx: TransactionBuilder;
    }>);
    openPositionWithMetadata: ((tickLower, tickUpper, liquidityInput, wallet?, funder?, positionMint?) => Promise<{
        positionMint: PublicKey;
        tx: TransactionBuilder;
    }>);
    refreshData: (() => Promise<WhirlpoolData>);
    swap: ((input, wallet?) => Promise<TransactionBuilder>);
    swapWithDevFees: ((input, devFeeWallet, wallet?, payer?) => Promise<TransactionBuilder>);
}

Properties

closePosition: ((positionAddress, slippageTolerance, destinationWallet?, positionWallet?, payer?, usePriceSlippage?) => Promise<TransactionBuilder[]>)

Withdraw all tokens from a position, close the account and burn the position token.

-

Users have to collect all fees and rewards from this position prior to closing the account.

-

If positionWallet, payer is provided, the wallet owner has to sign this transaction.

-

Type declaration

    • (positionAddress, slippageTolerance, destinationWallet?, positionWallet?, payer?, usePriceSlippage?): Promise<TransactionBuilder[]>
    • Withdraw all tokens from a position, close the account and burn the position token.

      -

      Users have to collect all fees and rewards from this position prior to closing the account.

      -

      If positionWallet, payer is provided, the wallet owner has to sign this transaction.

      -

      Parameters

      • positionAddress: Address

        The address of the position account.

        -
      • slippageTolerance: Percentage

        The amount of slippage the caller is willing to accept when withdrawing liquidity.

        -
      • Optional destinationWallet: Address

        The wallet that the tokens withdrawn and rent lamports will be sent to. If null, the WhirlpoolContext wallet is used.

        -
      • Optional positionWallet: Address

        The wallet that houses the position token that corresponds to this position address. If null, the WhirlpoolContext wallet is used.

        -
      • Optional payer: Address

        the wallet that will fund the cost needed to initialize the token ATA accounts. If null, the WhirlpoolContext wallet is used.

        -
      • Optional usePriceSlippage: boolean

        if true, use the price slippage to calculate the minimum tokens to receive. If false, use the token slippage.

        -

      Returns Promise<TransactionBuilder[]>

      transactions that will close the position. The transactions must be executed serially.

      -

Param: positionAddress

The address of the position account.

-

Param: slippageTolerance

The amount of slippage the caller is willing to accept when withdrawing liquidity.

-

Param: destinationWallet

The wallet that the tokens withdrawn and rent lamports will be sent to. If null, the WhirlpoolContext wallet is used.

-

Param: positionWallet

The wallet that houses the position token that corresponds to this position address. If null, the WhirlpoolContext wallet is used.

-

Param: payer

the wallet that will fund the cost needed to initialize the token ATA accounts. If null, the WhirlpoolContext wallet is used.

-

Param: usePriceSlippage

if true, use the price slippage to calculate the minimum tokens to receive. If false, use the token slippage.

-

Returns

transactions that will close the position. The transactions must be executed serially.

-
getAddress: (() => PublicKey)

Return the address for this Whirlpool instance.

-

Type declaration

    • (): PublicKey
    • Return the address for this Whirlpool instance.

      -

      Returns PublicKey

      the PublicKey for this Whirlpool instance.

      -

Returns

the PublicKey for this Whirlpool instance.

-
getData: (() => WhirlpoolData)

Return the most recently fetched Whirlpool account data.

-

Type declaration

    • (): WhirlpoolData
    • Return the most recently fetched Whirlpool account data.

      -

      Returns WhirlpoolData

      most recently fetched WhirlpoolData for this address.

      -

Returns

most recently fetched WhirlpoolData for this address.

-
getRewardInfos: (() => WhirlpoolRewardInfo[])

Get the WhirlpoolRewardInfos for this pool.

-

Type declaration

    • (): WhirlpoolRewardInfo[]
    • Get the WhirlpoolRewardInfos for this pool.

      -

      Returns WhirlpoolRewardInfo[]

      Array of 3 WhirlpoolRewardInfos. However, not all of them may be initialized. Use the initialized field on WhirlpoolRewardInfo to check if the reward is active.

      -

Returns

Array of 3 WhirlpoolRewardInfos. However, not all of them may be initialized. Use the initialized field on WhirlpoolRewardInfo to check if the reward is active.

-
getTokenAInfo: (() => TokenInfo)

Get the TokenInfo for token A of this pool.

-

Type declaration

    • (): TokenInfo
    • Get the TokenInfo for token A of this pool.

      -

      Returns TokenInfo

      TokenInfo for token A

      -

Returns

TokenInfo for token A

-
getTokenBInfo: (() => TokenInfo)

Get the TokenInfo for token B of this pool.

-

Type declaration

    • (): TokenInfo
    • Get the TokenInfo for token B of this pool.

      -

      Returns TokenInfo

      TokenInfo for token B

      -

Returns

TokenInfo for token B

-
getTokenVaultAInfo: (() => AccountWithTokenProgram)

Get the TokenAccountInfo for token vault A of this pool.

-

Type declaration

    • (): AccountWithTokenProgram
    • Get the TokenAccountInfo for token vault A of this pool.

      -

      Returns AccountWithTokenProgram

      TokenAccountInfo for token vault A

      -

Returns

TokenAccountInfo for token vault A

-
getTokenVaultBInfo: (() => AccountWithTokenProgram)

Get the TokenAccountInfo for token vault B of this pool.

-

Type declaration

    • (): AccountWithTokenProgram
    • Get the TokenAccountInfo for token vault B of this pool.

      -

      Returns AccountWithTokenProgram

      TokenAccountInfo for token vault B

      -

Returns

TokenAccountInfo for token vault B

-
initTickArrayForTicks: ((ticks, funder?, opts?) => Promise<null | TransactionBuilder>)

Initialize a set of tick-arrays that encompasses the provided ticks.

-

If funder is provided, the funder wallet has to sign this transaction.

-

Type declaration

    • (ticks, funder?, opts?): Promise<null | TransactionBuilder>
    • Initialize a set of tick-arrays that encompasses the provided ticks.

      -

      If funder is provided, the funder wallet has to sign this transaction.

      -

      Parameters

      • ticks: number[]

        A group of ticks that define the desired tick-arrays to initialize. If the tick's array has been initialized, it will be ignored.

        -
      • Optional funder: Address

        the wallet that will fund the cost needed to initialize the position. If null, the WhirlpoolContext wallet is used.

        -
      • Optional opts: SimpleAccountFetchOptions

        an WhirlpoolAccountFetchOptions object to define fetch and cache options when accessing on-chain accounts

        -

      Returns Promise<null | TransactionBuilder>

      a transaction that will initialize the defined tick-arrays if executed. Return null if all of the tick's arrays are initialized.

      -

Param: ticks

A group of ticks that define the desired tick-arrays to initialize. If the tick's array has been initialized, it will be ignored.

-

Param: funder

the wallet that will fund the cost needed to initialize the position. If null, the WhirlpoolContext wallet is used.

-

Param: opts

an WhirlpoolAccountFetchOptions object to define fetch and cache options when accessing on-chain accounts

-

Returns

a transaction that will initialize the defined tick-arrays if executed. Return null if all of the tick's arrays are initialized.

-
openPosition: ((tickLower, tickUpper, liquidityInput, wallet?, funder?, positionMint?) => Promise<{
    positionMint: PublicKey;
    tx: TransactionBuilder;
}>)

Open and fund a position on this Whirlpool.

-

User has to ensure the TickArray for tickLower and tickUpper has been initialized prior to calling this function.

-

If wallet or funder is provided, those wallets have to sign this transaction.

-

Type declaration

    • (tickLower, tickUpper, liquidityInput, wallet?, funder?, positionMint?): Promise<{
          positionMint: PublicKey;
          tx: TransactionBuilder;
      }>
    • Open and fund a position on this Whirlpool.

      -

      User has to ensure the TickArray for tickLower and tickUpper has been initialized prior to calling this function.

      -

      If wallet or funder is provided, those wallets have to sign this transaction.

      -

      Parameters

      • tickLower: number

        the tick index for the lower bound of this position

        -
      • tickUpper: number

        the tick index for the upper bound of this position

        -
      • liquidityInput: IncreaseLiquidityInput

        an InputLiquidityInput type to define the desired liquidity amount to deposit

        -
      • Optional wallet: Address

        the wallet to withdraw tokens to deposit into the position and house the position token. If null, the WhirlpoolContext wallet is used.

        -
      • Optional funder: Address

        the wallet that will fund the cost needed to initialize the position. If null, the WhirlpoolContext wallet is used.

        -
      • Optional positionMint: PublicKey

        the mint address of the position token to be created. If null, a new mint address will be created.

        -

      Returns Promise<{
          positionMint: PublicKey;
          tx: TransactionBuilder;
      }>

      positionMint - the position to be created. tx - The transaction containing the instructions to perform the operation on chain.

      -

Param: tickLower

the tick index for the lower bound of this position

-

Param: tickUpper

the tick index for the upper bound of this position

-

Param: liquidityInput

an InputLiquidityInput type to define the desired liquidity amount to deposit

-

Param: wallet

the wallet to withdraw tokens to deposit into the position and house the position token. If null, the WhirlpoolContext wallet is used.

-

Param: funder

the wallet that will fund the cost needed to initialize the position. If null, the WhirlpoolContext wallet is used.

-

Param: positionMint

the mint address of the position token to be created. If null, a new mint address will be created.

-

Returns

positionMint - the position to be created. tx - The transaction containing the instructions to perform the operation on chain.

-
openPositionWithMetadata: ((tickLower, tickUpper, liquidityInput, wallet?, funder?, positionMint?) => Promise<{
    positionMint: PublicKey;
    tx: TransactionBuilder;
}>)

Open and fund a position with meta-data on this Whirlpool.

-

User has to ensure the TickArray for tickLower and tickUpper has been initialized prior to calling this function.

-

If wallet or funder is provided, the wallet owners have to sign this transaction.

-

Type declaration

    • (tickLower, tickUpper, liquidityInput, wallet?, funder?, positionMint?): Promise<{
          positionMint: PublicKey;
          tx: TransactionBuilder;
      }>
    • Open and fund a position with meta-data on this Whirlpool.

      -

      User has to ensure the TickArray for tickLower and tickUpper has been initialized prior to calling this function.

      -

      If wallet or funder is provided, the wallet owners have to sign this transaction.

      -

      Parameters

      • tickLower: number

        the tick index for the lower bound of this position

        -
      • tickUpper: number

        the tick index for the upper bound of this position

        -
      • liquidityInput: IncreaseLiquidityInput

        input that defines the desired liquidity amount and maximum tokens willing to be to deposited.

        -
      • Optional wallet: Address

        the wallet to withdraw tokens to deposit into the position and house the position token. If null, the WhirlpoolContext wallet is used.

        -
      • Optional funder: Address

        the wallet that will fund the cost needed to initialize the position. If null, the WhirlpoolContext wallet is used.

        -
      • Optional positionMint: PublicKey

        the mint address of the position token to be created. If null, a new mint address will be created.

        -

      Returns Promise<{
          positionMint: PublicKey;
          tx: TransactionBuilder;
      }>

      positionMint - the position to be created. tx - The transaction containing the instructions to perform the operation on chain.

      -

Param: tickLower

the tick index for the lower bound of this position

-

Param: tickUpper

the tick index for the upper bound of this position

-

Param: liquidityInput

input that defines the desired liquidity amount and maximum tokens willing to be to deposited.

-

Param: wallet

the wallet to withdraw tokens to deposit into the position and house the position token. If null, the WhirlpoolContext wallet is used.

-

Param: funder

the wallet that will fund the cost needed to initialize the position. If null, the WhirlpoolContext wallet is used.

-

Param: positionMint

the mint address of the position token to be created. If null, a new mint address will be created.

-

Returns

positionMint - the position to be created. tx - The transaction containing the instructions to perform the operation on chain.

-
refreshData: (() => Promise<WhirlpoolData>)

Fetch and return the most recently fetched Whirlpool account data.

-

Type declaration

    • (): Promise<WhirlpoolData>
    • Fetch and return the most recently fetched Whirlpool account data.

      -

      Returns Promise<WhirlpoolData>

      the most up to date WhirlpoolData for this address.

      -

Returns

the most up to date WhirlpoolData for this address.

-
swap: ((input, wallet?) => Promise<TransactionBuilder>)

Perform a swap between tokenA and tokenB on this pool.

-

Type declaration

    • (input, wallet?): Promise<TransactionBuilder>
    • Perform a swap between tokenA and tokenB on this pool.

      -

      Parameters

      • input: SwapInput

        A quote on the desired tokenIn and tokenOut for this swap. Use swapQuoteWithParams or other swap quote functions to generate this object.

        -
      • Optional wallet: PublicKey

        The wallet that tokens will be withdrawn and deposit into. If null, the WhirlpoolContext wallet is used.

        -

      Returns Promise<TransactionBuilder>

      a transaction that will perform the swap once executed.

      -

Param: input

A quote on the desired tokenIn and tokenOut for this swap. Use swapQuoteWithParams or other swap quote functions to generate this object.

-

Param: wallet

The wallet that tokens will be withdrawn and deposit into. If null, the WhirlpoolContext wallet is used.

-

Returns

a transaction that will perform the swap once executed.

-
swapWithDevFees: ((input, devFeeWallet, wallet?, payer?) => Promise<TransactionBuilder>)

Collect a developer fee and perform a swap between tokenA and tokenB on this pool.

-

Type declaration

    • (input, devFeeWallet, wallet?, payer?): Promise<TransactionBuilder>
    • Collect a developer fee and perform a swap between tokenA and tokenB on this pool.

      -

      Parameters

      • input: DevFeeSwapInput

        A quote on the desired tokenIn and tokenOut for this swap. Use swapQuoteByInputTokenWithDevFees to generate this object.

        -
      • devFeeWallet: PublicKey

        The wallet that developer fees will be deposited into.

        -
      • Optional wallet: PublicKey

        The wallet that swap tokens will be withdrawn and deposit into. If null, the WhirlpoolContext wallet is used.

        -
      • Optional payer: PublicKey

        The wallet that will fund the cost needed to initialize the dev wallet token ATA accounts. If null, the WhirlpoolContext wallet is used.

        -

      Returns Promise<TransactionBuilder>

      a transaction that will perform the swap once executed.

      -

Param: input

A quote on the desired tokenIn and tokenOut for this swap. Use swapQuoteByInputTokenWithDevFees to generate this object.

-

Param: devFeeWallet

The wallet that developer fees will be deposited into.

-

Param: wallet

The wallet that swap tokens will be withdrawn and deposit into. If null, the WhirlpoolContext wallet is used.

-

Param: payer

The wallet that will fund the cost needed to initialize the dev wallet token ATA accounts. If null, the WhirlpoolContext wallet is used.

-

Returns

a transaction that will perform the swap once executed.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/WhirlpoolAccountFetcherInterface.html b/docs/interfaces/WhirlpoolAccountFetcherInterface.html deleted file mode 100644 index cba7650ca..000000000 --- a/docs/interfaces/WhirlpoolAccountFetcherInterface.html +++ /dev/null @@ -1,93 +0,0 @@ -WhirlpoolAccountFetcherInterface | @orca-so/whirlpools-sdk

Interface WhirlpoolAccountFetcherInterface

Fetcher interface for fetching WhirlpoolSupportedTypes from the network

-
interface WhirlpoolAccountFetcherInterface {
    getAccountRentExempt(refresh?): Promise<number>;
    getConfig(address, opts?): Promise<null | WhirlpoolsConfigData>;
    getConfigExtension(address, opts?): Promise<null | WhirlpoolsConfigExtensionData>;
    getConfigExtensions(addresses, opts?): Promise<ReadonlyMap<string, null | WhirlpoolsConfigExtensionData>>;
    getConfigs(addresses, opts?): Promise<ReadonlyMap<string, null | WhirlpoolsConfigData>>;
    getEpoch(refresh?): Promise<number>;
    getFeeTier(address, opts?): Promise<null | FeeTierData>;
    getFeeTiers(addresses, opts?): Promise<ReadonlyMap<string, null | FeeTierData>>;
    getMintInfo(address, opts?): Promise<null | MintWithTokenProgram>;
    getMintInfos(addresses, opts?): Promise<ReadonlyMap<string, null | MintWithTokenProgram>>;
    getPool(address, opts?): Promise<null | WhirlpoolData>;
    getPools(addresses, opts?): Promise<ReadonlyMap<string, null | WhirlpoolData>>;
    getPosition(address, opts?): Promise<null | PositionData>;
    getPositionBundle(address, opts?): Promise<null | PositionBundleData>;
    getPositionBundles(addresses, opts?): Promise<ReadonlyMap<string, null | PositionBundleData>>;
    getPositions(addresses, opts?): Promise<ReadonlyMap<string, null | PositionData>>;
    getTickArray(address, opts?): Promise<null | TickArrayData>;
    getTickArrays(addresses, opts?): Promise<readonly (null | TickArrayData)[]>;
    getTokenBadge(address, opts?): Promise<null | TokenBadgeData>;
    getTokenBadges(addresses, opts?): Promise<ReadonlyMap<string, null | TokenBadgeData>>;
    getTokenInfo(address, opts?): Promise<null | AccountWithTokenProgram>;
    getTokenInfos(addresses, opts?): Promise<ReadonlyMap<string, null | AccountWithTokenProgram>>;
    populateCache<T>(accounts, parser, now): void;
}

Implemented by

Methods

  • Fetch and cache the rent exempt value

    -

    Parameters

    • Optional refresh: boolean

      If true, will always fetch from the network

      -

    Returns Promise<number>

  • Fetch and cache the current epoch info

    -

    Parameters

    • Optional refresh: boolean

      If true, will always fetch from the network

      -

    Returns Promise<number>

  • Fetch and cache the account for a given Mint address

    -

    Parameters

    • address: Address

      The address of the mint account

      -
    • Optional opts: SimpleAccountFetchOptions

      WhirlpoolAccountFetchOptions instance to dictate fetch behavior

      -

    Returns Promise<null | MintWithTokenProgram>

  • Fetch and cache the accounts for a given array of Mint addresses

    -

    Parameters

    • addresses: Address[]

      The array of mint account addresses

      -
    • Optional opts: SimpleAccountFetchOptions

      WhirlpoolAccountFetchOptions instance to dictate fetch behavior

      -

    Returns Promise<ReadonlyMap<string, null | MintWithTokenProgram>>

  • Fetch and cache the account for a given TokenAccount address

    -

    Parameters

    • address: Address

      The address of the token account

      -
    • Optional opts: SimpleAccountFetchOptions

      WhirlpoolAccountFetchOptions instance to dictate fetch behavior

      -

    Returns Promise<null | AccountWithTokenProgram>

  • Fetch and cache the accounts for a given array of TokenAccount addresses

    -

    Parameters

    • addresses: Address[]

      The array of token account addresses

      -
    • Optional opts: SimpleAccountFetchOptions

      WhirlpoolAccountFetchOptions instance to dictate fetch behavior

      -

    Returns Promise<ReadonlyMap<string, null | AccountWithTokenProgram>>

  • Populate the fetcher's cache with the given WhirlpoolsData accounts

    -

    Type Parameters

    Parameters

    • accounts: ReadonlyMap<string, T>

      The map of addresses to on-chain account data

      -
    • parser: ParsableEntity<T>

      The ParsableEntity instance to parse the accounts

      -
    • now: number

      The current timestamp to use for the cache

      -

    Returns void

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/WhirlpoolClient.html b/docs/interfaces/WhirlpoolClient.html deleted file mode 100644 index 639f51962..000000000 --- a/docs/interfaces/WhirlpoolClient.html +++ /dev/null @@ -1,91 +0,0 @@ -WhirlpoolClient | @orca-so/whirlpools-sdk

Helper class to help interact with Whirlpool Accounts with a simpler interface.

-
interface WhirlpoolClient {
    collectFeesAndRewardsForPositions: ((positionAddresses, opts?) => Promise<TransactionBuilder[]>);
    collectProtocolFeesForPools: ((poolAddresses) => Promise<TransactionBuilder>);
    createPool: ((whirlpoolsConfig, tokenMintA, tokenMintB, tickSpacing, initialTick, funder) => Promise<{
        poolKey: PublicKey;
        tx: TransactionBuilder;
    }>);
    getContext: (() => WhirlpoolContext);
    getFetcher: (() => WhirlpoolAccountFetcherInterface);
    getPool: ((poolAddress, opts?) => Promise<Whirlpool>);
    getPools: ((poolAddresses, opts?) => Promise<Whirlpool[]>);
    getPosition: ((positionAddress, opts?) => Promise<Position>);
    getPositions: ((positionAddresses, opts?) => Promise<Record<string, null | Position>>);
    getRouter: ((poolAddresses) => Promise<WhirlpoolRouter>);
}

Properties

collectFeesAndRewardsForPositions: ((positionAddresses, opts?) => Promise<TransactionBuilder[]>)

Collect all fees and rewards from a list of positions.

-

Type declaration

    • (positionAddresses, opts?): Promise<TransactionBuilder[]>
    • Experimental

      Collect all fees and rewards from a list of positions.

      -

      Parameters

      • positionAddresses: Address[]
      • Optional opts: SimpleAccountFetchOptions

        an options object to define fetch and cache options when accessing on-chain accounts

        -

      Returns Promise<TransactionBuilder[]>

      A set of transaction-builders to resolve ATA for affliated tokens, collect fee & rewards for all positions.

      -

Param: positionAddress

the addresses of the Position accounts to collect fee & rewards from.

-

Param: opts

an options object to define fetch and cache options when accessing on-chain accounts

-

Returns

A set of transaction-builders to resolve ATA for affliated tokens, collect fee & rewards for all positions.

-
collectProtocolFeesForPools: ((poolAddresses) => Promise<TransactionBuilder>)

Collect protocol fees from a list of pools

-

Type declaration

    • (poolAddresses): Promise<TransactionBuilder>
    • Collect protocol fees from a list of pools

      -

      Parameters

      • poolAddresses: Address[]

        the addresses of the Whirlpool accounts to collect protocol fees from

        -

      Returns Promise<TransactionBuilder>

      A transaction builder to resolve ATA for tokenA and tokenB if needed, and collect protocol fees for all pools

      -

Param: poolAddresses

the addresses of the Whirlpool accounts to collect protocol fees from

-

Returns

A transaction builder to resolve ATA for tokenA and tokenB if needed, and collect protocol fees for all pools

-
createPool: ((whirlpoolsConfig, tokenMintA, tokenMintB, tickSpacing, initialTick, funder) => Promise<{
    poolKey: PublicKey;
    tx: TransactionBuilder;
}>)

Create a Whirlpool account for a group of token A, token B and tick spacing

-

Type declaration

    • (whirlpoolsConfig, tokenMintA, tokenMintB, tickSpacing, initialTick, funder): Promise<{
          poolKey: PublicKey;
          tx: TransactionBuilder;
      }>
    • Create a Whirlpool account for a group of token A, token B and tick spacing

      -

      Parameters

      • whirlpoolsConfig: Address
      • tokenMintA: Address

        the address of the token A

        -
      • tokenMintB: Address

        the address of the token B

        -
      • tickSpacing: number

        the space between two ticks in the tick array

        -
      • initialTick: number

        the initial tick that the pool is set to (derived from initial price)

        -
      • funder: Address

        the account to debit SOL from to fund the creation of the account(s)

        -

      Returns Promise<{
          poolKey: PublicKey;
          tx: TransactionBuilder;
      }>

      poolKey: The public key of the newly created whirlpool account. tx: The transaction containing instructions for the on-chain operations.

      -

      Throws

      error when the tokens are not in the canonical byte-based ordering. To resolve this, invert the token order and the initialTick (see TickUtil.invertTick(), PriceMath.invertSqrtPriceX64(), or PriceMath.invertPrice()).

      -

Param: whirlpoolConfig

the address of the whirlpool config

-

Param: tokenMintA

the address of the token A

-

Param: tokenMintB

the address of the token B

-

Param: tickSpacing

the space between two ticks in the tick array

-

Param: initialTick

the initial tick that the pool is set to (derived from initial price)

-

Param: funder

the account to debit SOL from to fund the creation of the account(s)

-

Returns

poolKey: The public key of the newly created whirlpool account. tx: The transaction containing instructions for the on-chain operations.

-

Throws

error when the tokens are not in the canonical byte-based ordering. To resolve this, invert the token order and the initialTick (see TickUtil.invertTick(), PriceMath.invertSqrtPriceX64(), or PriceMath.invertPrice()).

-
getContext: (() => WhirlpoolContext)

Get this client's WhirlpoolContext object

-

Type declaration

Returns

a WhirlpoolContext object

-

Get an WhirlpoolAccountCacheInterface to fetch and cache Whirlpool accounts

-

Type declaration

Returns

an WhirlpoolAccountCacheInterface instance

-
getPool: ((poolAddress, opts?) => Promise<Whirlpool>)

Get a Whirlpool object to interact with the Whirlpool account at the given address.

-

Type declaration

    • (poolAddress, opts?): Promise<Whirlpool>
    • Get a Whirlpool object to interact with the Whirlpool account at the given address.

      -

      Parameters

      • poolAddress: Address

        the address of the Whirlpool account

        -
      • Optional opts: SimpleAccountFetchOptions

        an options object to define fetch and cache options when accessing on-chain accounts

        -

      Returns Promise<Whirlpool>

      a Whirlpool object to interact with

      -

Param: poolAddress

the address of the Whirlpool account

-

Param: opts

an options object to define fetch and cache options when accessing on-chain accounts

-

Returns

a Whirlpool object to interact with

-
getPools: ((poolAddresses, opts?) => Promise<Whirlpool[]>)

Get a list of Whirlpool objects matching the provided list of addresses.

-

Type declaration

    • (poolAddresses, opts?): Promise<Whirlpool[]>
    • Get a list of Whirlpool objects matching the provided list of addresses.

      -

      Parameters

      • poolAddresses: Address[]

        the addresses of the Whirlpool accounts

        -
      • Optional opts: SimpleAccountFetchOptions

        an options object to define fetch and cache options when accessing on-chain accounts

        -

      Returns Promise<Whirlpool[]>

      a list of Whirlpool objects to interact with

      -

Param: poolAddresses

the addresses of the Whirlpool accounts

-

Param: opts

an options object to define fetch and cache options when accessing on-chain accounts

-

Returns

a list of Whirlpool objects to interact with

-
getPosition: ((positionAddress, opts?) => Promise<Position>)

Get a Position object to interact with the Position account at the given address.

-

Type declaration

    • (positionAddress, opts?): Promise<Position>
    • Get a Position object to interact with the Position account at the given address.

      -

      Parameters

      • positionAddress: Address

        the address of the Position account

        -
      • Optional opts: SimpleAccountFetchOptions

        an options object to define fetch and cache options when accessing on-chain accounts

        -

      Returns Promise<Position>

      a Position object to interact with.

      -

      Throws

      error when address does not return a Position account.

      -

Param: positionAddress

the address of the Position account

-

Param: opts

an options object to define fetch and cache options when accessing on-chain accounts

-

Returns

a Position object to interact with.

-

Throws

error when address does not return a Position account.

-
getPositions: ((positionAddresses, opts?) => Promise<Record<string, null | Position>>)

Get a list of Position objects to interact with the Position account at the given addresses.

-

Type declaration

    • (positionAddresses, opts?): Promise<Record<string, null | Position>>
    • Get a list of Position objects to interact with the Position account at the given addresses.

      -

      Parameters

      • positionAddresses: Address[]
      • Optional opts: SimpleAccountFetchOptions

        an options object to define fetch and cache options when accessing on-chain accounts

        -

      Returns Promise<Record<string, null | Position>>

      a Record object between account address and Position. If an address is not a Position account, it will be null.

      -

Param: positionAddress

the addresses of the Position accounts

-

Param: opts

an options object to define fetch and cache options when accessing on-chain accounts

-

Returns

a Record object between account address and Position. If an address is not a Position account, it will be null.

-
getRouter: ((poolAddresses) => Promise<WhirlpoolRouter>)

Get a WhirlpoolRouter to help generate the best prices when transacting across a set of pools.

-

Type declaration

    • (poolAddresses): Promise<WhirlpoolRouter>
    • Get a WhirlpoolRouter to help generate the best prices when transacting across a set of pools.

      -

      Parameters

      • poolAddresses: Address[]

        the addresses of the Whirlpool account addresses to route through

        -

      Returns Promise<WhirlpoolRouter>

      a WhirlpoolRouter instance

      -

      Deprecated

      WhirlpoolRouter will be removed in the future release. Please use endpoint which provides qoutes.

      -

Param: poolAddresses

the addresses of the Whirlpool account addresses to route through

-

Returns

a WhirlpoolRouter instance

-

Deprecated

WhirlpoolRouter will be removed in the future release. Please use endpoint which provides qoutes.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/WhirlpoolRouter.html b/docs/interfaces/WhirlpoolRouter.html deleted file mode 100644 index f4cc6f6b5..000000000 --- a/docs/interfaces/WhirlpoolRouter.html +++ /dev/null @@ -1,33 +0,0 @@ -WhirlpoolRouter | @orca-so/whirlpools-sdk

Convienience class to find routes through a set of Whirlpools and execute a swap across them. -The router only supports up to 2-hop trades between pools and does not support arbitrage trades -between the same token.

-

Deprecated

WhirlpoolRouter will be removed in the future release. Please use endpoint which provides qoutes.

-
interface WhirlpoolRouter {
    findAllRoutes(trade, opts?, fetchOpts?): Promise<TradeRoute[]>;
    findBestRoute(trade, opts?, selectionOpts?, fetchOpts?): Promise<null | ExecutableRoute>;
    swap(trade, slippage, resolvedAtas): Promise<TransactionBuilder>;
}

Methods

  • Finds all possible routes for a trade and select the best route that is executable -under the current execution environment.

    -

    Parameters

    Returns Promise<null | ExecutableRoute>

    The best ExecutableRoute that can be used to execute a swap. If no executable route is found, null is returned.

    -

    Deprecated

    WhirlpoolRouter will be removed in the future release. Please use endpoint which provides qoutes.

    -
  • Construct a TransactionBuilder to help execute a trade route.

    -

    Parameters

    • trade: TradeRoute

      The trade route to execute.

      -
    • slippage: Percentage

      The slippage tolerance for the trade.

      -
    • resolvedAtas: null | AtaAccountInfo[]

      The ATA accounts that the executing wallet owns / needed by the execution. -If not provided, the router will attempt to resolve them.

      -

    Returns Promise<TransactionBuilder>

    A TransactionBuilderthat can be used to execute the trade. -If provvided from ExecutableRoute, plug the AddressLookupTableAccounts -into builder to lower the transaction size.

    -

    Deprecated

    WhirlpoolRouter will be removed in the future release. Please use endpoint which provides qoutes.

    -

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/modules.html b/docs/modules.html deleted file mode 100644 index a51ebc515..000000000 --- a/docs/modules.html +++ /dev/null @@ -1,203 +0,0 @@ -@orca-so/whirlpools-sdk

@orca-so/whirlpools-sdk

Index

Constants

Core

Instruction Types

Instruction Types -@

Network

Other

PoolGraph

PriceModule

Quotes

Quotes - Not yet ready for use

Router

Solana Accounts

Whirlpool Utils

WhirlpoolClient

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/AccountResolverOptions.html b/docs/types/AccountResolverOptions.html deleted file mode 100644 index ba1189538..000000000 --- a/docs/types/AccountResolverOptions.html +++ /dev/null @@ -1,2 +0,0 @@ -AccountResolverOptions | @orca-so/whirlpools-sdk

Type alias AccountResolverOptions

AccountResolverOptions: {
    allowPDAOwnerAddress: boolean;
    createWrappedSolAccountMethod: WrappedSolAccountCreateMethod;
}

Default settings used when resolving token accounts.

-

Type declaration

  • allowPDAOwnerAddress: boolean
  • createWrappedSolAccountMethod: WrappedSolAccountCreateMethod

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/AtaAccountInfo.html b/docs/types/AtaAccountInfo.html deleted file mode 100644 index b3bef3b6f..000000000 --- a/docs/types/AtaAccountInfo.html +++ /dev/null @@ -1,5 +0,0 @@ -AtaAccountInfo | @orca-so/whirlpools-sdk

Type alias AtaAccountInfo

AtaAccountInfo: Pick<Account, "address" | "owner" | "mint">

A type representing a Associated Token Account

-

Param: address

The address of the ATA account.

-

Param: owner

The owner address of the ATA.

-

Param: mint

The mint of the token the ATA represents.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/CloseBundledPositionParams.html b/docs/types/CloseBundledPositionParams.html deleted file mode 100644 index b0c0f5b87..000000000 --- a/docs/types/CloseBundledPositionParams.html +++ /dev/null @@ -1,8 +0,0 @@ -CloseBundledPositionParams | @orca-so/whirlpools-sdk

Type alias CloseBundledPositionParams

CloseBundledPositionParams: {
    bundleIndex: number;
    bundledPosition: PublicKey;
    positionBundle: PublicKey;
    positionBundleAuthority: PublicKey;
    positionBundleTokenAccount: PublicKey;
    receiver: PublicKey;
}

Parameters to close a bundled position in a Whirlpool.

-

Type declaration

  • bundleIndex: number
  • bundledPosition: PublicKey
  • positionBundle: PublicKey
  • positionBundleAuthority: PublicKey
  • positionBundleTokenAccount: PublicKey
  • receiver: PublicKey

Param: bundledPosition

PublicKey for the bundled position.

-

Param: positionBundle

PublicKey for the position bundle.

-

Param: positionBundleTokenAccount

The associated token address for the position bundle token in the owners wallet.

-

Param: positionBundleAuthority

authority that owns the token corresponding to this desired bundled position.

-

Param: bundleIndex

The bundle index that holds the bundled position.

-

Param: receiver

PublicKey for the wallet that will receive the rented lamports.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/ClosePositionParams.html b/docs/types/ClosePositionParams.html deleted file mode 100644 index e3da8b74b..000000000 --- a/docs/types/ClosePositionParams.html +++ /dev/null @@ -1,7 +0,0 @@ -ClosePositionParams | @orca-so/whirlpools-sdk

Type alias ClosePositionParams

ClosePositionParams: {
    position: PublicKey;
    positionAuthority: PublicKey;
    positionMint: PublicKey;
    positionTokenAccount: PublicKey;
    receiver: PublicKey;
}

Parameters to close a position in a Whirlpool.

-

Type declaration

  • position: PublicKey
  • positionAuthority: PublicKey
  • positionMint: PublicKey
  • positionTokenAccount: PublicKey
  • receiver: PublicKey

Param: receiver

PublicKey for the wallet that will receive the rented lamports.

-

Param: position

PublicKey for the position.

-

Param: positionMint

PublicKey for the mint token for the Position token.

-

Param: positionTokenAccount

The associated token address for the position token in the owners wallet.

-

Param: positionAuthority

Authority that owns the position token.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/CollectAllParams.html b/docs/types/CollectAllParams.html deleted file mode 100644 index a0978f37b..000000000 --- a/docs/types/CollectAllParams.html +++ /dev/null @@ -1,6 +0,0 @@ -CollectAllParams | @orca-so/whirlpools-sdk

Type alias CollectAllParams

CollectAllParams: {
    payer?: PublicKey;
    positionAuthority?: PublicKey;
    positionOwner?: PublicKey;
    receiver?: PublicKey;
}

Type declaration

  • Optional payer?: PublicKey
  • Optional positionAuthority?: PublicKey
  • Optional positionOwner?: PublicKey
  • Optional receiver?: PublicKey

Param: receiver

The destination wallet that collected fees & reward will be sent to. Defaults to ctx.wallet key.

-

Param: positionOwner

The wallet key that contains the position token. Defaults to ctx.wallet key.

-

Param: positionAuthority

The authority key that can authorize operation on the position. Defaults to ctx.wallet key.

-

Param: payer

The key that will pay for the initialization of ATA token accounts. Defaults to ctx.wallet key.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/CollectAllPositionAddressParams.html b/docs/types/CollectAllPositionAddressParams.html deleted file mode 100644 index 17db6a984..000000000 --- a/docs/types/CollectAllPositionAddressParams.html +++ /dev/null @@ -1,7 +0,0 @@ -CollectAllPositionAddressParams | @orca-so/whirlpools-sdk

Type alias CollectAllPositionAddressParams

CollectAllPositionAddressParams: {
    positions: Address[];
} & CollectAllParams

Parameters to collect all fees and rewards from a list of positions.

-

Type declaration

  • positions: Address[]

Param: positionAddrs

An array of Whirlpool position addresses.

-

Param: receiver

The destination wallet that collected fees & reward will be sent to. Defaults to ctx.wallet key.

-

Param: positionOwner

The wallet key that contains the position token. Defaults to ctx.wallet key.

-

Param: positionAuthority

The authority key that can authorize operation on the position. Defaults to ctx.wallet key.

-

Param: payer

The key that will pay for the initialization of ATA token accounts. Defaults to ctx.wallet key.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/CollectAllPositionParams.html b/docs/types/CollectAllPositionParams.html deleted file mode 100644 index 8cdaa1ca5..000000000 --- a/docs/types/CollectAllPositionParams.html +++ /dev/null @@ -1,7 +0,0 @@ -CollectAllPositionParams | @orca-so/whirlpools-sdk

Type alias CollectAllPositionParams

CollectAllPositionParams: {
    positions: Record<string, PositionData>;
} & CollectAllParams

Parameters to collect all fees and rewards from a list of positions.

-

Type declaration

Param: positions

An array of Whirlpool positions.

-

Param: receiver

The destination wallet that collected fees & reward will be sent to. Defaults to ctx.wallet key.

-

Param: positionOwner

The wallet key that contains the position token. Defaults to ctx.wallet key.

-

Param: positionAuthority

The authority key that can authorize operation on the position. Defaults to ctx.wallet key.

-

Param: payer

The key that will pay for the initialization of ATA token accounts. Defaults to ctx.wallet key.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/CollectFeesParams.html b/docs/types/CollectFeesParams.html deleted file mode 100644 index fb00ce6a9..000000000 --- a/docs/types/CollectFeesParams.html +++ /dev/null @@ -1,10 +0,0 @@ -CollectFeesParams | @orca-so/whirlpools-sdk

Type alias CollectFeesParams

CollectFeesParams: {
    position: PublicKey;
    positionAuthority: PublicKey;
    positionTokenAccount: PublicKey;
    tokenOwnerAccountA: PublicKey;
    tokenOwnerAccountB: PublicKey;
    tokenVaultA: PublicKey;
    tokenVaultB: PublicKey;
    whirlpool: PublicKey;
}

Parameters to collect fees from a position.

-

Type declaration

  • position: PublicKey
  • positionAuthority: PublicKey
  • positionTokenAccount: PublicKey
  • tokenOwnerAccountA: PublicKey
  • tokenOwnerAccountB: PublicKey
  • tokenVaultA: PublicKey
  • tokenVaultB: PublicKey
  • whirlpool: PublicKey

Param: whirlpool

PublicKey for the whirlpool that the position will be opened for.

-

Param: position

PublicKey for the position will be opened for.

-

Param: positionTokenAccount

PublicKey for the position token's associated token address.

-

Param: tokenOwnerAccountA

PublicKey for the token A account that will be withdrawed from.

-

Param: tokenOwnerAccountB

PublicKey for the token B account that will be withdrawed from.

-

Param: tokenVaultA

PublicKey for the tokenA vault for this whirlpool.

-

Param: tokenVaultB

PublicKey for the tokenB vault for this whirlpool.

-

Param: positionAuthority

authority that owns the token corresponding to this desired position.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/CollectFeesQuote.html b/docs/types/CollectFeesQuote.html deleted file mode 100644 index 60daf81ec..000000000 --- a/docs/types/CollectFeesQuote.html +++ /dev/null @@ -1 +0,0 @@ -CollectFeesQuote | @orca-so/whirlpools-sdk

Type alias CollectFeesQuote

CollectFeesQuote: {
    feeOwedA: BN;
    feeOwedB: BN;
    transferFee: {
        deductedFromFeeOwedA: BN;
        deductedFromFeeOwedB: BN;
    };
}

Type declaration

  • feeOwedA: BN
  • feeOwedB: BN
  • transferFee: {
        deductedFromFeeOwedA: BN;
        deductedFromFeeOwedB: BN;
    }
    • deductedFromFeeOwedA: BN
    • deductedFromFeeOwedB: BN

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/CollectFeesQuoteParam.html b/docs/types/CollectFeesQuoteParam.html deleted file mode 100644 index 54f7f1aaf..000000000 --- a/docs/types/CollectFeesQuoteParam.html +++ /dev/null @@ -1 +0,0 @@ -CollectFeesQuoteParam | @orca-so/whirlpools-sdk

Type alias CollectFeesQuoteParam

CollectFeesQuoteParam: {
    position: PositionData;
    tickLower: TickData;
    tickUpper: TickData;
    tokenExtensionCtx: TokenExtensionContextForPool;
    whirlpool: WhirlpoolData;
}

Type declaration

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/CollectFeesV2Params.html b/docs/types/CollectFeesV2Params.html deleted file mode 100644 index d8a2af770..000000000 --- a/docs/types/CollectFeesV2Params.html +++ /dev/null @@ -1,16 +0,0 @@ -CollectFeesV2Params | @orca-so/whirlpools-sdk

Type alias CollectFeesV2Params

CollectFeesV2Params: {
    position: PublicKey;
    positionAuthority: PublicKey;
    positionTokenAccount: PublicKey;
    tokenMintA: PublicKey;
    tokenMintB: PublicKey;
    tokenOwnerAccountA: PublicKey;
    tokenOwnerAccountB: PublicKey;
    tokenProgramA: PublicKey;
    tokenProgramB: PublicKey;
    tokenTransferHookAccountsA?: AccountMeta[];
    tokenTransferHookAccountsB?: AccountMeta[];
    tokenVaultA: PublicKey;
    tokenVaultB: PublicKey;
    whirlpool: PublicKey;
}

Parameters to collect fees from a position.

-

Type declaration

  • position: PublicKey
  • positionAuthority: PublicKey
  • positionTokenAccount: PublicKey
  • tokenMintA: PublicKey
  • tokenMintB: PublicKey
  • tokenOwnerAccountA: PublicKey
  • tokenOwnerAccountB: PublicKey
  • tokenProgramA: PublicKey
  • tokenProgramB: PublicKey
  • Optional tokenTransferHookAccountsA?: AccountMeta[]
  • Optional tokenTransferHookAccountsB?: AccountMeta[]
  • tokenVaultA: PublicKey
  • tokenVaultB: PublicKey
  • whirlpool: PublicKey

Param: whirlpool

PublicKey for the whirlpool that the position will be opened for.

-

Param: position

PublicKey for the position will be opened for.

-

Param: positionTokenAccount

PublicKey for the position token's associated token address.

-

Param: positionAuthority

authority that owns the token corresponding to this desired position.

-

Param: tokenMintA

PublicKey for the token A mint.

-

Param: tokenMintB

PublicKey for the token B mint.

-

Param: tokenOwnerAccountA

PublicKey for the token A account that will be withdrawed from.

-

Param: tokenOwnerAccountB

PublicKey for the token B account that will be withdrawed from.

-

Param: tokenVaultA

PublicKey for the tokenA vault for this whirlpool.

-

Param: tokenVaultB

PublicKey for the tokenB vault for this whirlpool.

-

Param: tokenTransferHookAccountsA

Optional array of token transfer hook accounts for token A.

-

Param: tokenTransferHookAccountsB

Optional array of token transfer hook accounts for token B.

-

Param: tokenProgramA

PublicKey for the token program for token A.

-

Param: tokenProgramB

PublicKey for the token program for token B.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/CollectProtocolFeesParams.html b/docs/types/CollectProtocolFeesParams.html deleted file mode 100644 index ae722d029..000000000 --- a/docs/types/CollectProtocolFeesParams.html +++ /dev/null @@ -1,9 +0,0 @@ -CollectProtocolFeesParams | @orca-so/whirlpools-sdk

Type alias CollectProtocolFeesParams

CollectProtocolFeesParams: {
    collectProtocolFeesAuthority: PublicKey;
    tokenOwnerAccountA: PublicKey;
    tokenOwnerAccountB: PublicKey;
    tokenVaultA: PublicKey;
    tokenVaultB: PublicKey;
    whirlpool: PublicKey;
    whirlpoolsConfig: PublicKey;
}

Parameters to collect protocol fees for a Whirlpool

-

Type declaration

  • collectProtocolFeesAuthority: PublicKey
  • tokenOwnerAccountA: PublicKey
  • tokenOwnerAccountB: PublicKey
  • tokenVaultA: PublicKey
  • tokenVaultB: PublicKey
  • whirlpool: PublicKey
  • whirlpoolsConfig: PublicKey

Param: whirlpoolsConfig

The public key for the WhirlpoolsConfig this pool is initialized in

-

Param: whirlpool

PublicKey for the whirlpool that the position will be opened for.

-

Param: tokenVaultA

PublicKey for the tokenA vault for this whirlpool.

-

Param: tokenVaultB

PublicKey for the tokenB vault for this whirlpool.

-

Param: tokenOwnerAccountA

PublicKey for the associated token account for tokenA in the collection wallet

-

Param: tokenOwnerAccountB

PublicKey for the associated token account for tokenA in the collection wallet

-

Param: collectProtocolFeesAuthority

assigned authority in the WhirlpoolsConfig that can collect protocol fees

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/CollectProtocolFeesV2Params.html b/docs/types/CollectProtocolFeesV2Params.html deleted file mode 100644 index 2e8ae6985..000000000 --- a/docs/types/CollectProtocolFeesV2Params.html +++ /dev/null @@ -1,15 +0,0 @@ -CollectProtocolFeesV2Params | @orca-so/whirlpools-sdk

Type alias CollectProtocolFeesV2Params

CollectProtocolFeesV2Params: {
    collectProtocolFeesAuthority: PublicKey;
    tokenMintA: PublicKey;
    tokenMintB: PublicKey;
    tokenOwnerAccountA: PublicKey;
    tokenOwnerAccountB: PublicKey;
    tokenProgramA: PublicKey;
    tokenProgramB: PublicKey;
    tokenTransferHookAccountsA?: AccountMeta[];
    tokenTransferHookAccountsB?: AccountMeta[];
    tokenVaultA: PublicKey;
    tokenVaultB: PublicKey;
    whirlpool: PublicKey;
    whirlpoolsConfig: PublicKey;
}

Parameters to collect protocol fees for a Whirlpool

-

Type declaration

  • collectProtocolFeesAuthority: PublicKey
  • tokenMintA: PublicKey
  • tokenMintB: PublicKey
  • tokenOwnerAccountA: PublicKey
  • tokenOwnerAccountB: PublicKey
  • tokenProgramA: PublicKey
  • tokenProgramB: PublicKey
  • Optional tokenTransferHookAccountsA?: AccountMeta[]
  • Optional tokenTransferHookAccountsB?: AccountMeta[]
  • tokenVaultA: PublicKey
  • tokenVaultB: PublicKey
  • whirlpool: PublicKey
  • whirlpoolsConfig: PublicKey

Param: whirlpoolsConfig

The public key for the WhirlpoolsConfig this pool is initialized in

-

Param: whirlpool

PublicKey for the whirlpool that the position will be opened for.

-

Param: collectProtocolFeesAuthority

assigned authority in the WhirlpoolsConfig that can collect protocol fees

-

Param: tokenMintA

PublicKey for the token A mint.

-

Param: tokenMintB

PublicKey for the token B mint.

-

Param: tokenVaultA

PublicKey for the tokenA vault for this whirlpool.

-

Param: tokenVaultB

PublicKey for the tokenB vault for this whirlpool.

-

Param: tokenOwnerAccountA

PublicKey for the associated token account for tokenA in the collection wallet

-

Param: tokenOwnerAccountB

PublicKey for the associated token account for tokenA in the collection wallet

-

Param: tokenTransferHookAccountsA

Optional array of token transfer hook accounts for token A.

-

Param: tokenTransferHookAccountsB

Optional array of token transfer hook accounts for token B.

-

Param: tokenProgramA

PublicKey for the token program for token A.

-

Param: tokenProgramB

PublicKey for the token program for token B.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/CollectRewardParams.html b/docs/types/CollectRewardParams.html deleted file mode 100644 index 0c2c68737..000000000 --- a/docs/types/CollectRewardParams.html +++ /dev/null @@ -1,9 +0,0 @@ -CollectRewardParams | @orca-so/whirlpools-sdk

Type alias CollectRewardParams

CollectRewardParams: {
    position: PublicKey;
    positionAuthority: PublicKey;
    positionTokenAccount: PublicKey;
    rewardIndex: number;
    rewardOwnerAccount: PublicKey;
    rewardVault: PublicKey;
    whirlpool: PublicKey;
}

Parameters to collect rewards from a reward index in a position.

-

Type declaration

  • position: PublicKey
  • positionAuthority: PublicKey
  • positionTokenAccount: PublicKey
  • rewardIndex: number
  • rewardOwnerAccount: PublicKey
  • rewardVault: PublicKey
  • whirlpool: PublicKey

Param: whirlpool

PublicKey for the whirlpool that the position will be opened for.

-

Param: position

PublicKey for the position will be opened for.

-

Param: positionTokenAccount

PublicKey for the position token's associated token address.

-

Param: rewardIndex

The reward index that we'd like to initialize. (0 <= index <= NUM_REWARDS).

-

Param: rewardOwnerAccount

PublicKey for the reward token account that the reward will deposit into.

-

Param: rewardVault

PublicKey of the vault account that reward will be withdrawn from.

-

Param: positionAuthority

authority that owns the token corresponding to this desired position.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/CollectRewardV2Params.html b/docs/types/CollectRewardV2Params.html deleted file mode 100644 index 92b3a112d..000000000 --- a/docs/types/CollectRewardV2Params.html +++ /dev/null @@ -1,12 +0,0 @@ -CollectRewardV2Params | @orca-so/whirlpools-sdk

Type alias CollectRewardV2Params

CollectRewardV2Params: {
    position: PublicKey;
    positionAuthority: PublicKey;
    positionTokenAccount: PublicKey;
    rewardIndex: number;
    rewardMint: PublicKey;
    rewardOwnerAccount: PublicKey;
    rewardTokenProgram: PublicKey;
    rewardTransferHookAccounts?: AccountMeta[];
    rewardVault: PublicKey;
    whirlpool: PublicKey;
}

Parameters to collect rewards from a reward index in a position.

-

Type declaration

  • position: PublicKey
  • positionAuthority: PublicKey
  • positionTokenAccount: PublicKey
  • rewardIndex: number
  • rewardMint: PublicKey
  • rewardOwnerAccount: PublicKey
  • rewardTokenProgram: PublicKey
  • Optional rewardTransferHookAccounts?: AccountMeta[]
  • rewardVault: PublicKey
  • whirlpool: PublicKey

Param: whirlpool

PublicKey for the whirlpool that the position will be opened for.

-

Param: position

PublicKey for the position will be opened for.

-

Param: positionTokenAccount

PublicKey for the position token's associated token address.

-

Param: positionAuthority

authority that owns the token corresponding to this desired position.

-

Param: rewardIndex

The reward index that we'd like to initialize. (0 <= index <= NUM_REWARDS).

-

Param: rewardMint

PublicKey for the reward token mint.

-

Param: rewardOwnerAccount

PublicKey for the reward token account that the reward will deposit into.

-

Param: rewardVault

PublicKey of the vault account that reward will be withdrawn from.

-

Param: rewardTransferHookAccounts

Optional array of token transfer hook accounts for the reward token.

-

Param: rewardTokenProgram

PublicKey for the token program.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/CollectRewardsQuote.html b/docs/types/CollectRewardsQuote.html deleted file mode 100644 index e2e2c23de..000000000 --- a/docs/types/CollectRewardsQuote.html +++ /dev/null @@ -1,2 +0,0 @@ -CollectRewardsQuote | @orca-so/whirlpools-sdk

Type alias CollectRewardsQuote

CollectRewardsQuote: {
    rewardOwed: [BN | undefined, BN | undefined, BN | undefined];
    transferFee: {
        deductedFromRewardOwed: [BN | undefined, BN | undefined, BN | undefined];
    };
}

An array of reward amounts that is collectible on a position.

-

Type declaration

  • rewardOwed: [BN | undefined, BN | undefined, BN | undefined]
  • transferFee: {
        deductedFromRewardOwed: [BN | undefined, BN | undefined, BN | undefined];
    }
    • deductedFromRewardOwed: [BN | undefined, BN | undefined, BN | undefined]

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/CollectRewardsQuoteParam.html b/docs/types/CollectRewardsQuoteParam.html deleted file mode 100644 index c3884a663..000000000 --- a/docs/types/CollectRewardsQuoteParam.html +++ /dev/null @@ -1,7 +0,0 @@ -CollectRewardsQuoteParam | @orca-so/whirlpools-sdk

Type alias CollectRewardsQuoteParam

CollectRewardsQuoteParam: {
    position: PositionData;
    tickLower: TickData;
    tickUpper: TickData;
    timeStampInSeconds?: BN;
    tokenExtensionCtx: TokenExtensionContextForReward;
    whirlpool: WhirlpoolData;
}

Parameters needed to generate a quote on collectible rewards on a position.

-

Type declaration

Param: whirlpool

the account data for the whirlpool this position belongs to

-

Param: position

the account data for the position

-

Param: tickLower

the TickData account for the lower bound of this position

-

Param: tickUpper

the TickData account for the upper bound of this position

-

Param: timeStampInSeconds

optional parameter to generate this quote to a unix time stamp.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/DecimalsMap.html b/docs/types/DecimalsMap.html deleted file mode 100644 index a7a6c2ff7..000000000 --- a/docs/types/DecimalsMap.html +++ /dev/null @@ -1,2 +0,0 @@ -DecimalsMap | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/DecreaseLiquidityInput.html b/docs/types/DecreaseLiquidityInput.html deleted file mode 100644 index 2b83d8488..000000000 --- a/docs/types/DecreaseLiquidityInput.html +++ /dev/null @@ -1 +0,0 @@ -DecreaseLiquidityInput | @orca-so/whirlpools-sdk

Type alias DecreaseLiquidityInput

DecreaseLiquidityInput: {
    liquidityAmount: BN;
    tokenMinA: BN;
    tokenMinB: BN;
}

Type declaration

  • liquidityAmount: BN
  • tokenMinA: BN
  • tokenMinB: BN

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/DecreaseLiquidityParams.html b/docs/types/DecreaseLiquidityParams.html deleted file mode 100644 index 58cff9ca4..000000000 --- a/docs/types/DecreaseLiquidityParams.html +++ /dev/null @@ -1,15 +0,0 @@ -DecreaseLiquidityParams | @orca-so/whirlpools-sdk

Type alias DecreaseLiquidityParams

DecreaseLiquidityParams: {
    position: PublicKey;
    positionAuthority: PublicKey;
    positionTokenAccount: PublicKey;
    tickArrayLower: PublicKey;
    tickArrayUpper: PublicKey;
    tokenOwnerAccountA: PublicKey;
    tokenOwnerAccountB: PublicKey;
    tokenVaultA: PublicKey;
    tokenVaultB: PublicKey;
    whirlpool: PublicKey;
} & DecreaseLiquidityInput

Parameters to remove liquidity from a position.

-

Type declaration

  • position: PublicKey
  • positionAuthority: PublicKey
  • positionTokenAccount: PublicKey
  • tickArrayLower: PublicKey
  • tickArrayUpper: PublicKey
  • tokenOwnerAccountA: PublicKey
  • tokenOwnerAccountB: PublicKey
  • tokenVaultA: PublicKey
  • tokenVaultB: PublicKey
  • whirlpool: PublicKey

Param: liquidityAmount

The total amount of Liquidity the user is withdrawing

-

Param: tokenMinA

The minimum amount of token A to remove from the position.

-

Param: tokenMinB

The minimum amount of token B to remove from the position.

-

Param: whirlpool

PublicKey for the whirlpool that the position will be opened for.

-

Param: position

PublicKey for the position will be opened for.

-

Param: positionTokenAccount

PublicKey for the position token's associated token address.

-

Param: tokenOwnerAccountA

PublicKey for the token A account that will be withdrawed from.

-

Param: tokenOwnerAccountB

PublicKey for the token B account that will be withdrawed from.

-

Param: tokenVaultA

PublicKey for the tokenA vault for this whirlpool.

-

Param: tokenVaultB

PublicKey for the tokenB vault for this whirlpool.

-

Param: tickArrayLower

PublicKey for the tick-array account that hosts the tick at the lower tick index.

-

Param: tickArrayUpper

PublicKey for the tick-array account that hosts the tick at the upper tick index.

-

Param: positionAuthority

authority that owns the token corresponding to this desired position.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/DecreaseLiquidityQuote.html b/docs/types/DecreaseLiquidityQuote.html deleted file mode 100644 index 90caca64e..000000000 --- a/docs/types/DecreaseLiquidityQuote.html +++ /dev/null @@ -1,2 +0,0 @@ -DecreaseLiquidityQuote | @orca-so/whirlpools-sdk

Type alias DecreaseLiquidityQuote

DecreaseLiquidityQuote: DecreaseLiquidityInput & {
    tokenEstA: BN;
    tokenEstB: BN;
    transferFee: {
        deductedFromTokenEstA: BN;
        deductedFromTokenEstB: BN;
        deductedFromTokenMinA: BN;
        deductedFromTokenMinB: BN;
    };
}

Return object from decrease liquidity quote functions.

-

Type declaration

  • tokenEstA: BN
  • tokenEstB: BN
  • transferFee: {
        deductedFromTokenEstA: BN;
        deductedFromTokenEstB: BN;
        deductedFromTokenMinA: BN;
        deductedFromTokenMinB: BN;
    }
    • deductedFromTokenEstA: BN
    • deductedFromTokenEstB: BN
    • deductedFromTokenMinA: BN
    • deductedFromTokenMinB: BN

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/DecreaseLiquidityQuoteParam.html b/docs/types/DecreaseLiquidityQuoteParam.html deleted file mode 100644 index 40df8d4c1..000000000 --- a/docs/types/DecreaseLiquidityQuoteParam.html +++ /dev/null @@ -1,7 +0,0 @@ -DecreaseLiquidityQuoteParam | @orca-so/whirlpools-sdk

Type alias DecreaseLiquidityQuoteParam

DecreaseLiquidityQuoteParam: {
    liquidity: BN;
    slippageTolerance: Percentage;
    sqrtPrice: BN;
    tickCurrentIndex: number;
    tickLowerIndex: number;
    tickUpperIndex: number;
    tokenExtensionCtx: TokenExtensionContextForPool;
}

Type declaration

  • liquidity: BN
  • slippageTolerance: Percentage
  • sqrtPrice: BN
  • tickCurrentIndex: number
  • tickLowerIndex: number
  • tickUpperIndex: number
  • tokenExtensionCtx: TokenExtensionContextForPool

Param: liquidity

The desired liquidity to withdraw from the Whirlpool

-

Param: tickCurrentIndex

The Whirlpool's current tickIndex

-

Param: sqrtPrice

The Whirlpool's current sqrtPrice

-

Param: tickLowerIndex

The lower index of the position that we are withdrawing from.

-

Param: tickUpperIndex

The upper index of the position that we are withdrawing from.

-

Param: slippageTolerance

The maximum slippage allowed when calculating the minimum tokens received.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/DecreaseLiquidityV2Params.html b/docs/types/DecreaseLiquidityV2Params.html deleted file mode 100644 index 5b2b001ca..000000000 --- a/docs/types/DecreaseLiquidityV2Params.html +++ /dev/null @@ -1,21 +0,0 @@ -DecreaseLiquidityV2Params | @orca-so/whirlpools-sdk

Type alias DecreaseLiquidityV2Params

DecreaseLiquidityV2Params: {
    position: PublicKey;
    positionAuthority: PublicKey;
    positionTokenAccount: PublicKey;
    tickArrayLower: PublicKey;
    tickArrayUpper: PublicKey;
    tokenMintA: PublicKey;
    tokenMintB: PublicKey;
    tokenOwnerAccountA: PublicKey;
    tokenOwnerAccountB: PublicKey;
    tokenProgramA: PublicKey;
    tokenProgramB: PublicKey;
    tokenTransferHookAccountsA?: AccountMeta[];
    tokenTransferHookAccountsB?: AccountMeta[];
    tokenVaultA: PublicKey;
    tokenVaultB: PublicKey;
    whirlpool: PublicKey;
} & DecreaseLiquidityInput

Parameters to remove liquidity from a position.

-

Type declaration

  • position: PublicKey
  • positionAuthority: PublicKey
  • positionTokenAccount: PublicKey
  • tickArrayLower: PublicKey
  • tickArrayUpper: PublicKey
  • tokenMintA: PublicKey
  • tokenMintB: PublicKey
  • tokenOwnerAccountA: PublicKey
  • tokenOwnerAccountB: PublicKey
  • tokenProgramA: PublicKey
  • tokenProgramB: PublicKey
  • Optional tokenTransferHookAccountsA?: AccountMeta[]
  • Optional tokenTransferHookAccountsB?: AccountMeta[]
  • tokenVaultA: PublicKey
  • tokenVaultB: PublicKey
  • whirlpool: PublicKey

Param: liquidityAmount

The total amount of Liquidity the user is withdrawing

-

Param: tokenMinA

The minimum amount of token A to remove from the position.

-

Param: tokenMinB

The minimum amount of token B to remove from the position.

-

Param: whirlpool

PublicKey for the whirlpool that the position will be opened for.

-

Param: position

PublicKey for the position will be opened for.

-

Param: positionTokenAccount

PublicKey for the position token's associated token address.

-

Param: positionAuthority

authority that owns the token corresponding to this desired position.

-

Param: tokenMintA

PublicKey for the token A mint.

-

Param: tokenMintB

PublicKey for the token B mint.

-

Param: tokenOwnerAccountA

PublicKey for the token A account that will be withdrawed from.

-

Param: tokenOwnerAccountB

PublicKey for the token B account that will be withdrawed from.

-

Param: tokenVaultA

PublicKey for the tokenA vault for this whirlpool.

-

Param: tokenVaultB

PublicKey for the tokenB vault for this whirlpool.

-

Param: tokenTransferHookAccountsA

Optional array of token transfer hook accounts for token A.

-

Param: tokenTransferHookAccountsB

Optional array of token transfer hook accounts for token B.

-

Param: tokenProgramA

PublicKey for the token program for token A.

-

Param: tokenProgramB

PublicKey for the token program for token B.

-

Param: tickArrayLower

PublicKey for the tick-array account that hosts the tick at the lower tick index.

-

Param: tickArrayUpper

PublicKey for the tick-array account that hosts the tick at the upper tick index.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/DeletePositionBundleParams.html b/docs/types/DeletePositionBundleParams.html deleted file mode 100644 index 3b6dd1832..000000000 --- a/docs/types/DeletePositionBundleParams.html +++ /dev/null @@ -1,7 +0,0 @@ -DeletePositionBundleParams | @orca-so/whirlpools-sdk

Type alias DeletePositionBundleParams

DeletePositionBundleParams: {
    owner: PublicKey;
    positionBundle: PublicKey;
    positionBundleMint: PublicKey;
    positionBundleTokenAccount: PublicKey;
    receiver: PublicKey;
}

Parameters to delete a PositionBundle account.

-

Type declaration

  • owner: PublicKey
  • positionBundle: PublicKey
  • positionBundleMint: PublicKey
  • positionBundleTokenAccount: PublicKey
  • receiver: PublicKey

Param: owner

PublicKey for the wallet that owns the position bundle token.

-

Param: positionBundle

PublicKey for the position bundle.

-

Param: positionBundleMint

PublicKey for the mint for the position bundle token.

-

Param: positionBundleTokenAccount

The associated token address for the position bundle token in the owners wallet.

-

Param: receiver

PublicKey for the wallet that will receive the rented lamports.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/DeleteTokenBadgeParams.html b/docs/types/DeleteTokenBadgeParams.html deleted file mode 100644 index ac98be31b..000000000 --- a/docs/types/DeleteTokenBadgeParams.html +++ /dev/null @@ -1,8 +0,0 @@ -DeleteTokenBadgeParams | @orca-so/whirlpools-sdk

Type alias DeleteTokenBadgeParams

DeleteTokenBadgeParams: {
    receiver: PublicKey;
    tokenBadge: PublicKey;
    tokenBadgeAuthority: PublicKey;
    tokenMint: PublicKey;
    whirlpoolsConfig: PublicKey;
    whirlpoolsConfigExtension: PublicKey;
}

Parameters to delete a TokenBadge account.

-

Type declaration

  • receiver: PublicKey
  • tokenBadge: PublicKey
  • tokenBadgeAuthority: PublicKey
  • tokenMint: PublicKey
  • whirlpoolsConfig: PublicKey
  • whirlpoolsConfigExtension: PublicKey

Param: whirlpoolsConfig

PublicKey for the whirlpools config account

-

Param: whirlpoolsConfigExtension

PublicKey for the whirlpools config extension account

-

Param: tokenBadgeAuthority

PublicKey for the token badge authority

-

Param: tokenMint

Publickey for the mint for which the TokenBadge have been initialized

-

Param: tokenBadge

PublicKey for the token badge account to be deleted

-

Param: receiver

PublicKey for the account that will receive the rent

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/DevFeeSwapInput.html b/docs/types/DevFeeSwapInput.html deleted file mode 100644 index cff189bfb..000000000 --- a/docs/types/DevFeeSwapInput.html +++ /dev/null @@ -1,4 +0,0 @@ -DevFeeSwapInput | @orca-so/whirlpools-sdk

Type alias DevFeeSwapInput

DevFeeSwapInput: SwapInput & {
    devFeeAmount: BN;
}

Parameters to swap on a Whirlpool with developer fees

-

Type declaration

  • devFeeAmount: BN

Param: swapInput

Parameters in SwapInput

-

Param: devFeeAmount

FeeAmount (developer fees) charged on this swap

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/DevFeeSwapQuote.html b/docs/types/DevFeeSwapQuote.html deleted file mode 100644 index 1f3c3fa74..000000000 --- a/docs/types/DevFeeSwapQuote.html +++ /dev/null @@ -1,9 +0,0 @@ -DevFeeSwapQuote | @orca-so/whirlpools-sdk

Type alias DevFeeSwapQuote

DevFeeSwapQuote: NormalSwapQuote & {
    amountSpecifiedIsInput: true;
    devFeeAmount: BN;
    estimatedSwapFeeAmount: BN;
}

A collection of estimated values from quoting a swap that collects a developer-fee.

-

Type declaration

  • amountSpecifiedIsInput: true
  • devFeeAmount: BN
  • estimatedSwapFeeAmount: BN

Param: estimatedAmountIn

Approximate number of input token swapped in the swap

-

Param: estimatedAmountOut

Approximate number of output token swapped in the swap

-

Param: estimatedEndTickIndex

Approximate tick-index the Whirlpool will land on after this swap

-

Param: estimatedEndSqrtPrice

Approximate sqrtPrice the Whirlpool will land on after this swap

-

Param: estimatedFeeAmount

Approximate feeAmount (all fees) charged on this swap

-

Param: estimatedSwapFeeAmount

Approximate feeAmount (LP + protocol fees) charged on this swap

-

Param: devFeeAmount

FeeAmount (developer fees) charged on this swap

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/Edge.html b/docs/types/Edge.html deleted file mode 100644 index 1080a6e31..000000000 --- a/docs/types/Edge.html +++ /dev/null @@ -1,2 +0,0 @@ -Edge | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/ExecutableRoute.html b/docs/types/ExecutableRoute.html deleted file mode 100644 index 745e272b4..000000000 --- a/docs/types/ExecutableRoute.html +++ /dev/null @@ -1,5 +0,0 @@ -ExecutableRoute | @orca-so/whirlpools-sdk

Type alias ExecutableRoute

ExecutableRoute: readonly [TradeRoute, AddressLookupTableAccount[] | undefined]

A trade route that is ready to execute. -Contains the TradeRoute and a possible set of AddressLookupTableAccount that -is needed to successfully execute the trade.

-

If the lookup table accounts are undefined, then the trade can be executed with a legacy transaction.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/FeeTierData.html b/docs/types/FeeTierData.html deleted file mode 100644 index 1e606a5b7..000000000 --- a/docs/types/FeeTierData.html +++ /dev/null @@ -1 +0,0 @@ -FeeTierData | @orca-so/whirlpools-sdk
FeeTierData: {
    defaultFeeRate: number;
    tickSpacing: number;
    whirlpoolsConfig: PublicKey;
}

Type declaration

  • defaultFeeRate: number
  • tickSpacing: number
  • whirlpoolsConfig: PublicKey

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/GetPricesConfig.html b/docs/types/GetPricesConfig.html deleted file mode 100644 index 9b59b3ffa..000000000 --- a/docs/types/GetPricesConfig.html +++ /dev/null @@ -1,8 +0,0 @@ -GetPricesConfig | @orca-so/whirlpools-sdk

Type alias GetPricesConfig

GetPricesConfig: {
    programId: PublicKey;
    quoteTokens: PublicKey[];
    tickSpacings: number[];
    whirlpoolsConfig: PublicKey;
}

A config object for the PriceModule functions.

-

Type declaration

  • programId: PublicKey
  • quoteTokens: PublicKey[]
  • tickSpacings: number[]
  • whirlpoolsConfig: PublicKey

Param: quoteTokens

The group of quote tokens that you want to search Whirlpools for. - The first token must be the token that is being priced against the other tokens. - The subsequent tokens are alternative tokens that can be used to price the first token.

-

Param: tickSpacings

The group of tick spacings that you want to search Whirlpools for.

-

Param: programId

The public key of the Whirlpool Program account that you want to search Whirlpools for.

-

Param: whirlpoolsConfig

The public key of the WhirlpoolsConfig account that you want to search Whirlpools for.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/GetPricesThresholdConfig.html b/docs/types/GetPricesThresholdConfig.html deleted file mode 100644 index 87c86b489..000000000 --- a/docs/types/GetPricesThresholdConfig.html +++ /dev/null @@ -1,6 +0,0 @@ -GetPricesThresholdConfig | @orca-so/whirlpools-sdk

Type alias GetPricesThresholdConfig

GetPricesThresholdConfig: {
    amountOut: BN;
    priceImpactThreshold: number;
}

A config object for the PriceModule functions to define thresholds for price calculations. -Whirlpools that do not fit the criteria set by the parameters below will be excluded in the price calculation.

-

Type declaration

  • amountOut: BN
  • priceImpactThreshold: number

Param: amountOut

The token amount in terms of the first quote token amount to evaluate a Whirlpool's liquidity against.

-

Param: priceImpactThreshold

Using amountOut to perform a swap quote on a pool, this value is the maximum price impact - that a Whirlpool can have to be included in the price calculation.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/IncreaseLiquidityInput.html b/docs/types/IncreaseLiquidityInput.html deleted file mode 100644 index 26b9d95ba..000000000 --- a/docs/types/IncreaseLiquidityInput.html +++ /dev/null @@ -1,7 +0,0 @@ -IncreaseLiquidityInput | @orca-so/whirlpools-sdk

Type alias IncreaseLiquidityInput

IncreaseLiquidityInput: {
    liquidityAmount: BN;
    tokenMaxA: BN;
    tokenMaxB: BN;
}

Input parameters to deposit liquidity into a position.

-

This type is usually generated by a quote class to estimate the amount of tokens required to -deposit a certain amount of liquidity into a position.

-

Type declaration

  • liquidityAmount: BN
  • tokenMaxA: BN
  • tokenMaxB: BN

Param: tokenMaxA

the maximum amount of tokenA allowed to withdraw from the source wallet.

-

Param: tokenMaxB

the maximum amount of tokenB allowed to withdraw from the source wallet.

-

Param: liquidityAmount

the desired amount of liquidity to deposit into the position/

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/IncreaseLiquidityParams.html b/docs/types/IncreaseLiquidityParams.html deleted file mode 100644 index ec5e9d354..000000000 --- a/docs/types/IncreaseLiquidityParams.html +++ /dev/null @@ -1,15 +0,0 @@ -IncreaseLiquidityParams | @orca-so/whirlpools-sdk

Type alias IncreaseLiquidityParams

IncreaseLiquidityParams: {
    position: PublicKey;
    positionAuthority: PublicKey;
    positionTokenAccount: PublicKey;
    tickArrayLower: PublicKey;
    tickArrayUpper: PublicKey;
    tokenOwnerAccountA: PublicKey;
    tokenOwnerAccountB: PublicKey;
    tokenVaultA: PublicKey;
    tokenVaultB: PublicKey;
    whirlpool: PublicKey;
} & IncreaseLiquidityInput

Parameters to increase liquidity for a position.

-

Type declaration

  • position: PublicKey
  • positionAuthority: PublicKey
  • positionTokenAccount: PublicKey
  • tickArrayLower: PublicKey
  • tickArrayUpper: PublicKey
  • tokenOwnerAccountA: PublicKey
  • tokenOwnerAccountB: PublicKey
  • tokenVaultA: PublicKey
  • tokenVaultB: PublicKey
  • whirlpool: PublicKey

Param: liquidityAmount

The total amount of Liquidity the user is willing to deposit.

-

Param: tokenMaxA

The maximum amount of token A to add to the position.

-

Param: tokenMaxB

The maximum amount of token B to add to the position.

-

Param: whirlpool

PublicKey for the whirlpool that the position will be opened for.

-

Param: position

PublicKey for the position will be opened for.

-

Param: positionTokenAccount

PublicKey for the position token's associated token address.

-

Param: tokenOwnerAccountA

PublicKey for the token A account that will be withdrawed from.

-

Param: tokenOwnerAccountB

PublicKey for the token B account that will be withdrawed from.

-

Param: tokenVaultA

PublicKey for the tokenA vault for this whirlpool.

-

Param: tokenVaultB

PublicKey for the tokenB vault for this whirlpool.

-

Param: tickArrayLower

PublicKey for the tick-array account that hosts the tick at the lower tick index.

-

Param: tickArrayUpper

PublicKey for the tick-array account that hosts the tick at the upper tick index.

-

Param: positionAuthority

authority that owns the token corresponding to this desired position.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/IncreaseLiquidityQuote.html b/docs/types/IncreaseLiquidityQuote.html deleted file mode 100644 index 20bc36f3a..000000000 --- a/docs/types/IncreaseLiquidityQuote.html +++ /dev/null @@ -1,2 +0,0 @@ -IncreaseLiquidityQuote | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/IncreaseLiquidityQuoteByLiquidityParam.html b/docs/types/IncreaseLiquidityQuoteByLiquidityParam.html deleted file mode 100644 index d03b20552..000000000 --- a/docs/types/IncreaseLiquidityQuoteByLiquidityParam.html +++ /dev/null @@ -1,9 +0,0 @@ -IncreaseLiquidityQuoteByLiquidityParam | @orca-so/whirlpools-sdk

Type alias IncreaseLiquidityQuoteByLiquidityParam

IncreaseLiquidityQuoteByLiquidityParam: {
    liquidity: BN;
    slippageTolerance: Percentage;
    sqrtPrice: BN;
    tickCurrentIndex: number;
    tickLowerIndex: number;
    tickUpperIndex: number;
    tokenExtensionCtx: TokenExtensionContextForPool;
}

Type declaration

  • liquidity: BN
  • slippageTolerance: Percentage
  • sqrtPrice: BN
  • tickCurrentIndex: number
  • tickLowerIndex: number
  • tickUpperIndex: number
  • tokenExtensionCtx: TokenExtensionContextForPool

Param: liquidity

The amount of liquidity value to deposit into the Whirlpool.

-

Param: tokenMintA

The mint of tokenA in the Whirlpool the user is depositing into.

-

Param: tokenMintB

The mint of tokenB in the Whirlpool the user is depositing into.

-

Param: tickCurrentIndex

The Whirlpool's current tickIndex

-

Param: sqrtPrice

The Whirlpool's current sqrtPrice

-

Param: tickLowerIndex

The lower index of the position that we are withdrawing from.

-

Param: tickUpperIndex

The upper index of the position that we are withdrawing from.

-

Param: slippageTolerance

The maximum slippage allowed when calculating the minimum tokens received.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/IncreaseLiquidityQuoteParam.html b/docs/types/IncreaseLiquidityQuoteParam.html deleted file mode 100644 index bb1441fe9..000000000 --- a/docs/types/IncreaseLiquidityQuoteParam.html +++ /dev/null @@ -1,10 +0,0 @@ -IncreaseLiquidityQuoteParam | @orca-so/whirlpools-sdk

Type alias IncreaseLiquidityQuoteParam

IncreaseLiquidityQuoteParam: {
    inputTokenAmount: BN;
    inputTokenMint: PublicKey;
    slippageTolerance: Percentage;
    sqrtPrice: BN;
    tickCurrentIndex: number;
    tickLowerIndex: number;
    tickUpperIndex: number;
    tokenExtensionCtx: TokenExtensionContextForPool;
    tokenMintA: PublicKey;
    tokenMintB: PublicKey;
}

Type declaration

  • inputTokenAmount: BN
  • inputTokenMint: PublicKey
  • slippageTolerance: Percentage
  • sqrtPrice: BN
  • tickCurrentIndex: number
  • tickLowerIndex: number
  • tickUpperIndex: number
  • tokenExtensionCtx: TokenExtensionContextForPool
  • tokenMintA: PublicKey
  • tokenMintB: PublicKey

Param: inputTokenAmount

The amount of input tokens to deposit.

-

Param: inputTokenMint

The mint of the input token the user would like to deposit.

-

Param: tokenMintA

The mint of tokenA in the Whirlpool the user is depositing into.

-

Param: tokenMintB

The mint of tokenB in the Whirlpool the user is depositing into.

-

Param: tickCurrentIndex

The Whirlpool's current tickIndex

-

Param: sqrtPrice

The Whirlpool's current sqrtPrice

-

Param: tickLowerIndex

The lower index of the position that we are withdrawing from.

-

Param: tickUpperIndex

The upper index of the position that we are withdrawing from.

-

Param: slippageTolerance

The maximum slippage allowed when calculating the minimum tokens received.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/IncreaseLiquidityV2Params.html b/docs/types/IncreaseLiquidityV2Params.html deleted file mode 100644 index dc6b2f2ab..000000000 --- a/docs/types/IncreaseLiquidityV2Params.html +++ /dev/null @@ -1,17 +0,0 @@ -IncreaseLiquidityV2Params | @orca-so/whirlpools-sdk

Type alias IncreaseLiquidityV2Params

IncreaseLiquidityV2Params: {
    position: PublicKey;
    positionAuthority: PublicKey;
    positionTokenAccount: PublicKey;
    tickArrayLower: PublicKey;
    tickArrayUpper: PublicKey;
    tokenMintA: PublicKey;
    tokenMintB: PublicKey;
    tokenOwnerAccountA: PublicKey;
    tokenOwnerAccountB: PublicKey;
    tokenProgramA: PublicKey;
    tokenProgramB: PublicKey;
    tokenTransferHookAccountsA?: AccountMeta[];
    tokenTransferHookAccountsB?: AccountMeta[];
    tokenVaultA: PublicKey;
    tokenVaultB: PublicKey;
    whirlpool: PublicKey;
} & IncreaseLiquidityInput

Parameters to increase liquidity for a position.

-

Type declaration

  • position: PublicKey
  • positionAuthority: PublicKey
  • positionTokenAccount: PublicKey
  • tickArrayLower: PublicKey
  • tickArrayUpper: PublicKey
  • tokenMintA: PublicKey
  • tokenMintB: PublicKey
  • tokenOwnerAccountA: PublicKey
  • tokenOwnerAccountB: PublicKey
  • tokenProgramA: PublicKey
  • tokenProgramB: PublicKey
  • Optional tokenTransferHookAccountsA?: AccountMeta[]
  • Optional tokenTransferHookAccountsB?: AccountMeta[]
  • tokenVaultA: PublicKey
  • tokenVaultB: PublicKey
  • whirlpool: PublicKey

Param: liquidityAmount

The total amount of Liquidity the user is willing to deposit.

-

Param: tokenMaxA

The maximum amount of token A to add to the position.

-

Param: tokenMaxB

The maximum amount of token B to add to the position.

-

Param: whirlpool

PublicKey for the whirlpool that the position will be opened for.

-

Param: position

PublicKey for the position will be opened for.

-

Param: positionTokenAccount

PublicKey for the position token's associated token address.

-

Param: positionAuthority

authority that owns the token corresponding to this desired position.

-

Param: tokenOwnerAccountA

PublicKey for the token A account that will be withdrawed from.

-

Param: tokenOwnerAccountB

PublicKey for the token B account that will be withdrawed from.

-

Param: tokenVaultA

PublicKey for the tokenA vault for this whirlpool.

-

Param: tokenVaultB

PublicKey for the tokenB vault for this whirlpool.

-

Param: tokenTransferHookAccountsA

Optional array of token transfer hook accounts for token A.

-

Param: tokenTransferHookAccountsB

Optional array of token transfer hook accounts for token B.

-

Param: tickArrayLower

PublicKey for the tick-array account that hosts the tick at the lower tick index.

-

Param: tickArrayUpper

PublicKey for the tick-array account that hosts the tick at the upper tick index.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/InitConfigExtensionParams.html b/docs/types/InitConfigExtensionParams.html deleted file mode 100644 index 2d1cc5001..000000000 --- a/docs/types/InitConfigExtensionParams.html +++ /dev/null @@ -1,2 +0,0 @@ -InitConfigExtensionParams | @orca-so/whirlpools-sdk

Type alias InitConfigExtensionParams

InitConfigExtensionParams: {
    feeAuthority: PublicKey;
    funder: PublicKey;
    whirlpoolsConfig: PublicKey;
    whirlpoolsConfigExtensionPda: PDA;
}

Parameters to initialize a WhirlpoolsConfigExtension account.

-

Type declaration

  • feeAuthority: PublicKey
  • funder: PublicKey
  • whirlpoolsConfig: PublicKey
  • whirlpoolsConfigExtensionPda: PDA

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/InitConfigParams.html b/docs/types/InitConfigParams.html deleted file mode 100644 index 7d79b49fd..000000000 --- a/docs/types/InitConfigParams.html +++ /dev/null @@ -1,8 +0,0 @@ -InitConfigParams | @orca-so/whirlpools-sdk

Type alias InitConfigParams

InitConfigParams: {
    collectProtocolFeesAuthority: PublicKey;
    defaultProtocolFeeRate: number;
    feeAuthority: PublicKey;
    funder: PublicKey;
    rewardEmissionsSuperAuthority: PublicKey;
    whirlpoolsConfigKeypair: Keypair;
}

Parameters to initialize a WhirlpoolsConfig account.

-

Type declaration

  • collectProtocolFeesAuthority: PublicKey
  • defaultProtocolFeeRate: number
  • feeAuthority: PublicKey
  • funder: PublicKey
  • rewardEmissionsSuperAuthority: PublicKey
  • whirlpoolsConfigKeypair: Keypair

Param: whirlpoolsConfigKeypair

Generated keypair for the WhirlpoolsConfig.

-

Param: feeAuthority

Authority authorized to initialize fee-tiers and set customs fees.

-

Param: collect_protocol_fees_authority

Authority authorized to collect protocol fees.

-

Param: rewardEmissionsSuperAuthority

Authority authorized to set reward authorities in pools.

-

Param: defaultProtocolFeeRate

The default protocol fee rate. Stored as a basis point of the total fees collected by feeRate.

-

Param: funder

The account that would fund the creation of this account

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/InitFeeTierParams.html b/docs/types/InitFeeTierParams.html deleted file mode 100644 index fae240c16..000000000 --- a/docs/types/InitFeeTierParams.html +++ /dev/null @@ -1,8 +0,0 @@ -InitFeeTierParams | @orca-so/whirlpools-sdk

Type alias InitFeeTierParams

InitFeeTierParams: {
    defaultFeeRate: number;
    feeAuthority: PublicKey;
    feeTierPda: PDA;
    funder: PublicKey;
    tickSpacing: number;
    whirlpoolsConfig: PublicKey;
}

Parameters to initialize a FeeTier account.

-

Type declaration

  • defaultFeeRate: number
  • feeAuthority: PublicKey
  • feeTierPda: PDA
  • funder: PublicKey
  • tickSpacing: number
  • whirlpoolsConfig: PublicKey

Param: whirlpoolsConfig

PublicKey for the whirlpool config space that the fee-tier will be initialized for.

-

Param: feeTierPda

PDA for the fee-tier account that will be initialized

-

Param: tickSpacing

The tick spacing this fee tier recommends its default fee rate for.

-

Param: defaultFeeRate

The default fee rate for this fee-tier. Stored as a hundredths of a basis point.

-

Param: feeAuthority

Authority authorized to initialize fee-tiers and set customs fees.

-

Param: funder

The account that would fund the creation of this account

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/InitPoolParams.html b/docs/types/InitPoolParams.html deleted file mode 100644 index 02cdeb8a4..000000000 --- a/docs/types/InitPoolParams.html +++ /dev/null @@ -1,12 +0,0 @@ -InitPoolParams | @orca-so/whirlpools-sdk

Type alias InitPoolParams

InitPoolParams: {
    feeTierKey: PublicKey;
    funder: PublicKey;
    initSqrtPrice: BN;
    tickSpacing: number;
    tokenMintA: PublicKey;
    tokenMintB: PublicKey;
    tokenVaultAKeypair: Keypair;
    tokenVaultBKeypair: Keypair;
    whirlpoolPda: PDA;
    whirlpoolsConfig: PublicKey;
}

Parameters to initialize a Whirlpool account.

-

Type declaration

  • feeTierKey: PublicKey
  • funder: PublicKey
  • initSqrtPrice: BN
  • tickSpacing: number
  • tokenMintA: PublicKey
  • tokenMintB: PublicKey
  • tokenVaultAKeypair: Keypair
  • tokenVaultBKeypair: Keypair
  • whirlpoolPda: PDA
  • whirlpoolsConfig: PublicKey

Param: initSqrtPrice

The desired initial sqrt-price for this pool

-

Param: whirlpoolsConfig

The public key for the WhirlpoolsConfig this pool is initialized in

-

Param: whirlpoolPda

PDA for the whirlpool account that would be initialized

-

Param: tokenMintA

Mint public key for token A

-

Param: tokenMintB

Mint public key for token B

-

Param: tokenVaultAKeypair

Keypair of the token A vault for this pool

-

Param: tokenVaultBKeypair

Keypair of the token B vault for this pool

-

Param: feeTierKey

PublicKey of the fee-tier account that this pool would use for the fee-rate

-

Param: tickSpacing

The desired tick spacing for this pool.

-

Param: funder

The account that would fund the creation of this account

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/InitPoolV2Params.html b/docs/types/InitPoolV2Params.html deleted file mode 100644 index 564f38bdc..000000000 --- a/docs/types/InitPoolV2Params.html +++ /dev/null @@ -1,16 +0,0 @@ -InitPoolV2Params | @orca-so/whirlpools-sdk

Type alias InitPoolV2Params

InitPoolV2Params: {
    feeTierKey: PublicKey;
    funder: PublicKey;
    initSqrtPrice: BN;
    tickSpacing: number;
    tokenBadgeA: PublicKey;
    tokenBadgeB: PublicKey;
    tokenMintA: PublicKey;
    tokenMintB: PublicKey;
    tokenProgramA: PublicKey;
    tokenProgramB: PublicKey;
    tokenVaultAKeypair: Keypair;
    tokenVaultBKeypair: Keypair;
    whirlpoolPda: PDA;
    whirlpoolsConfig: PublicKey;
}

Parameters to initialize a Whirlpool account.

-

Type declaration

  • feeTierKey: PublicKey
  • funder: PublicKey
  • initSqrtPrice: BN
  • tickSpacing: number
  • tokenBadgeA: PublicKey
  • tokenBadgeB: PublicKey
  • tokenMintA: PublicKey
  • tokenMintB: PublicKey
  • tokenProgramA: PublicKey
  • tokenProgramB: PublicKey
  • tokenVaultAKeypair: Keypair
  • tokenVaultBKeypair: Keypair
  • whirlpoolPda: PDA
  • whirlpoolsConfig: PublicKey

Param: initSqrtPrice

The desired initial sqrt-price for this pool

-

Param: whirlpoolsConfig

The public key for the WhirlpoolsConfig this pool is initialized in

-

Param: whirlpoolPda

PDA for the whirlpool account that would be initialized

-

Param: tokenMintA

Mint public key for token A

-

Param: tokenMintB

Mint public key for token B

-

Param: tokenBadgeA

TokenBadge public key for token A

-

Param: tokenBadgeB

TokenBadge public key for token B

-

Param: tokenProgramA

Token program public key for token A

-

Param: tokenProgramB

Token program public key for token B

-

Param: tokenVaultAKeypair

Keypair of the token A vault for this pool

-

Param: tokenVaultBKeypair

Keypair of the token B vault for this pool

-

Param: feeTierKey

PublicKey of the fee-tier account that this pool would use for the fee-rate

-

Param: tickSpacing

The desired tick spacing for this pool.

-

Param: funder

The account that would fund the creation of this account

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/InitTickArrayParams.html b/docs/types/InitTickArrayParams.html deleted file mode 100644 index ce6a3ad97..000000000 --- a/docs/types/InitTickArrayParams.html +++ /dev/null @@ -1,6 +0,0 @@ -InitTickArrayParams | @orca-so/whirlpools-sdk

Type alias InitTickArrayParams

InitTickArrayParams: {
    funder: PublicKey;
    startTick: number;
    tickArrayPda: PDA;
    whirlpool: PublicKey;
}

Parameters to initialize a TickArray account.

-

Type declaration

  • funder: PublicKey
  • startTick: number
  • tickArrayPda: PDA
  • whirlpool: PublicKey

Param: whirlpool

PublicKey for the whirlpool that the initialized tick-array will host ticks for.

-

Param: tickArrayPda

PDA for the tick array account that will be initialized

-

Param: startTick

The starting tick index for this tick-array. Has to be a multiple of TickArray size & the tick spacing of this pool.

-

Param: funder

The account that would fund the creation of this account

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/InitializePositionBundleParams.html b/docs/types/InitializePositionBundleParams.html deleted file mode 100644 index 6adfbcb3f..000000000 --- a/docs/types/InitializePositionBundleParams.html +++ /dev/null @@ -1,7 +0,0 @@ -InitializePositionBundleParams | @orca-so/whirlpools-sdk

Type alias InitializePositionBundleParams

InitializePositionBundleParams: {
    funder: PublicKey;
    owner: PublicKey;
    positionBundleMintKeypair: Keypair;
    positionBundlePda: PDA;
    positionBundleTokenAccount: PublicKey;
}

Parameters to initialize a PositionBundle account.

-

Type declaration

  • funder: PublicKey
  • owner: PublicKey
  • positionBundleMintKeypair: Keypair
  • positionBundlePda: PDA
  • positionBundleTokenAccount: PublicKey

Param: owner

PublicKey for the wallet that will host the minted position bundle token.

-

Param: positionBundlePda

PDA for the derived position bundle address.

-

Param: positionBundleMintKeypair

Keypair for the mint for the position bundle token.

-

Param: positionBundleTokenAccount

The associated token address for the position bundle token in the owners wallet.

-

Param: funder

The account that would fund the creation of this account

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/InitializeRewardParams.html b/docs/types/InitializeRewardParams.html deleted file mode 100644 index 86da9a00e..000000000 --- a/docs/types/InitializeRewardParams.html +++ /dev/null @@ -1,8 +0,0 @@ -InitializeRewardParams | @orca-so/whirlpools-sdk

Type alias InitializeRewardParams

InitializeRewardParams: {
    funder: PublicKey;
    rewardAuthority: PublicKey;
    rewardIndex: number;
    rewardMint: PublicKey;
    rewardVaultKeypair: Keypair;
    whirlpool: PublicKey;
}

Parameters to initialize a rewards for a Whirlpool

-

Type declaration

  • funder: PublicKey
  • rewardAuthority: PublicKey
  • rewardIndex: number
  • rewardMint: PublicKey
  • rewardVaultKeypair: Keypair
  • whirlpool: PublicKey

Param: whirlpool

PublicKey for the whirlpool config space that the fee-tier will be initialized for.

-

Param: rewardIndex

The reward index that we'd like to initialize. (0 <= index <= NUM_REWARDS).

-

Param: rewardMint

PublicKey for the reward mint that we'd use for the reward index.

-

Param: rewardVaultKeypair

Keypair of the vault for this reward index.

-

Param: rewardAuthority

Assigned authority by the reward_super_authority for the specified reward-index in this Whirlpool

-

Param: funder

The account that would fund the creation of this account

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/InitializeRewardV2Params.html b/docs/types/InitializeRewardV2Params.html deleted file mode 100644 index 8dffe4ce1..000000000 --- a/docs/types/InitializeRewardV2Params.html +++ /dev/null @@ -1,10 +0,0 @@ -InitializeRewardV2Params | @orca-so/whirlpools-sdk

Type alias InitializeRewardV2Params

InitializeRewardV2Params: {
    funder: PublicKey;
    rewardAuthority: PublicKey;
    rewardIndex: number;
    rewardMint: PublicKey;
    rewardTokenBadge: PublicKey;
    rewardTokenProgram: PublicKey;
    rewardVaultKeypair: Keypair;
    whirlpool: PublicKey;
}

Parameters to initialize a rewards for a Whirlpool

-

Type declaration

  • funder: PublicKey
  • rewardAuthority: PublicKey
  • rewardIndex: number
  • rewardMint: PublicKey
  • rewardTokenBadge: PublicKey
  • rewardTokenProgram: PublicKey
  • rewardVaultKeypair: Keypair
  • whirlpool: PublicKey

Param: whirlpool

PublicKey for the whirlpool config space that the fee-tier will be initialized for.

-

Param: rewardIndex

The reward index that we'd like to initialize. (0 <= index <= NUM_REWARDS).

-

Param: rewardMint

PublicKey for the reward mint that we'd use for the reward index.

-

Param: rewardTokenBadge

PublicKey for the TokenBadge for this reward mint.

-

Param: rewardVaultKeypair

Keypair of the vault for this reward index.

-

Param: rewardAuthority

Assigned authority by the reward_super_authority for the specified reward-index in this Whirlpool

-

Param: funder

The account that would fund the creation of this account

-

Param: rewardTokenProgram

PublicKey for the token program.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/InitializeTokenBadgeParams.html b/docs/types/InitializeTokenBadgeParams.html deleted file mode 100644 index d94b72f2e..000000000 --- a/docs/types/InitializeTokenBadgeParams.html +++ /dev/null @@ -1,8 +0,0 @@ -InitializeTokenBadgeParams | @orca-so/whirlpools-sdk

Type alias InitializeTokenBadgeParams

InitializeTokenBadgeParams: {
    funder: PublicKey;
    tokenBadgeAuthority: PublicKey;
    tokenBadgePda: PDA;
    tokenMint: PublicKey;
    whirlpoolsConfig: PublicKey;
    whirlpoolsConfigExtension: PublicKey;
}

Parameters to initialize a TokenBadge account.

-

Type declaration

  • funder: PublicKey
  • tokenBadgeAuthority: PublicKey
  • tokenBadgePda: PDA
  • tokenMint: PublicKey
  • whirlpoolsConfig: PublicKey
  • whirlpoolsConfigExtension: PublicKey

Param: whirlpoolsConfig

The public key for the WhirlpoolsConfig

-

Param: whirlpoolsConfigExtension

The public key for the WhirlpoolsConfigExtension

-

Param: tokenBadgeAuthority

The public key for the tokenBadgeAuthority

-

Param: tokenMint

The public key for the mint for which the TokenBadge is being initialized

-

Param: tokenBadgePda

The PDA for the TokenBadge account

-

Param: funder

The account that would fund the creation of this account

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/NormalSwapQuote.html b/docs/types/NormalSwapQuote.html deleted file mode 100644 index 4fb431802..000000000 --- a/docs/types/NormalSwapQuote.html +++ /dev/null @@ -1,2 +0,0 @@ -NormalSwapQuote | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/NormalTwoHopSwapQuote.html b/docs/types/NormalTwoHopSwapQuote.html deleted file mode 100644 index 291d253d6..000000000 --- a/docs/types/NormalTwoHopSwapQuote.html +++ /dev/null @@ -1,5 +0,0 @@ -NormalTwoHopSwapQuote | @orca-so/whirlpools-sdk

Type alias NormalTwoHopSwapQuoteExperimental

NormalTwoHopSwapQuote: {
    swapOneEstimates: SwapEstimates;
    swapTwoEstimates: SwapEstimates;
} & TwoHopSwapInput

A collection of estimated values from quoting a two-hop-swap.

-

Type declaration

Param: swapOneEstimates

Estimates for the first leg of the two-hop-swap

-

Param: swapTwoEstimates

Estimates for the second leg of the two-hop-swap - Not yet ready for use

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/OpenBundledPositionParams.html b/docs/types/OpenBundledPositionParams.html deleted file mode 100644 index 7ae4f38d6..000000000 --- a/docs/types/OpenBundledPositionParams.html +++ /dev/null @@ -1,11 +0,0 @@ -OpenBundledPositionParams | @orca-so/whirlpools-sdk

Type alias OpenBundledPositionParams

OpenBundledPositionParams: {
    bundleIndex: number;
    bundledPositionPda: PDA;
    funder: PublicKey;
    positionBundle: PublicKey;
    positionBundleAuthority: PublicKey;
    positionBundleTokenAccount: PublicKey;
    tickLowerIndex: number;
    tickUpperIndex: number;
    whirlpool: PublicKey;
}

Parameters to open a bundled position in a Whirlpool.

-

Type declaration

  • bundleIndex: number
  • bundledPositionPda: PDA
  • funder: PublicKey
  • positionBundle: PublicKey
  • positionBundleAuthority: PublicKey
  • positionBundleTokenAccount: PublicKey
  • tickLowerIndex: number
  • tickUpperIndex: number
  • whirlpool: PublicKey

Param: whirlpool

PublicKey for the whirlpool that the bundled position will be opened for.

-

Param: bundledPositionPda

PDA for the derived bundled position address.

-

Param: positionBundle

PublicKey for the position bundle.

-

Param: positionBundleTokenAccount

The associated token address for the position bundle token in the owners wallet.

-

Param: positionBundleAuthority

authority that owns the token corresponding to this desired bundled position.

-

Param: bundleIndex

The bundle index that holds the bundled position.

-

Param: tickLowerIndex

The tick specifying the lower end of the bundled position range.

-

Param: tickUpperIndex

The tick specifying the upper end of the bundled position range.

-

Param: funder

The account that would fund the creation of this account

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/OpenPositionBumpsData.html b/docs/types/OpenPositionBumpsData.html deleted file mode 100644 index 7a768c001..000000000 --- a/docs/types/OpenPositionBumpsData.html +++ /dev/null @@ -1 +0,0 @@ -OpenPositionBumpsData | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/OpenPositionParams.html b/docs/types/OpenPositionParams.html deleted file mode 100644 index 51309edc3..000000000 --- a/docs/types/OpenPositionParams.html +++ /dev/null @@ -1,10 +0,0 @@ -OpenPositionParams | @orca-so/whirlpools-sdk

Type alias OpenPositionParams

OpenPositionParams: {
    funder: PublicKey;
    owner: PublicKey;
    positionMintAddress: PublicKey;
    positionPda: PDA;
    positionTokenAccount: PublicKey;
    tickLowerIndex: number;
    tickUpperIndex: number;
    whirlpool: PublicKey;
}

Parameters to open a position in a Whirlpool.

-

Type declaration

  • funder: PublicKey
  • owner: PublicKey
  • positionMintAddress: PublicKey
  • positionPda: PDA
  • positionTokenAccount: PublicKey
  • tickLowerIndex: number
  • tickUpperIndex: number
  • whirlpool: PublicKey

Param: whirlpool

PublicKey for the whirlpool that the position will be opened for.

-

Param: ownerKey

PublicKey for the wallet that will host the minted position token.

-

Param: positionPda

PDA for the derived position address.

-

Param: positionMintAddress

PublicKey for the mint token for the Position token.

-

Param: positionTokenAccount

The associated token address for the position token in the owners wallet.

-

Param: tickLowerIndex

The tick specifying the lower end of the position range.

-

Param: tickUpperIndex

The tick specifying the upper end of the position range.

-

Param: funder

The account that would fund the creation of this account

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/OpenPositionWithMetadataBumpsData.html b/docs/types/OpenPositionWithMetadataBumpsData.html deleted file mode 100644 index 4a5a287e8..000000000 --- a/docs/types/OpenPositionWithMetadataBumpsData.html +++ /dev/null @@ -1 +0,0 @@ -OpenPositionWithMetadataBumpsData | @orca-so/whirlpools-sdk

Type alias OpenPositionWithMetadataBumpsData

OpenPositionWithMetadataBumpsData: {
    metadataBump: number;
    positionBump: number;
}

Type declaration

  • metadataBump: number
  • positionBump: number

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/Path.html b/docs/types/Path.html deleted file mode 100644 index 6cc19cc42..000000000 --- a/docs/types/Path.html +++ /dev/null @@ -1,5 +0,0 @@ -Path | @orca-so/whirlpools-sdk
Path: {
    edges: Edge[];
    endTokenMint: string;
    startTokenMint: string;
}

A path to trade from start token mint to end token mint.

-

Type declaration

  • edges: Edge[]
  • endTokenMint: string
  • startTokenMint: string

Param: startMint

The token the path starts with

-

Param: endMint

The token the path ends with

-

Param: edges

An ordered list of edges (pool addresses) that make up the path

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/PathSearchEntries.html b/docs/types/PathSearchEntries.html deleted file mode 100644 index bcb120774..000000000 --- a/docs/types/PathSearchEntries.html +++ /dev/null @@ -1,5 +0,0 @@ -PathSearchEntries | @orca-so/whirlpools-sdk

Type alias PathSearchEntries

PathSearchEntries: (readonly [string, Path[]])[]

Results for a series of graph search queries between two tokens. -The search id for each entry can be obtained from PoolGraphUtils.getSearchRouteId -If a path exist between tokens for that search id, it will be an array of paths. -If paths do not exist, it will be an empty array.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/PathSearchOptions.html b/docs/types/PathSearchOptions.html deleted file mode 100644 index 7cc245375..000000000 --- a/docs/types/PathSearchOptions.html +++ /dev/null @@ -1,3 +0,0 @@ -PathSearchOptions | @orca-so/whirlpools-sdk

Type alias PathSearchOptions

PathSearchOptions: {
    intermediateTokens: Address[];
}

Options for finding a path between two tokens

-

Type declaration

  • intermediateTokens: Address[]

Param: intermediateTokens

A list of tokens that can be used as intermediate hops

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/PoolGraph.html b/docs/types/PoolGraph.html deleted file mode 100644 index e87a9b152..000000000 --- a/docs/types/PoolGraph.html +++ /dev/null @@ -1,35 +0,0 @@ -PoolGraph | @orca-so/whirlpools-sdk
PoolGraph: {
    getPath: ((startMint, endMint, options?) => Path[]);
    getAllPaths(options?): PathSearchEntries;
    getPathsForPairs(searchTokenPairs, options?): PathSearchEntries;
}

A type representing an undirected graph of pools that can be used to find paths between two tokens. -In this graph, nodes are token mints, and edges are pools

-

Type declaration

  • getPath: ((startMint, endMint, options?) => Path[])

    Get a list of paths between two tokens for this pool graph.

    -

    Notes:

    -
      -
    • Only support paths with up to 2 edges
    • -
    • Paths searching between two identical token mints are not supported.
    • -
    -

    Param: startMint

    The token the path starts from

    -

    Param: endMint

    The token the path ends in

    -

    Param: options

    Options for finding a path

    -

    Returns

    A list of path between the two tokens. If no path are found, it will be an empty array.

    -
      • (startMint, endMint, options?): Path[]
      • Get a list of paths between two tokens for this pool graph.

        -

        Notes:

        -
          -
        • Only support paths with up to 2 edges
        • -
        • Paths searching between two identical token mints are not supported.
        • -
        -

        Parameters

        • startMint: Address

          The token the path starts from

          -
        • endMint: Address

          The token the path ends in

          -
        • Optional options: PathSearchOptions

          Options for finding a path

          -

        Returns Path[]

        A list of path between the two tokens. If no path are found, it will be an empty array.

        -
  • getAllPaths:function
  • getPathsForPairs:function
    • Get a map of paths from a list of token pairs for this pool graph.

      -

      Notes:

      -
        -
      • Only support paths with up to 2 edges
      • -
      • Paths searching between two identical token mints are not supported.
      • -
      -

      Parameters

      • searchTokenPairs: [Address, Address][]

        A list of token pairs to find paths for. The first token in the pair is the start token, and the second token is the end token.

        -
      • Optional options: PathSearchOptions

        Options for finding a path

        -

      Returns PathSearchEntries

      An array of search result entires in the same order as the searchTokenPairs.

      -

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/PoolMap.html b/docs/types/PoolMap.html deleted file mode 100644 index 1935fc233..000000000 --- a/docs/types/PoolMap.html +++ /dev/null @@ -1,2 +0,0 @@ -PoolMap | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/PositionBundleData.html b/docs/types/PositionBundleData.html deleted file mode 100644 index d2d210e2c..000000000 --- a/docs/types/PositionBundleData.html +++ /dev/null @@ -1 +0,0 @@ -PositionBundleData | @orca-so/whirlpools-sdk

Type alias PositionBundleData

PositionBundleData: {
    positionBitmap: number[];
    positionBundleMint: PublicKey;
}

Type declaration

  • positionBitmap: number[]
  • positionBundleMint: PublicKey

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/PositionData.html b/docs/types/PositionData.html deleted file mode 100644 index 4f8b89879..000000000 --- a/docs/types/PositionData.html +++ /dev/null @@ -1 +0,0 @@ -PositionData | @orca-so/whirlpools-sdk
PositionData: {
    feeGrowthCheckpointA: BN;
    feeGrowthCheckpointB: BN;
    feeOwedA: BN;
    feeOwedB: BN;
    liquidity: BN;
    positionMint: PublicKey;
    rewardInfos: PositionRewardInfoData[];
    tickLowerIndex: number;
    tickUpperIndex: number;
    whirlpool: PublicKey;
}

Type declaration

  • feeGrowthCheckpointA: BN
  • feeGrowthCheckpointB: BN
  • feeOwedA: BN
  • feeOwedB: BN
  • liquidity: BN
  • positionMint: PublicKey
  • rewardInfos: PositionRewardInfoData[]
  • tickLowerIndex: number
  • tickUpperIndex: number
  • whirlpool: PublicKey

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/PositionRewardInfoData.html b/docs/types/PositionRewardInfoData.html deleted file mode 100644 index 747906c2c..000000000 --- a/docs/types/PositionRewardInfoData.html +++ /dev/null @@ -1 +0,0 @@ -PositionRewardInfoData | @orca-so/whirlpools-sdk

Type alias PositionRewardInfoData

PositionRewardInfoData: {
    amountOwed: BN;
    growthInsideCheckpoint: BN;
}

Type declaration

  • amountOwed: BN
  • growthInsideCheckpoint: BN

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/PriceCalculationData.html b/docs/types/PriceCalculationData.html deleted file mode 100644 index 154b08ad3..000000000 --- a/docs/types/PriceCalculationData.html +++ /dev/null @@ -1,5 +0,0 @@ -PriceCalculationData | @orca-so/whirlpools-sdk

Type alias PriceCalculationData

PriceCalculationData: {
    decimalsMap: DecimalsMap;
    poolMap: PoolMap;
    tickArrayMap: TickArrayMap;
}

A set of fetched accounts that are used for price calculations in PriceModule functions.

-

Type declaration

Param: poolMap

A map of WhirlpoolData accounts that are used for price calculations.

-

Param: tickArrayMap

A map of TickArrayData accounts that are used for price calculations.

-

Param: decimalsMap

A map of token decimals that are used for price calculations.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/PriceMap.html b/docs/types/PriceMap.html deleted file mode 100644 index 272b1b80a..000000000 --- a/docs/types/PriceMap.html +++ /dev/null @@ -1,2 +0,0 @@ -PriceMap | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/RouteSelectOptions.html b/docs/types/RouteSelectOptions.html deleted file mode 100644 index 04c9e1bb6..000000000 --- a/docs/types/RouteSelectOptions.html +++ /dev/null @@ -1,7 +0,0 @@ -RouteSelectOptions | @orca-so/whirlpools-sdk

Type alias RouteSelectOptions

RouteSelectOptions: {
    availableAtaAccounts?: AtaAccountInfo[];
    maxSupportedTransactionVersion: "legacy" | number;
    maxTransactionSize: number;
    onRouteEvaluation?: ((route, tx) => void);
}

Parameters to configure the selection of the best route.

-

Type declaration

  • Optional availableAtaAccounts?: AtaAccountInfo[]
  • maxSupportedTransactionVersion: "legacy" | number
  • maxTransactionSize: number
  • Optional onRouteEvaluation?: ((route, tx) => void)
      • (route, tx): void
      • Parameters

        Returns void

Param: maxSupportedTransactionVersion

The maximum transaction version that the wallet supports.

-

Param: maxTransactionSize

The maximum transaction size that the wallet supports.

-

Param: availableAtaAccounts

A list of ATA accounts that are available in this wallet to use for the swap.

-

Param: onRouteEvaluation

A callback that is called right before a route is evaluated. Users have a chance to add additional instructions -to be added for an accurate txn size measurement. (ex. Adding a priority fee ix to the transaction)

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/RoutingOptions.html b/docs/types/RoutingOptions.html deleted file mode 100644 index f10d19ecc..000000000 --- a/docs/types/RoutingOptions.html +++ /dev/null @@ -1,6 +0,0 @@ -RoutingOptions | @orca-so/whirlpools-sdk

Type alias RoutingOptions

RoutingOptions: {
    maxSplits: number;
    numTopPartialQuotes: number;
    numTopRoutes: number;
    percentIncrement: number;
}

Options to configure the router.

-

Type declaration

  • maxSplits: number
  • numTopPartialQuotes: number
  • numTopRoutes: number
  • percentIncrement: number

Param: percentIncrement

The percent increment to use when splitting a trade into multiple trades.

-

Param: numTopRoutes

The number of top routes to return from the router.

-

Param: numTopPartialQuotes

The number of top partial quotes to return from the router.

-

Param: maxSplits

The maximum number of splits to perform on a trade.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/SetCollectProtocolFeesAuthorityParams.html b/docs/types/SetCollectProtocolFeesAuthorityParams.html deleted file mode 100644 index 2f20acb4f..000000000 --- a/docs/types/SetCollectProtocolFeesAuthorityParams.html +++ /dev/null @@ -1,5 +0,0 @@ -SetCollectProtocolFeesAuthorityParams | @orca-so/whirlpools-sdk

Type alias SetCollectProtocolFeesAuthorityParams

SetCollectProtocolFeesAuthorityParams: {
    collectProtocolFeesAuthority: PublicKey;
    newCollectProtocolFeesAuthority: PublicKey;
    whirlpoolsConfig: PublicKey;
}

Parameters to set the collect fee authority in a WhirlpoolsConfig

-

Type declaration

  • collectProtocolFeesAuthority: PublicKey
  • newCollectProtocolFeesAuthority: PublicKey
  • whirlpoolsConfig: PublicKey

Param: whirlpoolsConfig

The public key for the WhirlpoolsConfig this pool is initialized in

-

Param: collectProtocolFeesAuthority

The current collectProtocolFeesAuthority in the WhirlpoolsConfig

-

Param: newCollectProtocolFeesAuthority

The new collectProtocolFeesAuthority in the WhirlpoolsConfig

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/SetConfigExtensionAuthorityParams.html b/docs/types/SetConfigExtensionAuthorityParams.html deleted file mode 100644 index 0ba4b587c..000000000 --- a/docs/types/SetConfigExtensionAuthorityParams.html +++ /dev/null @@ -1,6 +0,0 @@ -SetConfigExtensionAuthorityParams | @orca-so/whirlpools-sdk

Type alias SetConfigExtensionAuthorityParams

SetConfigExtensionAuthorityParams: {
    configExtensionAuthority: PublicKey;
    newConfigExtensionAuthority: PublicKey;
    whirlpoolsConfig: PublicKey;
    whirlpoolsConfigExtension: PublicKey;
}

Parameters to set the token badge authority in a WhirlpoolsConfigExtension

-

Type declaration

  • configExtensionAuthority: PublicKey
  • newConfigExtensionAuthority: PublicKey
  • whirlpoolsConfig: PublicKey
  • whirlpoolsConfigExtension: PublicKey

Param: whirlpoolsConfig

PublicKey for the whirlpools config account

-

Param: whirlpoolsConfigExtension

The public key for the WhirlpoolsConfigExtension

-

Param: configExtensionAuthority

The current configExtensionAuthority in the WhirlpoolsConfigExtension

-

Param: newConfigExtensionAuthority

The new configExtensionAuthority in the WhirlpoolsConfigExtension

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/SetDefaultFeeRateParams.html b/docs/types/SetDefaultFeeRateParams.html deleted file mode 100644 index 22ec1853e..000000000 --- a/docs/types/SetDefaultFeeRateParams.html +++ /dev/null @@ -1,6 +0,0 @@ -SetDefaultFeeRateParams | @orca-so/whirlpools-sdk

Type alias SetDefaultFeeRateParams

SetDefaultFeeRateParams: {
    defaultFeeRate: number;
    feeAuthority: PublicKey;
    tickSpacing: number;
    whirlpoolsConfig: PublicKey;
}

Parameters to set the default fee rate for a FeeTier.

-

Type declaration

  • defaultFeeRate: number
  • feeAuthority: PublicKey
  • tickSpacing: number
  • whirlpoolsConfig: PublicKey

Param: whirlpoolsConfig

The public key for the WhirlpoolsConfig this fee-tier is initialized in

-

Param: feeAuthority

Authority authorized in the WhirlpoolsConfig to set default fee rates.

-

Param: tickSpacing

The tick spacing of the fee-tier that we would like to update.

-

Param: defaultFeeRate

The new default fee rate for this fee-tier. Stored as a hundredths of a basis point.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/SetDefaultProtocolFeeRateParams.html b/docs/types/SetDefaultProtocolFeeRateParams.html deleted file mode 100644 index 3896ab3eb..000000000 --- a/docs/types/SetDefaultProtocolFeeRateParams.html +++ /dev/null @@ -1,5 +0,0 @@ -SetDefaultProtocolFeeRateParams | @orca-so/whirlpools-sdk

Type alias SetDefaultProtocolFeeRateParams

SetDefaultProtocolFeeRateParams: {
    defaultProtocolFeeRate: number;
    feeAuthority: PublicKey;
    whirlpoolsConfig: PublicKey;
}

Parameters to set the default fee rate for a FeeTier.

-

Type declaration

  • defaultProtocolFeeRate: number
  • feeAuthority: PublicKey
  • whirlpoolsConfig: PublicKey

Param: whirlpoolsConfig

The public key for the WhirlpoolsConfig this pool is initialized in

-

Param: feeAuthority

Authority authorized in the WhirlpoolsConfig to set default fee rates.

-

Param: defaultProtocolFeeRate

The new default protocol fee rate for this config. Stored as a basis point of the total fees collected by feeRate.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/SetFeeAuthorityParams.html b/docs/types/SetFeeAuthorityParams.html deleted file mode 100644 index 42f5cd8ed..000000000 --- a/docs/types/SetFeeAuthorityParams.html +++ /dev/null @@ -1,5 +0,0 @@ -SetFeeAuthorityParams | @orca-so/whirlpools-sdk

Type alias SetFeeAuthorityParams

SetFeeAuthorityParams: {
    feeAuthority: PublicKey;
    newFeeAuthority: PublicKey;
    whirlpoolsConfig: PublicKey;
}

Parameters to set the fee authority in a WhirlpoolsConfig

-

Type declaration

  • feeAuthority: PublicKey
  • newFeeAuthority: PublicKey
  • whirlpoolsConfig: PublicKey

Param: whirlpoolsConfig

The public key for the WhirlpoolsConfig this pool is initialized in

-

Param: feeAuthority

The current feeAuthority in the WhirlpoolsConfig

-

Param: newFeeAuthority

The new feeAuthority in the WhirlpoolsConfig

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/SetFeeRateParams.html b/docs/types/SetFeeRateParams.html deleted file mode 100644 index c29991774..000000000 --- a/docs/types/SetFeeRateParams.html +++ /dev/null @@ -1,6 +0,0 @@ -SetFeeRateParams | @orca-so/whirlpools-sdk

Type alias SetFeeRateParams

SetFeeRateParams: {
    feeAuthority: PublicKey;
    feeRate: number;
    whirlpool: PublicKey;
    whirlpoolsConfig: PublicKey;
}

Parameters to set fee rate for a Whirlpool.

-

Type declaration

  • feeAuthority: PublicKey
  • feeRate: number
  • whirlpool: PublicKey
  • whirlpoolsConfig: PublicKey

Param: whirlpool

PublicKey for the whirlpool to update. This whirlpool has to be part of the provided WhirlpoolsConfig space.

-

Param: whirlpoolsConfig

The public key for the WhirlpoolsConfig this pool is initialized in

-

Param: feeAuthority

Authority authorized in the WhirlpoolsConfig to set default fee rates.

-

Param: feeRate

The new fee rate for this fee-tier. Stored as a hundredths of a basis point.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/SetProtocolFeeRateParams.html b/docs/types/SetProtocolFeeRateParams.html deleted file mode 100644 index 6361ade05..000000000 --- a/docs/types/SetProtocolFeeRateParams.html +++ /dev/null @@ -1,6 +0,0 @@ -SetProtocolFeeRateParams | @orca-so/whirlpools-sdk

Type alias SetProtocolFeeRateParams

SetProtocolFeeRateParams: {
    feeAuthority: PublicKey;
    protocolFeeRate: number;
    whirlpool: PublicKey;
    whirlpoolsConfig: PublicKey;
}

Parameters to set fee rate for a Whirlpool.

-

Type declaration

  • feeAuthority: PublicKey
  • protocolFeeRate: number
  • whirlpool: PublicKey
  • whirlpoolsConfig: PublicKey

Param: whirlpool

PublicKey for the whirlpool to update. This whirlpool has to be part of the provided WhirlpoolsConfig space.

-

Param: whirlpoolsConfig

The public key for the WhirlpoolsConfig this pool is initialized in

-

Param: feeAuthority

Authority authorized in the WhirlpoolsConfig to set default fee rates.

-

Param: protocolFeeRate

The new default protocol fee rate for this pool. Stored as a basis point of the total fees collected by feeRate.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/SetRewardAuthorityBySuperAuthorityParams.html b/docs/types/SetRewardAuthorityBySuperAuthorityParams.html deleted file mode 100644 index ecc0f1d04..000000000 --- a/docs/types/SetRewardAuthorityBySuperAuthorityParams.html +++ /dev/null @@ -1,7 +0,0 @@ -SetRewardAuthorityBySuperAuthorityParams | @orca-so/whirlpools-sdk

Type alias SetRewardAuthorityBySuperAuthorityParams

SetRewardAuthorityBySuperAuthorityParams: {
    newRewardAuthority: PublicKey;
    rewardEmissionsSuperAuthority: PublicKey;
    rewardIndex: number;
    whirlpool: PublicKey;
    whirlpoolsConfig: PublicKey;
}

Parameters to update the reward authority at a particular rewardIndex on a Whirlpool.

-

Type declaration

  • newRewardAuthority: PublicKey
  • rewardEmissionsSuperAuthority: PublicKey
  • rewardIndex: number
  • whirlpool: PublicKey
  • whirlpoolsConfig: PublicKey

Param: whirlpool

PublicKey for the whirlpool to update. This whirlpool has to be part of the provided WhirlpoolsConfig space.

-

Param: whirlpoolsConfig

The public key for the WhirlpoolsConfig this pool is initialized in

-

Param: rewardIndex

The reward index that we'd like to update. (0 <= index <= NUM_REWARDS).

-

Param: rewardEmissionsSuperAuthority

The current rewardEmissionsSuperAuthority in the WhirlpoolsConfig

-

Param: newRewardAuthority

The new rewardAuthority in the Whirlpool at the rewardIndex

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/SetRewardAuthorityParams.html b/docs/types/SetRewardAuthorityParams.html deleted file mode 100644 index 5bacf8cf5..000000000 --- a/docs/types/SetRewardAuthorityParams.html +++ /dev/null @@ -1,6 +0,0 @@ -SetRewardAuthorityParams | @orca-so/whirlpools-sdk

Type alias SetRewardAuthorityParams

SetRewardAuthorityParams: {
    newRewardAuthority: PublicKey;
    rewardAuthority: PublicKey;
    rewardIndex: number;
    whirlpool: PublicKey;
}

Parameters to update the reward authority at a particular rewardIndex on a Whirlpool.

-

Type declaration

  • newRewardAuthority: PublicKey
  • rewardAuthority: PublicKey
  • rewardIndex: number
  • whirlpool: PublicKey

Param: whirlpool

PublicKey for the whirlpool to update.

-

Param: rewardIndex

The reward index that we'd like to update. (0 <= index <= NUM_REWARDS).

-

Param: rewardAuthority

The current rewardAuthority in the Whirlpool at the rewardIndex

-

Param: newRewardAuthority

The new rewardAuthority in the Whirlpool at the rewardIndex

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/SetRewardEmissionsParams.html b/docs/types/SetRewardEmissionsParams.html deleted file mode 100644 index e92f89799..000000000 --- a/docs/types/SetRewardEmissionsParams.html +++ /dev/null @@ -1,7 +0,0 @@ -SetRewardEmissionsParams | @orca-so/whirlpools-sdk

Type alias SetRewardEmissionsParams

SetRewardEmissionsParams: {
    emissionsPerSecondX64: BN;
    rewardAuthority: PublicKey;
    rewardIndex: number;
    rewardVaultKey: PublicKey;
    whirlpool: PublicKey;
}

Parameters to set rewards emissions for a reward in a Whirlpool

-

Type declaration

  • emissionsPerSecondX64: BN
  • rewardAuthority: PublicKey
  • rewardIndex: number
  • rewardVaultKey: PublicKey
  • whirlpool: PublicKey

Param: whirlpool

PublicKey for the whirlpool which the reward resides in.

-

Param: rewardIndex

The reward index that we'd like to initialize. (0 <= index <= NUM_REWARDS).

-

Param: rewardVaultKey

PublicKey of the vault for this reward index.

-

Param: rewardAuthority

Assigned authority by the reward_super_authority for the specified reward-index in this Whirlpool

-

Param: emissionsPerSecondX64

The new emissions per second to set for this reward.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/SetRewardEmissionsSuperAuthorityParams.html b/docs/types/SetRewardEmissionsSuperAuthorityParams.html deleted file mode 100644 index 4b95721df..000000000 --- a/docs/types/SetRewardEmissionsSuperAuthorityParams.html +++ /dev/null @@ -1,5 +0,0 @@ -SetRewardEmissionsSuperAuthorityParams | @orca-so/whirlpools-sdk

Type alias SetRewardEmissionsSuperAuthorityParams

SetRewardEmissionsSuperAuthorityParams: {
    newRewardEmissionsSuperAuthority: PublicKey;
    rewardEmissionsSuperAuthority: PublicKey;
    whirlpoolsConfig: PublicKey;
}

Parameters to set rewards emissions for a reward in a Whirlpool

-

Type declaration

  • newRewardEmissionsSuperAuthority: PublicKey
  • rewardEmissionsSuperAuthority: PublicKey
  • whirlpoolsConfig: PublicKey

Param: whirlpoolsConfig

PublicKey for the WhirlpoolsConfig that we want to update.

-

Param: rewardEmissionsSuperAuthority

Current reward emission super authority in this WhirlpoolsConfig

-

Param: newRewardEmissionsSuperAuthority

New reward emission super authority for this WhirlpoolsConfig

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/SetRewardEmissionsV2Params.html b/docs/types/SetRewardEmissionsV2Params.html deleted file mode 100644 index 9800ef993..000000000 --- a/docs/types/SetRewardEmissionsV2Params.html +++ /dev/null @@ -1,7 +0,0 @@ -SetRewardEmissionsV2Params | @orca-so/whirlpools-sdk

Type alias SetRewardEmissionsV2Params

SetRewardEmissionsV2Params: {
    emissionsPerSecondX64: BN;
    rewardAuthority: PublicKey;
    rewardIndex: number;
    rewardVaultKey: PublicKey;
    whirlpool: PublicKey;
}

Parameters to set rewards emissions for a reward in a Whirlpool

-

Type declaration

  • emissionsPerSecondX64: BN
  • rewardAuthority: PublicKey
  • rewardIndex: number
  • rewardVaultKey: PublicKey
  • whirlpool: PublicKey

Param: whirlpool

PublicKey for the whirlpool which the reward resides in.

-

Param: rewardIndex

The reward index that we'd like to initialize. (0 <= index <= NUM_REWARDS).

-

Param: rewardVaultKey

PublicKey of the vault for this reward index.

-

Param: rewardAuthority

Assigned authority by the reward_super_authority for the specified reward-index in this Whirlpool

-

Param: emissionsPerSecondX64

The new emissions per second to set for this reward.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/SetTokenBadgeAuthorityParams.html b/docs/types/SetTokenBadgeAuthorityParams.html deleted file mode 100644 index 00807237e..000000000 --- a/docs/types/SetTokenBadgeAuthorityParams.html +++ /dev/null @@ -1,6 +0,0 @@ -SetTokenBadgeAuthorityParams | @orca-so/whirlpools-sdk

Type alias SetTokenBadgeAuthorityParams

SetTokenBadgeAuthorityParams: {
    configExtensionAuthority: PublicKey;
    newTokenBadgeAuthority: PublicKey;
    whirlpoolsConfig: PublicKey;
    whirlpoolsConfigExtension: PublicKey;
}

Parameters to set the token badge authority in a WhirlpoolsConfigExtension

-

Type declaration

  • configExtensionAuthority: PublicKey
  • newTokenBadgeAuthority: PublicKey
  • whirlpoolsConfig: PublicKey
  • whirlpoolsConfigExtension: PublicKey

Param: whirlpoolsConfig

PublicKey for the whirlpools config account

-

Param: whirlpoolsConfigExtension

The public key for the WhirlpoolsConfigExtension

-

Param: configExtensionAuthority

The current configExtensionAuthority in the WhirlpoolsConfigExtension

-

Param: newTokenBadgeAuthority

The new tokenBadgeAuthority in the WhirlpoolsConfigExtension

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/SubTradeRoute.html b/docs/types/SubTradeRoute.html deleted file mode 100644 index b80330443..000000000 --- a/docs/types/SubTradeRoute.html +++ /dev/null @@ -1,7 +0,0 @@ -SubTradeRoute | @orca-so/whirlpools-sdk

Type alias SubTradeRoute

SubTradeRoute: {
    amountIn: BN;
    amountOut: BN;
    hopQuotes: TradeHop[];
    path: Path;
    splitPercent: number;
}

Represents a fragment of a trade that was splitted into multiple trades for more efficient execution.

-

Type declaration

  • amountIn: BN
  • amountOut: BN
  • hopQuotes: TradeHop[]
  • path: Path
  • splitPercent: number

Param: path

The path of pool addresses that make up this sub trade.

-

Param: splitPercent

The percent of the trade that this sub trade represents.

-

Param: amountIn

The amount of token being traded in within this sub-route.

-

Param: amountOut

The amount of token being traded out within this sub-routes.

-

Param: hopQuotes

The quotes for each hop in the path of this trade.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/SwapEstimates.html b/docs/types/SwapEstimates.html deleted file mode 100644 index 5070eea8f..000000000 --- a/docs/types/SwapEstimates.html +++ /dev/null @@ -1,7 +0,0 @@ -SwapEstimates | @orca-so/whirlpools-sdk

Type alias SwapEstimates

SwapEstimates: {
    estimatedAmountIn: BN;
    estimatedAmountOut: BN;
    estimatedEndSqrtPrice: BN;
    estimatedEndTickIndex: number;
    estimatedFeeAmount: BN;
    transferFee: {
        deductedFromEstimatedAmountOut: BN;
        deductingFromEstimatedAmountIn: BN;
    };
}

A collection of estimated values from quoting a swap.

-

Type declaration

  • estimatedAmountIn: BN
  • estimatedAmountOut: BN
  • estimatedEndSqrtPrice: BN
  • estimatedEndTickIndex: number
  • estimatedFeeAmount: BN
  • transferFee: {
        deductedFromEstimatedAmountOut: BN;
        deductingFromEstimatedAmountIn: BN;
    }
    • deductedFromEstimatedAmountOut: BN
    • deductingFromEstimatedAmountIn: BN

Param: estimatedAmountIn

Approximate number of input token swapped in the swap

-

Param: estimatedAmountOut

Approximate number of output token swapped in the swap

-

Param: estimatedEndTickIndex

Approximate tick-index the Whirlpool will land on after this swap

-

Param: estimatedEndSqrtPrice

Approximate sqrtPrice the Whirlpool will land on after this swap

-

Param: estimatedFeeAmount

Approximate feeAmount (all fees) charged on this swap

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/SwapInput.html b/docs/types/SwapInput.html deleted file mode 100644 index 65da0b348..000000000 --- a/docs/types/SwapInput.html +++ /dev/null @@ -1,11 +0,0 @@ -SwapInput | @orca-so/whirlpools-sdk
SwapInput: {
    aToB: boolean;
    amount: BN;
    amountSpecifiedIsInput: boolean;
    otherAmountThreshold: BN;
    sqrtPriceLimit: BN;
    tickArray0: PublicKey;
    tickArray1: PublicKey;
    tickArray2: PublicKey;
}

Parameters that describe the nature of a swap on a Whirlpool.

-

Type declaration

  • aToB: boolean
  • amount: BN
  • amountSpecifiedIsInput: boolean
  • otherAmountThreshold: BN
  • sqrtPriceLimit: BN
  • tickArray0: PublicKey
  • tickArray1: PublicKey
  • tickArray2: PublicKey

Param: aToB

The direction of the swap. True if swapping from A to B. False if swapping from B to A.

-

Param: amountSpecifiedIsInput

Specifies the token the parameter amountrepresents. If true, the amount represents - the input token of the swap.

-

Param: amount

The amount of input or output token to swap from (depending on amountSpecifiedIsInput).

-

Param: otherAmountThreshold

The maximum/minimum of input/output token to swap into (depending on amountSpecifiedIsInput).

-

Param: sqrtPriceLimit

The maximum/minimum price the swap will swap to.

-

Param: tickArray0

PublicKey of the tick-array where the Whirlpool's currentTickIndex resides in

-

Param: tickArray1

The next tick-array in the swap direction. If the swap will not reach the next tick-aray, input the same array as tickArray0.

-

Param: tickArray2

The next tick-array in the swap direction after tickArray2. If the swap will not reach the next tick-aray, input the same array as tickArray1.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/SwapParams.html b/docs/types/SwapParams.html deleted file mode 100644 index ed53b94a3..000000000 --- a/docs/types/SwapParams.html +++ /dev/null @@ -1,10 +0,0 @@ -SwapParams | @orca-so/whirlpools-sdk
SwapParams: SwapInput & {
    oracle: PublicKey;
    tokenAuthority: PublicKey;
    tokenOwnerAccountA: PublicKey;
    tokenOwnerAccountB: PublicKey;
    tokenVaultA: PublicKey;
    tokenVaultB: PublicKey;
    whirlpool: PublicKey;
}

Raw parameters and accounts to swap on a Whirlpool

-

Type declaration

  • oracle: PublicKey
  • tokenAuthority: PublicKey
  • tokenOwnerAccountA: PublicKey
  • tokenOwnerAccountB: PublicKey
  • tokenVaultA: PublicKey
  • tokenVaultB: PublicKey
  • whirlpool: PublicKey

Param: swapInput

Parameters in SwapInput

-

Param: whirlpool

PublicKey for the whirlpool that the swap will occur on

-

Param: tokenOwnerAccountA

PublicKey for the associated token account for tokenA in the collection wallet

-

Param: tokenOwnerAccountB

PublicKey for the associated token account for tokenB in the collection wallet

-

Param: tokenVaultA

PublicKey for the tokenA vault for this whirlpool.

-

Param: tokenVaultB

PublicKey for the tokenB vault for this whirlpool.

-

Param: oracle

PublicKey for the oracle account for this Whirlpool.

-

Param: tokenAuthority

authority to withdraw tokens from the input token account

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/SwapQuote.html b/docs/types/SwapQuote.html deleted file mode 100644 index 262b4e40d..000000000 --- a/docs/types/SwapQuote.html +++ /dev/null @@ -1,2 +0,0 @@ -SwapQuote | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/SwapQuoteParam.html b/docs/types/SwapQuoteParam.html deleted file mode 100644 index 8294b960e..000000000 --- a/docs/types/SwapQuoteParam.html +++ /dev/null @@ -1,8 +0,0 @@ -SwapQuoteParam | @orca-so/whirlpools-sdk

Type alias SwapQuoteParam

SwapQuoteParam: {
    aToB: boolean;
    amountSpecifiedIsInput: boolean;
    otherAmountThreshold: BN;
    sqrtPriceLimit: BN;
    tickArrays: TickArray[];
    tokenAmount: BN;
    tokenExtensionCtx: TokenExtensionContextForPool;
    whirlpoolData: WhirlpoolData;
}

Type declaration

Param: tokenAmount

The amount of input or output token to swap from (depending on amountSpecifiedIsInput).

-

Param: otherAmountThreshold

The maximum/minimum of input/output token to swap into (depending on amountSpecifiedIsInput).

-

Param: sqrtPriceLimit

The maximum/minimum price the swap will swap to.

-

Param: aToB

The direction of the swap. True if swapping from A to B. False if swapping from B to A.

-

Param: amountSpecifiedIsInput

Specifies the token the parameter amountrepresents. If true, the amount represents - the input token of the swap.

-

Param: tickArrays

An sequential array of tick-array objects in the direction of the trade to swap on

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/SwapV2Params.html b/docs/types/SwapV2Params.html deleted file mode 100644 index a427cc33d..000000000 --- a/docs/types/SwapV2Params.html +++ /dev/null @@ -1,16 +0,0 @@ -SwapV2Params | @orca-so/whirlpools-sdk
SwapV2Params: SwapInput & {
    oracle: PublicKey;
    tokenAuthority: PublicKey;
    tokenMintA: PublicKey;
    tokenMintB: PublicKey;
    tokenOwnerAccountA: PublicKey;
    tokenOwnerAccountB: PublicKey;
    tokenProgramA: PublicKey;
    tokenProgramB: PublicKey;
    tokenTransferHookAccountsA?: AccountMeta[];
    tokenTransferHookAccountsB?: AccountMeta[];
    tokenVaultA: PublicKey;
    tokenVaultB: PublicKey;
    whirlpool: PublicKey;
}

Raw parameters and accounts to swap on a Whirlpool

-

Type declaration

  • oracle: PublicKey
  • tokenAuthority: PublicKey
  • tokenMintA: PublicKey
  • tokenMintB: PublicKey
  • tokenOwnerAccountA: PublicKey
  • tokenOwnerAccountB: PublicKey
  • tokenProgramA: PublicKey
  • tokenProgramB: PublicKey
  • Optional tokenTransferHookAccountsA?: AccountMeta[]
  • Optional tokenTransferHookAccountsB?: AccountMeta[]
  • tokenVaultA: PublicKey
  • tokenVaultB: PublicKey
  • whirlpool: PublicKey

Param: swapInput

Parameters in SwapInput

-

Param: whirlpool

PublicKey for the whirlpool that the swap will occur on

-

Param: tokenMintA

PublicKey for the token A mint.

-

Param: tokenMintB

PublicKey for the token B mint.

-

Param: tokenOwnerAccountA

PublicKey for the associated token account for tokenA in the collection wallet

-

Param: tokenOwnerAccountB

PublicKey for the associated token account for tokenB in the collection wallet

-

Param: tokenVaultA

PublicKey for the tokenA vault for this whirlpool.

-

Param: tokenVaultB

PublicKey for the tokenB vault for this whirlpool.

-

Param: tokenTransferHookAccountsA

Optional array of token transfer hook accounts for token A.

-

Param: tokenTransferHookAccountsB

Optional array of token transfer hook accounts for token B.

-

Param: tokenProgramA

PublicKey for the token program for token A.

-

Param: tokenProgramB

PublicKey for the token program for token B.

-

Param: oracle

PublicKey for the oracle account for this Whirlpool.

-

Param: tokenAuthority

authority to withdraw tokens from the input token account

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/TickArray.html b/docs/types/TickArray.html deleted file mode 100644 index 67744e255..000000000 --- a/docs/types/TickArray.html +++ /dev/null @@ -1,2 +0,0 @@ -TickArray | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/TickArrayData.html b/docs/types/TickArrayData.html deleted file mode 100644 index 2d9ba2483..000000000 --- a/docs/types/TickArrayData.html +++ /dev/null @@ -1 +0,0 @@ -TickArrayData | @orca-so/whirlpools-sdk

Type alias TickArrayData

TickArrayData: {
    startTickIndex: number;
    ticks: TickData[];
    whirlpool: PublicKey;
}

Type declaration

  • startTickIndex: number
  • ticks: TickData[]
  • whirlpool: PublicKey

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/TickArrayMap.html b/docs/types/TickArrayMap.html deleted file mode 100644 index 1ac24be38..000000000 --- a/docs/types/TickArrayMap.html +++ /dev/null @@ -1,2 +0,0 @@ -TickArrayMap | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/TickData.html b/docs/types/TickData.html deleted file mode 100644 index 852a2e42b..000000000 --- a/docs/types/TickData.html +++ /dev/null @@ -1 +0,0 @@ -TickData | @orca-so/whirlpools-sdk
TickData: {
    feeGrowthOutsideA: BN;
    feeGrowthOutsideB: BN;
    initialized: boolean;
    liquidityGross: BN;
    liquidityNet: BN;
    rewardGrowthsOutside: BN[];
}

Type declaration

  • feeGrowthOutsideA: BN
  • feeGrowthOutsideB: BN
  • initialized: boolean
  • liquidityGross: BN
  • liquidityNet: BN
  • rewardGrowthsOutside: BN[]

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/TokenAccountInfo.html b/docs/types/TokenAccountInfo.html deleted file mode 100644 index 0b48cb2bb..000000000 --- a/docs/types/TokenAccountInfo.html +++ /dev/null @@ -1,2 +0,0 @@ -TokenAccountInfo | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/TokenAmounts.html b/docs/types/TokenAmounts.html deleted file mode 100644 index ddbb0ce4a..000000000 --- a/docs/types/TokenAmounts.html +++ /dev/null @@ -1 +0,0 @@ -TokenAmounts | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/TokenBadgeData.html b/docs/types/TokenBadgeData.html deleted file mode 100644 index a0177b84b..000000000 --- a/docs/types/TokenBadgeData.html +++ /dev/null @@ -1 +0,0 @@ -TokenBadgeData | @orca-so/whirlpools-sdk

Type alias TokenBadgeData

TokenBadgeData: {
    tokenMint: PublicKey;
    whirlpoolsConfig: PublicKey;
}

Type declaration

  • tokenMint: PublicKey
  • whirlpoolsConfig: PublicKey

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/TokenExtensionContext.html b/docs/types/TokenExtensionContext.html deleted file mode 100644 index 8ef90a555..000000000 --- a/docs/types/TokenExtensionContext.html +++ /dev/null @@ -1 +0,0 @@ -TokenExtensionContext | @orca-so/whirlpools-sdk

Type alias TokenExtensionContext

TokenExtensionContext: {
    currentEpoch: number;
    rewardTokenMintsWithProgram: [MintWithTokenProgram | null, MintWithTokenProgram | null, MintWithTokenProgram | null];
    tokenMintWithProgramA: MintWithTokenProgram;
    tokenMintWithProgramB: MintWithTokenProgram;
}

Type declaration

  • currentEpoch: number
  • rewardTokenMintsWithProgram: [MintWithTokenProgram | null, MintWithTokenProgram | null, MintWithTokenProgram | null]
  • tokenMintWithProgramA: MintWithTokenProgram
  • tokenMintWithProgramB: MintWithTokenProgram

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/TokenExtensionContextForPool.html b/docs/types/TokenExtensionContextForPool.html deleted file mode 100644 index 6f3ac86a1..000000000 --- a/docs/types/TokenExtensionContextForPool.html +++ /dev/null @@ -1 +0,0 @@ -TokenExtensionContextForPool | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/TokenExtensionContextForReward.html b/docs/types/TokenExtensionContextForReward.html deleted file mode 100644 index f5eb380dd..000000000 --- a/docs/types/TokenExtensionContextForReward.html +++ /dev/null @@ -1 +0,0 @@ -TokenExtensionContextForReward | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/TokenInfo.html b/docs/types/TokenInfo.html deleted file mode 100644 index ae5f4a8f4..000000000 --- a/docs/types/TokenInfo.html +++ /dev/null @@ -1,2 +0,0 @@ -TokenInfo | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/Trade.html b/docs/types/Trade.html deleted file mode 100644 index 9460e296f..000000000 --- a/docs/types/Trade.html +++ /dev/null @@ -1,6 +0,0 @@ -Trade | @orca-so/whirlpools-sdk
Trade: {
    amountSpecifiedIsInput: boolean;
    tokenIn: Address;
    tokenOut: Address;
    tradeAmount: BN;
}

A Trade type that represents a trade between two tokens

-

Type declaration

  • amountSpecifiedIsInput: boolean
  • tokenIn: Address
  • tokenOut: Address
  • tradeAmount: BN

Param: tokenIn

The token that is being traded in

-

Param: tokenOut

The token that is being traded out

-

Param: tradeAmount

The amount of token being traded in or out

-

Param: amountSpecifiedIsInput

Whether the trade amount is the amount being traded in or out

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/TradeHop.html b/docs/types/TradeHop.html deleted file mode 100644 index 24b3bef65..000000000 --- a/docs/types/TradeHop.html +++ /dev/null @@ -1,13 +0,0 @@ -TradeHop | @orca-so/whirlpools-sdk
TradeHop: {
    amountIn: BN;
    amountOut: BN;
    inputMint: Address;
    mintA: Address;
    mintB: Address;
    outputMint: Address;
    quote: SwapQuote;
    snapshot: TradeHopSnapshot;
    vaultA: Address;
    vaultB: Address;
    whirlpool: Address;
}

Represents a quote for a single hop in the path of a SubTradeRoute.

-

Type declaration

  • amountIn: BN
  • amountOut: BN
  • inputMint: Address
  • mintA: Address
  • mintB: Address
  • outputMint: Address
  • quote: SwapQuote
  • snapshot: TradeHopSnapshot
  • vaultA: Address
  • vaultB: Address
  • whirlpool: Address

Param: amountIn

The amount of token being traded in for this hop.

-

Param: amountOut

The amount of token being traded out for this hop.

-

Param: whirlpool

The address of the whirlpool that this hop is trading through.

-

Param: inputMint

The address of the input token mint.

-

Param: outputMint

The address of the output token mint.

-

Param: mintA

The address of the first mint in the pool.

-

Param: mintB

The address of the second mint in the pool.

-

Param: vaultA

The address of the first vault in the pool.

-

Param: vaultB

The address of the second vault in the pool.

-

Param: quote

The SwapQuote for this hop.

-

Param: snapshot

A snapshot of the whirlpool condition when this hop was made

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/TradeHopSnapshot.html b/docs/types/TradeHopSnapshot.html deleted file mode 100644 index 67739b9f6..000000000 --- a/docs/types/TradeHopSnapshot.html +++ /dev/null @@ -1,2 +0,0 @@ -TradeHopSnapshot | @orca-so/whirlpools-sdk

Type alias TradeHopSnapshot

TradeHopSnapshot: {
    aToB: boolean;
    feeRate: Percentage;
    sqrtPrice: BN;
}

A snapshot of the whirlpool condition when a trade hop was made.

-

Type declaration

  • aToB: boolean
  • feeRate: Percentage
  • sqrtPrice: BN

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/TradeRoute.html b/docs/types/TradeRoute.html deleted file mode 100644 index da38e561d..000000000 --- a/docs/types/TradeRoute.html +++ /dev/null @@ -1,6 +0,0 @@ -TradeRoute | @orca-so/whirlpools-sdk
TradeRoute: {
    subRoutes: SubTradeRoute[];
    totalAmountIn: BN;
    totalAmountOut: BN;
}

A trade route that is ready to execute. -A trade can be broken into multiple sub-trades for potentially better trades.

-

Type declaration

Param: subRoutes

The sub-routes that make up the trade route. The sum of all splitPercent should equal 100.

-

Param: totalAmountIn

The total amount of token being traded in for this trade.

-

Param: totalAmountOut

The total amount of token being traded out for this trade.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/TransferFeeExcludedAmount.html b/docs/types/TransferFeeExcludedAmount.html deleted file mode 100644 index b1f7564f5..000000000 --- a/docs/types/TransferFeeExcludedAmount.html +++ /dev/null @@ -1 +0,0 @@ -TransferFeeExcludedAmount | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/TransferFeeIncludedAmount.html b/docs/types/TransferFeeIncludedAmount.html deleted file mode 100644 index 9926938f0..000000000 --- a/docs/types/TransferFeeIncludedAmount.html +++ /dev/null @@ -1 +0,0 @@ -TransferFeeIncludedAmount | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/TwoHopSwapQuote.html b/docs/types/TwoHopSwapQuote.html deleted file mode 100644 index c228ea15c..000000000 --- a/docs/types/TwoHopSwapQuote.html +++ /dev/null @@ -1,3 +0,0 @@ -TwoHopSwapQuote | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/TwoHopSwapV2Params.html b/docs/types/TwoHopSwapV2Params.html deleted file mode 100644 index 5efaded91..000000000 --- a/docs/types/TwoHopSwapV2Params.html +++ /dev/null @@ -1,20 +0,0 @@ -TwoHopSwapV2Params | @orca-so/whirlpools-sdk

Type alias TwoHopSwapV2Params

TwoHopSwapV2Params: TwoHopSwapInput & {
    oracleOne: PublicKey;
    oracleTwo: PublicKey;
    tokenAuthority: PublicKey;
    tokenMintInput: PublicKey;
    tokenMintIntermediate: PublicKey;
    tokenMintOutput: PublicKey;
    tokenOwnerAccountInput: PublicKey;
    tokenOwnerAccountOutput: PublicKey;
    tokenProgramInput: PublicKey;
    tokenProgramIntermediate: PublicKey;
    tokenProgramOutput: PublicKey;
    tokenTransferHookAccountsInput?: AccountMeta[];
    tokenTransferHookAccountsIntermediate?: AccountMeta[];
    tokenTransferHookAccountsOutput?: AccountMeta[];
    tokenVaultOneInput: PublicKey;
    tokenVaultOneIntermediate: PublicKey;
    tokenVaultTwoIntermediate: PublicKey;
    tokenVaultTwoOutput: PublicKey;
    whirlpoolOne: PublicKey;
    whirlpoolTwo: PublicKey;
}

Parameters to execute a two-hop swap on a Whirlpool.

-

Type declaration

  • oracleOne: PublicKey
  • oracleTwo: PublicKey
  • tokenAuthority: PublicKey
  • tokenMintInput: PublicKey
  • tokenMintIntermediate: PublicKey
  • tokenMintOutput: PublicKey
  • tokenOwnerAccountInput: PublicKey
  • tokenOwnerAccountOutput: PublicKey
  • tokenProgramInput: PublicKey
  • tokenProgramIntermediate: PublicKey
  • tokenProgramOutput: PublicKey
  • Optional tokenTransferHookAccountsInput?: AccountMeta[]
  • Optional tokenTransferHookAccountsIntermediate?: AccountMeta[]
  • Optional tokenTransferHookAccountsOutput?: AccountMeta[]
  • tokenVaultOneInput: PublicKey
  • tokenVaultOneIntermediate: PublicKey
  • tokenVaultTwoIntermediate: PublicKey
  • tokenVaultTwoOutput: PublicKey
  • whirlpoolOne: PublicKey
  • whirlpoolTwo: PublicKey

Param: whirlpoolOne

PublicKey for the whirlpool that the swap-one will occur on

-

Param: whirlpoolTwo

PublicKey for the whirlpool that the swap-two will occur on

-

Param: tokenMintInput

PublicKey for the input token mint.

-

Param: tokenMintIntermediate

PublicKey for the intermediate token mint.

-

Param: tokenMintOutput

PublicKey for the output token mint.

-

Param: tokenOwnerAccountInput

PublicKey for the input token owner account.

-

Param: tokenOwnerAccountOutput

PublicKey for the output token owner account.

-

Param: tokenVaultOneInput

PublicKey for the input token vault of whirlpoolOne.

-

Param: tokenVaultOneIntermediate

PublicKey for the intermediate token vault of whirlpoolOne.

-

Param: tokenVaultTwoIntermediate

PublicKey for the intermediate token vault of whirlpoolTwo.

-

Param: tokenVaultTwoOutput

PublicKey for the output token vault of whirlpoolTwo.

-

Param: tokenTransferHookAccountsInput

AccountMeta[] for the input token transfer hook accounts.

-

Param: tokenTransferHookAccountsIntermediate

AccountMeta[] for the intermediate token transfer hook accounts.

-

Param: tokenTransferHookAccountsOutput

AccountMeta[] for the output token transfer hook accounts.

-

Param: oracleOne

PublicKey for the oracle account for this whirlpoolOne.

-

Param: oracleTwo

PublicKey for the oracle account for this whirlpoolTwo.

-

Param: tokenAuthority

authority to withdraw tokens from the input token account

-

Param: swapInput

Parameters in TwoHopSwapInput

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/UpdateFeesAndRewardsParams.html b/docs/types/UpdateFeesAndRewardsParams.html deleted file mode 100644 index 4de454a27..000000000 --- a/docs/types/UpdateFeesAndRewardsParams.html +++ /dev/null @@ -1,6 +0,0 @@ -UpdateFeesAndRewardsParams | @orca-so/whirlpools-sdk

Type alias UpdateFeesAndRewardsParams

UpdateFeesAndRewardsParams: {
    position: PublicKey;
    tickArrayLower: PublicKey;
    tickArrayUpper: PublicKey;
    whirlpool: PublicKey;
}

Parameters to update fees and reward values for a position.

-

Type declaration

  • position: PublicKey
  • tickArrayLower: PublicKey
  • tickArrayUpper: PublicKey
  • whirlpool: PublicKey

Param: whirlpool

PublicKey for the whirlpool that the position will be opened for.

-

Param: position

PublicKey for the position will be opened for.

-

Param: tickArrayLower

PublicKey for the tick-array account that hosts the tick at the lower tick index.

-

Param: tickArrayUpper

PublicKey for the tick-array account that hosts the tick at the upper tick index.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/WhirlpoolAccountFetchOptions.html b/docs/types/WhirlpoolAccountFetchOptions.html deleted file mode 100644 index 75ce59481..000000000 --- a/docs/types/WhirlpoolAccountFetchOptions.html +++ /dev/null @@ -1,2 +0,0 @@ -WhirlpoolAccountFetchOptions | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/WhirlpoolBumpsData.html b/docs/types/WhirlpoolBumpsData.html deleted file mode 100644 index dbd169f42..000000000 --- a/docs/types/WhirlpoolBumpsData.html +++ /dev/null @@ -1 +0,0 @@ -WhirlpoolBumpsData | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/WhirlpoolContextOpts.html b/docs/types/WhirlpoolContextOpts.html deleted file mode 100644 index b782d021f..000000000 --- a/docs/types/WhirlpoolContextOpts.html +++ /dev/null @@ -1,2 +0,0 @@ -WhirlpoolContextOpts | @orca-so/whirlpools-sdk

Type alias WhirlpoolContextOpts

WhirlpoolContextOpts: {
    accountResolverOptions?: AccountResolverOptions;
    userDefaultBuildOptions?: Partial<BuildOptions>;
    userDefaultConfirmCommitment?: Commitment;
    userDefaultSendOptions?: Partial<SendOptions>;
}

Default settings used when interacting with transactions.

-

Type declaration

  • Optional accountResolverOptions?: AccountResolverOptions
  • Optional userDefaultBuildOptions?: Partial<BuildOptions>
  • Optional userDefaultConfirmCommitment?: Commitment
  • Optional userDefaultSendOptions?: Partial<SendOptions>

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/WhirlpoolData.html b/docs/types/WhirlpoolData.html deleted file mode 100644 index e94933ba9..000000000 --- a/docs/types/WhirlpoolData.html +++ /dev/null @@ -1 +0,0 @@ -WhirlpoolData | @orca-so/whirlpools-sdk

Type alias WhirlpoolData

WhirlpoolData: {
    feeGrowthGlobalA: BN;
    feeGrowthGlobalB: BN;
    feeRate: number;
    liquidity: BN;
    protocolFeeOwedA: BN;
    protocolFeeOwedB: BN;
    protocolFeeRate: number;
    rewardInfos: WhirlpoolRewardInfoData[];
    rewardLastUpdatedTimestamp: BN;
    sqrtPrice: BN;
    tickCurrentIndex: number;
    tickSpacing: number;
    tokenMintA: PublicKey;
    tokenMintB: PublicKey;
    tokenVaultA: PublicKey;
    tokenVaultB: PublicKey;
    whirlpoolBump: number[];
    whirlpoolsConfig: PublicKey;
}

Type declaration

  • feeGrowthGlobalA: BN
  • feeGrowthGlobalB: BN
  • feeRate: number
  • liquidity: BN
  • protocolFeeOwedA: BN
  • protocolFeeOwedB: BN
  • protocolFeeRate: number
  • rewardInfos: WhirlpoolRewardInfoData[]
  • rewardLastUpdatedTimestamp: BN
  • sqrtPrice: BN
  • tickCurrentIndex: number
  • tickSpacing: number
  • tokenMintA: PublicKey
  • tokenMintB: PublicKey
  • tokenVaultA: PublicKey
  • tokenVaultB: PublicKey
  • whirlpoolBump: number[]
  • whirlpoolsConfig: PublicKey

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/WhirlpoolRewardInfo.html b/docs/types/WhirlpoolRewardInfo.html deleted file mode 100644 index a2df9865a..000000000 --- a/docs/types/WhirlpoolRewardInfo.html +++ /dev/null @@ -1,2 +0,0 @@ -WhirlpoolRewardInfo | @orca-so/whirlpools-sdk

Type alias WhirlpoolRewardInfo

WhirlpoolRewardInfo: WhirlpoolRewardInfoData & {
    initialized: boolean;
    vaultAmount: BN;
}

Type to represent a reward for a reward index on a Whirlpool.

-

Type declaration

  • initialized: boolean
  • vaultAmount: BN

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/WhirlpoolRewardInfoData.html b/docs/types/WhirlpoolRewardInfoData.html deleted file mode 100644 index 4f49b182b..000000000 --- a/docs/types/WhirlpoolRewardInfoData.html +++ /dev/null @@ -1 +0,0 @@ -WhirlpoolRewardInfoData | @orca-so/whirlpools-sdk

Type alias WhirlpoolRewardInfoData

WhirlpoolRewardInfoData: {
    authority: PublicKey;
    emissionsPerSecondX64: BN;
    growthGlobalX64: BN;
    mint: PublicKey;
    vault: PublicKey;
}

Type declaration

  • authority: PublicKey
  • emissionsPerSecondX64: BN
  • growthGlobalX64: BN
  • mint: PublicKey
  • vault: PublicKey

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/WhirlpoolSupportedTypes.html b/docs/types/WhirlpoolSupportedTypes.html deleted file mode 100644 index 044362c80..000000000 --- a/docs/types/WhirlpoolSupportedTypes.html +++ /dev/null @@ -1,2 +0,0 @@ -WhirlpoolSupportedTypes | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/WhirlpoolsConfigData.html b/docs/types/WhirlpoolsConfigData.html deleted file mode 100644 index 58cc8e81f..000000000 --- a/docs/types/WhirlpoolsConfigData.html +++ /dev/null @@ -1 +0,0 @@ -WhirlpoolsConfigData | @orca-so/whirlpools-sdk

Type alias WhirlpoolsConfigData

WhirlpoolsConfigData: {
    collectProtocolFeesAuthority: PublicKey;
    defaultFeeRate: number;
    defaultProtocolFeeRate: number;
    feeAuthority: PublicKey;
    rewardEmissionsSuperAuthority: PublicKey;
}

Type declaration

  • collectProtocolFeesAuthority: PublicKey
  • defaultFeeRate: number
  • defaultProtocolFeeRate: number
  • feeAuthority: PublicKey
  • rewardEmissionsSuperAuthority: PublicKey

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/types/WhirlpoolsConfigExtensionData.html b/docs/types/WhirlpoolsConfigExtensionData.html deleted file mode 100644 index a5f6abcc3..000000000 --- a/docs/types/WhirlpoolsConfigExtensionData.html +++ /dev/null @@ -1 +0,0 @@ -WhirlpoolsConfigExtensionData | @orca-so/whirlpools-sdk

Type alias WhirlpoolsConfigExtensionData

WhirlpoolsConfigExtensionData: {
    configExtensionAuthority: PublicKey;
    tokenBadgeAuthority: PublicKey;
    whirlpoolsConfig: PublicKey;
}

Type declaration

  • configExtensionAuthority: PublicKey
  • tokenBadgeAuthority: PublicKey
  • whirlpoolsConfig: PublicKey

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/variables/DEFAULT_WHIRLPOOL_RETENTION_POLICY.html b/docs/variables/DEFAULT_WHIRLPOOL_RETENTION_POLICY.html deleted file mode 100644 index 41b1b1bda..000000000 --- a/docs/variables/DEFAULT_WHIRLPOOL_RETENTION_POLICY.html +++ /dev/null @@ -1,2 +0,0 @@ -DEFAULT_WHIRLPOOL_RETENTION_POLICY | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/variables/FEE_RATE_MUL_VALUE.html b/docs/variables/FEE_RATE_MUL_VALUE.html deleted file mode 100644 index 94910711c..000000000 --- a/docs/variables/FEE_RATE_MUL_VALUE.html +++ /dev/null @@ -1,2 +0,0 @@ -FEE_RATE_MUL_VALUE | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/variables/IGNORE_CACHE.html b/docs/variables/IGNORE_CACHE.html deleted file mode 100644 index a71a7be85..000000000 --- a/docs/variables/IGNORE_CACHE.html +++ /dev/null @@ -1,2 +0,0 @@ -IGNORE_CACHE | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/variables/MAX_SQRT_PRICE.html b/docs/variables/MAX_SQRT_PRICE.html deleted file mode 100644 index 2dafcbf29..000000000 --- a/docs/variables/MAX_SQRT_PRICE.html +++ /dev/null @@ -1,2 +0,0 @@ -MAX_SQRT_PRICE | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/variables/MAX_SQRT_PRICE_BN.html b/docs/variables/MAX_SQRT_PRICE_BN.html deleted file mode 100644 index f9a9ba659..000000000 --- a/docs/variables/MAX_SQRT_PRICE_BN.html +++ /dev/null @@ -1,2 +0,0 @@ -MAX_SQRT_PRICE_BN | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/variables/MAX_SWAP_TICK_ARRAYS.html b/docs/variables/MAX_SWAP_TICK_ARRAYS.html deleted file mode 100644 index ed58db83c..000000000 --- a/docs/variables/MAX_SWAP_TICK_ARRAYS.html +++ /dev/null @@ -1,2 +0,0 @@ -MAX_SWAP_TICK_ARRAYS | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/variables/MAX_TICK_INDEX.html b/docs/variables/MAX_TICK_INDEX.html deleted file mode 100644 index cb2033297..000000000 --- a/docs/variables/MAX_TICK_INDEX.html +++ /dev/null @@ -1,2 +0,0 @@ -MAX_TICK_INDEX | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/variables/MEMO_PROGRAM_ADDRESS.html b/docs/variables/MEMO_PROGRAM_ADDRESS.html deleted file mode 100644 index 4925feedc..000000000 --- a/docs/variables/MEMO_PROGRAM_ADDRESS.html +++ /dev/null @@ -1 +0,0 @@ -MEMO_PROGRAM_ADDRESS | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/variables/METADATA_PROGRAM_ADDRESS.html b/docs/variables/METADATA_PROGRAM_ADDRESS.html deleted file mode 100644 index 2fe1f940e..000000000 --- a/docs/variables/METADATA_PROGRAM_ADDRESS.html +++ /dev/null @@ -1 +0,0 @@ -METADATA_PROGRAM_ADDRESS | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/variables/MIN_SQRT_PRICE.html b/docs/variables/MIN_SQRT_PRICE.html deleted file mode 100644 index 0e06f8964..000000000 --- a/docs/variables/MIN_SQRT_PRICE.html +++ /dev/null @@ -1,2 +0,0 @@ -MIN_SQRT_PRICE | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/variables/MIN_SQRT_PRICE_BN.html b/docs/variables/MIN_SQRT_PRICE_BN.html deleted file mode 100644 index 1e56cef2c..000000000 --- a/docs/variables/MIN_SQRT_PRICE_BN.html +++ /dev/null @@ -1,2 +0,0 @@ -MIN_SQRT_PRICE_BN | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/variables/MIN_TICK_INDEX.html b/docs/variables/MIN_TICK_INDEX.html deleted file mode 100644 index fdfd7dc96..000000000 --- a/docs/variables/MIN_TICK_INDEX.html +++ /dev/null @@ -1,2 +0,0 @@ -MIN_TICK_INDEX | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/variables/NO_TOKEN_EXTENSION_CONTEXT.html b/docs/variables/NO_TOKEN_EXTENSION_CONTEXT.html deleted file mode 100644 index 5548da157..000000000 --- a/docs/variables/NO_TOKEN_EXTENSION_CONTEXT.html +++ /dev/null @@ -1 +0,0 @@ -NO_TOKEN_EXTENSION_CONTEXT | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/variables/NUM_REWARDS.html b/docs/variables/NUM_REWARDS.html deleted file mode 100644 index 0c0ab8b1a..000000000 --- a/docs/variables/NUM_REWARDS.html +++ /dev/null @@ -1,2 +0,0 @@ -NUM_REWARDS | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/variables/ORCA_SUPPORTED_TICK_SPACINGS.html b/docs/variables/ORCA_SUPPORTED_TICK_SPACINGS.html deleted file mode 100644 index 44757bab1..000000000 --- a/docs/variables/ORCA_SUPPORTED_TICK_SPACINGS.html +++ /dev/null @@ -1,2 +0,0 @@ -ORCA_SUPPORTED_TICK_SPACINGS | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/variables/ORCA_WHIRLPOOLS_CONFIG.html b/docs/variables/ORCA_WHIRLPOOLS_CONFIG.html deleted file mode 100644 index d573be980..000000000 --- a/docs/variables/ORCA_WHIRLPOOLS_CONFIG.html +++ /dev/null @@ -1,2 +0,0 @@ -ORCA_WHIRLPOOLS_CONFIG | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/variables/ORCA_WHIRLPOOLS_CONFIG_EXTENSION.html b/docs/variables/ORCA_WHIRLPOOLS_CONFIG_EXTENSION.html deleted file mode 100644 index 31d75b619..000000000 --- a/docs/variables/ORCA_WHIRLPOOLS_CONFIG_EXTENSION.html +++ /dev/null @@ -1,2 +0,0 @@ -ORCA_WHIRLPOOLS_CONFIG_EXTENSION | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/variables/ORCA_WHIRLPOOL_PROGRAM_ID.html b/docs/variables/ORCA_WHIRLPOOL_PROGRAM_ID.html deleted file mode 100644 index d4a3b78fd..000000000 --- a/docs/variables/ORCA_WHIRLPOOL_PROGRAM_ID.html +++ /dev/null @@ -1,2 +0,0 @@ -ORCA_WHIRLPOOL_PROGRAM_ID | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/variables/POSITION_BUNDLE_SIZE.html b/docs/variables/POSITION_BUNDLE_SIZE.html deleted file mode 100644 index 7e31ffe97..000000000 --- a/docs/variables/POSITION_BUNDLE_SIZE.html +++ /dev/null @@ -1,2 +0,0 @@ -POSITION_BUNDLE_SIZE | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/variables/PREFER_CACHE.html b/docs/variables/PREFER_CACHE.html deleted file mode 100644 index 79cda2adb..000000000 --- a/docs/variables/PREFER_CACHE.html +++ /dev/null @@ -1,2 +0,0 @@ -PREFER_CACHE | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/variables/PROTOCOL_FEE_RATE_MUL_VALUE.html b/docs/variables/PROTOCOL_FEE_RATE_MUL_VALUE.html deleted file mode 100644 index 0bbb31305..000000000 --- a/docs/variables/PROTOCOL_FEE_RATE_MUL_VALUE.html +++ /dev/null @@ -1,2 +0,0 @@ -PROTOCOL_FEE_RATE_MUL_VALUE | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/variables/TICK_ARRAY_SIZE.html b/docs/variables/TICK_ARRAY_SIZE.html deleted file mode 100644 index bdf884f53..000000000 --- a/docs/variables/TICK_ARRAY_SIZE.html +++ /dev/null @@ -1,2 +0,0 @@ -TICK_ARRAY_SIZE | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/variables/WHIRLPOOL_ACCOUNT_SIZE.html b/docs/variables/WHIRLPOOL_ACCOUNT_SIZE.html deleted file mode 100644 index 511eb6400..000000000 --- a/docs/variables/WHIRLPOOL_ACCOUNT_SIZE.html +++ /dev/null @@ -1,3 +0,0 @@ -WHIRLPOOL_ACCOUNT_SIZE | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/variables/WHIRLPOOL_CODER.html b/docs/variables/WHIRLPOOL_CODER.html deleted file mode 100644 index 804b97299..000000000 --- a/docs/variables/WHIRLPOOL_CODER.html +++ /dev/null @@ -1,2 +0,0 @@ -WHIRLPOOL_CODER | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/variables/WHIRLPOOL_IDL.html b/docs/variables/WHIRLPOOL_IDL.html deleted file mode 100644 index 821c706ba..000000000 --- a/docs/variables/WHIRLPOOL_IDL.html +++ /dev/null @@ -1 +0,0 @@ -WHIRLPOOL_IDL | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/variables/WHIRLPOOL_NFT_UPDATE_AUTH.html b/docs/variables/WHIRLPOOL_NFT_UPDATE_AUTH.html deleted file mode 100644 index 1bca2e552..000000000 --- a/docs/variables/WHIRLPOOL_NFT_UPDATE_AUTH.html +++ /dev/null @@ -1,2 +0,0 @@ -WHIRLPOOL_NFT_UPDATE_AUTH | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/variables/defaultGetPricesConfig.html b/docs/variables/defaultGetPricesConfig.html deleted file mode 100644 index 56716debc..000000000 --- a/docs/variables/defaultGetPricesConfig.html +++ /dev/null @@ -1,2 +0,0 @@ -defaultGetPricesConfig | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/variables/defaultGetPricesThresholdConfig.html b/docs/variables/defaultGetPricesThresholdConfig.html deleted file mode 100644 index 590eccb44..000000000 --- a/docs/variables/defaultGetPricesThresholdConfig.html +++ /dev/null @@ -1,2 +0,0 @@ -defaultGetPricesThresholdConfig | @orca-so/whirlpools-sdk

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/variables/defaultQuoteTokens.html b/docs/variables/defaultQuoteTokens.html deleted file mode 100644 index c44e8024a..000000000 --- a/docs/variables/defaultQuoteTokens.html +++ /dev/null @@ -1,3 +0,0 @@ -defaultQuoteTokens | @orca-so/whirlpools-sdk

Variable defaultQuoteTokensConst

defaultQuoteTokens: PublicKey[] = ...

The default quote tokens used for Orca's mainnet deployment. -Supply your own if you are using a different deployment.

-

Generated using TypeDoc

\ No newline at end of file diff --git a/sdk/README.md b/legacy/README.md similarity index 100% rename from sdk/README.md rename to legacy/README.md diff --git a/legacy/package.json b/legacy/package.json new file mode 100644 index 000000000..db4864dfc --- /dev/null +++ b/legacy/package.json @@ -0,0 +1,38 @@ +{ + "name": "@orca-so/whirlpools-sdk", + "version": "0.13.3", + "description": "Typescript SDK to interact with Orca's Whirlpool program.", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "peerDependencies": { + "@coral-xyz/anchor": "~0.29.0", + "@orca-so/common-sdk": "0.6.0", + "@solana/spl-token": "^0.4.1", + "@solana/web3.js": "^1.90.0", + "decimal.js": "^10.4.3" + }, + "dependencies": { + "tiny-invariant": "^1.3.1" + }, + "devDependencies": { + "@coral-xyz/anchor": "~0.29.0", + "@orca-so/common-sdk": "0.6.0", + "@orca-so/whirlpools-program": "*", + "@solana/spl-token": "^0.4.1", + "@solana/web3.js": "^1.90.0", + "decimal.js": "^10.4.3", + "mocha": "^10.2.0", + "ts-mocha": "^10.0.0", + "typescript": "^5.3.3" + }, + "scripts": { + "build": "mkdir -p ./src/artifacts && cp -f ../target/idl/whirlpool.json ./src/artifacts/whirlpool.json && cp -f ../target/types/whirlpool.ts ./src/artifacts/whirlpool.ts && tsc", + "clean": "rimraf dist", + "format": "prettier --config ../.prettierrc './**/*.ts' --write", + "test": "anchor test --skip-build" + }, + "files": [ + "dist", + "README.md" + ] +} diff --git a/sdk/src/context.ts b/legacy/src/context.ts similarity index 100% rename from sdk/src/context.ts rename to legacy/src/context.ts diff --git a/sdk/src/errors/errors.ts b/legacy/src/errors/errors.ts similarity index 100% rename from sdk/src/errors/errors.ts rename to legacy/src/errors/errors.ts diff --git a/sdk/src/impl/position-impl.ts b/legacy/src/impl/position-impl.ts similarity index 100% rename from sdk/src/impl/position-impl.ts rename to legacy/src/impl/position-impl.ts diff --git a/sdk/src/impl/util.ts b/legacy/src/impl/util.ts similarity index 100% rename from sdk/src/impl/util.ts rename to legacy/src/impl/util.ts diff --git a/sdk/src/impl/whirlpool-client-impl.ts b/legacy/src/impl/whirlpool-client-impl.ts similarity index 100% rename from sdk/src/impl/whirlpool-client-impl.ts rename to legacy/src/impl/whirlpool-client-impl.ts diff --git a/sdk/src/impl/whirlpool-impl.ts b/legacy/src/impl/whirlpool-impl.ts similarity index 100% rename from sdk/src/impl/whirlpool-impl.ts rename to legacy/src/impl/whirlpool-impl.ts diff --git a/sdk/src/index.ts b/legacy/src/index.ts similarity index 100% rename from sdk/src/index.ts rename to legacy/src/index.ts diff --git a/sdk/src/instructions/close-bundled-position-ix.ts b/legacy/src/instructions/close-bundled-position-ix.ts similarity index 100% rename from sdk/src/instructions/close-bundled-position-ix.ts rename to legacy/src/instructions/close-bundled-position-ix.ts diff --git a/sdk/src/instructions/close-position-ix.ts b/legacy/src/instructions/close-position-ix.ts similarity index 100% rename from sdk/src/instructions/close-position-ix.ts rename to legacy/src/instructions/close-position-ix.ts diff --git a/sdk/src/instructions/collect-fees-ix.ts b/legacy/src/instructions/collect-fees-ix.ts similarity index 100% rename from sdk/src/instructions/collect-fees-ix.ts rename to legacy/src/instructions/collect-fees-ix.ts diff --git a/sdk/src/instructions/collect-protocol-fees-ix.ts b/legacy/src/instructions/collect-protocol-fees-ix.ts similarity index 100% rename from sdk/src/instructions/collect-protocol-fees-ix.ts rename to legacy/src/instructions/collect-protocol-fees-ix.ts diff --git a/sdk/src/instructions/collect-reward-ix.ts b/legacy/src/instructions/collect-reward-ix.ts similarity index 100% rename from sdk/src/instructions/collect-reward-ix.ts rename to legacy/src/instructions/collect-reward-ix.ts diff --git a/sdk/src/instructions/composites/collect-all-txn.ts b/legacy/src/instructions/composites/collect-all-txn.ts similarity index 100% rename from sdk/src/instructions/composites/collect-all-txn.ts rename to legacy/src/instructions/composites/collect-all-txn.ts diff --git a/sdk/src/instructions/composites/collect-protocol-fees.ts b/legacy/src/instructions/composites/collect-protocol-fees.ts similarity index 100% rename from sdk/src/instructions/composites/collect-protocol-fees.ts rename to legacy/src/instructions/composites/collect-protocol-fees.ts diff --git a/sdk/src/instructions/composites/index.ts b/legacy/src/instructions/composites/index.ts similarity index 100% rename from sdk/src/instructions/composites/index.ts rename to legacy/src/instructions/composites/index.ts diff --git a/sdk/src/instructions/composites/swap-async.ts b/legacy/src/instructions/composites/swap-async.ts similarity index 100% rename from sdk/src/instructions/composites/swap-async.ts rename to legacy/src/instructions/composites/swap-async.ts diff --git a/sdk/src/instructions/composites/swap-with-route.ts b/legacy/src/instructions/composites/swap-with-route.ts similarity index 100% rename from sdk/src/instructions/composites/swap-with-route.ts rename to legacy/src/instructions/composites/swap-with-route.ts diff --git a/sdk/src/instructions/decrease-liquidity-ix.ts b/legacy/src/instructions/decrease-liquidity-ix.ts similarity index 100% rename from sdk/src/instructions/decrease-liquidity-ix.ts rename to legacy/src/instructions/decrease-liquidity-ix.ts diff --git a/sdk/src/instructions/delete-position-bundle-ix.ts b/legacy/src/instructions/delete-position-bundle-ix.ts similarity index 100% rename from sdk/src/instructions/delete-position-bundle-ix.ts rename to legacy/src/instructions/delete-position-bundle-ix.ts diff --git a/sdk/src/instructions/increase-liquidity-ix.ts b/legacy/src/instructions/increase-liquidity-ix.ts similarity index 100% rename from sdk/src/instructions/increase-liquidity-ix.ts rename to legacy/src/instructions/increase-liquidity-ix.ts diff --git a/sdk/src/instructions/index.ts b/legacy/src/instructions/index.ts similarity index 100% rename from sdk/src/instructions/index.ts rename to legacy/src/instructions/index.ts diff --git a/sdk/src/instructions/initialize-config-ix.ts b/legacy/src/instructions/initialize-config-ix.ts similarity index 100% rename from sdk/src/instructions/initialize-config-ix.ts rename to legacy/src/instructions/initialize-config-ix.ts diff --git a/sdk/src/instructions/initialize-fee-tier-ix.ts b/legacy/src/instructions/initialize-fee-tier-ix.ts similarity index 100% rename from sdk/src/instructions/initialize-fee-tier-ix.ts rename to legacy/src/instructions/initialize-fee-tier-ix.ts diff --git a/sdk/src/instructions/initialize-pool-ix.ts b/legacy/src/instructions/initialize-pool-ix.ts similarity index 100% rename from sdk/src/instructions/initialize-pool-ix.ts rename to legacy/src/instructions/initialize-pool-ix.ts diff --git a/sdk/src/instructions/initialize-position-bundle-ix.ts b/legacy/src/instructions/initialize-position-bundle-ix.ts similarity index 100% rename from sdk/src/instructions/initialize-position-bundle-ix.ts rename to legacy/src/instructions/initialize-position-bundle-ix.ts diff --git a/sdk/src/instructions/initialize-reward-ix.ts b/legacy/src/instructions/initialize-reward-ix.ts similarity index 100% rename from sdk/src/instructions/initialize-reward-ix.ts rename to legacy/src/instructions/initialize-reward-ix.ts diff --git a/sdk/src/instructions/initialize-tick-array-ix.ts b/legacy/src/instructions/initialize-tick-array-ix.ts similarity index 100% rename from sdk/src/instructions/initialize-tick-array-ix.ts rename to legacy/src/instructions/initialize-tick-array-ix.ts diff --git a/sdk/src/instructions/open-bundled-position-ix.ts b/legacy/src/instructions/open-bundled-position-ix.ts similarity index 100% rename from sdk/src/instructions/open-bundled-position-ix.ts rename to legacy/src/instructions/open-bundled-position-ix.ts diff --git a/sdk/src/instructions/open-position-ix.ts b/legacy/src/instructions/open-position-ix.ts similarity index 100% rename from sdk/src/instructions/open-position-ix.ts rename to legacy/src/instructions/open-position-ix.ts diff --git a/sdk/src/instructions/set-collect-protocol-fees-authority-ix.ts b/legacy/src/instructions/set-collect-protocol-fees-authority-ix.ts similarity index 100% rename from sdk/src/instructions/set-collect-protocol-fees-authority-ix.ts rename to legacy/src/instructions/set-collect-protocol-fees-authority-ix.ts diff --git a/sdk/src/instructions/set-default-fee-rate-ix.ts b/legacy/src/instructions/set-default-fee-rate-ix.ts similarity index 100% rename from sdk/src/instructions/set-default-fee-rate-ix.ts rename to legacy/src/instructions/set-default-fee-rate-ix.ts diff --git a/sdk/src/instructions/set-default-protocol-fee-rate-ix.ts b/legacy/src/instructions/set-default-protocol-fee-rate-ix.ts similarity index 100% rename from sdk/src/instructions/set-default-protocol-fee-rate-ix.ts rename to legacy/src/instructions/set-default-protocol-fee-rate-ix.ts diff --git a/sdk/src/instructions/set-fee-authority-ix.ts b/legacy/src/instructions/set-fee-authority-ix.ts similarity index 100% rename from sdk/src/instructions/set-fee-authority-ix.ts rename to legacy/src/instructions/set-fee-authority-ix.ts diff --git a/sdk/src/instructions/set-fee-rate-ix.ts b/legacy/src/instructions/set-fee-rate-ix.ts similarity index 100% rename from sdk/src/instructions/set-fee-rate-ix.ts rename to legacy/src/instructions/set-fee-rate-ix.ts diff --git a/sdk/src/instructions/set-protocol-fee-rate-ix.ts b/legacy/src/instructions/set-protocol-fee-rate-ix.ts similarity index 100% rename from sdk/src/instructions/set-protocol-fee-rate-ix.ts rename to legacy/src/instructions/set-protocol-fee-rate-ix.ts diff --git a/sdk/src/instructions/set-reward-authority-by-super-authority-ix.ts b/legacy/src/instructions/set-reward-authority-by-super-authority-ix.ts similarity index 100% rename from sdk/src/instructions/set-reward-authority-by-super-authority-ix.ts rename to legacy/src/instructions/set-reward-authority-by-super-authority-ix.ts diff --git a/sdk/src/instructions/set-reward-authority-ix.ts b/legacy/src/instructions/set-reward-authority-ix.ts similarity index 100% rename from sdk/src/instructions/set-reward-authority-ix.ts rename to legacy/src/instructions/set-reward-authority-ix.ts diff --git a/sdk/src/instructions/set-reward-emissions-ix.ts b/legacy/src/instructions/set-reward-emissions-ix.ts similarity index 100% rename from sdk/src/instructions/set-reward-emissions-ix.ts rename to legacy/src/instructions/set-reward-emissions-ix.ts diff --git a/sdk/src/instructions/set-reward-emissions-super-authority-ix.ts b/legacy/src/instructions/set-reward-emissions-super-authority-ix.ts similarity index 100% rename from sdk/src/instructions/set-reward-emissions-super-authority-ix.ts rename to legacy/src/instructions/set-reward-emissions-super-authority-ix.ts diff --git a/sdk/src/instructions/swap-ix.ts b/legacy/src/instructions/swap-ix.ts similarity index 100% rename from sdk/src/instructions/swap-ix.ts rename to legacy/src/instructions/swap-ix.ts diff --git a/sdk/src/instructions/two-hop-swap-ix.ts b/legacy/src/instructions/two-hop-swap-ix.ts similarity index 100% rename from sdk/src/instructions/two-hop-swap-ix.ts rename to legacy/src/instructions/two-hop-swap-ix.ts diff --git a/sdk/src/instructions/update-fees-and-rewards-ix.ts b/legacy/src/instructions/update-fees-and-rewards-ix.ts similarity index 100% rename from sdk/src/instructions/update-fees-and-rewards-ix.ts rename to legacy/src/instructions/update-fees-and-rewards-ix.ts diff --git a/sdk/src/instructions/v2/collect-fees-ix.ts b/legacy/src/instructions/v2/collect-fees-ix.ts similarity index 100% rename from sdk/src/instructions/v2/collect-fees-ix.ts rename to legacy/src/instructions/v2/collect-fees-ix.ts diff --git a/sdk/src/instructions/v2/collect-protocol-fees-ix.ts b/legacy/src/instructions/v2/collect-protocol-fees-ix.ts similarity index 100% rename from sdk/src/instructions/v2/collect-protocol-fees-ix.ts rename to legacy/src/instructions/v2/collect-protocol-fees-ix.ts diff --git a/sdk/src/instructions/v2/collect-reward-ix.ts b/legacy/src/instructions/v2/collect-reward-ix.ts similarity index 100% rename from sdk/src/instructions/v2/collect-reward-ix.ts rename to legacy/src/instructions/v2/collect-reward-ix.ts diff --git a/sdk/src/instructions/v2/decrease-liquidity-ix.ts b/legacy/src/instructions/v2/decrease-liquidity-ix.ts similarity index 100% rename from sdk/src/instructions/v2/decrease-liquidity-ix.ts rename to legacy/src/instructions/v2/decrease-liquidity-ix.ts diff --git a/sdk/src/instructions/v2/delete-token-badge-ix.ts b/legacy/src/instructions/v2/delete-token-badge-ix.ts similarity index 100% rename from sdk/src/instructions/v2/delete-token-badge-ix.ts rename to legacy/src/instructions/v2/delete-token-badge-ix.ts diff --git a/sdk/src/instructions/v2/increase-liquidity-ix.ts b/legacy/src/instructions/v2/increase-liquidity-ix.ts similarity index 100% rename from sdk/src/instructions/v2/increase-liquidity-ix.ts rename to legacy/src/instructions/v2/increase-liquidity-ix.ts diff --git a/sdk/src/instructions/v2/index.ts b/legacy/src/instructions/v2/index.ts similarity index 100% rename from sdk/src/instructions/v2/index.ts rename to legacy/src/instructions/v2/index.ts diff --git a/sdk/src/instructions/v2/initialize-config-extension-ix.ts b/legacy/src/instructions/v2/initialize-config-extension-ix.ts similarity index 100% rename from sdk/src/instructions/v2/initialize-config-extension-ix.ts rename to legacy/src/instructions/v2/initialize-config-extension-ix.ts diff --git a/sdk/src/instructions/v2/initialize-pool-ix.ts b/legacy/src/instructions/v2/initialize-pool-ix.ts similarity index 100% rename from sdk/src/instructions/v2/initialize-pool-ix.ts rename to legacy/src/instructions/v2/initialize-pool-ix.ts diff --git a/sdk/src/instructions/v2/initialize-reward-ix.ts b/legacy/src/instructions/v2/initialize-reward-ix.ts similarity index 100% rename from sdk/src/instructions/v2/initialize-reward-ix.ts rename to legacy/src/instructions/v2/initialize-reward-ix.ts diff --git a/sdk/src/instructions/v2/initialize-token-badge-ix.ts b/legacy/src/instructions/v2/initialize-token-badge-ix.ts similarity index 100% rename from sdk/src/instructions/v2/initialize-token-badge-ix.ts rename to legacy/src/instructions/v2/initialize-token-badge-ix.ts diff --git a/sdk/src/instructions/v2/set-config-extension-authority-ix.ts b/legacy/src/instructions/v2/set-config-extension-authority-ix.ts similarity index 100% rename from sdk/src/instructions/v2/set-config-extension-authority-ix.ts rename to legacy/src/instructions/v2/set-config-extension-authority-ix.ts diff --git a/sdk/src/instructions/v2/set-reward-emissions-ix.ts b/legacy/src/instructions/v2/set-reward-emissions-ix.ts similarity index 100% rename from sdk/src/instructions/v2/set-reward-emissions-ix.ts rename to legacy/src/instructions/v2/set-reward-emissions-ix.ts diff --git a/sdk/src/instructions/v2/set-token-badge-authority-ix.ts b/legacy/src/instructions/v2/set-token-badge-authority-ix.ts similarity index 100% rename from sdk/src/instructions/v2/set-token-badge-authority-ix.ts rename to legacy/src/instructions/v2/set-token-badge-authority-ix.ts diff --git a/sdk/src/instructions/v2/swap-ix.ts b/legacy/src/instructions/v2/swap-ix.ts similarity index 100% rename from sdk/src/instructions/v2/swap-ix.ts rename to legacy/src/instructions/v2/swap-ix.ts diff --git a/sdk/src/instructions/v2/two-hop-swap-ix.ts b/legacy/src/instructions/v2/two-hop-swap-ix.ts similarity index 100% rename from sdk/src/instructions/v2/two-hop-swap-ix.ts rename to legacy/src/instructions/v2/two-hop-swap-ix.ts diff --git a/sdk/src/ix.ts b/legacy/src/ix.ts similarity index 100% rename from sdk/src/ix.ts rename to legacy/src/ix.ts diff --git a/sdk/src/network/public/fetcher/fetcher-impl.ts b/legacy/src/network/public/fetcher/fetcher-impl.ts similarity index 100% rename from sdk/src/network/public/fetcher/fetcher-impl.ts rename to legacy/src/network/public/fetcher/fetcher-impl.ts diff --git a/sdk/src/network/public/fetcher/fetcher-types.ts b/legacy/src/network/public/fetcher/fetcher-types.ts similarity index 100% rename from sdk/src/network/public/fetcher/fetcher-types.ts rename to legacy/src/network/public/fetcher/fetcher-types.ts diff --git a/sdk/src/network/public/fetcher/fetcher-utils.ts b/legacy/src/network/public/fetcher/fetcher-utils.ts similarity index 100% rename from sdk/src/network/public/fetcher/fetcher-utils.ts rename to legacy/src/network/public/fetcher/fetcher-utils.ts diff --git a/sdk/src/network/public/fetcher/index.ts b/legacy/src/network/public/fetcher/index.ts similarity index 100% rename from sdk/src/network/public/fetcher/index.ts rename to legacy/src/network/public/fetcher/index.ts diff --git a/sdk/src/network/public/index.ts b/legacy/src/network/public/index.ts similarity index 100% rename from sdk/src/network/public/index.ts rename to legacy/src/network/public/index.ts diff --git a/sdk/src/network/public/parsing.ts b/legacy/src/network/public/parsing.ts similarity index 100% rename from sdk/src/network/public/parsing.ts rename to legacy/src/network/public/parsing.ts diff --git a/sdk/src/prices/calculate-pool-prices.ts b/legacy/src/prices/calculate-pool-prices.ts similarity index 100% rename from sdk/src/prices/calculate-pool-prices.ts rename to legacy/src/prices/calculate-pool-prices.ts diff --git a/sdk/src/prices/index.ts b/legacy/src/prices/index.ts similarity index 100% rename from sdk/src/prices/index.ts rename to legacy/src/prices/index.ts diff --git a/sdk/src/prices/price-module.ts b/legacy/src/prices/price-module.ts similarity index 100% rename from sdk/src/prices/price-module.ts rename to legacy/src/prices/price-module.ts diff --git a/sdk/src/quotes/public/collect-fees-quote.ts b/legacy/src/quotes/public/collect-fees-quote.ts similarity index 100% rename from sdk/src/quotes/public/collect-fees-quote.ts rename to legacy/src/quotes/public/collect-fees-quote.ts diff --git a/sdk/src/quotes/public/collect-rewards-quote.ts b/legacy/src/quotes/public/collect-rewards-quote.ts similarity index 100% rename from sdk/src/quotes/public/collect-rewards-quote.ts rename to legacy/src/quotes/public/collect-rewards-quote.ts diff --git a/sdk/src/quotes/public/decrease-liquidity-quote.ts b/legacy/src/quotes/public/decrease-liquidity-quote.ts similarity index 100% rename from sdk/src/quotes/public/decrease-liquidity-quote.ts rename to legacy/src/quotes/public/decrease-liquidity-quote.ts diff --git a/sdk/src/quotes/public/dev-fee-swap-quote.ts b/legacy/src/quotes/public/dev-fee-swap-quote.ts similarity index 100% rename from sdk/src/quotes/public/dev-fee-swap-quote.ts rename to legacy/src/quotes/public/dev-fee-swap-quote.ts diff --git a/sdk/src/quotes/public/increase-liquidity-quote.ts b/legacy/src/quotes/public/increase-liquidity-quote.ts similarity index 100% rename from sdk/src/quotes/public/increase-liquidity-quote.ts rename to legacy/src/quotes/public/increase-liquidity-quote.ts diff --git a/sdk/src/quotes/public/index.ts b/legacy/src/quotes/public/index.ts similarity index 100% rename from sdk/src/quotes/public/index.ts rename to legacy/src/quotes/public/index.ts diff --git a/sdk/src/quotes/public/swap-quote.ts b/legacy/src/quotes/public/swap-quote.ts similarity index 100% rename from sdk/src/quotes/public/swap-quote.ts rename to legacy/src/quotes/public/swap-quote.ts diff --git a/sdk/src/quotes/public/two-hop-swap-quote.ts b/legacy/src/quotes/public/two-hop-swap-quote.ts similarity index 100% rename from sdk/src/quotes/public/two-hop-swap-quote.ts rename to legacy/src/quotes/public/two-hop-swap-quote.ts diff --git a/sdk/src/quotes/swap/swap-manager.ts b/legacy/src/quotes/swap/swap-manager.ts similarity index 100% rename from sdk/src/quotes/swap/swap-manager.ts rename to legacy/src/quotes/swap/swap-manager.ts diff --git a/sdk/src/quotes/swap/swap-quote-impl.ts b/legacy/src/quotes/swap/swap-quote-impl.ts similarity index 100% rename from sdk/src/quotes/swap/swap-quote-impl.ts rename to legacy/src/quotes/swap/swap-quote-impl.ts diff --git a/sdk/src/quotes/swap/tick-array-index.ts b/legacy/src/quotes/swap/tick-array-index.ts similarity index 100% rename from sdk/src/quotes/swap/tick-array-index.ts rename to legacy/src/quotes/swap/tick-array-index.ts diff --git a/sdk/src/quotes/swap/tick-array-sequence.ts b/legacy/src/quotes/swap/tick-array-sequence.ts similarity index 100% rename from sdk/src/quotes/swap/tick-array-sequence.ts rename to legacy/src/quotes/swap/tick-array-sequence.ts diff --git a/sdk/src/router/batch-swap-quote.ts b/legacy/src/router/batch-swap-quote.ts similarity index 100% rename from sdk/src/router/batch-swap-quote.ts rename to legacy/src/router/batch-swap-quote.ts diff --git a/sdk/src/router/convert-quote-map.ts b/legacy/src/router/convert-quote-map.ts similarity index 100% rename from sdk/src/router/convert-quote-map.ts rename to legacy/src/router/convert-quote-map.ts diff --git a/sdk/src/router/public/index.ts b/legacy/src/router/public/index.ts similarity index 100% rename from sdk/src/router/public/index.ts rename to legacy/src/router/public/index.ts diff --git a/sdk/src/router/public/router-builder.ts b/legacy/src/router/public/router-builder.ts similarity index 100% rename from sdk/src/router/public/router-builder.ts rename to legacy/src/router/public/router-builder.ts diff --git a/sdk/src/router/public/router-utils.ts b/legacy/src/router/public/router-utils.ts similarity index 100% rename from sdk/src/router/public/router-utils.ts rename to legacy/src/router/public/router-utils.ts diff --git a/sdk/src/router/quote-map.ts b/legacy/src/router/quote-map.ts similarity index 100% rename from sdk/src/router/quote-map.ts rename to legacy/src/router/quote-map.ts diff --git a/sdk/src/router/router-impl.ts b/legacy/src/router/router-impl.ts similarity index 100% rename from sdk/src/router/router-impl.ts rename to legacy/src/router/router-impl.ts diff --git a/sdk/src/tsconfig.json b/legacy/src/tsconfig.json similarity index 100% rename from sdk/src/tsconfig.json rename to legacy/src/tsconfig.json diff --git a/sdk/src/types/public/anchor-types.ts b/legacy/src/types/public/anchor-types.ts similarity index 100% rename from sdk/src/types/public/anchor-types.ts rename to legacy/src/types/public/anchor-types.ts diff --git a/sdk/src/types/public/client-types.ts b/legacy/src/types/public/client-types.ts similarity index 100% rename from sdk/src/types/public/client-types.ts rename to legacy/src/types/public/client-types.ts diff --git a/sdk/src/types/public/constants.ts b/legacy/src/types/public/constants.ts similarity index 100% rename from sdk/src/types/public/constants.ts rename to legacy/src/types/public/constants.ts diff --git a/sdk/src/types/public/index.ts b/legacy/src/types/public/index.ts similarity index 100% rename from sdk/src/types/public/index.ts rename to legacy/src/types/public/index.ts diff --git a/sdk/src/types/public/ix-types.ts b/legacy/src/types/public/ix-types.ts similarity index 95% rename from sdk/src/types/public/ix-types.ts rename to legacy/src/types/public/ix-types.ts index 44566363a..e44ddfd5a 100644 --- a/sdk/src/types/public/ix-types.ts +++ b/legacy/src/types/public/ix-types.ts @@ -1,4 +1,4 @@ -export { +export type { ClosePositionParams, CollectFeesParams, CollectProtocolFeesParams, @@ -32,7 +32,7 @@ export { OpenBundledPositionParams, CloseBundledPositionParams, } from "../../instructions/"; -export { +export type { CollectFeesV2Params, CollectProtocolFeesV2Params, CollectRewardV2Params, @@ -42,14 +42,14 @@ export { InitializeRewardV2Params, SetRewardEmissionsV2Params, SwapV2Params, - TwoHopSwapV2Params, + TwoHopSwapV2Params, InitConfigExtensionParams, SetConfigExtensionAuthorityParams, SetTokenBadgeAuthorityParams, InitializeTokenBadgeParams, DeleteTokenBadgeParams, } from "../../instructions/v2/"; -export { +export type { CollectAllParams, CollectAllPositionAddressParams, CollectAllPositionParams, diff --git a/sdk/src/utils/builder/position-builder-util.ts b/legacy/src/utils/builder/position-builder-util.ts similarity index 100% rename from sdk/src/utils/builder/position-builder-util.ts rename to legacy/src/utils/builder/position-builder-util.ts diff --git a/sdk/src/utils/constants.ts b/legacy/src/utils/constants.ts similarity index 100% rename from sdk/src/utils/constants.ts rename to legacy/src/utils/constants.ts diff --git a/sdk/src/utils/graphs/adjacency-list-pool-graph.ts b/legacy/src/utils/graphs/adjacency-list-pool-graph.ts similarity index 100% rename from sdk/src/utils/graphs/adjacency-list-pool-graph.ts rename to legacy/src/utils/graphs/adjacency-list-pool-graph.ts diff --git a/sdk/src/utils/graphs/public/index.ts b/legacy/src/utils/graphs/public/index.ts similarity index 100% rename from sdk/src/utils/graphs/public/index.ts rename to legacy/src/utils/graphs/public/index.ts diff --git a/sdk/src/utils/graphs/public/pool-graph-builder.ts b/legacy/src/utils/graphs/public/pool-graph-builder.ts similarity index 100% rename from sdk/src/utils/graphs/public/pool-graph-builder.ts rename to legacy/src/utils/graphs/public/pool-graph-builder.ts diff --git a/sdk/src/utils/graphs/public/pool-graph-utils.ts b/legacy/src/utils/graphs/public/pool-graph-utils.ts similarity index 100% rename from sdk/src/utils/graphs/public/pool-graph-utils.ts rename to legacy/src/utils/graphs/public/pool-graph-utils.ts diff --git a/sdk/src/utils/graphs/public/pool-graph.ts b/legacy/src/utils/graphs/public/pool-graph.ts similarity index 100% rename from sdk/src/utils/graphs/public/pool-graph.ts rename to legacy/src/utils/graphs/public/pool-graph.ts diff --git a/sdk/src/utils/instructions-util.ts b/legacy/src/utils/instructions-util.ts similarity index 100% rename from sdk/src/utils/instructions-util.ts rename to legacy/src/utils/instructions-util.ts diff --git a/sdk/src/utils/math/bit-math.ts b/legacy/src/utils/math/bit-math.ts similarity index 100% rename from sdk/src/utils/math/bit-math.ts rename to legacy/src/utils/math/bit-math.ts diff --git a/sdk/src/utils/math/constants.ts b/legacy/src/utils/math/constants.ts similarity index 100% rename from sdk/src/utils/math/constants.ts rename to legacy/src/utils/math/constants.ts diff --git a/sdk/src/utils/math/k-smallest-partition.ts b/legacy/src/utils/math/k-smallest-partition.ts similarity index 100% rename from sdk/src/utils/math/k-smallest-partition.ts rename to legacy/src/utils/math/k-smallest-partition.ts diff --git a/sdk/src/utils/math/swap-math.ts b/legacy/src/utils/math/swap-math.ts similarity index 100% rename from sdk/src/utils/math/swap-math.ts rename to legacy/src/utils/math/swap-math.ts diff --git a/sdk/src/utils/math/token-math.ts b/legacy/src/utils/math/token-math.ts similarity index 100% rename from sdk/src/utils/math/token-math.ts rename to legacy/src/utils/math/token-math.ts diff --git a/sdk/src/utils/position-util.ts b/legacy/src/utils/position-util.ts similarity index 100% rename from sdk/src/utils/position-util.ts rename to legacy/src/utils/position-util.ts diff --git a/sdk/src/utils/public/index.ts b/legacy/src/utils/public/index.ts similarity index 100% rename from sdk/src/utils/public/index.ts rename to legacy/src/utils/public/index.ts diff --git a/sdk/src/utils/public/ix-utils.ts b/legacy/src/utils/public/ix-utils.ts similarity index 100% rename from sdk/src/utils/public/ix-utils.ts rename to legacy/src/utils/public/ix-utils.ts diff --git a/sdk/src/utils/public/pda-utils.ts b/legacy/src/utils/public/pda-utils.ts similarity index 100% rename from sdk/src/utils/public/pda-utils.ts rename to legacy/src/utils/public/pda-utils.ts diff --git a/sdk/src/utils/public/pool-utils.ts b/legacy/src/utils/public/pool-utils.ts similarity index 100% rename from sdk/src/utils/public/pool-utils.ts rename to legacy/src/utils/public/pool-utils.ts diff --git a/sdk/src/utils/public/position-bundle-util.ts b/legacy/src/utils/public/position-bundle-util.ts similarity index 100% rename from sdk/src/utils/public/position-bundle-util.ts rename to legacy/src/utils/public/position-bundle-util.ts diff --git a/sdk/src/utils/public/price-math.ts b/legacy/src/utils/public/price-math.ts similarity index 100% rename from sdk/src/utils/public/price-math.ts rename to legacy/src/utils/public/price-math.ts diff --git a/sdk/src/utils/public/swap-utils.ts b/legacy/src/utils/public/swap-utils.ts similarity index 100% rename from sdk/src/utils/public/swap-utils.ts rename to legacy/src/utils/public/swap-utils.ts diff --git a/sdk/src/utils/public/tick-utils.ts b/legacy/src/utils/public/tick-utils.ts similarity index 100% rename from sdk/src/utils/public/tick-utils.ts rename to legacy/src/utils/public/tick-utils.ts diff --git a/sdk/src/utils/public/token-extension-util.ts b/legacy/src/utils/public/token-extension-util.ts similarity index 100% rename from sdk/src/utils/public/token-extension-util.ts rename to legacy/src/utils/public/token-extension-util.ts diff --git a/sdk/src/utils/public/types.ts b/legacy/src/utils/public/types.ts similarity index 100% rename from sdk/src/utils/public/types.ts rename to legacy/src/utils/public/types.ts diff --git a/sdk/src/utils/remaining-accounts-util.ts b/legacy/src/utils/remaining-accounts-util.ts similarity index 100% rename from sdk/src/utils/remaining-accounts-util.ts rename to legacy/src/utils/remaining-accounts-util.ts diff --git a/sdk/src/utils/spl-token-utils.ts b/legacy/src/utils/spl-token-utils.ts similarity index 100% rename from sdk/src/utils/spl-token-utils.ts rename to legacy/src/utils/spl-token-utils.ts diff --git a/sdk/src/utils/swap-utils.ts b/legacy/src/utils/swap-utils.ts similarity index 100% rename from sdk/src/utils/swap-utils.ts rename to legacy/src/utils/swap-utils.ts diff --git a/sdk/src/utils/txn-utils.ts b/legacy/src/utils/txn-utils.ts similarity index 100% rename from sdk/src/utils/txn-utils.ts rename to legacy/src/utils/txn-utils.ts diff --git a/sdk/src/utils/wallet-utils.ts b/legacy/src/utils/wallet-utils.ts similarity index 100% rename from sdk/src/utils/wallet-utils.ts rename to legacy/src/utils/wallet-utils.ts diff --git a/sdk/src/utils/whirlpool-ata-utils.ts b/legacy/src/utils/whirlpool-ata-utils.ts similarity index 100% rename from sdk/src/utils/whirlpool-ata-utils.ts rename to legacy/src/utils/whirlpool-ata-utils.ts diff --git a/sdk/src/whirlpool-client.ts b/legacy/src/whirlpool-client.ts similarity index 100% rename from sdk/src/whirlpool-client.ts rename to legacy/src/whirlpool-client.ts diff --git a/sdk/tests/external_program/mpl_token_metadata.20240214.so b/legacy/tests/external_program/mpl_token_metadata.20240214.so similarity index 100% rename from sdk/tests/external_program/mpl_token_metadata.20240214.so rename to legacy/tests/external_program/mpl_token_metadata.20240214.so diff --git a/sdk/tests/external_program/transfer_hook_counter.so b/legacy/tests/external_program/transfer_hook_counter.so similarity index 100% rename from sdk/tests/external_program/transfer_hook_counter.so rename to legacy/tests/external_program/transfer_hook_counter.so diff --git a/sdk/tests/integration/close_bundled_position.test.ts b/legacy/tests/integration/close_bundled_position.test.ts similarity index 100% rename from sdk/tests/integration/close_bundled_position.test.ts rename to legacy/tests/integration/close_bundled_position.test.ts diff --git a/sdk/tests/integration/close_position.test.ts b/legacy/tests/integration/close_position.test.ts similarity index 100% rename from sdk/tests/integration/close_position.test.ts rename to legacy/tests/integration/close_position.test.ts diff --git a/sdk/tests/integration/collect_fees.test.ts b/legacy/tests/integration/collect_fees.test.ts similarity index 100% rename from sdk/tests/integration/collect_fees.test.ts rename to legacy/tests/integration/collect_fees.test.ts diff --git a/sdk/tests/integration/collect_protocol_fees.test.ts b/legacy/tests/integration/collect_protocol_fees.test.ts similarity index 100% rename from sdk/tests/integration/collect_protocol_fees.test.ts rename to legacy/tests/integration/collect_protocol_fees.test.ts diff --git a/sdk/tests/integration/collect_reward.test.ts b/legacy/tests/integration/collect_reward.test.ts similarity index 100% rename from sdk/tests/integration/collect_reward.test.ts rename to legacy/tests/integration/collect_reward.test.ts diff --git a/sdk/tests/integration/decrease_liquidity.test.ts b/legacy/tests/integration/decrease_liquidity.test.ts similarity index 100% rename from sdk/tests/integration/decrease_liquidity.test.ts rename to legacy/tests/integration/decrease_liquidity.test.ts diff --git a/sdk/tests/integration/delete_position_bundle.test.ts b/legacy/tests/integration/delete_position_bundle.test.ts similarity index 100% rename from sdk/tests/integration/delete_position_bundle.test.ts rename to legacy/tests/integration/delete_position_bundle.test.ts diff --git a/sdk/tests/integration/get_pool_prices.test.ts b/legacy/tests/integration/get_pool_prices.test.ts similarity index 100% rename from sdk/tests/integration/get_pool_prices.test.ts rename to legacy/tests/integration/get_pool_prices.test.ts diff --git a/sdk/tests/integration/increase_liquidity.test.ts b/legacy/tests/integration/increase_liquidity.test.ts similarity index 100% rename from sdk/tests/integration/increase_liquidity.test.ts rename to legacy/tests/integration/increase_liquidity.test.ts diff --git a/sdk/tests/integration/initialize_config.test.ts b/legacy/tests/integration/initialize_config.test.ts similarity index 100% rename from sdk/tests/integration/initialize_config.test.ts rename to legacy/tests/integration/initialize_config.test.ts diff --git a/sdk/tests/integration/initialize_fee_tier.test.ts b/legacy/tests/integration/initialize_fee_tier.test.ts similarity index 100% rename from sdk/tests/integration/initialize_fee_tier.test.ts rename to legacy/tests/integration/initialize_fee_tier.test.ts diff --git a/sdk/tests/integration/initialize_pool.test.ts b/legacy/tests/integration/initialize_pool.test.ts similarity index 100% rename from sdk/tests/integration/initialize_pool.test.ts rename to legacy/tests/integration/initialize_pool.test.ts diff --git a/sdk/tests/integration/initialize_position_bundle.test.ts b/legacy/tests/integration/initialize_position_bundle.test.ts similarity index 100% rename from sdk/tests/integration/initialize_position_bundle.test.ts rename to legacy/tests/integration/initialize_position_bundle.test.ts diff --git a/sdk/tests/integration/initialize_position_bundle_with_metadata.test.ts b/legacy/tests/integration/initialize_position_bundle_with_metadata.test.ts similarity index 100% rename from sdk/tests/integration/initialize_position_bundle_with_metadata.test.ts rename to legacy/tests/integration/initialize_position_bundle_with_metadata.test.ts diff --git a/sdk/tests/integration/initialize_reward.test.ts b/legacy/tests/integration/initialize_reward.test.ts similarity index 100% rename from sdk/tests/integration/initialize_reward.test.ts rename to legacy/tests/integration/initialize_reward.test.ts diff --git a/sdk/tests/integration/initialize_tick_array.test.ts b/legacy/tests/integration/initialize_tick_array.test.ts similarity index 100% rename from sdk/tests/integration/initialize_tick_array.test.ts rename to legacy/tests/integration/initialize_tick_array.test.ts diff --git a/sdk/tests/integration/multi-ix/bundled_position_management.test.ts b/legacy/tests/integration/multi-ix/bundled_position_management.test.ts similarity index 100% rename from sdk/tests/integration/multi-ix/bundled_position_management.test.ts rename to legacy/tests/integration/multi-ix/bundled_position_management.test.ts diff --git a/sdk/tests/integration/multi-ix/position_management.test.ts b/legacy/tests/integration/multi-ix/position_management.test.ts similarity index 100% rename from sdk/tests/integration/multi-ix/position_management.test.ts rename to legacy/tests/integration/multi-ix/position_management.test.ts diff --git a/sdk/tests/integration/multi-ix/sparse_swap.test.ts b/legacy/tests/integration/multi-ix/sparse_swap.test.ts similarity index 100% rename from sdk/tests/integration/multi-ix/sparse_swap.test.ts rename to legacy/tests/integration/multi-ix/sparse_swap.test.ts diff --git a/sdk/tests/integration/open_bundled_position.test.ts b/legacy/tests/integration/open_bundled_position.test.ts similarity index 100% rename from sdk/tests/integration/open_bundled_position.test.ts rename to legacy/tests/integration/open_bundled_position.test.ts diff --git a/sdk/tests/integration/open_position.test.ts b/legacy/tests/integration/open_position.test.ts similarity index 100% rename from sdk/tests/integration/open_position.test.ts rename to legacy/tests/integration/open_position.test.ts diff --git a/sdk/tests/integration/open_position_with_metadata.test.ts b/legacy/tests/integration/open_position_with_metadata.test.ts similarity index 100% rename from sdk/tests/integration/open_position_with_metadata.test.ts rename to legacy/tests/integration/open_position_with_metadata.test.ts diff --git a/sdk/tests/integration/set_collect_protocol_fee_authority.test.ts b/legacy/tests/integration/set_collect_protocol_fee_authority.test.ts similarity index 100% rename from sdk/tests/integration/set_collect_protocol_fee_authority.test.ts rename to legacy/tests/integration/set_collect_protocol_fee_authority.test.ts diff --git a/sdk/tests/integration/set_default_fee_rate.test.ts b/legacy/tests/integration/set_default_fee_rate.test.ts similarity index 100% rename from sdk/tests/integration/set_default_fee_rate.test.ts rename to legacy/tests/integration/set_default_fee_rate.test.ts diff --git a/sdk/tests/integration/set_default_protocol_fee_rate.test.ts b/legacy/tests/integration/set_default_protocol_fee_rate.test.ts similarity index 100% rename from sdk/tests/integration/set_default_protocol_fee_rate.test.ts rename to legacy/tests/integration/set_default_protocol_fee_rate.test.ts diff --git a/sdk/tests/integration/set_fee_authority.test.ts b/legacy/tests/integration/set_fee_authority.test.ts similarity index 100% rename from sdk/tests/integration/set_fee_authority.test.ts rename to legacy/tests/integration/set_fee_authority.test.ts diff --git a/sdk/tests/integration/set_fee_rate.test.ts b/legacy/tests/integration/set_fee_rate.test.ts similarity index 100% rename from sdk/tests/integration/set_fee_rate.test.ts rename to legacy/tests/integration/set_fee_rate.test.ts diff --git a/sdk/tests/integration/set_protocol_fee_rate.test.ts b/legacy/tests/integration/set_protocol_fee_rate.test.ts similarity index 100% rename from sdk/tests/integration/set_protocol_fee_rate.test.ts rename to legacy/tests/integration/set_protocol_fee_rate.test.ts diff --git a/sdk/tests/integration/set_reward_authority.test.ts b/legacy/tests/integration/set_reward_authority.test.ts similarity index 100% rename from sdk/tests/integration/set_reward_authority.test.ts rename to legacy/tests/integration/set_reward_authority.test.ts diff --git a/sdk/tests/integration/set_reward_authority_by_super_authority.test.ts b/legacy/tests/integration/set_reward_authority_by_super_authority.test.ts similarity index 100% rename from sdk/tests/integration/set_reward_authority_by_super_authority.test.ts rename to legacy/tests/integration/set_reward_authority_by_super_authority.test.ts diff --git a/sdk/tests/integration/set_reward_emissions.test.ts b/legacy/tests/integration/set_reward_emissions.test.ts similarity index 100% rename from sdk/tests/integration/set_reward_emissions.test.ts rename to legacy/tests/integration/set_reward_emissions.test.ts diff --git a/sdk/tests/integration/set_reward_emissions_super_authority.test.ts b/legacy/tests/integration/set_reward_emissions_super_authority.test.ts similarity index 100% rename from sdk/tests/integration/set_reward_emissions_super_authority.test.ts rename to legacy/tests/integration/set_reward_emissions_super_authority.test.ts diff --git a/sdk/tests/integration/swap.test.ts b/legacy/tests/integration/swap.test.ts similarity index 100% rename from sdk/tests/integration/swap.test.ts rename to legacy/tests/integration/swap.test.ts diff --git a/sdk/tests/integration/two_hop_swap.test.ts b/legacy/tests/integration/two_hop_swap.test.ts similarity index 100% rename from sdk/tests/integration/two_hop_swap.test.ts rename to legacy/tests/integration/two_hop_swap.test.ts diff --git a/sdk/tests/integration/update_fees_and_rewards.test.ts b/legacy/tests/integration/update_fees_and_rewards.test.ts similarity index 100% rename from sdk/tests/integration/update_fees_and_rewards.test.ts rename to legacy/tests/integration/update_fees_and_rewards.test.ts diff --git a/sdk/tests/integration/v2/collect_fees_v2.test.ts b/legacy/tests/integration/v2/collect_fees_v2.test.ts similarity index 100% rename from sdk/tests/integration/v2/collect_fees_v2.test.ts rename to legacy/tests/integration/v2/collect_fees_v2.test.ts diff --git a/sdk/tests/integration/v2/collect_protocol_fees_v2.test.ts b/legacy/tests/integration/v2/collect_protocol_fees_v2.test.ts similarity index 100% rename from sdk/tests/integration/v2/collect_protocol_fees_v2.test.ts rename to legacy/tests/integration/v2/collect_protocol_fees_v2.test.ts diff --git a/sdk/tests/integration/v2/collect_reward_v2.test.ts b/legacy/tests/integration/v2/collect_reward_v2.test.ts similarity index 100% rename from sdk/tests/integration/v2/collect_reward_v2.test.ts rename to legacy/tests/integration/v2/collect_reward_v2.test.ts diff --git a/sdk/tests/integration/v2/decrease_liquidity_v2.test.ts b/legacy/tests/integration/v2/decrease_liquidity_v2.test.ts similarity index 100% rename from sdk/tests/integration/v2/decrease_liquidity_v2.test.ts rename to legacy/tests/integration/v2/decrease_liquidity_v2.test.ts diff --git a/sdk/tests/integration/v2/increase_liquidity_v2.test.ts b/legacy/tests/integration/v2/increase_liquidity_v2.test.ts similarity index 100% rename from sdk/tests/integration/v2/increase_liquidity_v2.test.ts rename to legacy/tests/integration/v2/increase_liquidity_v2.test.ts diff --git a/sdk/tests/integration/v2/initialize_pool_v2.test.ts b/legacy/tests/integration/v2/initialize_pool_v2.test.ts similarity index 100% rename from sdk/tests/integration/v2/initialize_pool_v2.test.ts rename to legacy/tests/integration/v2/initialize_pool_v2.test.ts diff --git a/sdk/tests/integration/v2/initialize_reward_v2.test.ts b/legacy/tests/integration/v2/initialize_reward_v2.test.ts similarity index 100% rename from sdk/tests/integration/v2/initialize_reward_v2.test.ts rename to legacy/tests/integration/v2/initialize_reward_v2.test.ts diff --git a/sdk/tests/integration/v2/set_reward_emissions_v2.test.ts b/legacy/tests/integration/v2/set_reward_emissions_v2.test.ts similarity index 100% rename from sdk/tests/integration/v2/set_reward_emissions_v2.test.ts rename to legacy/tests/integration/v2/set_reward_emissions_v2.test.ts diff --git a/sdk/tests/integration/v2/swap_v2.test.ts b/legacy/tests/integration/v2/swap_v2.test.ts similarity index 100% rename from sdk/tests/integration/v2/swap_v2.test.ts rename to legacy/tests/integration/v2/swap_v2.test.ts diff --git a/sdk/tests/integration/v2/token-badge/delete_token_badge.test.ts b/legacy/tests/integration/v2/token-badge/delete_token_badge.test.ts similarity index 100% rename from sdk/tests/integration/v2/token-badge/delete_token_badge.test.ts rename to legacy/tests/integration/v2/token-badge/delete_token_badge.test.ts diff --git a/sdk/tests/integration/v2/token-badge/initialize_config_extension.test.ts b/legacy/tests/integration/v2/token-badge/initialize_config_extension.test.ts similarity index 100% rename from sdk/tests/integration/v2/token-badge/initialize_config_extension.test.ts rename to legacy/tests/integration/v2/token-badge/initialize_config_extension.test.ts diff --git a/sdk/tests/integration/v2/token-badge/initialize_token_badge.test.ts b/legacy/tests/integration/v2/token-badge/initialize_token_badge.test.ts similarity index 100% rename from sdk/tests/integration/v2/token-badge/initialize_token_badge.test.ts rename to legacy/tests/integration/v2/token-badge/initialize_token_badge.test.ts diff --git a/sdk/tests/integration/v2/token-badge/set_config_extension_authority.test.ts b/legacy/tests/integration/v2/token-badge/set_config_extension_authority.test.ts similarity index 100% rename from sdk/tests/integration/v2/token-badge/set_config_extension_authority.test.ts rename to legacy/tests/integration/v2/token-badge/set_config_extension_authority.test.ts diff --git a/sdk/tests/integration/v2/token-badge/set_token_badge_authority.test.ts b/legacy/tests/integration/v2/token-badge/set_token_badge_authority.test.ts similarity index 100% rename from sdk/tests/integration/v2/token-badge/set_token_badge_authority.test.ts rename to legacy/tests/integration/v2/token-badge/set_token_badge_authority.test.ts diff --git a/sdk/tests/integration/v2/token-extensions/memo-transfer.test.ts b/legacy/tests/integration/v2/token-extensions/memo-transfer.test.ts similarity index 100% rename from sdk/tests/integration/v2/token-extensions/memo-transfer.test.ts rename to legacy/tests/integration/v2/token-extensions/memo-transfer.test.ts diff --git a/sdk/tests/integration/v2/token-extensions/non-confidential-transfer+transfer-fee.test.ts b/legacy/tests/integration/v2/token-extensions/non-confidential-transfer+transfer-fee.test.ts similarity index 100% rename from sdk/tests/integration/v2/token-extensions/non-confidential-transfer+transfer-fee.test.ts rename to legacy/tests/integration/v2/token-extensions/non-confidential-transfer+transfer-fee.test.ts diff --git a/sdk/tests/integration/v2/token-extensions/non-confidential-transfer.test.ts b/legacy/tests/integration/v2/token-extensions/non-confidential-transfer.test.ts similarity index 100% rename from sdk/tests/integration/v2/token-extensions/non-confidential-transfer.test.ts rename to legacy/tests/integration/v2/token-extensions/non-confidential-transfer.test.ts diff --git a/sdk/tests/integration/v2/token-extensions/transfer-fee.test.ts b/legacy/tests/integration/v2/token-extensions/transfer-fee.test.ts similarity index 100% rename from sdk/tests/integration/v2/token-extensions/transfer-fee.test.ts rename to legacy/tests/integration/v2/token-extensions/transfer-fee.test.ts diff --git a/sdk/tests/integration/v2/token-extensions/transfer-hook.test.ts b/legacy/tests/integration/v2/token-extensions/transfer-hook.test.ts similarity index 100% rename from sdk/tests/integration/v2/token-extensions/transfer-hook.test.ts rename to legacy/tests/integration/v2/token-extensions/transfer-hook.test.ts diff --git a/sdk/tests/integration/v2/two_hop_swap_v2.test.ts b/legacy/tests/integration/v2/two_hop_swap_v2.test.ts similarity index 100% rename from sdk/tests/integration/v2/two_hop_swap_v2.test.ts rename to legacy/tests/integration/v2/two_hop_swap_v2.test.ts diff --git a/sdk/tests/sdk/router/router-util#priceImpact.test.ts b/legacy/tests/sdk/router/router-util#priceImpact.test.ts similarity index 100% rename from sdk/tests/sdk/router/router-util#priceImpact.test.ts rename to legacy/tests/sdk/router/router-util#priceImpact.test.ts diff --git a/sdk/tests/sdk/types/anchor-types.test.ts b/legacy/tests/sdk/types/anchor-types.test.ts similarity index 100% rename from sdk/tests/sdk/types/anchor-types.test.ts rename to legacy/tests/sdk/types/anchor-types.test.ts diff --git a/sdk/tests/sdk/whirlpools/position-impl#collectFees.test.ts b/legacy/tests/sdk/whirlpools/position-impl#collectFees.test.ts similarity index 100% rename from sdk/tests/sdk/whirlpools/position-impl#collectFees.test.ts rename to legacy/tests/sdk/whirlpools/position-impl#collectFees.test.ts diff --git a/sdk/tests/sdk/whirlpools/position-impl#collectRewards.test.ts b/legacy/tests/sdk/whirlpools/position-impl#collectRewards.test.ts similarity index 100% rename from sdk/tests/sdk/whirlpools/position-impl#collectRewards.test.ts rename to legacy/tests/sdk/whirlpools/position-impl#collectRewards.test.ts diff --git a/sdk/tests/sdk/whirlpools/position-impl.test.ts b/legacy/tests/sdk/whirlpools/position-impl.test.ts similarity index 100% rename from sdk/tests/sdk/whirlpools/position-impl.test.ts rename to legacy/tests/sdk/whirlpools/position-impl.test.ts diff --git a/sdk/tests/sdk/whirlpools/quote/decrease-liquidity-quote.test.ts b/legacy/tests/sdk/whirlpools/quote/decrease-liquidity-quote.test.ts similarity index 100% rename from sdk/tests/sdk/whirlpools/quote/decrease-liquidity-quote.test.ts rename to legacy/tests/sdk/whirlpools/quote/decrease-liquidity-quote.test.ts diff --git a/sdk/tests/sdk/whirlpools/quote/increase-liquidity-quote-by-input-token.test.ts b/legacy/tests/sdk/whirlpools/quote/increase-liquidity-quote-by-input-token.test.ts similarity index 100% rename from sdk/tests/sdk/whirlpools/quote/increase-liquidity-quote-by-input-token.test.ts rename to legacy/tests/sdk/whirlpools/quote/increase-liquidity-quote-by-input-token.test.ts diff --git a/sdk/tests/sdk/whirlpools/quote/increase-liquidity-quote-by-liq.test.ts b/legacy/tests/sdk/whirlpools/quote/increase-liquidity-quote-by-liq.test.ts similarity index 100% rename from sdk/tests/sdk/whirlpools/quote/increase-liquidity-quote-by-liq.test.ts rename to legacy/tests/sdk/whirlpools/quote/increase-liquidity-quote-by-liq.test.ts diff --git a/sdk/tests/sdk/whirlpools/swap/swap-array.test.ts b/legacy/tests/sdk/whirlpools/swap/swap-array.test.ts similarity index 100% rename from sdk/tests/sdk/whirlpools/swap/swap-array.test.ts rename to legacy/tests/sdk/whirlpools/swap/swap-array.test.ts diff --git a/sdk/tests/sdk/whirlpools/swap/swap-dev-fee.test.ts b/legacy/tests/sdk/whirlpools/swap/swap-dev-fee.test.ts similarity index 100% rename from sdk/tests/sdk/whirlpools/swap/swap-dev-fee.test.ts rename to legacy/tests/sdk/whirlpools/swap/swap-dev-fee.test.ts diff --git a/sdk/tests/sdk/whirlpools/swap/swap-traverse.test.ts b/legacy/tests/sdk/whirlpools/swap/swap-traverse.test.ts similarity index 100% rename from sdk/tests/sdk/whirlpools/swap/swap-traverse.test.ts rename to legacy/tests/sdk/whirlpools/swap/swap-traverse.test.ts diff --git a/sdk/tests/sdk/whirlpools/swap/swap-with-fallback.test.ts b/legacy/tests/sdk/whirlpools/swap/swap-with-fallback.test.ts similarity index 100% rename from sdk/tests/sdk/whirlpools/swap/swap-with-fallback.test.ts rename to legacy/tests/sdk/whirlpools/swap/swap-with-fallback.test.ts diff --git a/sdk/tests/sdk/whirlpools/swap/v2/swap-array.test.ts b/legacy/tests/sdk/whirlpools/swap/v2/swap-array.test.ts similarity index 100% rename from sdk/tests/sdk/whirlpools/swap/v2/swap-array.test.ts rename to legacy/tests/sdk/whirlpools/swap/v2/swap-array.test.ts diff --git a/sdk/tests/sdk/whirlpools/swap/v2/swap-traverse.test.ts b/legacy/tests/sdk/whirlpools/swap/v2/swap-traverse.test.ts similarity index 100% rename from sdk/tests/sdk/whirlpools/swap/v2/swap-traverse.test.ts rename to legacy/tests/sdk/whirlpools/swap/v2/swap-traverse.test.ts diff --git a/sdk/tests/sdk/whirlpools/utils/pool-graph.test.ts b/legacy/tests/sdk/whirlpools/utils/pool-graph.test.ts similarity index 100% rename from sdk/tests/sdk/whirlpools/utils/pool-graph.test.ts rename to legacy/tests/sdk/whirlpools/utils/pool-graph.test.ts diff --git a/sdk/tests/sdk/whirlpools/utils/pool-utils.test.ts b/legacy/tests/sdk/whirlpools/utils/pool-utils.test.ts similarity index 100% rename from sdk/tests/sdk/whirlpools/utils/pool-utils.test.ts rename to legacy/tests/sdk/whirlpools/utils/pool-utils.test.ts diff --git a/sdk/tests/sdk/whirlpools/utils/position-bundle-util.test.ts b/legacy/tests/sdk/whirlpools/utils/position-bundle-util.test.ts similarity index 100% rename from sdk/tests/sdk/whirlpools/utils/position-bundle-util.test.ts rename to legacy/tests/sdk/whirlpools/utils/position-bundle-util.test.ts diff --git a/sdk/tests/sdk/whirlpools/utils/position-util.test.ts b/legacy/tests/sdk/whirlpools/utils/position-util.test.ts similarity index 100% rename from sdk/tests/sdk/whirlpools/utils/position-util.test.ts rename to legacy/tests/sdk/whirlpools/utils/position-util.test.ts diff --git a/sdk/tests/sdk/whirlpools/utils/price-math.test.ts b/legacy/tests/sdk/whirlpools/utils/price-math.test.ts similarity index 100% rename from sdk/tests/sdk/whirlpools/utils/price-math.test.ts rename to legacy/tests/sdk/whirlpools/utils/price-math.test.ts diff --git a/sdk/tests/sdk/whirlpools/utils/swap-utils.test.ts b/legacy/tests/sdk/whirlpools/utils/swap-utils.test.ts similarity index 100% rename from sdk/tests/sdk/whirlpools/utils/swap-utils.test.ts rename to legacy/tests/sdk/whirlpools/utils/swap-utils.test.ts diff --git a/sdk/tests/sdk/whirlpools/utils/tick-array-sequence.test.ts b/legacy/tests/sdk/whirlpools/utils/tick-array-sequence.test.ts similarity index 100% rename from sdk/tests/sdk/whirlpools/utils/tick-array-sequence.test.ts rename to legacy/tests/sdk/whirlpools/utils/tick-array-sequence.test.ts diff --git a/sdk/tests/sdk/whirlpools/utils/tick-utils.test.ts b/legacy/tests/sdk/whirlpools/utils/tick-utils.test.ts similarity index 100% rename from sdk/tests/sdk/whirlpools/utils/tick-utils.test.ts rename to legacy/tests/sdk/whirlpools/utils/tick-utils.test.ts diff --git a/sdk/tests/sdk/whirlpools/utils/token-extension-util.test.ts b/legacy/tests/sdk/whirlpools/utils/token-extension-util.test.ts similarity index 100% rename from sdk/tests/sdk/whirlpools/utils/token-extension-util.test.ts rename to legacy/tests/sdk/whirlpools/utils/token-extension-util.test.ts diff --git a/sdk/tests/sdk/whirlpools/whirlpool-client-impl.test.ts b/legacy/tests/sdk/whirlpools/whirlpool-client-impl.test.ts similarity index 100% rename from sdk/tests/sdk/whirlpools/whirlpool-client-impl.test.ts rename to legacy/tests/sdk/whirlpools/whirlpool-client-impl.test.ts diff --git a/sdk/tests/sdk/whirlpools/whirlpool-impl#closePosition.test.ts b/legacy/tests/sdk/whirlpools/whirlpool-impl#closePosition.test.ts similarity index 100% rename from sdk/tests/sdk/whirlpools/whirlpool-impl#closePosition.test.ts rename to legacy/tests/sdk/whirlpools/whirlpool-impl#closePosition.test.ts diff --git a/sdk/tests/sdk/whirlpools/whirlpool-impl#collectFeesAndRewardsForPositions.test.ts b/legacy/tests/sdk/whirlpools/whirlpool-impl#collectFeesAndRewardsForPositions.test.ts similarity index 100% rename from sdk/tests/sdk/whirlpools/whirlpool-impl#collectFeesAndRewardsForPositions.test.ts rename to legacy/tests/sdk/whirlpools/whirlpool-impl#collectFeesAndRewardsForPositions.test.ts diff --git a/sdk/tests/sdk/whirlpools/whirlpool-impl.test.ts b/legacy/tests/sdk/whirlpools/whirlpool-impl.test.ts similarity index 100% rename from sdk/tests/sdk/whirlpools/whirlpool-impl.test.ts rename to legacy/tests/sdk/whirlpools/whirlpool-impl.test.ts diff --git a/sdk/tests/tsconfig.json b/legacy/tests/tsconfig.json similarity index 100% rename from sdk/tests/tsconfig.json rename to legacy/tests/tsconfig.json diff --git a/sdk/tests/utils/assert.ts b/legacy/tests/utils/assert.ts similarity index 100% rename from sdk/tests/utils/assert.ts rename to legacy/tests/utils/assert.ts diff --git a/sdk/tests/utils/const.ts b/legacy/tests/utils/const.ts similarity index 100% rename from sdk/tests/utils/const.ts rename to legacy/tests/utils/const.ts diff --git a/sdk/tests/utils/fixture.ts b/legacy/tests/utils/fixture.ts similarity index 100% rename from sdk/tests/utils/fixture.ts rename to legacy/tests/utils/fixture.ts diff --git a/sdk/tests/utils/graph-test-data.ts b/legacy/tests/utils/graph-test-data.ts similarity index 100% rename from sdk/tests/utils/graph-test-data.ts rename to legacy/tests/utils/graph-test-data.ts diff --git a/sdk/tests/utils/index.ts b/legacy/tests/utils/index.ts similarity index 100% rename from sdk/tests/utils/index.ts rename to legacy/tests/utils/index.ts diff --git a/sdk/tests/utils/init-utils.ts b/legacy/tests/utils/init-utils.ts similarity index 100% rename from sdk/tests/utils/init-utils.ts rename to legacy/tests/utils/init-utils.ts diff --git a/sdk/tests/utils/metaplex.ts b/legacy/tests/utils/metaplex.ts similarity index 100% rename from sdk/tests/utils/metaplex.ts rename to legacy/tests/utils/metaplex.ts diff --git a/sdk/tests/utils/pool-utils.test.ts b/legacy/tests/utils/pool-utils.test.ts similarity index 100% rename from sdk/tests/utils/pool-utils.test.ts rename to legacy/tests/utils/pool-utils.test.ts diff --git a/sdk/tests/utils/swap-test-utils.ts b/legacy/tests/utils/swap-test-utils.ts similarity index 100% rename from sdk/tests/utils/swap-test-utils.ts rename to legacy/tests/utils/swap-test-utils.ts diff --git a/sdk/tests/utils/test-builders.ts b/legacy/tests/utils/test-builders.ts similarity index 100% rename from sdk/tests/utils/test-builders.ts rename to legacy/tests/utils/test-builders.ts diff --git a/sdk/tests/utils/test-consts.ts b/legacy/tests/utils/test-consts.ts similarity index 100% rename from sdk/tests/utils/test-consts.ts rename to legacy/tests/utils/test-consts.ts diff --git a/sdk/tests/utils/testDataTypes.ts b/legacy/tests/utils/testDataTypes.ts similarity index 100% rename from sdk/tests/utils/testDataTypes.ts rename to legacy/tests/utils/testDataTypes.ts diff --git a/sdk/tests/utils/token.ts b/legacy/tests/utils/token.ts similarity index 100% rename from sdk/tests/utils/token.ts rename to legacy/tests/utils/token.ts diff --git a/sdk/tests/utils/utils.ts b/legacy/tests/utils/utils.ts similarity index 100% rename from sdk/tests/utils/utils.ts rename to legacy/tests/utils/utils.ts diff --git a/sdk/tests/utils/v2/aquarium-v2.ts b/legacy/tests/utils/v2/aquarium-v2.ts similarity index 100% rename from sdk/tests/utils/v2/aquarium-v2.ts rename to legacy/tests/utils/v2/aquarium-v2.ts diff --git a/sdk/tests/utils/v2/confidential-transfer.ts b/legacy/tests/utils/v2/confidential-transfer.ts similarity index 100% rename from sdk/tests/utils/v2/confidential-transfer.ts rename to legacy/tests/utils/v2/confidential-transfer.ts diff --git a/sdk/tests/utils/v2/fixture-v2.ts b/legacy/tests/utils/v2/fixture-v2.ts similarity index 100% rename from sdk/tests/utils/v2/fixture-v2.ts rename to legacy/tests/utils/v2/fixture-v2.ts diff --git a/sdk/tests/utils/v2/init-utils-v2.ts b/legacy/tests/utils/v2/init-utils-v2.ts similarity index 100% rename from sdk/tests/utils/v2/init-utils-v2.ts rename to legacy/tests/utils/v2/init-utils-v2.ts diff --git a/sdk/tests/utils/v2/swap-test-utils-v2.ts b/legacy/tests/utils/v2/swap-test-utils-v2.ts similarity index 100% rename from sdk/tests/utils/v2/swap-test-utils-v2.ts rename to legacy/tests/utils/v2/swap-test-utils-v2.ts diff --git a/sdk/tests/utils/v2/test-transfer-hook-program.ts b/legacy/tests/utils/v2/test-transfer-hook-program.ts similarity index 100% rename from sdk/tests/utils/v2/test-transfer-hook-program.ts rename to legacy/tests/utils/v2/test-transfer-hook-program.ts diff --git a/sdk/tests/utils/v2/token-2022.ts b/legacy/tests/utils/v2/token-2022.ts similarity index 100% rename from sdk/tests/utils/v2/token-2022.ts rename to legacy/tests/utils/v2/token-2022.ts diff --git a/sdk/tests/utils/v2/transfer-fee.ts b/legacy/tests/utils/v2/transfer-fee.ts similarity index 100% rename from sdk/tests/utils/v2/transfer-fee.ts rename to legacy/tests/utils/v2/transfer-fee.ts diff --git a/sdk/tests/utils/whirlpools-test-utils.ts b/legacy/tests/utils/whirlpools-test-utils.ts similarity index 100% rename from sdk/tests/utils/whirlpools-test-utils.ts rename to legacy/tests/utils/whirlpools-test-utils.ts diff --git a/legacy/tsconfig.json b/legacy/tsconfig.json new file mode 100644 index 000000000..1ae6b72ff --- /dev/null +++ b/legacy/tsconfig.json @@ -0,0 +1,11 @@ +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "outDir": "./dist", + }, + "include": ["./src/**/*.ts", "./src/artifacts/whirlpool.json"], + "typedocOptions": { + "entryPoints": ["index.ts"], + "out": "../../docs" + } +} diff --git a/migrations/deploy.js b/migrations/deploy.js deleted file mode 100644 index 325cf3d0e..000000000 --- a/migrations/deploy.js +++ /dev/null @@ -1,12 +0,0 @@ -// Migrations are an early feature. Currently, they're nothing more than this -// single deploy script that's invoked from the CLI, injecting a provider -// configured from the workspace's Anchor.toml. - -const anchor = require("@project-serum/anchor"); - -module.exports = async function (provider) { - // Configure client to use the provider. - anchor.setProvider(provider); - - // Add your deploy script here. -} diff --git a/nx.json b/nx.json new file mode 100644 index 000000000..cfb6414be --- /dev/null +++ b/nx.json @@ -0,0 +1,27 @@ +{ + "extends": "nx/presets/npm.json", + "tasksRunnerOptions": { + "default": { + "runner": "nx/tasks-runners/default", + "options": { + "cacheableOperations": [ + "build" + ] + } + } + }, + "targetDefaults": { + "build": { + "dependsOn": [ + "^build" + ] + }, + "test": { + "dependsOn": [ + "^build" + ] + } + }, + "$schema": "./node_modules/nx/schemas/nx-schema.json", + "defaultBase": "main" +} diff --git a/package.json b/package.json index 79bfc09d3..2c02e9fd6 100644 --- a/package.json +++ b/package.json @@ -1,11 +1,49 @@ { - "name": "orca-whirlpools", + "name": "@orca-so/whirlpools", "private": true, + "license": "Apache-2.0", + "packageManager": "yarn@4.3.1", + "scripts": { + "build": "nx run-many --target build --projects", + "test": "nx run-many --target test --projects", + "format": "nx run-many --target format --projects", + "clean": "nx reset && nx run-many --target clean --projects", + "prepare": "husky install" + }, + "devDependencies": { + "@types/bn.js": "~5.1.5", + "@types/mocha": "^10.0.6", + "@types/node": "^20.10.8", + "husky": "^8.0.3", + "lint-staged": "^15.2.0", + "nx": "^19.4.2", + "prettier": "^3.1.1", + "rimraf": "^5.0.5" + }, "workspaces": [ - "sdk", + "legacy", + "programs", "scripts" ], - "scripts": { - "idl": "anchor build -i $INIT_CWD/sdk/src/artifacts -t $INIT_CWD/sdk/src/artifacts" - } + "lint-staged": { + "*": "yarn format" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/orca-so/whirlpools.git" + }, + "keywords": [ + "orca_so", + "orca", + "solana", + "typescript", + "sdk", + "crypto", + "dex" + ], + "author": "team@orca.so", + "bugs": { + "url": "https://github.com/orca-so/whirlpools/issues" + }, + "homepage": "https://www.orca.so" } diff --git a/programs/package.json b/programs/package.json new file mode 100644 index 000000000..2857fe750 --- /dev/null +++ b/programs/package.json @@ -0,0 +1,12 @@ +{ + "name": "@orca-so/whirlpools-program", + "version": "0.0.0", + "private": true, + "scripts": { + "build": "anchor build", + "test": "cargo test --lib", + "format": "cargo fmt", + "idl": "anchor build -i $INIT_CWD/src/artifacts -t $INIT_CWD/src/artifacts", + "clean": "anchor clean" + } +} diff --git a/scripts/package.json b/scripts/package.json index 9ad06886c..64d12b45f 100644 --- a/scripts/package.json +++ b/scripts/package.json @@ -1,5 +1,6 @@ { - "name": "scripts", + "name": "@orca-so/whirlpools-scripts", + "private": true, "version": "1.0.0", "dependencies": { "@project-serum/anchor": "~0.25.0", @@ -8,8 +9,10 @@ "devDependencies": { "@types/mocha": "^9.0.0", "@types/mz": "^2.7.3", - "chai": "^4.3.4", - "mocha": "^9.0.3", - "mz": "^2.7.0" + "mz": "^2.7.0", + "ts-node": "^10.9.2" + }, + "scripts": { + "format": "prettier --config ../.prettierrc './**/*.ts' --write" } } diff --git a/sdk/.gitignore b/sdk/.gitignore deleted file mode 100644 index d2a0cb33b..000000000 --- a/sdk/.gitignore +++ /dev/null @@ -1 +0,0 @@ -.npmrc diff --git a/sdk/.prettierignore b/sdk/.prettierignore deleted file mode 100644 index 046f21269..000000000 --- a/sdk/.prettierignore +++ /dev/null @@ -1,2 +0,0 @@ -# Ignore artifacts: -src/artifacts diff --git a/sdk/.prettierrc b/sdk/.prettierrc deleted file mode 100644 index de753c537..000000000 --- a/sdk/.prettierrc +++ /dev/null @@ -1,3 +0,0 @@ -{ - "printWidth": 100 -} diff --git a/sdk/jest.config.js b/sdk/jest.config.js deleted file mode 100644 index bd77c0773..000000000 --- a/sdk/jest.config.js +++ /dev/null @@ -1,20 +0,0 @@ -module.exports = { - "roots": [ - "/src", - "/tests/sdk", - "/tests/integration" - ], - "testMatch": [ - "**/__tests__/**/*.+(ts|tsx|js)", - "**/?(*.)+(spec|test).+(ts|tsx|js)" - ], - "transform": { - "^.+\\.(ts|tsx)$": "ts-jest" - }, - globals: { - "ts-jest": { - tsconfig: "./tests/tsconfig.json" - } - }, - testTimeout: 30 * 1000 -} diff --git a/sdk/package.json b/sdk/package.json deleted file mode 100644 index 599746ab7..000000000 --- a/sdk/package.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "name": "@orca-so/whirlpools-sdk", - "version": "0.13.3", - "description": "Typescript SDK to interact with Orca's Whirlpool program.", - "license": "Apache-2.0", - "main": "dist/index.js", - "types": "dist/index.d.ts", - "peerDependencies": { - "@coral-xyz/anchor": "~0.29.0", - "@orca-so/common-sdk": "0.6.0", - "@solana/spl-token": "^0.4.1", - "@solana/web3.js": "^1.90.0", - "decimal.js": "^10.4.3" - }, - "dependencies": { - "tiny-invariant": "^1.3.1" - }, - "devDependencies": { - "@coral-xyz/anchor": "^0.29.0", - "@orca-so/common-sdk": "0.6.0", - "@solana/spl-token": "^0.4.1", - "@solana/spl-token-group": "^0.0.1", - "@solana/spl-token-metadata": "^0.1.2", - "@solana/web3.js": "^1.90.0", - "@types/bn.js": "~5.1.5", - "@types/mocha": "^10.0.6", - "@types/node": "^20.10.8", - "@typescript-eslint/eslint-plugin": "^6.18.1", - "@typescript-eslint/parser": "^6.18.1", - "chai": "^5.0.0", - "decimal.js": "^10.4.3", - "eslint": "^8.56.0", - "eslint-config-prettier": "^9.1.0", - "mocha": "^10.2.0", - "prettier": "^3.1.1", - "process": "^0.11.10", - "rimraf": "^5.0.5", - "ts-mocha": "^10.0.0", - "ts-node": "^10.9.2", - "typedoc": "~0.25.7", - "typescript": "^5.3.3" - }, - "scripts": { - "build": "rimraf dist && tsc -p src", - "clean": "rimraf dist", - "watch": "tsc -w -p src", - "prepublishOnly": "yarn build", - "prettier-format": "prettier --config .prettierrc 'src/**/*.ts' --write", - "test": "anchor test", - "docs": "npx typedoc --options typedoc.json" - }, - "lint-staged": { - "*.{ts,md}": "yarn run prettier-format" - }, - "files": [ - ".yalc", - "/dist" - ], - "repository": { - "type": "git", - "url": "git+https://github.com/orca-so/whirlpools.git" - }, - "keywords": [ - "orca_so", - "orca", - "solana", - "typescript", - "sdk", - "crypto", - "dex" - ], - "author": "team@orca.so", - "bugs": { - "url": "https://github.com/orca-so/whirlpools/issues" - }, - "homepage": "https://www.orca.so" -} diff --git a/sdk/src/artifacts/whirlpool.json b/sdk/src/artifacts/whirlpool.json deleted file mode 100644 index c2b19ec54..000000000 --- a/sdk/src/artifacts/whirlpool.json +++ /dev/null @@ -1,3850 +0,0 @@ -{ - "version": "0.3.0", - "name": "whirlpool", - "instructions": [ - { - "name": "initializeConfig", - "docs": [ - "Initializes a WhirlpoolsConfig account that hosts info & authorities", - "required to govern a set of Whirlpools.", - "", - "### Parameters", - "- `fee_authority` - Authority authorized to initialize fee-tiers and set customs fees.", - "- `collect_protocol_fees_authority` - Authority authorized to collect protocol fees.", - "- `reward_emissions_super_authority` - Authority authorized to set reward authorities in pools." - ], - "accounts": [ - { - "name": "config", - "isMut": true, - "isSigner": true - }, - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "feeAuthority", - "type": "publicKey" - }, - { - "name": "collectProtocolFeesAuthority", - "type": "publicKey" - }, - { - "name": "rewardEmissionsSuperAuthority", - "type": "publicKey" - }, - { - "name": "defaultProtocolFeeRate", - "type": "u16" - } - ] - }, - { - "name": "initializePool", - "docs": [ - "Initializes a Whirlpool account.", - "Fee rate is set to the default values on the config and supplied fee_tier.", - "", - "### Parameters", - "- `bumps` - The bump value when deriving the PDA of the Whirlpool address.", - "- `tick_spacing` - The desired tick spacing for this pool.", - "- `initial_sqrt_price` - The desired initial sqrt-price for this pool", - "", - "#### Special Errors", - "`InvalidTokenMintOrder` - The order of mints have to be ordered by", - "`SqrtPriceOutOfBounds` - provided initial_sqrt_price is not between 2^-64 to 2^64", - "" - ], - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintB", - "isMut": false, - "isSigner": false - }, - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultA", - "isMut": true, - "isSigner": true - }, - { - "name": "tokenVaultB", - "isMut": true, - "isSigner": true - }, - { - "name": "feeTier", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "rent", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "bumps", - "type": { - "defined": "WhirlpoolBumps" - } - }, - { - "name": "tickSpacing", - "type": "u16" - }, - { - "name": "initialSqrtPrice", - "type": "u128" - } - ] - }, - { - "name": "initializeTickArray", - "docs": [ - "Initializes a tick_array account to represent a tick-range in a Whirlpool.", - "", - "### Parameters", - "- `start_tick_index` - The starting tick index for this tick-array.", - "Has to be a multiple of TickArray size & the tick spacing of this pool.", - "", - "#### Special Errors", - "- `InvalidStartTick` - if the provided start tick is out of bounds or is not a multiple of", - "TICK_ARRAY_SIZE * tick spacing." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": false, - "isSigner": false - }, - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "tickArray", - "isMut": true, - "isSigner": false - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "startTickIndex", - "type": "i32" - } - ] - }, - { - "name": "initializeFeeTier", - "docs": [ - "Initializes a fee_tier account usable by Whirlpools in a WhirlpoolConfig space.", - "", - "### Authority", - "- \"fee_authority\" - Set authority in the WhirlpoolConfig", - "", - "### Parameters", - "- `tick_spacing` - The tick-spacing that this fee-tier suggests the default_fee_rate for.", - "- `default_fee_rate` - The default fee rate that a pool will use if the pool uses this", - "fee tier during initialization.", - "", - "#### Special Errors", - "- `FeeRateMaxExceeded` - If the provided default_fee_rate exceeds MAX_FEE_RATE." - ], - "accounts": [ - { - "name": "config", - "isMut": false, - "isSigner": false - }, - { - "name": "feeTier", - "isMut": true, - "isSigner": false - }, - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "feeAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "tickSpacing", - "type": "u16" - }, - { - "name": "defaultFeeRate", - "type": "u16" - } - ] - }, - { - "name": "initializeReward", - "docs": [ - "Initialize reward for a Whirlpool. A pool can only support up to a set number of rewards.", - "", - "### Authority", - "- \"reward_authority\" - assigned authority by the reward_super_authority for the specified", - "reward-index in this Whirlpool", - "", - "### Parameters", - "- `reward_index` - The reward index that we'd like to initialize. (0 <= index <= NUM_REWARDS)", - "", - "#### Special Errors", - "- `InvalidRewardIndex` - If the provided reward index doesn't match the lowest uninitialized", - "index in this pool, or exceeds NUM_REWARDS, or", - "all reward slots for this pool has been initialized." - ], - "accounts": [ - { - "name": "rewardAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "rewardMint", - "isMut": false, - "isSigner": false - }, - { - "name": "rewardVault", - "isMut": true, - "isSigner": true - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "rent", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "rewardIndex", - "type": "u8" - } - ] - }, - { - "name": "setRewardEmissions", - "docs": [ - "Set the reward emissions for a reward in a Whirlpool.", - "", - "### Authority", - "- \"reward_authority\" - assigned authority by the reward_super_authority for the specified", - "reward-index in this Whirlpool", - "", - "### Parameters", - "- `reward_index` - The reward index (0 <= index <= NUM_REWARDS) that we'd like to modify.", - "- `emissions_per_second_x64` - The amount of rewards emitted in this pool.", - "", - "#### Special Errors", - "- `RewardVaultAmountInsufficient` - The amount of rewards in the reward vault cannot emit", - "more than a day of desired emissions.", - "- `InvalidTimestamp` - Provided timestamp is not in order with the previous timestamp.", - "- `InvalidRewardIndex` - If the provided reward index doesn't match the lowest uninitialized", - "index in this pool, or exceeds NUM_REWARDS, or", - "all reward slots for this pool has been initialized." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "rewardAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "rewardVault", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "rewardIndex", - "type": "u8" - }, - { - "name": "emissionsPerSecondX64", - "type": "u128" - } - ] - }, - { - "name": "openPosition", - "docs": [ - "Open a position in a Whirlpool. A unique token will be minted to represent the position", - "in the users wallet. The position will start off with 0 liquidity.", - "", - "### Parameters", - "- `tick_lower_index` - The tick specifying the lower end of the position range.", - "- `tick_upper_index` - The tick specifying the upper end of the position range.", - "", - "#### Special Errors", - "- `InvalidTickIndex` - If a provided tick is out of bounds, out of order or not a multiple of", - "the tick-spacing in this pool." - ], - "accounts": [ - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "owner", - "isMut": false, - "isSigner": false - }, - { - "name": "position", - "isMut": true, - "isSigner": false - }, - { - "name": "positionMint", - "isMut": true, - "isSigner": true - }, - { - "name": "positionTokenAccount", - "isMut": true, - "isSigner": false - }, - { - "name": "whirlpool", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "rent", - "isMut": false, - "isSigner": false - }, - { - "name": "associatedTokenProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "bumps", - "type": { - "defined": "OpenPositionBumps" - } - }, - { - "name": "tickLowerIndex", - "type": "i32" - }, - { - "name": "tickUpperIndex", - "type": "i32" - } - ] - }, - { - "name": "openPositionWithMetadata", - "docs": [ - "Open a position in a Whirlpool. A unique token will be minted to represent the position", - "in the users wallet. Additional Metaplex metadata is appended to identify the token.", - "The position will start off with 0 liquidity.", - "", - "### Parameters", - "- `tick_lower_index` - The tick specifying the lower end of the position range.", - "- `tick_upper_index` - The tick specifying the upper end of the position range.", - "", - "#### Special Errors", - "- `InvalidTickIndex` - If a provided tick is out of bounds, out of order or not a multiple of", - "the tick-spacing in this pool." - ], - "accounts": [ - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "owner", - "isMut": false, - "isSigner": false - }, - { - "name": "position", - "isMut": true, - "isSigner": false - }, - { - "name": "positionMint", - "isMut": true, - "isSigner": true - }, - { - "name": "positionMetadataAccount", - "isMut": true, - "isSigner": false, - "docs": [ - "https://github.com/metaplex-foundation/metaplex-program-library/blob/master/token-metadata/program/src/utils.rs#L873" - ] - }, - { - "name": "positionTokenAccount", - "isMut": true, - "isSigner": false - }, - { - "name": "whirlpool", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "rent", - "isMut": false, - "isSigner": false - }, - { - "name": "associatedTokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "metadataProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "metadataUpdateAuth", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "bumps", - "type": { - "defined": "OpenPositionWithMetadataBumps" - } - }, - { - "name": "tickLowerIndex", - "type": "i32" - }, - { - "name": "tickUpperIndex", - "type": "i32" - } - ] - }, - { - "name": "increaseLiquidity", - "docs": [ - "Add liquidity to a position in the Whirlpool. This call also updates the position's accrued fees and rewards.", - "", - "### Authority", - "- `position_authority` - authority that owns the token corresponding to this desired position.", - "", - "### Parameters", - "- `liquidity_amount` - The total amount of Liquidity the user is willing to deposit.", - "- `token_max_a` - The maximum amount of tokenA the user is willing to deposit.", - "- `token_max_b` - The maximum amount of tokenB the user is willing to deposit.", - "", - "#### Special Errors", - "- `LiquidityZero` - Provided liquidity amount is zero.", - "- `LiquidityTooHigh` - Provided liquidity exceeds u128::max.", - "- `TokenMaxExceeded` - The required token to perform this operation exceeds the user defined amount." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "positionAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "position", - "isMut": true, - "isSigner": false - }, - { - "name": "positionTokenAccount", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenOwnerAccountA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultB", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayLower", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayUpper", - "isMut": true, - "isSigner": false - } - ], - "args": [ - { - "name": "liquidityAmount", - "type": "u128" - }, - { - "name": "tokenMaxA", - "type": "u64" - }, - { - "name": "tokenMaxB", - "type": "u64" - } - ] - }, - { - "name": "decreaseLiquidity", - "docs": [ - "Withdraw liquidity from a position in the Whirlpool. This call also updates the position's accrued fees and rewards.", - "", - "### Authority", - "- `position_authority` - authority that owns the token corresponding to this desired position.", - "", - "### Parameters", - "- `liquidity_amount` - The total amount of Liquidity the user desires to withdraw.", - "- `token_min_a` - The minimum amount of tokenA the user is willing to withdraw.", - "- `token_min_b` - The minimum amount of tokenB the user is willing to withdraw.", - "", - "#### Special Errors", - "- `LiquidityZero` - Provided liquidity amount is zero.", - "- `LiquidityTooHigh` - Provided liquidity exceeds u128::max.", - "- `TokenMinSubceeded` - The required token to perform this operation subceeds the user defined amount." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "positionAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "position", - "isMut": true, - "isSigner": false - }, - { - "name": "positionTokenAccount", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenOwnerAccountA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultB", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayLower", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayUpper", - "isMut": true, - "isSigner": false - } - ], - "args": [ - { - "name": "liquidityAmount", - "type": "u128" - }, - { - "name": "tokenMinA", - "type": "u64" - }, - { - "name": "tokenMinB", - "type": "u64" - } - ] - }, - { - "name": "updateFeesAndRewards", - "docs": [ - "Update the accrued fees and rewards for a position.", - "", - "#### Special Errors", - "- `TickNotFound` - Provided tick array account does not contain the tick for this position.", - "- `LiquidityZero` - Position has zero liquidity and therefore already has the most updated fees and reward values." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "position", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayLower", - "isMut": false, - "isSigner": false - }, - { - "name": "tickArrayUpper", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "collectFees", - "docs": [ - "Collect fees accrued for this position.", - "", - "### Authority", - "- `position_authority` - authority that owns the token corresponding to this desired position." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": false, - "isSigner": false - }, - { - "name": "positionAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "position", - "isMut": true, - "isSigner": false - }, - { - "name": "positionTokenAccount", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenOwnerAccountA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "collectReward", - "docs": [ - "Collect rewards accrued for this position.", - "", - "### Authority", - "- `position_authority` - authority that owns the token corresponding to this desired position." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": false, - "isSigner": false - }, - { - "name": "positionAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "position", - "isMut": true, - "isSigner": false - }, - { - "name": "positionTokenAccount", - "isMut": false, - "isSigner": false - }, - { - "name": "rewardOwnerAccount", - "isMut": true, - "isSigner": false - }, - { - "name": "rewardVault", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "rewardIndex", - "type": "u8" - } - ] - }, - { - "name": "collectProtocolFees", - "docs": [ - "Collect the protocol fees accrued in this Whirlpool", - "", - "### Authority", - "- `collect_protocol_fees_authority` - assigned authority in the WhirlpoolConfig that can collect protocol fees" - ], - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": false, - "isSigner": false - }, - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "collectProtocolFeesAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "tokenVaultA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenDestinationA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenDestinationB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "swap", - "docs": [ - "Perform a swap in this Whirlpool", - "", - "### Authority", - "- \"token_authority\" - The authority to withdraw tokens from the input token account.", - "", - "### Parameters", - "- `amount` - The amount of input or output token to swap from (depending on amount_specified_is_input).", - "- `other_amount_threshold` - The maximum/minimum of input/output token to swap into (depending on amount_specified_is_input).", - "- `sqrt_price_limit` - The maximum/minimum price the swap will swap to.", - "- `amount_specified_is_input` - Specifies the token the parameter `amount`represents. If true, the amount represents the input token of the swap.", - "- `a_to_b` - The direction of the swap. True if swapping from A to B. False if swapping from B to A.", - "", - "#### Special Errors", - "- `ZeroTradableAmount` - User provided parameter `amount` is 0.", - "- `InvalidSqrtPriceLimitDirection` - User provided parameter `sqrt_price_limit` does not match the direction of the trade.", - "- `SqrtPriceOutOfBounds` - User provided parameter `sqrt_price_limit` is over Whirlppool's max/min bounds for sqrt-price.", - "- `InvalidTickArraySequence` - User provided tick-arrays are not in sequential order required to proceed in this trade direction.", - "- `TickArraySequenceInvalidIndex` - The swap loop attempted to access an invalid array index during the query of the next initialized tick.", - "- `TickArrayIndexOutofBounds` - The swap loop attempted to access an invalid array index during tick crossing.", - "- `LiquidityOverflow` - Liquidity value overflowed 128bits during tick crossing.", - "- `InvalidTickSpacing` - The swap pool was initialized with tick-spacing of 0." - ], - "accounts": [ - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultB", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArray0", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArray1", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArray2", - "isMut": true, - "isSigner": false - }, - { - "name": "oracle", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "amount", - "type": "u64" - }, - { - "name": "otherAmountThreshold", - "type": "u64" - }, - { - "name": "sqrtPriceLimit", - "type": "u128" - }, - { - "name": "amountSpecifiedIsInput", - "type": "bool" - }, - { - "name": "aToB", - "type": "bool" - } - ] - }, - { - "name": "closePosition", - "docs": [ - "Close a position in a Whirlpool. Burns the position token in the owner's wallet.", - "", - "### Authority", - "- \"position_authority\" - The authority that owns the position token.", - "", - "#### Special Errors", - "- `ClosePositionNotEmpty` - The provided position account is not empty." - ], - "accounts": [ - { - "name": "positionAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "receiver", - "isMut": true, - "isSigner": false - }, - { - "name": "position", - "isMut": true, - "isSigner": false - }, - { - "name": "positionMint", - "isMut": true, - "isSigner": false - }, - { - "name": "positionTokenAccount", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "setDefaultFeeRate", - "docs": [ - "Set the default_fee_rate for a FeeTier", - "Only the current fee authority has permission to invoke this instruction.", - "", - "### Authority", - "- \"fee_authority\" - Set authority in the WhirlpoolConfig", - "", - "### Parameters", - "- `default_fee_rate` - The default fee rate that a pool will use if the pool uses this", - "fee tier during initialization.", - "", - "#### Special Errors", - "- `FeeRateMaxExceeded` - If the provided default_fee_rate exceeds MAX_FEE_RATE." - ], - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": false, - "isSigner": false - }, - { - "name": "feeTier", - "isMut": true, - "isSigner": false - }, - { - "name": "feeAuthority", - "isMut": false, - "isSigner": true - } - ], - "args": [ - { - "name": "defaultFeeRate", - "type": "u16" - } - ] - }, - { - "name": "setDefaultProtocolFeeRate", - "docs": [ - "Sets the default protocol fee rate for a WhirlpoolConfig", - "Protocol fee rate is represented as a basis point.", - "Only the current fee authority has permission to invoke this instruction.", - "", - "### Authority", - "- \"fee_authority\" - Set authority that can modify pool fees in the WhirlpoolConfig", - "", - "### Parameters", - "- `default_protocol_fee_rate` - Rate that is referenced during the initialization of a Whirlpool using this config.", - "", - "#### Special Errors", - "- `ProtocolFeeRateMaxExceeded` - If the provided default_protocol_fee_rate exceeds MAX_PROTOCOL_FEE_RATE." - ], - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": true, - "isSigner": false - }, - { - "name": "feeAuthority", - "isMut": false, - "isSigner": true - } - ], - "args": [ - { - "name": "defaultProtocolFeeRate", - "type": "u16" - } - ] - }, - { - "name": "setFeeRate", - "docs": [ - "Sets the fee rate for a Whirlpool.", - "Fee rate is represented as hundredths of a basis point.", - "Only the current fee authority has permission to invoke this instruction.", - "", - "### Authority", - "- \"fee_authority\" - Set authority that can modify pool fees in the WhirlpoolConfig", - "", - "### Parameters", - "- `fee_rate` - The rate that the pool will use to calculate fees going onwards.", - "", - "#### Special Errors", - "- `FeeRateMaxExceeded` - If the provided fee_rate exceeds MAX_FEE_RATE." - ], - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": false, - "isSigner": false - }, - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "feeAuthority", - "isMut": false, - "isSigner": true - } - ], - "args": [ - { - "name": "feeRate", - "type": "u16" - } - ] - }, - { - "name": "setProtocolFeeRate", - "docs": [ - "Sets the protocol fee rate for a Whirlpool.", - "Protocol fee rate is represented as a basis point.", - "Only the current fee authority has permission to invoke this instruction.", - "", - "### Authority", - "- \"fee_authority\" - Set authority that can modify pool fees in the WhirlpoolConfig", - "", - "### Parameters", - "- `protocol_fee_rate` - The rate that the pool will use to calculate protocol fees going onwards.", - "", - "#### Special Errors", - "- `ProtocolFeeRateMaxExceeded` - If the provided default_protocol_fee_rate exceeds MAX_PROTOCOL_FEE_RATE." - ], - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": false, - "isSigner": false - }, - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "feeAuthority", - "isMut": false, - "isSigner": true - } - ], - "args": [ - { - "name": "protocolFeeRate", - "type": "u16" - } - ] - }, - { - "name": "setFeeAuthority", - "docs": [ - "Sets the fee authority for a WhirlpoolConfig.", - "The fee authority can set the fee & protocol fee rate for individual pools or", - "set the default fee rate for newly minted pools.", - "Only the current fee authority has permission to invoke this instruction.", - "", - "### Authority", - "- \"fee_authority\" - Set authority that can modify pool fees in the WhirlpoolConfig" - ], - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": true, - "isSigner": false - }, - { - "name": "feeAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "newFeeAuthority", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "setCollectProtocolFeesAuthority", - "docs": [ - "Sets the fee authority to collect protocol fees for a WhirlpoolConfig.", - "Only the current collect protocol fee authority has permission to invoke this instruction.", - "", - "### Authority", - "- \"fee_authority\" - Set authority that can collect protocol fees in the WhirlpoolConfig" - ], - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": true, - "isSigner": false - }, - { - "name": "collectProtocolFeesAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "newCollectProtocolFeesAuthority", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "setRewardAuthority", - "docs": [ - "Set the whirlpool reward authority at the provided `reward_index`.", - "Only the current reward authority for this reward index has permission to invoke this instruction.", - "", - "### Authority", - "- \"reward_authority\" - Set authority that can control reward emission for this particular reward.", - "", - "#### Special Errors", - "- `InvalidRewardIndex` - If the provided reward index doesn't match the lowest uninitialized", - "index in this pool, or exceeds NUM_REWARDS, or", - "all reward slots for this pool has been initialized." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "rewardAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "newRewardAuthority", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "rewardIndex", - "type": "u8" - } - ] - }, - { - "name": "setRewardAuthorityBySuperAuthority", - "docs": [ - "Set the whirlpool reward authority at the provided `reward_index`.", - "Only the current reward super authority has permission to invoke this instruction.", - "", - "### Authority", - "- \"reward_authority\" - Set authority that can control reward emission for this particular reward.", - "", - "#### Special Errors", - "- `InvalidRewardIndex` - If the provided reward index doesn't match the lowest uninitialized", - "index in this pool, or exceeds NUM_REWARDS, or", - "all reward slots for this pool has been initialized." - ], - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": false, - "isSigner": false - }, - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "rewardEmissionsSuperAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "newRewardAuthority", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "rewardIndex", - "type": "u8" - } - ] - }, - { - "name": "setRewardEmissionsSuperAuthority", - "docs": [ - "Set the whirlpool reward super authority for a WhirlpoolConfig", - "Only the current reward super authority has permission to invoke this instruction.", - "This instruction will not change the authority on any `WhirlpoolRewardInfo` whirlpool rewards.", - "", - "### Authority", - "- \"reward_emissions_super_authority\" - Set authority that can control reward authorities for all pools in this config space." - ], - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": true, - "isSigner": false - }, - { - "name": "rewardEmissionsSuperAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "newRewardEmissionsSuperAuthority", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "twoHopSwap", - "docs": [ - "Perform a two-hop swap in this Whirlpool", - "", - "### Authority", - "- \"token_authority\" - The authority to withdraw tokens from the input token account.", - "", - "### Parameters", - "- `amount` - The amount of input or output token to swap from (depending on amount_specified_is_input).", - "- `other_amount_threshold` - The maximum/minimum of input/output token to swap into (depending on amount_specified_is_input).", - "- `amount_specified_is_input` - Specifies the token the parameter `amount`represents. If true, the amount represents the input token of the swap.", - "- `a_to_b_one` - The direction of the swap of hop one. True if swapping from A to B. False if swapping from B to A.", - "- `a_to_b_two` - The direction of the swap of hop two. True if swapping from A to B. False if swapping from B to A.", - "- `sqrt_price_limit_one` - The maximum/minimum price the swap will swap to in the first hop.", - "- `sqrt_price_limit_two` - The maximum/minimum price the swap will swap to in the second hop.", - "", - "#### Special Errors", - "- `ZeroTradableAmount` - User provided parameter `amount` is 0.", - "- `InvalidSqrtPriceLimitDirection` - User provided parameter `sqrt_price_limit` does not match the direction of the trade.", - "- `SqrtPriceOutOfBounds` - User provided parameter `sqrt_price_limit` is over Whirlppool's max/min bounds for sqrt-price.", - "- `InvalidTickArraySequence` - User provided tick-arrays are not in sequential order required to proceed in this trade direction.", - "- `TickArraySequenceInvalidIndex` - The swap loop attempted to access an invalid array index during the query of the next initialized tick.", - "- `TickArrayIndexOutofBounds` - The swap loop attempted to access an invalid array index during tick crossing.", - "- `LiquidityOverflow` - Liquidity value overflowed 128bits during tick crossing.", - "- `InvalidTickSpacing` - The swap pool was initialized with tick-spacing of 0.", - "- `InvalidIntermediaryMint` - Error if the intermediary mint between hop one and two do not equal.", - "- `DuplicateTwoHopPool` - Error if whirlpool one & two are the same pool." - ], - "accounts": [ - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "whirlpoolOne", - "isMut": true, - "isSigner": false - }, - { - "name": "whirlpoolTwo", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountOneA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultOneA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountOneB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultOneB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountTwoA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultTwoA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountTwoB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultTwoB", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayOne0", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayOne1", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayOne2", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayTwo0", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayTwo1", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayTwo2", - "isMut": true, - "isSigner": false - }, - { - "name": "oracleOne", - "isMut": false, - "isSigner": false - }, - { - "name": "oracleTwo", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "amount", - "type": "u64" - }, - { - "name": "otherAmountThreshold", - "type": "u64" - }, - { - "name": "amountSpecifiedIsInput", - "type": "bool" - }, - { - "name": "aToBOne", - "type": "bool" - }, - { - "name": "aToBTwo", - "type": "bool" - }, - { - "name": "sqrtPriceLimitOne", - "type": "u128" - }, - { - "name": "sqrtPriceLimitTwo", - "type": "u128" - } - ] - }, - { - "name": "initializePositionBundle", - "docs": [ - "Initializes a PositionBundle account that bundles several positions.", - "A unique token will be minted to represent the position bundle in the users wallet." - ], - "accounts": [ - { - "name": "positionBundle", - "isMut": true, - "isSigner": false - }, - { - "name": "positionBundleMint", - "isMut": true, - "isSigner": true - }, - { - "name": "positionBundleTokenAccount", - "isMut": true, - "isSigner": false - }, - { - "name": "positionBundleOwner", - "isMut": false, - "isSigner": false - }, - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "rent", - "isMut": false, - "isSigner": false - }, - { - "name": "associatedTokenProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "initializePositionBundleWithMetadata", - "docs": [ - "Initializes a PositionBundle account that bundles several positions.", - "A unique token will be minted to represent the position bundle in the users wallet.", - "Additional Metaplex metadata is appended to identify the token." - ], - "accounts": [ - { - "name": "positionBundle", - "isMut": true, - "isSigner": false - }, - { - "name": "positionBundleMint", - "isMut": true, - "isSigner": true - }, - { - "name": "positionBundleMetadata", - "isMut": true, - "isSigner": false, - "docs": [ - "https://github.com/metaplex-foundation/metaplex-program-library/blob/773a574c4b34e5b9f248a81306ec24db064e255f/token-metadata/program/src/utils/metadata.rs#L100" - ] - }, - { - "name": "positionBundleTokenAccount", - "isMut": true, - "isSigner": false - }, - { - "name": "positionBundleOwner", - "isMut": false, - "isSigner": false - }, - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "metadataUpdateAuth", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "rent", - "isMut": false, - "isSigner": false - }, - { - "name": "associatedTokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "metadataProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "deletePositionBundle", - "docs": [ - "Delete a PositionBundle account. Burns the position bundle token in the owner's wallet.", - "", - "### Authority", - "- `position_bundle_owner` - The owner that owns the position bundle token.", - "", - "### Special Errors", - "- `PositionBundleNotDeletable` - The provided position bundle has open positions." - ], - "accounts": [ - { - "name": "positionBundle", - "isMut": true, - "isSigner": false - }, - { - "name": "positionBundleMint", - "isMut": true, - "isSigner": false - }, - { - "name": "positionBundleTokenAccount", - "isMut": true, - "isSigner": false - }, - { - "name": "positionBundleOwner", - "isMut": false, - "isSigner": true - }, - { - "name": "receiver", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "openBundledPosition", - "docs": [ - "Open a bundled position in a Whirlpool. No new tokens are issued", - "because the owner of the position bundle becomes the owner of the position.", - "The position will start off with 0 liquidity.", - "", - "### Authority", - "- `position_bundle_authority` - authority that owns the token corresponding to this desired position bundle.", - "", - "### Parameters", - "- `bundle_index` - The bundle index that we'd like to open.", - "- `tick_lower_index` - The tick specifying the lower end of the position range.", - "- `tick_upper_index` - The tick specifying the upper end of the position range.", - "", - "#### Special Errors", - "- `InvalidBundleIndex` - If the provided bundle index is out of bounds.", - "- `InvalidTickIndex` - If a provided tick is out of bounds, out of order or not a multiple of", - "the tick-spacing in this pool." - ], - "accounts": [ - { - "name": "bundledPosition", - "isMut": true, - "isSigner": false - }, - { - "name": "positionBundle", - "isMut": true, - "isSigner": false - }, - { - "name": "positionBundleTokenAccount", - "isMut": false, - "isSigner": false - }, - { - "name": "positionBundleAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "whirlpool", - "isMut": false, - "isSigner": false - }, - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "rent", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "bundleIndex", - "type": "u16" - }, - { - "name": "tickLowerIndex", - "type": "i32" - }, - { - "name": "tickUpperIndex", - "type": "i32" - } - ] - }, - { - "name": "closeBundledPosition", - "docs": [ - "Close a bundled position in a Whirlpool.", - "", - "### Authority", - "- `position_bundle_authority` - authority that owns the token corresponding to this desired position bundle.", - "", - "### Parameters", - "- `bundle_index` - The bundle index that we'd like to close.", - "", - "#### Special Errors", - "- `InvalidBundleIndex` - If the provided bundle index is out of bounds.", - "- `ClosePositionNotEmpty` - The provided position account is not empty." - ], - "accounts": [ - { - "name": "bundledPosition", - "isMut": true, - "isSigner": false - }, - { - "name": "positionBundle", - "isMut": true, - "isSigner": false - }, - { - "name": "positionBundleTokenAccount", - "isMut": false, - "isSigner": false - }, - { - "name": "positionBundleAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "receiver", - "isMut": true, - "isSigner": false - } - ], - "args": [ - { - "name": "bundleIndex", - "type": "u16" - } - ] - }, - { - "name": "collectFeesV2", - "docs": [ - "Collect fees accrued for this position.", - "", - "### Authority", - "- `position_authority` - authority that owns the token corresponding to this desired position." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": false, - "isSigner": false - }, - { - "name": "positionAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "position", - "isMut": true, - "isSigner": false - }, - { - "name": "positionTokenAccount", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintB", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenOwnerAccountA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenProgramA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgramB", - "isMut": false, - "isSigner": false - }, - { - "name": "memoProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "remainingAccountsInfo", - "type": { - "option": { - "defined": "RemainingAccountsInfo" - } - } - } - ] - }, - { - "name": "collectProtocolFeesV2", - "docs": [ - "Collect the protocol fees accrued in this Whirlpool", - "", - "### Authority", - "- `collect_protocol_fees_authority` - assigned authority in the WhirlpoolConfig that can collect protocol fees" - ], - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": false, - "isSigner": false - }, - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "collectProtocolFeesAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "tokenMintA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintB", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenVaultA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenDestinationA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenDestinationB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenProgramA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgramB", - "isMut": false, - "isSigner": false - }, - { - "name": "memoProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "remainingAccountsInfo", - "type": { - "option": { - "defined": "RemainingAccountsInfo" - } - } - } - ] - }, - { - "name": "collectRewardV2", - "docs": [ - "Collect rewards accrued for this position.", - "", - "### Authority", - "- `position_authority` - authority that owns the token corresponding to this desired position." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": false, - "isSigner": false - }, - { - "name": "positionAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "position", - "isMut": true, - "isSigner": false - }, - { - "name": "positionTokenAccount", - "isMut": false, - "isSigner": false - }, - { - "name": "rewardOwnerAccount", - "isMut": true, - "isSigner": false - }, - { - "name": "rewardMint", - "isMut": false, - "isSigner": false - }, - { - "name": "rewardVault", - "isMut": true, - "isSigner": false - }, - { - "name": "rewardTokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "memoProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "rewardIndex", - "type": "u8" - }, - { - "name": "remainingAccountsInfo", - "type": { - "option": { - "defined": "RemainingAccountsInfo" - } - } - } - ] - }, - { - "name": "decreaseLiquidityV2", - "docs": [ - "Withdraw liquidity from a position in the Whirlpool. This call also updates the position's accrued fees and rewards.", - "", - "### Authority", - "- `position_authority` - authority that owns the token corresponding to this desired position.", - "", - "### Parameters", - "- `liquidity_amount` - The total amount of Liquidity the user desires to withdraw.", - "- `token_min_a` - The minimum amount of tokenA the user is willing to withdraw.", - "- `token_min_b` - The minimum amount of tokenB the user is willing to withdraw.", - "", - "#### Special Errors", - "- `LiquidityZero` - Provided liquidity amount is zero.", - "- `LiquidityTooHigh` - Provided liquidity exceeds u128::max.", - "- `TokenMinSubceeded` - The required token to perform this operation subceeds the user defined amount." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenProgramA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgramB", - "isMut": false, - "isSigner": false - }, - { - "name": "memoProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "positionAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "position", - "isMut": true, - "isSigner": false - }, - { - "name": "positionTokenAccount", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintB", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenOwnerAccountA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultB", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayLower", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayUpper", - "isMut": true, - "isSigner": false - } - ], - "args": [ - { - "name": "liquidityAmount", - "type": "u128" - }, - { - "name": "tokenMinA", - "type": "u64" - }, - { - "name": "tokenMinB", - "type": "u64" - }, - { - "name": "remainingAccountsInfo", - "type": { - "option": { - "defined": "RemainingAccountsInfo" - } - } - } - ] - }, - { - "name": "increaseLiquidityV2", - "docs": [ - "Add liquidity to a position in the Whirlpool. This call also updates the position's accrued fees and rewards.", - "", - "### Authority", - "- `position_authority` - authority that owns the token corresponding to this desired position.", - "", - "### Parameters", - "- `liquidity_amount` - The total amount of Liquidity the user is willing to deposit.", - "- `token_max_a` - The maximum amount of tokenA the user is willing to deposit.", - "- `token_max_b` - The maximum amount of tokenB the user is willing to deposit.", - "", - "#### Special Errors", - "- `LiquidityZero` - Provided liquidity amount is zero.", - "- `LiquidityTooHigh` - Provided liquidity exceeds u128::max.", - "- `TokenMaxExceeded` - The required token to perform this operation exceeds the user defined amount." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenProgramA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgramB", - "isMut": false, - "isSigner": false - }, - { - "name": "memoProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "positionAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "position", - "isMut": true, - "isSigner": false - }, - { - "name": "positionTokenAccount", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintB", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenOwnerAccountA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultB", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayLower", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayUpper", - "isMut": true, - "isSigner": false - } - ], - "args": [ - { - "name": "liquidityAmount", - "type": "u128" - }, - { - "name": "tokenMaxA", - "type": "u64" - }, - { - "name": "tokenMaxB", - "type": "u64" - }, - { - "name": "remainingAccountsInfo", - "type": { - "option": { - "defined": "RemainingAccountsInfo" - } - } - } - ] - }, - { - "name": "initializePoolV2", - "docs": [ - "Initializes a Whirlpool account.", - "Fee rate is set to the default values on the config and supplied fee_tier.", - "", - "### Parameters", - "- `bumps` - The bump value when deriving the PDA of the Whirlpool address.", - "- `tick_spacing` - The desired tick spacing for this pool.", - "- `initial_sqrt_price` - The desired initial sqrt-price for this pool", - "", - "#### Special Errors", - "`InvalidTokenMintOrder` - The order of mints have to be ordered by", - "`SqrtPriceOutOfBounds` - provided initial_sqrt_price is not between 2^-64 to 2^64", - "" - ], - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintB", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenBadgeA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenBadgeB", - "isMut": false, - "isSigner": false - }, - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultA", - "isMut": true, - "isSigner": true - }, - { - "name": "tokenVaultB", - "isMut": true, - "isSigner": true - }, - { - "name": "feeTier", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgramA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgramB", - "isMut": false, - "isSigner": false - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "rent", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "tickSpacing", - "type": "u16" - }, - { - "name": "initialSqrtPrice", - "type": "u128" - } - ] - }, - { - "name": "initializeRewardV2", - "docs": [ - "Initialize reward for a Whirlpool. A pool can only support up to a set number of rewards.", - "", - "### Authority", - "- \"reward_authority\" - assigned authority by the reward_super_authority for the specified", - "reward-index in this Whirlpool", - "", - "### Parameters", - "- `reward_index` - The reward index that we'd like to initialize. (0 <= index <= NUM_REWARDS)", - "", - "#### Special Errors", - "- `InvalidRewardIndex` - If the provided reward index doesn't match the lowest uninitialized", - "index in this pool, or exceeds NUM_REWARDS, or", - "all reward slots for this pool has been initialized." - ], - "accounts": [ - { - "name": "rewardAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "rewardMint", - "isMut": false, - "isSigner": false - }, - { - "name": "rewardTokenBadge", - "isMut": false, - "isSigner": false - }, - { - "name": "rewardVault", - "isMut": true, - "isSigner": true - }, - { - "name": "rewardTokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "rent", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "rewardIndex", - "type": "u8" - } - ] - }, - { - "name": "setRewardEmissionsV2", - "docs": [ - "Set the reward emissions for a reward in a Whirlpool.", - "", - "### Authority", - "- \"reward_authority\" - assigned authority by the reward_super_authority for the specified", - "reward-index in this Whirlpool", - "", - "### Parameters", - "- `reward_index` - The reward index (0 <= index <= NUM_REWARDS) that we'd like to modify.", - "- `emissions_per_second_x64` - The amount of rewards emitted in this pool.", - "", - "#### Special Errors", - "- `RewardVaultAmountInsufficient` - The amount of rewards in the reward vault cannot emit", - "more than a day of desired emissions.", - "- `InvalidTimestamp` - Provided timestamp is not in order with the previous timestamp.", - "- `InvalidRewardIndex` - If the provided reward index doesn't match the lowest uninitialized", - "index in this pool, or exceeds NUM_REWARDS, or", - "all reward slots for this pool has been initialized." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "rewardAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "rewardVault", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "rewardIndex", - "type": "u8" - }, - { - "name": "emissionsPerSecondX64", - "type": "u128" - } - ] - }, - { - "name": "swapV2", - "docs": [ - "Perform a swap in this Whirlpool", - "", - "### Authority", - "- \"token_authority\" - The authority to withdraw tokens from the input token account.", - "", - "### Parameters", - "- `amount` - The amount of input or output token to swap from (depending on amount_specified_is_input).", - "- `other_amount_threshold` - The maximum/minimum of input/output token to swap into (depending on amount_specified_is_input).", - "- `sqrt_price_limit` - The maximum/minimum price the swap will swap to.", - "- `amount_specified_is_input` - Specifies the token the parameter `amount`represents. If true, the amount represents the input token of the swap.", - "- `a_to_b` - The direction of the swap. True if swapping from A to B. False if swapping from B to A.", - "", - "#### Special Errors", - "- `ZeroTradableAmount` - User provided parameter `amount` is 0.", - "- `InvalidSqrtPriceLimitDirection` - User provided parameter `sqrt_price_limit` does not match the direction of the trade.", - "- `SqrtPriceOutOfBounds` - User provided parameter `sqrt_price_limit` is over Whirlppool's max/min bounds for sqrt-price.", - "- `InvalidTickArraySequence` - User provided tick-arrays are not in sequential order required to proceed in this trade direction.", - "- `TickArraySequenceInvalidIndex` - The swap loop attempted to access an invalid array index during the query of the next initialized tick.", - "- `TickArrayIndexOutofBounds` - The swap loop attempted to access an invalid array index during tick crossing.", - "- `LiquidityOverflow` - Liquidity value overflowed 128bits during tick crossing.", - "- `InvalidTickSpacing` - The swap pool was initialized with tick-spacing of 0." - ], - "accounts": [ - { - "name": "tokenProgramA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgramB", - "isMut": false, - "isSigner": false - }, - { - "name": "memoProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenMintA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintB", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenOwnerAccountA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultB", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArray0", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArray1", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArray2", - "isMut": true, - "isSigner": false - }, - { - "name": "oracle", - "isMut": true, - "isSigner": false - } - ], - "args": [ - { - "name": "amount", - "type": "u64" - }, - { - "name": "otherAmountThreshold", - "type": "u64" - }, - { - "name": "sqrtPriceLimit", - "type": "u128" - }, - { - "name": "amountSpecifiedIsInput", - "type": "bool" - }, - { - "name": "aToB", - "type": "bool" - }, - { - "name": "remainingAccountsInfo", - "type": { - "option": { - "defined": "RemainingAccountsInfo" - } - } - } - ] - }, - { - "name": "twoHopSwapV2", - "docs": [ - "Perform a two-hop swap in this Whirlpool", - "", - "### Authority", - "- \"token_authority\" - The authority to withdraw tokens from the input token account.", - "", - "### Parameters", - "- `amount` - The amount of input or output token to swap from (depending on amount_specified_is_input).", - "- `other_amount_threshold` - The maximum/minimum of input/output token to swap into (depending on amount_specified_is_input).", - "- `amount_specified_is_input` - Specifies the token the parameter `amount`represents. If true, the amount represents the input token of the swap.", - "- `a_to_b_one` - The direction of the swap of hop one. True if swapping from A to B. False if swapping from B to A.", - "- `a_to_b_two` - The direction of the swap of hop two. True if swapping from A to B. False if swapping from B to A.", - "- `sqrt_price_limit_one` - The maximum/minimum price the swap will swap to in the first hop.", - "- `sqrt_price_limit_two` - The maximum/minimum price the swap will swap to in the second hop.", - "", - "#### Special Errors", - "- `ZeroTradableAmount` - User provided parameter `amount` is 0.", - "- `InvalidSqrtPriceLimitDirection` - User provided parameter `sqrt_price_limit` does not match the direction of the trade.", - "- `SqrtPriceOutOfBounds` - User provided parameter `sqrt_price_limit` is over Whirlppool's max/min bounds for sqrt-price.", - "- `InvalidTickArraySequence` - User provided tick-arrays are not in sequential order required to proceed in this trade direction.", - "- `TickArraySequenceInvalidIndex` - The swap loop attempted to access an invalid array index during the query of the next initialized tick.", - "- `TickArrayIndexOutofBounds` - The swap loop attempted to access an invalid array index during tick crossing.", - "- `LiquidityOverflow` - Liquidity value overflowed 128bits during tick crossing.", - "- `InvalidTickSpacing` - The swap pool was initialized with tick-spacing of 0.", - "- `InvalidIntermediaryMint` - Error if the intermediary mint between hop one and two do not equal.", - "- `DuplicateTwoHopPool` - Error if whirlpool one & two are the same pool." - ], - "accounts": [ - { - "name": "whirlpoolOne", - "isMut": true, - "isSigner": false - }, - { - "name": "whirlpoolTwo", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenMintInput", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintIntermediate", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintOutput", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgramInput", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgramIntermediate", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgramOutput", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenOwnerAccountInput", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultOneInput", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultOneIntermediate", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultTwoIntermediate", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultTwoOutput", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountOutput", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "tickArrayOne0", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayOne1", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayOne2", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayTwo0", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayTwo1", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayTwo2", - "isMut": true, - "isSigner": false - }, - { - "name": "oracleOne", - "isMut": true, - "isSigner": false - }, - { - "name": "oracleTwo", - "isMut": true, - "isSigner": false - }, - { - "name": "memoProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "amount", - "type": "u64" - }, - { - "name": "otherAmountThreshold", - "type": "u64" - }, - { - "name": "amountSpecifiedIsInput", - "type": "bool" - }, - { - "name": "aToBOne", - "type": "bool" - }, - { - "name": "aToBTwo", - "type": "bool" - }, - { - "name": "sqrtPriceLimitOne", - "type": "u128" - }, - { - "name": "sqrtPriceLimitTwo", - "type": "u128" - }, - { - "name": "remainingAccountsInfo", - "type": { - "option": { - "defined": "RemainingAccountsInfo" - } - } - } - ] - }, - { - "name": "initializeConfigExtension", - "accounts": [ - { - "name": "config", - "isMut": false, - "isSigner": false - }, - { - "name": "configExtension", - "isMut": true, - "isSigner": false - }, - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "feeAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "setConfigExtensionAuthority", - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": false, - "isSigner": false - }, - { - "name": "whirlpoolsConfigExtension", - "isMut": true, - "isSigner": false - }, - { - "name": "configExtensionAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "newConfigExtensionAuthority", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "setTokenBadgeAuthority", - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": false, - "isSigner": false - }, - { - "name": "whirlpoolsConfigExtension", - "isMut": true, - "isSigner": false - }, - { - "name": "configExtensionAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "newTokenBadgeAuthority", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "initializeTokenBadge", - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": false, - "isSigner": false - }, - { - "name": "whirlpoolsConfigExtension", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenBadgeAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "tokenMint", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenBadge", - "isMut": true, - "isSigner": false - }, - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "deleteTokenBadge", - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": false, - "isSigner": false - }, - { - "name": "whirlpoolsConfigExtension", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenBadgeAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "tokenMint", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenBadge", - "isMut": true, - "isSigner": false - }, - { - "name": "receiver", - "isMut": true, - "isSigner": false - } - ], - "args": [] - } - ], - "accounts": [ - { - "name": "WhirlpoolsConfigExtension", - "type": { - "kind": "struct", - "fields": [ - { - "name": "whirlpoolsConfig", - "type": "publicKey" - }, - { - "name": "configExtensionAuthority", - "type": "publicKey" - }, - { - "name": "tokenBadgeAuthority", - "type": "publicKey" - } - ] - } - }, - { - "name": "WhirlpoolsConfig", - "type": { - "kind": "struct", - "fields": [ - { - "name": "feeAuthority", - "type": "publicKey" - }, - { - "name": "collectProtocolFeesAuthority", - "type": "publicKey" - }, - { - "name": "rewardEmissionsSuperAuthority", - "type": "publicKey" - }, - { - "name": "defaultProtocolFeeRate", - "type": "u16" - } - ] - } - }, - { - "name": "FeeTier", - "type": { - "kind": "struct", - "fields": [ - { - "name": "whirlpoolsConfig", - "type": "publicKey" - }, - { - "name": "tickSpacing", - "type": "u16" - }, - { - "name": "defaultFeeRate", - "type": "u16" - } - ] - } - }, - { - "name": "PositionBundle", - "type": { - "kind": "struct", - "fields": [ - { - "name": "positionBundleMint", - "type": "publicKey" - }, - { - "name": "positionBitmap", - "type": { - "array": [ - "u8", - 32 - ] - } - } - ] - } - }, - { - "name": "Position", - "type": { - "kind": "struct", - "fields": [ - { - "name": "whirlpool", - "type": "publicKey" - }, - { - "name": "positionMint", - "type": "publicKey" - }, - { - "name": "liquidity", - "type": "u128" - }, - { - "name": "tickLowerIndex", - "type": "i32" - }, - { - "name": "tickUpperIndex", - "type": "i32" - }, - { - "name": "feeGrowthCheckpointA", - "type": "u128" - }, - { - "name": "feeOwedA", - "type": "u64" - }, - { - "name": "feeGrowthCheckpointB", - "type": "u128" - }, - { - "name": "feeOwedB", - "type": "u64" - }, - { - "name": "rewardInfos", - "type": { - "array": [ - { - "defined": "PositionRewardInfo" - }, - 3 - ] - } - } - ] - } - }, - { - "name": "TickArray", - "type": { - "kind": "struct", - "fields": [ - { - "name": "startTickIndex", - "type": "i32" - }, - { - "name": "ticks", - "type": { - "array": [ - { - "defined": "Tick" - }, - 88 - ] - } - }, - { - "name": "whirlpool", - "type": "publicKey" - } - ] - } - }, - { - "name": "TokenBadge", - "type": { - "kind": "struct", - "fields": [ - { - "name": "whirlpoolsConfig", - "type": "publicKey" - }, - { - "name": "tokenMint", - "type": "publicKey" - } - ] - } - }, - { - "name": "Whirlpool", - "type": { - "kind": "struct", - "fields": [ - { - "name": "whirlpoolsConfig", - "type": "publicKey" - }, - { - "name": "whirlpoolBump", - "type": { - "array": [ - "u8", - 1 - ] - } - }, - { - "name": "tickSpacing", - "type": "u16" - }, - { - "name": "tickSpacingSeed", - "type": { - "array": [ - "u8", - 2 - ] - } - }, - { - "name": "feeRate", - "type": "u16" - }, - { - "name": "protocolFeeRate", - "type": "u16" - }, - { - "name": "liquidity", - "type": "u128" - }, - { - "name": "sqrtPrice", - "type": "u128" - }, - { - "name": "tickCurrentIndex", - "type": "i32" - }, - { - "name": "protocolFeeOwedA", - "type": "u64" - }, - { - "name": "protocolFeeOwedB", - "type": "u64" - }, - { - "name": "tokenMintA", - "type": "publicKey" - }, - { - "name": "tokenVaultA", - "type": "publicKey" - }, - { - "name": "feeGrowthGlobalA", - "type": "u128" - }, - { - "name": "tokenMintB", - "type": "publicKey" - }, - { - "name": "tokenVaultB", - "type": "publicKey" - }, - { - "name": "feeGrowthGlobalB", - "type": "u128" - }, - { - "name": "rewardLastUpdatedTimestamp", - "type": "u64" - }, - { - "name": "rewardInfos", - "type": { - "array": [ - { - "defined": "WhirlpoolRewardInfo" - }, - 3 - ] - } - } - ] - } - } - ], - "types": [ - { - "name": "OpenPositionBumps", - "type": { - "kind": "struct", - "fields": [ - { - "name": "positionBump", - "type": "u8" - } - ] - } - }, - { - "name": "OpenPositionWithMetadataBumps", - "type": { - "kind": "struct", - "fields": [ - { - "name": "positionBump", - "type": "u8" - }, - { - "name": "metadataBump", - "type": "u8" - } - ] - } - }, - { - "name": "PositionRewardInfo", - "type": { - "kind": "struct", - "fields": [ - { - "name": "growthInsideCheckpoint", - "type": "u128" - }, - { - "name": "amountOwed", - "type": "u64" - } - ] - } - }, - { - "name": "Tick", - "type": { - "kind": "struct", - "fields": [ - { - "name": "initialized", - "type": "bool" - }, - { - "name": "liquidityNet", - "type": "i128" - }, - { - "name": "liquidityGross", - "type": "u128" - }, - { - "name": "feeGrowthOutsideA", - "type": "u128" - }, - { - "name": "feeGrowthOutsideB", - "type": "u128" - }, - { - "name": "rewardGrowthsOutside", - "type": { - "array": [ - "u128", - 3 - ] - } - } - ] - } - }, - { - "name": "WhirlpoolRewardInfo", - "docs": [ - "Stores the state relevant for tracking liquidity mining rewards at the `Whirlpool` level.", - "These values are used in conjunction with `PositionRewardInfo`, `Tick.reward_growths_outside`,", - "and `Whirlpool.reward_last_updated_timestamp` to determine how many rewards are earned by open", - "positions." - ], - "type": { - "kind": "struct", - "fields": [ - { - "name": "mint", - "docs": [ - "Reward token mint." - ], - "type": "publicKey" - }, - { - "name": "vault", - "docs": [ - "Reward vault token account." - ], - "type": "publicKey" - }, - { - "name": "authority", - "docs": [ - "Authority account that has permission to initialize the reward and set emissions." - ], - "type": "publicKey" - }, - { - "name": "emissionsPerSecondX64", - "docs": [ - "Q64.64 number that indicates how many tokens per second are earned per unit of liquidity." - ], - "type": "u128" - }, - { - "name": "growthGlobalX64", - "docs": [ - "Q64.64 number that tracks the total tokens earned per unit of liquidity since the reward", - "emissions were turned on." - ], - "type": "u128" - } - ] - } - }, - { - "name": "WhirlpoolBumps", - "type": { - "kind": "struct", - "fields": [ - { - "name": "whirlpoolBump", - "type": "u8" - } - ] - } - }, - { - "name": "RemainingAccountsSlice", - "type": { - "kind": "struct", - "fields": [ - { - "name": "accountsType", - "type": { - "defined": "AccountsType" - } - }, - { - "name": "length", - "type": "u8" - } - ] - } - }, - { - "name": "RemainingAccountsInfo", - "type": { - "kind": "struct", - "fields": [ - { - "name": "slices", - "type": { - "vec": { - "defined": "RemainingAccountsSlice" - } - } - } - ] - } - }, - { - "name": "CurrIndex", - "type": { - "kind": "enum", - "variants": [ - { - "name": "Below" - }, - { - "name": "Inside" - }, - { - "name": "Above" - } - ] - } - }, - { - "name": "TickLabel", - "type": { - "kind": "enum", - "variants": [ - { - "name": "Upper" - }, - { - "name": "Lower" - } - ] - } - }, - { - "name": "Direction", - "type": { - "kind": "enum", - "variants": [ - { - "name": "Left" - }, - { - "name": "Right" - } - ] - } - }, - { - "name": "AccountsType", - "type": { - "kind": "enum", - "variants": [ - { - "name": "TransferHookA" - }, - { - "name": "TransferHookB" - }, - { - "name": "TransferHookReward" - }, - { - "name": "TransferHookInput" - }, - { - "name": "TransferHookIntermediate" - }, - { - "name": "TransferHookOutput" - }, - { - "name": "SupplementalTickArrays" - }, - { - "name": "SupplementalTickArraysOne" - }, - { - "name": "SupplementalTickArraysTwo" - } - ] - } - } - ], - "errors": [ - { - "code": 6000, - "name": "InvalidEnum", - "msg": "Enum value could not be converted" - }, - { - "code": 6001, - "name": "InvalidStartTick", - "msg": "Invalid start tick index provided." - }, - { - "code": 6002, - "name": "TickArrayExistInPool", - "msg": "Tick-array already exists in this whirlpool" - }, - { - "code": 6003, - "name": "TickArrayIndexOutofBounds", - "msg": "Attempt to search for a tick-array failed" - }, - { - "code": 6004, - "name": "InvalidTickSpacing", - "msg": "Tick-spacing is not supported" - }, - { - "code": 6005, - "name": "ClosePositionNotEmpty", - "msg": "Position is not empty It cannot be closed" - }, - { - "code": 6006, - "name": "DivideByZero", - "msg": "Unable to divide by zero" - }, - { - "code": 6007, - "name": "NumberCastError", - "msg": "Unable to cast number into BigInt" - }, - { - "code": 6008, - "name": "NumberDownCastError", - "msg": "Unable to down cast number" - }, - { - "code": 6009, - "name": "TickNotFound", - "msg": "Tick not found within tick array" - }, - { - "code": 6010, - "name": "InvalidTickIndex", - "msg": "Provided tick index is either out of bounds or uninitializable" - }, - { - "code": 6011, - "name": "SqrtPriceOutOfBounds", - "msg": "Provided sqrt price out of bounds" - }, - { - "code": 6012, - "name": "LiquidityZero", - "msg": "Liquidity amount must be greater than zero" - }, - { - "code": 6013, - "name": "LiquidityTooHigh", - "msg": "Liquidity amount must be less than i64::MAX" - }, - { - "code": 6014, - "name": "LiquidityOverflow", - "msg": "Liquidity overflow" - }, - { - "code": 6015, - "name": "LiquidityUnderflow", - "msg": "Liquidity underflow" - }, - { - "code": 6016, - "name": "LiquidityNetError", - "msg": "Tick liquidity net underflowed or overflowed" - }, - { - "code": 6017, - "name": "TokenMaxExceeded", - "msg": "Exceeded token max" - }, - { - "code": 6018, - "name": "TokenMinSubceeded", - "msg": "Did not meet token min" - }, - { - "code": 6019, - "name": "MissingOrInvalidDelegate", - "msg": "Position token account has a missing or invalid delegate" - }, - { - "code": 6020, - "name": "InvalidPositionTokenAmount", - "msg": "Position token amount must be 1" - }, - { - "code": 6021, - "name": "InvalidTimestampConversion", - "msg": "Timestamp should be convertible from i64 to u64" - }, - { - "code": 6022, - "name": "InvalidTimestamp", - "msg": "Timestamp should be greater than the last updated timestamp" - }, - { - "code": 6023, - "name": "InvalidTickArraySequence", - "msg": "Invalid tick array sequence provided for instruction." - }, - { - "code": 6024, - "name": "InvalidTokenMintOrder", - "msg": "Token Mint in wrong order" - }, - { - "code": 6025, - "name": "RewardNotInitialized", - "msg": "Reward not initialized" - }, - { - "code": 6026, - "name": "InvalidRewardIndex", - "msg": "Invalid reward index" - }, - { - "code": 6027, - "name": "RewardVaultAmountInsufficient", - "msg": "Reward vault requires amount to support emissions for at least one day" - }, - { - "code": 6028, - "name": "FeeRateMaxExceeded", - "msg": "Exceeded max fee rate" - }, - { - "code": 6029, - "name": "ProtocolFeeRateMaxExceeded", - "msg": "Exceeded max protocol fee rate" - }, - { - "code": 6030, - "name": "MultiplicationShiftRightOverflow", - "msg": "Multiplication with shift right overflow" - }, - { - "code": 6031, - "name": "MulDivOverflow", - "msg": "Muldiv overflow" - }, - { - "code": 6032, - "name": "MulDivInvalidInput", - "msg": "Invalid div_u256 input" - }, - { - "code": 6033, - "name": "MultiplicationOverflow", - "msg": "Multiplication overflow" - }, - { - "code": 6034, - "name": "InvalidSqrtPriceLimitDirection", - "msg": "Provided SqrtPriceLimit not in the same direction as the swap." - }, - { - "code": 6035, - "name": "ZeroTradableAmount", - "msg": "There are no tradable amount to swap." - }, - { - "code": 6036, - "name": "AmountOutBelowMinimum", - "msg": "Amount out below minimum threshold" - }, - { - "code": 6037, - "name": "AmountInAboveMaximum", - "msg": "Amount in above maximum threshold" - }, - { - "code": 6038, - "name": "TickArraySequenceInvalidIndex", - "msg": "Invalid index for tick array sequence" - }, - { - "code": 6039, - "name": "AmountCalcOverflow", - "msg": "Amount calculated overflows" - }, - { - "code": 6040, - "name": "AmountRemainingOverflow", - "msg": "Amount remaining overflows" - }, - { - "code": 6041, - "name": "InvalidIntermediaryMint", - "msg": "Invalid intermediary mint" - }, - { - "code": 6042, - "name": "DuplicateTwoHopPool", - "msg": "Duplicate two hop pool" - }, - { - "code": 6043, - "name": "InvalidBundleIndex", - "msg": "Bundle index is out of bounds" - }, - { - "code": 6044, - "name": "BundledPositionAlreadyOpened", - "msg": "Position has already been opened" - }, - { - "code": 6045, - "name": "BundledPositionAlreadyClosed", - "msg": "Position has already been closed" - }, - { - "code": 6046, - "name": "PositionBundleNotDeletable", - "msg": "Unable to delete PositionBundle with open positions" - }, - { - "code": 6047, - "name": "UnsupportedTokenMint", - "msg": "Token mint has unsupported attributes" - }, - { - "code": 6048, - "name": "RemainingAccountsInvalidSlice", - "msg": "Invalid remaining accounts" - }, - { - "code": 6049, - "name": "RemainingAccountsInsufficient", - "msg": "Insufficient remaining accounts" - }, - { - "code": 6050, - "name": "NoExtraAccountsForTransferHook", - "msg": "Unable to call transfer hook without extra accounts" - }, - { - "code": 6051, - "name": "IntermediateTokenAmountMismatch", - "msg": "Output and input amount mismatch" - }, - { - "code": 6052, - "name": "TransferFeeCalculationError", - "msg": "Transfer fee calculation failed" - }, - { - "code": 6053, - "name": "RemainingAccountsDuplicatedAccountsType", - "msg": "Same accounts type is provided more than once" - }, - { - "code": 6054, - "name": "TooManySupplementalTickArrays", - "msg": "Too many supplemental tick arrays provided" - }, - { - "code": 6055, - "name": "DifferentWhirlpoolTickArrayAccount", - "msg": "TickArray account for different whirlpool provided" - } - ] -} \ No newline at end of file diff --git a/sdk/src/artifacts/whirlpool.ts b/sdk/src/artifacts/whirlpool.ts deleted file mode 100644 index 73f45426d..000000000 --- a/sdk/src/artifacts/whirlpool.ts +++ /dev/null @@ -1,7701 +0,0 @@ -export type Whirlpool = { - "version": "0.3.0", - "name": "whirlpool", - "instructions": [ - { - "name": "initializeConfig", - "docs": [ - "Initializes a WhirlpoolsConfig account that hosts info & authorities", - "required to govern a set of Whirlpools.", - "", - "### Parameters", - "- `fee_authority` - Authority authorized to initialize fee-tiers and set customs fees.", - "- `collect_protocol_fees_authority` - Authority authorized to collect protocol fees.", - "- `reward_emissions_super_authority` - Authority authorized to set reward authorities in pools." - ], - "accounts": [ - { - "name": "config", - "isMut": true, - "isSigner": true - }, - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "feeAuthority", - "type": "publicKey" - }, - { - "name": "collectProtocolFeesAuthority", - "type": "publicKey" - }, - { - "name": "rewardEmissionsSuperAuthority", - "type": "publicKey" - }, - { - "name": "defaultProtocolFeeRate", - "type": "u16" - } - ] - }, - { - "name": "initializePool", - "docs": [ - "Initializes a Whirlpool account.", - "Fee rate is set to the default values on the config and supplied fee_tier.", - "", - "### Parameters", - "- `bumps` - The bump value when deriving the PDA of the Whirlpool address.", - "- `tick_spacing` - The desired tick spacing for this pool.", - "- `initial_sqrt_price` - The desired initial sqrt-price for this pool", - "", - "#### Special Errors", - "`InvalidTokenMintOrder` - The order of mints have to be ordered by", - "`SqrtPriceOutOfBounds` - provided initial_sqrt_price is not between 2^-64 to 2^64", - "" - ], - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintB", - "isMut": false, - "isSigner": false - }, - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultA", - "isMut": true, - "isSigner": true - }, - { - "name": "tokenVaultB", - "isMut": true, - "isSigner": true - }, - { - "name": "feeTier", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "rent", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "bumps", - "type": { - "defined": "WhirlpoolBumps" - } - }, - { - "name": "tickSpacing", - "type": "u16" - }, - { - "name": "initialSqrtPrice", - "type": "u128" - } - ] - }, - { - "name": "initializeTickArray", - "docs": [ - "Initializes a tick_array account to represent a tick-range in a Whirlpool.", - "", - "### Parameters", - "- `start_tick_index` - The starting tick index for this tick-array.", - "Has to be a multiple of TickArray size & the tick spacing of this pool.", - "", - "#### Special Errors", - "- `InvalidStartTick` - if the provided start tick is out of bounds or is not a multiple of", - "TICK_ARRAY_SIZE * tick spacing." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": false, - "isSigner": false - }, - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "tickArray", - "isMut": true, - "isSigner": false - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "startTickIndex", - "type": "i32" - } - ] - }, - { - "name": "initializeFeeTier", - "docs": [ - "Initializes a fee_tier account usable by Whirlpools in a WhirlpoolConfig space.", - "", - "### Authority", - "- \"fee_authority\" - Set authority in the WhirlpoolConfig", - "", - "### Parameters", - "- `tick_spacing` - The tick-spacing that this fee-tier suggests the default_fee_rate for.", - "- `default_fee_rate` - The default fee rate that a pool will use if the pool uses this", - "fee tier during initialization.", - "", - "#### Special Errors", - "- `FeeRateMaxExceeded` - If the provided default_fee_rate exceeds MAX_FEE_RATE." - ], - "accounts": [ - { - "name": "config", - "isMut": false, - "isSigner": false - }, - { - "name": "feeTier", - "isMut": true, - "isSigner": false - }, - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "feeAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "tickSpacing", - "type": "u16" - }, - { - "name": "defaultFeeRate", - "type": "u16" - } - ] - }, - { - "name": "initializeReward", - "docs": [ - "Initialize reward for a Whirlpool. A pool can only support up to a set number of rewards.", - "", - "### Authority", - "- \"reward_authority\" - assigned authority by the reward_super_authority for the specified", - "reward-index in this Whirlpool", - "", - "### Parameters", - "- `reward_index` - The reward index that we'd like to initialize. (0 <= index <= NUM_REWARDS)", - "", - "#### Special Errors", - "- `InvalidRewardIndex` - If the provided reward index doesn't match the lowest uninitialized", - "index in this pool, or exceeds NUM_REWARDS, or", - "all reward slots for this pool has been initialized." - ], - "accounts": [ - { - "name": "rewardAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "rewardMint", - "isMut": false, - "isSigner": false - }, - { - "name": "rewardVault", - "isMut": true, - "isSigner": true - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "rent", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "rewardIndex", - "type": "u8" - } - ] - }, - { - "name": "setRewardEmissions", - "docs": [ - "Set the reward emissions for a reward in a Whirlpool.", - "", - "### Authority", - "- \"reward_authority\" - assigned authority by the reward_super_authority for the specified", - "reward-index in this Whirlpool", - "", - "### Parameters", - "- `reward_index` - The reward index (0 <= index <= NUM_REWARDS) that we'd like to modify.", - "- `emissions_per_second_x64` - The amount of rewards emitted in this pool.", - "", - "#### Special Errors", - "- `RewardVaultAmountInsufficient` - The amount of rewards in the reward vault cannot emit", - "more than a day of desired emissions.", - "- `InvalidTimestamp` - Provided timestamp is not in order with the previous timestamp.", - "- `InvalidRewardIndex` - If the provided reward index doesn't match the lowest uninitialized", - "index in this pool, or exceeds NUM_REWARDS, or", - "all reward slots for this pool has been initialized." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "rewardAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "rewardVault", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "rewardIndex", - "type": "u8" - }, - { - "name": "emissionsPerSecondX64", - "type": "u128" - } - ] - }, - { - "name": "openPosition", - "docs": [ - "Open a position in a Whirlpool. A unique token will be minted to represent the position", - "in the users wallet. The position will start off with 0 liquidity.", - "", - "### Parameters", - "- `tick_lower_index` - The tick specifying the lower end of the position range.", - "- `tick_upper_index` - The tick specifying the upper end of the position range.", - "", - "#### Special Errors", - "- `InvalidTickIndex` - If a provided tick is out of bounds, out of order or not a multiple of", - "the tick-spacing in this pool." - ], - "accounts": [ - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "owner", - "isMut": false, - "isSigner": false - }, - { - "name": "position", - "isMut": true, - "isSigner": false - }, - { - "name": "positionMint", - "isMut": true, - "isSigner": true - }, - { - "name": "positionTokenAccount", - "isMut": true, - "isSigner": false - }, - { - "name": "whirlpool", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "rent", - "isMut": false, - "isSigner": false - }, - { - "name": "associatedTokenProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "bumps", - "type": { - "defined": "OpenPositionBumps" - } - }, - { - "name": "tickLowerIndex", - "type": "i32" - }, - { - "name": "tickUpperIndex", - "type": "i32" - } - ] - }, - { - "name": "openPositionWithMetadata", - "docs": [ - "Open a position in a Whirlpool. A unique token will be minted to represent the position", - "in the users wallet. Additional Metaplex metadata is appended to identify the token.", - "The position will start off with 0 liquidity.", - "", - "### Parameters", - "- `tick_lower_index` - The tick specifying the lower end of the position range.", - "- `tick_upper_index` - The tick specifying the upper end of the position range.", - "", - "#### Special Errors", - "- `InvalidTickIndex` - If a provided tick is out of bounds, out of order or not a multiple of", - "the tick-spacing in this pool." - ], - "accounts": [ - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "owner", - "isMut": false, - "isSigner": false - }, - { - "name": "position", - "isMut": true, - "isSigner": false - }, - { - "name": "positionMint", - "isMut": true, - "isSigner": true - }, - { - "name": "positionMetadataAccount", - "isMut": true, - "isSigner": false, - "docs": [ - "https://github.com/metaplex-foundation/metaplex-program-library/blob/master/token-metadata/program/src/utils.rs#L873" - ] - }, - { - "name": "positionTokenAccount", - "isMut": true, - "isSigner": false - }, - { - "name": "whirlpool", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "rent", - "isMut": false, - "isSigner": false - }, - { - "name": "associatedTokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "metadataProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "metadataUpdateAuth", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "bumps", - "type": { - "defined": "OpenPositionWithMetadataBumps" - } - }, - { - "name": "tickLowerIndex", - "type": "i32" - }, - { - "name": "tickUpperIndex", - "type": "i32" - } - ] - }, - { - "name": "increaseLiquidity", - "docs": [ - "Add liquidity to a position in the Whirlpool. This call also updates the position's accrued fees and rewards.", - "", - "### Authority", - "- `position_authority` - authority that owns the token corresponding to this desired position.", - "", - "### Parameters", - "- `liquidity_amount` - The total amount of Liquidity the user is willing to deposit.", - "- `token_max_a` - The maximum amount of tokenA the user is willing to deposit.", - "- `token_max_b` - The maximum amount of tokenB the user is willing to deposit.", - "", - "#### Special Errors", - "- `LiquidityZero` - Provided liquidity amount is zero.", - "- `LiquidityTooHigh` - Provided liquidity exceeds u128::max.", - "- `TokenMaxExceeded` - The required token to perform this operation exceeds the user defined amount." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "positionAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "position", - "isMut": true, - "isSigner": false - }, - { - "name": "positionTokenAccount", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenOwnerAccountA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultB", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayLower", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayUpper", - "isMut": true, - "isSigner": false - } - ], - "args": [ - { - "name": "liquidityAmount", - "type": "u128" - }, - { - "name": "tokenMaxA", - "type": "u64" - }, - { - "name": "tokenMaxB", - "type": "u64" - } - ] - }, - { - "name": "decreaseLiquidity", - "docs": [ - "Withdraw liquidity from a position in the Whirlpool. This call also updates the position's accrued fees and rewards.", - "", - "### Authority", - "- `position_authority` - authority that owns the token corresponding to this desired position.", - "", - "### Parameters", - "- `liquidity_amount` - The total amount of Liquidity the user desires to withdraw.", - "- `token_min_a` - The minimum amount of tokenA the user is willing to withdraw.", - "- `token_min_b` - The minimum amount of tokenB the user is willing to withdraw.", - "", - "#### Special Errors", - "- `LiquidityZero` - Provided liquidity amount is zero.", - "- `LiquidityTooHigh` - Provided liquidity exceeds u128::max.", - "- `TokenMinSubceeded` - The required token to perform this operation subceeds the user defined amount." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "positionAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "position", - "isMut": true, - "isSigner": false - }, - { - "name": "positionTokenAccount", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenOwnerAccountA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultB", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayLower", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayUpper", - "isMut": true, - "isSigner": false - } - ], - "args": [ - { - "name": "liquidityAmount", - "type": "u128" - }, - { - "name": "tokenMinA", - "type": "u64" - }, - { - "name": "tokenMinB", - "type": "u64" - } - ] - }, - { - "name": "updateFeesAndRewards", - "docs": [ - "Update the accrued fees and rewards for a position.", - "", - "#### Special Errors", - "- `TickNotFound` - Provided tick array account does not contain the tick for this position.", - "- `LiquidityZero` - Position has zero liquidity and therefore already has the most updated fees and reward values." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "position", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayLower", - "isMut": false, - "isSigner": false - }, - { - "name": "tickArrayUpper", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "collectFees", - "docs": [ - "Collect fees accrued for this position.", - "", - "### Authority", - "- `position_authority` - authority that owns the token corresponding to this desired position." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": false, - "isSigner": false - }, - { - "name": "positionAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "position", - "isMut": true, - "isSigner": false - }, - { - "name": "positionTokenAccount", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenOwnerAccountA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "collectReward", - "docs": [ - "Collect rewards accrued for this position.", - "", - "### Authority", - "- `position_authority` - authority that owns the token corresponding to this desired position." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": false, - "isSigner": false - }, - { - "name": "positionAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "position", - "isMut": true, - "isSigner": false - }, - { - "name": "positionTokenAccount", - "isMut": false, - "isSigner": false - }, - { - "name": "rewardOwnerAccount", - "isMut": true, - "isSigner": false - }, - { - "name": "rewardVault", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "rewardIndex", - "type": "u8" - } - ] - }, - { - "name": "collectProtocolFees", - "docs": [ - "Collect the protocol fees accrued in this Whirlpool", - "", - "### Authority", - "- `collect_protocol_fees_authority` - assigned authority in the WhirlpoolConfig that can collect protocol fees" - ], - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": false, - "isSigner": false - }, - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "collectProtocolFeesAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "tokenVaultA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenDestinationA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenDestinationB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "swap", - "docs": [ - "Perform a swap in this Whirlpool", - "", - "### Authority", - "- \"token_authority\" - The authority to withdraw tokens from the input token account.", - "", - "### Parameters", - "- `amount` - The amount of input or output token to swap from (depending on amount_specified_is_input).", - "- `other_amount_threshold` - The maximum/minimum of input/output token to swap into (depending on amount_specified_is_input).", - "- `sqrt_price_limit` - The maximum/minimum price the swap will swap to.", - "- `amount_specified_is_input` - Specifies the token the parameter `amount`represents. If true, the amount represents the input token of the swap.", - "- `a_to_b` - The direction of the swap. True if swapping from A to B. False if swapping from B to A.", - "", - "#### Special Errors", - "- `ZeroTradableAmount` - User provided parameter `amount` is 0.", - "- `InvalidSqrtPriceLimitDirection` - User provided parameter `sqrt_price_limit` does not match the direction of the trade.", - "- `SqrtPriceOutOfBounds` - User provided parameter `sqrt_price_limit` is over Whirlppool's max/min bounds for sqrt-price.", - "- `InvalidTickArraySequence` - User provided tick-arrays are not in sequential order required to proceed in this trade direction.", - "- `TickArraySequenceInvalidIndex` - The swap loop attempted to access an invalid array index during the query of the next initialized tick.", - "- `TickArrayIndexOutofBounds` - The swap loop attempted to access an invalid array index during tick crossing.", - "- `LiquidityOverflow` - Liquidity value overflowed 128bits during tick crossing.", - "- `InvalidTickSpacing` - The swap pool was initialized with tick-spacing of 0." - ], - "accounts": [ - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultB", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArray0", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArray1", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArray2", - "isMut": true, - "isSigner": false - }, - { - "name": "oracle", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "amount", - "type": "u64" - }, - { - "name": "otherAmountThreshold", - "type": "u64" - }, - { - "name": "sqrtPriceLimit", - "type": "u128" - }, - { - "name": "amountSpecifiedIsInput", - "type": "bool" - }, - { - "name": "aToB", - "type": "bool" - } - ] - }, - { - "name": "closePosition", - "docs": [ - "Close a position in a Whirlpool. Burns the position token in the owner's wallet.", - "", - "### Authority", - "- \"position_authority\" - The authority that owns the position token.", - "", - "#### Special Errors", - "- `ClosePositionNotEmpty` - The provided position account is not empty." - ], - "accounts": [ - { - "name": "positionAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "receiver", - "isMut": true, - "isSigner": false - }, - { - "name": "position", - "isMut": true, - "isSigner": false - }, - { - "name": "positionMint", - "isMut": true, - "isSigner": false - }, - { - "name": "positionTokenAccount", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "setDefaultFeeRate", - "docs": [ - "Set the default_fee_rate for a FeeTier", - "Only the current fee authority has permission to invoke this instruction.", - "", - "### Authority", - "- \"fee_authority\" - Set authority in the WhirlpoolConfig", - "", - "### Parameters", - "- `default_fee_rate` - The default fee rate that a pool will use if the pool uses this", - "fee tier during initialization.", - "", - "#### Special Errors", - "- `FeeRateMaxExceeded` - If the provided default_fee_rate exceeds MAX_FEE_RATE." - ], - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": false, - "isSigner": false - }, - { - "name": "feeTier", - "isMut": true, - "isSigner": false - }, - { - "name": "feeAuthority", - "isMut": false, - "isSigner": true - } - ], - "args": [ - { - "name": "defaultFeeRate", - "type": "u16" - } - ] - }, - { - "name": "setDefaultProtocolFeeRate", - "docs": [ - "Sets the default protocol fee rate for a WhirlpoolConfig", - "Protocol fee rate is represented as a basis point.", - "Only the current fee authority has permission to invoke this instruction.", - "", - "### Authority", - "- \"fee_authority\" - Set authority that can modify pool fees in the WhirlpoolConfig", - "", - "### Parameters", - "- `default_protocol_fee_rate` - Rate that is referenced during the initialization of a Whirlpool using this config.", - "", - "#### Special Errors", - "- `ProtocolFeeRateMaxExceeded` - If the provided default_protocol_fee_rate exceeds MAX_PROTOCOL_FEE_RATE." - ], - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": true, - "isSigner": false - }, - { - "name": "feeAuthority", - "isMut": false, - "isSigner": true - } - ], - "args": [ - { - "name": "defaultProtocolFeeRate", - "type": "u16" - } - ] - }, - { - "name": "setFeeRate", - "docs": [ - "Sets the fee rate for a Whirlpool.", - "Fee rate is represented as hundredths of a basis point.", - "Only the current fee authority has permission to invoke this instruction.", - "", - "### Authority", - "- \"fee_authority\" - Set authority that can modify pool fees in the WhirlpoolConfig", - "", - "### Parameters", - "- `fee_rate` - The rate that the pool will use to calculate fees going onwards.", - "", - "#### Special Errors", - "- `FeeRateMaxExceeded` - If the provided fee_rate exceeds MAX_FEE_RATE." - ], - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": false, - "isSigner": false - }, - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "feeAuthority", - "isMut": false, - "isSigner": true - } - ], - "args": [ - { - "name": "feeRate", - "type": "u16" - } - ] - }, - { - "name": "setProtocolFeeRate", - "docs": [ - "Sets the protocol fee rate for a Whirlpool.", - "Protocol fee rate is represented as a basis point.", - "Only the current fee authority has permission to invoke this instruction.", - "", - "### Authority", - "- \"fee_authority\" - Set authority that can modify pool fees in the WhirlpoolConfig", - "", - "### Parameters", - "- `protocol_fee_rate` - The rate that the pool will use to calculate protocol fees going onwards.", - "", - "#### Special Errors", - "- `ProtocolFeeRateMaxExceeded` - If the provided default_protocol_fee_rate exceeds MAX_PROTOCOL_FEE_RATE." - ], - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": false, - "isSigner": false - }, - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "feeAuthority", - "isMut": false, - "isSigner": true - } - ], - "args": [ - { - "name": "protocolFeeRate", - "type": "u16" - } - ] - }, - { - "name": "setFeeAuthority", - "docs": [ - "Sets the fee authority for a WhirlpoolConfig.", - "The fee authority can set the fee & protocol fee rate for individual pools or", - "set the default fee rate for newly minted pools.", - "Only the current fee authority has permission to invoke this instruction.", - "", - "### Authority", - "- \"fee_authority\" - Set authority that can modify pool fees in the WhirlpoolConfig" - ], - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": true, - "isSigner": false - }, - { - "name": "feeAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "newFeeAuthority", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "setCollectProtocolFeesAuthority", - "docs": [ - "Sets the fee authority to collect protocol fees for a WhirlpoolConfig.", - "Only the current collect protocol fee authority has permission to invoke this instruction.", - "", - "### Authority", - "- \"fee_authority\" - Set authority that can collect protocol fees in the WhirlpoolConfig" - ], - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": true, - "isSigner": false - }, - { - "name": "collectProtocolFeesAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "newCollectProtocolFeesAuthority", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "setRewardAuthority", - "docs": [ - "Set the whirlpool reward authority at the provided `reward_index`.", - "Only the current reward authority for this reward index has permission to invoke this instruction.", - "", - "### Authority", - "- \"reward_authority\" - Set authority that can control reward emission for this particular reward.", - "", - "#### Special Errors", - "- `InvalidRewardIndex` - If the provided reward index doesn't match the lowest uninitialized", - "index in this pool, or exceeds NUM_REWARDS, or", - "all reward slots for this pool has been initialized." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "rewardAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "newRewardAuthority", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "rewardIndex", - "type": "u8" - } - ] - }, - { - "name": "setRewardAuthorityBySuperAuthority", - "docs": [ - "Set the whirlpool reward authority at the provided `reward_index`.", - "Only the current reward super authority has permission to invoke this instruction.", - "", - "### Authority", - "- \"reward_authority\" - Set authority that can control reward emission for this particular reward.", - "", - "#### Special Errors", - "- `InvalidRewardIndex` - If the provided reward index doesn't match the lowest uninitialized", - "index in this pool, or exceeds NUM_REWARDS, or", - "all reward slots for this pool has been initialized." - ], - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": false, - "isSigner": false - }, - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "rewardEmissionsSuperAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "newRewardAuthority", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "rewardIndex", - "type": "u8" - } - ] - }, - { - "name": "setRewardEmissionsSuperAuthority", - "docs": [ - "Set the whirlpool reward super authority for a WhirlpoolConfig", - "Only the current reward super authority has permission to invoke this instruction.", - "This instruction will not change the authority on any `WhirlpoolRewardInfo` whirlpool rewards.", - "", - "### Authority", - "- \"reward_emissions_super_authority\" - Set authority that can control reward authorities for all pools in this config space." - ], - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": true, - "isSigner": false - }, - { - "name": "rewardEmissionsSuperAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "newRewardEmissionsSuperAuthority", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "twoHopSwap", - "docs": [ - "Perform a two-hop swap in this Whirlpool", - "", - "### Authority", - "- \"token_authority\" - The authority to withdraw tokens from the input token account.", - "", - "### Parameters", - "- `amount` - The amount of input or output token to swap from (depending on amount_specified_is_input).", - "- `other_amount_threshold` - The maximum/minimum of input/output token to swap into (depending on amount_specified_is_input).", - "- `amount_specified_is_input` - Specifies the token the parameter `amount`represents. If true, the amount represents the input token of the swap.", - "- `a_to_b_one` - The direction of the swap of hop one. True if swapping from A to B. False if swapping from B to A.", - "- `a_to_b_two` - The direction of the swap of hop two. True if swapping from A to B. False if swapping from B to A.", - "- `sqrt_price_limit_one` - The maximum/minimum price the swap will swap to in the first hop.", - "- `sqrt_price_limit_two` - The maximum/minimum price the swap will swap to in the second hop.", - "", - "#### Special Errors", - "- `ZeroTradableAmount` - User provided parameter `amount` is 0.", - "- `InvalidSqrtPriceLimitDirection` - User provided parameter `sqrt_price_limit` does not match the direction of the trade.", - "- `SqrtPriceOutOfBounds` - User provided parameter `sqrt_price_limit` is over Whirlppool's max/min bounds for sqrt-price.", - "- `InvalidTickArraySequence` - User provided tick-arrays are not in sequential order required to proceed in this trade direction.", - "- `TickArraySequenceInvalidIndex` - The swap loop attempted to access an invalid array index during the query of the next initialized tick.", - "- `TickArrayIndexOutofBounds` - The swap loop attempted to access an invalid array index during tick crossing.", - "- `LiquidityOverflow` - Liquidity value overflowed 128bits during tick crossing.", - "- `InvalidTickSpacing` - The swap pool was initialized with tick-spacing of 0.", - "- `InvalidIntermediaryMint` - Error if the intermediary mint between hop one and two do not equal.", - "- `DuplicateTwoHopPool` - Error if whirlpool one & two are the same pool." - ], - "accounts": [ - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "whirlpoolOne", - "isMut": true, - "isSigner": false - }, - { - "name": "whirlpoolTwo", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountOneA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultOneA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountOneB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultOneB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountTwoA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultTwoA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountTwoB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultTwoB", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayOne0", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayOne1", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayOne2", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayTwo0", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayTwo1", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayTwo2", - "isMut": true, - "isSigner": false - }, - { - "name": "oracleOne", - "isMut": false, - "isSigner": false - }, - { - "name": "oracleTwo", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "amount", - "type": "u64" - }, - { - "name": "otherAmountThreshold", - "type": "u64" - }, - { - "name": "amountSpecifiedIsInput", - "type": "bool" - }, - { - "name": "aToBOne", - "type": "bool" - }, - { - "name": "aToBTwo", - "type": "bool" - }, - { - "name": "sqrtPriceLimitOne", - "type": "u128" - }, - { - "name": "sqrtPriceLimitTwo", - "type": "u128" - } - ] - }, - { - "name": "initializePositionBundle", - "docs": [ - "Initializes a PositionBundle account that bundles several positions.", - "A unique token will be minted to represent the position bundle in the users wallet." - ], - "accounts": [ - { - "name": "positionBundle", - "isMut": true, - "isSigner": false - }, - { - "name": "positionBundleMint", - "isMut": true, - "isSigner": true - }, - { - "name": "positionBundleTokenAccount", - "isMut": true, - "isSigner": false - }, - { - "name": "positionBundleOwner", - "isMut": false, - "isSigner": false - }, - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "rent", - "isMut": false, - "isSigner": false - }, - { - "name": "associatedTokenProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "initializePositionBundleWithMetadata", - "docs": [ - "Initializes a PositionBundle account that bundles several positions.", - "A unique token will be minted to represent the position bundle in the users wallet.", - "Additional Metaplex metadata is appended to identify the token." - ], - "accounts": [ - { - "name": "positionBundle", - "isMut": true, - "isSigner": false - }, - { - "name": "positionBundleMint", - "isMut": true, - "isSigner": true - }, - { - "name": "positionBundleMetadata", - "isMut": true, - "isSigner": false, - "docs": [ - "https://github.com/metaplex-foundation/metaplex-program-library/blob/773a574c4b34e5b9f248a81306ec24db064e255f/token-metadata/program/src/utils/metadata.rs#L100" - ] - }, - { - "name": "positionBundleTokenAccount", - "isMut": true, - "isSigner": false - }, - { - "name": "positionBundleOwner", - "isMut": false, - "isSigner": false - }, - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "metadataUpdateAuth", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "rent", - "isMut": false, - "isSigner": false - }, - { - "name": "associatedTokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "metadataProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "deletePositionBundle", - "docs": [ - "Delete a PositionBundle account. Burns the position bundle token in the owner's wallet.", - "", - "### Authority", - "- `position_bundle_owner` - The owner that owns the position bundle token.", - "", - "### Special Errors", - "- `PositionBundleNotDeletable` - The provided position bundle has open positions." - ], - "accounts": [ - { - "name": "positionBundle", - "isMut": true, - "isSigner": false - }, - { - "name": "positionBundleMint", - "isMut": true, - "isSigner": false - }, - { - "name": "positionBundleTokenAccount", - "isMut": true, - "isSigner": false - }, - { - "name": "positionBundleOwner", - "isMut": false, - "isSigner": true - }, - { - "name": "receiver", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "openBundledPosition", - "docs": [ - "Open a bundled position in a Whirlpool. No new tokens are issued", - "because the owner of the position bundle becomes the owner of the position.", - "The position will start off with 0 liquidity.", - "", - "### Authority", - "- `position_bundle_authority` - authority that owns the token corresponding to this desired position bundle.", - "", - "### Parameters", - "- `bundle_index` - The bundle index that we'd like to open.", - "- `tick_lower_index` - The tick specifying the lower end of the position range.", - "- `tick_upper_index` - The tick specifying the upper end of the position range.", - "", - "#### Special Errors", - "- `InvalidBundleIndex` - If the provided bundle index is out of bounds.", - "- `InvalidTickIndex` - If a provided tick is out of bounds, out of order or not a multiple of", - "the tick-spacing in this pool." - ], - "accounts": [ - { - "name": "bundledPosition", - "isMut": true, - "isSigner": false - }, - { - "name": "positionBundle", - "isMut": true, - "isSigner": false - }, - { - "name": "positionBundleTokenAccount", - "isMut": false, - "isSigner": false - }, - { - "name": "positionBundleAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "whirlpool", - "isMut": false, - "isSigner": false - }, - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "rent", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "bundleIndex", - "type": "u16" - }, - { - "name": "tickLowerIndex", - "type": "i32" - }, - { - "name": "tickUpperIndex", - "type": "i32" - } - ] - }, - { - "name": "closeBundledPosition", - "docs": [ - "Close a bundled position in a Whirlpool.", - "", - "### Authority", - "- `position_bundle_authority` - authority that owns the token corresponding to this desired position bundle.", - "", - "### Parameters", - "- `bundle_index` - The bundle index that we'd like to close.", - "", - "#### Special Errors", - "- `InvalidBundleIndex` - If the provided bundle index is out of bounds.", - "- `ClosePositionNotEmpty` - The provided position account is not empty." - ], - "accounts": [ - { - "name": "bundledPosition", - "isMut": true, - "isSigner": false - }, - { - "name": "positionBundle", - "isMut": true, - "isSigner": false - }, - { - "name": "positionBundleTokenAccount", - "isMut": false, - "isSigner": false - }, - { - "name": "positionBundleAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "receiver", - "isMut": true, - "isSigner": false - } - ], - "args": [ - { - "name": "bundleIndex", - "type": "u16" - } - ] - }, - { - "name": "collectFeesV2", - "docs": [ - "Collect fees accrued for this position.", - "", - "### Authority", - "- `position_authority` - authority that owns the token corresponding to this desired position." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": false, - "isSigner": false - }, - { - "name": "positionAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "position", - "isMut": true, - "isSigner": false - }, - { - "name": "positionTokenAccount", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintB", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenOwnerAccountA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenProgramA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgramB", - "isMut": false, - "isSigner": false - }, - { - "name": "memoProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "remainingAccountsInfo", - "type": { - "option": { - "defined": "RemainingAccountsInfo" - } - } - } - ] - }, - { - "name": "collectProtocolFeesV2", - "docs": [ - "Collect the protocol fees accrued in this Whirlpool", - "", - "### Authority", - "- `collect_protocol_fees_authority` - assigned authority in the WhirlpoolConfig that can collect protocol fees" - ], - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": false, - "isSigner": false - }, - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "collectProtocolFeesAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "tokenMintA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintB", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenVaultA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenDestinationA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenDestinationB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenProgramA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgramB", - "isMut": false, - "isSigner": false - }, - { - "name": "memoProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "remainingAccountsInfo", - "type": { - "option": { - "defined": "RemainingAccountsInfo" - } - } - } - ] - }, - { - "name": "collectRewardV2", - "docs": [ - "Collect rewards accrued for this position.", - "", - "### Authority", - "- `position_authority` - authority that owns the token corresponding to this desired position." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": false, - "isSigner": false - }, - { - "name": "positionAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "position", - "isMut": true, - "isSigner": false - }, - { - "name": "positionTokenAccount", - "isMut": false, - "isSigner": false - }, - { - "name": "rewardOwnerAccount", - "isMut": true, - "isSigner": false - }, - { - "name": "rewardMint", - "isMut": false, - "isSigner": false - }, - { - "name": "rewardVault", - "isMut": true, - "isSigner": false - }, - { - "name": "rewardTokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "memoProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "rewardIndex", - "type": "u8" - }, - { - "name": "remainingAccountsInfo", - "type": { - "option": { - "defined": "RemainingAccountsInfo" - } - } - } - ] - }, - { - "name": "decreaseLiquidityV2", - "docs": [ - "Withdraw liquidity from a position in the Whirlpool. This call also updates the position's accrued fees and rewards.", - "", - "### Authority", - "- `position_authority` - authority that owns the token corresponding to this desired position.", - "", - "### Parameters", - "- `liquidity_amount` - The total amount of Liquidity the user desires to withdraw.", - "- `token_min_a` - The minimum amount of tokenA the user is willing to withdraw.", - "- `token_min_b` - The minimum amount of tokenB the user is willing to withdraw.", - "", - "#### Special Errors", - "- `LiquidityZero` - Provided liquidity amount is zero.", - "- `LiquidityTooHigh` - Provided liquidity exceeds u128::max.", - "- `TokenMinSubceeded` - The required token to perform this operation subceeds the user defined amount." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenProgramA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgramB", - "isMut": false, - "isSigner": false - }, - { - "name": "memoProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "positionAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "position", - "isMut": true, - "isSigner": false - }, - { - "name": "positionTokenAccount", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintB", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenOwnerAccountA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultB", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayLower", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayUpper", - "isMut": true, - "isSigner": false - } - ], - "args": [ - { - "name": "liquidityAmount", - "type": "u128" - }, - { - "name": "tokenMinA", - "type": "u64" - }, - { - "name": "tokenMinB", - "type": "u64" - }, - { - "name": "remainingAccountsInfo", - "type": { - "option": { - "defined": "RemainingAccountsInfo" - } - } - } - ] - }, - { - "name": "increaseLiquidityV2", - "docs": [ - "Add liquidity to a position in the Whirlpool. This call also updates the position's accrued fees and rewards.", - "", - "### Authority", - "- `position_authority` - authority that owns the token corresponding to this desired position.", - "", - "### Parameters", - "- `liquidity_amount` - The total amount of Liquidity the user is willing to deposit.", - "- `token_max_a` - The maximum amount of tokenA the user is willing to deposit.", - "- `token_max_b` - The maximum amount of tokenB the user is willing to deposit.", - "", - "#### Special Errors", - "- `LiquidityZero` - Provided liquidity amount is zero.", - "- `LiquidityTooHigh` - Provided liquidity exceeds u128::max.", - "- `TokenMaxExceeded` - The required token to perform this operation exceeds the user defined amount." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenProgramA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgramB", - "isMut": false, - "isSigner": false - }, - { - "name": "memoProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "positionAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "position", - "isMut": true, - "isSigner": false - }, - { - "name": "positionTokenAccount", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintB", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenOwnerAccountA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultB", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayLower", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayUpper", - "isMut": true, - "isSigner": false - } - ], - "args": [ - { - "name": "liquidityAmount", - "type": "u128" - }, - { - "name": "tokenMaxA", - "type": "u64" - }, - { - "name": "tokenMaxB", - "type": "u64" - }, - { - "name": "remainingAccountsInfo", - "type": { - "option": { - "defined": "RemainingAccountsInfo" - } - } - } - ] - }, - { - "name": "initializePoolV2", - "docs": [ - "Initializes a Whirlpool account.", - "Fee rate is set to the default values on the config and supplied fee_tier.", - "", - "### Parameters", - "- `bumps` - The bump value when deriving the PDA of the Whirlpool address.", - "- `tick_spacing` - The desired tick spacing for this pool.", - "- `initial_sqrt_price` - The desired initial sqrt-price for this pool", - "", - "#### Special Errors", - "`InvalidTokenMintOrder` - The order of mints have to be ordered by", - "`SqrtPriceOutOfBounds` - provided initial_sqrt_price is not between 2^-64 to 2^64", - "" - ], - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintB", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenBadgeA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenBadgeB", - "isMut": false, - "isSigner": false - }, - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultA", - "isMut": true, - "isSigner": true - }, - { - "name": "tokenVaultB", - "isMut": true, - "isSigner": true - }, - { - "name": "feeTier", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgramA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgramB", - "isMut": false, - "isSigner": false - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "rent", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "tickSpacing", - "type": "u16" - }, - { - "name": "initialSqrtPrice", - "type": "u128" - } - ] - }, - { - "name": "initializeRewardV2", - "docs": [ - "Initialize reward for a Whirlpool. A pool can only support up to a set number of rewards.", - "", - "### Authority", - "- \"reward_authority\" - assigned authority by the reward_super_authority for the specified", - "reward-index in this Whirlpool", - "", - "### Parameters", - "- `reward_index` - The reward index that we'd like to initialize. (0 <= index <= NUM_REWARDS)", - "", - "#### Special Errors", - "- `InvalidRewardIndex` - If the provided reward index doesn't match the lowest uninitialized", - "index in this pool, or exceeds NUM_REWARDS, or", - "all reward slots for this pool has been initialized." - ], - "accounts": [ - { - "name": "rewardAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "rewardMint", - "isMut": false, - "isSigner": false - }, - { - "name": "rewardTokenBadge", - "isMut": false, - "isSigner": false - }, - { - "name": "rewardVault", - "isMut": true, - "isSigner": true - }, - { - "name": "rewardTokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "rent", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "rewardIndex", - "type": "u8" - } - ] - }, - { - "name": "setRewardEmissionsV2", - "docs": [ - "Set the reward emissions for a reward in a Whirlpool.", - "", - "### Authority", - "- \"reward_authority\" - assigned authority by the reward_super_authority for the specified", - "reward-index in this Whirlpool", - "", - "### Parameters", - "- `reward_index` - The reward index (0 <= index <= NUM_REWARDS) that we'd like to modify.", - "- `emissions_per_second_x64` - The amount of rewards emitted in this pool.", - "", - "#### Special Errors", - "- `RewardVaultAmountInsufficient` - The amount of rewards in the reward vault cannot emit", - "more than a day of desired emissions.", - "- `InvalidTimestamp` - Provided timestamp is not in order with the previous timestamp.", - "- `InvalidRewardIndex` - If the provided reward index doesn't match the lowest uninitialized", - "index in this pool, or exceeds NUM_REWARDS, or", - "all reward slots for this pool has been initialized." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "rewardAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "rewardVault", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "rewardIndex", - "type": "u8" - }, - { - "name": "emissionsPerSecondX64", - "type": "u128" - } - ] - }, - { - "name": "swapV2", - "docs": [ - "Perform a swap in this Whirlpool", - "", - "### Authority", - "- \"token_authority\" - The authority to withdraw tokens from the input token account.", - "", - "### Parameters", - "- `amount` - The amount of input or output token to swap from (depending on amount_specified_is_input).", - "- `other_amount_threshold` - The maximum/minimum of input/output token to swap into (depending on amount_specified_is_input).", - "- `sqrt_price_limit` - The maximum/minimum price the swap will swap to.", - "- `amount_specified_is_input` - Specifies the token the parameter `amount`represents. If true, the amount represents the input token of the swap.", - "- `a_to_b` - The direction of the swap. True if swapping from A to B. False if swapping from B to A.", - "", - "#### Special Errors", - "- `ZeroTradableAmount` - User provided parameter `amount` is 0.", - "- `InvalidSqrtPriceLimitDirection` - User provided parameter `sqrt_price_limit` does not match the direction of the trade.", - "- `SqrtPriceOutOfBounds` - User provided parameter `sqrt_price_limit` is over Whirlppool's max/min bounds for sqrt-price.", - "- `InvalidTickArraySequence` - User provided tick-arrays are not in sequential order required to proceed in this trade direction.", - "- `TickArraySequenceInvalidIndex` - The swap loop attempted to access an invalid array index during the query of the next initialized tick.", - "- `TickArrayIndexOutofBounds` - The swap loop attempted to access an invalid array index during tick crossing.", - "- `LiquidityOverflow` - Liquidity value overflowed 128bits during tick crossing.", - "- `InvalidTickSpacing` - The swap pool was initialized with tick-spacing of 0." - ], - "accounts": [ - { - "name": "tokenProgramA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgramB", - "isMut": false, - "isSigner": false - }, - { - "name": "memoProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenMintA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintB", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenOwnerAccountA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultB", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArray0", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArray1", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArray2", - "isMut": true, - "isSigner": false - }, - { - "name": "oracle", - "isMut": true, - "isSigner": false - } - ], - "args": [ - { - "name": "amount", - "type": "u64" - }, - { - "name": "otherAmountThreshold", - "type": "u64" - }, - { - "name": "sqrtPriceLimit", - "type": "u128" - }, - { - "name": "amountSpecifiedIsInput", - "type": "bool" - }, - { - "name": "aToB", - "type": "bool" - }, - { - "name": "remainingAccountsInfo", - "type": { - "option": { - "defined": "RemainingAccountsInfo" - } - } - } - ] - }, - { - "name": "twoHopSwapV2", - "docs": [ - "Perform a two-hop swap in this Whirlpool", - "", - "### Authority", - "- \"token_authority\" - The authority to withdraw tokens from the input token account.", - "", - "### Parameters", - "- `amount` - The amount of input or output token to swap from (depending on amount_specified_is_input).", - "- `other_amount_threshold` - The maximum/minimum of input/output token to swap into (depending on amount_specified_is_input).", - "- `amount_specified_is_input` - Specifies the token the parameter `amount`represents. If true, the amount represents the input token of the swap.", - "- `a_to_b_one` - The direction of the swap of hop one. True if swapping from A to B. False if swapping from B to A.", - "- `a_to_b_two` - The direction of the swap of hop two. True if swapping from A to B. False if swapping from B to A.", - "- `sqrt_price_limit_one` - The maximum/minimum price the swap will swap to in the first hop.", - "- `sqrt_price_limit_two` - The maximum/minimum price the swap will swap to in the second hop.", - "", - "#### Special Errors", - "- `ZeroTradableAmount` - User provided parameter `amount` is 0.", - "- `InvalidSqrtPriceLimitDirection` - User provided parameter `sqrt_price_limit` does not match the direction of the trade.", - "- `SqrtPriceOutOfBounds` - User provided parameter `sqrt_price_limit` is over Whirlppool's max/min bounds for sqrt-price.", - "- `InvalidTickArraySequence` - User provided tick-arrays are not in sequential order required to proceed in this trade direction.", - "- `TickArraySequenceInvalidIndex` - The swap loop attempted to access an invalid array index during the query of the next initialized tick.", - "- `TickArrayIndexOutofBounds` - The swap loop attempted to access an invalid array index during tick crossing.", - "- `LiquidityOverflow` - Liquidity value overflowed 128bits during tick crossing.", - "- `InvalidTickSpacing` - The swap pool was initialized with tick-spacing of 0.", - "- `InvalidIntermediaryMint` - Error if the intermediary mint between hop one and two do not equal.", - "- `DuplicateTwoHopPool` - Error if whirlpool one & two are the same pool." - ], - "accounts": [ - { - "name": "whirlpoolOne", - "isMut": true, - "isSigner": false - }, - { - "name": "whirlpoolTwo", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenMintInput", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintIntermediate", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintOutput", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgramInput", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgramIntermediate", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgramOutput", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenOwnerAccountInput", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultOneInput", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultOneIntermediate", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultTwoIntermediate", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultTwoOutput", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountOutput", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "tickArrayOne0", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayOne1", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayOne2", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayTwo0", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayTwo1", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayTwo2", - "isMut": true, - "isSigner": false - }, - { - "name": "oracleOne", - "isMut": true, - "isSigner": false - }, - { - "name": "oracleTwo", - "isMut": true, - "isSigner": false - }, - { - "name": "memoProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "amount", - "type": "u64" - }, - { - "name": "otherAmountThreshold", - "type": "u64" - }, - { - "name": "amountSpecifiedIsInput", - "type": "bool" - }, - { - "name": "aToBOne", - "type": "bool" - }, - { - "name": "aToBTwo", - "type": "bool" - }, - { - "name": "sqrtPriceLimitOne", - "type": "u128" - }, - { - "name": "sqrtPriceLimitTwo", - "type": "u128" - }, - { - "name": "remainingAccountsInfo", - "type": { - "option": { - "defined": "RemainingAccountsInfo" - } - } - } - ] - }, - { - "name": "initializeConfigExtension", - "accounts": [ - { - "name": "config", - "isMut": false, - "isSigner": false - }, - { - "name": "configExtension", - "isMut": true, - "isSigner": false - }, - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "feeAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "setConfigExtensionAuthority", - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": false, - "isSigner": false - }, - { - "name": "whirlpoolsConfigExtension", - "isMut": true, - "isSigner": false - }, - { - "name": "configExtensionAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "newConfigExtensionAuthority", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "setTokenBadgeAuthority", - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": false, - "isSigner": false - }, - { - "name": "whirlpoolsConfigExtension", - "isMut": true, - "isSigner": false - }, - { - "name": "configExtensionAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "newTokenBadgeAuthority", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "initializeTokenBadge", - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": false, - "isSigner": false - }, - { - "name": "whirlpoolsConfigExtension", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenBadgeAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "tokenMint", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenBadge", - "isMut": true, - "isSigner": false - }, - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "deleteTokenBadge", - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": false, - "isSigner": false - }, - { - "name": "whirlpoolsConfigExtension", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenBadgeAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "tokenMint", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenBadge", - "isMut": true, - "isSigner": false - }, - { - "name": "receiver", - "isMut": true, - "isSigner": false - } - ], - "args": [] - } - ], - "accounts": [ - { - "name": "whirlpoolsConfigExtension", - "type": { - "kind": "struct", - "fields": [ - { - "name": "whirlpoolsConfig", - "type": "publicKey" - }, - { - "name": "configExtensionAuthority", - "type": "publicKey" - }, - { - "name": "tokenBadgeAuthority", - "type": "publicKey" - } - ] - } - }, - { - "name": "whirlpoolsConfig", - "type": { - "kind": "struct", - "fields": [ - { - "name": "feeAuthority", - "type": "publicKey" - }, - { - "name": "collectProtocolFeesAuthority", - "type": "publicKey" - }, - { - "name": "rewardEmissionsSuperAuthority", - "type": "publicKey" - }, - { - "name": "defaultProtocolFeeRate", - "type": "u16" - } - ] - } - }, - { - "name": "feeTier", - "type": { - "kind": "struct", - "fields": [ - { - "name": "whirlpoolsConfig", - "type": "publicKey" - }, - { - "name": "tickSpacing", - "type": "u16" - }, - { - "name": "defaultFeeRate", - "type": "u16" - } - ] - } - }, - { - "name": "positionBundle", - "type": { - "kind": "struct", - "fields": [ - { - "name": "positionBundleMint", - "type": "publicKey" - }, - { - "name": "positionBitmap", - "type": { - "array": [ - "u8", - 32 - ] - } - } - ] - } - }, - { - "name": "position", - "type": { - "kind": "struct", - "fields": [ - { - "name": "whirlpool", - "type": "publicKey" - }, - { - "name": "positionMint", - "type": "publicKey" - }, - { - "name": "liquidity", - "type": "u128" - }, - { - "name": "tickLowerIndex", - "type": "i32" - }, - { - "name": "tickUpperIndex", - "type": "i32" - }, - { - "name": "feeGrowthCheckpointA", - "type": "u128" - }, - { - "name": "feeOwedA", - "type": "u64" - }, - { - "name": "feeGrowthCheckpointB", - "type": "u128" - }, - { - "name": "feeOwedB", - "type": "u64" - }, - { - "name": "rewardInfos", - "type": { - "array": [ - { - "defined": "PositionRewardInfo" - }, - 3 - ] - } - } - ] - } - }, - { - "name": "tickArray", - "type": { - "kind": "struct", - "fields": [ - { - "name": "startTickIndex", - "type": "i32" - }, - { - "name": "ticks", - "type": { - "array": [ - { - "defined": "Tick" - }, - 88 - ] - } - }, - { - "name": "whirlpool", - "type": "publicKey" - } - ] - } - }, - { - "name": "tokenBadge", - "type": { - "kind": "struct", - "fields": [ - { - "name": "whirlpoolsConfig", - "type": "publicKey" - }, - { - "name": "tokenMint", - "type": "publicKey" - } - ] - } - }, - { - "name": "whirlpool", - "type": { - "kind": "struct", - "fields": [ - { - "name": "whirlpoolsConfig", - "type": "publicKey" - }, - { - "name": "whirlpoolBump", - "type": { - "array": [ - "u8", - 1 - ] - } - }, - { - "name": "tickSpacing", - "type": "u16" - }, - { - "name": "tickSpacingSeed", - "type": { - "array": [ - "u8", - 2 - ] - } - }, - { - "name": "feeRate", - "type": "u16" - }, - { - "name": "protocolFeeRate", - "type": "u16" - }, - { - "name": "liquidity", - "type": "u128" - }, - { - "name": "sqrtPrice", - "type": "u128" - }, - { - "name": "tickCurrentIndex", - "type": "i32" - }, - { - "name": "protocolFeeOwedA", - "type": "u64" - }, - { - "name": "protocolFeeOwedB", - "type": "u64" - }, - { - "name": "tokenMintA", - "type": "publicKey" - }, - { - "name": "tokenVaultA", - "type": "publicKey" - }, - { - "name": "feeGrowthGlobalA", - "type": "u128" - }, - { - "name": "tokenMintB", - "type": "publicKey" - }, - { - "name": "tokenVaultB", - "type": "publicKey" - }, - { - "name": "feeGrowthGlobalB", - "type": "u128" - }, - { - "name": "rewardLastUpdatedTimestamp", - "type": "u64" - }, - { - "name": "rewardInfos", - "type": { - "array": [ - { - "defined": "WhirlpoolRewardInfo" - }, - 3 - ] - } - } - ] - } - } - ], - "types": [ - { - "name": "OpenPositionBumps", - "type": { - "kind": "struct", - "fields": [ - { - "name": "positionBump", - "type": "u8" - } - ] - } - }, - { - "name": "OpenPositionWithMetadataBumps", - "type": { - "kind": "struct", - "fields": [ - { - "name": "positionBump", - "type": "u8" - }, - { - "name": "metadataBump", - "type": "u8" - } - ] - } - }, - { - "name": "PositionRewardInfo", - "type": { - "kind": "struct", - "fields": [ - { - "name": "growthInsideCheckpoint", - "type": "u128" - }, - { - "name": "amountOwed", - "type": "u64" - } - ] - } - }, - { - "name": "Tick", - "type": { - "kind": "struct", - "fields": [ - { - "name": "initialized", - "type": "bool" - }, - { - "name": "liquidityNet", - "type": "i128" - }, - { - "name": "liquidityGross", - "type": "u128" - }, - { - "name": "feeGrowthOutsideA", - "type": "u128" - }, - { - "name": "feeGrowthOutsideB", - "type": "u128" - }, - { - "name": "rewardGrowthsOutside", - "type": { - "array": [ - "u128", - 3 - ] - } - } - ] - } - }, - { - "name": "WhirlpoolRewardInfo", - "docs": [ - "Stores the state relevant for tracking liquidity mining rewards at the `Whirlpool` level.", - "These values are used in conjunction with `PositionRewardInfo`, `Tick.reward_growths_outside`,", - "and `Whirlpool.reward_last_updated_timestamp` to determine how many rewards are earned by open", - "positions." - ], - "type": { - "kind": "struct", - "fields": [ - { - "name": "mint", - "docs": [ - "Reward token mint." - ], - "type": "publicKey" - }, - { - "name": "vault", - "docs": [ - "Reward vault token account." - ], - "type": "publicKey" - }, - { - "name": "authority", - "docs": [ - "Authority account that has permission to initialize the reward and set emissions." - ], - "type": "publicKey" - }, - { - "name": "emissionsPerSecondX64", - "docs": [ - "Q64.64 number that indicates how many tokens per second are earned per unit of liquidity." - ], - "type": "u128" - }, - { - "name": "growthGlobalX64", - "docs": [ - "Q64.64 number that tracks the total tokens earned per unit of liquidity since the reward", - "emissions were turned on." - ], - "type": "u128" - } - ] - } - }, - { - "name": "WhirlpoolBumps", - "type": { - "kind": "struct", - "fields": [ - { - "name": "whirlpoolBump", - "type": "u8" - } - ] - } - }, - { - "name": "RemainingAccountsSlice", - "type": { - "kind": "struct", - "fields": [ - { - "name": "accountsType", - "type": { - "defined": "AccountsType" - } - }, - { - "name": "length", - "type": "u8" - } - ] - } - }, - { - "name": "RemainingAccountsInfo", - "type": { - "kind": "struct", - "fields": [ - { - "name": "slices", - "type": { - "vec": { - "defined": "RemainingAccountsSlice" - } - } - } - ] - } - }, - { - "name": "CurrIndex", - "type": { - "kind": "enum", - "variants": [ - { - "name": "Below" - }, - { - "name": "Inside" - }, - { - "name": "Above" - } - ] - } - }, - { - "name": "TickLabel", - "type": { - "kind": "enum", - "variants": [ - { - "name": "Upper" - }, - { - "name": "Lower" - } - ] - } - }, - { - "name": "Direction", - "type": { - "kind": "enum", - "variants": [ - { - "name": "Left" - }, - { - "name": "Right" - } - ] - } - }, - { - "name": "AccountsType", - "type": { - "kind": "enum", - "variants": [ - { - "name": "TransferHookA" - }, - { - "name": "TransferHookB" - }, - { - "name": "TransferHookReward" - }, - { - "name": "TransferHookInput" - }, - { - "name": "TransferHookIntermediate" - }, - { - "name": "TransferHookOutput" - }, - { - "name": "SupplementalTickArrays" - }, - { - "name": "SupplementalTickArraysOne" - }, - { - "name": "SupplementalTickArraysTwo" - } - ] - } - } - ], - "errors": [ - { - "code": 6000, - "name": "InvalidEnum", - "msg": "Enum value could not be converted" - }, - { - "code": 6001, - "name": "InvalidStartTick", - "msg": "Invalid start tick index provided." - }, - { - "code": 6002, - "name": "TickArrayExistInPool", - "msg": "Tick-array already exists in this whirlpool" - }, - { - "code": 6003, - "name": "TickArrayIndexOutofBounds", - "msg": "Attempt to search for a tick-array failed" - }, - { - "code": 6004, - "name": "InvalidTickSpacing", - "msg": "Tick-spacing is not supported" - }, - { - "code": 6005, - "name": "ClosePositionNotEmpty", - "msg": "Position is not empty It cannot be closed" - }, - { - "code": 6006, - "name": "DivideByZero", - "msg": "Unable to divide by zero" - }, - { - "code": 6007, - "name": "NumberCastError", - "msg": "Unable to cast number into BigInt" - }, - { - "code": 6008, - "name": "NumberDownCastError", - "msg": "Unable to down cast number" - }, - { - "code": 6009, - "name": "TickNotFound", - "msg": "Tick not found within tick array" - }, - { - "code": 6010, - "name": "InvalidTickIndex", - "msg": "Provided tick index is either out of bounds or uninitializable" - }, - { - "code": 6011, - "name": "SqrtPriceOutOfBounds", - "msg": "Provided sqrt price out of bounds" - }, - { - "code": 6012, - "name": "LiquidityZero", - "msg": "Liquidity amount must be greater than zero" - }, - { - "code": 6013, - "name": "LiquidityTooHigh", - "msg": "Liquidity amount must be less than i64::MAX" - }, - { - "code": 6014, - "name": "LiquidityOverflow", - "msg": "Liquidity overflow" - }, - { - "code": 6015, - "name": "LiquidityUnderflow", - "msg": "Liquidity underflow" - }, - { - "code": 6016, - "name": "LiquidityNetError", - "msg": "Tick liquidity net underflowed or overflowed" - }, - { - "code": 6017, - "name": "TokenMaxExceeded", - "msg": "Exceeded token max" - }, - { - "code": 6018, - "name": "TokenMinSubceeded", - "msg": "Did not meet token min" - }, - { - "code": 6019, - "name": "MissingOrInvalidDelegate", - "msg": "Position token account has a missing or invalid delegate" - }, - { - "code": 6020, - "name": "InvalidPositionTokenAmount", - "msg": "Position token amount must be 1" - }, - { - "code": 6021, - "name": "InvalidTimestampConversion", - "msg": "Timestamp should be convertible from i64 to u64" - }, - { - "code": 6022, - "name": "InvalidTimestamp", - "msg": "Timestamp should be greater than the last updated timestamp" - }, - { - "code": 6023, - "name": "InvalidTickArraySequence", - "msg": "Invalid tick array sequence provided for instruction." - }, - { - "code": 6024, - "name": "InvalidTokenMintOrder", - "msg": "Token Mint in wrong order" - }, - { - "code": 6025, - "name": "RewardNotInitialized", - "msg": "Reward not initialized" - }, - { - "code": 6026, - "name": "InvalidRewardIndex", - "msg": "Invalid reward index" - }, - { - "code": 6027, - "name": "RewardVaultAmountInsufficient", - "msg": "Reward vault requires amount to support emissions for at least one day" - }, - { - "code": 6028, - "name": "FeeRateMaxExceeded", - "msg": "Exceeded max fee rate" - }, - { - "code": 6029, - "name": "ProtocolFeeRateMaxExceeded", - "msg": "Exceeded max protocol fee rate" - }, - { - "code": 6030, - "name": "MultiplicationShiftRightOverflow", - "msg": "Multiplication with shift right overflow" - }, - { - "code": 6031, - "name": "MulDivOverflow", - "msg": "Muldiv overflow" - }, - { - "code": 6032, - "name": "MulDivInvalidInput", - "msg": "Invalid div_u256 input" - }, - { - "code": 6033, - "name": "MultiplicationOverflow", - "msg": "Multiplication overflow" - }, - { - "code": 6034, - "name": "InvalidSqrtPriceLimitDirection", - "msg": "Provided SqrtPriceLimit not in the same direction as the swap." - }, - { - "code": 6035, - "name": "ZeroTradableAmount", - "msg": "There are no tradable amount to swap." - }, - { - "code": 6036, - "name": "AmountOutBelowMinimum", - "msg": "Amount out below minimum threshold" - }, - { - "code": 6037, - "name": "AmountInAboveMaximum", - "msg": "Amount in above maximum threshold" - }, - { - "code": 6038, - "name": "TickArraySequenceInvalidIndex", - "msg": "Invalid index for tick array sequence" - }, - { - "code": 6039, - "name": "AmountCalcOverflow", - "msg": "Amount calculated overflows" - }, - { - "code": 6040, - "name": "AmountRemainingOverflow", - "msg": "Amount remaining overflows" - }, - { - "code": 6041, - "name": "InvalidIntermediaryMint", - "msg": "Invalid intermediary mint" - }, - { - "code": 6042, - "name": "DuplicateTwoHopPool", - "msg": "Duplicate two hop pool" - }, - { - "code": 6043, - "name": "InvalidBundleIndex", - "msg": "Bundle index is out of bounds" - }, - { - "code": 6044, - "name": "BundledPositionAlreadyOpened", - "msg": "Position has already been opened" - }, - { - "code": 6045, - "name": "BundledPositionAlreadyClosed", - "msg": "Position has already been closed" - }, - { - "code": 6046, - "name": "PositionBundleNotDeletable", - "msg": "Unable to delete PositionBundle with open positions" - }, - { - "code": 6047, - "name": "UnsupportedTokenMint", - "msg": "Token mint has unsupported attributes" - }, - { - "code": 6048, - "name": "RemainingAccountsInvalidSlice", - "msg": "Invalid remaining accounts" - }, - { - "code": 6049, - "name": "RemainingAccountsInsufficient", - "msg": "Insufficient remaining accounts" - }, - { - "code": 6050, - "name": "NoExtraAccountsForTransferHook", - "msg": "Unable to call transfer hook without extra accounts" - }, - { - "code": 6051, - "name": "IntermediateTokenAmountMismatch", - "msg": "Output and input amount mismatch" - }, - { - "code": 6052, - "name": "TransferFeeCalculationError", - "msg": "Transfer fee calculation failed" - }, - { - "code": 6053, - "name": "RemainingAccountsDuplicatedAccountsType", - "msg": "Same accounts type is provided more than once" - }, - { - "code": 6054, - "name": "TooManySupplementalTickArrays", - "msg": "Too many supplemental tick arrays provided" - }, - { - "code": 6055, - "name": "DifferentWhirlpoolTickArrayAccount", - "msg": "TickArray account for different whirlpool provided" - } - ] -}; - -export const IDL: Whirlpool = { - "version": "0.3.0", - "name": "whirlpool", - "instructions": [ - { - "name": "initializeConfig", - "docs": [ - "Initializes a WhirlpoolsConfig account that hosts info & authorities", - "required to govern a set of Whirlpools.", - "", - "### Parameters", - "- `fee_authority` - Authority authorized to initialize fee-tiers and set customs fees.", - "- `collect_protocol_fees_authority` - Authority authorized to collect protocol fees.", - "- `reward_emissions_super_authority` - Authority authorized to set reward authorities in pools." - ], - "accounts": [ - { - "name": "config", - "isMut": true, - "isSigner": true - }, - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "feeAuthority", - "type": "publicKey" - }, - { - "name": "collectProtocolFeesAuthority", - "type": "publicKey" - }, - { - "name": "rewardEmissionsSuperAuthority", - "type": "publicKey" - }, - { - "name": "defaultProtocolFeeRate", - "type": "u16" - } - ] - }, - { - "name": "initializePool", - "docs": [ - "Initializes a Whirlpool account.", - "Fee rate is set to the default values on the config and supplied fee_tier.", - "", - "### Parameters", - "- `bumps` - The bump value when deriving the PDA of the Whirlpool address.", - "- `tick_spacing` - The desired tick spacing for this pool.", - "- `initial_sqrt_price` - The desired initial sqrt-price for this pool", - "", - "#### Special Errors", - "`InvalidTokenMintOrder` - The order of mints have to be ordered by", - "`SqrtPriceOutOfBounds` - provided initial_sqrt_price is not between 2^-64 to 2^64", - "" - ], - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintB", - "isMut": false, - "isSigner": false - }, - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultA", - "isMut": true, - "isSigner": true - }, - { - "name": "tokenVaultB", - "isMut": true, - "isSigner": true - }, - { - "name": "feeTier", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "rent", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "bumps", - "type": { - "defined": "WhirlpoolBumps" - } - }, - { - "name": "tickSpacing", - "type": "u16" - }, - { - "name": "initialSqrtPrice", - "type": "u128" - } - ] - }, - { - "name": "initializeTickArray", - "docs": [ - "Initializes a tick_array account to represent a tick-range in a Whirlpool.", - "", - "### Parameters", - "- `start_tick_index` - The starting tick index for this tick-array.", - "Has to be a multiple of TickArray size & the tick spacing of this pool.", - "", - "#### Special Errors", - "- `InvalidStartTick` - if the provided start tick is out of bounds or is not a multiple of", - "TICK_ARRAY_SIZE * tick spacing." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": false, - "isSigner": false - }, - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "tickArray", - "isMut": true, - "isSigner": false - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "startTickIndex", - "type": "i32" - } - ] - }, - { - "name": "initializeFeeTier", - "docs": [ - "Initializes a fee_tier account usable by Whirlpools in a WhirlpoolConfig space.", - "", - "### Authority", - "- \"fee_authority\" - Set authority in the WhirlpoolConfig", - "", - "### Parameters", - "- `tick_spacing` - The tick-spacing that this fee-tier suggests the default_fee_rate for.", - "- `default_fee_rate` - The default fee rate that a pool will use if the pool uses this", - "fee tier during initialization.", - "", - "#### Special Errors", - "- `FeeRateMaxExceeded` - If the provided default_fee_rate exceeds MAX_FEE_RATE." - ], - "accounts": [ - { - "name": "config", - "isMut": false, - "isSigner": false - }, - { - "name": "feeTier", - "isMut": true, - "isSigner": false - }, - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "feeAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "tickSpacing", - "type": "u16" - }, - { - "name": "defaultFeeRate", - "type": "u16" - } - ] - }, - { - "name": "initializeReward", - "docs": [ - "Initialize reward for a Whirlpool. A pool can only support up to a set number of rewards.", - "", - "### Authority", - "- \"reward_authority\" - assigned authority by the reward_super_authority for the specified", - "reward-index in this Whirlpool", - "", - "### Parameters", - "- `reward_index` - The reward index that we'd like to initialize. (0 <= index <= NUM_REWARDS)", - "", - "#### Special Errors", - "- `InvalidRewardIndex` - If the provided reward index doesn't match the lowest uninitialized", - "index in this pool, or exceeds NUM_REWARDS, or", - "all reward slots for this pool has been initialized." - ], - "accounts": [ - { - "name": "rewardAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "rewardMint", - "isMut": false, - "isSigner": false - }, - { - "name": "rewardVault", - "isMut": true, - "isSigner": true - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "rent", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "rewardIndex", - "type": "u8" - } - ] - }, - { - "name": "setRewardEmissions", - "docs": [ - "Set the reward emissions for a reward in a Whirlpool.", - "", - "### Authority", - "- \"reward_authority\" - assigned authority by the reward_super_authority for the specified", - "reward-index in this Whirlpool", - "", - "### Parameters", - "- `reward_index` - The reward index (0 <= index <= NUM_REWARDS) that we'd like to modify.", - "- `emissions_per_second_x64` - The amount of rewards emitted in this pool.", - "", - "#### Special Errors", - "- `RewardVaultAmountInsufficient` - The amount of rewards in the reward vault cannot emit", - "more than a day of desired emissions.", - "- `InvalidTimestamp` - Provided timestamp is not in order with the previous timestamp.", - "- `InvalidRewardIndex` - If the provided reward index doesn't match the lowest uninitialized", - "index in this pool, or exceeds NUM_REWARDS, or", - "all reward slots for this pool has been initialized." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "rewardAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "rewardVault", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "rewardIndex", - "type": "u8" - }, - { - "name": "emissionsPerSecondX64", - "type": "u128" - } - ] - }, - { - "name": "openPosition", - "docs": [ - "Open a position in a Whirlpool. A unique token will be minted to represent the position", - "in the users wallet. The position will start off with 0 liquidity.", - "", - "### Parameters", - "- `tick_lower_index` - The tick specifying the lower end of the position range.", - "- `tick_upper_index` - The tick specifying the upper end of the position range.", - "", - "#### Special Errors", - "- `InvalidTickIndex` - If a provided tick is out of bounds, out of order or not a multiple of", - "the tick-spacing in this pool." - ], - "accounts": [ - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "owner", - "isMut": false, - "isSigner": false - }, - { - "name": "position", - "isMut": true, - "isSigner": false - }, - { - "name": "positionMint", - "isMut": true, - "isSigner": true - }, - { - "name": "positionTokenAccount", - "isMut": true, - "isSigner": false - }, - { - "name": "whirlpool", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "rent", - "isMut": false, - "isSigner": false - }, - { - "name": "associatedTokenProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "bumps", - "type": { - "defined": "OpenPositionBumps" - } - }, - { - "name": "tickLowerIndex", - "type": "i32" - }, - { - "name": "tickUpperIndex", - "type": "i32" - } - ] - }, - { - "name": "openPositionWithMetadata", - "docs": [ - "Open a position in a Whirlpool. A unique token will be minted to represent the position", - "in the users wallet. Additional Metaplex metadata is appended to identify the token.", - "The position will start off with 0 liquidity.", - "", - "### Parameters", - "- `tick_lower_index` - The tick specifying the lower end of the position range.", - "- `tick_upper_index` - The tick specifying the upper end of the position range.", - "", - "#### Special Errors", - "- `InvalidTickIndex` - If a provided tick is out of bounds, out of order or not a multiple of", - "the tick-spacing in this pool." - ], - "accounts": [ - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "owner", - "isMut": false, - "isSigner": false - }, - { - "name": "position", - "isMut": true, - "isSigner": false - }, - { - "name": "positionMint", - "isMut": true, - "isSigner": true - }, - { - "name": "positionMetadataAccount", - "isMut": true, - "isSigner": false, - "docs": [ - "https://github.com/metaplex-foundation/metaplex-program-library/blob/master/token-metadata/program/src/utils.rs#L873" - ] - }, - { - "name": "positionTokenAccount", - "isMut": true, - "isSigner": false - }, - { - "name": "whirlpool", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "rent", - "isMut": false, - "isSigner": false - }, - { - "name": "associatedTokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "metadataProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "metadataUpdateAuth", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "bumps", - "type": { - "defined": "OpenPositionWithMetadataBumps" - } - }, - { - "name": "tickLowerIndex", - "type": "i32" - }, - { - "name": "tickUpperIndex", - "type": "i32" - } - ] - }, - { - "name": "increaseLiquidity", - "docs": [ - "Add liquidity to a position in the Whirlpool. This call also updates the position's accrued fees and rewards.", - "", - "### Authority", - "- `position_authority` - authority that owns the token corresponding to this desired position.", - "", - "### Parameters", - "- `liquidity_amount` - The total amount of Liquidity the user is willing to deposit.", - "- `token_max_a` - The maximum amount of tokenA the user is willing to deposit.", - "- `token_max_b` - The maximum amount of tokenB the user is willing to deposit.", - "", - "#### Special Errors", - "- `LiquidityZero` - Provided liquidity amount is zero.", - "- `LiquidityTooHigh` - Provided liquidity exceeds u128::max.", - "- `TokenMaxExceeded` - The required token to perform this operation exceeds the user defined amount." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "positionAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "position", - "isMut": true, - "isSigner": false - }, - { - "name": "positionTokenAccount", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenOwnerAccountA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultB", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayLower", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayUpper", - "isMut": true, - "isSigner": false - } - ], - "args": [ - { - "name": "liquidityAmount", - "type": "u128" - }, - { - "name": "tokenMaxA", - "type": "u64" - }, - { - "name": "tokenMaxB", - "type": "u64" - } - ] - }, - { - "name": "decreaseLiquidity", - "docs": [ - "Withdraw liquidity from a position in the Whirlpool. This call also updates the position's accrued fees and rewards.", - "", - "### Authority", - "- `position_authority` - authority that owns the token corresponding to this desired position.", - "", - "### Parameters", - "- `liquidity_amount` - The total amount of Liquidity the user desires to withdraw.", - "- `token_min_a` - The minimum amount of tokenA the user is willing to withdraw.", - "- `token_min_b` - The minimum amount of tokenB the user is willing to withdraw.", - "", - "#### Special Errors", - "- `LiquidityZero` - Provided liquidity amount is zero.", - "- `LiquidityTooHigh` - Provided liquidity exceeds u128::max.", - "- `TokenMinSubceeded` - The required token to perform this operation subceeds the user defined amount." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "positionAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "position", - "isMut": true, - "isSigner": false - }, - { - "name": "positionTokenAccount", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenOwnerAccountA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultB", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayLower", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayUpper", - "isMut": true, - "isSigner": false - } - ], - "args": [ - { - "name": "liquidityAmount", - "type": "u128" - }, - { - "name": "tokenMinA", - "type": "u64" - }, - { - "name": "tokenMinB", - "type": "u64" - } - ] - }, - { - "name": "updateFeesAndRewards", - "docs": [ - "Update the accrued fees and rewards for a position.", - "", - "#### Special Errors", - "- `TickNotFound` - Provided tick array account does not contain the tick for this position.", - "- `LiquidityZero` - Position has zero liquidity and therefore already has the most updated fees and reward values." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "position", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayLower", - "isMut": false, - "isSigner": false - }, - { - "name": "tickArrayUpper", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "collectFees", - "docs": [ - "Collect fees accrued for this position.", - "", - "### Authority", - "- `position_authority` - authority that owns the token corresponding to this desired position." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": false, - "isSigner": false - }, - { - "name": "positionAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "position", - "isMut": true, - "isSigner": false - }, - { - "name": "positionTokenAccount", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenOwnerAccountA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "collectReward", - "docs": [ - "Collect rewards accrued for this position.", - "", - "### Authority", - "- `position_authority` - authority that owns the token corresponding to this desired position." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": false, - "isSigner": false - }, - { - "name": "positionAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "position", - "isMut": true, - "isSigner": false - }, - { - "name": "positionTokenAccount", - "isMut": false, - "isSigner": false - }, - { - "name": "rewardOwnerAccount", - "isMut": true, - "isSigner": false - }, - { - "name": "rewardVault", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "rewardIndex", - "type": "u8" - } - ] - }, - { - "name": "collectProtocolFees", - "docs": [ - "Collect the protocol fees accrued in this Whirlpool", - "", - "### Authority", - "- `collect_protocol_fees_authority` - assigned authority in the WhirlpoolConfig that can collect protocol fees" - ], - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": false, - "isSigner": false - }, - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "collectProtocolFeesAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "tokenVaultA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenDestinationA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenDestinationB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "swap", - "docs": [ - "Perform a swap in this Whirlpool", - "", - "### Authority", - "- \"token_authority\" - The authority to withdraw tokens from the input token account.", - "", - "### Parameters", - "- `amount` - The amount of input or output token to swap from (depending on amount_specified_is_input).", - "- `other_amount_threshold` - The maximum/minimum of input/output token to swap into (depending on amount_specified_is_input).", - "- `sqrt_price_limit` - The maximum/minimum price the swap will swap to.", - "- `amount_specified_is_input` - Specifies the token the parameter `amount`represents. If true, the amount represents the input token of the swap.", - "- `a_to_b` - The direction of the swap. True if swapping from A to B. False if swapping from B to A.", - "", - "#### Special Errors", - "- `ZeroTradableAmount` - User provided parameter `amount` is 0.", - "- `InvalidSqrtPriceLimitDirection` - User provided parameter `sqrt_price_limit` does not match the direction of the trade.", - "- `SqrtPriceOutOfBounds` - User provided parameter `sqrt_price_limit` is over Whirlppool's max/min bounds for sqrt-price.", - "- `InvalidTickArraySequence` - User provided tick-arrays are not in sequential order required to proceed in this trade direction.", - "- `TickArraySequenceInvalidIndex` - The swap loop attempted to access an invalid array index during the query of the next initialized tick.", - "- `TickArrayIndexOutofBounds` - The swap loop attempted to access an invalid array index during tick crossing.", - "- `LiquidityOverflow` - Liquidity value overflowed 128bits during tick crossing.", - "- `InvalidTickSpacing` - The swap pool was initialized with tick-spacing of 0." - ], - "accounts": [ - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultB", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArray0", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArray1", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArray2", - "isMut": true, - "isSigner": false - }, - { - "name": "oracle", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "amount", - "type": "u64" - }, - { - "name": "otherAmountThreshold", - "type": "u64" - }, - { - "name": "sqrtPriceLimit", - "type": "u128" - }, - { - "name": "amountSpecifiedIsInput", - "type": "bool" - }, - { - "name": "aToB", - "type": "bool" - } - ] - }, - { - "name": "closePosition", - "docs": [ - "Close a position in a Whirlpool. Burns the position token in the owner's wallet.", - "", - "### Authority", - "- \"position_authority\" - The authority that owns the position token.", - "", - "#### Special Errors", - "- `ClosePositionNotEmpty` - The provided position account is not empty." - ], - "accounts": [ - { - "name": "positionAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "receiver", - "isMut": true, - "isSigner": false - }, - { - "name": "position", - "isMut": true, - "isSigner": false - }, - { - "name": "positionMint", - "isMut": true, - "isSigner": false - }, - { - "name": "positionTokenAccount", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "setDefaultFeeRate", - "docs": [ - "Set the default_fee_rate for a FeeTier", - "Only the current fee authority has permission to invoke this instruction.", - "", - "### Authority", - "- \"fee_authority\" - Set authority in the WhirlpoolConfig", - "", - "### Parameters", - "- `default_fee_rate` - The default fee rate that a pool will use if the pool uses this", - "fee tier during initialization.", - "", - "#### Special Errors", - "- `FeeRateMaxExceeded` - If the provided default_fee_rate exceeds MAX_FEE_RATE." - ], - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": false, - "isSigner": false - }, - { - "name": "feeTier", - "isMut": true, - "isSigner": false - }, - { - "name": "feeAuthority", - "isMut": false, - "isSigner": true - } - ], - "args": [ - { - "name": "defaultFeeRate", - "type": "u16" - } - ] - }, - { - "name": "setDefaultProtocolFeeRate", - "docs": [ - "Sets the default protocol fee rate for a WhirlpoolConfig", - "Protocol fee rate is represented as a basis point.", - "Only the current fee authority has permission to invoke this instruction.", - "", - "### Authority", - "- \"fee_authority\" - Set authority that can modify pool fees in the WhirlpoolConfig", - "", - "### Parameters", - "- `default_protocol_fee_rate` - Rate that is referenced during the initialization of a Whirlpool using this config.", - "", - "#### Special Errors", - "- `ProtocolFeeRateMaxExceeded` - If the provided default_protocol_fee_rate exceeds MAX_PROTOCOL_FEE_RATE." - ], - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": true, - "isSigner": false - }, - { - "name": "feeAuthority", - "isMut": false, - "isSigner": true - } - ], - "args": [ - { - "name": "defaultProtocolFeeRate", - "type": "u16" - } - ] - }, - { - "name": "setFeeRate", - "docs": [ - "Sets the fee rate for a Whirlpool.", - "Fee rate is represented as hundredths of a basis point.", - "Only the current fee authority has permission to invoke this instruction.", - "", - "### Authority", - "- \"fee_authority\" - Set authority that can modify pool fees in the WhirlpoolConfig", - "", - "### Parameters", - "- `fee_rate` - The rate that the pool will use to calculate fees going onwards.", - "", - "#### Special Errors", - "- `FeeRateMaxExceeded` - If the provided fee_rate exceeds MAX_FEE_RATE." - ], - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": false, - "isSigner": false - }, - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "feeAuthority", - "isMut": false, - "isSigner": true - } - ], - "args": [ - { - "name": "feeRate", - "type": "u16" - } - ] - }, - { - "name": "setProtocolFeeRate", - "docs": [ - "Sets the protocol fee rate for a Whirlpool.", - "Protocol fee rate is represented as a basis point.", - "Only the current fee authority has permission to invoke this instruction.", - "", - "### Authority", - "- \"fee_authority\" - Set authority that can modify pool fees in the WhirlpoolConfig", - "", - "### Parameters", - "- `protocol_fee_rate` - The rate that the pool will use to calculate protocol fees going onwards.", - "", - "#### Special Errors", - "- `ProtocolFeeRateMaxExceeded` - If the provided default_protocol_fee_rate exceeds MAX_PROTOCOL_FEE_RATE." - ], - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": false, - "isSigner": false - }, - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "feeAuthority", - "isMut": false, - "isSigner": true - } - ], - "args": [ - { - "name": "protocolFeeRate", - "type": "u16" - } - ] - }, - { - "name": "setFeeAuthority", - "docs": [ - "Sets the fee authority for a WhirlpoolConfig.", - "The fee authority can set the fee & protocol fee rate for individual pools or", - "set the default fee rate for newly minted pools.", - "Only the current fee authority has permission to invoke this instruction.", - "", - "### Authority", - "- \"fee_authority\" - Set authority that can modify pool fees in the WhirlpoolConfig" - ], - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": true, - "isSigner": false - }, - { - "name": "feeAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "newFeeAuthority", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "setCollectProtocolFeesAuthority", - "docs": [ - "Sets the fee authority to collect protocol fees for a WhirlpoolConfig.", - "Only the current collect protocol fee authority has permission to invoke this instruction.", - "", - "### Authority", - "- \"fee_authority\" - Set authority that can collect protocol fees in the WhirlpoolConfig" - ], - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": true, - "isSigner": false - }, - { - "name": "collectProtocolFeesAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "newCollectProtocolFeesAuthority", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "setRewardAuthority", - "docs": [ - "Set the whirlpool reward authority at the provided `reward_index`.", - "Only the current reward authority for this reward index has permission to invoke this instruction.", - "", - "### Authority", - "- \"reward_authority\" - Set authority that can control reward emission for this particular reward.", - "", - "#### Special Errors", - "- `InvalidRewardIndex` - If the provided reward index doesn't match the lowest uninitialized", - "index in this pool, or exceeds NUM_REWARDS, or", - "all reward slots for this pool has been initialized." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "rewardAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "newRewardAuthority", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "rewardIndex", - "type": "u8" - } - ] - }, - { - "name": "setRewardAuthorityBySuperAuthority", - "docs": [ - "Set the whirlpool reward authority at the provided `reward_index`.", - "Only the current reward super authority has permission to invoke this instruction.", - "", - "### Authority", - "- \"reward_authority\" - Set authority that can control reward emission for this particular reward.", - "", - "#### Special Errors", - "- `InvalidRewardIndex` - If the provided reward index doesn't match the lowest uninitialized", - "index in this pool, or exceeds NUM_REWARDS, or", - "all reward slots for this pool has been initialized." - ], - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": false, - "isSigner": false - }, - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "rewardEmissionsSuperAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "newRewardAuthority", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "rewardIndex", - "type": "u8" - } - ] - }, - { - "name": "setRewardEmissionsSuperAuthority", - "docs": [ - "Set the whirlpool reward super authority for a WhirlpoolConfig", - "Only the current reward super authority has permission to invoke this instruction.", - "This instruction will not change the authority on any `WhirlpoolRewardInfo` whirlpool rewards.", - "", - "### Authority", - "- \"reward_emissions_super_authority\" - Set authority that can control reward authorities for all pools in this config space." - ], - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": true, - "isSigner": false - }, - { - "name": "rewardEmissionsSuperAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "newRewardEmissionsSuperAuthority", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "twoHopSwap", - "docs": [ - "Perform a two-hop swap in this Whirlpool", - "", - "### Authority", - "- \"token_authority\" - The authority to withdraw tokens from the input token account.", - "", - "### Parameters", - "- `amount` - The amount of input or output token to swap from (depending on amount_specified_is_input).", - "- `other_amount_threshold` - The maximum/minimum of input/output token to swap into (depending on amount_specified_is_input).", - "- `amount_specified_is_input` - Specifies the token the parameter `amount`represents. If true, the amount represents the input token of the swap.", - "- `a_to_b_one` - The direction of the swap of hop one. True if swapping from A to B. False if swapping from B to A.", - "- `a_to_b_two` - The direction of the swap of hop two. True if swapping from A to B. False if swapping from B to A.", - "- `sqrt_price_limit_one` - The maximum/minimum price the swap will swap to in the first hop.", - "- `sqrt_price_limit_two` - The maximum/minimum price the swap will swap to in the second hop.", - "", - "#### Special Errors", - "- `ZeroTradableAmount` - User provided parameter `amount` is 0.", - "- `InvalidSqrtPriceLimitDirection` - User provided parameter `sqrt_price_limit` does not match the direction of the trade.", - "- `SqrtPriceOutOfBounds` - User provided parameter `sqrt_price_limit` is over Whirlppool's max/min bounds for sqrt-price.", - "- `InvalidTickArraySequence` - User provided tick-arrays are not in sequential order required to proceed in this trade direction.", - "- `TickArraySequenceInvalidIndex` - The swap loop attempted to access an invalid array index during the query of the next initialized tick.", - "- `TickArrayIndexOutofBounds` - The swap loop attempted to access an invalid array index during tick crossing.", - "- `LiquidityOverflow` - Liquidity value overflowed 128bits during tick crossing.", - "- `InvalidTickSpacing` - The swap pool was initialized with tick-spacing of 0.", - "- `InvalidIntermediaryMint` - Error if the intermediary mint between hop one and two do not equal.", - "- `DuplicateTwoHopPool` - Error if whirlpool one & two are the same pool." - ], - "accounts": [ - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "whirlpoolOne", - "isMut": true, - "isSigner": false - }, - { - "name": "whirlpoolTwo", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountOneA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultOneA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountOneB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultOneB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountTwoA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultTwoA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountTwoB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultTwoB", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayOne0", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayOne1", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayOne2", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayTwo0", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayTwo1", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayTwo2", - "isMut": true, - "isSigner": false - }, - { - "name": "oracleOne", - "isMut": false, - "isSigner": false - }, - { - "name": "oracleTwo", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "amount", - "type": "u64" - }, - { - "name": "otherAmountThreshold", - "type": "u64" - }, - { - "name": "amountSpecifiedIsInput", - "type": "bool" - }, - { - "name": "aToBOne", - "type": "bool" - }, - { - "name": "aToBTwo", - "type": "bool" - }, - { - "name": "sqrtPriceLimitOne", - "type": "u128" - }, - { - "name": "sqrtPriceLimitTwo", - "type": "u128" - } - ] - }, - { - "name": "initializePositionBundle", - "docs": [ - "Initializes a PositionBundle account that bundles several positions.", - "A unique token will be minted to represent the position bundle in the users wallet." - ], - "accounts": [ - { - "name": "positionBundle", - "isMut": true, - "isSigner": false - }, - { - "name": "positionBundleMint", - "isMut": true, - "isSigner": true - }, - { - "name": "positionBundleTokenAccount", - "isMut": true, - "isSigner": false - }, - { - "name": "positionBundleOwner", - "isMut": false, - "isSigner": false - }, - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "rent", - "isMut": false, - "isSigner": false - }, - { - "name": "associatedTokenProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "initializePositionBundleWithMetadata", - "docs": [ - "Initializes a PositionBundle account that bundles several positions.", - "A unique token will be minted to represent the position bundle in the users wallet.", - "Additional Metaplex metadata is appended to identify the token." - ], - "accounts": [ - { - "name": "positionBundle", - "isMut": true, - "isSigner": false - }, - { - "name": "positionBundleMint", - "isMut": true, - "isSigner": true - }, - { - "name": "positionBundleMetadata", - "isMut": true, - "isSigner": false, - "docs": [ - "https://github.com/metaplex-foundation/metaplex-program-library/blob/773a574c4b34e5b9f248a81306ec24db064e255f/token-metadata/program/src/utils/metadata.rs#L100" - ] - }, - { - "name": "positionBundleTokenAccount", - "isMut": true, - "isSigner": false - }, - { - "name": "positionBundleOwner", - "isMut": false, - "isSigner": false - }, - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "metadataUpdateAuth", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "rent", - "isMut": false, - "isSigner": false - }, - { - "name": "associatedTokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "metadataProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "deletePositionBundle", - "docs": [ - "Delete a PositionBundle account. Burns the position bundle token in the owner's wallet.", - "", - "### Authority", - "- `position_bundle_owner` - The owner that owns the position bundle token.", - "", - "### Special Errors", - "- `PositionBundleNotDeletable` - The provided position bundle has open positions." - ], - "accounts": [ - { - "name": "positionBundle", - "isMut": true, - "isSigner": false - }, - { - "name": "positionBundleMint", - "isMut": true, - "isSigner": false - }, - { - "name": "positionBundleTokenAccount", - "isMut": true, - "isSigner": false - }, - { - "name": "positionBundleOwner", - "isMut": false, - "isSigner": true - }, - { - "name": "receiver", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "openBundledPosition", - "docs": [ - "Open a bundled position in a Whirlpool. No new tokens are issued", - "because the owner of the position bundle becomes the owner of the position.", - "The position will start off with 0 liquidity.", - "", - "### Authority", - "- `position_bundle_authority` - authority that owns the token corresponding to this desired position bundle.", - "", - "### Parameters", - "- `bundle_index` - The bundle index that we'd like to open.", - "- `tick_lower_index` - The tick specifying the lower end of the position range.", - "- `tick_upper_index` - The tick specifying the upper end of the position range.", - "", - "#### Special Errors", - "- `InvalidBundleIndex` - If the provided bundle index is out of bounds.", - "- `InvalidTickIndex` - If a provided tick is out of bounds, out of order or not a multiple of", - "the tick-spacing in this pool." - ], - "accounts": [ - { - "name": "bundledPosition", - "isMut": true, - "isSigner": false - }, - { - "name": "positionBundle", - "isMut": true, - "isSigner": false - }, - { - "name": "positionBundleTokenAccount", - "isMut": false, - "isSigner": false - }, - { - "name": "positionBundleAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "whirlpool", - "isMut": false, - "isSigner": false - }, - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "rent", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "bundleIndex", - "type": "u16" - }, - { - "name": "tickLowerIndex", - "type": "i32" - }, - { - "name": "tickUpperIndex", - "type": "i32" - } - ] - }, - { - "name": "closeBundledPosition", - "docs": [ - "Close a bundled position in a Whirlpool.", - "", - "### Authority", - "- `position_bundle_authority` - authority that owns the token corresponding to this desired position bundle.", - "", - "### Parameters", - "- `bundle_index` - The bundle index that we'd like to close.", - "", - "#### Special Errors", - "- `InvalidBundleIndex` - If the provided bundle index is out of bounds.", - "- `ClosePositionNotEmpty` - The provided position account is not empty." - ], - "accounts": [ - { - "name": "bundledPosition", - "isMut": true, - "isSigner": false - }, - { - "name": "positionBundle", - "isMut": true, - "isSigner": false - }, - { - "name": "positionBundleTokenAccount", - "isMut": false, - "isSigner": false - }, - { - "name": "positionBundleAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "receiver", - "isMut": true, - "isSigner": false - } - ], - "args": [ - { - "name": "bundleIndex", - "type": "u16" - } - ] - }, - { - "name": "collectFeesV2", - "docs": [ - "Collect fees accrued for this position.", - "", - "### Authority", - "- `position_authority` - authority that owns the token corresponding to this desired position." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": false, - "isSigner": false - }, - { - "name": "positionAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "position", - "isMut": true, - "isSigner": false - }, - { - "name": "positionTokenAccount", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintB", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenOwnerAccountA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenProgramA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgramB", - "isMut": false, - "isSigner": false - }, - { - "name": "memoProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "remainingAccountsInfo", - "type": { - "option": { - "defined": "RemainingAccountsInfo" - } - } - } - ] - }, - { - "name": "collectProtocolFeesV2", - "docs": [ - "Collect the protocol fees accrued in this Whirlpool", - "", - "### Authority", - "- `collect_protocol_fees_authority` - assigned authority in the WhirlpoolConfig that can collect protocol fees" - ], - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": false, - "isSigner": false - }, - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "collectProtocolFeesAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "tokenMintA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintB", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenVaultA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenDestinationA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenDestinationB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenProgramA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgramB", - "isMut": false, - "isSigner": false - }, - { - "name": "memoProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "remainingAccountsInfo", - "type": { - "option": { - "defined": "RemainingAccountsInfo" - } - } - } - ] - }, - { - "name": "collectRewardV2", - "docs": [ - "Collect rewards accrued for this position.", - "", - "### Authority", - "- `position_authority` - authority that owns the token corresponding to this desired position." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": false, - "isSigner": false - }, - { - "name": "positionAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "position", - "isMut": true, - "isSigner": false - }, - { - "name": "positionTokenAccount", - "isMut": false, - "isSigner": false - }, - { - "name": "rewardOwnerAccount", - "isMut": true, - "isSigner": false - }, - { - "name": "rewardMint", - "isMut": false, - "isSigner": false - }, - { - "name": "rewardVault", - "isMut": true, - "isSigner": false - }, - { - "name": "rewardTokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "memoProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "rewardIndex", - "type": "u8" - }, - { - "name": "remainingAccountsInfo", - "type": { - "option": { - "defined": "RemainingAccountsInfo" - } - } - } - ] - }, - { - "name": "decreaseLiquidityV2", - "docs": [ - "Withdraw liquidity from a position in the Whirlpool. This call also updates the position's accrued fees and rewards.", - "", - "### Authority", - "- `position_authority` - authority that owns the token corresponding to this desired position.", - "", - "### Parameters", - "- `liquidity_amount` - The total amount of Liquidity the user desires to withdraw.", - "- `token_min_a` - The minimum amount of tokenA the user is willing to withdraw.", - "- `token_min_b` - The minimum amount of tokenB the user is willing to withdraw.", - "", - "#### Special Errors", - "- `LiquidityZero` - Provided liquidity amount is zero.", - "- `LiquidityTooHigh` - Provided liquidity exceeds u128::max.", - "- `TokenMinSubceeded` - The required token to perform this operation subceeds the user defined amount." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenProgramA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgramB", - "isMut": false, - "isSigner": false - }, - { - "name": "memoProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "positionAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "position", - "isMut": true, - "isSigner": false - }, - { - "name": "positionTokenAccount", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintB", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenOwnerAccountA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultB", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayLower", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayUpper", - "isMut": true, - "isSigner": false - } - ], - "args": [ - { - "name": "liquidityAmount", - "type": "u128" - }, - { - "name": "tokenMinA", - "type": "u64" - }, - { - "name": "tokenMinB", - "type": "u64" - }, - { - "name": "remainingAccountsInfo", - "type": { - "option": { - "defined": "RemainingAccountsInfo" - } - } - } - ] - }, - { - "name": "increaseLiquidityV2", - "docs": [ - "Add liquidity to a position in the Whirlpool. This call also updates the position's accrued fees and rewards.", - "", - "### Authority", - "- `position_authority` - authority that owns the token corresponding to this desired position.", - "", - "### Parameters", - "- `liquidity_amount` - The total amount of Liquidity the user is willing to deposit.", - "- `token_max_a` - The maximum amount of tokenA the user is willing to deposit.", - "- `token_max_b` - The maximum amount of tokenB the user is willing to deposit.", - "", - "#### Special Errors", - "- `LiquidityZero` - Provided liquidity amount is zero.", - "- `LiquidityTooHigh` - Provided liquidity exceeds u128::max.", - "- `TokenMaxExceeded` - The required token to perform this operation exceeds the user defined amount." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenProgramA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgramB", - "isMut": false, - "isSigner": false - }, - { - "name": "memoProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "positionAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "position", - "isMut": true, - "isSigner": false - }, - { - "name": "positionTokenAccount", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintB", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenOwnerAccountA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultB", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayLower", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayUpper", - "isMut": true, - "isSigner": false - } - ], - "args": [ - { - "name": "liquidityAmount", - "type": "u128" - }, - { - "name": "tokenMaxA", - "type": "u64" - }, - { - "name": "tokenMaxB", - "type": "u64" - }, - { - "name": "remainingAccountsInfo", - "type": { - "option": { - "defined": "RemainingAccountsInfo" - } - } - } - ] - }, - { - "name": "initializePoolV2", - "docs": [ - "Initializes a Whirlpool account.", - "Fee rate is set to the default values on the config and supplied fee_tier.", - "", - "### Parameters", - "- `bumps` - The bump value when deriving the PDA of the Whirlpool address.", - "- `tick_spacing` - The desired tick spacing for this pool.", - "- `initial_sqrt_price` - The desired initial sqrt-price for this pool", - "", - "#### Special Errors", - "`InvalidTokenMintOrder` - The order of mints have to be ordered by", - "`SqrtPriceOutOfBounds` - provided initial_sqrt_price is not between 2^-64 to 2^64", - "" - ], - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintB", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenBadgeA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenBadgeB", - "isMut": false, - "isSigner": false - }, - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultA", - "isMut": true, - "isSigner": true - }, - { - "name": "tokenVaultB", - "isMut": true, - "isSigner": true - }, - { - "name": "feeTier", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgramA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgramB", - "isMut": false, - "isSigner": false - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "rent", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "tickSpacing", - "type": "u16" - }, - { - "name": "initialSqrtPrice", - "type": "u128" - } - ] - }, - { - "name": "initializeRewardV2", - "docs": [ - "Initialize reward for a Whirlpool. A pool can only support up to a set number of rewards.", - "", - "### Authority", - "- \"reward_authority\" - assigned authority by the reward_super_authority for the specified", - "reward-index in this Whirlpool", - "", - "### Parameters", - "- `reward_index` - The reward index that we'd like to initialize. (0 <= index <= NUM_REWARDS)", - "", - "#### Special Errors", - "- `InvalidRewardIndex` - If the provided reward index doesn't match the lowest uninitialized", - "index in this pool, or exceeds NUM_REWARDS, or", - "all reward slots for this pool has been initialized." - ], - "accounts": [ - { - "name": "rewardAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "rewardMint", - "isMut": false, - "isSigner": false - }, - { - "name": "rewardTokenBadge", - "isMut": false, - "isSigner": false - }, - { - "name": "rewardVault", - "isMut": true, - "isSigner": true - }, - { - "name": "rewardTokenProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "rent", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "rewardIndex", - "type": "u8" - } - ] - }, - { - "name": "setRewardEmissionsV2", - "docs": [ - "Set the reward emissions for a reward in a Whirlpool.", - "", - "### Authority", - "- \"reward_authority\" - assigned authority by the reward_super_authority for the specified", - "reward-index in this Whirlpool", - "", - "### Parameters", - "- `reward_index` - The reward index (0 <= index <= NUM_REWARDS) that we'd like to modify.", - "- `emissions_per_second_x64` - The amount of rewards emitted in this pool.", - "", - "#### Special Errors", - "- `RewardVaultAmountInsufficient` - The amount of rewards in the reward vault cannot emit", - "more than a day of desired emissions.", - "- `InvalidTimestamp` - Provided timestamp is not in order with the previous timestamp.", - "- `InvalidRewardIndex` - If the provided reward index doesn't match the lowest uninitialized", - "index in this pool, or exceeds NUM_REWARDS, or", - "all reward slots for this pool has been initialized." - ], - "accounts": [ - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "rewardAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "rewardVault", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "rewardIndex", - "type": "u8" - }, - { - "name": "emissionsPerSecondX64", - "type": "u128" - } - ] - }, - { - "name": "swapV2", - "docs": [ - "Perform a swap in this Whirlpool", - "", - "### Authority", - "- \"token_authority\" - The authority to withdraw tokens from the input token account.", - "", - "### Parameters", - "- `amount` - The amount of input or output token to swap from (depending on amount_specified_is_input).", - "- `other_amount_threshold` - The maximum/minimum of input/output token to swap into (depending on amount_specified_is_input).", - "- `sqrt_price_limit` - The maximum/minimum price the swap will swap to.", - "- `amount_specified_is_input` - Specifies the token the parameter `amount`represents. If true, the amount represents the input token of the swap.", - "- `a_to_b` - The direction of the swap. True if swapping from A to B. False if swapping from B to A.", - "", - "#### Special Errors", - "- `ZeroTradableAmount` - User provided parameter `amount` is 0.", - "- `InvalidSqrtPriceLimitDirection` - User provided parameter `sqrt_price_limit` does not match the direction of the trade.", - "- `SqrtPriceOutOfBounds` - User provided parameter `sqrt_price_limit` is over Whirlppool's max/min bounds for sqrt-price.", - "- `InvalidTickArraySequence` - User provided tick-arrays are not in sequential order required to proceed in this trade direction.", - "- `TickArraySequenceInvalidIndex` - The swap loop attempted to access an invalid array index during the query of the next initialized tick.", - "- `TickArrayIndexOutofBounds` - The swap loop attempted to access an invalid array index during tick crossing.", - "- `LiquidityOverflow` - Liquidity value overflowed 128bits during tick crossing.", - "- `InvalidTickSpacing` - The swap pool was initialized with tick-spacing of 0." - ], - "accounts": [ - { - "name": "tokenProgramA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgramB", - "isMut": false, - "isSigner": false - }, - { - "name": "memoProgram", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "whirlpool", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenMintA", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintB", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenOwnerAccountA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultA", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountB", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultB", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArray0", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArray1", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArray2", - "isMut": true, - "isSigner": false - }, - { - "name": "oracle", - "isMut": true, - "isSigner": false - } - ], - "args": [ - { - "name": "amount", - "type": "u64" - }, - { - "name": "otherAmountThreshold", - "type": "u64" - }, - { - "name": "sqrtPriceLimit", - "type": "u128" - }, - { - "name": "amountSpecifiedIsInput", - "type": "bool" - }, - { - "name": "aToB", - "type": "bool" - }, - { - "name": "remainingAccountsInfo", - "type": { - "option": { - "defined": "RemainingAccountsInfo" - } - } - } - ] - }, - { - "name": "twoHopSwapV2", - "docs": [ - "Perform a two-hop swap in this Whirlpool", - "", - "### Authority", - "- \"token_authority\" - The authority to withdraw tokens from the input token account.", - "", - "### Parameters", - "- `amount` - The amount of input or output token to swap from (depending on amount_specified_is_input).", - "- `other_amount_threshold` - The maximum/minimum of input/output token to swap into (depending on amount_specified_is_input).", - "- `amount_specified_is_input` - Specifies the token the parameter `amount`represents. If true, the amount represents the input token of the swap.", - "- `a_to_b_one` - The direction of the swap of hop one. True if swapping from A to B. False if swapping from B to A.", - "- `a_to_b_two` - The direction of the swap of hop two. True if swapping from A to B. False if swapping from B to A.", - "- `sqrt_price_limit_one` - The maximum/minimum price the swap will swap to in the first hop.", - "- `sqrt_price_limit_two` - The maximum/minimum price the swap will swap to in the second hop.", - "", - "#### Special Errors", - "- `ZeroTradableAmount` - User provided parameter `amount` is 0.", - "- `InvalidSqrtPriceLimitDirection` - User provided parameter `sqrt_price_limit` does not match the direction of the trade.", - "- `SqrtPriceOutOfBounds` - User provided parameter `sqrt_price_limit` is over Whirlppool's max/min bounds for sqrt-price.", - "- `InvalidTickArraySequence` - User provided tick-arrays are not in sequential order required to proceed in this trade direction.", - "- `TickArraySequenceInvalidIndex` - The swap loop attempted to access an invalid array index during the query of the next initialized tick.", - "- `TickArrayIndexOutofBounds` - The swap loop attempted to access an invalid array index during tick crossing.", - "- `LiquidityOverflow` - Liquidity value overflowed 128bits during tick crossing.", - "- `InvalidTickSpacing` - The swap pool was initialized with tick-spacing of 0.", - "- `InvalidIntermediaryMint` - Error if the intermediary mint between hop one and two do not equal.", - "- `DuplicateTwoHopPool` - Error if whirlpool one & two are the same pool." - ], - "accounts": [ - { - "name": "whirlpoolOne", - "isMut": true, - "isSigner": false - }, - { - "name": "whirlpoolTwo", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenMintInput", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintIntermediate", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenMintOutput", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgramInput", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgramIntermediate", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenProgramOutput", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenOwnerAccountInput", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultOneInput", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultOneIntermediate", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultTwoIntermediate", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenVaultTwoOutput", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenOwnerAccountOutput", - "isMut": true, - "isSigner": false - }, - { - "name": "tokenAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "tickArrayOne0", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayOne1", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayOne2", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayTwo0", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayTwo1", - "isMut": true, - "isSigner": false - }, - { - "name": "tickArrayTwo2", - "isMut": true, - "isSigner": false - }, - { - "name": "oracleOne", - "isMut": true, - "isSigner": false - }, - { - "name": "oracleTwo", - "isMut": true, - "isSigner": false - }, - { - "name": "memoProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [ - { - "name": "amount", - "type": "u64" - }, - { - "name": "otherAmountThreshold", - "type": "u64" - }, - { - "name": "amountSpecifiedIsInput", - "type": "bool" - }, - { - "name": "aToBOne", - "type": "bool" - }, - { - "name": "aToBTwo", - "type": "bool" - }, - { - "name": "sqrtPriceLimitOne", - "type": "u128" - }, - { - "name": "sqrtPriceLimitTwo", - "type": "u128" - }, - { - "name": "remainingAccountsInfo", - "type": { - "option": { - "defined": "RemainingAccountsInfo" - } - } - } - ] - }, - { - "name": "initializeConfigExtension", - "accounts": [ - { - "name": "config", - "isMut": false, - "isSigner": false - }, - { - "name": "configExtension", - "isMut": true, - "isSigner": false - }, - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "feeAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "setConfigExtensionAuthority", - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": false, - "isSigner": false - }, - { - "name": "whirlpoolsConfigExtension", - "isMut": true, - "isSigner": false - }, - { - "name": "configExtensionAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "newConfigExtensionAuthority", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "setTokenBadgeAuthority", - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": false, - "isSigner": false - }, - { - "name": "whirlpoolsConfigExtension", - "isMut": true, - "isSigner": false - }, - { - "name": "configExtensionAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "newTokenBadgeAuthority", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "initializeTokenBadge", - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": false, - "isSigner": false - }, - { - "name": "whirlpoolsConfigExtension", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenBadgeAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "tokenMint", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenBadge", - "isMut": true, - "isSigner": false - }, - { - "name": "funder", - "isMut": true, - "isSigner": true - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false - } - ], - "args": [] - }, - { - "name": "deleteTokenBadge", - "accounts": [ - { - "name": "whirlpoolsConfig", - "isMut": false, - "isSigner": false - }, - { - "name": "whirlpoolsConfigExtension", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenBadgeAuthority", - "isMut": false, - "isSigner": true - }, - { - "name": "tokenMint", - "isMut": false, - "isSigner": false - }, - { - "name": "tokenBadge", - "isMut": true, - "isSigner": false - }, - { - "name": "receiver", - "isMut": true, - "isSigner": false - } - ], - "args": [] - } - ], - "accounts": [ - { - "name": "whirlpoolsConfigExtension", - "type": { - "kind": "struct", - "fields": [ - { - "name": "whirlpoolsConfig", - "type": "publicKey" - }, - { - "name": "configExtensionAuthority", - "type": "publicKey" - }, - { - "name": "tokenBadgeAuthority", - "type": "publicKey" - } - ] - } - }, - { - "name": "whirlpoolsConfig", - "type": { - "kind": "struct", - "fields": [ - { - "name": "feeAuthority", - "type": "publicKey" - }, - { - "name": "collectProtocolFeesAuthority", - "type": "publicKey" - }, - { - "name": "rewardEmissionsSuperAuthority", - "type": "publicKey" - }, - { - "name": "defaultProtocolFeeRate", - "type": "u16" - } - ] - } - }, - { - "name": "feeTier", - "type": { - "kind": "struct", - "fields": [ - { - "name": "whirlpoolsConfig", - "type": "publicKey" - }, - { - "name": "tickSpacing", - "type": "u16" - }, - { - "name": "defaultFeeRate", - "type": "u16" - } - ] - } - }, - { - "name": "positionBundle", - "type": { - "kind": "struct", - "fields": [ - { - "name": "positionBundleMint", - "type": "publicKey" - }, - { - "name": "positionBitmap", - "type": { - "array": [ - "u8", - 32 - ] - } - } - ] - } - }, - { - "name": "position", - "type": { - "kind": "struct", - "fields": [ - { - "name": "whirlpool", - "type": "publicKey" - }, - { - "name": "positionMint", - "type": "publicKey" - }, - { - "name": "liquidity", - "type": "u128" - }, - { - "name": "tickLowerIndex", - "type": "i32" - }, - { - "name": "tickUpperIndex", - "type": "i32" - }, - { - "name": "feeGrowthCheckpointA", - "type": "u128" - }, - { - "name": "feeOwedA", - "type": "u64" - }, - { - "name": "feeGrowthCheckpointB", - "type": "u128" - }, - { - "name": "feeOwedB", - "type": "u64" - }, - { - "name": "rewardInfos", - "type": { - "array": [ - { - "defined": "PositionRewardInfo" - }, - 3 - ] - } - } - ] - } - }, - { - "name": "tickArray", - "type": { - "kind": "struct", - "fields": [ - { - "name": "startTickIndex", - "type": "i32" - }, - { - "name": "ticks", - "type": { - "array": [ - { - "defined": "Tick" - }, - 88 - ] - } - }, - { - "name": "whirlpool", - "type": "publicKey" - } - ] - } - }, - { - "name": "tokenBadge", - "type": { - "kind": "struct", - "fields": [ - { - "name": "whirlpoolsConfig", - "type": "publicKey" - }, - { - "name": "tokenMint", - "type": "publicKey" - } - ] - } - }, - { - "name": "whirlpool", - "type": { - "kind": "struct", - "fields": [ - { - "name": "whirlpoolsConfig", - "type": "publicKey" - }, - { - "name": "whirlpoolBump", - "type": { - "array": [ - "u8", - 1 - ] - } - }, - { - "name": "tickSpacing", - "type": "u16" - }, - { - "name": "tickSpacingSeed", - "type": { - "array": [ - "u8", - 2 - ] - } - }, - { - "name": "feeRate", - "type": "u16" - }, - { - "name": "protocolFeeRate", - "type": "u16" - }, - { - "name": "liquidity", - "type": "u128" - }, - { - "name": "sqrtPrice", - "type": "u128" - }, - { - "name": "tickCurrentIndex", - "type": "i32" - }, - { - "name": "protocolFeeOwedA", - "type": "u64" - }, - { - "name": "protocolFeeOwedB", - "type": "u64" - }, - { - "name": "tokenMintA", - "type": "publicKey" - }, - { - "name": "tokenVaultA", - "type": "publicKey" - }, - { - "name": "feeGrowthGlobalA", - "type": "u128" - }, - { - "name": "tokenMintB", - "type": "publicKey" - }, - { - "name": "tokenVaultB", - "type": "publicKey" - }, - { - "name": "feeGrowthGlobalB", - "type": "u128" - }, - { - "name": "rewardLastUpdatedTimestamp", - "type": "u64" - }, - { - "name": "rewardInfos", - "type": { - "array": [ - { - "defined": "WhirlpoolRewardInfo" - }, - 3 - ] - } - } - ] - } - } - ], - "types": [ - { - "name": "OpenPositionBumps", - "type": { - "kind": "struct", - "fields": [ - { - "name": "positionBump", - "type": "u8" - } - ] - } - }, - { - "name": "OpenPositionWithMetadataBumps", - "type": { - "kind": "struct", - "fields": [ - { - "name": "positionBump", - "type": "u8" - }, - { - "name": "metadataBump", - "type": "u8" - } - ] - } - }, - { - "name": "PositionRewardInfo", - "type": { - "kind": "struct", - "fields": [ - { - "name": "growthInsideCheckpoint", - "type": "u128" - }, - { - "name": "amountOwed", - "type": "u64" - } - ] - } - }, - { - "name": "Tick", - "type": { - "kind": "struct", - "fields": [ - { - "name": "initialized", - "type": "bool" - }, - { - "name": "liquidityNet", - "type": "i128" - }, - { - "name": "liquidityGross", - "type": "u128" - }, - { - "name": "feeGrowthOutsideA", - "type": "u128" - }, - { - "name": "feeGrowthOutsideB", - "type": "u128" - }, - { - "name": "rewardGrowthsOutside", - "type": { - "array": [ - "u128", - 3 - ] - } - } - ] - } - }, - { - "name": "WhirlpoolRewardInfo", - "docs": [ - "Stores the state relevant for tracking liquidity mining rewards at the `Whirlpool` level.", - "These values are used in conjunction with `PositionRewardInfo`, `Tick.reward_growths_outside`,", - "and `Whirlpool.reward_last_updated_timestamp` to determine how many rewards are earned by open", - "positions." - ], - "type": { - "kind": "struct", - "fields": [ - { - "name": "mint", - "docs": [ - "Reward token mint." - ], - "type": "publicKey" - }, - { - "name": "vault", - "docs": [ - "Reward vault token account." - ], - "type": "publicKey" - }, - { - "name": "authority", - "docs": [ - "Authority account that has permission to initialize the reward and set emissions." - ], - "type": "publicKey" - }, - { - "name": "emissionsPerSecondX64", - "docs": [ - "Q64.64 number that indicates how many tokens per second are earned per unit of liquidity." - ], - "type": "u128" - }, - { - "name": "growthGlobalX64", - "docs": [ - "Q64.64 number that tracks the total tokens earned per unit of liquidity since the reward", - "emissions were turned on." - ], - "type": "u128" - } - ] - } - }, - { - "name": "WhirlpoolBumps", - "type": { - "kind": "struct", - "fields": [ - { - "name": "whirlpoolBump", - "type": "u8" - } - ] - } - }, - { - "name": "RemainingAccountsSlice", - "type": { - "kind": "struct", - "fields": [ - { - "name": "accountsType", - "type": { - "defined": "AccountsType" - } - }, - { - "name": "length", - "type": "u8" - } - ] - } - }, - { - "name": "RemainingAccountsInfo", - "type": { - "kind": "struct", - "fields": [ - { - "name": "slices", - "type": { - "vec": { - "defined": "RemainingAccountsSlice" - } - } - } - ] - } - }, - { - "name": "CurrIndex", - "type": { - "kind": "enum", - "variants": [ - { - "name": "Below" - }, - { - "name": "Inside" - }, - { - "name": "Above" - } - ] - } - }, - { - "name": "TickLabel", - "type": { - "kind": "enum", - "variants": [ - { - "name": "Upper" - }, - { - "name": "Lower" - } - ] - } - }, - { - "name": "Direction", - "type": { - "kind": "enum", - "variants": [ - { - "name": "Left" - }, - { - "name": "Right" - } - ] - } - }, - { - "name": "AccountsType", - "type": { - "kind": "enum", - "variants": [ - { - "name": "TransferHookA" - }, - { - "name": "TransferHookB" - }, - { - "name": "TransferHookReward" - }, - { - "name": "TransferHookInput" - }, - { - "name": "TransferHookIntermediate" - }, - { - "name": "TransferHookOutput" - }, - { - "name": "SupplementalTickArrays" - }, - { - "name": "SupplementalTickArraysOne" - }, - { - "name": "SupplementalTickArraysTwo" - } - ] - } - } - ], - "errors": [ - { - "code": 6000, - "name": "InvalidEnum", - "msg": "Enum value could not be converted" - }, - { - "code": 6001, - "name": "InvalidStartTick", - "msg": "Invalid start tick index provided." - }, - { - "code": 6002, - "name": "TickArrayExistInPool", - "msg": "Tick-array already exists in this whirlpool" - }, - { - "code": 6003, - "name": "TickArrayIndexOutofBounds", - "msg": "Attempt to search for a tick-array failed" - }, - { - "code": 6004, - "name": "InvalidTickSpacing", - "msg": "Tick-spacing is not supported" - }, - { - "code": 6005, - "name": "ClosePositionNotEmpty", - "msg": "Position is not empty It cannot be closed" - }, - { - "code": 6006, - "name": "DivideByZero", - "msg": "Unable to divide by zero" - }, - { - "code": 6007, - "name": "NumberCastError", - "msg": "Unable to cast number into BigInt" - }, - { - "code": 6008, - "name": "NumberDownCastError", - "msg": "Unable to down cast number" - }, - { - "code": 6009, - "name": "TickNotFound", - "msg": "Tick not found within tick array" - }, - { - "code": 6010, - "name": "InvalidTickIndex", - "msg": "Provided tick index is either out of bounds or uninitializable" - }, - { - "code": 6011, - "name": "SqrtPriceOutOfBounds", - "msg": "Provided sqrt price out of bounds" - }, - { - "code": 6012, - "name": "LiquidityZero", - "msg": "Liquidity amount must be greater than zero" - }, - { - "code": 6013, - "name": "LiquidityTooHigh", - "msg": "Liquidity amount must be less than i64::MAX" - }, - { - "code": 6014, - "name": "LiquidityOverflow", - "msg": "Liquidity overflow" - }, - { - "code": 6015, - "name": "LiquidityUnderflow", - "msg": "Liquidity underflow" - }, - { - "code": 6016, - "name": "LiquidityNetError", - "msg": "Tick liquidity net underflowed or overflowed" - }, - { - "code": 6017, - "name": "TokenMaxExceeded", - "msg": "Exceeded token max" - }, - { - "code": 6018, - "name": "TokenMinSubceeded", - "msg": "Did not meet token min" - }, - { - "code": 6019, - "name": "MissingOrInvalidDelegate", - "msg": "Position token account has a missing or invalid delegate" - }, - { - "code": 6020, - "name": "InvalidPositionTokenAmount", - "msg": "Position token amount must be 1" - }, - { - "code": 6021, - "name": "InvalidTimestampConversion", - "msg": "Timestamp should be convertible from i64 to u64" - }, - { - "code": 6022, - "name": "InvalidTimestamp", - "msg": "Timestamp should be greater than the last updated timestamp" - }, - { - "code": 6023, - "name": "InvalidTickArraySequence", - "msg": "Invalid tick array sequence provided for instruction." - }, - { - "code": 6024, - "name": "InvalidTokenMintOrder", - "msg": "Token Mint in wrong order" - }, - { - "code": 6025, - "name": "RewardNotInitialized", - "msg": "Reward not initialized" - }, - { - "code": 6026, - "name": "InvalidRewardIndex", - "msg": "Invalid reward index" - }, - { - "code": 6027, - "name": "RewardVaultAmountInsufficient", - "msg": "Reward vault requires amount to support emissions for at least one day" - }, - { - "code": 6028, - "name": "FeeRateMaxExceeded", - "msg": "Exceeded max fee rate" - }, - { - "code": 6029, - "name": "ProtocolFeeRateMaxExceeded", - "msg": "Exceeded max protocol fee rate" - }, - { - "code": 6030, - "name": "MultiplicationShiftRightOverflow", - "msg": "Multiplication with shift right overflow" - }, - { - "code": 6031, - "name": "MulDivOverflow", - "msg": "Muldiv overflow" - }, - { - "code": 6032, - "name": "MulDivInvalidInput", - "msg": "Invalid div_u256 input" - }, - { - "code": 6033, - "name": "MultiplicationOverflow", - "msg": "Multiplication overflow" - }, - { - "code": 6034, - "name": "InvalidSqrtPriceLimitDirection", - "msg": "Provided SqrtPriceLimit not in the same direction as the swap." - }, - { - "code": 6035, - "name": "ZeroTradableAmount", - "msg": "There are no tradable amount to swap." - }, - { - "code": 6036, - "name": "AmountOutBelowMinimum", - "msg": "Amount out below minimum threshold" - }, - { - "code": 6037, - "name": "AmountInAboveMaximum", - "msg": "Amount in above maximum threshold" - }, - { - "code": 6038, - "name": "TickArraySequenceInvalidIndex", - "msg": "Invalid index for tick array sequence" - }, - { - "code": 6039, - "name": "AmountCalcOverflow", - "msg": "Amount calculated overflows" - }, - { - "code": 6040, - "name": "AmountRemainingOverflow", - "msg": "Amount remaining overflows" - }, - { - "code": 6041, - "name": "InvalidIntermediaryMint", - "msg": "Invalid intermediary mint" - }, - { - "code": 6042, - "name": "DuplicateTwoHopPool", - "msg": "Duplicate two hop pool" - }, - { - "code": 6043, - "name": "InvalidBundleIndex", - "msg": "Bundle index is out of bounds" - }, - { - "code": 6044, - "name": "BundledPositionAlreadyOpened", - "msg": "Position has already been opened" - }, - { - "code": 6045, - "name": "BundledPositionAlreadyClosed", - "msg": "Position has already been closed" - }, - { - "code": 6046, - "name": "PositionBundleNotDeletable", - "msg": "Unable to delete PositionBundle with open positions" - }, - { - "code": 6047, - "name": "UnsupportedTokenMint", - "msg": "Token mint has unsupported attributes" - }, - { - "code": 6048, - "name": "RemainingAccountsInvalidSlice", - "msg": "Invalid remaining accounts" - }, - { - "code": 6049, - "name": "RemainingAccountsInsufficient", - "msg": "Insufficient remaining accounts" - }, - { - "code": 6050, - "name": "NoExtraAccountsForTransferHook", - "msg": "Unable to call transfer hook without extra accounts" - }, - { - "code": 6051, - "name": "IntermediateTokenAmountMismatch", - "msg": "Output and input amount mismatch" - }, - { - "code": 6052, - "name": "TransferFeeCalculationError", - "msg": "Transfer fee calculation failed" - }, - { - "code": 6053, - "name": "RemainingAccountsDuplicatedAccountsType", - "msg": "Same accounts type is provided more than once" - }, - { - "code": 6054, - "name": "TooManySupplementalTickArrays", - "msg": "Too many supplemental tick arrays provided" - }, - { - "code": 6055, - "name": "DifferentWhirlpoolTickArrayAccount", - "msg": "TickArray account for different whirlpool provided" - } - ] -}; diff --git a/sdk/tsconfig-base.json b/sdk/tsconfig-base.json deleted file mode 100644 index a7e32fef1..000000000 --- a/sdk/tsconfig-base.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2020", - "module": "commonjs", - "allowJs": false, - "declaration": true, - "lib": ["DOM", "ES2020", "DOM.Iterable", "ScriptHost"], - "outDir": "./dist", - "strict": true, - "esModuleInterop": true, - "skipLibCheck": true, - "forceConsistentCasingInFileNames": true, - "resolveJsonModule": true, - "experimentalDecorators": true, - "moduleResolution": "node" - }, - "exclude": ["./dist/**/*"], - "references": [ - { - "path": "./src/tsconfig.json" - }, - { - "path": "./tests/tsconfig.json" - } - ] -} diff --git a/sdk/typedoc.json b/sdk/typedoc.json deleted file mode 100644 index bab58cb4e..000000000 --- a/sdk/typedoc.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "$schema": "https://typedoc.org/schema.json", - "entryPoints": ["./src/index.ts"], - "tsconfig": "src/tsconfig.json", - "excludePrivate": true, - "categorizeByGroup": false, - "exclude": ["**/node_modules/**", "./src/impl/**"] -} diff --git a/tsconfig.json b/tsconfig.json index 56e10de78..6141b99f6 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,14 +1,22 @@ { - "exclude": [ - "/**/tests/**", - "/**/dist/**" -], - "references": [ - { - "path": "./sdk/src" - }, - { - "path": "./scripts" + "compilerOptions": { + "target": "ESNext", + "lib": ["DOM", "DOM.Iterable", "ESNext"], + "module": "CommonJS", + "moduleResolution": "Node", + "jsx": "preserve", + "strict": true, + "removeComments": true, + "esModuleInterop": true, + "skipLibCheck": true, + "allowSyntheticDefaultImports": true, + "forceConsistentCasingInFileNames": true, + "noFallthroughCasesInSwitch": true, + "noImplicitReturns": true, + "resolveJsonModule": true, + "isolatedModules": true, + "experimentalDecorators": true, + "declaration": true, + "sourceMap": true } -] } diff --git a/yarn.lock b/yarn.lock index 4f720d9e5..230e15e86 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,2511 +1,4022 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@aashutoshrathi/word-wrap@^1.2.3": - version "1.2.6" - resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" - integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== - -"@babel/runtime@^7.10.5", "@babel/runtime@^7.17.2", "@babel/runtime@^7.22.3": - version "7.22.6" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.6.tgz#57d64b9ae3cff1d67eb067ae117dac087f5bd438" - integrity sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ== - dependencies: - regenerator-runtime "^0.13.11" - -"@babel/runtime@^7.23.4": - version "7.23.8" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.8.tgz#8ee6fe1ac47add7122902f257b8ddf55c898f650" - integrity sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw== - dependencies: - regenerator-runtime "^0.14.0" - -"@coral-xyz/anchor@^0.29.0": - version "0.29.0" - resolved "https://registry.yarnpkg.com/@coral-xyz/anchor/-/anchor-0.29.0.tgz#bd0be95bedfb30a381c3e676e5926124c310ff12" - integrity sha512-eny6QNG0WOwqV0zQ7cs/b1tIuzZGmP7U7EcH+ogt4Gdbl8HDmIYVMh/9aTmYZPaFWjtUaI8qSn73uYEXWfATdA== - dependencies: - "@coral-xyz/borsh" "^0.29.0" - "@noble/hashes" "^1.3.1" - "@solana/web3.js" "^1.68.0" - bn.js "^5.1.2" - bs58 "^4.0.1" - buffer-layout "^1.2.2" - camelcase "^6.3.0" - cross-fetch "^3.1.5" - crypto-hash "^1.3.0" - eventemitter3 "^4.0.7" - pako "^2.0.3" - snake-case "^3.0.4" - superstruct "^0.15.4" - toml "^3.0.0" - -"@coral-xyz/borsh@^0.29.0": - version "0.29.0" - resolved "https://registry.yarnpkg.com/@coral-xyz/borsh/-/borsh-0.29.0.tgz#79f7045df2ef66da8006d47f5399c7190363e71f" - integrity sha512-s7VFVa3a0oqpkuRloWVPdCK7hMbAMY270geZOGfCnaqexrP5dTIpbEHL33req6IYPPJ0hYa71cdvJ1h6V55/oQ== - dependencies: - bn.js "^5.1.2" - buffer-layout "^1.2.0" - -"@cspotcode/source-map-support@^0.8.0": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" - integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== - dependencies: - "@jridgewell/trace-mapping" "0.3.9" - -"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": - version "4.4.0" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" - integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== - dependencies: - eslint-visitor-keys "^3.3.0" - -"@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1": - version "4.10.0" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" - integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== - -"@eslint/eslintrc@^2.1.4": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" - integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^9.6.0" - globals "^13.19.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" - -"@eslint/js@8.56.0": - version "8.56.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.56.0.tgz#ef20350fec605a7f7035a01764731b2de0f3782b" - integrity sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A== - -"@humanwhocodes/config-array@^0.11.13": - version "0.11.13" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.13.tgz#075dc9684f40a531d9b26b0822153c1e832ee297" - integrity sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ== - dependencies: - "@humanwhocodes/object-schema" "^2.0.1" - debug "^4.1.1" - minimatch "^3.0.5" - -"@humanwhocodes/module-importer@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" - integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== - -"@humanwhocodes/object-schema@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz#e5211452df060fa8522b55c7b3c0c4d1981cb044" - integrity sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw== - -"@isaacs/cliui@^8.0.2": - version "8.0.2" - resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" - integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== - dependencies: - string-width "^5.1.2" - string-width-cjs "npm:string-width@^4.2.0" - strip-ansi "^7.0.1" - strip-ansi-cjs "npm:strip-ansi@^6.0.1" - wrap-ansi "^8.1.0" - wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" - -"@jridgewell/resolve-uri@^3.0.3": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" - integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== - -"@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.15" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@jridgewell/trace-mapping@0.3.9": - version "0.3.9" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" - integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@noble/curves@^1.0.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.1.0.tgz#f13fc667c89184bc04cccb9b11e8e7bae27d8c3d" - integrity sha512-091oBExgENk/kGj3AZmtBDMpxQPDtxQABR2B9lb1JbVTs6ytdzZNwvhxQ4MWasRNEzlbEH8jCWFCwhF/Obj5AA== - dependencies: - "@noble/hashes" "1.3.1" - -"@noble/curves@^1.2.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.3.0.tgz#01be46da4fd195822dab821e72f71bf4aeec635e" - integrity sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA== - dependencies: - "@noble/hashes" "1.3.3" - -"@noble/hashes@1.3.1", "@noble/hashes@^1.3.0": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.1.tgz#8831ef002114670c603c458ab8b11328406953a9" - integrity sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA== - -"@noble/hashes@1.3.3": - version "1.3.3" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.3.tgz#39908da56a4adc270147bb07968bf3b16cfe1699" - integrity sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA== - -"@noble/hashes@^1.3.1", "@noble/hashes@^1.3.3": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.4.0.tgz#45814aa329f30e4fe0ba49426f49dfccdd066426" - integrity sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg== - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@orca-so/common-sdk@0.6.0": - version "0.6.0" - resolved "https://registry.yarnpkg.com/@orca-so/common-sdk/-/common-sdk-0.6.0.tgz#c53be173dd2368f25653f3036297e35e1eefd7e1" - integrity sha512-+bGG10eg8/KzbaeCA71FrmvOUkZXZ4QAAPi0vW2/g87W0yTtTDZnv22EVQcRimazNDfmdSkKLnUsC2AB6/zejA== - dependencies: - tiny-invariant "^1.3.1" - -"@pkgjs/parseargs@^0.11.0": - version "0.11.0" - resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" - integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== - -"@project-serum/anchor@~0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@project-serum/anchor/-/anchor-0.25.0.tgz#88ee4843336005cf5a64c80636ce626f0996f503" - integrity sha512-E6A5Y/ijqpfMJ5psJvbw0kVTzLZFUcOFgs6eSM2M2iWE1lVRF18T6hWZVNl6zqZsoz98jgnNHtVGJMs+ds9A7A== - dependencies: - "@project-serum/borsh" "^0.2.5" - "@solana/web3.js" "^1.36.0" - base64-js "^1.5.1" - bn.js "^5.1.2" - bs58 "^4.0.1" - buffer-layout "^1.2.2" - camelcase "^5.3.1" - cross-fetch "^3.1.5" - crypto-hash "^1.3.0" - eventemitter3 "^4.0.7" - js-sha256 "^0.9.0" - pako "^2.0.3" - snake-case "^3.0.4" - superstruct "^0.15.4" - toml "^3.0.0" - -"@project-serum/borsh@^0.2.5": - version "0.2.5" - resolved "https://registry.yarnpkg.com/@project-serum/borsh/-/borsh-0.2.5.tgz#6059287aa624ecebbfc0edd35e4c28ff987d8663" - integrity sha512-UmeUkUoKdQ7rhx6Leve1SssMR/Ghv8qrEiyywyxSWg7ooV7StdpPBhciiy5eB3T0qU1BXvdRNC8TdrkxK7WC5Q== - dependencies: - bn.js "^5.1.2" - buffer-layout "^1.2.0" - -"@solana/buffer-layout-utils@^0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@solana/buffer-layout-utils/-/buffer-layout-utils-0.2.0.tgz#b45a6cab3293a2eb7597cceb474f229889d875ca" - integrity sha512-szG4sxgJGktbuZYDg2FfNmkMi0DYQoVjN2h7ta1W1hPrwzarcFLBq9UpX1UjNXsNpT9dn+chgprtWGioUAr4/g== - dependencies: - "@solana/buffer-layout" "^4.0.0" - "@solana/web3.js" "^1.32.0" - bigint-buffer "^1.1.5" - bignumber.js "^9.0.1" - -"@solana/buffer-layout@^4.0.0", "@solana/buffer-layout@^4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz#b996235eaec15b1e0b5092a8ed6028df77fa6c15" - integrity sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA== - dependencies: - buffer "~6.0.3" - -"@solana/codecs-core@2.0.0-experimental.8618508": - version "2.0.0-experimental.8618508" - resolved "https://registry.yarnpkg.com/@solana/codecs-core/-/codecs-core-2.0.0-experimental.8618508.tgz#4f6709dd50e671267f3bea7d09209bc6471b7ad0" - integrity sha512-JCz7mKjVKtfZxkuDtwMAUgA7YvJcA2BwpZaA1NOLcted4OMC4Prwa3DUe3f3181ixPYaRyptbF0Ikq2MbDkYEA== - -"@solana/codecs-core@2.0.0-experimental.9741939": - version "2.0.0-experimental.9741939" - resolved "https://registry.yarnpkg.com/@solana/codecs-core/-/codecs-core-2.0.0-experimental.9741939.tgz#1fa7f1f3b10ff924bd02c274615b2df1f5bda64d" - integrity sha512-7E51aEwLW+1ta6VWbEq0CbvwSUOcIwmaQCLpkOKsF6cwSNqE5GDv/jw9zKuiYOynlBFQO1Ws59a/hlb2wwwWKg== - -"@solana/codecs-data-structures@2.0.0-experimental.8618508": - version "2.0.0-experimental.8618508" - resolved "https://registry.yarnpkg.com/@solana/codecs-data-structures/-/codecs-data-structures-2.0.0-experimental.8618508.tgz#c16a704ac0f743a2e0bf73ada42d830b3402d848" - integrity sha512-sLpjL9sqzaDdkloBPV61Rht1tgaKq98BCtIKRuyscIrmVPu3wu0Bavk2n/QekmUzaTsj7K1pVSniM0YqCdnEBw== - dependencies: - "@solana/codecs-core" "2.0.0-experimental.8618508" - "@solana/codecs-numbers" "2.0.0-experimental.8618508" - -"@solana/codecs-data-structures@2.0.0-experimental.9741939": - version "2.0.0-experimental.9741939" - resolved "https://registry.yarnpkg.com/@solana/codecs-data-structures/-/codecs-data-structures-2.0.0-experimental.9741939.tgz#0d38aecd4b15471b16c947643069f5d13a2b27e5" - integrity sha512-Ghjx0pFEA22T/cpqg3zXHYlnxqKytjTr1QjgfhWvBrlVFkqr3ZQL4av9/V6sHKvpoi+JNkEwM1wE+tlpt/54CA== - dependencies: - "@solana/codecs-core" "2.0.0-experimental.9741939" - "@solana/codecs-numbers" "2.0.0-experimental.9741939" - -"@solana/codecs-numbers@2.0.0-experimental.8618508": - version "2.0.0-experimental.8618508" - resolved "https://registry.yarnpkg.com/@solana/codecs-numbers/-/codecs-numbers-2.0.0-experimental.8618508.tgz#d84f9ed0521b22e19125eefc7d51e217fcaeb3e4" - integrity sha512-EXQKfzFr3CkKKNzKSZPOOOzchXsFe90TVONWsSnVkonO9z+nGKALE0/L9uBmIFGgdzhhU9QQVFvxBMclIDJo2Q== - dependencies: - "@solana/codecs-core" "2.0.0-experimental.8618508" - -"@solana/codecs-numbers@2.0.0-experimental.9741939": - version "2.0.0-experimental.9741939" - resolved "https://registry.yarnpkg.com/@solana/codecs-numbers/-/codecs-numbers-2.0.0-experimental.9741939.tgz#5e5be75187779ee43a7f515cd14abc809e5ba588" - integrity sha512-VXBvw8LZdGUJGuC33EFzvaUxCvgNtr9y9Td8zjK9wJDqKSzR0+G53CJv5K4AF25LUu8du8XHBK3VEz3YHl44nQ== - dependencies: - "@solana/codecs-core" "2.0.0-experimental.9741939" - -"@solana/codecs-strings@2.0.0-experimental.8618508": - version "2.0.0-experimental.8618508" - resolved "https://registry.yarnpkg.com/@solana/codecs-strings/-/codecs-strings-2.0.0-experimental.8618508.tgz#72457b884d9be80b59b263bcce73892b081e9402" - integrity sha512-b2yhinr1+oe+JDmnnsV0641KQqqDG8AQ16Z/x7GVWO+AWHMpRlHWVXOq8U1yhPMA4VXxl7i+D+C6ql0VGFp0GA== - dependencies: - "@solana/codecs-core" "2.0.0-experimental.8618508" - "@solana/codecs-numbers" "2.0.0-experimental.8618508" - -"@solana/codecs-strings@2.0.0-experimental.9741939": - version "2.0.0-experimental.9741939" - resolved "https://registry.yarnpkg.com/@solana/codecs-strings/-/codecs-strings-2.0.0-experimental.9741939.tgz#1253c55149c410327f499336e702ab311e3f3571" - integrity sha512-J1DCTJsAMhFcIIvys/yNWM2Vr4HEWi+LzFB9xxdH+FHTynApjTMd4vI7frgnckuWH7ynp8EZFPnBTje1BphQrw== - dependencies: - "@solana/codecs-core" "2.0.0-experimental.9741939" - "@solana/codecs-numbers" "2.0.0-experimental.9741939" - -"@solana/options@2.0.0-experimental.8618508": - version "2.0.0-experimental.8618508" - resolved "https://registry.yarnpkg.com/@solana/options/-/options-2.0.0-experimental.8618508.tgz#95385340e85f9e8a81b2bfba089404a61c8e9520" - integrity sha512-fy/nIRAMC3QHvnKi63KEd86Xr/zFBVxNW4nEpVEU2OT0gCEKwHY4Z55YHf7XujhyuM3PNpiBKg/YYw5QlRU4vg== - dependencies: - "@solana/codecs-core" "2.0.0-experimental.8618508" - "@solana/codecs-numbers" "2.0.0-experimental.8618508" - -"@solana/options@2.0.0-experimental.9741939": - version "2.0.0-experimental.9741939" - resolved "https://registry.yarnpkg.com/@solana/options/-/options-2.0.0-experimental.9741939.tgz#f9ee7f6cb41a3c23d85333e9e6d891d7f12c9b84" - integrity sha512-Fj76WDb+SWEEN3i0gEVQHGPHR2v54ECHILluQ5r18deLHjtZpD48a0dZepf0YcyAG7OHofkRdPxInZ3YYDuZeQ== - dependencies: - "@solana/codecs-core" "2.0.0-experimental.9741939" - "@solana/codecs-numbers" "2.0.0-experimental.9741939" - -"@solana/spl-token-group@^0.0.1": - version "0.0.1" - resolved "https://registry.yarnpkg.com/@solana/spl-token-group/-/spl-token-group-0.0.1.tgz#c892f7cc19ad1ed28b05713ddb95d3b1fe3c493d" - integrity sha512-dnBpjFhAskL+LzLfZhgeZVpDoO5ialtwear3vcHy3f+WNzJn/HITCmf341kekMHcLEeVaJts+4i/daVsfjqq7A== - dependencies: - "@solana/codecs-data-structures" "2.0.0-experimental.9741939" - "@solana/codecs-numbers" "2.0.0-experimental.9741939" - "@solana/codecs-strings" "2.0.0-experimental.9741939" - "@solana/options" "2.0.0-experimental.9741939" - "@solana/spl-type-length-value" "0.1.0" - -"@solana/spl-token-metadata@^0.1.2": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@solana/spl-token-metadata/-/spl-token-metadata-0.1.2.tgz#876e13432bd2960bd3cac16b9b0af63e69e37719" - integrity sha512-hJYnAJNkDrtkE2Q41YZhCpeOGU/0JgRFXbtrtOuGGeKc3pkEUHB9DDoxZAxx+XRno13GozUleyBi0qypz4c3bw== - dependencies: - "@solana/codecs-core" "2.0.0-experimental.8618508" - "@solana/codecs-data-structures" "2.0.0-experimental.8618508" - "@solana/codecs-numbers" "2.0.0-experimental.8618508" - "@solana/codecs-strings" "2.0.0-experimental.8618508" - "@solana/options" "2.0.0-experimental.8618508" - "@solana/spl-type-length-value" "0.1.0" - -"@solana/spl-token@^0.1.8": - version "0.1.8" - resolved "https://registry.yarnpkg.com/@solana/spl-token/-/spl-token-0.1.8.tgz#f06e746341ef8d04165e21fc7f555492a2a0faa6" - integrity sha512-LZmYCKcPQDtJgecvWOgT/cnoIQPWjdH+QVyzPcFvyDUiT0DiRjZaam4aqNUyvchLFhzgunv3d9xOoyE34ofdoQ== - dependencies: - "@babel/runtime" "^7.10.5" - "@solana/web3.js" "^1.21.0" - bn.js "^5.1.0" - buffer "6.0.3" - buffer-layout "^1.2.0" - dotenv "10.0.0" - -"@solana/spl-token@^0.4.1": - version "0.4.1" - resolved "https://registry.yarnpkg.com/@solana/spl-token/-/spl-token-0.4.1.tgz#7302c8052803f63012bd8189d42ca7d74d7917a5" - integrity sha512-DEe15GI0l+XLHwtau/3GUwGQJ9YY/VWNE0k/QuXaaGKo4adMZLEAIQUktRc/S2sRqPjvUdR5anZGxQ9p5khWZw== - dependencies: - "@solana/buffer-layout" "^4.0.0" - "@solana/buffer-layout-utils" "^0.2.0" - "@solana/spl-token-metadata" "^0.1.2" - buffer "^6.0.3" - -"@solana/spl-type-length-value@0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@solana/spl-type-length-value/-/spl-type-length-value-0.1.0.tgz#b5930cf6c6d8f50c7ff2a70463728a4637a2f26b" - integrity sha512-JBMGB0oR4lPttOZ5XiUGyvylwLQjt1CPJa6qQ5oM+MBCndfjz2TKKkw0eATlLLcYmq1jBVsNlJ2cD6ns2GR7lA== - dependencies: - buffer "^6.0.3" - -"@solana/web3.js@^1.21.0", "@solana/web3.js@^1.32.0", "@solana/web3.js@^1.36.0", "@solana/web3.js@^1.68.0": - version "1.78.0" - resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.78.0.tgz#82058f040c7706674d88db0afb8fbb2826f48bb6" - integrity sha512-CSjCjo+RELJ5puoZALfznN5EF0YvL1V8NQrQYovsdjE1lCV6SqbKAIZD0+9LlqCBoa1ibuUaR7G2SooYzvzmug== - dependencies: - "@babel/runtime" "^7.22.3" - "@noble/curves" "^1.0.0" - "@noble/hashes" "^1.3.0" - "@solana/buffer-layout" "^4.0.0" - agentkeepalive "^4.2.1" - bigint-buffer "^1.1.5" - bn.js "^5.0.0" - borsh "^0.7.0" - bs58 "^4.0.1" - buffer "6.0.3" - fast-stable-stringify "^1.0.0" - jayson "^4.1.0" - node-fetch "^2.6.11" - rpc-websockets "^7.5.1" - superstruct "^0.14.2" - -"@solana/web3.js@^1.90.0": - version "1.91.1" - resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.91.1.tgz#d49d2f982b52070be3b987fd8d892fcbddd064b5" - integrity sha512-cPgjZXm688oM9cULvJ8u2VH6Qp5rvptE1N1VODVxn2mAbpZsWrvWNPjmASkMYT/HzyrtqFkPvFdSHg8Xjt7aQA== - dependencies: - "@babel/runtime" "^7.23.4" - "@noble/curves" "^1.2.0" - "@noble/hashes" "^1.3.3" - "@solana/buffer-layout" "^4.0.1" - agentkeepalive "^4.5.0" - bigint-buffer "^1.1.5" - bn.js "^5.2.1" - borsh "^0.7.0" - bs58 "^4.0.1" - buffer "6.0.3" - fast-stable-stringify "^1.0.0" - jayson "^4.1.0" - node-fetch "^2.7.0" - rpc-websockets "^7.5.1" - superstruct "^0.14.2" - -"@tsconfig/node10@^1.0.7": - version "1.0.9" - resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" - integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== - -"@tsconfig/node12@^1.0.7": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" - integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== - -"@tsconfig/node14@^1.0.0": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" - integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== - -"@tsconfig/node16@^1.0.2": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" - integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== - -"@types/bn.js@~5.1.5": - version "5.1.5" - resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.5.tgz#2e0dacdcce2c0f16b905d20ff87aedbc6f7b4bf0" - integrity sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A== - dependencies: - "@types/node" "*" - -"@types/connect@^3.4.33": - version "3.4.35" - resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" - integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== - dependencies: - "@types/node" "*" - -"@types/json-schema@^7.0.12": - version "7.0.15" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" - integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== - -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" - integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== - -"@types/mocha@^10.0.6": - version "10.0.6" - resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.6.tgz#818551d39113081048bdddbef96701b4e8bb9d1b" - integrity sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg== - -"@types/mocha@^9.0.0": - version "9.1.1" - resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-9.1.1.tgz#e7c4f1001eefa4b8afbd1eee27a237fee3bf29c4" - integrity sha512-Z61JK7DKDtdKTWwLeElSEBcWGRLY8g95ic5FoQqI9CMx0ns/Ghep3B4DfcEimiKMvtamNVULVNKEsiwV3aQmXw== - -"@types/mz@^2.7.3": - version "2.7.4" - resolved "https://registry.yarnpkg.com/@types/mz/-/mz-2.7.4.tgz#f9d1535cb5171199b28ae6abd6ec29e856551401" - integrity sha512-Zs0imXxyWT20j3Z2NwKpr0IO2LmLactBblNyLua5Az4UHuqOQ02V3jPTgyKwDkuc33/ahw+C3O1PIZdrhFMuQA== - dependencies: - "@types/node" "*" - -"@types/node@*": - version "20.4.5" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.4.5.tgz#9dc0a5cb1ccce4f7a731660935ab70b9c00a5d69" - integrity sha512-rt40Nk13II9JwQBdeYqmbn2Q6IVTA5uPhvSO+JVqdXw/6/4glI6oR9ezty/A9Hg5u7JH4OmYmuQ+XvjKm0Datg== - -"@types/node@^12.12.54": - version "12.20.55" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" - integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== - -"@types/node@^20.10.8": - version "20.10.8" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.10.8.tgz#f1e223cbde9e25696661d167a5b93a9b2a5d57c7" - integrity sha512-f8nQs3cLxbAFc00vEU59yf9UyGUftkPaLGfvbVOIDdx2i1b8epBqj2aNGyP19fiyXWvlmZ7qC1XLjAzw/OKIeA== - dependencies: - undici-types "~5.26.4" - -"@types/semver@^7.5.0": - version "7.5.6" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.6.tgz#c65b2bfce1bec346582c07724e3f8c1017a20339" - integrity sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A== - -"@types/ws@^7.4.4": - version "7.4.7" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.4.7.tgz#f7c390a36f7a0679aa69de2d501319f4f8d9b702" - integrity sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww== - dependencies: - "@types/node" "*" - -"@typescript-eslint/eslint-plugin@^6.18.1": - version "6.18.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.18.1.tgz#0df881a47da1c1a9774f39495f5f7052f86b72e0" - integrity sha512-nISDRYnnIpk7VCFrGcu1rnZfM1Dh9LRHnfgdkjcbi/l7g16VYRri3TjXi9Ir4lOZSw5N/gnV/3H7jIPQ8Q4daA== - dependencies: - "@eslint-community/regexpp" "^4.5.1" - "@typescript-eslint/scope-manager" "6.18.1" - "@typescript-eslint/type-utils" "6.18.1" - "@typescript-eslint/utils" "6.18.1" - "@typescript-eslint/visitor-keys" "6.18.1" - debug "^4.3.4" - graphemer "^1.4.0" - ignore "^5.2.4" - natural-compare "^1.4.0" - semver "^7.5.4" - ts-api-utils "^1.0.1" - -"@typescript-eslint/parser@^6.18.1": - version "6.18.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.18.1.tgz#3c3987e186b38c77b30b6bfa5edf7c98ae2ec9d3" - integrity sha512-zct/MdJnVaRRNy9e84XnVtRv9Vf91/qqe+hZJtKanjojud4wAVy/7lXxJmMyX6X6J+xc6c//YEWvpeif8cAhWA== - dependencies: - "@typescript-eslint/scope-manager" "6.18.1" - "@typescript-eslint/types" "6.18.1" - "@typescript-eslint/typescript-estree" "6.18.1" - "@typescript-eslint/visitor-keys" "6.18.1" - debug "^4.3.4" - -"@typescript-eslint/scope-manager@6.18.1": - version "6.18.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.18.1.tgz#28c31c60f6e5827996aa3560a538693cb4bd3848" - integrity sha512-BgdBwXPFmZzaZUuw6wKiHKIovms97a7eTImjkXCZE04TGHysG+0hDQPmygyvgtkoB/aOQwSM/nWv3LzrOIQOBw== - dependencies: - "@typescript-eslint/types" "6.18.1" - "@typescript-eslint/visitor-keys" "6.18.1" - -"@typescript-eslint/type-utils@6.18.1": - version "6.18.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.18.1.tgz#115cf535f8b39db8301677199ce51151e2daee96" - integrity sha512-wyOSKhuzHeU/5pcRDP2G2Ndci+4g653V43gXTpt4nbyoIOAASkGDA9JIAgbQCdCkcr1MvpSYWzxTz0olCn8+/Q== - dependencies: - "@typescript-eslint/typescript-estree" "6.18.1" - "@typescript-eslint/utils" "6.18.1" - debug "^4.3.4" - ts-api-utils "^1.0.1" - -"@typescript-eslint/types@6.18.1": - version "6.18.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.18.1.tgz#91617d8080bcd99ac355d9157079970d1d49fefc" - integrity sha512-4TuMAe+tc5oA7wwfqMtB0Y5OrREPF1GeJBAjqwgZh1lEMH5PJQgWgHGfYufVB51LtjD+peZylmeyxUXPfENLCw== - -"@typescript-eslint/typescript-estree@6.18.1": - version "6.18.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.18.1.tgz#a12b6440175b4cbc9d09ab3c4966c6b245215ab4" - integrity sha512-fv9B94UAhywPRhUeeV/v+3SBDvcPiLxRZJw/xZeeGgRLQZ6rLMG+8krrJUyIf6s1ecWTzlsbp0rlw7n9sjufHA== - dependencies: - "@typescript-eslint/types" "6.18.1" - "@typescript-eslint/visitor-keys" "6.18.1" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - minimatch "9.0.3" - semver "^7.5.4" - ts-api-utils "^1.0.1" - -"@typescript-eslint/utils@6.18.1": - version "6.18.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.18.1.tgz#3451cfe2e56babb6ac657e10b6703393d4b82955" - integrity sha512-zZmTuVZvD1wpoceHvoQpOiewmWu3uP9FuTWo8vqpy2ffsmfCE8mklRPi+vmnIYAIk9t/4kOThri2QCDgor+OpQ== - dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - "@types/json-schema" "^7.0.12" - "@types/semver" "^7.5.0" - "@typescript-eslint/scope-manager" "6.18.1" - "@typescript-eslint/types" "6.18.1" - "@typescript-eslint/typescript-estree" "6.18.1" - semver "^7.5.4" - -"@typescript-eslint/visitor-keys@6.18.1": - version "6.18.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.18.1.tgz#704d789bda2565a15475e7d22f145b8fe77443f4" - integrity sha512-/kvt0C5lRqGoCfsbmm7/CwMqoSkY3zzHLIjdhHZQW3VFrnz7ATecOHR7nb7V+xn4286MBxfnQfQhAmCI0u+bJA== - dependencies: - "@typescript-eslint/types" "6.18.1" - eslint-visitor-keys "^3.4.1" - -"@ungap/promise-all-settled@1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" - integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== - -"@ungap/structured-clone@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" - integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== - -JSONStream@^1.3.5: - version "1.3.5" - resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" - integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== - dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" - -acorn-jsx@^5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn-walk@^8.1.1: - version "8.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" - integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== - -acorn@^8.4.1: - version "8.10.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5" - integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== - -acorn@^8.9.0: - version "8.11.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" - integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== - -agentkeepalive@^4.2.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.3.0.tgz#bb999ff07412653c1803b3ced35e50729830a255" - integrity sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg== - dependencies: - debug "^4.1.0" - depd "^2.0.0" - humanize-ms "^1.2.1" - -agentkeepalive@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.5.0.tgz#2673ad1389b3c418c5a20c5d7364f93ca04be923" - integrity sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew== - dependencies: - humanize-ms "^1.2.1" - -ajv@^6.12.4: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ansi-colors@4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== - -ansi-sequence-parser@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz#e0aa1cdcbc8f8bb0b5bca625aac41f5f056973cf" - integrity sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg== - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^6.1.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" - integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== - -any-promise@^1.0.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" - integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== - -anymatch@~3.1.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -arrify@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== - -assertion-error@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" - integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== - -assertion-error@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-2.0.1.tgz#f641a196b335690b1070bf00b6e7593fec190bf7" - integrity sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA== - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base-x@^3.0.2: - version "3.0.9" - resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320" - integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ== - dependencies: - safe-buffer "^5.0.1" - -base64-js@^1.3.1, base64-js@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -bigint-buffer@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/bigint-buffer/-/bigint-buffer-1.1.5.tgz#d038f31c8e4534c1f8d0015209bf34b4fa6dd442" - integrity sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA== - dependencies: - bindings "^1.3.0" - -bignumber.js@^9.0.1: - version "9.1.1" - resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.1.tgz#c4df7dc496bd849d4c9464344c1aa74228b4dac6" - integrity sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig== - -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - -bindings@^1.3.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" - integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== - dependencies: - file-uri-to-path "1.0.0" - -bn.js@^5.0.0, bn.js@^5.1.0, bn.js@^5.1.2, bn.js@^5.2.0, bn.js@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" - integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== - -borsh@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/borsh/-/borsh-0.7.0.tgz#6e9560d719d86d90dc589bca60ffc8a6c51fec2a" - integrity sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA== - dependencies: - bn.js "^5.2.0" - bs58 "^4.0.0" - text-encoding-utf-8 "^1.0.2" - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -braces@^3.0.2, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browser-stdout@1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" - integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== - -bs58@^4.0.0, bs58@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" - integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw== - dependencies: - base-x "^3.0.2" - -buffer-from@^1.0.0, buffer-from@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -buffer-layout@^1.2.0, buffer-layout@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/buffer-layout/-/buffer-layout-1.2.2.tgz#b9814e7c7235783085f9ca4966a0cfff112259d5" - integrity sha512-kWSuLN694+KTk8SrYvCqwP2WcgQjoRCiF5b4QDvkkz8EmgD+aWAIceGFKMIAdmF/pH+vpgNV3d3kAKorcdAmWA== - -buffer@6.0.3, buffer@^6.0.3, buffer@~6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" - integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.2.1" - -bufferutil@^4.0.1: - version "4.0.7" - resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.7.tgz#60c0d19ba2c992dd8273d3f73772ffc894c153ad" - integrity sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw== - dependencies: - node-gyp-build "^4.3.0" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.0.0, camelcase@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -chai@^4.3.4: - version "4.3.7" - resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.7.tgz#ec63f6df01829088e8bf55fca839bcd464a8ec51" - integrity sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A== - dependencies: - assertion-error "^1.1.0" - check-error "^1.0.2" - deep-eql "^4.1.2" - get-func-name "^2.0.0" - loupe "^2.3.1" - pathval "^1.1.1" - type-detect "^4.0.5" - -chai@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/chai/-/chai-5.0.0.tgz#da1ae496fdac30e97062cbd59e6e2f7bb4c78cc0" - integrity sha512-HO5p0oEKd5M6HEcwOkNAThAE3j960vIZvVcc0t2tI06Dd0ATu69cEnMB2wOhC5/ZyQ6m67w3ePjU/HzXsSsdBA== - dependencies: - assertion-error "^2.0.1" - check-error "^2.0.0" - deep-eql "^5.0.1" - loupe "^3.0.0" - pathval "^2.0.0" - -chalk@^4.0.0, chalk@^4.1.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -check-error@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" - integrity sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA== - -check-error@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/check-error/-/check-error-2.0.0.tgz#589a4f201b6256fd93a2d165089fe43d2676d8c6" - integrity sha512-tjLAOBHKVxtPoHe/SA7kNOMvhCRdCJ3vETdeY0RuAc9popf+hyaSV6ZEg9hr4cpWF7jmo/JSWEnLDrnijS9Tog== - -chokidar@3.5.3: - version "3.5.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -commander@^2.20.3: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - -cross-fetch@^3.1.5: - version "3.1.8" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.8.tgz#0327eba65fd68a7d119f8fb2bf9334a1a7956f82" - integrity sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg== - dependencies: - node-fetch "^2.6.12" - -cross-spawn@^7.0.0, cross-spawn@^7.0.2: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -crypto-hash@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/crypto-hash/-/crypto-hash-1.3.0.tgz#b402cb08f4529e9f4f09346c3e275942f845e247" - integrity sha512-lyAZ0EMyjDkVvz8WOeVnuCPvKVBXcMv1l5SVqO1yC7PzTwrD/pPje/BIRbWhMoPe436U+Y2nD7f5bFx0kt+Sbg== - -debug@4.3.3: - version "4.3.3" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" - integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== - dependencies: - ms "2.1.2" - -debug@4.3.4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -decamelize@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" - integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== - -decimal.js@^10.4.3: - version "10.4.3" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" - integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== - -deep-eql@^4.1.2: - version "4.1.3" - resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.3.tgz#7c7775513092f7df98d8df9996dd085eb668cc6d" - integrity sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw== - dependencies: - type-detect "^4.0.0" - -deep-eql@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-5.0.1.tgz#21ea2c0d561a4d08cdd99c417ac584e0fb121385" - integrity sha512-nwQCf6ne2gez3o1MxWifqkciwt0zhl0LO1/UwVu4uMBuPmflWM4oQ70XMqHqnBJA+nhzncaqL9HVL6KkHJ28lw== - -deep-is@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -delay@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d" - integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw== - -depd@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - -diff@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" - integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== - -diff@^3.1.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" - integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -dot-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" - integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -dotenv@10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" - integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== - -eastasianwidth@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" - integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emoji-regex@^9.2.2: - version "9.2.2" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== - -es6-promise@^4.0.3: - version "4.2.8" - resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" - integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== - -es6-promisify@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" - integrity sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ== - dependencies: - es6-promise "^4.0.3" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -eslint-config-prettier@^9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz#31af3d94578645966c082fcb71a5846d3c94867f" - integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw== - -eslint-scope@^7.2.2: - version "7.2.2" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" - integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: - version "3.4.3" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" - integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== - -eslint@^8.56.0: - version "8.56.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.56.0.tgz#4957ce8da409dc0809f99ab07a1b94832ab74b15" - integrity sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.6.1" - "@eslint/eslintrc" "^2.1.4" - "@eslint/js" "8.56.0" - "@humanwhocodes/config-array" "^0.11.13" - "@humanwhocodes/module-importer" "^1.0.1" - "@nodelib/fs.walk" "^1.2.8" - "@ungap/structured-clone" "^1.2.0" - ajv "^6.12.4" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.3.2" - doctrine "^3.0.0" - escape-string-regexp "^4.0.0" - eslint-scope "^7.2.2" - eslint-visitor-keys "^3.4.3" - espree "^9.6.1" - esquery "^1.4.2" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - find-up "^5.0.0" - glob-parent "^6.0.2" - globals "^13.19.0" - graphemer "^1.4.0" - ignore "^5.2.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - is-path-inside "^3.0.3" - js-yaml "^4.1.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.3" - strip-ansi "^6.0.1" - text-table "^0.2.0" - -espree@^9.6.0, espree@^9.6.1: - version "9.6.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" - integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== - dependencies: - acorn "^8.9.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.4.1" - -esquery@^1.4.2: - version "1.5.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" - integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^5.1.0, estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -eventemitter3@^4.0.7: - version "4.0.7" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" - integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== - -eyes@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0" - integrity sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ== - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-glob@^3.2.9: - version "3.3.1" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.1.tgz#784b4e897340f3dbbef17413b3f11acf03c874c4" - integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fast-stable-stringify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fast-stable-stringify/-/fast-stable-stringify-1.0.0.tgz#5c5543462b22aeeefd36d05b34e51c78cb86d313" - integrity sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag== - -fastq@^1.6.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" - integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== - dependencies: - reusify "^1.0.4" - -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" - integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -find-up@5.0.0, find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -flat-cache@^3.0.4: - version "3.2.0" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" - integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== - dependencies: - flatted "^3.2.9" - keyv "^4.5.3" - rimraf "^3.0.2" - -flat@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" - integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== - -flatted@^3.2.9: - version "3.2.9" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf" - integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== - -foreground-child@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d" - integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== - dependencies: - cross-spawn "^7.0.0" - signal-exit "^4.0.1" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-func-name@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" - integrity sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig== - -get-func-name@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.2.tgz#0d7cf20cd13fda808669ffa88f4ffc7a3943fc41" - integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== - -glob-parent@^5.1.2, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -glob@7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^10.3.7: - version "10.3.10" - resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.10.tgz#0351ebb809fd187fe421ab96af83d3a70715df4b" - integrity sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g== - dependencies: - foreground-child "^3.1.0" - jackspeak "^2.3.5" - minimatch "^9.0.1" - minipass "^5.0.0 || ^6.0.2 || ^7.0.0" - path-scurry "^1.10.1" - -glob@^7.1.3: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^13.19.0: - version "13.24.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" - integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== - dependencies: - type-fest "^0.20.2" - -globby@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - -graphemer@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" - integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== - -growl@1.10.5: - version "1.10.5" - resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" - integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -he@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -humanize-ms@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" - integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== - dependencies: - ms "^2.0.0" - -ieee754@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -ignore@^5.2.0: - version "5.2.4" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" - integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== - -ignore@^5.2.4: - version "5.3.0" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.0.tgz#67418ae40d34d6999c95ff56016759c718c82f78" - integrity sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg== - -import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-path-inside@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" - integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== - -is-plain-obj@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" - integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== - -is-unicode-supported@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" - integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -isomorphic-ws@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc" - integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w== - -jackspeak@^2.3.5: - version "2.3.6" - resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.6.tgz#647ecc472238aee4b06ac0e461acc21a8c505ca8" - integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== - dependencies: - "@isaacs/cliui" "^8.0.2" - optionalDependencies: - "@pkgjs/parseargs" "^0.11.0" - -jayson@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/jayson/-/jayson-4.1.0.tgz#60dc946a85197317f2b1439d672a8b0a99cea2f9" - integrity sha512-R6JlbyLN53Mjku329XoRT2zJAE6ZgOQ8f91ucYdMCD4nkGCF9kZSrcGXpHIU4jeKj58zUZke2p+cdQchU7Ly7A== - dependencies: - "@types/connect" "^3.4.33" - "@types/node" "^12.12.54" - "@types/ws" "^7.4.4" - JSONStream "^1.3.5" - commander "^2.20.3" - delay "^5.0.0" - es6-promisify "^5.0.0" - eyes "^0.1.8" - isomorphic-ws "^4.0.1" - json-stringify-safe "^5.0.1" - uuid "^8.3.2" - ws "^7.4.5" - -js-sha256@^0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/js-sha256/-/js-sha256-0.9.0.tgz#0b89ac166583e91ef9123644bd3c5334ce9d0966" - integrity sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA== - -js-yaml@4.1.0, js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== - -json-stringify-safe@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== - -json5@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" - integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== - dependencies: - minimist "^1.2.0" - -jsonc-parser@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76" - integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== - -jsonparse@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" - integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== - -keyv@^4.5.3: - version "4.5.4" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" - integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== - dependencies: - json-buffer "3.0.1" - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -log-symbols@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" - integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== - dependencies: - chalk "^4.1.0" - is-unicode-supported "^0.1.0" - -loupe@^2.3.1: - version "2.3.6" - resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.6.tgz#76e4af498103c532d1ecc9be102036a21f787b53" - integrity sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA== - dependencies: - get-func-name "^2.0.0" - -loupe@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/loupe/-/loupe-3.1.0.tgz#46ef1a4ffee73145f5c0a627536d754787c1ea2a" - integrity sha512-qKl+FrLXUhFuHUoDJG7f8P8gEMHq9NFS0c6ghXG1J0rldmZFQZoNVv/vyirE9qwCIhWZDsvEFd1sbFu3GvRQFg== - dependencies: - get-func-name "^2.0.1" - -lower-case@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" - integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== - dependencies: - tslib "^2.0.3" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -"lru-cache@^9.1.1 || ^10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.0.0.tgz#b9e2a6a72a129d81ab317202d93c7691df727e61" - integrity sha512-svTf/fzsKHffP42sujkO/Rjs37BCIsQVRCeNYIm9WN8rgT7ffoUnRtZCqU+6BqcSBdv8gwJeTz8knJpgACeQMw== - -lunr@^2.3.9: - version "2.3.9" - resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1" - integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== - -make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -marked@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/marked/-/marked-4.3.0.tgz#796362821b019f734054582038b116481b456cf3" - integrity sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A== - -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -micromatch@^4.0.4: - version "4.0.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - -minimatch@4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-4.2.1.tgz#40d9d511a46bdc4e563c22c3080cde9c0d8299b4" - integrity sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g== - dependencies: - brace-expansion "^1.1.7" - -minimatch@5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b" - integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g== - dependencies: - brace-expansion "^2.0.1" - -minimatch@9.0.3, minimatch@^9.0.1, minimatch@^9.0.3: - version "9.0.3" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" - integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== - dependencies: - brace-expansion "^2.0.1" - -minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimist@^1.2.0, minimist@^1.2.6: - version "1.2.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -"minipass@^5.0.0 || ^6.0.2 || ^7.0.0": - version "7.0.2" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.2.tgz#58a82b7d81c7010da5bd4b2c0c85ac4b4ec5131e" - integrity sha512-eL79dXrE1q9dBbDCLg7xfn/vl7MS4F1gvJAgjJrQli/jbQWdUttuVawphqpffoIYfRdq78LHx6GP4bU/EQ2ATA== - -mkdirp@^0.5.1: - version "0.5.6" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" - integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== - dependencies: - minimist "^1.2.6" - -mocha@^10.2.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.2.0.tgz#1fd4a7c32ba5ac372e03a17eef435bd00e5c68b8" - integrity sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg== - dependencies: - ansi-colors "4.1.1" - browser-stdout "1.3.1" - chokidar "3.5.3" - debug "4.3.4" - diff "5.0.0" - escape-string-regexp "4.0.0" - find-up "5.0.0" - glob "7.2.0" - he "1.2.0" - js-yaml "4.1.0" - log-symbols "4.1.0" - minimatch "5.0.1" - ms "2.1.3" - nanoid "3.3.3" - serialize-javascript "6.0.0" - strip-json-comments "3.1.1" - supports-color "8.1.1" - workerpool "6.2.1" - yargs "16.2.0" - yargs-parser "20.2.4" - yargs-unparser "2.0.0" - -mocha@^9.0.3: - version "9.2.2" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-9.2.2.tgz#d70db46bdb93ca57402c809333e5a84977a88fb9" - integrity sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g== - dependencies: - "@ungap/promise-all-settled" "1.1.2" - ansi-colors "4.1.1" - browser-stdout "1.3.1" - chokidar "3.5.3" - debug "4.3.3" - diff "5.0.0" - escape-string-regexp "4.0.0" - find-up "5.0.0" - glob "7.2.0" - growl "1.10.5" - he "1.2.0" - js-yaml "4.1.0" - log-symbols "4.1.0" - minimatch "4.2.1" - ms "2.1.3" - nanoid "3.3.1" - serialize-javascript "6.0.0" - strip-json-comments "3.1.1" - supports-color "8.1.1" - which "2.0.2" - workerpool "6.2.0" - yargs "16.2.0" - yargs-parser "20.2.4" - yargs-unparser "2.0.0" - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@2.1.3, ms@^2.0.0: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -mz@^2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" - integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== - dependencies: - any-promise "^1.0.0" - object-assign "^4.0.1" - thenify-all "^1.0.0" - -nanoid@3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.1.tgz#6347a18cac88af88f58af0b3594b723d5e99bb35" - integrity sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw== - -nanoid@3.3.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25" - integrity sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -no-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" - integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== - dependencies: - lower-case "^2.0.2" - tslib "^2.0.3" - -node-fetch@^2.6.11, node-fetch@^2.6.12: - version "2.6.12" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.12.tgz#02eb8e22074018e3d5a83016649d04df0e348fba" - integrity sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g== - dependencies: - whatwg-url "^5.0.0" - -node-fetch@^2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" - integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== - dependencies: - whatwg-url "^5.0.0" - -node-gyp-build@^4.3.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.6.0.tgz#0c52e4cbf54bbd28b709820ef7b6a3c2d6209055" - integrity sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ== - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -object-assign@^4.0.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -optionator@^0.9.3: - version "0.9.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" - integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== - dependencies: - "@aashutoshrathi/word-wrap" "^1.2.3" - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -pako@^2.0.3: - version "2.1.0" - resolved "https://registry.yarnpkg.com/pako/-/pako-2.1.0.tgz#266cc37f98c7d883545d11335c00fbd4062c9a86" - integrity sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug== - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-scurry@^1.10.1: - version "1.10.1" - resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.10.1.tgz#9ba6bf5aa8500fe9fd67df4f0d9483b2b0bfc698" - integrity sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ== - dependencies: - lru-cache "^9.1.1 || ^10.0.0" - minipass "^5.0.0 || ^6.0.2 || ^7.0.0" - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -pathval@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" - integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== - -pathval@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pathval/-/pathval-2.0.0.tgz#7e2550b422601d4f6b8e26f1301bc8f15a741a25" - integrity sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA== - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prettier@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.1.1.tgz#6ba9f23165d690b6cbdaa88cb0807278f7019848" - integrity sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw== - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== - -punycode@^2.1.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" - integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -regenerator-runtime@^0.13.11: - version "0.13.11" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" - integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== - -regenerator-runtime@^0.14.0: - version "0.14.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" - integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -rimraf@^5.0.5: - version "5.0.5" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-5.0.5.tgz#9be65d2d6e683447d2e9013da2bf451139a61ccf" - integrity sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A== - dependencies: - glob "^10.3.7" - -rpc-websockets@^7.5.1: - version "7.5.1" - resolved "https://registry.yarnpkg.com/rpc-websockets/-/rpc-websockets-7.5.1.tgz#e0a05d525a97e7efc31a0617f093a13a2e10c401" - integrity sha512-kGFkeTsmd37pHPMaHIgN1LVKXMi0JD782v4Ds9ZKtLlwdTKjn+CxM9A9/gLT2LaOuEcEFGL98h1QWQtlOIdW0w== - dependencies: - "@babel/runtime" "^7.17.2" - eventemitter3 "^4.0.7" - uuid "^8.3.2" - ws "^8.5.0" - optionalDependencies: - bufferutil "^4.0.1" - utf-8-validate "^5.0.2" - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -safe-buffer@^5.0.1, safe-buffer@^5.1.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -semver@^7.5.4: - version "7.5.4" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== - dependencies: - lru-cache "^6.0.0" - -serialize-javascript@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" - integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== - dependencies: - randombytes "^2.1.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -shiki@^0.14.7: - version "0.14.7" - resolved "https://registry.yarnpkg.com/shiki/-/shiki-0.14.7.tgz#c3c9e1853e9737845f1d2ef81b31bcfb07056d4e" - integrity sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg== - dependencies: - ansi-sequence-parser "^1.1.0" - jsonc-parser "^3.2.0" - vscode-oniguruma "^1.7.0" - vscode-textmate "^8.0.0" - -signal-exit@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" - integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -snake-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c" - integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg== - dependencies: - dot-case "^3.0.4" - tslib "^2.0.3" - -source-map-support@^0.5.6: - version "0.5.21" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@^0.6.0: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -"string-width-cjs@npm:string-width@^4.2.0": - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^5.0.1, string-width@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" - integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== - dependencies: - eastasianwidth "^0.2.0" - emoji-regex "^9.2.2" - strip-ansi "^7.0.1" - -"strip-ansi-cjs@npm:strip-ansi@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^7.0.1: - version "7.1.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" - integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== - dependencies: - ansi-regex "^6.0.1" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== - -strip-json-comments@3.1.1, strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -superstruct@^0.14.2: - version "0.14.2" - resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-0.14.2.tgz#0dbcdf3d83676588828f1cf5ed35cda02f59025b" - integrity sha512-nPewA6m9mR3d6k7WkZ8N8zpTWfenFH3q9pA2PkuiZxINr9DKB2+40wEQf0ixn8VaGuJ78AB6iWOtStI+/4FKZQ== - -superstruct@^0.15.4: - version "0.15.5" - resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-0.15.5.tgz#0f0a8d3ce31313f0d84c6096cd4fa1bfdedc9dab" - integrity sha512-4AOeU+P5UuE/4nOUkmcQdW5y7i9ndt1cQd/3iUe+LTz3RxESf/W/5lg4B74HbDMMv8PHnPnGCQFH45kBcrQYoQ== - -supports-color@8.1.1: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -text-encoding-utf-8@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz#585b62197b0ae437e3c7b5d0af27ac1021e10d13" - integrity sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg== - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - -thenify-all@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" - integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== - dependencies: - thenify ">= 3.1.0 < 4" - -"thenify@>= 3.1.0 < 4": - version "3.3.1" - resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" - integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== - dependencies: - any-promise "^1.0.0" - -"through@>=2.2.7 <3": - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== - -tiny-invariant@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.1.tgz#8560808c916ef02ecfd55e66090df23a4b7aa642" - integrity sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw== - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -toml@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/toml/-/toml-3.0.0.tgz#342160f1af1904ec9d204d03a5d61222d762c5ee" - integrity sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w== - -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== - -ts-api-utils@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.0.3.tgz#f12c1c781d04427313dbac808f453f050e54a331" - integrity sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg== - -ts-mocha@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/ts-mocha/-/ts-mocha-10.0.0.tgz#41a8d099ac90dbbc64b06976c5025ffaebc53cb9" - integrity sha512-VRfgDO+iiuJFlNB18tzOfypJ21xn2xbuZyDvJvqpTbWgkAgD17ONGr8t+Tl8rcBtOBdjXp5e/Rk+d39f7XBHRw== - dependencies: - ts-node "7.0.1" - optionalDependencies: - tsconfig-paths "^3.5.0" - -ts-node@7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-7.0.1.tgz#9562dc2d1e6d248d24bc55f773e3f614337d9baf" - integrity sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw== - dependencies: - arrify "^1.0.0" - buffer-from "^1.1.0" - diff "^3.1.0" - make-error "^1.1.1" - minimist "^1.2.0" - mkdirp "^0.5.1" - source-map-support "^0.5.6" - yn "^2.0.0" - -ts-node@^10.9.2: - version "10.9.2" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" - integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== - dependencies: - "@cspotcode/source-map-support" "^0.8.0" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - v8-compile-cache-lib "^3.0.1" - yn "3.1.1" - -tsconfig-paths@^3.5.0: - version "3.14.2" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz#6e32f1f79412decd261f92d633a9dc1cfa99f088" - integrity sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g== - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.2" - minimist "^1.2.6" - strip-bom "^3.0.0" - -tslib@^2.0.3: - version "2.6.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.1.tgz#fd8c9a0ff42590b25703c0acb3de3d3f4ede0410" - integrity sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig== - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-detect@^4.0.0, type-detect@^4.0.5: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -typedoc@~0.25.7: - version "0.25.7" - resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.25.7.tgz#11e3f527ca80ca3c029cb8e15f362e6d9f715e25" - integrity sha512-m6A6JjQRg39p2ZVRIN3NKXgrN8vzlHhOS+r9ymUYtcUP/TIQPvWSq7YgE5ZjASfv5Vd5BW5xrir6Gm2XNNcOow== - dependencies: - lunr "^2.3.9" - marked "^4.3.0" - minimatch "^9.0.3" - shiki "^0.14.7" - -typescript@^5.3.3: - version "5.3.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.3.3.tgz#b3ce6ba258e72e6305ba66f5c9b452aaee3ffe37" - integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw== - -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -utf-8-validate@^5.0.2: - version "5.0.10" - resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.10.tgz#d7d10ea39318171ca982718b6b96a8d2442571a2" - integrity sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ== - dependencies: - node-gyp-build "^4.3.0" - -uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -v8-compile-cache-lib@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" - integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== - -vscode-oniguruma@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz#439bfad8fe71abd7798338d1cd3dc53a8beea94b" - integrity sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA== - -vscode-textmate@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-8.0.0.tgz#2c7a3b1163ef0441097e0b5d6389cd5504b59e5d" - integrity sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg== - -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -which@2.0.2, which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -workerpool@6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.0.tgz#827d93c9ba23ee2019c3ffaff5c27fccea289e8b" - integrity sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A== - -workerpool@6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343" - integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw== - -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" - integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== - dependencies: - ansi-styles "^6.1.0" - string-width "^5.0.1" - strip-ansi "^7.0.1" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -ws@^7.4.5: - version "7.5.9" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" - integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== - -ws@^8.5.0: - version "8.13.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" - integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yargs-parser@20.2.4: - version "20.2.4" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" - integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== - -yargs-parser@^20.2.2: - version "20.2.9" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - -yargs-unparser@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" - integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== - dependencies: - camelcase "^6.0.0" - decamelize "^4.0.0" - flat "^5.0.2" - is-plain-obj "^2.1.0" - -yargs@16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" - -yn@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== - -yn@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/yn/-/yn-2.0.0.tgz#e5adabc8acf408f6385fc76495684c88e6af689a" - integrity sha512-uTv8J/wiWTgUTg+9vLTi//leUl5vDQS6uii/emeTb2ssY7vl6QWf2fFbIIGjnhjvbdKlU0ed7QPgY1htTC86jQ== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 8 + cacheKey: 10c0 + +"@babel/runtime@npm:^7.10.5, @babel/runtime@npm:^7.24.8": + version: 7.25.0 + resolution: "@babel/runtime@npm:7.25.0" + dependencies: + regenerator-runtime: "npm:^0.14.0" + checksum: 10c0/bd3faf246170826cef2071a94d7b47b49d532351360ecd17722d03f6713fd93a3eb3dbd9518faa778d5e8ccad7392a7a604e56bd37aaad3f3aa68d619ccd983d + languageName: node + linkType: hard + +"@coral-xyz/anchor@npm:~0.29.0": + version: 0.29.0 + resolution: "@coral-xyz/anchor@npm:0.29.0" + dependencies: + "@coral-xyz/borsh": "npm:^0.29.0" + "@noble/hashes": "npm:^1.3.1" + "@solana/web3.js": "npm:^1.68.0" + bn.js: "npm:^5.1.2" + bs58: "npm:^4.0.1" + buffer-layout: "npm:^1.2.2" + camelcase: "npm:^6.3.0" + cross-fetch: "npm:^3.1.5" + crypto-hash: "npm:^1.3.0" + eventemitter3: "npm:^4.0.7" + pako: "npm:^2.0.3" + snake-case: "npm:^3.0.4" + superstruct: "npm:^0.15.4" + toml: "npm:^3.0.0" + checksum: 10c0/cc863ab22b23c126e83b0804a43d45fdb7836659b917db0a8895146ec8d48637db034a7ae7dbd55d5ec7a058a266dd06878e1f921950df1e899369e49fb36c93 + languageName: node + linkType: hard + +"@coral-xyz/borsh@npm:^0.29.0": + version: 0.29.0 + resolution: "@coral-xyz/borsh@npm:0.29.0" + dependencies: + bn.js: "npm:^5.1.2" + buffer-layout: "npm:^1.2.0" + peerDependencies: + "@solana/web3.js": ^1.68.0 + checksum: 10c0/25afec48714d9f0c95a02d04215803181f7da0aad85fdd1b076d9f37ef54586342e01e24fc1b2128aba0b5155e970afd6a2c6f8b0343699d8733c0703655ce39 + languageName: node + linkType: hard + +"@cspotcode/source-map-support@npm:^0.8.0": + version: 0.8.1 + resolution: "@cspotcode/source-map-support@npm:0.8.1" + dependencies: + "@jridgewell/trace-mapping": "npm:0.3.9" + checksum: 10c0/05c5368c13b662ee4c122c7bfbe5dc0b613416672a829f3e78bc49a357a197e0218d6e74e7c66cfcd04e15a179acab080bd3c69658c9fbefd0e1ccd950a07fc6 + languageName: node + linkType: hard + +"@emnapi/core@npm:^1.1.0": + version: 1.2.0 + resolution: "@emnapi/core@npm:1.2.0" + dependencies: + "@emnapi/wasi-threads": "npm:1.0.1" + tslib: "npm:^2.4.0" + checksum: 10c0/a9cf024c1982cd965f6888d1b4514926ad3675fa9d0bd792c9a0770fb592c4c4d20aa1e97a225a7682f9c7900231751434820d5558fd5a00929c2ee976ce5265 + languageName: node + linkType: hard + +"@emnapi/runtime@npm:^1.1.0": + version: 1.2.0 + resolution: "@emnapi/runtime@npm:1.2.0" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/7005ff8b67724c9e61b6cd79a3decbdb2ce25d24abd4d3d187472f200ee6e573329c30264335125fb136bd813aa9cf9f4f7c9391d04b07dd1e63ce0a3427be57 + languageName: node + linkType: hard + +"@emnapi/wasi-threads@npm:1.0.1": + version: 1.0.1 + resolution: "@emnapi/wasi-threads@npm:1.0.1" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/1e0c8036b8d53e9b07cc9acf021705ef6c86ab6b13e1acda7fffaf541a2d3565072afb92597419173ced9ea14f6bf32fce149106e669b5902b825e8b499e5c6c + languageName: node + linkType: hard + +"@isaacs/cliui@npm:^8.0.2": + version: 8.0.2 + resolution: "@isaacs/cliui@npm:8.0.2" + dependencies: + string-width: "npm:^5.1.2" + string-width-cjs: "npm:string-width@^4.2.0" + strip-ansi: "npm:^7.0.1" + strip-ansi-cjs: "npm:strip-ansi@^6.0.1" + wrap-ansi: "npm:^8.1.0" + wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" + checksum: 10c0/b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e + languageName: node + linkType: hard + +"@jest/schemas@npm:^29.6.3": + version: 29.6.3 + resolution: "@jest/schemas@npm:29.6.3" + dependencies: + "@sinclair/typebox": "npm:^0.27.8" + checksum: 10c0/b329e89cd5f20b9278ae1233df74016ebf7b385e0d14b9f4c1ad18d096c4c19d1e687aa113a9c976b16ec07f021ae53dea811fb8c1248a50ac34fbe009fdf6be + languageName: node + linkType: hard + +"@jridgewell/resolve-uri@npm:^3.0.3": + version: 3.1.2 + resolution: "@jridgewell/resolve-uri@npm:3.1.2" + checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e + languageName: node + linkType: hard + +"@jridgewell/sourcemap-codec@npm:^1.4.10": + version: 1.5.0 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.0" + checksum: 10c0/2eb864f276eb1096c3c11da3e9bb518f6d9fc0023c78344cdc037abadc725172c70314bdb360f2d4b7bffec7f5d657ce006816bc5d4ecb35e61b66132db00c18 + languageName: node + linkType: hard + +"@jridgewell/trace-mapping@npm:0.3.9": + version: 0.3.9 + resolution: "@jridgewell/trace-mapping@npm:0.3.9" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.0.3" + "@jridgewell/sourcemap-codec": "npm:^1.4.10" + checksum: 10c0/fa425b606d7c7ee5bfa6a31a7b050dd5814b4082f318e0e4190f991902181b4330f43f4805db1dd4f2433fd0ed9cc7a7b9c2683f1deeab1df1b0a98b1e24055b + languageName: node + linkType: hard + +"@napi-rs/wasm-runtime@npm:0.2.4": + version: 0.2.4 + resolution: "@napi-rs/wasm-runtime@npm:0.2.4" + dependencies: + "@emnapi/core": "npm:^1.1.0" + "@emnapi/runtime": "npm:^1.1.0" + "@tybys/wasm-util": "npm:^0.9.0" + checksum: 10c0/1040de49b2ef509db207e2517465dbf7fb3474f20e8ec32897672a962ff4f59872385666dac61dc9dbeae3cae5dad265d8dc3865da756adeb07d1634c67b03a1 + languageName: node + linkType: hard + +"@noble/curves@npm:^1.4.2": + version: 1.4.2 + resolution: "@noble/curves@npm:1.4.2" + dependencies: + "@noble/hashes": "npm:1.4.0" + checksum: 10c0/65620c895b15d46e8087939db6657b46a1a15cd4e0e4de5cd84b97a0dfe0af85f33a431bb21ac88267e3dc508618245d4cb564213959d66a84d690fe18a63419 + languageName: node + linkType: hard + +"@noble/hashes@npm:1.4.0, @noble/hashes@npm:^1.3.1, @noble/hashes@npm:^1.4.0": + version: 1.4.0 + resolution: "@noble/hashes@npm:1.4.0" + checksum: 10c0/8c3f005ee72e7b8f9cff756dfae1241485187254e3f743873e22073d63906863df5d4f13d441b7530ea614b7a093f0d889309f28b59850f33b66cb26a779a4a5 + languageName: node + linkType: hard + +"@npmcli/agent@npm:^2.0.0": + version: 2.2.2 + resolution: "@npmcli/agent@npm:2.2.2" + dependencies: + agent-base: "npm:^7.1.0" + http-proxy-agent: "npm:^7.0.0" + https-proxy-agent: "npm:^7.0.1" + lru-cache: "npm:^10.0.1" + socks-proxy-agent: "npm:^8.0.3" + checksum: 10c0/325e0db7b287d4154ecd164c0815c08007abfb07653cc57bceded17bb7fd240998a3cbdbe87d700e30bef494885eccc725ab73b668020811d56623d145b524ae + languageName: node + linkType: hard + +"@npmcli/fs@npm:^3.1.0": + version: 3.1.1 + resolution: "@npmcli/fs@npm:3.1.1" + dependencies: + semver: "npm:^7.3.5" + checksum: 10c0/c37a5b4842bfdece3d14dfdb054f73fe15ed2d3da61b34ff76629fb5b1731647c49166fd2a8bf8b56fcfa51200382385ea8909a3cbecdad612310c114d3f6c99 + languageName: node + linkType: hard + +"@nrwl/tao@npm:19.5.6": + version: 19.5.6 + resolution: "@nrwl/tao@npm:19.5.6" + dependencies: + nx: "npm:19.5.6" + tslib: "npm:^2.3.0" + bin: + tao: index.js + checksum: 10c0/31d698d408e12e84b392c71ff82eea288ba0a15582d413460efac3bed932555b72d4812aa5783fe7e8eaee44777be472702403eb662551e33279e807dafb5484 + languageName: node + linkType: hard + +"@nx/nx-darwin-arm64@npm:19.5.6": + version: 19.5.6 + resolution: "@nx/nx-darwin-arm64@npm:19.5.6" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@nx/nx-darwin-x64@npm:19.5.6": + version: 19.5.6 + resolution: "@nx/nx-darwin-x64@npm:19.5.6" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@nx/nx-freebsd-x64@npm:19.5.6": + version: 19.5.6 + resolution: "@nx/nx-freebsd-x64@npm:19.5.6" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@nx/nx-linux-arm-gnueabihf@npm:19.5.6": + version: 19.5.6 + resolution: "@nx/nx-linux-arm-gnueabihf@npm:19.5.6" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@nx/nx-linux-arm64-gnu@npm:19.5.6": + version: 19.5.6 + resolution: "@nx/nx-linux-arm64-gnu@npm:19.5.6" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@nx/nx-linux-arm64-musl@npm:19.5.6": + version: 19.5.6 + resolution: "@nx/nx-linux-arm64-musl@npm:19.5.6" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@nx/nx-linux-x64-gnu@npm:19.5.6": + version: 19.5.6 + resolution: "@nx/nx-linux-x64-gnu@npm:19.5.6" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@nx/nx-linux-x64-musl@npm:19.5.6": + version: 19.5.6 + resolution: "@nx/nx-linux-x64-musl@npm:19.5.6" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@nx/nx-win32-arm64-msvc@npm:19.5.6": + version: 19.5.6 + resolution: "@nx/nx-win32-arm64-msvc@npm:19.5.6" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@nx/nx-win32-x64-msvc@npm:19.5.6": + version: 19.5.6 + resolution: "@nx/nx-win32-x64-msvc@npm:19.5.6" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@orca-so/common-sdk@npm:0.6.0": + version: 0.6.0 + resolution: "@orca-so/common-sdk@npm:0.6.0" + dependencies: + tiny-invariant: "npm:^1.3.1" + peerDependencies: + "@solana/spl-token": ^0.4.1 + "@solana/web3.js": ^1.90.0 + decimal.js: ^10.4.3 + checksum: 10c0/a62b66a727c845a31f5cd3ca5c80ccc5740621e55ebaee63f262a50359a6b78d5bf9c3f8524594789fe69cf4f4efa0a06d2e1e541e53063f5dcba63a76eee3b8 + languageName: node + linkType: hard + +"@orca-so/whirlpools-program@npm:*, @orca-so/whirlpools-program@workspace:programs": + version: 0.0.0-use.local + resolution: "@orca-so/whirlpools-program@workspace:programs" + languageName: unknown + linkType: soft + +"@orca-so/whirlpools-scripts@workspace:scripts": + version: 0.0.0-use.local + resolution: "@orca-so/whirlpools-scripts@workspace:scripts" + dependencies: + "@project-serum/anchor": "npm:~0.25.0" + "@solana/spl-token": "npm:^0.1.8" + "@types/mocha": "npm:^9.0.0" + "@types/mz": "npm:^2.7.3" + mz: "npm:^2.7.0" + ts-node: "npm:^10.9.2" + languageName: unknown + linkType: soft + +"@orca-so/whirlpools-sdk@workspace:legacy": + version: 0.0.0-use.local + resolution: "@orca-so/whirlpools-sdk@workspace:legacy" + dependencies: + "@coral-xyz/anchor": "npm:~0.29.0" + "@orca-so/common-sdk": "npm:0.6.0" + "@orca-so/whirlpools-program": "npm:*" + "@solana/spl-token": "npm:^0.4.1" + "@solana/web3.js": "npm:^1.90.0" + decimal.js: "npm:^10.4.3" + mocha: "npm:^10.2.0" + tiny-invariant: "npm:^1.3.1" + ts-mocha: "npm:^10.0.0" + typescript: "npm:^5.3.3" + peerDependencies: + "@coral-xyz/anchor": ~0.29.0 + "@orca-so/common-sdk": 0.6.0 + "@solana/spl-token": ^0.4.1 + "@solana/web3.js": ^1.90.0 + decimal.js: ^10.4.3 + languageName: unknown + linkType: soft + +"@orca-so/whirlpools@workspace:.": + version: 0.0.0-use.local + resolution: "@orca-so/whirlpools@workspace:." + dependencies: + "@types/bn.js": "npm:~5.1.5" + "@types/mocha": "npm:^10.0.6" + "@types/node": "npm:^20.10.8" + husky: "npm:^8.0.3" + lint-staged: "npm:^15.2.0" + nx: "npm:^19.4.2" + prettier: "npm:^3.1.1" + rimraf: "npm:^5.0.5" + languageName: unknown + linkType: soft + +"@pkgjs/parseargs@npm:^0.11.0": + version: 0.11.0 + resolution: "@pkgjs/parseargs@npm:0.11.0" + checksum: 10c0/5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd + languageName: node + linkType: hard + +"@project-serum/anchor@npm:~0.25.0": + version: 0.25.0 + resolution: "@project-serum/anchor@npm:0.25.0" + dependencies: + "@project-serum/borsh": "npm:^0.2.5" + "@solana/web3.js": "npm:^1.36.0" + base64-js: "npm:^1.5.1" + bn.js: "npm:^5.1.2" + bs58: "npm:^4.0.1" + buffer-layout: "npm:^1.2.2" + camelcase: "npm:^5.3.1" + cross-fetch: "npm:^3.1.5" + crypto-hash: "npm:^1.3.0" + eventemitter3: "npm:^4.0.7" + js-sha256: "npm:^0.9.0" + pako: "npm:^2.0.3" + snake-case: "npm:^3.0.4" + superstruct: "npm:^0.15.4" + toml: "npm:^3.0.0" + checksum: 10c0/b823742214872be771ce05a927e4a0dc38178c209c4e7d65d8c71b8e27aba80941220dac705c7a3f72b8f767a1ec199230f83fe65d1b8f40973d2a61b2f3593e + languageName: node + linkType: hard + +"@project-serum/borsh@npm:^0.2.5": + version: 0.2.5 + resolution: "@project-serum/borsh@npm:0.2.5" + dependencies: + bn.js: "npm:^5.1.2" + buffer-layout: "npm:^1.2.0" + peerDependencies: + "@solana/web3.js": ^1.2.0 + checksum: 10c0/84fb4d5384807359f7de2ce17165bc28b3e6f51193ed8699734fa90212693822c5d02ecb6a602287cbc71f540a938c13a7f6ce50d5b9d57318adb01fca5e0804 + languageName: node + linkType: hard + +"@sinclair/typebox@npm:^0.27.8": + version: 0.27.8 + resolution: "@sinclair/typebox@npm:0.27.8" + checksum: 10c0/ef6351ae073c45c2ac89494dbb3e1f87cc60a93ce4cde797b782812b6f97da0d620ae81973f104b43c9b7eaa789ad20ba4f6a1359f1cc62f63729a55a7d22d4e + languageName: node + linkType: hard + +"@solana/buffer-layout-utils@npm:^0.2.0": + version: 0.2.0 + resolution: "@solana/buffer-layout-utils@npm:0.2.0" + dependencies: + "@solana/buffer-layout": "npm:^4.0.0" + "@solana/web3.js": "npm:^1.32.0" + bigint-buffer: "npm:^1.1.5" + bignumber.js: "npm:^9.0.1" + checksum: 10c0/ed093999d7c0f93527a9b261a9a2a59e10b5ef78fc416fa896b86036fb4dadf923d17db68bffdc3e91eadecdb8b8cddd8ee37f12429980fcaba321e7b8a35d27 + languageName: node + linkType: hard + +"@solana/buffer-layout@npm:^4.0.0, @solana/buffer-layout@npm:^4.0.1": + version: 4.0.1 + resolution: "@solana/buffer-layout@npm:4.0.1" + dependencies: + buffer: "npm:~6.0.3" + checksum: 10c0/6535f3908cf6dfc405b665795f0c2eaa0482a8c6b1811403945cf7b450e7eb7b40acce3e8af046f2fcc3eea1a15e61d48c418315d813bee4b720d56b00053305 + languageName: node + linkType: hard + +"@solana/codecs-core@npm:2.0.0-preview.2": + version: 2.0.0-preview.2 + resolution: "@solana/codecs-core@npm:2.0.0-preview.2" + dependencies: + "@solana/errors": "npm:2.0.0-preview.2" + checksum: 10c0/545340b797bbf5bfbc79c2ca66aa87265b04632e3abd4ec042b7e8e92ed5738726c75a8c8dffd3ea6c793b4f8cd0c74caac72fb41a49a17132f2bb194ab8722f + languageName: node + linkType: hard + +"@solana/codecs-core@npm:2.0.0-preview.4": + version: 2.0.0-preview.4 + resolution: "@solana/codecs-core@npm:2.0.0-preview.4" + dependencies: + "@solana/errors": "npm:2.0.0-preview.4" + peerDependencies: + typescript: ">=5" + checksum: 10c0/fe6d52cec3b747a8ecf752675b57e7f01c5c1d6287d0ec339b49979afba0c37f6c357f4b0b75edb9a6f7876134ba8c1eb77daa3df5b3cdfc938fdebde5d98278 + languageName: node + linkType: hard + +"@solana/codecs-data-structures@npm:2.0.0-preview.2": + version: 2.0.0-preview.2 + resolution: "@solana/codecs-data-structures@npm:2.0.0-preview.2" + dependencies: + "@solana/codecs-core": "npm:2.0.0-preview.2" + "@solana/codecs-numbers": "npm:2.0.0-preview.2" + "@solana/errors": "npm:2.0.0-preview.2" + checksum: 10c0/b06e1cef79305ef3328db7a641e9f8303611e173d99b47ad0934f6793d69fa876e274c9b91373c00c80166fbec74fb3439d6198c8461a6b174e0b808391825bd + languageName: node + linkType: hard + +"@solana/codecs-data-structures@npm:2.0.0-preview.4": + version: 2.0.0-preview.4 + resolution: "@solana/codecs-data-structures@npm:2.0.0-preview.4" + dependencies: + "@solana/codecs-core": "npm:2.0.0-preview.4" + "@solana/codecs-numbers": "npm:2.0.0-preview.4" + "@solana/errors": "npm:2.0.0-preview.4" + peerDependencies: + typescript: ">=5" + checksum: 10c0/9274fbfe029654e6f3cf43a8e82c575c6fab406f6db6b77ee443a2288abf730c4c3c2defd479f9fc4e3d0b9a4334018ba821b4bddcd546586f99e4f778004c33 + languageName: node + linkType: hard + +"@solana/codecs-numbers@npm:2.0.0-preview.2": + version: 2.0.0-preview.2 + resolution: "@solana/codecs-numbers@npm:2.0.0-preview.2" + dependencies: + "@solana/codecs-core": "npm:2.0.0-preview.2" + "@solana/errors": "npm:2.0.0-preview.2" + checksum: 10c0/8a2275085dd25ff106ba20d42f7769648ef3efcff5516725a69af08c48c99c2a9224de9b4a0d1ccf51bb463fc48a54b6b82853d4d8a31ba21648a2daff56c373 + languageName: node + linkType: hard + +"@solana/codecs-numbers@npm:2.0.0-preview.4": + version: 2.0.0-preview.4 + resolution: "@solana/codecs-numbers@npm:2.0.0-preview.4" + dependencies: + "@solana/codecs-core": "npm:2.0.0-preview.4" + "@solana/errors": "npm:2.0.0-preview.4" + peerDependencies: + typescript: ">=5" + checksum: 10c0/02ea792e055f6c798ca140d00d429e0ae6d37b9b42ff3ad950dba98666e18324eeaabd13cdcc584c64a21b10ef3706aaeb23691ba53520dba462fbc071bd63aa + languageName: node + linkType: hard + +"@solana/codecs-strings@npm:2.0.0-preview.2": + version: 2.0.0-preview.2 + resolution: "@solana/codecs-strings@npm:2.0.0-preview.2" + dependencies: + "@solana/codecs-core": "npm:2.0.0-preview.2" + "@solana/codecs-numbers": "npm:2.0.0-preview.2" + "@solana/errors": "npm:2.0.0-preview.2" + peerDependencies: + fastestsmallesttextencoderdecoder: ^1.0.22 + checksum: 10c0/76f741de87bb8b95912467981fe3263d10cc12c3ba66f31d60c28474de57170b7ba0d0f1f6ee9ce6902a137433787a6fc72395ce451a08809207e4d85a621729 + languageName: node + linkType: hard + +"@solana/codecs-strings@npm:2.0.0-preview.4": + version: 2.0.0-preview.4 + resolution: "@solana/codecs-strings@npm:2.0.0-preview.4" + dependencies: + "@solana/codecs-core": "npm:2.0.0-preview.4" + "@solana/codecs-numbers": "npm:2.0.0-preview.4" + "@solana/errors": "npm:2.0.0-preview.4" + peerDependencies: + fastestsmallesttextencoderdecoder: ^1.0.22 + typescript: ">=5" + checksum: 10c0/c1db4d3d2989390461ddf5ae3a08ac25b2b520290565b46469db1fade0600aea4adf501f3c683ef46baabc25cdd9f4e857b267e0cde91f6de4417efc9b0b9ce3 + languageName: node + linkType: hard + +"@solana/codecs@npm:2.0.0-preview.2": + version: 2.0.0-preview.2 + resolution: "@solana/codecs@npm:2.0.0-preview.2" + dependencies: + "@solana/codecs-core": "npm:2.0.0-preview.2" + "@solana/codecs-data-structures": "npm:2.0.0-preview.2" + "@solana/codecs-numbers": "npm:2.0.0-preview.2" + "@solana/codecs-strings": "npm:2.0.0-preview.2" + "@solana/options": "npm:2.0.0-preview.2" + checksum: 10c0/50f8177c042b1a34c83b66ecd0ff67cb0713dc3c4fbac6988d14224ee784d25d626a791eec74a77b60a83be0b5b708832c09067bcee9bad2eede19a0b77c6a82 + languageName: node + linkType: hard + +"@solana/codecs@npm:2.0.0-preview.4": + version: 2.0.0-preview.4 + resolution: "@solana/codecs@npm:2.0.0-preview.4" + dependencies: + "@solana/codecs-core": "npm:2.0.0-preview.4" + "@solana/codecs-data-structures": "npm:2.0.0-preview.4" + "@solana/codecs-numbers": "npm:2.0.0-preview.4" + "@solana/codecs-strings": "npm:2.0.0-preview.4" + "@solana/options": "npm:2.0.0-preview.4" + peerDependencies: + typescript: ">=5" + checksum: 10c0/49a736614a6a4b9747cd040bd61537cbdd58940ed4cdb509d601a1dd05f33f6407bc7d3d8b894962b4a47c59df561098ce50cf2303620b7bc69fe458266ea5c7 + languageName: node + linkType: hard + +"@solana/errors@npm:2.0.0-preview.2": + version: 2.0.0-preview.2 + resolution: "@solana/errors@npm:2.0.0-preview.2" + dependencies: + chalk: "npm:^5.3.0" + commander: "npm:^12.0.0" + bin: + errors: bin/cli.js + checksum: 10c0/5f71ef1306e3c4c858854e5b29750c200c0e49bb9a3e4e2633dd9daa40dc92a940e39e23423b936b110e2bdca092fac546983cde9145a1ad97601ac4d4fdb211 + languageName: node + linkType: hard + +"@solana/errors@npm:2.0.0-preview.4": + version: 2.0.0-preview.4 + resolution: "@solana/errors@npm:2.0.0-preview.4" + dependencies: + chalk: "npm:^5.3.0" + commander: "npm:^12.1.0" + peerDependencies: + typescript: ">=5" + bin: + errors: bin/cli.mjs + checksum: 10c0/457a4e35a8a28c1ad7fc75cf1fde6159b920cebce9c6c46af54b001ccecae9c1f366703de9cad238e784a2b76ae180f0b7c9c63d2f7c972d67cd8165960fdae9 + languageName: node + linkType: hard + +"@solana/options@npm:2.0.0-preview.2": + version: 2.0.0-preview.2 + resolution: "@solana/options@npm:2.0.0-preview.2" + dependencies: + "@solana/codecs-core": "npm:2.0.0-preview.2" + "@solana/codecs-numbers": "npm:2.0.0-preview.2" + checksum: 10c0/e749161b042145d826d6bc1874e37b2fda725e737dd010c696fe1d7300a93eb48a80c2d2376361cd658ee04b4398194fdfa16e858c39ad737337491a8a71e095 + languageName: node + linkType: hard + +"@solana/options@npm:2.0.0-preview.4": + version: 2.0.0-preview.4 + resolution: "@solana/options@npm:2.0.0-preview.4" + dependencies: + "@solana/codecs-core": "npm:2.0.0-preview.4" + "@solana/codecs-data-structures": "npm:2.0.0-preview.4" + "@solana/codecs-numbers": "npm:2.0.0-preview.4" + "@solana/codecs-strings": "npm:2.0.0-preview.4" + "@solana/errors": "npm:2.0.0-preview.4" + peerDependencies: + typescript: ">=5" + checksum: 10c0/c2b802ee449af09231ad38fff48f21c7dd8bc747415451575c8fded3d91c58cafac61829d3d215d19423e212235ab3ad98efeb96bcfbe3587e3181ccd389cd81 + languageName: node + linkType: hard + +"@solana/spl-token-group@npm:^0.0.5": + version: 0.0.5 + resolution: "@solana/spl-token-group@npm:0.0.5" + dependencies: + "@solana/codecs": "npm:2.0.0-preview.4" + "@solana/spl-type-length-value": "npm:0.1.0" + peerDependencies: + "@solana/web3.js": ^1.94.0 + checksum: 10c0/f7140e21165c24f8ab5d7d74138c5d776b96f1f56f0652e641bb94aac2c4f4ba2f7b48c74fe754f962c27a652ecdf6e0be12491ace99116859330a71454b653b + languageName: node + linkType: hard + +"@solana/spl-token-metadata@npm:^0.1.3": + version: 0.1.4 + resolution: "@solana/spl-token-metadata@npm:0.1.4" + dependencies: + "@solana/codecs": "npm:2.0.0-preview.2" + "@solana/spl-type-length-value": "npm:0.1.0" + peerDependencies: + "@solana/web3.js": ^1.91.6 + checksum: 10c0/d2f27b944e26bff2353c362aee0b61b2d030d4df02332898e96d109c2408721e4c652f30dfe1b77a2f6ec72112137e5c79fcda55ec92405d8ead9aa23159a623 + languageName: node + linkType: hard + +"@solana/spl-token@npm:^0.1.8": + version: 0.1.8 + resolution: "@solana/spl-token@npm:0.1.8" + dependencies: + "@babel/runtime": "npm:^7.10.5" + "@solana/web3.js": "npm:^1.21.0" + bn.js: "npm:^5.1.0" + buffer: "npm:6.0.3" + buffer-layout: "npm:^1.2.0" + dotenv: "npm:10.0.0" + checksum: 10c0/adae2cc9bb24054be183faa2bc95de70c00b34f048dc60b51ea20ece53712365233cff1710d9f78e017bb013121c29be26780c4a3672dff7582227cffff1301f + languageName: node + linkType: hard + +"@solana/spl-token@npm:^0.4.1": + version: 0.4.8 + resolution: "@solana/spl-token@npm:0.4.8" + dependencies: + "@solana/buffer-layout": "npm:^4.0.0" + "@solana/buffer-layout-utils": "npm:^0.2.0" + "@solana/spl-token-group": "npm:^0.0.5" + "@solana/spl-token-metadata": "npm:^0.1.3" + buffer: "npm:^6.0.3" + peerDependencies: + "@solana/web3.js": ^1.94.0 + checksum: 10c0/6570a439d93544b9822fc67fd94b443a465ddd2be9683937fe67deea6a71b72c04b80da5a895abfbb2e276dac83ae0401c990e7a4fdf7cf01168288b7345da55 + languageName: node + linkType: hard + +"@solana/spl-type-length-value@npm:0.1.0": + version: 0.1.0 + resolution: "@solana/spl-type-length-value@npm:0.1.0" + dependencies: + buffer: "npm:^6.0.3" + checksum: 10c0/a8f2fd6308dffa27827799146857a778ff807380578e187023f8fe90ebf8a68ed1f9f74a0c196cde7b757ea188ff2af040a727c18bb3c86a82f62fe3ec4c43bb + languageName: node + linkType: hard + +"@solana/web3.js@npm:^1.21.0, @solana/web3.js@npm:^1.32.0, @solana/web3.js@npm:^1.36.0, @solana/web3.js@npm:^1.68.0, @solana/web3.js@npm:^1.90.0": + version: 1.95.2 + resolution: "@solana/web3.js@npm:1.95.2" + dependencies: + "@babel/runtime": "npm:^7.24.8" + "@noble/curves": "npm:^1.4.2" + "@noble/hashes": "npm:^1.4.0" + "@solana/buffer-layout": "npm:^4.0.1" + agentkeepalive: "npm:^4.5.0" + bigint-buffer: "npm:^1.1.5" + bn.js: "npm:^5.2.1" + borsh: "npm:^0.7.0" + bs58: "npm:^4.0.1" + buffer: "npm:6.0.3" + fast-stable-stringify: "npm:^1.0.0" + jayson: "npm:^4.1.1" + node-fetch: "npm:^2.7.0" + rpc-websockets: "npm:^9.0.2" + superstruct: "npm:^2.0.2" + checksum: 10c0/cb43f9657b9ff00392c9e4d6168ed5cf4b0a1f8add0cb944e1153f4d3607ec46bffc9601eae84cf9f5231fcc553b5d7ddb98c186365b6ac2ca0cc9c8991c2605 + languageName: node + linkType: hard + +"@swc/helpers@npm:^0.5.11": + version: 0.5.12 + resolution: "@swc/helpers@npm:0.5.12" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/44693c0f34d772d63f3a6fb461964ec583055549a96df9790afec125b2ba06929a63cf9a165a9aaf22317779f460f8caafa94458b70d5cb2bc057b6ba9b5d02c + languageName: node + linkType: hard + +"@tsconfig/node10@npm:^1.0.7": + version: 1.0.11 + resolution: "@tsconfig/node10@npm:1.0.11" + checksum: 10c0/28a0710e5d039e0de484bdf85fee883bfd3f6a8980601f4d44066b0a6bcd821d31c4e231d1117731c4e24268bd4cf2a788a6787c12fc7f8d11014c07d582783c + languageName: node + linkType: hard + +"@tsconfig/node12@npm:^1.0.7": + version: 1.0.11 + resolution: "@tsconfig/node12@npm:1.0.11" + checksum: 10c0/dddca2b553e2bee1308a056705103fc8304e42bb2d2cbd797b84403a223b25c78f2c683ec3e24a095e82cd435387c877239bffcb15a590ba817cd3f6b9a99fd9 + languageName: node + linkType: hard + +"@tsconfig/node14@npm:^1.0.0": + version: 1.0.3 + resolution: "@tsconfig/node14@npm:1.0.3" + checksum: 10c0/67c1316d065fdaa32525bc9449ff82c197c4c19092b9663b23213c8cbbf8d88b6ed6a17898e0cbc2711950fbfaf40388938c1c748a2ee89f7234fc9e7fe2bf44 + languageName: node + linkType: hard + +"@tsconfig/node16@npm:^1.0.2": + version: 1.0.4 + resolution: "@tsconfig/node16@npm:1.0.4" + checksum: 10c0/05f8f2734e266fb1839eb1d57290df1664fe2aa3b0fdd685a9035806daa635f7519bf6d5d9b33f6e69dd545b8c46bd6e2b5c79acb2b1f146e885f7f11a42a5bb + languageName: node + linkType: hard + +"@tybys/wasm-util@npm:^0.9.0": + version: 0.9.0 + resolution: "@tybys/wasm-util@npm:0.9.0" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10c0/f9fde5c554455019f33af6c8215f1a1435028803dc2a2825b077d812bed4209a1a64444a4ca0ce2ea7e1175c8d88e2f9173a36a33c199e8a5c671aa31de8242d + languageName: node + linkType: hard + +"@types/bn.js@npm:~5.1.5": + version: 5.1.5 + resolution: "@types/bn.js@npm:5.1.5" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/e9f375b43d8119ed82aed2090f83d4cda8afbb63ba13223afb02fa7550258ff90acd76d65cd7186838644048f085241cd98a3a512d8d187aa497c6039c746ac8 + languageName: node + linkType: hard + +"@types/connect@npm:^3.4.33": + version: 3.4.38 + resolution: "@types/connect@npm:3.4.38" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/2e1cdba2c410f25649e77856505cd60223250fa12dff7a503e492208dbfdd25f62859918f28aba95315251fd1f5e1ffbfca1e25e73037189ab85dd3f8d0a148c + languageName: node + linkType: hard + +"@types/json5@npm:^0.0.29": + version: 0.0.29 + resolution: "@types/json5@npm:0.0.29" + checksum: 10c0/6bf5337bc447b706bb5b4431d37686aa2ea6d07cfd6f79cc31de80170d6ff9b1c7384a9c0ccbc45b3f512bae9e9f75c2e12109806a15331dc94e8a8db6dbb4ac + languageName: node + linkType: hard + +"@types/mocha@npm:^10.0.6": + version: 10.0.7 + resolution: "@types/mocha@npm:10.0.7" + checksum: 10c0/48a2df4dd02b6e66a11129dca6a23cf0cc3995faf8525286eb851043685bd8b7444780f4bb29a1c42df7559ed63294e5308bfce3a6b862ad2e0359cb21c21329 + languageName: node + linkType: hard + +"@types/mocha@npm:^9.0.0": + version: 9.1.1 + resolution: "@types/mocha@npm:9.1.1" + checksum: 10c0/d033742ce0c92b917815b6e515165ee396866d0db0c0bbe0c301e49402abe3a61bd51e5bb1df7577f1fac60c99ee505fa744f515b476cc934ecb57f709f327e9 + languageName: node + linkType: hard + +"@types/mz@npm:^2.7.3": + version: 2.7.8 + resolution: "@types/mz@npm:2.7.8" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/5d00871d016c9ebc09e32e6cfcc39bd5901d7731dbdb37af2c8b789d4a1212c418342723baa0fa0d66badcd7297ffdcab376af7ef52a2ce4c9197ea03686f8b6 + languageName: node + linkType: hard + +"@types/node@npm:*": + version: 22.1.0 + resolution: "@types/node@npm:22.1.0" + dependencies: + undici-types: "npm:~6.13.0" + checksum: 10c0/553dafcb842b889c036d43b390d464e8ffcf3ca455ddd5b1a1ef98396381eafbeb0c112a15cc6bf9662b72bc25fc45efc4b6f604760e1e84c410f1b7936c488b + languageName: node + linkType: hard + +"@types/node@npm:^12.12.54": + version: 12.20.55 + resolution: "@types/node@npm:12.20.55" + checksum: 10c0/3b190bb0410047d489c49bbaab592d2e6630de6a50f00ba3d7d513d59401d279972a8f5a598b5bb8ddc1702f8a2f4ec57a65d93852f9c329639738e7053637d1 + languageName: node + linkType: hard + +"@types/node@npm:^20.10.8": + version: 20.14.14 + resolution: "@types/node@npm:20.14.14" + dependencies: + undici-types: "npm:~5.26.4" + checksum: 10c0/4fc8d368df2b6f5497698327b30db68d7d20e32221ce7d057fb15cbd5834685b2fde0440609e4cb2204e5d305b928f008faf41b950a425f3fd55b60cb1b997cf + languageName: node + linkType: hard + +"@types/uuid@npm:^8.3.4": + version: 8.3.4 + resolution: "@types/uuid@npm:8.3.4" + checksum: 10c0/b9ac98f82fcf35962317ef7dc44d9ac9e0f6fdb68121d384c88fe12ea318487d5585d3480fa003cf28be86a3bbe213ca688ba786601dce4a97724765eb5b1cf2 + languageName: node + linkType: hard + +"@types/ws@npm:^7.4.4": + version: 7.4.7 + resolution: "@types/ws@npm:7.4.7" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/f1f53febd8623a85cef2652949acd19d83967e350ea15a851593e3033501750a1e04f418552e487db90a3d48611a1cff3ffcf139b94190c10f2fd1e1dc95ff10 + languageName: node + linkType: hard + +"@types/ws@npm:^8.2.2": + version: 8.5.12 + resolution: "@types/ws@npm:8.5.12" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/3fd77c9e4e05c24ce42bfc7647f7506b08c40a40fe2aea236ef6d4e96fc7cb4006a81ed1b28ec9c457e177a74a72924f4768b7b4652680b42dfd52bc380e15f9 + languageName: node + linkType: hard + +"@yarnpkg/lockfile@npm:^1.1.0": + version: 1.1.0 + resolution: "@yarnpkg/lockfile@npm:1.1.0" + checksum: 10c0/0bfa50a3d756623d1f3409bc23f225a1d069424dbc77c6fd2f14fb377390cd57ec703dc70286e081c564be9051ead9ba85d81d66a3e68eeb6eb506d4e0c0fbda + languageName: node + linkType: hard + +"@yarnpkg/parsers@npm:3.0.0-rc.46": + version: 3.0.0-rc.46 + resolution: "@yarnpkg/parsers@npm:3.0.0-rc.46" + dependencies: + js-yaml: "npm:^3.10.0" + tslib: "npm:^2.4.0" + checksum: 10c0/c7f421c6885142f351459031c093fb2e79abcce6f4a89765a10e600bb7ab122949c54bcea2b23de9572a2b34ba29f822b17831c1c43ba50373ceb8cb5b336667 + languageName: node + linkType: hard + +"@zkochan/js-yaml@npm:0.0.7": + version: 0.0.7 + resolution: "@zkochan/js-yaml@npm:0.0.7" + dependencies: + argparse: "npm:^2.0.1" + bin: + js-yaml: bin/js-yaml.js + checksum: 10c0/c8b3525717912811f9422ed50e94c5751ed6f771eb1b7e5cde097f14835654931e2bdaecb1e5fc37b51cf8d822410a307f16dd1581d46149398c30215f3f9bac + languageName: node + linkType: hard + +"JSONStream@npm:^1.3.5": + version: 1.3.5 + resolution: "JSONStream@npm:1.3.5" + dependencies: + jsonparse: "npm:^1.2.0" + through: "npm:>=2.2.7 <3" + bin: + JSONStream: ./bin.js + checksum: 10c0/0f54694da32224d57b715385d4a6b668d2117379d1f3223dc758459246cca58fdc4c628b83e8a8883334e454a0a30aa198ede77c788b55537c1844f686a751f2 + languageName: node + linkType: hard + +"abbrev@npm:^2.0.0": + version: 2.0.0 + resolution: "abbrev@npm:2.0.0" + checksum: 10c0/f742a5a107473946f426c691c08daba61a1d15942616f300b5d32fd735be88fef5cba24201757b6c407fd564555fb48c751cfa33519b2605c8a7aadd22baf372 + languageName: node + linkType: hard + +"acorn-walk@npm:^8.1.1": + version: 8.3.3 + resolution: "acorn-walk@npm:8.3.3" + dependencies: + acorn: "npm:^8.11.0" + checksum: 10c0/4a9e24313e6a0a7b389e712ba69b66b455b4cb25988903506a8d247e7b126f02060b05a8a5b738a9284214e4ca95f383dd93443a4ba84f1af9b528305c7f243b + languageName: node + linkType: hard + +"acorn@npm:^8.11.0, acorn@npm:^8.4.1": + version: 8.12.1 + resolution: "acorn@npm:8.12.1" + bin: + acorn: bin/acorn + checksum: 10c0/51fb26cd678f914e13287e886da2d7021f8c2bc0ccc95e03d3e0447ee278dd3b40b9c57dc222acd5881adcf26f3edc40901a4953403232129e3876793cd17386 + languageName: node + linkType: hard + +"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0, agent-base@npm:^7.1.1": + version: 7.1.1 + resolution: "agent-base@npm:7.1.1" + dependencies: + debug: "npm:^4.3.4" + checksum: 10c0/e59ce7bed9c63bf071a30cc471f2933862044c97fd9958967bfe22521d7a0f601ce4ed5a8c011799d0c726ca70312142ae193bbebb60f576b52be19d4a363b50 + languageName: node + linkType: hard + +"agentkeepalive@npm:^4.5.0": + version: 4.5.0 + resolution: "agentkeepalive@npm:4.5.0" + dependencies: + humanize-ms: "npm:^1.2.1" + checksum: 10c0/394ea19f9710f230722996e156607f48fdf3a345133b0b1823244b7989426c16019a428b56c82d3eabef616e938812981d9009f4792ecc66bd6a59e991c62612 + languageName: node + linkType: hard + +"aggregate-error@npm:^3.0.0": + version: 3.1.0 + resolution: "aggregate-error@npm:3.1.0" + dependencies: + clean-stack: "npm:^2.0.0" + indent-string: "npm:^4.0.0" + checksum: 10c0/a42f67faa79e3e6687a4923050e7c9807db3848a037076f791d10e092677d65c1d2d863b7848560699f40fc0502c19f40963fb1cd1fb3d338a7423df8e45e039 + languageName: node + linkType: hard + +"ansi-colors@npm:^4.1.1, ansi-colors@npm:^4.1.3": + version: 4.1.3 + resolution: "ansi-colors@npm:4.1.3" + checksum: 10c0/ec87a2f59902f74e61eada7f6e6fe20094a628dab765cfdbd03c3477599368768cffccdb5d3bb19a1b6c99126783a143b1fee31aab729b31ffe5836c7e5e28b9 + languageName: node + linkType: hard + +"ansi-escapes@npm:^7.0.0": + version: 7.0.0 + resolution: "ansi-escapes@npm:7.0.0" + dependencies: + environment: "npm:^1.0.0" + checksum: 10c0/86e51e36fabef18c9c004af0a280573e828900641cea35134a124d2715e0c5a473494ab4ce396614505da77638ae290ff72dd8002d9747d2ee53f5d6bbe336be + languageName: node + linkType: hard + +"ansi-regex@npm:^5.0.1": + version: 5.0.1 + resolution: "ansi-regex@npm:5.0.1" + checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 + languageName: node + linkType: hard + +"ansi-regex@npm:^6.0.1": + version: 6.0.1 + resolution: "ansi-regex@npm:6.0.1" + checksum: 10c0/cbe16dbd2c6b2735d1df7976a7070dd277326434f0212f43abf6d87674095d247968209babdaad31bb00882fa68807256ba9be340eec2f1004de14ca75f52a08 + languageName: node + linkType: hard + +"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": + version: 4.3.0 + resolution: "ansi-styles@npm:4.3.0" + dependencies: + color-convert: "npm:^2.0.1" + checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 + languageName: node + linkType: hard + +"ansi-styles@npm:^5.0.0": + version: 5.2.0 + resolution: "ansi-styles@npm:5.2.0" + checksum: 10c0/9c4ca80eb3c2fb7b33841c210d2f20807f40865d27008d7c3f707b7f95cab7d67462a565e2388ac3285b71cb3d9bb2173de8da37c57692a362885ec34d6e27df + languageName: node + linkType: hard + +"ansi-styles@npm:^6.0.0, ansi-styles@npm:^6.1.0, ansi-styles@npm:^6.2.1": + version: 6.2.1 + resolution: "ansi-styles@npm:6.2.1" + checksum: 10c0/5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c + languageName: node + linkType: hard + +"any-promise@npm:^1.0.0": + version: 1.3.0 + resolution: "any-promise@npm:1.3.0" + checksum: 10c0/60f0298ed34c74fef50daab88e8dab786036ed5a7fad02e012ab57e376e0a0b4b29e83b95ea9b5e7d89df762f5f25119b83e00706ecaccb22cfbacee98d74889 + languageName: node + linkType: hard + +"anymatch@npm:~3.1.2": + version: 3.1.3 + resolution: "anymatch@npm:3.1.3" + dependencies: + normalize-path: "npm:^3.0.0" + picomatch: "npm:^2.0.4" + checksum: 10c0/57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac + languageName: node + linkType: hard + +"arg@npm:^4.1.0": + version: 4.1.3 + resolution: "arg@npm:4.1.3" + checksum: 10c0/070ff801a9d236a6caa647507bdcc7034530604844d64408149a26b9e87c2f97650055c0f049abd1efc024b334635c01f29e0b632b371ac3f26130f4cf65997a + languageName: node + linkType: hard + +"argparse@npm:^1.0.7": + version: 1.0.10 + resolution: "argparse@npm:1.0.10" + dependencies: + sprintf-js: "npm:~1.0.2" + checksum: 10c0/b2972c5c23c63df66bca144dbc65d180efa74f25f8fd9b7d9a0a6c88ae839db32df3d54770dcb6460cf840d232b60695d1a6b1053f599d84e73f7437087712de + languageName: node + linkType: hard + +"argparse@npm:^2.0.1": + version: 2.0.1 + resolution: "argparse@npm:2.0.1" + checksum: 10c0/c5640c2d89045371c7cedd6a70212a04e360fd34d6edeae32f6952c63949e3525ea77dbec0289d8213a99bbaeab5abfa860b5c12cf88a2e6cf8106e90dd27a7e + languageName: node + linkType: hard + +"arrify@npm:^1.0.0": + version: 1.0.1 + resolution: "arrify@npm:1.0.1" + checksum: 10c0/c35c8d1a81bcd5474c0c57fe3f4bad1a4d46a5fa353cedcff7a54da315df60db71829e69104b859dff96c5d68af46bd2be259fe5e50dc6aa9df3b36bea0383ab + languageName: node + linkType: hard + +"asynckit@npm:^0.4.0": + version: 0.4.0 + resolution: "asynckit@npm:0.4.0" + checksum: 10c0/d73e2ddf20c4eb9337e1b3df1a0f6159481050a5de457c55b14ea2e5cb6d90bb69e004c9af54737a5ee0917fcf2c9e25de67777bbe58261847846066ba75bc9d + languageName: node + linkType: hard + +"axios@npm:^1.7.2": + version: 1.7.3 + resolution: "axios@npm:1.7.3" + dependencies: + follow-redirects: "npm:^1.15.6" + form-data: "npm:^4.0.0" + proxy-from-env: "npm:^1.1.0" + checksum: 10c0/a18cbe559203efa05fb1fec2d1898e23bf6329bd2575784ee32aa11b5bbe1d54b9f472c49a261294125519cf62aa4fe5ef6e647bb7482eafc15bffe15ab314ce + languageName: node + linkType: hard + +"balanced-match@npm:^1.0.0": + version: 1.0.2 + resolution: "balanced-match@npm:1.0.2" + checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee + languageName: node + linkType: hard + +"base-x@npm:^3.0.2": + version: 3.0.10 + resolution: "base-x@npm:3.0.10" + dependencies: + safe-buffer: "npm:^5.0.1" + checksum: 10c0/a13a34b71439ee5381667efa630b3bf640cf17f632c5ba01990483367592e72f247d7fb4f8c6d0e3ff8c0fb7224b3ac682ff5be09b87063a45b3968f0457e563 + languageName: node + linkType: hard + +"base64-js@npm:^1.3.1, base64-js@npm:^1.5.1": + version: 1.5.1 + resolution: "base64-js@npm:1.5.1" + checksum: 10c0/f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf + languageName: node + linkType: hard + +"bigint-buffer@npm:^1.1.5": + version: 1.1.5 + resolution: "bigint-buffer@npm:1.1.5" + dependencies: + bindings: "npm:^1.3.0" + node-gyp: "npm:latest" + checksum: 10c0/aa41e53d38242a2f05f85b08eaf592635f92e5328822784cda518232b1644efdbf29ab3664951b174cc645848add4605488e25c9439bcc749660c885b4ff6118 + languageName: node + linkType: hard + +"bignumber.js@npm:^9.0.1": + version: 9.1.2 + resolution: "bignumber.js@npm:9.1.2" + checksum: 10c0/e17786545433f3110b868725c449fa9625366a6e675cd70eb39b60938d6adbd0158cb4b3ad4f306ce817165d37e63f4aa3098ba4110db1d9a3b9f66abfbaf10d + languageName: node + linkType: hard + +"binary-extensions@npm:^2.0.0": + version: 2.3.0 + resolution: "binary-extensions@npm:2.3.0" + checksum: 10c0/75a59cafc10fb12a11d510e77110c6c7ae3f4ca22463d52487709ca7f18f69d886aa387557cc9864fbdb10153d0bdb4caacabf11541f55e89ed6e18d12ece2b5 + languageName: node + linkType: hard + +"bindings@npm:^1.3.0": + version: 1.5.0 + resolution: "bindings@npm:1.5.0" + dependencies: + file-uri-to-path: "npm:1.0.0" + checksum: 10c0/3dab2491b4bb24124252a91e656803eac24292473e56554e35bbfe3cc1875332cfa77600c3bac7564049dc95075bf6fcc63a4609920ff2d64d0fe405fcf0d4ba + languageName: node + linkType: hard + +"bl@npm:^4.0.3": + version: 4.1.0 + resolution: "bl@npm:4.1.0" + dependencies: + buffer: "npm:^5.5.0" + inherits: "npm:^2.0.4" + readable-stream: "npm:^3.4.0" + checksum: 10c0/02847e1d2cb089c9dc6958add42e3cdeaf07d13f575973963335ac0fdece563a50ac770ac4c8fa06492d2dd276f6cc3b7f08c7cd9c7a7ad0f8d388b2a28def5f + languageName: node + linkType: hard + +"bn.js@npm:^5.1.0, bn.js@npm:^5.1.2, bn.js@npm:^5.2.0, bn.js@npm:^5.2.1": + version: 5.2.1 + resolution: "bn.js@npm:5.2.1" + checksum: 10c0/bed3d8bd34ec89dbcf9f20f88bd7d4a49c160fda3b561c7bb227501f974d3e435a48fb9b61bc3de304acab9215a3bda0803f7017ffb4d0016a0c3a740a283caa + languageName: node + linkType: hard + +"borsh@npm:^0.7.0": + version: 0.7.0 + resolution: "borsh@npm:0.7.0" + dependencies: + bn.js: "npm:^5.2.0" + bs58: "npm:^4.0.0" + text-encoding-utf-8: "npm:^1.0.2" + checksum: 10c0/513b3e51823d2bf5be77cec27742419d2b0427504825dd7ceb00dedb820f246a4762f04b83d5e3aa39c8e075b3cbaeb7ca3c90bd1cbeecccb4a510575be8c581 + languageName: node + linkType: hard + +"brace-expansion@npm:^2.0.1": + version: 2.0.1 + resolution: "brace-expansion@npm:2.0.1" + dependencies: + balanced-match: "npm:^1.0.0" + checksum: 10c0/b358f2fe060e2d7a87aa015979ecea07f3c37d4018f8d6deb5bd4c229ad3a0384fe6029bb76cd8be63c81e516ee52d1a0673edbe2023d53a5191732ae3c3e49f + languageName: node + linkType: hard + +"braces@npm:^3.0.3, braces@npm:~3.0.2": + version: 3.0.3 + resolution: "braces@npm:3.0.3" + dependencies: + fill-range: "npm:^7.1.1" + checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 + languageName: node + linkType: hard + +"browser-stdout@npm:^1.3.1": + version: 1.3.1 + resolution: "browser-stdout@npm:1.3.1" + checksum: 10c0/c40e482fd82be872b6ea7b9f7591beafbf6f5ba522fe3dade98ba1573a1c29a11101564993e4eb44e5488be8f44510af072df9a9637c739217eb155ceb639205 + languageName: node + linkType: hard + +"bs58@npm:^4.0.0, bs58@npm:^4.0.1": + version: 4.0.1 + resolution: "bs58@npm:4.0.1" + dependencies: + base-x: "npm:^3.0.2" + checksum: 10c0/613a1b1441e754279a0e3f44d1faeb8c8e838feef81e550efe174ff021dd2e08a4c9ae5805b52dfdde79f97b5c0918c78dd24a0eb726c4a94365f0984a0ffc65 + languageName: node + linkType: hard + +"buffer-from@npm:^1.0.0, buffer-from@npm:^1.1.0": + version: 1.1.2 + resolution: "buffer-from@npm:1.1.2" + checksum: 10c0/124fff9d66d691a86d3b062eff4663fe437a9d9ee4b47b1b9e97f5a5d14f6d5399345db80f796827be7c95e70a8e765dd404b7c3ff3b3324f98e9b0c8826cc34 + languageName: node + linkType: hard + +"buffer-layout@npm:^1.2.0, buffer-layout@npm:^1.2.2": + version: 1.2.2 + resolution: "buffer-layout@npm:1.2.2" + checksum: 10c0/d90d1f622f592553555dd290d0e6dd0bababb2566655d0728812b2667af5a23d795929c38c25f5065252024fa29d75ea54eeb6f469d69814f4ebf614c6672acf + languageName: node + linkType: hard + +"buffer@npm:6.0.3, buffer@npm:^6.0.3, buffer@npm:~6.0.3": + version: 6.0.3 + resolution: "buffer@npm:6.0.3" + dependencies: + base64-js: "npm:^1.3.1" + ieee754: "npm:^1.2.1" + checksum: 10c0/2a905fbbcde73cc5d8bd18d1caa23715d5f83a5935867c2329f0ac06104204ba7947be098fe1317fbd8830e26090ff8e764f08cd14fefc977bb248c3487bcbd0 + languageName: node + linkType: hard + +"buffer@npm:^5.5.0": + version: 5.7.1 + resolution: "buffer@npm:5.7.1" + dependencies: + base64-js: "npm:^1.3.1" + ieee754: "npm:^1.1.13" + checksum: 10c0/27cac81cff434ed2876058d72e7c4789d11ff1120ef32c9de48f59eab58179b66710c488987d295ae89a228f835fc66d088652dffeb8e3ba8659f80eb091d55e + languageName: node + linkType: hard + +"bufferutil@npm:^4.0.1": + version: 4.0.8 + resolution: "bufferutil@npm:4.0.8" + dependencies: + node-gyp: "npm:latest" + node-gyp-build: "npm:^4.3.0" + checksum: 10c0/36cdc5b53a38d9f61f89fdbe62029a2ebcd020599862253fefebe31566155726df9ff961f41b8c97b02b4c12b391ef97faf94e2383392654cf8f0ed68f76e47c + languageName: node + linkType: hard + +"cacache@npm:^18.0.0": + version: 18.0.4 + resolution: "cacache@npm:18.0.4" + dependencies: + "@npmcli/fs": "npm:^3.1.0" + fs-minipass: "npm:^3.0.0" + glob: "npm:^10.2.2" + lru-cache: "npm:^10.0.1" + minipass: "npm:^7.0.3" + minipass-collect: "npm:^2.0.1" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + p-map: "npm:^4.0.0" + ssri: "npm:^10.0.0" + tar: "npm:^6.1.11" + unique-filename: "npm:^3.0.0" + checksum: 10c0/6c055bafed9de4f3dcc64ac3dc7dd24e863210902b7c470eb9ce55a806309b3efff78033e3d8b4f7dcc5d467f2db43c6a2857aaaf26f0094b8a351d44c42179f + languageName: node + linkType: hard + +"camelcase@npm:^5.3.1": + version: 5.3.1 + resolution: "camelcase@npm:5.3.1" + checksum: 10c0/92ff9b443bfe8abb15f2b1513ca182d16126359ad4f955ebc83dc4ddcc4ef3fdd2c078bc223f2673dc223488e75c99b16cc4d056624374b799e6a1555cf61b23 + languageName: node + linkType: hard + +"camelcase@npm:^6.0.0, camelcase@npm:^6.3.0": + version: 6.3.0 + resolution: "camelcase@npm:6.3.0" + checksum: 10c0/0d701658219bd3116d12da3eab31acddb3f9440790c0792e0d398f0a520a6a4058018e546862b6fba89d7ae990efaeb97da71e1913e9ebf5a8b5621a3d55c710 + languageName: node + linkType: hard + +"chalk@npm:^4.0.0, chalk@npm:^4.1.0": + version: 4.1.2 + resolution: "chalk@npm:4.1.2" + dependencies: + ansi-styles: "npm:^4.1.0" + supports-color: "npm:^7.1.0" + checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 + languageName: node + linkType: hard + +"chalk@npm:^5.3.0, chalk@npm:~5.3.0": + version: 5.3.0 + resolution: "chalk@npm:5.3.0" + checksum: 10c0/8297d436b2c0f95801103ff2ef67268d362021b8210daf8ddbe349695333eb3610a71122172ff3b0272f1ef2cf7cc2c41fdaa4715f52e49ffe04c56340feed09 + languageName: node + linkType: hard + +"chokidar@npm:^3.5.3": + version: 3.6.0 + resolution: "chokidar@npm:3.6.0" + dependencies: + anymatch: "npm:~3.1.2" + braces: "npm:~3.0.2" + fsevents: "npm:~2.3.2" + glob-parent: "npm:~5.1.2" + is-binary-path: "npm:~2.1.0" + is-glob: "npm:~4.0.1" + normalize-path: "npm:~3.0.0" + readdirp: "npm:~3.6.0" + dependenciesMeta: + fsevents: + optional: true + checksum: 10c0/8361dcd013f2ddbe260eacb1f3cb2f2c6f2b0ad118708a343a5ed8158941a39cb8fb1d272e0f389712e74ee90ce8ba864eece9e0e62b9705cb468a2f6d917462 + languageName: node + linkType: hard + +"chownr@npm:^2.0.0": + version: 2.0.0 + resolution: "chownr@npm:2.0.0" + checksum: 10c0/594754e1303672171cc04e50f6c398ae16128eb134a88f801bf5354fd96f205320f23536a045d9abd8b51024a149696e51231565891d4efdab8846021ecf88e6 + languageName: node + linkType: hard + +"clean-stack@npm:^2.0.0": + version: 2.2.0 + resolution: "clean-stack@npm:2.2.0" + checksum: 10c0/1f90262d5f6230a17e27d0c190b09d47ebe7efdd76a03b5a1127863f7b3c9aec4c3e6c8bb3a7bbf81d553d56a1fd35728f5a8ef4c63f867ac8d690109742a8c1 + languageName: node + linkType: hard + +"cli-cursor@npm:3.1.0, cli-cursor@npm:^3.1.0": + version: 3.1.0 + resolution: "cli-cursor@npm:3.1.0" + dependencies: + restore-cursor: "npm:^3.1.0" + checksum: 10c0/92a2f98ff9037d09be3dfe1f0d749664797fb674bf388375a2207a1203b69d41847abf16434203e0089212479e47a358b13a0222ab9fccfe8e2644a7ccebd111 + languageName: node + linkType: hard + +"cli-cursor@npm:^5.0.0": + version: 5.0.0 + resolution: "cli-cursor@npm:5.0.0" + dependencies: + restore-cursor: "npm:^5.0.0" + checksum: 10c0/7ec62f69b79f6734ab209a3e4dbdc8af7422d44d360a7cb1efa8a0887bbe466a6e625650c466fe4359aee44dbe2dc0b6994b583d40a05d0808a5cb193641d220 + languageName: node + linkType: hard + +"cli-spinners@npm:2.6.1": + version: 2.6.1 + resolution: "cli-spinners@npm:2.6.1" + checksum: 10c0/6abcdfef59aa68e6b51376d87d257f9120a0a7120a39dd21633702d24797decb6dc747dff2217c88732710db892b5053c5c672d221b6c4d13bbcb5372e203596 + languageName: node + linkType: hard + +"cli-spinners@npm:^2.5.0": + version: 2.9.2 + resolution: "cli-spinners@npm:2.9.2" + checksum: 10c0/907a1c227ddf0d7a101e7ab8b300affc742ead4b4ebe920a5bf1bc6d45dce2958fcd195eb28fa25275062fe6fa9b109b93b63bc8033396ed3bcb50297008b3a3 + languageName: node + linkType: hard + +"cli-truncate@npm:^4.0.0": + version: 4.0.0 + resolution: "cli-truncate@npm:4.0.0" + dependencies: + slice-ansi: "npm:^5.0.0" + string-width: "npm:^7.0.0" + checksum: 10c0/d7f0b73e3d9b88cb496e6c086df7410b541b56a43d18ade6a573c9c18bd001b1c3fba1ad578f741a4218fdc794d042385f8ac02c25e1c295a2d8b9f3cb86eb4c + languageName: node + linkType: hard + +"cliui@npm:^7.0.2": + version: 7.0.4 + resolution: "cliui@npm:7.0.4" + dependencies: + string-width: "npm:^4.2.0" + strip-ansi: "npm:^6.0.0" + wrap-ansi: "npm:^7.0.0" + checksum: 10c0/6035f5daf7383470cef82b3d3db00bec70afb3423538c50394386ffbbab135e26c3689c41791f911fa71b62d13d3863c712fdd70f0fbdffd938a1e6fd09aac00 + languageName: node + linkType: hard + +"cliui@npm:^8.0.1": + version: 8.0.1 + resolution: "cliui@npm:8.0.1" + dependencies: + string-width: "npm:^4.2.0" + strip-ansi: "npm:^6.0.1" + wrap-ansi: "npm:^7.0.0" + checksum: 10c0/4bda0f09c340cbb6dfdc1ed508b3ca080f12992c18d68c6be4d9cf51756033d5266e61ec57529e610dacbf4da1c634423b0c1b11037709cc6b09045cbd815df5 + languageName: node + linkType: hard + +"clone@npm:^1.0.2": + version: 1.0.4 + resolution: "clone@npm:1.0.4" + checksum: 10c0/2176952b3649293473999a95d7bebfc9dc96410f6cbd3d2595cf12fd401f63a4bf41a7adbfd3ab2ff09ed60cb9870c58c6acdd18b87767366fabfc163700f13b + languageName: node + linkType: hard + +"color-convert@npm:^2.0.1": + version: 2.0.1 + resolution: "color-convert@npm:2.0.1" + dependencies: + color-name: "npm:~1.1.4" + checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7 + languageName: node + linkType: hard + +"color-name@npm:~1.1.4": + version: 1.1.4 + resolution: "color-name@npm:1.1.4" + checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95 + languageName: node + linkType: hard + +"colorette@npm:^2.0.20": + version: 2.0.20 + resolution: "colorette@npm:2.0.20" + checksum: 10c0/e94116ff33b0ff56f3b83b9ace895e5bf87c2a7a47b3401b8c3f3226e050d5ef76cf4072fb3325f9dc24d1698f9b730baf4e05eeaf861d74a1883073f4c98a40 + languageName: node + linkType: hard + +"combined-stream@npm:^1.0.8": + version: 1.0.8 + resolution: "combined-stream@npm:1.0.8" + dependencies: + delayed-stream: "npm:~1.0.0" + checksum: 10c0/0dbb829577e1b1e839fa82b40c07ffaf7de8a09b935cadd355a73652ae70a88b4320db322f6634a4ad93424292fa80973ac6480986247f1734a1137debf271d5 + languageName: node + linkType: hard + +"commander@npm:^12.0.0, commander@npm:^12.1.0, commander@npm:~12.1.0": + version: 12.1.0 + resolution: "commander@npm:12.1.0" + checksum: 10c0/6e1996680c083b3b897bfc1cfe1c58dfbcd9842fd43e1aaf8a795fbc237f65efcc860a3ef457b318e73f29a4f4a28f6403c3d653d021d960e4632dd45bde54a9 + languageName: node + linkType: hard + +"commander@npm:^2.20.3": + version: 2.20.3 + resolution: "commander@npm:2.20.3" + checksum: 10c0/74c781a5248c2402a0a3e966a0a2bba3c054aad144f5c023364be83265e796b20565aa9feff624132ff629aa64e16999fa40a743c10c12f7c61e96a794b99288 + languageName: node + linkType: hard + +"create-require@npm:^1.1.0": + version: 1.1.1 + resolution: "create-require@npm:1.1.1" + checksum: 10c0/157cbc59b2430ae9a90034a5f3a1b398b6738bf510f713edc4d4e45e169bc514d3d99dd34d8d01ca7ae7830b5b8b537e46ae8f3c8f932371b0875c0151d7ec91 + languageName: node + linkType: hard + +"cross-fetch@npm:^3.1.5": + version: 3.1.8 + resolution: "cross-fetch@npm:3.1.8" + dependencies: + node-fetch: "npm:^2.6.12" + checksum: 10c0/4c5e022ffe6abdf380faa6e2373c0c4ed7ef75e105c95c972b6f627c3f083170b6886f19fb488a7fa93971f4f69dcc890f122b0d97f0bf5f41ca1d9a8f58c8af + languageName: node + linkType: hard + +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.3": + version: 7.0.3 + resolution: "cross-spawn@npm:7.0.3" + dependencies: + path-key: "npm:^3.1.0" + shebang-command: "npm:^2.0.0" + which: "npm:^2.0.1" + checksum: 10c0/5738c312387081c98d69c98e105b6327b069197f864a60593245d64c8089c8a0a744e16349281210d56835bb9274130d825a78b2ad6853ca13cfbeffc0c31750 + languageName: node + linkType: hard + +"crypto-hash@npm:^1.3.0": + version: 1.3.0 + resolution: "crypto-hash@npm:1.3.0" + checksum: 10c0/651003421dce76fd686eb3ed4981117f9cd3f309a4af41697a646aecbbfc49179547bdd7146f7a74e2c8c7ab703227c25ce03e85fea2da3189ab65e32971ecce + languageName: node + linkType: hard + +"debug@npm:4, debug@npm:^4.3.4, debug@npm:^4.3.5, debug@npm:~4.3.4": + version: 4.3.6 + resolution: "debug@npm:4.3.6" + dependencies: + ms: "npm:2.1.2" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/3293416bff072389c101697d4611c402a6bacd1900ac20c0492f61a9cdd6b3b29750fc7f5e299f8058469ef60ff8fb79b86395a30374fbd2490113c1c7112285 + languageName: node + linkType: hard + +"decamelize@npm:^4.0.0": + version: 4.0.0 + resolution: "decamelize@npm:4.0.0" + checksum: 10c0/e06da03fc05333e8cd2778c1487da67ffbea5b84e03ca80449519b8fa61f888714bbc6f459ea963d5641b4aa98832130eb5cd193d90ae9f0a27eee14be8e278d + languageName: node + linkType: hard + +"decimal.js@npm:^10.4.3": + version: 10.4.3 + resolution: "decimal.js@npm:10.4.3" + checksum: 10c0/6d60206689ff0911f0ce968d40f163304a6c1bc739927758e6efc7921cfa630130388966f16bf6ef6b838cb33679fbe8e7a78a2f3c478afce841fd55ac8fb8ee + languageName: node + linkType: hard + +"defaults@npm:^1.0.3": + version: 1.0.4 + resolution: "defaults@npm:1.0.4" + dependencies: + clone: "npm:^1.0.2" + checksum: 10c0/9cfbe498f5c8ed733775db62dfd585780387d93c17477949e1670bfcfb9346e0281ce8c4bf9f4ac1fc0f9b851113bd6dc9e41182ea1644ccd97de639fa13c35a + languageName: node + linkType: hard + +"define-lazy-prop@npm:^2.0.0": + version: 2.0.0 + resolution: "define-lazy-prop@npm:2.0.0" + checksum: 10c0/db6c63864a9d3b7dc9def55d52764968a5af296de87c1b2cc71d8be8142e445208071953649e0386a8cc37cfcf9a2067a47207f1eb9ff250c2a269658fdae422 + languageName: node + linkType: hard + +"delay@npm:^5.0.0": + version: 5.0.0 + resolution: "delay@npm:5.0.0" + checksum: 10c0/01cdc4cd0cd35fb622518a3df848e67e09763a38e7cdada2232b6fda9ddda72eddcf74f0e24211200fbe718434f2335f2a2633875a6c96037fefa6de42896ad7 + languageName: node + linkType: hard + +"delayed-stream@npm:~1.0.0": + version: 1.0.0 + resolution: "delayed-stream@npm:1.0.0" + checksum: 10c0/d758899da03392e6712f042bec80aa293bbe9e9ff1b2634baae6a360113e708b91326594c8a486d475c69d6259afb7efacdc3537bfcda1c6c648e390ce601b19 + languageName: node + linkType: hard + +"diff-sequences@npm:^29.6.3": + version: 29.6.3 + resolution: "diff-sequences@npm:29.6.3" + checksum: 10c0/32e27ac7dbffdf2fb0eb5a84efd98a9ad084fbabd5ac9abb8757c6770d5320d2acd172830b28c4add29bb873d59420601dfc805ac4064330ce59b1adfd0593b2 + languageName: node + linkType: hard + +"diff@npm:^3.1.0": + version: 3.5.0 + resolution: "diff@npm:3.5.0" + checksum: 10c0/fc62d5ba9f6d1b8b5833380969037007913d4886997838c247c54ec6934f09ae5a07e17ae28b1f016018149d81df8ad89306f52eac1afa899e0bed49015a64d1 + languageName: node + linkType: hard + +"diff@npm:^4.0.1": + version: 4.0.2 + resolution: "diff@npm:4.0.2" + checksum: 10c0/81b91f9d39c4eaca068eb0c1eb0e4afbdc5bb2941d197f513dd596b820b956fef43485876226d65d497bebc15666aa2aa82c679e84f65d5f2bfbf14ee46e32c1 + languageName: node + linkType: hard + +"diff@npm:^5.2.0": + version: 5.2.0 + resolution: "diff@npm:5.2.0" + checksum: 10c0/aed0941f206fe261ecb258dc8d0ceea8abbde3ace5827518ff8d302f0fc9cc81ce116c4d8f379151171336caf0516b79e01abdc1ed1201b6440d895a66689eb4 + languageName: node + linkType: hard + +"dot-case@npm:^3.0.4": + version: 3.0.4 + resolution: "dot-case@npm:3.0.4" + dependencies: + no-case: "npm:^3.0.4" + tslib: "npm:^2.0.3" + checksum: 10c0/5b859ea65097a7ea870e2c91b5768b72ddf7fa947223fd29e167bcdff58fe731d941c48e47a38ec8aa8e43044c8fbd15cd8fa21689a526bc34b6548197cd5b05 + languageName: node + linkType: hard + +"dotenv-expand@npm:~11.0.6": + version: 11.0.6 + resolution: "dotenv-expand@npm:11.0.6" + dependencies: + dotenv: "npm:^16.4.4" + checksum: 10c0/e22891ec72cb926d46d9a26290ef77f9cc9ddcba92d2f83d5e6f3a803d1590887be68e25b559415d080053000441b6f63f5b36093a565bb8c5c994b992ae49f2 + languageName: node + linkType: hard + +"dotenv@npm:10.0.0": + version: 10.0.0 + resolution: "dotenv@npm:10.0.0" + checksum: 10c0/2d8d4ba64bfaff7931402aa5e8cbb8eba0acbc99fe9ae442300199af021079eafa7171ce90e150821a5cb3d74f0057721fbe7ec201a6044b68c8a7615f8c123f + languageName: node + linkType: hard + +"dotenv@npm:^16.4.4, dotenv@npm:~16.4.5": + version: 16.4.5 + resolution: "dotenv@npm:16.4.5" + checksum: 10c0/48d92870076832af0418b13acd6e5a5a3e83bb00df690d9812e94b24aff62b88ade955ac99a05501305b8dc8f1b0ee7638b18493deb6fe93d680e5220936292f + languageName: node + linkType: hard + +"duplexer@npm:^0.1.1": + version: 0.1.2 + resolution: "duplexer@npm:0.1.2" + checksum: 10c0/c57bcd4bdf7e623abab2df43a7b5b23d18152154529d166c1e0da6bee341d84c432d157d7e97b32fecb1bf3a8b8857dd85ed81a915789f550637ed25b8e64fc2 + languageName: node + linkType: hard + +"eastasianwidth@npm:^0.2.0": + version: 0.2.0 + resolution: "eastasianwidth@npm:0.2.0" + checksum: 10c0/26f364ebcdb6395f95124fda411f63137a4bfb5d3a06453f7f23dfe52502905bd84e0488172e0f9ec295fdc45f05c23d5d91baf16bd26f0fe9acd777a188dc39 + languageName: node + linkType: hard + +"emoji-regex@npm:^10.3.0": + version: 10.3.0 + resolution: "emoji-regex@npm:10.3.0" + checksum: 10c0/b4838e8dcdceb44cf47f59abe352c25ff4fe7857acaf5fb51097c427f6f75b44d052eb907a7a3b86f86bc4eae3a93f5c2b7460abe79c407307e6212d65c91163 + languageName: node + linkType: hard + +"emoji-regex@npm:^8.0.0": + version: 8.0.0 + resolution: "emoji-regex@npm:8.0.0" + checksum: 10c0/b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010 + languageName: node + linkType: hard + +"emoji-regex@npm:^9.2.2": + version: 9.2.2 + resolution: "emoji-regex@npm:9.2.2" + checksum: 10c0/af014e759a72064cf66e6e694a7fc6b0ed3d8db680427b021a89727689671cefe9d04151b2cad51dbaf85d5ba790d061cd167f1cf32eb7b281f6368b3c181639 + languageName: node + linkType: hard + +"encoding@npm:^0.1.13": + version: 0.1.13 + resolution: "encoding@npm:0.1.13" + dependencies: + iconv-lite: "npm:^0.6.2" + checksum: 10c0/36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039 + languageName: node + linkType: hard + +"end-of-stream@npm:^1.4.1": + version: 1.4.4 + resolution: "end-of-stream@npm:1.4.4" + dependencies: + once: "npm:^1.4.0" + checksum: 10c0/870b423afb2d54bb8d243c63e07c170409d41e20b47eeef0727547aea5740bd6717aca45597a9f2745525667a6b804c1e7bede41f856818faee5806dd9ff3975 + languageName: node + linkType: hard + +"enquirer@npm:~2.3.6": + version: 2.3.6 + resolution: "enquirer@npm:2.3.6" + dependencies: + ansi-colors: "npm:^4.1.1" + checksum: 10c0/8e070e052c2c64326a2803db9084d21c8aaa8c688327f133bf65c4a712586beb126fd98c8a01cfb0433e82a4bd3b6262705c55a63e0f7fb91d06b9cedbde9a11 + languageName: node + linkType: hard + +"env-paths@npm:^2.2.0": + version: 2.2.1 + resolution: "env-paths@npm:2.2.1" + checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 + languageName: node + linkType: hard + +"environment@npm:^1.0.0": + version: 1.1.0 + resolution: "environment@npm:1.1.0" + checksum: 10c0/fb26434b0b581ab397039e51ff3c92b34924a98b2039dcb47e41b7bca577b9dbf134a8eadb364415c74464b682e2d3afe1a4c0eb9873dc44ea814c5d3103331d + languageName: node + linkType: hard + +"err-code@npm:^2.0.2": + version: 2.0.3 + resolution: "err-code@npm:2.0.3" + checksum: 10c0/b642f7b4dd4a376e954947550a3065a9ece6733ab8e51ad80db727aaae0817c2e99b02a97a3d6cecc648a97848305e728289cf312d09af395403a90c9d4d8a66 + languageName: node + linkType: hard + +"es6-promise@npm:^4.0.3": + version: 4.2.8 + resolution: "es6-promise@npm:4.2.8" + checksum: 10c0/2373d9c5e9a93bdd9f9ed32ff5cb6dd3dd785368d1c21e9bbbfd07d16345b3774ae260f2bd24c8f836a6903f432b4151e7816a7fa8891ccb4e1a55a028ec42c3 + languageName: node + linkType: hard + +"es6-promisify@npm:^5.0.0": + version: 5.0.0 + resolution: "es6-promisify@npm:5.0.0" + dependencies: + es6-promise: "npm:^4.0.3" + checksum: 10c0/23284c6a733cbf7842ec98f41eac742c9f288a78753c4fe46652bae826446ced7615b9e8a5c5f121a08812b1cd478ea58630f3e1c3d70835bd5dcd69c7cd75c9 + languageName: node + linkType: hard + +"escalade@npm:^3.1.1": + version: 3.1.2 + resolution: "escalade@npm:3.1.2" + checksum: 10c0/6b4adafecd0682f3aa1cd1106b8fff30e492c7015b178bc81b2d2f75106dabea6c6d6e8508fc491bd58e597c74abb0e8e2368f943ecb9393d4162e3c2f3cf287 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^1.0.5": + version: 1.0.5 + resolution: "escape-string-regexp@npm:1.0.5" + checksum: 10c0/a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^4.0.0": + version: 4.0.0 + resolution: "escape-string-regexp@npm:4.0.0" + checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 + languageName: node + linkType: hard + +"esprima@npm:^4.0.0": + version: 4.0.1 + resolution: "esprima@npm:4.0.1" + bin: + esparse: ./bin/esparse.js + esvalidate: ./bin/esvalidate.js + checksum: 10c0/ad4bab9ead0808cf56501750fd9d3fb276f6b105f987707d059005d57e182d18a7c9ec7f3a01794ebddcca676773e42ca48a32d67a250c9d35e009ca613caba3 + languageName: node + linkType: hard + +"eventemitter3@npm:^4.0.7": + version: 4.0.7 + resolution: "eventemitter3@npm:4.0.7" + checksum: 10c0/5f6d97cbcbac47be798e6355e3a7639a84ee1f7d9b199a07017f1d2f1e2fe236004d14fa5dfaeba661f94ea57805385e326236a6debbc7145c8877fbc0297c6b + languageName: node + linkType: hard + +"eventemitter3@npm:^5.0.1": + version: 5.0.1 + resolution: "eventemitter3@npm:5.0.1" + checksum: 10c0/4ba5c00c506e6c786b4d6262cfbce90ddc14c10d4667e5c83ae993c9de88aa856033994dd2b35b83e8dc1170e224e66a319fa80adc4c32adcd2379bbc75da814 + languageName: node + linkType: hard + +"execa@npm:~8.0.1": + version: 8.0.1 + resolution: "execa@npm:8.0.1" + dependencies: + cross-spawn: "npm:^7.0.3" + get-stream: "npm:^8.0.1" + human-signals: "npm:^5.0.0" + is-stream: "npm:^3.0.0" + merge-stream: "npm:^2.0.0" + npm-run-path: "npm:^5.1.0" + onetime: "npm:^6.0.0" + signal-exit: "npm:^4.1.0" + strip-final-newline: "npm:^3.0.0" + checksum: 10c0/2c52d8775f5bf103ce8eec9c7ab3059909ba350a5164744e9947ed14a53f51687c040a250bda833f906d1283aa8803975b84e6c8f7a7c42f99dc8ef80250d1af + languageName: node + linkType: hard + +"exponential-backoff@npm:^3.1.1": + version: 3.1.1 + resolution: "exponential-backoff@npm:3.1.1" + checksum: 10c0/160456d2d647e6019640bd07111634d8c353038d9fa40176afb7cd49b0548bdae83b56d05e907c2cce2300b81cae35d800ef92fefb9d0208e190fa3b7d6bb579 + languageName: node + linkType: hard + +"eyes@npm:^0.1.8": + version: 0.1.8 + resolution: "eyes@npm:0.1.8" + checksum: 10c0/4c79a9cbf45746d8c9f48cc957e35ad8ea336add1c7b8d5a0e002efc791a7a62b27b2188184ef1a1eea7bc3cd06b161791421e0e6c5fe78309705a162c53eea8 + languageName: node + linkType: hard + +"fast-stable-stringify@npm:^1.0.0": + version: 1.0.0 + resolution: "fast-stable-stringify@npm:1.0.0" + checksum: 10c0/1d773440c7a9615950577665074746c2e92edafceefa789616ecb6166229e0ccc6dae206ca9b9f7da0d274ba5779162aab2d07940a0f6e52a41a4e555392eb3b + languageName: node + linkType: hard + +"figures@npm:3.2.0": + version: 3.2.0 + resolution: "figures@npm:3.2.0" + dependencies: + escape-string-regexp: "npm:^1.0.5" + checksum: 10c0/9c421646ede432829a50bc4e55c7a4eb4bcb7cc07b5bab2f471ef1ab9a344595bbebb6c5c21470093fbb730cd81bbca119624c40473a125293f656f49cb47629 + languageName: node + linkType: hard + +"file-uri-to-path@npm:1.0.0": + version: 1.0.0 + resolution: "file-uri-to-path@npm:1.0.0" + checksum: 10c0/3b545e3a341d322d368e880e1c204ef55f1d45cdea65f7efc6c6ce9e0c4d22d802d5629320eb779d006fe59624ac17b0e848d83cc5af7cd101f206cb704f5519 + languageName: node + linkType: hard + +"fill-range@npm:^7.1.1": + version: 7.1.1 + resolution: "fill-range@npm:7.1.1" + dependencies: + to-regex-range: "npm:^5.0.1" + checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018 + languageName: node + linkType: hard + +"find-up@npm:^5.0.0": + version: 5.0.0 + resolution: "find-up@npm:5.0.0" + dependencies: + locate-path: "npm:^6.0.0" + path-exists: "npm:^4.0.0" + checksum: 10c0/062c5a83a9c02f53cdd6d175a37ecf8f87ea5bbff1fdfb828f04bfa021441bc7583e8ebc0872a4c1baab96221fb8a8a275a19809fb93fbc40bd69ec35634069a + languageName: node + linkType: hard + +"flat@npm:^5.0.2": + version: 5.0.2 + resolution: "flat@npm:5.0.2" + bin: + flat: cli.js + checksum: 10c0/f178b13482f0cd80c7fede05f4d10585b1f2fdebf26e12edc138e32d3150c6ea6482b7f12813a1091143bad52bb6d3596bca51a162257a21163c0ff438baa5fe + languageName: node + linkType: hard + +"follow-redirects@npm:^1.15.6": + version: 1.15.6 + resolution: "follow-redirects@npm:1.15.6" + peerDependenciesMeta: + debug: + optional: true + checksum: 10c0/9ff767f0d7be6aa6870c82ac79cf0368cd73e01bbc00e9eb1c2a16fbb198ec105e3c9b6628bb98e9f3ac66fe29a957b9645bcb9a490bb7aa0d35f908b6b85071 + languageName: node + linkType: hard + +"foreground-child@npm:^3.1.0": + version: 3.2.1 + resolution: "foreground-child@npm:3.2.1" + dependencies: + cross-spawn: "npm:^7.0.0" + signal-exit: "npm:^4.0.1" + checksum: 10c0/9a53a33dbd87090e9576bef65fb4a71de60f6863a8062a7b11bc1cbe3cc86d428677d7c0b9ef61cdac11007ac580006f78bd5638618d564cfd5e6fd713d6878f + languageName: node + linkType: hard + +"form-data@npm:^4.0.0": + version: 4.0.0 + resolution: "form-data@npm:4.0.0" + dependencies: + asynckit: "npm:^0.4.0" + combined-stream: "npm:^1.0.8" + mime-types: "npm:^2.1.12" + checksum: 10c0/cb6f3ac49180be03ff07ba3ff125f9eba2ff0b277fb33c7fc47569fc5e616882c5b1c69b9904c4c4187e97dd0419dd03b134174756f296dec62041e6527e2c6e + languageName: node + linkType: hard + +"front-matter@npm:^4.0.2": + version: 4.0.2 + resolution: "front-matter@npm:4.0.2" + dependencies: + js-yaml: "npm:^3.13.1" + checksum: 10c0/7a0df5ca37428dd563c057bc17a8940481fe53876609bcdc443a02ce463c70f1842c7cb4628b80916de46a253732794b36fb6a31105db0f185698a93acee4011 + languageName: node + linkType: hard + +"fs-constants@npm:^1.0.0": + version: 1.0.0 + resolution: "fs-constants@npm:1.0.0" + checksum: 10c0/a0cde99085f0872f4d244e83e03a46aa387b74f5a5af750896c6b05e9077fac00e9932fdf5aef84f2f16634cd473c63037d7a512576da7d5c2b9163d1909f3a8 + languageName: node + linkType: hard + +"fs-extra@npm:^11.1.0": + version: 11.2.0 + resolution: "fs-extra@npm:11.2.0" + dependencies: + graceful-fs: "npm:^4.2.0" + jsonfile: "npm:^6.0.1" + universalify: "npm:^2.0.0" + checksum: 10c0/d77a9a9efe60532d2e790e938c81a02c1b24904ef7a3efb3990b835514465ba720e99a6ea56fd5e2db53b4695319b644d76d5a0e9988a2beef80aa7b1da63398 + languageName: node + linkType: hard + +"fs-minipass@npm:^2.0.0": + version: 2.1.0 + resolution: "fs-minipass@npm:2.1.0" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/703d16522b8282d7299337539c3ed6edddd1afe82435e4f5b76e34a79cd74e488a8a0e26a636afc2440e1a23b03878e2122e3a2cfe375a5cf63c37d92b86a004 + languageName: node + linkType: hard + +"fs-minipass@npm:^3.0.0": + version: 3.0.3 + resolution: "fs-minipass@npm:3.0.3" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94 + languageName: node + linkType: hard + +"fs.realpath@npm:^1.0.0": + version: 1.0.0 + resolution: "fs.realpath@npm:1.0.0" + checksum: 10c0/444cf1291d997165dfd4c0d58b69f0e4782bfd9149fd72faa4fe299e68e0e93d6db941660b37dd29153bf7186672ececa3b50b7e7249477b03fdf850f287c948 + languageName: node + linkType: hard + +"fsevents@npm:~2.3.2": + version: 2.3.3 + resolution: "fsevents@npm:2.3.3" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin": + version: 2.3.3 + resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" + dependencies: + node-gyp: "npm:latest" + conditions: os=darwin + languageName: node + linkType: hard + +"get-caller-file@npm:^2.0.5": + version: 2.0.5 + resolution: "get-caller-file@npm:2.0.5" + checksum: 10c0/c6c7b60271931fa752aeb92f2b47e355eac1af3a2673f47c9589e8f8a41adc74d45551c1bc57b5e66a80609f10ffb72b6f575e4370d61cc3f7f3aaff01757cde + languageName: node + linkType: hard + +"get-east-asian-width@npm:^1.0.0": + version: 1.2.0 + resolution: "get-east-asian-width@npm:1.2.0" + checksum: 10c0/914b1e217cf38436c24b4c60b4c45289e39a45bf9e65ef9fd343c2815a1a02b8a0215aeec8bf9c07c516089004b6e3826332481f40a09529fcadbf6e579f286b + languageName: node + linkType: hard + +"get-stream@npm:^8.0.1": + version: 8.0.1 + resolution: "get-stream@npm:8.0.1" + checksum: 10c0/5c2181e98202b9dae0bb4a849979291043e5892eb40312b47f0c22b9414fc9b28a3b6063d2375705eb24abc41ecf97894d9a51f64ff021511b504477b27b4290 + languageName: node + linkType: hard + +"glob-parent@npm:~5.1.2": + version: 5.1.2 + resolution: "glob-parent@npm:5.1.2" + dependencies: + is-glob: "npm:^4.0.1" + checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee + languageName: node + linkType: hard + +"glob@npm:^10.2.2, glob@npm:^10.3.10, glob@npm:^10.3.7": + version: 10.4.5 + resolution: "glob@npm:10.4.5" + dependencies: + foreground-child: "npm:^3.1.0" + jackspeak: "npm:^3.1.2" + minimatch: "npm:^9.0.4" + minipass: "npm:^7.1.2" + package-json-from-dist: "npm:^1.0.0" + path-scurry: "npm:^1.11.1" + bin: + glob: dist/esm/bin.mjs + checksum: 10c0/19a9759ea77b8e3ca0a43c2f07ecddc2ad46216b786bb8f993c445aee80d345925a21e5280c7b7c6c59e860a0154b84e4b2b60321fea92cd3c56b4a7489f160e + languageName: node + linkType: hard + +"glob@npm:^8.1.0": + version: 8.1.0 + resolution: "glob@npm:8.1.0" + dependencies: + fs.realpath: "npm:^1.0.0" + inflight: "npm:^1.0.4" + inherits: "npm:2" + minimatch: "npm:^5.0.1" + once: "npm:^1.3.0" + checksum: 10c0/cb0b5cab17a59c57299376abe5646c7070f8acb89df5595b492dba3bfb43d301a46c01e5695f01154e6553168207cb60d4eaf07d3be4bc3eb9b0457c5c561d0f + languageName: node + linkType: hard + +"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.6": + version: 4.2.11 + resolution: "graceful-fs@npm:4.2.11" + checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 + languageName: node + linkType: hard + +"has-flag@npm:^4.0.0": + version: 4.0.0 + resolution: "has-flag@npm:4.0.0" + checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1 + languageName: node + linkType: hard + +"he@npm:^1.2.0": + version: 1.2.0 + resolution: "he@npm:1.2.0" + bin: + he: bin/he + checksum: 10c0/a27d478befe3c8192f006cdd0639a66798979dfa6e2125c6ac582a19a5ebfec62ad83e8382e6036170d873f46e4536a7e795bf8b95bf7c247f4cc0825ccc8c17 + languageName: node + linkType: hard + +"http-cache-semantics@npm:^4.1.1": + version: 4.1.1 + resolution: "http-cache-semantics@npm:4.1.1" + checksum: 10c0/ce1319b8a382eb3cbb4a37c19f6bfe14e5bb5be3d09079e885e8c513ab2d3cd9214902f8a31c9dc4e37022633ceabfc2d697405deeaf1b8f3552bb4ed996fdfc + languageName: node + linkType: hard + +"http-proxy-agent@npm:^7.0.0": + version: 7.0.2 + resolution: "http-proxy-agent@npm:7.0.2" + dependencies: + agent-base: "npm:^7.1.0" + debug: "npm:^4.3.4" + checksum: 10c0/4207b06a4580fb85dd6dff521f0abf6db517489e70863dca1a0291daa7f2d3d2d6015a57bd702af068ea5cf9f1f6ff72314f5f5b4228d299c0904135d2aef921 + languageName: node + linkType: hard + +"https-proxy-agent@npm:^7.0.1": + version: 7.0.5 + resolution: "https-proxy-agent@npm:7.0.5" + dependencies: + agent-base: "npm:^7.0.2" + debug: "npm:4" + checksum: 10c0/2490e3acec397abeb88807db52cac59102d5ed758feee6df6112ab3ccd8325e8a1ce8bce6f4b66e5470eca102d31e425ace904242e4fa28dbe0c59c4bafa7b2c + languageName: node + linkType: hard + +"human-signals@npm:^5.0.0": + version: 5.0.0 + resolution: "human-signals@npm:5.0.0" + checksum: 10c0/5a9359073fe17a8b58e5a085e9a39a950366d9f00217c4ff5878bd312e09d80f460536ea6a3f260b5943a01fe55c158d1cea3fc7bee3d0520aeef04f6d915c82 + languageName: node + linkType: hard + +"humanize-ms@npm:^1.2.1": + version: 1.2.1 + resolution: "humanize-ms@npm:1.2.1" + dependencies: + ms: "npm:^2.0.0" + checksum: 10c0/f34a2c20161d02303c2807badec2f3b49cbfbbb409abd4f95a07377ae01cfe6b59e3d15ac609cffcd8f2521f0eb37b7e1091acf65da99aa2a4f1ad63c21e7e7a + languageName: node + linkType: hard + +"husky@npm:^8.0.3": + version: 8.0.3 + resolution: "husky@npm:8.0.3" + bin: + husky: lib/bin.js + checksum: 10c0/6722591771c657b91a1abb082e07f6547eca79144d678e586828ae806499d90dce2a6aee08b66183fd8b085f19d20e0990a2ad396961746b4c8bd5bdb619d668 + languageName: node + linkType: hard + +"iconv-lite@npm:^0.6.2": + version: 0.6.3 + resolution: "iconv-lite@npm:0.6.3" + dependencies: + safer-buffer: "npm:>= 2.1.2 < 3.0.0" + checksum: 10c0/98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1 + languageName: node + linkType: hard + +"ieee754@npm:^1.1.13, ieee754@npm:^1.2.1": + version: 1.2.1 + resolution: "ieee754@npm:1.2.1" + checksum: 10c0/b0782ef5e0935b9f12883a2e2aa37baa75da6e66ce6515c168697b42160807d9330de9a32ec1ed73149aea02e0d822e572bca6f1e22bdcbd2149e13b050b17bb + languageName: node + linkType: hard + +"ignore@npm:^5.0.4": + version: 5.3.1 + resolution: "ignore@npm:5.3.1" + checksum: 10c0/703f7f45ffb2a27fb2c5a8db0c32e7dee66b33a225d28e8db4e1be6474795f606686a6e3bcc50e1aa12f2042db4c9d4a7d60af3250511de74620fbed052ea4cd + languageName: node + linkType: hard + +"imurmurhash@npm:^0.1.4": + version: 0.1.4 + resolution: "imurmurhash@npm:0.1.4" + checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 + languageName: node + linkType: hard + +"indent-string@npm:^4.0.0": + version: 4.0.0 + resolution: "indent-string@npm:4.0.0" + checksum: 10c0/1e1904ddb0cb3d6cce7cd09e27a90184908b7a5d5c21b92e232c93579d314f0b83c246ffb035493d0504b1e9147ba2c9b21df0030f48673fba0496ecd698161f + languageName: node + linkType: hard + +"inflight@npm:^1.0.4": + version: 1.0.6 + resolution: "inflight@npm:1.0.6" + dependencies: + once: "npm:^1.3.0" + wrappy: "npm:1" + checksum: 10c0/7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2 + languageName: node + linkType: hard + +"inherits@npm:2, inherits@npm:^2.0.3, inherits@npm:^2.0.4": + version: 2.0.4 + resolution: "inherits@npm:2.0.4" + checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 + languageName: node + linkType: hard + +"ip-address@npm:^9.0.5": + version: 9.0.5 + resolution: "ip-address@npm:9.0.5" + dependencies: + jsbn: "npm:1.1.0" + sprintf-js: "npm:^1.1.3" + checksum: 10c0/331cd07fafcb3b24100613e4b53e1a2b4feab11e671e655d46dc09ee233da5011284d09ca40c4ecbdfe1d0004f462958675c224a804259f2f78d2465a87824bc + languageName: node + linkType: hard + +"is-binary-path@npm:~2.1.0": + version: 2.1.0 + resolution: "is-binary-path@npm:2.1.0" + dependencies: + binary-extensions: "npm:^2.0.0" + checksum: 10c0/a16eaee59ae2b315ba36fad5c5dcaf8e49c3e27318f8ab8fa3cdb8772bf559c8d1ba750a589c2ccb096113bb64497084361a25960899cb6172a6925ab6123d38 + languageName: node + linkType: hard + +"is-docker@npm:^2.0.0, is-docker@npm:^2.1.1": + version: 2.2.1 + resolution: "is-docker@npm:2.2.1" + bin: + is-docker: cli.js + checksum: 10c0/e828365958d155f90c409cdbe958f64051d99e8aedc2c8c4cd7c89dcf35329daed42f7b99346f7828df013e27deb8f721cf9408ba878c76eb9e8290235fbcdcc + languageName: node + linkType: hard + +"is-extglob@npm:^2.1.1": + version: 2.1.1 + resolution: "is-extglob@npm:2.1.1" + checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^3.0.0": + version: 3.0.0 + resolution: "is-fullwidth-code-point@npm:3.0.0" + checksum: 10c0/bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^4.0.0": + version: 4.0.0 + resolution: "is-fullwidth-code-point@npm:4.0.0" + checksum: 10c0/df2a717e813567db0f659c306d61f2f804d480752526886954a2a3e2246c7745fd07a52b5fecf2b68caf0a6c79dcdace6166fdf29cc76ed9975cc334f0a018b8 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^5.0.0": + version: 5.0.0 + resolution: "is-fullwidth-code-point@npm:5.0.0" + dependencies: + get-east-asian-width: "npm:^1.0.0" + checksum: 10c0/cd591b27d43d76b05fa65ed03eddce57a16e1eca0b7797ff7255de97019bcaf0219acfc0c4f7af13319e13541f2a53c0ace476f442b13267b9a6a7568f2b65c8 + languageName: node + linkType: hard + +"is-glob@npm:^4.0.1, is-glob@npm:~4.0.1": + version: 4.0.3 + resolution: "is-glob@npm:4.0.3" + dependencies: + is-extglob: "npm:^2.1.1" + checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a + languageName: node + linkType: hard + +"is-interactive@npm:^1.0.0": + version: 1.0.0 + resolution: "is-interactive@npm:1.0.0" + checksum: 10c0/dd47904dbf286cd20aa58c5192161be1a67138485b9836d5a70433b21a45442e9611b8498b8ab1f839fc962c7620667a50535fdfb4a6bc7989b8858645c06b4d + languageName: node + linkType: hard + +"is-lambda@npm:^1.0.1": + version: 1.0.1 + resolution: "is-lambda@npm:1.0.1" + checksum: 10c0/85fee098ae62ba6f1e24cf22678805473c7afd0fb3978a3aa260e354cb7bcb3a5806cf0a98403188465efedec41ab4348e8e4e79305d409601323855b3839d4d + languageName: node + linkType: hard + +"is-number@npm:^7.0.0": + version: 7.0.0 + resolution: "is-number@npm:7.0.0" + checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 + languageName: node + linkType: hard + +"is-plain-obj@npm:^2.1.0": + version: 2.1.0 + resolution: "is-plain-obj@npm:2.1.0" + checksum: 10c0/e5c9814cdaa627a9ad0a0964ded0e0491bfd9ace405c49a5d63c88b30a162f1512c069d5b80997893c4d0181eadc3fed02b4ab4b81059aba5620bfcdfdeb9c53 + languageName: node + linkType: hard + +"is-stream@npm:^3.0.0": + version: 3.0.0 + resolution: "is-stream@npm:3.0.0" + checksum: 10c0/eb2f7127af02ee9aa2a0237b730e47ac2de0d4e76a4a905a50a11557f2339df5765eaea4ceb8029f1efa978586abe776908720bfcb1900c20c6ec5145f6f29d8 + languageName: node + linkType: hard + +"is-unicode-supported@npm:^0.1.0": + version: 0.1.0 + resolution: "is-unicode-supported@npm:0.1.0" + checksum: 10c0/00cbe3455c3756be68d2542c416cab888aebd5012781d6819749fefb15162ff23e38501fe681b3d751c73e8ff561ac09a5293eba6f58fdf0178462ce6dcb3453 + languageName: node + linkType: hard + +"is-wsl@npm:^2.2.0": + version: 2.2.0 + resolution: "is-wsl@npm:2.2.0" + dependencies: + is-docker: "npm:^2.0.0" + checksum: 10c0/a6fa2d370d21be487c0165c7a440d567274fbba1a817f2f0bfa41cc5e3af25041d84267baa22df66696956038a43973e72fca117918c91431920bdef490fa25e + languageName: node + linkType: hard + +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d + languageName: node + linkType: hard + +"isexe@npm:^3.1.1": + version: 3.1.1 + resolution: "isexe@npm:3.1.1" + checksum: 10c0/9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7 + languageName: node + linkType: hard + +"isomorphic-ws@npm:^4.0.1": + version: 4.0.1 + resolution: "isomorphic-ws@npm:4.0.1" + peerDependencies: + ws: "*" + checksum: 10c0/7cb90dc2f0eb409825558982fb15d7c1d757a88595efbab879592f9d2b63820d6bbfb5571ab8abe36c715946e165a413a99f6aafd9f40ab1f514d73487bc9996 + languageName: node + linkType: hard + +"jackspeak@npm:^3.1.2": + version: 3.4.3 + resolution: "jackspeak@npm:3.4.3" + dependencies: + "@isaacs/cliui": "npm:^8.0.2" + "@pkgjs/parseargs": "npm:^0.11.0" + dependenciesMeta: + "@pkgjs/parseargs": + optional: true + checksum: 10c0/6acc10d139eaefdbe04d2f679e6191b3abf073f111edf10b1de5302c97ec93fffeb2fdd8681ed17f16268aa9dd4f8c588ed9d1d3bffbbfa6e8bf897cbb3149b9 + languageName: node + linkType: hard + +"jayson@npm:^4.1.1": + version: 4.1.1 + resolution: "jayson@npm:4.1.1" + dependencies: + "@types/connect": "npm:^3.4.33" + "@types/node": "npm:^12.12.54" + "@types/ws": "npm:^7.4.4" + JSONStream: "npm:^1.3.5" + commander: "npm:^2.20.3" + delay: "npm:^5.0.0" + es6-promisify: "npm:^5.0.0" + eyes: "npm:^0.1.8" + isomorphic-ws: "npm:^4.0.1" + json-stringify-safe: "npm:^5.0.1" + uuid: "npm:^8.3.2" + ws: "npm:^7.5.10" + bin: + jayson: bin/jayson.js + checksum: 10c0/cee6fd5c2b432514955846981b96bd7359356ea3e839206996c8371dca1801ad3e2b685913c7f6519f701cd3c35b8c99b0b40f69fb3218fcbb92962cfa7fd665 + languageName: node + linkType: hard + +"jest-diff@npm:^29.4.1": + version: 29.7.0 + resolution: "jest-diff@npm:29.7.0" + dependencies: + chalk: "npm:^4.0.0" + diff-sequences: "npm:^29.6.3" + jest-get-type: "npm:^29.6.3" + pretty-format: "npm:^29.7.0" + checksum: 10c0/89a4a7f182590f56f526443dde69acefb1f2f0c9e59253c61d319569856c4931eae66b8a3790c443f529267a0ddba5ba80431c585deed81827032b2b2a1fc999 + languageName: node + linkType: hard + +"jest-get-type@npm:^29.6.3": + version: 29.6.3 + resolution: "jest-get-type@npm:29.6.3" + checksum: 10c0/552e7a97a983d3c2d4e412a44eb7de0430ff773dd99f7500962c268d6dfbfa431d7d08f919c9d960530e5f7f78eb47f267ad9b318265e5092b3ff9ede0db7c2b + languageName: node + linkType: hard + +"js-sha256@npm:^0.9.0": + version: 0.9.0 + resolution: "js-sha256@npm:0.9.0" + checksum: 10c0/f20b9245f6ebe666f42ca05536f777301132fb1aa7fbc22f10578fa302717a6cca507344894efdeaf40a011256eb2f7d517b94ac7105bd5cf087fa61551ad634 + languageName: node + linkType: hard + +"js-yaml@npm:^3.10.0, js-yaml@npm:^3.13.1": + version: 3.14.1 + resolution: "js-yaml@npm:3.14.1" + dependencies: + argparse: "npm:^1.0.7" + esprima: "npm:^4.0.0" + bin: + js-yaml: bin/js-yaml.js + checksum: 10c0/6746baaaeac312c4db8e75fa22331d9a04cccb7792d126ed8ce6a0bbcfef0cedaddd0c5098fade53db067c09fe00aa1c957674b4765610a8b06a5a189e46433b + languageName: node + linkType: hard + +"js-yaml@npm:^4.1.0": + version: 4.1.0 + resolution: "js-yaml@npm:4.1.0" + dependencies: + argparse: "npm:^2.0.1" + bin: + js-yaml: bin/js-yaml.js + checksum: 10c0/184a24b4eaacfce40ad9074c64fd42ac83cf74d8c8cd137718d456ced75051229e5061b8633c3366b8aada17945a7a356b337828c19da92b51ae62126575018f + languageName: node + linkType: hard + +"jsbn@npm:1.1.0": + version: 1.1.0 + resolution: "jsbn@npm:1.1.0" + checksum: 10c0/4f907fb78d7b712e11dea8c165fe0921f81a657d3443dde75359ed52eb2b5d33ce6773d97985a089f09a65edd80b11cb75c767b57ba47391fee4c969f7215c96 + languageName: node + linkType: hard + +"json-stringify-safe@npm:^5.0.1": + version: 5.0.1 + resolution: "json-stringify-safe@npm:5.0.1" + checksum: 10c0/7dbf35cd0411d1d648dceb6d59ce5857ec939e52e4afc37601aa3da611f0987d5cee5b38d58329ceddf3ed48bd7215229c8d52059ab01f2444a338bf24ed0f37 + languageName: node + linkType: hard + +"json5@npm:^1.0.2": + version: 1.0.2 + resolution: "json5@npm:1.0.2" + dependencies: + minimist: "npm:^1.2.0" + bin: + json5: lib/cli.js + checksum: 10c0/9ee316bf21f000b00752e6c2a3b79ecf5324515a5c60ee88983a1910a45426b643a4f3461657586e8aeca87aaf96f0a519b0516d2ae527a6c3e7eed80f68717f + languageName: node + linkType: hard + +"json5@npm:^2.2.2": + version: 2.2.3 + resolution: "json5@npm:2.2.3" + bin: + json5: lib/cli.js + checksum: 10c0/5a04eed94810fa55c5ea138b2f7a5c12b97c3750bc63d11e511dcecbfef758003861522a070c2272764ee0f4e3e323862f386945aeb5b85b87ee43f084ba586c + languageName: node + linkType: hard + +"jsonc-parser@npm:3.2.0": + version: 3.2.0 + resolution: "jsonc-parser@npm:3.2.0" + checksum: 10c0/5a12d4d04dad381852476872a29dcee03a57439574e4181d91dca71904fcdcc5e8e4706c0a68a2c61ad9810e1e1c5806b5100d52d3e727b78f5cdc595401045b + languageName: node + linkType: hard + +"jsonfile@npm:^6.0.1": + version: 6.1.0 + resolution: "jsonfile@npm:6.1.0" + dependencies: + graceful-fs: "npm:^4.1.6" + universalify: "npm:^2.0.0" + dependenciesMeta: + graceful-fs: + optional: true + checksum: 10c0/4f95b5e8a5622b1e9e8f33c96b7ef3158122f595998114d1e7f03985649ea99cb3cd99ce1ed1831ae94c8c8543ab45ebd044207612f31a56fd08462140e46865 + languageName: node + linkType: hard + +"jsonparse@npm:^1.2.0": + version: 1.3.1 + resolution: "jsonparse@npm:1.3.1" + checksum: 10c0/89bc68080cd0a0e276d4b5ab1b79cacd68f562467008d176dc23e16e97d4efec9e21741d92ba5087a8433526a45a7e6a9d5ef25408696c402ca1cfbc01a90bf0 + languageName: node + linkType: hard + +"lilconfig@npm:~3.1.1": + version: 3.1.2 + resolution: "lilconfig@npm:3.1.2" + checksum: 10c0/f059630b1a9bddaeba83059db00c672b64dc14074e9f232adce32b38ca1b5686ab737eb665c5ba3c32f147f0002b4bee7311ad0386a9b98547b5623e87071fbe + languageName: node + linkType: hard + +"lines-and-columns@npm:~2.0.3": + version: 2.0.4 + resolution: "lines-and-columns@npm:2.0.4" + checksum: 10c0/4db28bf065cd7ad897c0700f22d3d0d7c5ed6777e138861c601c496d545340df3fc19e18bd04ff8d95a246a245eb55685b82ca2f8c2ca53a008e9c5316250379 + languageName: node + linkType: hard + +"lint-staged@npm:^15.2.0": + version: 15.2.7 + resolution: "lint-staged@npm:15.2.7" + dependencies: + chalk: "npm:~5.3.0" + commander: "npm:~12.1.0" + debug: "npm:~4.3.4" + execa: "npm:~8.0.1" + lilconfig: "npm:~3.1.1" + listr2: "npm:~8.2.1" + micromatch: "npm:~4.0.7" + pidtree: "npm:~0.6.0" + string-argv: "npm:~0.3.2" + yaml: "npm:~2.4.2" + bin: + lint-staged: bin/lint-staged.js + checksum: 10c0/c14399f9782ae222a1748144254f24b5b9afc816dc8840bd02d50f523c6582796ff18410767eb1a73cf1a83bc6e492dea7b1c4f0912bf3e434c068221f13c878 + languageName: node + linkType: hard + +"listr2@npm:~8.2.1": + version: 8.2.4 + resolution: "listr2@npm:8.2.4" + dependencies: + cli-truncate: "npm:^4.0.0" + colorette: "npm:^2.0.20" + eventemitter3: "npm:^5.0.1" + log-update: "npm:^6.1.0" + rfdc: "npm:^1.4.1" + wrap-ansi: "npm:^9.0.0" + checksum: 10c0/df5b129e9767de1997973cec6103cd4bd6fc3b3367685b7c23048d12b61d5b7e44fecd8a3d3534c0e1c963bd5ac43ca501d14712f46fa101050037be323a5c16 + languageName: node + linkType: hard + +"locate-path@npm:^6.0.0": + version: 6.0.0 + resolution: "locate-path@npm:6.0.0" + dependencies: + p-locate: "npm:^5.0.0" + checksum: 10c0/d3972ab70dfe58ce620e64265f90162d247e87159b6126b01314dd67be43d50e96a50b517bce2d9452a79409c7614054c277b5232377de50416564a77ac7aad3 + languageName: node + linkType: hard + +"log-symbols@npm:^4.0.0, log-symbols@npm:^4.1.0": + version: 4.1.0 + resolution: "log-symbols@npm:4.1.0" + dependencies: + chalk: "npm:^4.1.0" + is-unicode-supported: "npm:^0.1.0" + checksum: 10c0/67f445a9ffa76db1989d0fa98586e5bc2fd5247260dafb8ad93d9f0ccd5896d53fb830b0e54dade5ad838b9de2006c826831a3c528913093af20dff8bd24aca6 + languageName: node + linkType: hard + +"log-update@npm:^6.1.0": + version: 6.1.0 + resolution: "log-update@npm:6.1.0" + dependencies: + ansi-escapes: "npm:^7.0.0" + cli-cursor: "npm:^5.0.0" + slice-ansi: "npm:^7.1.0" + strip-ansi: "npm:^7.1.0" + wrap-ansi: "npm:^9.0.0" + checksum: 10c0/4b350c0a83d7753fea34dcac6cd797d1dc9603291565de009baa4aa91c0447eab0d3815a05c8ec9ac04fdfffb43c82adcdb03ec1fceafd8518e1a8c1cff4ff89 + languageName: node + linkType: hard + +"lower-case@npm:^2.0.2": + version: 2.0.2 + resolution: "lower-case@npm:2.0.2" + dependencies: + tslib: "npm:^2.0.3" + checksum: 10c0/3d925e090315cf7dc1caa358e0477e186ffa23947740e4314a7429b6e62d72742e0bbe7536a5ae56d19d7618ce998aba05caca53c2902bd5742fdca5fc57fd7b + languageName: node + linkType: hard + +"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": + version: 10.4.3 + resolution: "lru-cache@npm:10.4.3" + checksum: 10c0/ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb + languageName: node + linkType: hard + +"make-error@npm:^1.1.1": + version: 1.3.6 + resolution: "make-error@npm:1.3.6" + checksum: 10c0/171e458d86854c6b3fc46610cfacf0b45149ba043782558c6875d9f42f222124384ad0b468c92e996d815a8a2003817a710c0a160e49c1c394626f76fa45396f + languageName: node + linkType: hard + +"make-fetch-happen@npm:^13.0.0": + version: 13.0.1 + resolution: "make-fetch-happen@npm:13.0.1" + dependencies: + "@npmcli/agent": "npm:^2.0.0" + cacache: "npm:^18.0.0" + http-cache-semantics: "npm:^4.1.1" + is-lambda: "npm:^1.0.1" + minipass: "npm:^7.0.2" + minipass-fetch: "npm:^3.0.0" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + negotiator: "npm:^0.6.3" + proc-log: "npm:^4.2.0" + promise-retry: "npm:^2.0.1" + ssri: "npm:^10.0.0" + checksum: 10c0/df5f4dbb6d98153b751bccf4dc4cc500de85a96a9331db9805596c46aa9f99d9555983954e6c1266d9f981ae37a9e4647f42b9a4bb5466f867f4012e582c9e7e + languageName: node + linkType: hard + +"merge-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "merge-stream@npm:2.0.0" + checksum: 10c0/867fdbb30a6d58b011449b8885601ec1690c3e41c759ecd5a9d609094f7aed0096c37823ff4a7190ef0b8f22cc86beb7049196ff68c016e3b3c671d0dac91ce5 + languageName: node + linkType: hard + +"micromatch@npm:~4.0.7": + version: 4.0.7 + resolution: "micromatch@npm:4.0.7" + dependencies: + braces: "npm:^3.0.3" + picomatch: "npm:^2.3.1" + checksum: 10c0/58fa99bc5265edec206e9163a1d2cec5fabc46a5b473c45f4a700adce88c2520456ae35f2b301e4410fb3afb27e9521fb2813f6fc96be0a48a89430e0916a772 + languageName: node + linkType: hard + +"mime-db@npm:1.52.0": + version: 1.52.0 + resolution: "mime-db@npm:1.52.0" + checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa + languageName: node + linkType: hard + +"mime-types@npm:^2.1.12": + version: 2.1.35 + resolution: "mime-types@npm:2.1.35" + dependencies: + mime-db: "npm:1.52.0" + checksum: 10c0/82fb07ec56d8ff1fc999a84f2f217aa46cb6ed1033fefaabd5785b9a974ed225c90dc72fff460259e66b95b73648596dbcc50d51ed69cdf464af2d237d3149b2 + languageName: node + linkType: hard + +"mimic-fn@npm:^2.1.0": + version: 2.1.0 + resolution: "mimic-fn@npm:2.1.0" + checksum: 10c0/b26f5479d7ec6cc2bce275a08f146cf78f5e7b661b18114e2506dd91ec7ec47e7a25bf4360e5438094db0560bcc868079fb3b1fb3892b833c1ecbf63f80c95a4 + languageName: node + linkType: hard + +"mimic-fn@npm:^4.0.0": + version: 4.0.0 + resolution: "mimic-fn@npm:4.0.0" + checksum: 10c0/de9cc32be9996fd941e512248338e43407f63f6d497abe8441fa33447d922e927de54d4cc3c1a3c6d652857acd770389d5a3823f311a744132760ce2be15ccbf + languageName: node + linkType: hard + +"mimic-function@npm:^5.0.0": + version: 5.0.1 + resolution: "mimic-function@npm:5.0.1" + checksum: 10c0/f3d9464dd1816ecf6bdf2aec6ba32c0728022039d992f178237d8e289b48764fee4131319e72eedd4f7f094e22ded0af836c3187a7edc4595d28dd74368fd81d + languageName: node + linkType: hard + +"minimatch@npm:9.0.3": + version: 9.0.3 + resolution: "minimatch@npm:9.0.3" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10c0/85f407dcd38ac3e180f425e86553911d101455ca3ad5544d6a7cec16286657e4f8a9aa6695803025c55e31e35a91a2252b5dc8e7d527211278b8b65b4dbd5eac + languageName: node + linkType: hard + +"minimatch@npm:^5.0.1, minimatch@npm:^5.1.6": + version: 5.1.6 + resolution: "minimatch@npm:5.1.6" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10c0/3defdfd230914f22a8da203747c42ee3c405c39d4d37ffda284dac5e45b7e1f6c49aa8be606509002898e73091ff2a3bbfc59c2c6c71d4660609f63aa92f98e3 + languageName: node + linkType: hard + +"minimatch@npm:^9.0.4": + version: 9.0.5 + resolution: "minimatch@npm:9.0.5" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10c0/de96cf5e35bdf0eab3e2c853522f98ffbe9a36c37797778d2665231ec1f20a9447a7e567cb640901f89e4daaa95ae5d70c65a9e8aa2bb0019b6facbc3c0575ed + languageName: node + linkType: hard + +"minimist@npm:^1.2.0, minimist@npm:^1.2.6": + version: 1.2.8 + resolution: "minimist@npm:1.2.8" + checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 + languageName: node + linkType: hard + +"minipass-collect@npm:^2.0.1": + version: 2.0.1 + resolution: "minipass-collect@npm:2.0.1" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e + languageName: node + linkType: hard + +"minipass-fetch@npm:^3.0.0": + version: 3.0.5 + resolution: "minipass-fetch@npm:3.0.5" + dependencies: + encoding: "npm:^0.1.13" + minipass: "npm:^7.0.3" + minipass-sized: "npm:^1.0.3" + minizlib: "npm:^2.1.2" + dependenciesMeta: + encoding: + optional: true + checksum: 10c0/9d702d57f556274286fdd97e406fc38a2f5c8d15e158b498d7393b1105974b21249289ec571fa2b51e038a4872bfc82710111cf75fae98c662f3d6f95e72152b + languageName: node + linkType: hard + +"minipass-flush@npm:^1.0.5": + version: 1.0.5 + resolution: "minipass-flush@npm:1.0.5" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/2a51b63feb799d2bb34669205eee7c0eaf9dce01883261a5b77410c9408aa447e478efd191b4de6fc1101e796ff5892f8443ef20d9544385819093dbb32d36bd + languageName: node + linkType: hard + +"minipass-pipeline@npm:^1.2.4": + version: 1.2.4 + resolution: "minipass-pipeline@npm:1.2.4" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/cbda57cea20b140b797505dc2cac71581a70b3247b84480c1fed5ca5ba46c25ecc25f68bfc9e6dcb1a6e9017dab5c7ada5eab73ad4f0a49d84e35093e0c643f2 + languageName: node + linkType: hard + +"minipass-sized@npm:^1.0.3": + version: 1.0.3 + resolution: "minipass-sized@npm:1.0.3" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/298f124753efdc745cfe0f2bdfdd81ba25b9f4e753ca4a2066eb17c821f25d48acea607dfc997633ee5bf7b6dfffb4eee4f2051eb168663f0b99fad2fa4829cb + languageName: node + linkType: hard + +"minipass@npm:^3.0.0": + version: 3.3.6 + resolution: "minipass@npm:3.3.6" + dependencies: + yallist: "npm:^4.0.0" + checksum: 10c0/a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c + languageName: node + linkType: hard + +"minipass@npm:^5.0.0": + version: 5.0.0 + resolution: "minipass@npm:5.0.0" + checksum: 10c0/a91d8043f691796a8ac88df039da19933ef0f633e3d7f0d35dcd5373af49131cf2399bfc355f41515dc495e3990369c3858cd319e5c2722b4753c90bf3152462 + languageName: node + linkType: hard + +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.1.2": + version: 7.1.2 + resolution: "minipass@npm:7.1.2" + checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557 + languageName: node + linkType: hard + +"minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": + version: 2.1.2 + resolution: "minizlib@npm:2.1.2" + dependencies: + minipass: "npm:^3.0.0" + yallist: "npm:^4.0.0" + checksum: 10c0/64fae024e1a7d0346a1102bb670085b17b7f95bf6cfdf5b128772ec8faf9ea211464ea4add406a3a6384a7d87a0cd1a96263692134323477b4fb43659a6cab78 + languageName: node + linkType: hard + +"mkdirp@npm:^0.5.1": + version: 0.5.6 + resolution: "mkdirp@npm:0.5.6" + dependencies: + minimist: "npm:^1.2.6" + bin: + mkdirp: bin/cmd.js + checksum: 10c0/e2e2be789218807b58abced04e7b49851d9e46e88a2f9539242cc8a92c9b5c3a0b9bab360bd3014e02a140fc4fbc58e31176c408b493f8a2a6f4986bd7527b01 + languageName: node + linkType: hard + +"mkdirp@npm:^1.0.3": + version: 1.0.4 + resolution: "mkdirp@npm:1.0.4" + bin: + mkdirp: bin/cmd.js + checksum: 10c0/46ea0f3ffa8bc6a5bc0c7081ffc3907777f0ed6516888d40a518c5111f8366d97d2678911ad1a6882bf592fa9de6c784fea32e1687bb94e1f4944170af48a5cf + languageName: node + linkType: hard + +"mocha@npm:^10.2.0": + version: 10.7.0 + resolution: "mocha@npm:10.7.0" + dependencies: + ansi-colors: "npm:^4.1.3" + browser-stdout: "npm:^1.3.1" + chokidar: "npm:^3.5.3" + debug: "npm:^4.3.5" + diff: "npm:^5.2.0" + escape-string-regexp: "npm:^4.0.0" + find-up: "npm:^5.0.0" + glob: "npm:^8.1.0" + he: "npm:^1.2.0" + js-yaml: "npm:^4.1.0" + log-symbols: "npm:^4.1.0" + minimatch: "npm:^5.1.6" + ms: "npm:^2.1.3" + serialize-javascript: "npm:^6.0.2" + strip-json-comments: "npm:^3.1.1" + supports-color: "npm:^8.1.1" + workerpool: "npm:^6.5.1" + yargs: "npm:^16.2.0" + yargs-parser: "npm:^20.2.9" + yargs-unparser: "npm:^2.0.0" + bin: + _mocha: bin/_mocha + mocha: bin/mocha.js + checksum: 10c0/4d9e04fffa66e147e6250561077fcae1d7220bebba98e5649742e2e11b1c432ce9ab3c20fc27fb7cbd2be533b9a2843d47130aa54570047be698e157add02961 + languageName: node + linkType: hard + +"ms@npm:2.1.2": + version: 2.1.2 + resolution: "ms@npm:2.1.2" + checksum: 10c0/a437714e2f90dbf881b5191d35a6db792efbca5badf112f87b9e1c712aace4b4b9b742dd6537f3edf90fd6f684de897cec230abde57e87883766712ddda297cc + languageName: node + linkType: hard + +"ms@npm:^2.0.0, ms@npm:^2.1.3": + version: 2.1.3 + resolution: "ms@npm:2.1.3" + checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 + languageName: node + linkType: hard + +"mz@npm:^2.7.0": + version: 2.7.0 + resolution: "mz@npm:2.7.0" + dependencies: + any-promise: "npm:^1.0.0" + object-assign: "npm:^4.0.1" + thenify-all: "npm:^1.0.0" + checksum: 10c0/103114e93f87362f0b56ab5b2e7245051ad0276b646e3902c98397d18bb8f4a77f2ea4a2c9d3ad516034ea3a56553b60d3f5f78220001ca4c404bd711bd0af39 + languageName: node + linkType: hard + +"negotiator@npm:^0.6.3": + version: 0.6.3 + resolution: "negotiator@npm:0.6.3" + checksum: 10c0/3ec9fd413e7bf071c937ae60d572bc67155262068ed522cf4b3be5edbe6ddf67d095ec03a3a14ebf8fc8e95f8e1d61be4869db0dbb0de696f6b837358bd43fc2 + languageName: node + linkType: hard + +"no-case@npm:^3.0.4": + version: 3.0.4 + resolution: "no-case@npm:3.0.4" + dependencies: + lower-case: "npm:^2.0.2" + tslib: "npm:^2.0.3" + checksum: 10c0/8ef545f0b3f8677c848f86ecbd42ca0ff3cd9dd71c158527b344c69ba14710d816d8489c746b6ca225e7b615108938a0bda0a54706f8c255933703ac1cf8e703 + languageName: node + linkType: hard + +"node-fetch@npm:^2.6.12, node-fetch@npm:^2.7.0": + version: 2.7.0 + resolution: "node-fetch@npm:2.7.0" + dependencies: + whatwg-url: "npm:^5.0.0" + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + checksum: 10c0/b55786b6028208e6fbe594ccccc213cab67a72899c9234eb59dba51062a299ea853210fcf526998eaa2867b0963ad72338824450905679ff0fa304b8c5093ae8 + languageName: node + linkType: hard + +"node-gyp-build@npm:^4.3.0": + version: 4.8.1 + resolution: "node-gyp-build@npm:4.8.1" + bin: + node-gyp-build: bin.js + node-gyp-build-optional: optional.js + node-gyp-build-test: build-test.js + checksum: 10c0/e36ca3d2adf2b9cca316695d7687207c19ac6ed326d6d7c68d7112cebe0de4f82d6733dff139132539fcc01cf5761f6c9082a21864ab9172edf84282bc849ce7 + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 10.2.0 + resolution: "node-gyp@npm:10.2.0" + dependencies: + env-paths: "npm:^2.2.0" + exponential-backoff: "npm:^3.1.1" + glob: "npm:^10.3.10" + graceful-fs: "npm:^4.2.6" + make-fetch-happen: "npm:^13.0.0" + nopt: "npm:^7.0.0" + proc-log: "npm:^4.1.0" + semver: "npm:^7.3.5" + tar: "npm:^6.2.1" + which: "npm:^4.0.0" + bin: + node-gyp: bin/node-gyp.js + checksum: 10c0/00630d67dbd09a45aee0a5d55c05e3916ca9e6d427ee4f7bc392d2d3dc5fad7449b21fc098dd38260a53d9dcc9c879b36704a1994235d4707e7271af7e9a835b + languageName: node + linkType: hard + +"node-machine-id@npm:1.1.12": + version: 1.1.12 + resolution: "node-machine-id@npm:1.1.12" + checksum: 10c0/ab2fea5f75a6f1ce3c76c5e0ae3903b631230e0a99b003d176568fff8ddbdf7b2943be96cd8d220c497ca0f6149411831f8a450601929f326781cb1b59bab7f8 + languageName: node + linkType: hard + +"nopt@npm:^7.0.0": + version: 7.2.1 + resolution: "nopt@npm:7.2.1" + dependencies: + abbrev: "npm:^2.0.0" + bin: + nopt: bin/nopt.js + checksum: 10c0/a069c7c736767121242037a22a788863accfa932ab285a1eb569eb8cd534b09d17206f68c37f096ae785647435e0c5a5a0a67b42ec743e481a455e5ae6a6df81 + languageName: node + linkType: hard + +"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": + version: 3.0.0 + resolution: "normalize-path@npm:3.0.0" + checksum: 10c0/e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046 + languageName: node + linkType: hard + +"npm-run-path@npm:^4.0.1": + version: 4.0.1 + resolution: "npm-run-path@npm:4.0.1" + dependencies: + path-key: "npm:^3.0.0" + checksum: 10c0/6f9353a95288f8455cf64cbeb707b28826a7f29690244c1e4bb61ec573256e021b6ad6651b394eb1ccfd00d6ec50147253aba2c5fe58a57ceb111fad62c519ac + languageName: node + linkType: hard + +"npm-run-path@npm:^5.1.0": + version: 5.3.0 + resolution: "npm-run-path@npm:5.3.0" + dependencies: + path-key: "npm:^4.0.0" + checksum: 10c0/124df74820c40c2eb9a8612a254ea1d557ddfab1581c3e751f825e3e366d9f00b0d76a3c94ecd8398e7f3eee193018622677e95816e8491f0797b21e30b2deba + languageName: node + linkType: hard + +"nx@npm:19.5.6, nx@npm:^19.4.2": + version: 19.5.6 + resolution: "nx@npm:19.5.6" + dependencies: + "@napi-rs/wasm-runtime": "npm:0.2.4" + "@nrwl/tao": "npm:19.5.6" + "@nx/nx-darwin-arm64": "npm:19.5.6" + "@nx/nx-darwin-x64": "npm:19.5.6" + "@nx/nx-freebsd-x64": "npm:19.5.6" + "@nx/nx-linux-arm-gnueabihf": "npm:19.5.6" + "@nx/nx-linux-arm64-gnu": "npm:19.5.6" + "@nx/nx-linux-arm64-musl": "npm:19.5.6" + "@nx/nx-linux-x64-gnu": "npm:19.5.6" + "@nx/nx-linux-x64-musl": "npm:19.5.6" + "@nx/nx-win32-arm64-msvc": "npm:19.5.6" + "@nx/nx-win32-x64-msvc": "npm:19.5.6" + "@yarnpkg/lockfile": "npm:^1.1.0" + "@yarnpkg/parsers": "npm:3.0.0-rc.46" + "@zkochan/js-yaml": "npm:0.0.7" + axios: "npm:^1.7.2" + chalk: "npm:^4.1.0" + cli-cursor: "npm:3.1.0" + cli-spinners: "npm:2.6.1" + cliui: "npm:^8.0.1" + dotenv: "npm:~16.4.5" + dotenv-expand: "npm:~11.0.6" + enquirer: "npm:~2.3.6" + figures: "npm:3.2.0" + flat: "npm:^5.0.2" + front-matter: "npm:^4.0.2" + fs-extra: "npm:^11.1.0" + ignore: "npm:^5.0.4" + jest-diff: "npm:^29.4.1" + jsonc-parser: "npm:3.2.0" + lines-and-columns: "npm:~2.0.3" + minimatch: "npm:9.0.3" + node-machine-id: "npm:1.1.12" + npm-run-path: "npm:^4.0.1" + open: "npm:^8.4.0" + ora: "npm:5.3.0" + semver: "npm:^7.5.3" + string-width: "npm:^4.2.3" + strong-log-transformer: "npm:^2.1.0" + tar-stream: "npm:~2.2.0" + tmp: "npm:~0.2.1" + tsconfig-paths: "npm:^4.1.2" + tslib: "npm:^2.3.0" + yargs: "npm:^17.6.2" + yargs-parser: "npm:21.1.1" + peerDependencies: + "@swc-node/register": ^1.8.0 + "@swc/core": ^1.3.85 + dependenciesMeta: + "@nx/nx-darwin-arm64": + optional: true + "@nx/nx-darwin-x64": + optional: true + "@nx/nx-freebsd-x64": + optional: true + "@nx/nx-linux-arm-gnueabihf": + optional: true + "@nx/nx-linux-arm64-gnu": + optional: true + "@nx/nx-linux-arm64-musl": + optional: true + "@nx/nx-linux-x64-gnu": + optional: true + "@nx/nx-linux-x64-musl": + optional: true + "@nx/nx-win32-arm64-msvc": + optional: true + "@nx/nx-win32-x64-msvc": + optional: true + peerDependenciesMeta: + "@swc-node/register": + optional: true + "@swc/core": + optional: true + bin: + nx: bin/nx.js + nx-cloud: bin/nx-cloud.js + checksum: 10c0/3008a43300560284fc4dc4c7a06047882f7d5fff54c6fc700587c1d58ccca74fbd64cd2cbf5483d27c30f0f9ee187f100e999a1aef85c2fd4796317953dcd11d + languageName: node + linkType: hard + +"object-assign@npm:^4.0.1": + version: 4.1.1 + resolution: "object-assign@npm:4.1.1" + checksum: 10c0/1f4df9945120325d041ccf7b86f31e8bcc14e73d29171e37a7903050e96b81323784ec59f93f102ec635bcf6fa8034ba3ea0a8c7e69fa202b87ae3b6cec5a414 + languageName: node + linkType: hard + +"once@npm:^1.3.0, once@npm:^1.4.0": + version: 1.4.0 + resolution: "once@npm:1.4.0" + dependencies: + wrappy: "npm:1" + checksum: 10c0/5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0 + languageName: node + linkType: hard + +"onetime@npm:^5.1.0": + version: 5.1.2 + resolution: "onetime@npm:5.1.2" + dependencies: + mimic-fn: "npm:^2.1.0" + checksum: 10c0/ffcef6fbb2692c3c40749f31ea2e22677a876daea92959b8a80b521d95cca7a668c884d8b2045d1d8ee7d56796aa405c405462af112a1477594cc63531baeb8f + languageName: node + linkType: hard + +"onetime@npm:^6.0.0": + version: 6.0.0 + resolution: "onetime@npm:6.0.0" + dependencies: + mimic-fn: "npm:^4.0.0" + checksum: 10c0/4eef7c6abfef697dd4479345a4100c382d73c149d2d56170a54a07418c50816937ad09500e1ed1e79d235989d073a9bade8557122aee24f0576ecde0f392bb6c + languageName: node + linkType: hard + +"onetime@npm:^7.0.0": + version: 7.0.0 + resolution: "onetime@npm:7.0.0" + dependencies: + mimic-function: "npm:^5.0.0" + checksum: 10c0/5cb9179d74b63f52a196a2e7037ba2b9a893245a5532d3f44360012005c9cadb60851d56716ebff18a6f47129dab7168022445df47c2aff3b276d92585ed1221 + languageName: node + linkType: hard + +"open@npm:^8.4.0": + version: 8.4.2 + resolution: "open@npm:8.4.2" + dependencies: + define-lazy-prop: "npm:^2.0.0" + is-docker: "npm:^2.1.1" + is-wsl: "npm:^2.2.0" + checksum: 10c0/bb6b3a58401dacdb0aad14360626faf3fb7fba4b77816b373495988b724fb48941cad80c1b65d62bb31a17609b2cd91c41a181602caea597ca80dfbcc27e84c9 + languageName: node + linkType: hard + +"ora@npm:5.3.0": + version: 5.3.0 + resolution: "ora@npm:5.3.0" + dependencies: + bl: "npm:^4.0.3" + chalk: "npm:^4.1.0" + cli-cursor: "npm:^3.1.0" + cli-spinners: "npm:^2.5.0" + is-interactive: "npm:^1.0.0" + log-symbols: "npm:^4.0.0" + strip-ansi: "npm:^6.0.0" + wcwidth: "npm:^1.0.1" + checksum: 10c0/30d5f3218eb75b0a2028c5fb9aa88e83e38a2f1745ab56839abb06c3ba31bae35f768f4e72c4f9e04e2a66be6a898e9312e8cf85c9333e1e3613eabb8c7cdf57 + languageName: node + linkType: hard + +"p-limit@npm:^3.0.2": + version: 3.1.0 + resolution: "p-limit@npm:3.1.0" + dependencies: + yocto-queue: "npm:^0.1.0" + checksum: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a + languageName: node + linkType: hard + +"p-locate@npm:^5.0.0": + version: 5.0.0 + resolution: "p-locate@npm:5.0.0" + dependencies: + p-limit: "npm:^3.0.2" + checksum: 10c0/2290d627ab7903b8b70d11d384fee714b797f6040d9278932754a6860845c4d3190603a0772a663c8cb5a7b21d1b16acb3a6487ebcafa9773094edc3dfe6009a + languageName: node + linkType: hard + +"p-map@npm:^4.0.0": + version: 4.0.0 + resolution: "p-map@npm:4.0.0" + dependencies: + aggregate-error: "npm:^3.0.0" + checksum: 10c0/592c05bd6262c466ce269ff172bb8de7c6975afca9b50c975135b974e9bdaafbfe80e61aaaf5be6d1200ba08b30ead04b88cfa7e25ff1e3b93ab28c9f62a2c75 + languageName: node + linkType: hard + +"package-json-from-dist@npm:^1.0.0": + version: 1.0.0 + resolution: "package-json-from-dist@npm:1.0.0" + checksum: 10c0/e3ffaf6ac1040ab6082a658230c041ad14e72fabe99076a2081bb1d5d41210f11872403fc09082daf4387fc0baa6577f96c9c0e94c90c394fd57794b66aa4033 + languageName: node + linkType: hard + +"pako@npm:^2.0.3": + version: 2.1.0 + resolution: "pako@npm:2.1.0" + checksum: 10c0/8e8646581410654b50eb22a5dfd71159cae98145bd5086c9a7a816ec0370b5f72b4648d08674624b3870a521e6a3daffd6c2f7bc00fdefc7063c9d8232ff5116 + languageName: node + linkType: hard + +"path-exists@npm:^4.0.0": + version: 4.0.0 + resolution: "path-exists@npm:4.0.0" + checksum: 10c0/8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b + languageName: node + linkType: hard + +"path-key@npm:^3.0.0, path-key@npm:^3.1.0": + version: 3.1.1 + resolution: "path-key@npm:3.1.1" + checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c + languageName: node + linkType: hard + +"path-key@npm:^4.0.0": + version: 4.0.0 + resolution: "path-key@npm:4.0.0" + checksum: 10c0/794efeef32863a65ac312f3c0b0a99f921f3e827ff63afa5cb09a377e202c262b671f7b3832a4e64731003fa94af0263713962d317b9887bd1e0c48a342efba3 + languageName: node + linkType: hard + +"path-scurry@npm:^1.11.1": + version: 1.11.1 + resolution: "path-scurry@npm:1.11.1" + dependencies: + lru-cache: "npm:^10.2.0" + minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" + checksum: 10c0/32a13711a2a505616ae1cc1b5076801e453e7aae6ac40ab55b388bb91b9d0547a52f5aaceff710ea400205f18691120d4431e520afbe4266b836fadede15872d + languageName: node + linkType: hard + +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.3.1": + version: 2.3.1 + resolution: "picomatch@npm:2.3.1" + checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be + languageName: node + linkType: hard + +"pidtree@npm:~0.6.0": + version: 0.6.0 + resolution: "pidtree@npm:0.6.0" + bin: + pidtree: bin/pidtree.js + checksum: 10c0/0829ec4e9209e230f74ebf4265f5ccc9ebfb488334b525cb13f86ff801dca44b362c41252cd43ae4d7653a10a5c6ab3be39d2c79064d6895e0d78dc50a5ed6e9 + languageName: node + linkType: hard + +"prettier@npm:^3.1.1": + version: 3.3.3 + resolution: "prettier@npm:3.3.3" + bin: + prettier: bin/prettier.cjs + checksum: 10c0/b85828b08e7505716324e4245549b9205c0cacb25342a030ba8885aba2039a115dbcf75a0b7ca3b37bc9d101ee61fab8113fc69ca3359f2a226f1ecc07ad2e26 + languageName: node + linkType: hard + +"pretty-format@npm:^29.7.0": + version: 29.7.0 + resolution: "pretty-format@npm:29.7.0" + dependencies: + "@jest/schemas": "npm:^29.6.3" + ansi-styles: "npm:^5.0.0" + react-is: "npm:^18.0.0" + checksum: 10c0/edc5ff89f51916f036c62ed433506b55446ff739358de77207e63e88a28ca2894caac6e73dcb68166a606e51c8087d32d400473e6a9fdd2dbe743f46c9c0276f + languageName: node + linkType: hard + +"proc-log@npm:^4.1.0, proc-log@npm:^4.2.0": + version: 4.2.0 + resolution: "proc-log@npm:4.2.0" + checksum: 10c0/17db4757c2a5c44c1e545170e6c70a26f7de58feb985091fb1763f5081cab3d01b181fb2dd240c9f4a4255a1d9227d163d5771b7e69c9e49a561692db865efb9 + languageName: node + linkType: hard + +"promise-retry@npm:^2.0.1": + version: 2.0.1 + resolution: "promise-retry@npm:2.0.1" + dependencies: + err-code: "npm:^2.0.2" + retry: "npm:^0.12.0" + checksum: 10c0/9c7045a1a2928094b5b9b15336dcd2a7b1c052f674550df63cc3f36cd44028e5080448175b6f6ca32b642de81150f5e7b1a98b728f15cb069f2dd60ac2616b96 + languageName: node + linkType: hard + +"proxy-from-env@npm:^1.1.0": + version: 1.1.0 + resolution: "proxy-from-env@npm:1.1.0" + checksum: 10c0/fe7dd8b1bdbbbea18d1459107729c3e4a2243ca870d26d34c2c1bcd3e4425b7bcc5112362df2d93cc7fb9746f6142b5e272fd1cc5c86ddf8580175186f6ad42b + languageName: node + linkType: hard + +"randombytes@npm:^2.1.0": + version: 2.1.0 + resolution: "randombytes@npm:2.1.0" + dependencies: + safe-buffer: "npm:^5.1.0" + checksum: 10c0/50395efda7a8c94f5dffab564f9ff89736064d32addf0cc7e8bf5e4166f09f8ded7a0849ca6c2d2a59478f7d90f78f20d8048bca3cdf8be09d8e8a10790388f3 + languageName: node + linkType: hard + +"react-is@npm:^18.0.0": + version: 18.3.1 + resolution: "react-is@npm:18.3.1" + checksum: 10c0/f2f1e60010c683479e74c63f96b09fb41603527cd131a9959e2aee1e5a8b0caf270b365e5ca77d4a6b18aae659b60a86150bb3979073528877029b35aecd2072 + languageName: node + linkType: hard + +"readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0": + version: 3.6.2 + resolution: "readable-stream@npm:3.6.2" + dependencies: + inherits: "npm:^2.0.3" + string_decoder: "npm:^1.1.1" + util-deprecate: "npm:^1.0.1" + checksum: 10c0/e37be5c79c376fdd088a45fa31ea2e423e5d48854be7a22a58869b4e84d25047b193f6acb54f1012331e1bcd667ffb569c01b99d36b0bd59658fb33f513511b7 + languageName: node + linkType: hard + +"readdirp@npm:~3.6.0": + version: 3.6.0 + resolution: "readdirp@npm:3.6.0" + dependencies: + picomatch: "npm:^2.2.1" + checksum: 10c0/6fa848cf63d1b82ab4e985f4cf72bd55b7dcfd8e0a376905804e48c3634b7e749170940ba77b32804d5fe93b3cc521aa95a8d7e7d725f830da6d93f3669ce66b + languageName: node + linkType: hard + +"regenerator-runtime@npm:^0.14.0": + version: 0.14.1 + resolution: "regenerator-runtime@npm:0.14.1" + checksum: 10c0/1b16eb2c4bceb1665c89de70dcb64126a22bc8eb958feef3cd68fe11ac6d2a4899b5cd1b80b0774c7c03591dc57d16631a7f69d2daa2ec98100e2f29f7ec4cc4 + languageName: node + linkType: hard + +"require-directory@npm:^2.1.1": + version: 2.1.1 + resolution: "require-directory@npm:2.1.1" + checksum: 10c0/83aa76a7bc1531f68d92c75a2ca2f54f1b01463cb566cf3fbc787d0de8be30c9dbc211d1d46be3497dac5785fe296f2dd11d531945ac29730643357978966e99 + languageName: node + linkType: hard + +"restore-cursor@npm:^3.1.0": + version: 3.1.0 + resolution: "restore-cursor@npm:3.1.0" + dependencies: + onetime: "npm:^5.1.0" + signal-exit: "npm:^3.0.2" + checksum: 10c0/8051a371d6aa67ff21625fa94e2357bd81ffdc96267f3fb0fc4aaf4534028343836548ef34c240ffa8c25b280ca35eb36be00b3cb2133fa4f51896d7e73c6b4f + languageName: node + linkType: hard + +"restore-cursor@npm:^5.0.0": + version: 5.1.0 + resolution: "restore-cursor@npm:5.1.0" + dependencies: + onetime: "npm:^7.0.0" + signal-exit: "npm:^4.1.0" + checksum: 10c0/c2ba89131eea791d1b25205bdfdc86699767e2b88dee2a590b1a6caa51737deac8bad0260a5ded2f7c074b7db2f3a626bcf1fcf3cdf35974cbeea5e2e6764f60 + languageName: node + linkType: hard + +"retry@npm:^0.12.0": + version: 0.12.0 + resolution: "retry@npm:0.12.0" + checksum: 10c0/59933e8501727ba13ad73ef4a04d5280b3717fd650408460c987392efe9d7be2040778ed8ebe933c5cbd63da3dcc37919c141ef8af0a54a6e4fca5a2af177bfe + languageName: node + linkType: hard + +"rfdc@npm:^1.4.1": + version: 1.4.1 + resolution: "rfdc@npm:1.4.1" + checksum: 10c0/4614e4292356cafade0b6031527eea9bc90f2372a22c012313be1dcc69a3b90c7338158b414539be863fa95bfcb2ddcd0587be696841af4e6679d85e62c060c7 + languageName: node + linkType: hard + +"rimraf@npm:^5.0.5": + version: 5.0.10 + resolution: "rimraf@npm:5.0.10" + dependencies: + glob: "npm:^10.3.7" + bin: + rimraf: dist/esm/bin.mjs + checksum: 10c0/7da4fd0e15118ee05b918359462cfa1e7fe4b1228c7765195a45b55576e8c15b95db513b8466ec89129666f4af45ad978a3057a02139afba1a63512a2d9644cc + languageName: node + linkType: hard + +"rpc-websockets@npm:^9.0.2": + version: 9.0.2 + resolution: "rpc-websockets@npm:9.0.2" + dependencies: + "@swc/helpers": "npm:^0.5.11" + "@types/uuid": "npm:^8.3.4" + "@types/ws": "npm:^8.2.2" + buffer: "npm:^6.0.3" + bufferutil: "npm:^4.0.1" + eventemitter3: "npm:^5.0.1" + utf-8-validate: "npm:^5.0.2" + uuid: "npm:^8.3.2" + ws: "npm:^8.5.0" + dependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/2f3b104a41f353a0c4e6f94474b347b42ea8c917d918259ea5b69878d082c2b8f83bdf5a9038714f536641700dbf7f102ce0c50505345fd8d61ee5d42dd72799 + languageName: node + linkType: hard + +"safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:~5.2.0": + version: 5.2.1 + resolution: "safe-buffer@npm:5.2.1" + checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 + languageName: node + linkType: hard + +"safer-buffer@npm:>= 2.1.2 < 3.0.0": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 + languageName: node + linkType: hard + +"semver@npm:^7.3.5, semver@npm:^7.5.3": + version: 7.6.3 + resolution: "semver@npm:7.6.3" + bin: + semver: bin/semver.js + checksum: 10c0/88f33e148b210c153873cb08cfe1e281d518aaa9a666d4d148add6560db5cd3c582f3a08ccb91f38d5f379ead256da9931234ed122057f40bb5766e65e58adaf + languageName: node + linkType: hard + +"serialize-javascript@npm:^6.0.2": + version: 6.0.2 + resolution: "serialize-javascript@npm:6.0.2" + dependencies: + randombytes: "npm:^2.1.0" + checksum: 10c0/2dd09ef4b65a1289ba24a788b1423a035581bef60817bea1f01eda8e3bda623f86357665fe7ac1b50f6d4f583f97db9615b3f07b2a2e8cbcb75033965f771dd2 + languageName: node + linkType: hard + +"shebang-command@npm:^2.0.0": + version: 2.0.0 + resolution: "shebang-command@npm:2.0.0" + dependencies: + shebang-regex: "npm:^3.0.0" + checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e + languageName: node + linkType: hard + +"shebang-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "shebang-regex@npm:3.0.0" + checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 + languageName: node + linkType: hard + +"signal-exit@npm:^3.0.2": + version: 3.0.7 + resolution: "signal-exit@npm:3.0.7" + checksum: 10c0/25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 + languageName: node + linkType: hard + +"signal-exit@npm:^4.0.1, signal-exit@npm:^4.1.0": + version: 4.1.0 + resolution: "signal-exit@npm:4.1.0" + checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 + languageName: node + linkType: hard + +"slice-ansi@npm:^5.0.0": + version: 5.0.0 + resolution: "slice-ansi@npm:5.0.0" + dependencies: + ansi-styles: "npm:^6.0.0" + is-fullwidth-code-point: "npm:^4.0.0" + checksum: 10c0/2d4d40b2a9d5cf4e8caae3f698fe24ae31a4d778701724f578e984dcb485ec8c49f0c04dab59c401821e80fcdfe89cace9c66693b0244e40ec485d72e543914f + languageName: node + linkType: hard + +"slice-ansi@npm:^7.1.0": + version: 7.1.0 + resolution: "slice-ansi@npm:7.1.0" + dependencies: + ansi-styles: "npm:^6.2.1" + is-fullwidth-code-point: "npm:^5.0.0" + checksum: 10c0/631c971d4abf56cf880f034d43fcc44ff883624867bf11ecbd538c47343911d734a4656d7bc02362b40b89d765652a7f935595441e519b59e2ad3f4d5d6fe7ca + languageName: node + linkType: hard + +"smart-buffer@npm:^4.2.0": + version: 4.2.0 + resolution: "smart-buffer@npm:4.2.0" + checksum: 10c0/a16775323e1404dd43fabafe7460be13a471e021637bc7889468eb45ce6a6b207261f454e4e530a19500cc962c4cc5348583520843b363f4193cee5c00e1e539 + languageName: node + linkType: hard + +"snake-case@npm:^3.0.4": + version: 3.0.4 + resolution: "snake-case@npm:3.0.4" + dependencies: + dot-case: "npm:^3.0.4" + tslib: "npm:^2.0.3" + checksum: 10c0/ab19a913969f58f4474fe9f6e8a026c8a2142a01f40b52b79368068343177f818cdfef0b0c6b9558f298782441d5ca8ed5932eb57822439fad791d866e62cecd + languageName: node + linkType: hard + +"socks-proxy-agent@npm:^8.0.3": + version: 8.0.4 + resolution: "socks-proxy-agent@npm:8.0.4" + dependencies: + agent-base: "npm:^7.1.1" + debug: "npm:^4.3.4" + socks: "npm:^2.8.3" + checksum: 10c0/345593bb21b95b0508e63e703c84da11549f0a2657d6b4e3ee3612c312cb3a907eac10e53b23ede3557c6601d63252103494caa306b66560f43af7b98f53957a + languageName: node + linkType: hard + +"socks@npm:^2.8.3": + version: 2.8.3 + resolution: "socks@npm:2.8.3" + dependencies: + ip-address: "npm:^9.0.5" + smart-buffer: "npm:^4.2.0" + checksum: 10c0/d54a52bf9325165770b674a67241143a3d8b4e4c8884560c4e0e078aace2a728dffc7f70150660f51b85797c4e1a3b82f9b7aa25e0a0ceae1a243365da5c51a7 + languageName: node + linkType: hard + +"source-map-support@npm:^0.5.6": + version: 0.5.21 + resolution: "source-map-support@npm:0.5.21" + dependencies: + buffer-from: "npm:^1.0.0" + source-map: "npm:^0.6.0" + checksum: 10c0/9ee09942f415e0f721d6daad3917ec1516af746a8120bba7bb56278707a37f1eb8642bde456e98454b8a885023af81a16e646869975f06afc1a711fb90484e7d + languageName: node + linkType: hard + +"source-map@npm:^0.6.0": + version: 0.6.1 + resolution: "source-map@npm:0.6.1" + checksum: 10c0/ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011 + languageName: node + linkType: hard + +"sprintf-js@npm:^1.1.3": + version: 1.1.3 + resolution: "sprintf-js@npm:1.1.3" + checksum: 10c0/09270dc4f30d479e666aee820eacd9e464215cdff53848b443964202bf4051490538e5dd1b42e1a65cf7296916ca17640aebf63dae9812749c7542ee5f288dec + languageName: node + linkType: hard + +"sprintf-js@npm:~1.0.2": + version: 1.0.3 + resolution: "sprintf-js@npm:1.0.3" + checksum: 10c0/ecadcfe4c771890140da5023d43e190b7566d9cf8b2d238600f31bec0fc653f328da4450eb04bd59a431771a8e9cc0e118f0aa3974b683a4981b4e07abc2a5bb + languageName: node + linkType: hard + +"ssri@npm:^10.0.0": + version: 10.0.6 + resolution: "ssri@npm:10.0.6" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/e5a1e23a4057a86a97971465418f22ea89bd439ac36ade88812dd920e4e61873e8abd6a9b72a03a67ef50faa00a2daf1ab745c5a15b46d03e0544a0296354227 + languageName: node + linkType: hard + +"string-argv@npm:~0.3.2": + version: 0.3.2 + resolution: "string-argv@npm:0.3.2" + checksum: 10c0/75c02a83759ad1722e040b86823909d9a2fc75d15dd71ec4b537c3560746e33b5f5a07f7332d1e3f88319909f82190843aa2f0a0d8c8d591ec08e93d5b8dec82 + languageName: node + linkType: hard + +"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": + version: 4.2.3 + resolution: "string-width@npm:4.2.3" + dependencies: + emoji-regex: "npm:^8.0.0" + is-fullwidth-code-point: "npm:^3.0.0" + strip-ansi: "npm:^6.0.1" + checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b + languageName: node + linkType: hard + +"string-width@npm:^5.0.1, string-width@npm:^5.1.2": + version: 5.1.2 + resolution: "string-width@npm:5.1.2" + dependencies: + eastasianwidth: "npm:^0.2.0" + emoji-regex: "npm:^9.2.2" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca + languageName: node + linkType: hard + +"string-width@npm:^7.0.0": + version: 7.2.0 + resolution: "string-width@npm:7.2.0" + dependencies: + emoji-regex: "npm:^10.3.0" + get-east-asian-width: "npm:^1.0.0" + strip-ansi: "npm:^7.1.0" + checksum: 10c0/eb0430dd43f3199c7a46dcbf7a0b34539c76fe3aa62763d0b0655acdcbdf360b3f66f3d58ca25ba0205f42ea3491fa00f09426d3b7d3040e506878fc7664c9b9 + languageName: node + linkType: hard + +"string_decoder@npm:^1.1.1": + version: 1.3.0 + resolution: "string_decoder@npm:1.3.0" + dependencies: + safe-buffer: "npm:~5.2.0" + checksum: 10c0/810614ddb030e271cd591935dcd5956b2410dd079d64ff92a1844d6b7588bf992b3e1b69b0f4d34a3e06e0bd73046ac646b5264c1987b20d0601f81ef35d731d + languageName: node + linkType: hard + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": + version: 6.0.1 + resolution: "strip-ansi@npm:6.0.1" + dependencies: + ansi-regex: "npm:^5.0.1" + checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 + languageName: node + linkType: hard + +"strip-ansi@npm:^7.0.1, strip-ansi@npm:^7.1.0": + version: 7.1.0 + resolution: "strip-ansi@npm:7.1.0" + dependencies: + ansi-regex: "npm:^6.0.1" + checksum: 10c0/a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4 + languageName: node + linkType: hard + +"strip-bom@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-bom@npm:3.0.0" + checksum: 10c0/51201f50e021ef16672593d7434ca239441b7b760e905d9f33df6e4f3954ff54ec0e0a06f100d028af0982d6f25c35cd5cda2ce34eaebccd0250b8befb90d8f1 + languageName: node + linkType: hard + +"strip-final-newline@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-final-newline@npm:3.0.0" + checksum: 10c0/a771a17901427bac6293fd416db7577e2bc1c34a19d38351e9d5478c3c415f523f391003b42ed475f27e33a78233035df183525395f731d3bfb8cdcbd4da08ce + languageName: node + linkType: hard + +"strip-json-comments@npm:^3.1.1": + version: 3.1.1 + resolution: "strip-json-comments@npm:3.1.1" + checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd + languageName: node + linkType: hard + +"strong-log-transformer@npm:^2.1.0": + version: 2.1.0 + resolution: "strong-log-transformer@npm:2.1.0" + dependencies: + duplexer: "npm:^0.1.1" + minimist: "npm:^1.2.0" + through: "npm:^2.3.4" + bin: + sl-log-transformer: bin/sl-log-transformer.js + checksum: 10c0/3c3b8aa8f34d661910563ff996412e2f527fc814e699a376854b554d4a4294ab7e285b4e2c08a080a7b19c5600a9b93a98798d3ac600fe3de545ca6605c07829 + languageName: node + linkType: hard + +"superstruct@npm:^0.15.4": + version: 0.15.5 + resolution: "superstruct@npm:0.15.5" + checksum: 10c0/73ae2043443dcc7868da6e8b4e4895410c79a88e021b514c665161199675ee920d5eadd85bb9dee5a9f515817e62f4b65a67ccb82d29f73259d012afcbcd3ce4 + languageName: node + linkType: hard + +"superstruct@npm:^2.0.2": + version: 2.0.2 + resolution: "superstruct@npm:2.0.2" + checksum: 10c0/c6853db5240b4920f47b3c864dd1e23ede6819ea399ad29a65387d746374f6958c5f1c5b7e5bb152d9db117a74973e5005056d9bb83c24e26f18ec6bfae4a718 + languageName: node + linkType: hard + +"supports-color@npm:^7.1.0": + version: 7.2.0 + resolution: "supports-color@npm:7.2.0" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124 + languageName: node + linkType: hard + +"supports-color@npm:^8.1.1": + version: 8.1.1 + resolution: "supports-color@npm:8.1.1" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10c0/ea1d3c275dd604c974670f63943ed9bd83623edc102430c05adb8efc56ba492746b6e95386e7831b872ec3807fd89dd8eb43f735195f37b5ec343e4234cc7e89 + languageName: node + linkType: hard + +"tar-stream@npm:~2.2.0": + version: 2.2.0 + resolution: "tar-stream@npm:2.2.0" + dependencies: + bl: "npm:^4.0.3" + end-of-stream: "npm:^1.4.1" + fs-constants: "npm:^1.0.0" + inherits: "npm:^2.0.3" + readable-stream: "npm:^3.1.1" + checksum: 10c0/2f4c910b3ee7196502e1ff015a7ba321ec6ea837667220d7bcb8d0852d51cb04b87f7ae471008a6fb8f5b1a1b5078f62f3a82d30c706f20ada1238ac797e7692 + languageName: node + linkType: hard + +"tar@npm:^6.1.11, tar@npm:^6.2.1": + version: 6.2.1 + resolution: "tar@npm:6.2.1" + dependencies: + chownr: "npm:^2.0.0" + fs-minipass: "npm:^2.0.0" + minipass: "npm:^5.0.0" + minizlib: "npm:^2.1.1" + mkdirp: "npm:^1.0.3" + yallist: "npm:^4.0.0" + checksum: 10c0/a5eca3eb50bc11552d453488344e6507156b9193efd7635e98e867fab275d527af53d8866e2370cd09dfe74378a18111622ace35af6a608e5223a7d27fe99537 + languageName: node + linkType: hard + +"text-encoding-utf-8@npm:^1.0.2": + version: 1.0.2 + resolution: "text-encoding-utf-8@npm:1.0.2" + checksum: 10c0/87a64b394c850e8387c2ca7fc6929a26ce97fb598f1c55cd0fdaec4b8e2c3ed6770f65b2f3309c9175ef64ac5e403c8e48b53ceeb86d2897940c5e19cc00bb99 + languageName: node + linkType: hard + +"thenify-all@npm:^1.0.0": + version: 1.6.0 + resolution: "thenify-all@npm:1.6.0" + dependencies: + thenify: "npm:>= 3.1.0 < 4" + checksum: 10c0/9b896a22735e8122754fe70f1d65f7ee691c1d70b1f116fda04fea103d0f9b356e3676cb789506e3909ae0486a79a476e4914b0f92472c2e093d206aed4b7d6b + languageName: node + linkType: hard + +"thenify@npm:>= 3.1.0 < 4": + version: 3.3.1 + resolution: "thenify@npm:3.3.1" + dependencies: + any-promise: "npm:^1.0.0" + checksum: 10c0/f375aeb2b05c100a456a30bc3ed07ef03a39cbdefe02e0403fb714b8c7e57eeaad1a2f5c4ecfb9ce554ce3db9c2b024eba144843cd9e344566d9fcee73b04767 + languageName: node + linkType: hard + +"through@npm:>=2.2.7 <3, through@npm:^2.3.4": + version: 2.3.8 + resolution: "through@npm:2.3.8" + checksum: 10c0/4b09f3774099de0d4df26d95c5821a62faee32c7e96fb1f4ebd54a2d7c11c57fe88b0a0d49cf375de5fee5ae6bf4eb56dbbf29d07366864e2ee805349970d3cc + languageName: node + linkType: hard + +"tiny-invariant@npm:^1.3.1": + version: 1.3.3 + resolution: "tiny-invariant@npm:1.3.3" + checksum: 10c0/65af4a07324b591a059b35269cd696aba21bef2107f29b9f5894d83cc143159a204b299553435b03874ebb5b94d019afa8b8eff241c8a4cfee95872c2e1c1c4a + languageName: node + linkType: hard + +"tmp@npm:~0.2.1": + version: 0.2.3 + resolution: "tmp@npm:0.2.3" + checksum: 10c0/3e809d9c2f46817475b452725c2aaa5d11985cf18d32a7a970ff25b568438e2c076c2e8609224feef3b7923fa9749b74428e3e634f6b8e520c534eef2fd24125 + languageName: node + linkType: hard + +"to-regex-range@npm:^5.0.1": + version: 5.0.1 + resolution: "to-regex-range@npm:5.0.1" + dependencies: + is-number: "npm:^7.0.0" + checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 + languageName: node + linkType: hard + +"toml@npm:^3.0.0": + version: 3.0.0 + resolution: "toml@npm:3.0.0" + checksum: 10c0/8d7ed3e700ca602e5419fca343e1c595eb7aa177745141f0761a5b20874b58ee5c878cd045c408da9d130cb2b611c639912210ba96ce2f78e443569aa8060c18 + languageName: node + linkType: hard + +"tr46@npm:~0.0.3": + version: 0.0.3 + resolution: "tr46@npm:0.0.3" + checksum: 10c0/047cb209a6b60c742f05c9d3ace8fa510bff609995c129a37ace03476a9b12db4dbf975e74600830ef0796e18882b2381fb5fb1f6b4f96b832c374de3ab91a11 + languageName: node + linkType: hard + +"ts-mocha@npm:^10.0.0": + version: 10.0.0 + resolution: "ts-mocha@npm:10.0.0" + dependencies: + ts-node: "npm:7.0.1" + tsconfig-paths: "npm:^3.5.0" + peerDependencies: + mocha: ^3.X.X || ^4.X.X || ^5.X.X || ^6.X.X || ^7.X.X || ^8.X.X || ^9.X.X || ^10.X.X + dependenciesMeta: + tsconfig-paths: + optional: true + bin: + ts-mocha: bin/ts-mocha + checksum: 10c0/d21ba7a379f80b010ef1115ca3d94ca7490bfdb5a0d65fd2e1b500d992c99c2e68346c41e645589df785bbd7bed1baaa0529fbcfd5444d0bd00efdcd9b4f32ed + languageName: node + linkType: hard + +"ts-node@npm:7.0.1": + version: 7.0.1 + resolution: "ts-node@npm:7.0.1" + dependencies: + arrify: "npm:^1.0.0" + buffer-from: "npm:^1.1.0" + diff: "npm:^3.1.0" + make-error: "npm:^1.1.1" + minimist: "npm:^1.2.0" + mkdirp: "npm:^0.5.1" + source-map-support: "npm:^0.5.6" + yn: "npm:^2.0.0" + bin: + ts-node: dist/bin.js + checksum: 10c0/d6307766a716a77999e11c7f310312cf9d6addb98859d71e71d611ecafa6bdb90f07365f9acf7e9489cb43cfc2211486303172c3bcda370d20f0be54884fe647 + languageName: node + linkType: hard + +"ts-node@npm:^10.9.2": + version: 10.9.2 + resolution: "ts-node@npm:10.9.2" + dependencies: + "@cspotcode/source-map-support": "npm:^0.8.0" + "@tsconfig/node10": "npm:^1.0.7" + "@tsconfig/node12": "npm:^1.0.7" + "@tsconfig/node14": "npm:^1.0.0" + "@tsconfig/node16": "npm:^1.0.2" + acorn: "npm:^8.4.1" + acorn-walk: "npm:^8.1.1" + arg: "npm:^4.1.0" + create-require: "npm:^1.1.0" + diff: "npm:^4.0.1" + make-error: "npm:^1.1.1" + v8-compile-cache-lib: "npm:^3.0.1" + yn: "npm:3.1.1" + peerDependencies: + "@swc/core": ">=1.2.50" + "@swc/wasm": ">=1.2.50" + "@types/node": "*" + typescript: ">=2.7" + peerDependenciesMeta: + "@swc/core": + optional: true + "@swc/wasm": + optional: true + bin: + ts-node: dist/bin.js + ts-node-cwd: dist/bin-cwd.js + ts-node-esm: dist/bin-esm.js + ts-node-script: dist/bin-script.js + ts-node-transpile-only: dist/bin-transpile.js + ts-script: dist/bin-script-deprecated.js + checksum: 10c0/5f29938489f96982a25ba650b64218e83a3357d76f7bede80195c65ab44ad279c8357264639b7abdd5d7e75fc269a83daa0e9c62fd8637a3def67254ecc9ddc2 + languageName: node + linkType: hard + +"tsconfig-paths@npm:^3.5.0": + version: 3.15.0 + resolution: "tsconfig-paths@npm:3.15.0" + dependencies: + "@types/json5": "npm:^0.0.29" + json5: "npm:^1.0.2" + minimist: "npm:^1.2.6" + strip-bom: "npm:^3.0.0" + checksum: 10c0/5b4f301a2b7a3766a986baf8fc0e177eb80bdba6e396792ff92dc23b5bca8bb279fc96517dcaaef63a3b49bebc6c4c833653ec58155780bc906bdbcf7dda0ef5 + languageName: node + linkType: hard + +"tsconfig-paths@npm:^4.1.2": + version: 4.2.0 + resolution: "tsconfig-paths@npm:4.2.0" + dependencies: + json5: "npm:^2.2.2" + minimist: "npm:^1.2.6" + strip-bom: "npm:^3.0.0" + checksum: 10c0/09a5877402d082bb1134930c10249edeebc0211f36150c35e1c542e5b91f1047b1ccf7da1e59babca1ef1f014c525510f4f870de7c9bda470c73bb4e2721b3ea + languageName: node + linkType: hard + +"tslib@npm:^2.0.3, tslib@npm:^2.3.0, tslib@npm:^2.4.0": + version: 2.6.3 + resolution: "tslib@npm:2.6.3" + checksum: 10c0/2598aef53d9dbe711af75522464b2104724d6467b26a60f2bdac8297d2b5f1f6b86a71f61717384aa8fd897240467aaa7bcc36a0700a0faf751293d1331db39a + languageName: node + linkType: hard + +"typescript@npm:^5.3.3": + version: 5.5.4 + resolution: "typescript@npm:5.5.4" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/422be60f89e661eab29ac488c974b6cc0a660fb2228003b297c3d10c32c90f3bcffc1009b43876a082515a3c376b1eefcce823d6e78982e6878408b9a923199c + languageName: node + linkType: hard + +"typescript@patch:typescript@npm%3A^5.3.3#optional!builtin": + version: 5.5.4 + resolution: "typescript@patch:typescript@npm%3A5.5.4#optional!builtin::version=5.5.4&hash=379a07" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/73409d7b9196a5a1217b3aaad929bf76294d3ce7d6e9766dd880ece296ee91cf7d7db6b16c6c6c630ee5096eccde726c0ef17c7dfa52b01a243e57ae1f09ef07 + languageName: node + linkType: hard + +"undici-types@npm:~5.26.4": + version: 5.26.5 + resolution: "undici-types@npm:5.26.5" + checksum: 10c0/bb673d7876c2d411b6eb6c560e0c571eef4a01c1c19925175d16e3a30c4c428181fb8d7ae802a261f283e4166a0ac435e2f505743aa9e45d893f9a3df017b501 + languageName: node + linkType: hard + +"undici-types@npm:~6.13.0": + version: 6.13.0 + resolution: "undici-types@npm:6.13.0" + checksum: 10c0/2de55181f569c77a4f08063f8bf2722fcbb6ea312a26a9e927bd1f5ea5cf3a281c5ddf23155061db083e0a25838f54813543ff13b0ac34d230d5c1205ead66c1 + languageName: node + linkType: hard + +"unique-filename@npm:^3.0.0": + version: 3.0.0 + resolution: "unique-filename@npm:3.0.0" + dependencies: + unique-slug: "npm:^4.0.0" + checksum: 10c0/6363e40b2fa758eb5ec5e21b3c7fb83e5da8dcfbd866cc0c199d5534c42f03b9ea9ab069769cc388e1d7ab93b4eeef28ef506ab5f18d910ef29617715101884f + languageName: node + linkType: hard + +"unique-slug@npm:^4.0.0": + version: 4.0.0 + resolution: "unique-slug@npm:4.0.0" + dependencies: + imurmurhash: "npm:^0.1.4" + checksum: 10c0/cb811d9d54eb5821b81b18205750be84cb015c20a4a44280794e915f5a0a70223ce39066781a354e872df3572e8155c228f43ff0cce94c7cbf4da2cc7cbdd635 + languageName: node + linkType: hard + +"universalify@npm:^2.0.0": + version: 2.0.1 + resolution: "universalify@npm:2.0.1" + checksum: 10c0/73e8ee3809041ca8b818efb141801a1004e3fc0002727f1531f4de613ea281b494a40909596dae4a042a4fb6cd385af5d4db2e137b1362e0e91384b828effd3a + languageName: node + linkType: hard + +"utf-8-validate@npm:^5.0.2": + version: 5.0.10 + resolution: "utf-8-validate@npm:5.0.10" + dependencies: + node-gyp: "npm:latest" + node-gyp-build: "npm:^4.3.0" + checksum: 10c0/23cd6adc29e6901aa37ff97ce4b81be9238d0023c5e217515b34792f3c3edb01470c3bd6b264096dd73d0b01a1690b57468de3a24167dd83004ff71c51cc025f + languageName: node + linkType: hard + +"util-deprecate@npm:^1.0.1": + version: 1.0.2 + resolution: "util-deprecate@npm:1.0.2" + checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 + languageName: node + linkType: hard + +"uuid@npm:^8.3.2": + version: 8.3.2 + resolution: "uuid@npm:8.3.2" + bin: + uuid: dist/bin/uuid + checksum: 10c0/bcbb807a917d374a49f475fae2e87fdca7da5e5530820ef53f65ba1d12131bd81a92ecf259cc7ce317cbe0f289e7d79fdfebcef9bfa3087c8c8a2fa304c9be54 + languageName: node + linkType: hard + +"v8-compile-cache-lib@npm:^3.0.1": + version: 3.0.1 + resolution: "v8-compile-cache-lib@npm:3.0.1" + checksum: 10c0/bdc36fb8095d3b41df197f5fb6f11e3a26adf4059df3213e3baa93810d8f0cc76f9a74aaefc18b73e91fe7e19154ed6f134eda6fded2e0f1c8d2272ed2d2d391 + languageName: node + linkType: hard + +"wcwidth@npm:^1.0.1": + version: 1.0.1 + resolution: "wcwidth@npm:1.0.1" + dependencies: + defaults: "npm:^1.0.3" + checksum: 10c0/5b61ca583a95e2dd85d7078400190efd452e05751a64accb8c06ce4db65d7e0b0cde9917d705e826a2e05cc2548f61efde115ffa374c3e436d04be45c889e5b4 + languageName: node + linkType: hard + +"webidl-conversions@npm:^3.0.0": + version: 3.0.1 + resolution: "webidl-conversions@npm:3.0.1" + checksum: 10c0/5612d5f3e54760a797052eb4927f0ddc01383550f542ccd33d5238cfd65aeed392a45ad38364970d0a0f4fea32e1f4d231b3d8dac4a3bdd385e5cf802ae097db + languageName: node + linkType: hard + +"whatwg-url@npm:^5.0.0": + version: 5.0.0 + resolution: "whatwg-url@npm:5.0.0" + dependencies: + tr46: "npm:~0.0.3" + webidl-conversions: "npm:^3.0.0" + checksum: 10c0/1588bed84d10b72d5eec1d0faa0722ba1962f1821e7539c535558fb5398d223b0c50d8acab950b8c488b4ba69043fd833cc2697056b167d8ad46fac3995a55d5 + languageName: node + linkType: hard + +"which@npm:^2.0.1": + version: 2.0.2 + resolution: "which@npm:2.0.2" + dependencies: + isexe: "npm:^2.0.0" + bin: + node-which: ./bin/node-which + checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f + languageName: node + linkType: hard + +"which@npm:^4.0.0": + version: 4.0.0 + resolution: "which@npm:4.0.0" + dependencies: + isexe: "npm:^3.1.1" + bin: + node-which: bin/which.js + checksum: 10c0/449fa5c44ed120ccecfe18c433296a4978a7583bf2391c50abce13f76878d2476defde04d0f79db8165bdf432853c1f8389d0485ca6e8ebce3bbcded513d5e6a + languageName: node + linkType: hard + +"workerpool@npm:^6.5.1": + version: 6.5.1 + resolution: "workerpool@npm:6.5.1" + checksum: 10c0/58e8e969782292cb3a7bfba823f1179a7615250a0cefb4841d5166234db1880a3d0fe83a31dd8d648329ec92c2d0cd1890ad9ec9e53674bb36ca43e9753cdeac + languageName: node + linkType: hard + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": + version: 7.0.0 + resolution: "wrap-ansi@npm:7.0.0" + dependencies: + ansi-styles: "npm:^4.0.0" + string-width: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da + languageName: node + linkType: hard + +"wrap-ansi@npm:^8.1.0": + version: 8.1.0 + resolution: "wrap-ansi@npm:8.1.0" + dependencies: + ansi-styles: "npm:^6.1.0" + string-width: "npm:^5.0.1" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/138ff58a41d2f877eae87e3282c0630fc2789012fc1af4d6bd626eeb9a2f9a65ca92005e6e69a75c7b85a68479fe7443c7dbe1eb8fbaa681a4491364b7c55c60 + languageName: node + linkType: hard + +"wrap-ansi@npm:^9.0.0": + version: 9.0.0 + resolution: "wrap-ansi@npm:9.0.0" + dependencies: + ansi-styles: "npm:^6.2.1" + string-width: "npm:^7.0.0" + strip-ansi: "npm:^7.1.0" + checksum: 10c0/a139b818da9573677548dd463bd626a5a5286271211eb6e4e82f34a4f643191d74e6d4a9bb0a3c26ec90e6f904f679e0569674ac099ea12378a8b98e20706066 + languageName: node + linkType: hard + +"wrappy@npm:1": + version: 1.0.2 + resolution: "wrappy@npm:1.0.2" + checksum: 10c0/56fece1a4018c6a6c8e28fbc88c87e0fbf4ea8fd64fc6c63b18f4acc4bd13e0ad2515189786dd2c30d3eec9663d70f4ecf699330002f8ccb547e4a18231fc9f0 + languageName: node + linkType: hard + +"ws@npm:^7.5.10": + version: 7.5.10 + resolution: "ws@npm:7.5.10" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/bd7d5f4aaf04fae7960c23dcb6c6375d525e00f795dd20b9385902bd008c40a94d3db3ce97d878acc7573df852056ca546328b27b39f47609f80fb22a0a9b61d + languageName: node + linkType: hard + +"ws@npm:^8.5.0": + version: 8.18.0 + resolution: "ws@npm:8.18.0" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10c0/25eb33aff17edcb90721ed6b0eb250976328533ad3cd1a28a274bd263682e7296a6591ff1436d6cbc50fa67463158b062f9d1122013b361cec99a05f84680e06 + languageName: node + linkType: hard + +"y18n@npm:^5.0.5": + version: 5.0.8 + resolution: "y18n@npm:5.0.8" + checksum: 10c0/4df2842c36e468590c3691c894bc9cdbac41f520566e76e24f59401ba7d8b4811eb1e34524d57e54bc6d864bcb66baab7ffd9ca42bf1eda596618f9162b91249 + languageName: node + linkType: hard + +"yallist@npm:^4.0.0": + version: 4.0.0 + resolution: "yallist@npm:4.0.0" + checksum: 10c0/2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a + languageName: node + linkType: hard + +"yaml@npm:~2.4.2": + version: 2.4.5 + resolution: "yaml@npm:2.4.5" + bin: + yaml: bin.mjs + checksum: 10c0/e1ee78b381e5c710f715cc4082fd10fc82f7f5c92bd6f075771d20559e175616f56abf1c411f545ea0e9e16e4f84a83a50b42764af5f16ec006328ba9476bb31 + languageName: node + linkType: hard + +"yargs-parser@npm:21.1.1, yargs-parser@npm:^21.1.1": + version: 21.1.1 + resolution: "yargs-parser@npm:21.1.1" + checksum: 10c0/f84b5e48169479d2f402239c59f084cfd1c3acc197a05c59b98bab067452e6b3ea46d4dd8ba2985ba7b3d32a343d77df0debd6b343e5dae3da2aab2cdf5886b2 + languageName: node + linkType: hard + +"yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.9": + version: 20.2.9 + resolution: "yargs-parser@npm:20.2.9" + checksum: 10c0/0685a8e58bbfb57fab6aefe03c6da904a59769bd803a722bb098bd5b0f29d274a1357762c7258fb487512811b8063fb5d2824a3415a0a4540598335b3b086c72 + languageName: node + linkType: hard + +"yargs-unparser@npm:^2.0.0": + version: 2.0.0 + resolution: "yargs-unparser@npm:2.0.0" + dependencies: + camelcase: "npm:^6.0.0" + decamelize: "npm:^4.0.0" + flat: "npm:^5.0.2" + is-plain-obj: "npm:^2.1.0" + checksum: 10c0/a5a7d6dc157efa95122e16780c019f40ed91d4af6d2bac066db8194ed0ec5c330abb115daa5a79ff07a9b80b8ea80c925baacf354c4c12edd878c0529927ff03 + languageName: node + linkType: hard + +"yargs@npm:^16.2.0": + version: 16.2.0 + resolution: "yargs@npm:16.2.0" + dependencies: + cliui: "npm:^7.0.2" + escalade: "npm:^3.1.1" + get-caller-file: "npm:^2.0.5" + require-directory: "npm:^2.1.1" + string-width: "npm:^4.2.0" + y18n: "npm:^5.0.5" + yargs-parser: "npm:^20.2.2" + checksum: 10c0/b1dbfefa679848442454b60053a6c95d62f2d2e21dd28def92b647587f415969173c6e99a0f3bab4f1b67ee8283bf735ebe3544013f09491186ba9e8a9a2b651 + languageName: node + linkType: hard + +"yargs@npm:^17.6.2": + version: 17.7.2 + resolution: "yargs@npm:17.7.2" + dependencies: + cliui: "npm:^8.0.1" + escalade: "npm:^3.1.1" + get-caller-file: "npm:^2.0.5" + require-directory: "npm:^2.1.1" + string-width: "npm:^4.2.3" + y18n: "npm:^5.0.5" + yargs-parser: "npm:^21.1.1" + checksum: 10c0/ccd7e723e61ad5965fffbb791366db689572b80cca80e0f96aad968dfff4156cd7cd1ad18607afe1046d8241e6fb2d6c08bf7fa7bfb5eaec818735d8feac8f05 + languageName: node + linkType: hard + +"yn@npm:3.1.1": + version: 3.1.1 + resolution: "yn@npm:3.1.1" + checksum: 10c0/0732468dd7622ed8a274f640f191f3eaf1f39d5349a1b72836df484998d7d9807fbea094e2f5486d6b0cd2414aad5775972df0e68f8604db89a239f0f4bf7443 + languageName: node + linkType: hard + +"yn@npm:^2.0.0": + version: 2.0.0 + resolution: "yn@npm:2.0.0" + checksum: 10c0/a52d74080871f22b3af8a6068d8579b86bf2bb81a968f6e406aa6e1ee85ba15f2e1d334184df6cd81024cec32a3cc8dc1f2f09ec4957b58b7b038b3cdef5cbd1 + languageName: node + linkType: hard + +"yocto-queue@npm:^0.1.0": + version: 0.1.0 + resolution: "yocto-queue@npm:0.1.0" + checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f + languageName: node + linkType: hard From d1117cd6113310d61e353d79c3df0739481599a0 Mon Sep 17 00:00:00 2001 From: Wilhelm Thieme Date: Fri, 2 Aug 2024 11:57:30 -0400 Subject: [PATCH 02/26] Structure --- {scripts => legacy/scripts}/calcRentExempt.ts | 0 .../scripts}/expLogTestCaseConversion.ts | 0 .../scripts}/genExpBitConstants.ts | 0 .../scripts}/genPositiveExpBitConstants.ts | 0 {scripts => legacy/scripts}/package.json | 6 +- legacy/{ => scripts}/tsconfig.json | 11 +- {scripts => legacy/scripts}/whirlpoolNft.json | 0 legacy/{ => sdk}/README.md | 0 legacy/{ => sdk}/package.json | 2 +- legacy/{ => sdk}/src/context.ts | 2 +- legacy/{ => sdk}/src/errors/errors.ts | 0 legacy/{ => sdk}/src/impl/position-impl.ts | 0 legacy/{ => sdk}/src/impl/util.ts | 0 .../src/impl/whirlpool-client-impl.ts | 0 legacy/{ => sdk}/src/impl/whirlpool-impl.ts | 0 legacy/{ => sdk}/src/index.ts | 0 .../instructions/close-bundled-position-ix.ts | 0 .../src/instructions/close-position-ix.ts | 0 .../src/instructions/collect-fees-ix.ts | 0 .../instructions/collect-protocol-fees-ix.ts | 0 .../src/instructions/collect-reward-ix.ts | 0 .../composites/collect-all-txn.ts | 0 .../composites/collect-protocol-fees.ts | 0 .../src/instructions/composites/index.ts | 0 .../src/instructions/composites/swap-async.ts | 0 .../composites/swap-with-route.ts | 0 .../src/instructions/decrease-liquidity-ix.ts | 0 .../instructions/delete-position-bundle-ix.ts | 0 .../src/instructions/increase-liquidity-ix.ts | 0 legacy/{ => sdk}/src/instructions/index.ts | 0 .../src/instructions/initialize-config-ix.ts | 0 .../instructions/initialize-fee-tier-ix.ts | 0 .../src/instructions/initialize-pool-ix.ts | 0 .../initialize-position-bundle-ix.ts | 0 .../src/instructions/initialize-reward-ix.ts | 0 .../instructions/initialize-tick-array-ix.ts | 0 .../instructions/open-bundled-position-ix.ts | 0 .../src/instructions/open-position-ix.ts | 2 +- .../set-collect-protocol-fees-authority-ix.ts | 0 .../instructions/set-default-fee-rate-ix.ts | 0 .../set-default-protocol-fee-rate-ix.ts | 0 .../src/instructions/set-fee-authority-ix.ts | 0 .../src/instructions/set-fee-rate-ix.ts | 0 .../instructions/set-protocol-fee-rate-ix.ts | 0 ...-reward-authority-by-super-authority-ix.ts | 0 .../instructions/set-reward-authority-ix.ts | 0 .../instructions/set-reward-emissions-ix.ts | 0 ...set-reward-emissions-super-authority-ix.ts | 0 legacy/{ => sdk}/src/instructions/swap-ix.ts | 0 .../src/instructions/two-hop-swap-ix.ts | 0 .../update-fees-and-rewards-ix.ts | 0 .../src/instructions/v2/collect-fees-ix.ts | 0 .../v2/collect-protocol-fees-ix.ts | 0 .../src/instructions/v2/collect-reward-ix.ts | 0 .../instructions/v2/decrease-liquidity-ix.ts | 0 .../instructions/v2/delete-token-badge-ix.ts | 0 .../instructions/v2/increase-liquidity-ix.ts | 0 legacy/{ => sdk}/src/instructions/v2/index.ts | 0 .../v2/initialize-config-extension-ix.ts | 0 .../src/instructions/v2/initialize-pool-ix.ts | 0 .../instructions/v2/initialize-reward-ix.ts | 0 .../v2/initialize-token-badge-ix.ts | 0 .../v2/set-config-extension-authority-ix.ts | 0 .../v2/set-reward-emissions-ix.ts | 0 .../v2/set-token-badge-authority-ix.ts | 0 .../{ => sdk}/src/instructions/v2/swap-ix.ts | 0 .../src/instructions/v2/two-hop-swap-ix.ts | 0 legacy/{ => sdk}/src/ix.ts | 0 .../network/public/fetcher/fetcher-impl.ts | 0 .../network/public/fetcher/fetcher-types.ts | 0 .../network/public/fetcher/fetcher-utils.ts | 0 .../src/network/public/fetcher/index.ts | 0 legacy/sdk/src/network/public/index.ts | 2 + .../{ => sdk}/src/network/public/parsing.ts | 0 .../src/prices/calculate-pool-prices.ts | 0 legacy/{ => sdk}/src/prices/index.ts | 0 legacy/{ => sdk}/src/prices/price-module.ts | 0 .../src/quotes/public/collect-fees-quote.ts | 0 .../quotes/public/collect-rewards-quote.ts | 0 .../quotes/public/decrease-liquidity-quote.ts | 0 .../src/quotes/public/dev-fee-swap-quote.ts | 0 .../quotes/public/increase-liquidity-quote.ts | 0 legacy/{ => sdk}/src/quotes/public/index.ts | 0 .../{ => sdk}/src/quotes/public/swap-quote.ts | 0 .../src/quotes/public/two-hop-swap-quote.ts | 2 +- .../{ => sdk}/src/quotes/swap/swap-manager.ts | 0 .../src/quotes/swap/swap-quote-impl.ts | 0 .../src/quotes/swap/tick-array-index.ts | 0 .../src/quotes/swap/tick-array-sequence.ts | 0 .../{ => sdk}/src/router/batch-swap-quote.ts | 0 .../{ => sdk}/src/router/convert-quote-map.ts | 0 legacy/{ => sdk}/src/router/public/index.ts | 0 .../src/router/public/router-builder.ts | 0 .../src/router/public/router-utils.ts | 0 legacy/{ => sdk}/src/router/quote-map.ts | 0 legacy/{ => sdk}/src/router/router-impl.ts | 0 legacy/{ => sdk}/src/tsconfig.json | 0 .../src/types/public/anchor-types.ts | 0 .../src/types/public/client-types.ts | 0 .../{ => sdk}/src/types/public/constants.ts | 0 legacy/{ => sdk}/src/types/public/index.ts | 0 legacy/{ => sdk}/src/types/public/ix-types.ts | 4 +- .../utils/builder/position-builder-util.ts | 0 legacy/{ => sdk}/src/utils/constants.ts | 0 .../utils/graphs/adjacency-list-pool-graph.ts | 0 .../src/utils/graphs/public/index.ts | 0 .../utils/graphs/public/pool-graph-builder.ts | 0 .../utils/graphs/public/pool-graph-utils.ts | 0 .../src/utils/graphs/public/pool-graph.ts | 0 .../{ => sdk}/src/utils/instructions-util.ts | 0 legacy/{ => sdk}/src/utils/math/bit-math.ts | 0 legacy/{ => sdk}/src/utils/math/constants.ts | 0 .../src/utils/math/k-smallest-partition.ts | 0 legacy/{ => sdk}/src/utils/math/swap-math.ts | 0 legacy/{ => sdk}/src/utils/math/token-math.ts | 0 legacy/{ => sdk}/src/utils/position-util.ts | 0 legacy/{ => sdk}/src/utils/public/index.ts | 0 legacy/{ => sdk}/src/utils/public/ix-utils.ts | 0 .../{ => sdk}/src/utils/public/pda-utils.ts | 0 .../{ => sdk}/src/utils/public/pool-utils.ts | 0 .../src/utils/public/position-bundle-util.ts | 0 .../{ => sdk}/src/utils/public/price-math.ts | 0 .../{ => sdk}/src/utils/public/swap-utils.ts | 0 .../{ => sdk}/src/utils/public/tick-utils.ts | 0 .../src/utils/public/token-extension-util.ts | 0 legacy/{ => sdk}/src/utils/public/types.ts | 0 .../src/utils/remaining-accounts-util.ts | 0 legacy/{ => sdk}/src/utils/spl-token-utils.ts | 0 legacy/{ => sdk}/src/utils/swap-utils.ts | 0 legacy/{ => sdk}/src/utils/txn-utils.ts | 0 legacy/{ => sdk}/src/utils/wallet-utils.ts | 0 .../src/utils/whirlpool-ata-utils.ts | 0 legacy/{ => sdk}/src/whirlpool-client.ts | 0 .../mpl_token_metadata.20240214.so | Bin .../external_program/transfer_hook_counter.so | Bin .../close_bundled_position.test.ts | 0 .../tests/integration/close_position.test.ts | 0 .../tests/integration/collect_fees.test.ts | 0 .../integration/collect_protocol_fees.test.ts | 0 .../tests/integration/collect_reward.test.ts | 0 .../integration/decrease_liquidity.test.ts | 0 .../delete_position_bundle.test.ts | 0 .../tests/integration/get_pool_prices.test.ts | 0 .../integration/increase_liquidity.test.ts | 0 .../integration/initialize_config.test.ts | 0 .../integration/initialize_fee_tier.test.ts | 0 .../tests/integration/initialize_pool.test.ts | 0 .../initialize_position_bundle.test.ts | 0 ...lize_position_bundle_with_metadata.test.ts | 0 .../integration/initialize_reward.test.ts | 0 .../integration/initialize_tick_array.test.ts | 0 .../bundled_position_management.test.ts | 0 .../multi-ix/position_management.test.ts | 0 .../integration/multi-ix/sparse_swap.test.ts | 0 .../integration/open_bundled_position.test.ts | 0 .../tests/integration/open_position.test.ts | 0 .../open_position_with_metadata.test.ts | 0 ...set_collect_protocol_fee_authority.test.ts | 0 .../integration/set_default_fee_rate.test.ts | 0 .../set_default_protocol_fee_rate.test.ts | 0 .../integration/set_fee_authority.test.ts | 0 .../tests/integration/set_fee_rate.test.ts | 0 .../integration/set_protocol_fee_rate.test.ts | 0 .../integration/set_reward_authority.test.ts | 0 ...eward_authority_by_super_authority.test.ts | 0 .../integration/set_reward_emissions.test.ts | 0 ...t_reward_emissions_super_authority.test.ts | 0 .../{ => sdk}/tests/integration/swap.test.ts | 0 .../tests/integration/two_hop_swap.test.ts | 0 .../update_fees_and_rewards.test.ts | 0 .../integration/v2/collect_fees_v2.test.ts | 0 .../v2/collect_protocol_fees_v2.test.ts | 0 .../integration/v2/collect_reward_v2.test.ts | 0 .../v2/decrease_liquidity_v2.test.ts | 0 .../v2/increase_liquidity_v2.test.ts | 0 .../integration/v2/initialize_pool_v2.test.ts | 0 .../v2/initialize_reward_v2.test.ts | 0 .../v2/set_reward_emissions_v2.test.ts | 0 .../tests/integration/v2/swap_v2.test.ts | 0 .../v2/token-badge/delete_token_badge.test.ts | 0 .../initialize_config_extension.test.ts | 0 .../initialize_token_badge.test.ts | 0 .../set_config_extension_authority.test.ts | 0 .../set_token_badge_authority.test.ts | 0 .../v2/token-extensions/memo-transfer.test.ts | 0 ...confidential-transfer+transfer-fee.test.ts | 0 .../non-confidential-transfer.test.ts | 0 .../v2/token-extensions/transfer-fee.test.ts | 0 .../v2/token-extensions/transfer-hook.test.ts | 0 .../integration/v2/two_hop_swap_v2.test.ts | 0 .../router/router-util#priceImpact.test.ts | 0 .../tests/sdk/types/anchor-types.test.ts | 0 .../position-impl#collectFees.test.ts | 0 .../position-impl#collectRewards.test.ts | 0 .../sdk/whirlpools/position-impl.test.ts | 0 .../quote/decrease-liquidity-quote.test.ts | 0 ...ase-liquidity-quote-by-input-token.test.ts | 0 .../increase-liquidity-quote-by-liq.test.ts | 0 .../sdk/whirlpools/swap/swap-array.test.ts | 0 .../sdk/whirlpools/swap/swap-dev-fee.test.ts | 0 .../sdk/whirlpools/swap/swap-traverse.test.ts | 0 .../swap/swap-with-fallback.test.ts | 0 .../sdk/whirlpools/swap/v2/swap-array.test.ts | 0 .../whirlpools/swap/v2/swap-traverse.test.ts | 0 .../sdk/whirlpools/utils/pool-graph.test.ts | 0 .../sdk/whirlpools/utils/pool-utils.test.ts | 0 .../utils/position-bundle-util.test.ts | 0 .../whirlpools/utils/position-util.test.ts | 0 .../sdk/whirlpools/utils/price-math.test.ts | 0 .../sdk/whirlpools/utils/swap-utils.test.ts | 0 .../utils/tick-array-sequence.test.ts | 0 .../sdk/whirlpools/utils/tick-utils.test.ts | 0 .../utils/token-extension-util.test.ts | 0 .../whirlpools/whirlpool-client-impl.test.ts | 0 .../whirlpool-impl#closePosition.test.ts | 0 ...#collectFeesAndRewardsForPositions.test.ts | 0 .../sdk/whirlpools/whirlpool-impl.test.ts | 0 legacy/{ => sdk}/tests/tsconfig.json | 0 legacy/{ => sdk}/tests/utils/assert.ts | 0 legacy/{ => sdk}/tests/utils/const.ts | 0 legacy/{ => sdk}/tests/utils/fixture.ts | 0 .../{ => sdk}/tests/utils/graph-test-data.ts | 0 legacy/{ => sdk}/tests/utils/index.ts | 0 legacy/{ => sdk}/tests/utils/init-utils.ts | 0 legacy/{ => sdk}/tests/utils/metaplex.ts | 0 .../{ => sdk}/tests/utils/pool-utils.test.ts | 0 .../{ => sdk}/tests/utils/swap-test-utils.ts | 0 legacy/{ => sdk}/tests/utils/test-builders.ts | 0 legacy/{ => sdk}/tests/utils/test-consts.ts | 0 legacy/{ => sdk}/tests/utils/testDataTypes.ts | 0 legacy/{ => sdk}/tests/utils/token.ts | 0 legacy/{ => sdk}/tests/utils/utils.ts | 0 .../{ => sdk}/tests/utils/v2/aquarium-v2.ts | 0 .../tests/utils/v2/confidential-transfer.ts | 0 legacy/{ => sdk}/tests/utils/v2/fixture-v2.ts | 0 .../{ => sdk}/tests/utils/v2/init-utils-v2.ts | 0 .../tests/utils/v2/swap-test-utils-v2.ts | 0 .../utils/v2/test-transfer-hook-program.ts | 0 legacy/{ => sdk}/tests/utils/v2/token-2022.ts | 0 .../{ => sdk}/tests/utils/v2/transfer-fee.ts | 0 .../tests/utils/whirlpools-test-utils.ts | 0 legacy/sdk/tsconfig.json | 7 + legacy/src/network/public/index.ts | 2 - nx.json | 13 +- package.json | 5 +- programs/package.json | 12 -- programs/whirlpool/package.json | 12 ++ scripts/tsconfig.json | 20 --- yarn.lock | 166 +----------------- 249 files changed, 48 insertions(+), 220 deletions(-) rename {scripts => legacy/scripts}/calcRentExempt.ts (100%) rename {scripts => legacy/scripts}/expLogTestCaseConversion.ts (100%) rename {scripts => legacy/scripts}/genExpBitConstants.ts (100%) rename {scripts => legacy/scripts}/genPositiveExpBitConstants.ts (100%) rename {scripts => legacy/scripts}/package.json (82%) rename legacy/{ => scripts}/tsconfig.json (51%) rename {scripts => legacy/scripts}/whirlpoolNft.json (100%) rename legacy/{ => sdk}/README.md (100%) rename legacy/{ => sdk}/package.json (83%) rename legacy/{ => sdk}/src/context.ts (99%) rename legacy/{ => sdk}/src/errors/errors.ts (100%) rename legacy/{ => sdk}/src/impl/position-impl.ts (100%) rename legacy/{ => sdk}/src/impl/util.ts (100%) rename legacy/{ => sdk}/src/impl/whirlpool-client-impl.ts (100%) rename legacy/{ => sdk}/src/impl/whirlpool-impl.ts (100%) rename legacy/{ => sdk}/src/index.ts (100%) rename legacy/{ => sdk}/src/instructions/close-bundled-position-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/close-position-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/collect-fees-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/collect-protocol-fees-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/collect-reward-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/composites/collect-all-txn.ts (100%) rename legacy/{ => sdk}/src/instructions/composites/collect-protocol-fees.ts (100%) rename legacy/{ => sdk}/src/instructions/composites/index.ts (100%) rename legacy/{ => sdk}/src/instructions/composites/swap-async.ts (100%) rename legacy/{ => sdk}/src/instructions/composites/swap-with-route.ts (100%) rename legacy/{ => sdk}/src/instructions/decrease-liquidity-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/delete-position-bundle-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/increase-liquidity-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/index.ts (100%) rename legacy/{ => sdk}/src/instructions/initialize-config-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/initialize-fee-tier-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/initialize-pool-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/initialize-position-bundle-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/initialize-reward-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/initialize-tick-array-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/open-bundled-position-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/open-position-ix.ts (98%) rename legacy/{ => sdk}/src/instructions/set-collect-protocol-fees-authority-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/set-default-fee-rate-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/set-default-protocol-fee-rate-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/set-fee-authority-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/set-fee-rate-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/set-protocol-fee-rate-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/set-reward-authority-by-super-authority-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/set-reward-authority-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/set-reward-emissions-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/set-reward-emissions-super-authority-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/swap-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/two-hop-swap-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/update-fees-and-rewards-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/v2/collect-fees-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/v2/collect-protocol-fees-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/v2/collect-reward-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/v2/decrease-liquidity-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/v2/delete-token-badge-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/v2/increase-liquidity-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/v2/index.ts (100%) rename legacy/{ => sdk}/src/instructions/v2/initialize-config-extension-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/v2/initialize-pool-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/v2/initialize-reward-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/v2/initialize-token-badge-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/v2/set-config-extension-authority-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/v2/set-reward-emissions-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/v2/set-token-badge-authority-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/v2/swap-ix.ts (100%) rename legacy/{ => sdk}/src/instructions/v2/two-hop-swap-ix.ts (100%) rename legacy/{ => sdk}/src/ix.ts (100%) rename legacy/{ => sdk}/src/network/public/fetcher/fetcher-impl.ts (100%) rename legacy/{ => sdk}/src/network/public/fetcher/fetcher-types.ts (100%) rename legacy/{ => sdk}/src/network/public/fetcher/fetcher-utils.ts (100%) rename legacy/{ => sdk}/src/network/public/fetcher/index.ts (100%) create mode 100644 legacy/sdk/src/network/public/index.ts rename legacy/{ => sdk}/src/network/public/parsing.ts (100%) rename legacy/{ => sdk}/src/prices/calculate-pool-prices.ts (100%) rename legacy/{ => sdk}/src/prices/index.ts (100%) rename legacy/{ => sdk}/src/prices/price-module.ts (100%) rename legacy/{ => sdk}/src/quotes/public/collect-fees-quote.ts (100%) rename legacy/{ => sdk}/src/quotes/public/collect-rewards-quote.ts (100%) rename legacy/{ => sdk}/src/quotes/public/decrease-liquidity-quote.ts (100%) rename legacy/{ => sdk}/src/quotes/public/dev-fee-swap-quote.ts (100%) rename legacy/{ => sdk}/src/quotes/public/increase-liquidity-quote.ts (100%) rename legacy/{ => sdk}/src/quotes/public/index.ts (100%) rename legacy/{ => sdk}/src/quotes/public/swap-quote.ts (100%) rename legacy/{ => sdk}/src/quotes/public/two-hop-swap-quote.ts (96%) rename legacy/{ => sdk}/src/quotes/swap/swap-manager.ts (100%) rename legacy/{ => sdk}/src/quotes/swap/swap-quote-impl.ts (100%) rename legacy/{ => sdk}/src/quotes/swap/tick-array-index.ts (100%) rename legacy/{ => sdk}/src/quotes/swap/tick-array-sequence.ts (100%) rename legacy/{ => sdk}/src/router/batch-swap-quote.ts (100%) rename legacy/{ => sdk}/src/router/convert-quote-map.ts (100%) rename legacy/{ => sdk}/src/router/public/index.ts (100%) rename legacy/{ => sdk}/src/router/public/router-builder.ts (100%) rename legacy/{ => sdk}/src/router/public/router-utils.ts (100%) rename legacy/{ => sdk}/src/router/quote-map.ts (100%) rename legacy/{ => sdk}/src/router/router-impl.ts (100%) rename legacy/{ => sdk}/src/tsconfig.json (100%) rename legacy/{ => sdk}/src/types/public/anchor-types.ts (100%) rename legacy/{ => sdk}/src/types/public/client-types.ts (100%) rename legacy/{ => sdk}/src/types/public/constants.ts (100%) rename legacy/{ => sdk}/src/types/public/index.ts (100%) rename legacy/{ => sdk}/src/types/public/ix-types.ts (95%) rename legacy/{ => sdk}/src/utils/builder/position-builder-util.ts (100%) rename legacy/{ => sdk}/src/utils/constants.ts (100%) rename legacy/{ => sdk}/src/utils/graphs/adjacency-list-pool-graph.ts (100%) rename legacy/{ => sdk}/src/utils/graphs/public/index.ts (100%) rename legacy/{ => sdk}/src/utils/graphs/public/pool-graph-builder.ts (100%) rename legacy/{ => sdk}/src/utils/graphs/public/pool-graph-utils.ts (100%) rename legacy/{ => sdk}/src/utils/graphs/public/pool-graph.ts (100%) rename legacy/{ => sdk}/src/utils/instructions-util.ts (100%) rename legacy/{ => sdk}/src/utils/math/bit-math.ts (100%) rename legacy/{ => sdk}/src/utils/math/constants.ts (100%) rename legacy/{ => sdk}/src/utils/math/k-smallest-partition.ts (100%) rename legacy/{ => sdk}/src/utils/math/swap-math.ts (100%) rename legacy/{ => sdk}/src/utils/math/token-math.ts (100%) rename legacy/{ => sdk}/src/utils/position-util.ts (100%) rename legacy/{ => sdk}/src/utils/public/index.ts (100%) rename legacy/{ => sdk}/src/utils/public/ix-utils.ts (100%) rename legacy/{ => sdk}/src/utils/public/pda-utils.ts (100%) rename legacy/{ => sdk}/src/utils/public/pool-utils.ts (100%) rename legacy/{ => sdk}/src/utils/public/position-bundle-util.ts (100%) rename legacy/{ => sdk}/src/utils/public/price-math.ts (100%) rename legacy/{ => sdk}/src/utils/public/swap-utils.ts (100%) rename legacy/{ => sdk}/src/utils/public/tick-utils.ts (100%) rename legacy/{ => sdk}/src/utils/public/token-extension-util.ts (100%) rename legacy/{ => sdk}/src/utils/public/types.ts (100%) rename legacy/{ => sdk}/src/utils/remaining-accounts-util.ts (100%) rename legacy/{ => sdk}/src/utils/spl-token-utils.ts (100%) rename legacy/{ => sdk}/src/utils/swap-utils.ts (100%) rename legacy/{ => sdk}/src/utils/txn-utils.ts (100%) rename legacy/{ => sdk}/src/utils/wallet-utils.ts (100%) rename legacy/{ => sdk}/src/utils/whirlpool-ata-utils.ts (100%) rename legacy/{ => sdk}/src/whirlpool-client.ts (100%) rename legacy/{ => sdk}/tests/external_program/mpl_token_metadata.20240214.so (100%) rename legacy/{ => sdk}/tests/external_program/transfer_hook_counter.so (100%) rename legacy/{ => sdk}/tests/integration/close_bundled_position.test.ts (100%) rename legacy/{ => sdk}/tests/integration/close_position.test.ts (100%) rename legacy/{ => sdk}/tests/integration/collect_fees.test.ts (100%) rename legacy/{ => sdk}/tests/integration/collect_protocol_fees.test.ts (100%) rename legacy/{ => sdk}/tests/integration/collect_reward.test.ts (100%) rename legacy/{ => sdk}/tests/integration/decrease_liquidity.test.ts (100%) rename legacy/{ => sdk}/tests/integration/delete_position_bundle.test.ts (100%) rename legacy/{ => sdk}/tests/integration/get_pool_prices.test.ts (100%) rename legacy/{ => sdk}/tests/integration/increase_liquidity.test.ts (100%) rename legacy/{ => sdk}/tests/integration/initialize_config.test.ts (100%) rename legacy/{ => sdk}/tests/integration/initialize_fee_tier.test.ts (100%) rename legacy/{ => sdk}/tests/integration/initialize_pool.test.ts (100%) rename legacy/{ => sdk}/tests/integration/initialize_position_bundle.test.ts (100%) rename legacy/{ => sdk}/tests/integration/initialize_position_bundle_with_metadata.test.ts (100%) rename legacy/{ => sdk}/tests/integration/initialize_reward.test.ts (100%) rename legacy/{ => sdk}/tests/integration/initialize_tick_array.test.ts (100%) rename legacy/{ => sdk}/tests/integration/multi-ix/bundled_position_management.test.ts (100%) rename legacy/{ => sdk}/tests/integration/multi-ix/position_management.test.ts (100%) rename legacy/{ => sdk}/tests/integration/multi-ix/sparse_swap.test.ts (100%) rename legacy/{ => sdk}/tests/integration/open_bundled_position.test.ts (100%) rename legacy/{ => sdk}/tests/integration/open_position.test.ts (100%) rename legacy/{ => sdk}/tests/integration/open_position_with_metadata.test.ts (100%) rename legacy/{ => sdk}/tests/integration/set_collect_protocol_fee_authority.test.ts (100%) rename legacy/{ => sdk}/tests/integration/set_default_fee_rate.test.ts (100%) rename legacy/{ => sdk}/tests/integration/set_default_protocol_fee_rate.test.ts (100%) rename legacy/{ => sdk}/tests/integration/set_fee_authority.test.ts (100%) rename legacy/{ => sdk}/tests/integration/set_fee_rate.test.ts (100%) rename legacy/{ => sdk}/tests/integration/set_protocol_fee_rate.test.ts (100%) rename legacy/{ => sdk}/tests/integration/set_reward_authority.test.ts (100%) rename legacy/{ => sdk}/tests/integration/set_reward_authority_by_super_authority.test.ts (100%) rename legacy/{ => sdk}/tests/integration/set_reward_emissions.test.ts (100%) rename legacy/{ => sdk}/tests/integration/set_reward_emissions_super_authority.test.ts (100%) rename legacy/{ => sdk}/tests/integration/swap.test.ts (100%) rename legacy/{ => sdk}/tests/integration/two_hop_swap.test.ts (100%) rename legacy/{ => sdk}/tests/integration/update_fees_and_rewards.test.ts (100%) rename legacy/{ => sdk}/tests/integration/v2/collect_fees_v2.test.ts (100%) rename legacy/{ => sdk}/tests/integration/v2/collect_protocol_fees_v2.test.ts (100%) rename legacy/{ => sdk}/tests/integration/v2/collect_reward_v2.test.ts (100%) rename legacy/{ => sdk}/tests/integration/v2/decrease_liquidity_v2.test.ts (100%) rename legacy/{ => sdk}/tests/integration/v2/increase_liquidity_v2.test.ts (100%) rename legacy/{ => sdk}/tests/integration/v2/initialize_pool_v2.test.ts (100%) rename legacy/{ => sdk}/tests/integration/v2/initialize_reward_v2.test.ts (100%) rename legacy/{ => sdk}/tests/integration/v2/set_reward_emissions_v2.test.ts (100%) rename legacy/{ => sdk}/tests/integration/v2/swap_v2.test.ts (100%) rename legacy/{ => sdk}/tests/integration/v2/token-badge/delete_token_badge.test.ts (100%) rename legacy/{ => sdk}/tests/integration/v2/token-badge/initialize_config_extension.test.ts (100%) rename legacy/{ => sdk}/tests/integration/v2/token-badge/initialize_token_badge.test.ts (100%) rename legacy/{ => sdk}/tests/integration/v2/token-badge/set_config_extension_authority.test.ts (100%) rename legacy/{ => sdk}/tests/integration/v2/token-badge/set_token_badge_authority.test.ts (100%) rename legacy/{ => sdk}/tests/integration/v2/token-extensions/memo-transfer.test.ts (100%) rename legacy/{ => sdk}/tests/integration/v2/token-extensions/non-confidential-transfer+transfer-fee.test.ts (100%) rename legacy/{ => sdk}/tests/integration/v2/token-extensions/non-confidential-transfer.test.ts (100%) rename legacy/{ => sdk}/tests/integration/v2/token-extensions/transfer-fee.test.ts (100%) rename legacy/{ => sdk}/tests/integration/v2/token-extensions/transfer-hook.test.ts (100%) rename legacy/{ => sdk}/tests/integration/v2/two_hop_swap_v2.test.ts (100%) rename legacy/{ => sdk}/tests/sdk/router/router-util#priceImpact.test.ts (100%) rename legacy/{ => sdk}/tests/sdk/types/anchor-types.test.ts (100%) rename legacy/{ => sdk}/tests/sdk/whirlpools/position-impl#collectFees.test.ts (100%) rename legacy/{ => sdk}/tests/sdk/whirlpools/position-impl#collectRewards.test.ts (100%) rename legacy/{ => sdk}/tests/sdk/whirlpools/position-impl.test.ts (100%) rename legacy/{ => sdk}/tests/sdk/whirlpools/quote/decrease-liquidity-quote.test.ts (100%) rename legacy/{ => sdk}/tests/sdk/whirlpools/quote/increase-liquidity-quote-by-input-token.test.ts (100%) rename legacy/{ => sdk}/tests/sdk/whirlpools/quote/increase-liquidity-quote-by-liq.test.ts (100%) rename legacy/{ => sdk}/tests/sdk/whirlpools/swap/swap-array.test.ts (100%) rename legacy/{ => sdk}/tests/sdk/whirlpools/swap/swap-dev-fee.test.ts (100%) rename legacy/{ => sdk}/tests/sdk/whirlpools/swap/swap-traverse.test.ts (100%) rename legacy/{ => sdk}/tests/sdk/whirlpools/swap/swap-with-fallback.test.ts (100%) rename legacy/{ => sdk}/tests/sdk/whirlpools/swap/v2/swap-array.test.ts (100%) rename legacy/{ => sdk}/tests/sdk/whirlpools/swap/v2/swap-traverse.test.ts (100%) rename legacy/{ => sdk}/tests/sdk/whirlpools/utils/pool-graph.test.ts (100%) rename legacy/{ => sdk}/tests/sdk/whirlpools/utils/pool-utils.test.ts (100%) rename legacy/{ => sdk}/tests/sdk/whirlpools/utils/position-bundle-util.test.ts (100%) rename legacy/{ => sdk}/tests/sdk/whirlpools/utils/position-util.test.ts (100%) rename legacy/{ => sdk}/tests/sdk/whirlpools/utils/price-math.test.ts (100%) rename legacy/{ => sdk}/tests/sdk/whirlpools/utils/swap-utils.test.ts (100%) rename legacy/{ => sdk}/tests/sdk/whirlpools/utils/tick-array-sequence.test.ts (100%) rename legacy/{ => sdk}/tests/sdk/whirlpools/utils/tick-utils.test.ts (100%) rename legacy/{ => sdk}/tests/sdk/whirlpools/utils/token-extension-util.test.ts (100%) rename legacy/{ => sdk}/tests/sdk/whirlpools/whirlpool-client-impl.test.ts (100%) rename legacy/{ => sdk}/tests/sdk/whirlpools/whirlpool-impl#closePosition.test.ts (100%) rename legacy/{ => sdk}/tests/sdk/whirlpools/whirlpool-impl#collectFeesAndRewardsForPositions.test.ts (100%) rename legacy/{ => sdk}/tests/sdk/whirlpools/whirlpool-impl.test.ts (100%) rename legacy/{ => sdk}/tests/tsconfig.json (100%) rename legacy/{ => sdk}/tests/utils/assert.ts (100%) rename legacy/{ => sdk}/tests/utils/const.ts (100%) rename legacy/{ => sdk}/tests/utils/fixture.ts (100%) rename legacy/{ => sdk}/tests/utils/graph-test-data.ts (100%) rename legacy/{ => sdk}/tests/utils/index.ts (100%) rename legacy/{ => sdk}/tests/utils/init-utils.ts (100%) rename legacy/{ => sdk}/tests/utils/metaplex.ts (100%) rename legacy/{ => sdk}/tests/utils/pool-utils.test.ts (100%) rename legacy/{ => sdk}/tests/utils/swap-test-utils.ts (100%) rename legacy/{ => sdk}/tests/utils/test-builders.ts (100%) rename legacy/{ => sdk}/tests/utils/test-consts.ts (100%) rename legacy/{ => sdk}/tests/utils/testDataTypes.ts (100%) rename legacy/{ => sdk}/tests/utils/token.ts (100%) rename legacy/{ => sdk}/tests/utils/utils.ts (100%) rename legacy/{ => sdk}/tests/utils/v2/aquarium-v2.ts (100%) rename legacy/{ => sdk}/tests/utils/v2/confidential-transfer.ts (100%) rename legacy/{ => sdk}/tests/utils/v2/fixture-v2.ts (100%) rename legacy/{ => sdk}/tests/utils/v2/init-utils-v2.ts (100%) rename legacy/{ => sdk}/tests/utils/v2/swap-test-utils-v2.ts (100%) rename legacy/{ => sdk}/tests/utils/v2/test-transfer-hook-program.ts (100%) rename legacy/{ => sdk}/tests/utils/v2/token-2022.ts (100%) rename legacy/{ => sdk}/tests/utils/v2/transfer-fee.ts (100%) rename legacy/{ => sdk}/tests/utils/whirlpools-test-utils.ts (100%) create mode 100644 legacy/sdk/tsconfig.json delete mode 100644 legacy/src/network/public/index.ts delete mode 100644 programs/package.json create mode 100644 programs/whirlpool/package.json delete mode 100644 scripts/tsconfig.json diff --git a/scripts/calcRentExempt.ts b/legacy/scripts/calcRentExempt.ts similarity index 100% rename from scripts/calcRentExempt.ts rename to legacy/scripts/calcRentExempt.ts diff --git a/scripts/expLogTestCaseConversion.ts b/legacy/scripts/expLogTestCaseConversion.ts similarity index 100% rename from scripts/expLogTestCaseConversion.ts rename to legacy/scripts/expLogTestCaseConversion.ts diff --git a/scripts/genExpBitConstants.ts b/legacy/scripts/genExpBitConstants.ts similarity index 100% rename from scripts/genExpBitConstants.ts rename to legacy/scripts/genExpBitConstants.ts diff --git a/scripts/genPositiveExpBitConstants.ts b/legacy/scripts/genPositiveExpBitConstants.ts similarity index 100% rename from scripts/genPositiveExpBitConstants.ts rename to legacy/scripts/genPositiveExpBitConstants.ts diff --git a/scripts/package.json b/legacy/scripts/package.json similarity index 82% rename from scripts/package.json rename to legacy/scripts/package.json index 64d12b45f..0c6965577 100644 --- a/scripts/package.json +++ b/legacy/scripts/package.json @@ -10,9 +10,11 @@ "@types/mocha": "^9.0.0", "@types/mz": "^2.7.3", "mz": "^2.7.0", - "ts-node": "^10.9.2" + "typescript": "^5.3.3" }, "scripts": { - "format": "prettier --config ../.prettierrc './**/*.ts' --write" + "build": "tsc", + "format": "prettier --config ../.prettierrc './**/*.ts' --write", + "clean": "rimraf dist" } } diff --git a/legacy/tsconfig.json b/legacy/scripts/tsconfig.json similarity index 51% rename from legacy/tsconfig.json rename to legacy/scripts/tsconfig.json index 1ae6b72ff..3518a474f 100644 --- a/legacy/tsconfig.json +++ b/legacy/scripts/tsconfig.json @@ -1,11 +1,12 @@ { - "extends": "../tsconfig.json", + "extends": "../../tsconfig.json", "compilerOptions": { "outDir": "./dist", }, "include": ["./src/**/*.ts", "./src/artifacts/whirlpool.json"], - "typedocOptions": { - "entryPoints": ["index.ts"], - "out": "../../docs" - } + "references": [ + { + "path": "../sdk/src" + } + ] } diff --git a/scripts/whirlpoolNft.json b/legacy/scripts/whirlpoolNft.json similarity index 100% rename from scripts/whirlpoolNft.json rename to legacy/scripts/whirlpoolNft.json diff --git a/legacy/README.md b/legacy/sdk/README.md similarity index 100% rename from legacy/README.md rename to legacy/sdk/README.md diff --git a/legacy/package.json b/legacy/sdk/package.json similarity index 83% rename from legacy/package.json rename to legacy/sdk/package.json index db4864dfc..18a74ca3c 100644 --- a/legacy/package.json +++ b/legacy/sdk/package.json @@ -26,7 +26,7 @@ "typescript": "^5.3.3" }, "scripts": { - "build": "mkdir -p ./src/artifacts && cp -f ../target/idl/whirlpool.json ./src/artifacts/whirlpool.json && cp -f ../target/types/whirlpool.ts ./src/artifacts/whirlpool.ts && tsc", + "build": "mkdir -p ./src/artifacts && cp -f ../../target/idl/whirlpool.json ./src/artifacts/whirlpool.json && cp -f ../../target/types/whirlpool.ts ./src/artifacts/whirlpool.ts && tsc", "clean": "rimraf dist", "format": "prettier --config ../.prettierrc './**/*.ts' --write", "test": "anchor test --skip-build" diff --git a/legacy/src/context.ts b/legacy/sdk/src/context.ts similarity index 99% rename from legacy/src/context.ts rename to legacy/sdk/src/context.ts index 01313a516..abac3aa6b 100644 --- a/legacy/src/context.ts +++ b/legacy/sdk/src/context.ts @@ -9,7 +9,7 @@ import { import { Commitment, Connection, PublicKey, SendOptions } from "@solana/web3.js"; import { Whirlpool } from "./artifacts/whirlpool"; import WhirlpoolIDL from "./artifacts/whirlpool.json"; -import { WhirlpoolAccountFetcherInterface, buildDefaultAccountFetcher } from "./network/public/"; +import { WhirlpoolAccountFetcherInterface, buildDefaultAccountFetcher } from "./network/public"; import { contextOptionsToBuilderOptions } from "./utils/txn-utils"; /** diff --git a/legacy/src/errors/errors.ts b/legacy/sdk/src/errors/errors.ts similarity index 100% rename from legacy/src/errors/errors.ts rename to legacy/sdk/src/errors/errors.ts diff --git a/legacy/src/impl/position-impl.ts b/legacy/sdk/src/impl/position-impl.ts similarity index 100% rename from legacy/src/impl/position-impl.ts rename to legacy/sdk/src/impl/position-impl.ts diff --git a/legacy/src/impl/util.ts b/legacy/sdk/src/impl/util.ts similarity index 100% rename from legacy/src/impl/util.ts rename to legacy/sdk/src/impl/util.ts diff --git a/legacy/src/impl/whirlpool-client-impl.ts b/legacy/sdk/src/impl/whirlpool-client-impl.ts similarity index 100% rename from legacy/src/impl/whirlpool-client-impl.ts rename to legacy/sdk/src/impl/whirlpool-client-impl.ts diff --git a/legacy/src/impl/whirlpool-impl.ts b/legacy/sdk/src/impl/whirlpool-impl.ts similarity index 100% rename from legacy/src/impl/whirlpool-impl.ts rename to legacy/sdk/src/impl/whirlpool-impl.ts diff --git a/legacy/src/index.ts b/legacy/sdk/src/index.ts similarity index 100% rename from legacy/src/index.ts rename to legacy/sdk/src/index.ts diff --git a/legacy/src/instructions/close-bundled-position-ix.ts b/legacy/sdk/src/instructions/close-bundled-position-ix.ts similarity index 100% rename from legacy/src/instructions/close-bundled-position-ix.ts rename to legacy/sdk/src/instructions/close-bundled-position-ix.ts diff --git a/legacy/src/instructions/close-position-ix.ts b/legacy/sdk/src/instructions/close-position-ix.ts similarity index 100% rename from legacy/src/instructions/close-position-ix.ts rename to legacy/sdk/src/instructions/close-position-ix.ts diff --git a/legacy/src/instructions/collect-fees-ix.ts b/legacy/sdk/src/instructions/collect-fees-ix.ts similarity index 100% rename from legacy/src/instructions/collect-fees-ix.ts rename to legacy/sdk/src/instructions/collect-fees-ix.ts diff --git a/legacy/src/instructions/collect-protocol-fees-ix.ts b/legacy/sdk/src/instructions/collect-protocol-fees-ix.ts similarity index 100% rename from legacy/src/instructions/collect-protocol-fees-ix.ts rename to legacy/sdk/src/instructions/collect-protocol-fees-ix.ts diff --git a/legacy/src/instructions/collect-reward-ix.ts b/legacy/sdk/src/instructions/collect-reward-ix.ts similarity index 100% rename from legacy/src/instructions/collect-reward-ix.ts rename to legacy/sdk/src/instructions/collect-reward-ix.ts diff --git a/legacy/src/instructions/composites/collect-all-txn.ts b/legacy/sdk/src/instructions/composites/collect-all-txn.ts similarity index 100% rename from legacy/src/instructions/composites/collect-all-txn.ts rename to legacy/sdk/src/instructions/composites/collect-all-txn.ts diff --git a/legacy/src/instructions/composites/collect-protocol-fees.ts b/legacy/sdk/src/instructions/composites/collect-protocol-fees.ts similarity index 100% rename from legacy/src/instructions/composites/collect-protocol-fees.ts rename to legacy/sdk/src/instructions/composites/collect-protocol-fees.ts diff --git a/legacy/src/instructions/composites/index.ts b/legacy/sdk/src/instructions/composites/index.ts similarity index 100% rename from legacy/src/instructions/composites/index.ts rename to legacy/sdk/src/instructions/composites/index.ts diff --git a/legacy/src/instructions/composites/swap-async.ts b/legacy/sdk/src/instructions/composites/swap-async.ts similarity index 100% rename from legacy/src/instructions/composites/swap-async.ts rename to legacy/sdk/src/instructions/composites/swap-async.ts diff --git a/legacy/src/instructions/composites/swap-with-route.ts b/legacy/sdk/src/instructions/composites/swap-with-route.ts similarity index 100% rename from legacy/src/instructions/composites/swap-with-route.ts rename to legacy/sdk/src/instructions/composites/swap-with-route.ts diff --git a/legacy/src/instructions/decrease-liquidity-ix.ts b/legacy/sdk/src/instructions/decrease-liquidity-ix.ts similarity index 100% rename from legacy/src/instructions/decrease-liquidity-ix.ts rename to legacy/sdk/src/instructions/decrease-liquidity-ix.ts diff --git a/legacy/src/instructions/delete-position-bundle-ix.ts b/legacy/sdk/src/instructions/delete-position-bundle-ix.ts similarity index 100% rename from legacy/src/instructions/delete-position-bundle-ix.ts rename to legacy/sdk/src/instructions/delete-position-bundle-ix.ts diff --git a/legacy/src/instructions/increase-liquidity-ix.ts b/legacy/sdk/src/instructions/increase-liquidity-ix.ts similarity index 100% rename from legacy/src/instructions/increase-liquidity-ix.ts rename to legacy/sdk/src/instructions/increase-liquidity-ix.ts diff --git a/legacy/src/instructions/index.ts b/legacy/sdk/src/instructions/index.ts similarity index 100% rename from legacy/src/instructions/index.ts rename to legacy/sdk/src/instructions/index.ts diff --git a/legacy/src/instructions/initialize-config-ix.ts b/legacy/sdk/src/instructions/initialize-config-ix.ts similarity index 100% rename from legacy/src/instructions/initialize-config-ix.ts rename to legacy/sdk/src/instructions/initialize-config-ix.ts diff --git a/legacy/src/instructions/initialize-fee-tier-ix.ts b/legacy/sdk/src/instructions/initialize-fee-tier-ix.ts similarity index 100% rename from legacy/src/instructions/initialize-fee-tier-ix.ts rename to legacy/sdk/src/instructions/initialize-fee-tier-ix.ts diff --git a/legacy/src/instructions/initialize-pool-ix.ts b/legacy/sdk/src/instructions/initialize-pool-ix.ts similarity index 100% rename from legacy/src/instructions/initialize-pool-ix.ts rename to legacy/sdk/src/instructions/initialize-pool-ix.ts diff --git a/legacy/src/instructions/initialize-position-bundle-ix.ts b/legacy/sdk/src/instructions/initialize-position-bundle-ix.ts similarity index 100% rename from legacy/src/instructions/initialize-position-bundle-ix.ts rename to legacy/sdk/src/instructions/initialize-position-bundle-ix.ts diff --git a/legacy/src/instructions/initialize-reward-ix.ts b/legacy/sdk/src/instructions/initialize-reward-ix.ts similarity index 100% rename from legacy/src/instructions/initialize-reward-ix.ts rename to legacy/sdk/src/instructions/initialize-reward-ix.ts diff --git a/legacy/src/instructions/initialize-tick-array-ix.ts b/legacy/sdk/src/instructions/initialize-tick-array-ix.ts similarity index 100% rename from legacy/src/instructions/initialize-tick-array-ix.ts rename to legacy/sdk/src/instructions/initialize-tick-array-ix.ts diff --git a/legacy/src/instructions/open-bundled-position-ix.ts b/legacy/sdk/src/instructions/open-bundled-position-ix.ts similarity index 100% rename from legacy/src/instructions/open-bundled-position-ix.ts rename to legacy/sdk/src/instructions/open-bundled-position-ix.ts diff --git a/legacy/src/instructions/open-position-ix.ts b/legacy/sdk/src/instructions/open-position-ix.ts similarity index 98% rename from legacy/src/instructions/open-position-ix.ts rename to legacy/sdk/src/instructions/open-position-ix.ts index 798977a25..07800a473 100644 --- a/legacy/src/instructions/open-position-ix.ts +++ b/legacy/sdk/src/instructions/open-position-ix.ts @@ -2,7 +2,7 @@ import { Program } from "@coral-xyz/anchor"; import { Instruction, PDA } from "@orca-so/common-sdk"; import { PublicKey } from "@solana/web3.js"; import { METADATA_PROGRAM_ADDRESS, WHIRLPOOL_NFT_UPDATE_AUTH } from ".."; -import { Whirlpool } from ".././artifacts/whirlpool"; +import { Whirlpool } from "../artifacts/whirlpool"; import { OpenPositionBumpsData, OpenPositionWithMetadataBumpsData, diff --git a/legacy/src/instructions/set-collect-protocol-fees-authority-ix.ts b/legacy/sdk/src/instructions/set-collect-protocol-fees-authority-ix.ts similarity index 100% rename from legacy/src/instructions/set-collect-protocol-fees-authority-ix.ts rename to legacy/sdk/src/instructions/set-collect-protocol-fees-authority-ix.ts diff --git a/legacy/src/instructions/set-default-fee-rate-ix.ts b/legacy/sdk/src/instructions/set-default-fee-rate-ix.ts similarity index 100% rename from legacy/src/instructions/set-default-fee-rate-ix.ts rename to legacy/sdk/src/instructions/set-default-fee-rate-ix.ts diff --git a/legacy/src/instructions/set-default-protocol-fee-rate-ix.ts b/legacy/sdk/src/instructions/set-default-protocol-fee-rate-ix.ts similarity index 100% rename from legacy/src/instructions/set-default-protocol-fee-rate-ix.ts rename to legacy/sdk/src/instructions/set-default-protocol-fee-rate-ix.ts diff --git a/legacy/src/instructions/set-fee-authority-ix.ts b/legacy/sdk/src/instructions/set-fee-authority-ix.ts similarity index 100% rename from legacy/src/instructions/set-fee-authority-ix.ts rename to legacy/sdk/src/instructions/set-fee-authority-ix.ts diff --git a/legacy/src/instructions/set-fee-rate-ix.ts b/legacy/sdk/src/instructions/set-fee-rate-ix.ts similarity index 100% rename from legacy/src/instructions/set-fee-rate-ix.ts rename to legacy/sdk/src/instructions/set-fee-rate-ix.ts diff --git a/legacy/src/instructions/set-protocol-fee-rate-ix.ts b/legacy/sdk/src/instructions/set-protocol-fee-rate-ix.ts similarity index 100% rename from legacy/src/instructions/set-protocol-fee-rate-ix.ts rename to legacy/sdk/src/instructions/set-protocol-fee-rate-ix.ts diff --git a/legacy/src/instructions/set-reward-authority-by-super-authority-ix.ts b/legacy/sdk/src/instructions/set-reward-authority-by-super-authority-ix.ts similarity index 100% rename from legacy/src/instructions/set-reward-authority-by-super-authority-ix.ts rename to legacy/sdk/src/instructions/set-reward-authority-by-super-authority-ix.ts diff --git a/legacy/src/instructions/set-reward-authority-ix.ts b/legacy/sdk/src/instructions/set-reward-authority-ix.ts similarity index 100% rename from legacy/src/instructions/set-reward-authority-ix.ts rename to legacy/sdk/src/instructions/set-reward-authority-ix.ts diff --git a/legacy/src/instructions/set-reward-emissions-ix.ts b/legacy/sdk/src/instructions/set-reward-emissions-ix.ts similarity index 100% rename from legacy/src/instructions/set-reward-emissions-ix.ts rename to legacy/sdk/src/instructions/set-reward-emissions-ix.ts diff --git a/legacy/src/instructions/set-reward-emissions-super-authority-ix.ts b/legacy/sdk/src/instructions/set-reward-emissions-super-authority-ix.ts similarity index 100% rename from legacy/src/instructions/set-reward-emissions-super-authority-ix.ts rename to legacy/sdk/src/instructions/set-reward-emissions-super-authority-ix.ts diff --git a/legacy/src/instructions/swap-ix.ts b/legacy/sdk/src/instructions/swap-ix.ts similarity index 100% rename from legacy/src/instructions/swap-ix.ts rename to legacy/sdk/src/instructions/swap-ix.ts diff --git a/legacy/src/instructions/two-hop-swap-ix.ts b/legacy/sdk/src/instructions/two-hop-swap-ix.ts similarity index 100% rename from legacy/src/instructions/two-hop-swap-ix.ts rename to legacy/sdk/src/instructions/two-hop-swap-ix.ts diff --git a/legacy/src/instructions/update-fees-and-rewards-ix.ts b/legacy/sdk/src/instructions/update-fees-and-rewards-ix.ts similarity index 100% rename from legacy/src/instructions/update-fees-and-rewards-ix.ts rename to legacy/sdk/src/instructions/update-fees-and-rewards-ix.ts diff --git a/legacy/src/instructions/v2/collect-fees-ix.ts b/legacy/sdk/src/instructions/v2/collect-fees-ix.ts similarity index 100% rename from legacy/src/instructions/v2/collect-fees-ix.ts rename to legacy/sdk/src/instructions/v2/collect-fees-ix.ts diff --git a/legacy/src/instructions/v2/collect-protocol-fees-ix.ts b/legacy/sdk/src/instructions/v2/collect-protocol-fees-ix.ts similarity index 100% rename from legacy/src/instructions/v2/collect-protocol-fees-ix.ts rename to legacy/sdk/src/instructions/v2/collect-protocol-fees-ix.ts diff --git a/legacy/src/instructions/v2/collect-reward-ix.ts b/legacy/sdk/src/instructions/v2/collect-reward-ix.ts similarity index 100% rename from legacy/src/instructions/v2/collect-reward-ix.ts rename to legacy/sdk/src/instructions/v2/collect-reward-ix.ts diff --git a/legacy/src/instructions/v2/decrease-liquidity-ix.ts b/legacy/sdk/src/instructions/v2/decrease-liquidity-ix.ts similarity index 100% rename from legacy/src/instructions/v2/decrease-liquidity-ix.ts rename to legacy/sdk/src/instructions/v2/decrease-liquidity-ix.ts diff --git a/legacy/src/instructions/v2/delete-token-badge-ix.ts b/legacy/sdk/src/instructions/v2/delete-token-badge-ix.ts similarity index 100% rename from legacy/src/instructions/v2/delete-token-badge-ix.ts rename to legacy/sdk/src/instructions/v2/delete-token-badge-ix.ts diff --git a/legacy/src/instructions/v2/increase-liquidity-ix.ts b/legacy/sdk/src/instructions/v2/increase-liquidity-ix.ts similarity index 100% rename from legacy/src/instructions/v2/increase-liquidity-ix.ts rename to legacy/sdk/src/instructions/v2/increase-liquidity-ix.ts diff --git a/legacy/src/instructions/v2/index.ts b/legacy/sdk/src/instructions/v2/index.ts similarity index 100% rename from legacy/src/instructions/v2/index.ts rename to legacy/sdk/src/instructions/v2/index.ts diff --git a/legacy/src/instructions/v2/initialize-config-extension-ix.ts b/legacy/sdk/src/instructions/v2/initialize-config-extension-ix.ts similarity index 100% rename from legacy/src/instructions/v2/initialize-config-extension-ix.ts rename to legacy/sdk/src/instructions/v2/initialize-config-extension-ix.ts diff --git a/legacy/src/instructions/v2/initialize-pool-ix.ts b/legacy/sdk/src/instructions/v2/initialize-pool-ix.ts similarity index 100% rename from legacy/src/instructions/v2/initialize-pool-ix.ts rename to legacy/sdk/src/instructions/v2/initialize-pool-ix.ts diff --git a/legacy/src/instructions/v2/initialize-reward-ix.ts b/legacy/sdk/src/instructions/v2/initialize-reward-ix.ts similarity index 100% rename from legacy/src/instructions/v2/initialize-reward-ix.ts rename to legacy/sdk/src/instructions/v2/initialize-reward-ix.ts diff --git a/legacy/src/instructions/v2/initialize-token-badge-ix.ts b/legacy/sdk/src/instructions/v2/initialize-token-badge-ix.ts similarity index 100% rename from legacy/src/instructions/v2/initialize-token-badge-ix.ts rename to legacy/sdk/src/instructions/v2/initialize-token-badge-ix.ts diff --git a/legacy/src/instructions/v2/set-config-extension-authority-ix.ts b/legacy/sdk/src/instructions/v2/set-config-extension-authority-ix.ts similarity index 100% rename from legacy/src/instructions/v2/set-config-extension-authority-ix.ts rename to legacy/sdk/src/instructions/v2/set-config-extension-authority-ix.ts diff --git a/legacy/src/instructions/v2/set-reward-emissions-ix.ts b/legacy/sdk/src/instructions/v2/set-reward-emissions-ix.ts similarity index 100% rename from legacy/src/instructions/v2/set-reward-emissions-ix.ts rename to legacy/sdk/src/instructions/v2/set-reward-emissions-ix.ts diff --git a/legacy/src/instructions/v2/set-token-badge-authority-ix.ts b/legacy/sdk/src/instructions/v2/set-token-badge-authority-ix.ts similarity index 100% rename from legacy/src/instructions/v2/set-token-badge-authority-ix.ts rename to legacy/sdk/src/instructions/v2/set-token-badge-authority-ix.ts diff --git a/legacy/src/instructions/v2/swap-ix.ts b/legacy/sdk/src/instructions/v2/swap-ix.ts similarity index 100% rename from legacy/src/instructions/v2/swap-ix.ts rename to legacy/sdk/src/instructions/v2/swap-ix.ts diff --git a/legacy/src/instructions/v2/two-hop-swap-ix.ts b/legacy/sdk/src/instructions/v2/two-hop-swap-ix.ts similarity index 100% rename from legacy/src/instructions/v2/two-hop-swap-ix.ts rename to legacy/sdk/src/instructions/v2/two-hop-swap-ix.ts diff --git a/legacy/src/ix.ts b/legacy/sdk/src/ix.ts similarity index 100% rename from legacy/src/ix.ts rename to legacy/sdk/src/ix.ts diff --git a/legacy/src/network/public/fetcher/fetcher-impl.ts b/legacy/sdk/src/network/public/fetcher/fetcher-impl.ts similarity index 100% rename from legacy/src/network/public/fetcher/fetcher-impl.ts rename to legacy/sdk/src/network/public/fetcher/fetcher-impl.ts diff --git a/legacy/src/network/public/fetcher/fetcher-types.ts b/legacy/sdk/src/network/public/fetcher/fetcher-types.ts similarity index 100% rename from legacy/src/network/public/fetcher/fetcher-types.ts rename to legacy/sdk/src/network/public/fetcher/fetcher-types.ts diff --git a/legacy/src/network/public/fetcher/fetcher-utils.ts b/legacy/sdk/src/network/public/fetcher/fetcher-utils.ts similarity index 100% rename from legacy/src/network/public/fetcher/fetcher-utils.ts rename to legacy/sdk/src/network/public/fetcher/fetcher-utils.ts diff --git a/legacy/src/network/public/fetcher/index.ts b/legacy/sdk/src/network/public/fetcher/index.ts similarity index 100% rename from legacy/src/network/public/fetcher/index.ts rename to legacy/sdk/src/network/public/fetcher/index.ts diff --git a/legacy/sdk/src/network/public/index.ts b/legacy/sdk/src/network/public/index.ts new file mode 100644 index 000000000..4c47a8616 --- /dev/null +++ b/legacy/sdk/src/network/public/index.ts @@ -0,0 +1,2 @@ +export * from "./fetcher"; +export * from "./parsing"; diff --git a/legacy/src/network/public/parsing.ts b/legacy/sdk/src/network/public/parsing.ts similarity index 100% rename from legacy/src/network/public/parsing.ts rename to legacy/sdk/src/network/public/parsing.ts diff --git a/legacy/src/prices/calculate-pool-prices.ts b/legacy/sdk/src/prices/calculate-pool-prices.ts similarity index 100% rename from legacy/src/prices/calculate-pool-prices.ts rename to legacy/sdk/src/prices/calculate-pool-prices.ts diff --git a/legacy/src/prices/index.ts b/legacy/sdk/src/prices/index.ts similarity index 100% rename from legacy/src/prices/index.ts rename to legacy/sdk/src/prices/index.ts diff --git a/legacy/src/prices/price-module.ts b/legacy/sdk/src/prices/price-module.ts similarity index 100% rename from legacy/src/prices/price-module.ts rename to legacy/sdk/src/prices/price-module.ts diff --git a/legacy/src/quotes/public/collect-fees-quote.ts b/legacy/sdk/src/quotes/public/collect-fees-quote.ts similarity index 100% rename from legacy/src/quotes/public/collect-fees-quote.ts rename to legacy/sdk/src/quotes/public/collect-fees-quote.ts diff --git a/legacy/src/quotes/public/collect-rewards-quote.ts b/legacy/sdk/src/quotes/public/collect-rewards-quote.ts similarity index 100% rename from legacy/src/quotes/public/collect-rewards-quote.ts rename to legacy/sdk/src/quotes/public/collect-rewards-quote.ts diff --git a/legacy/src/quotes/public/decrease-liquidity-quote.ts b/legacy/sdk/src/quotes/public/decrease-liquidity-quote.ts similarity index 100% rename from legacy/src/quotes/public/decrease-liquidity-quote.ts rename to legacy/sdk/src/quotes/public/decrease-liquidity-quote.ts diff --git a/legacy/src/quotes/public/dev-fee-swap-quote.ts b/legacy/sdk/src/quotes/public/dev-fee-swap-quote.ts similarity index 100% rename from legacy/src/quotes/public/dev-fee-swap-quote.ts rename to legacy/sdk/src/quotes/public/dev-fee-swap-quote.ts diff --git a/legacy/src/quotes/public/increase-liquidity-quote.ts b/legacy/sdk/src/quotes/public/increase-liquidity-quote.ts similarity index 100% rename from legacy/src/quotes/public/increase-liquidity-quote.ts rename to legacy/sdk/src/quotes/public/increase-liquidity-quote.ts diff --git a/legacy/src/quotes/public/index.ts b/legacy/sdk/src/quotes/public/index.ts similarity index 100% rename from legacy/src/quotes/public/index.ts rename to legacy/sdk/src/quotes/public/index.ts diff --git a/legacy/src/quotes/public/swap-quote.ts b/legacy/sdk/src/quotes/public/swap-quote.ts similarity index 100% rename from legacy/src/quotes/public/swap-quote.ts rename to legacy/sdk/src/quotes/public/swap-quote.ts diff --git a/legacy/src/quotes/public/two-hop-swap-quote.ts b/legacy/sdk/src/quotes/public/two-hop-swap-quote.ts similarity index 96% rename from legacy/src/quotes/public/two-hop-swap-quote.ts rename to legacy/sdk/src/quotes/public/two-hop-swap-quote.ts index 5bfd9f2a6..6cb16511e 100644 --- a/legacy/src/quotes/public/two-hop-swap-quote.ts +++ b/legacy/sdk/src/quotes/public/two-hop-swap-quote.ts @@ -1,5 +1,5 @@ import { TwoHopSwapInput } from "../../instructions"; -import { SwapEstimates, SwapQuote } from "../public/swap-quote"; +import { SwapEstimates, SwapQuote } from "./swap-quote"; /** * A collection of estimated values from quoting a swap. diff --git a/legacy/src/quotes/swap/swap-manager.ts b/legacy/sdk/src/quotes/swap/swap-manager.ts similarity index 100% rename from legacy/src/quotes/swap/swap-manager.ts rename to legacy/sdk/src/quotes/swap/swap-manager.ts diff --git a/legacy/src/quotes/swap/swap-quote-impl.ts b/legacy/sdk/src/quotes/swap/swap-quote-impl.ts similarity index 100% rename from legacy/src/quotes/swap/swap-quote-impl.ts rename to legacy/sdk/src/quotes/swap/swap-quote-impl.ts diff --git a/legacy/src/quotes/swap/tick-array-index.ts b/legacy/sdk/src/quotes/swap/tick-array-index.ts similarity index 100% rename from legacy/src/quotes/swap/tick-array-index.ts rename to legacy/sdk/src/quotes/swap/tick-array-index.ts diff --git a/legacy/src/quotes/swap/tick-array-sequence.ts b/legacy/sdk/src/quotes/swap/tick-array-sequence.ts similarity index 100% rename from legacy/src/quotes/swap/tick-array-sequence.ts rename to legacy/sdk/src/quotes/swap/tick-array-sequence.ts diff --git a/legacy/src/router/batch-swap-quote.ts b/legacy/sdk/src/router/batch-swap-quote.ts similarity index 100% rename from legacy/src/router/batch-swap-quote.ts rename to legacy/sdk/src/router/batch-swap-quote.ts diff --git a/legacy/src/router/convert-quote-map.ts b/legacy/sdk/src/router/convert-quote-map.ts similarity index 100% rename from legacy/src/router/convert-quote-map.ts rename to legacy/sdk/src/router/convert-quote-map.ts diff --git a/legacy/src/router/public/index.ts b/legacy/sdk/src/router/public/index.ts similarity index 100% rename from legacy/src/router/public/index.ts rename to legacy/sdk/src/router/public/index.ts diff --git a/legacy/src/router/public/router-builder.ts b/legacy/sdk/src/router/public/router-builder.ts similarity index 100% rename from legacy/src/router/public/router-builder.ts rename to legacy/sdk/src/router/public/router-builder.ts diff --git a/legacy/src/router/public/router-utils.ts b/legacy/sdk/src/router/public/router-utils.ts similarity index 100% rename from legacy/src/router/public/router-utils.ts rename to legacy/sdk/src/router/public/router-utils.ts diff --git a/legacy/src/router/quote-map.ts b/legacy/sdk/src/router/quote-map.ts similarity index 100% rename from legacy/src/router/quote-map.ts rename to legacy/sdk/src/router/quote-map.ts diff --git a/legacy/src/router/router-impl.ts b/legacy/sdk/src/router/router-impl.ts similarity index 100% rename from legacy/src/router/router-impl.ts rename to legacy/sdk/src/router/router-impl.ts diff --git a/legacy/src/tsconfig.json b/legacy/sdk/src/tsconfig.json similarity index 100% rename from legacy/src/tsconfig.json rename to legacy/sdk/src/tsconfig.json diff --git a/legacy/src/types/public/anchor-types.ts b/legacy/sdk/src/types/public/anchor-types.ts similarity index 100% rename from legacy/src/types/public/anchor-types.ts rename to legacy/sdk/src/types/public/anchor-types.ts diff --git a/legacy/src/types/public/client-types.ts b/legacy/sdk/src/types/public/client-types.ts similarity index 100% rename from legacy/src/types/public/client-types.ts rename to legacy/sdk/src/types/public/client-types.ts diff --git a/legacy/src/types/public/constants.ts b/legacy/sdk/src/types/public/constants.ts similarity index 100% rename from legacy/src/types/public/constants.ts rename to legacy/sdk/src/types/public/constants.ts diff --git a/legacy/src/types/public/index.ts b/legacy/sdk/src/types/public/index.ts similarity index 100% rename from legacy/src/types/public/index.ts rename to legacy/sdk/src/types/public/index.ts diff --git a/legacy/src/types/public/ix-types.ts b/legacy/sdk/src/types/public/ix-types.ts similarity index 95% rename from legacy/src/types/public/ix-types.ts rename to legacy/sdk/src/types/public/ix-types.ts index e44ddfd5a..83674e352 100644 --- a/legacy/src/types/public/ix-types.ts +++ b/legacy/sdk/src/types/public/ix-types.ts @@ -31,7 +31,7 @@ export type { DeletePositionBundleParams, OpenBundledPositionParams, CloseBundledPositionParams, -} from "../../instructions/"; +} from "../../instructions"; export type { CollectFeesV2Params, CollectProtocolFeesV2Params, @@ -48,7 +48,7 @@ export type { SetTokenBadgeAuthorityParams, InitializeTokenBadgeParams, DeleteTokenBadgeParams, -} from "../../instructions/v2/"; +} from "../../instructions/v2"; export type { CollectAllParams, CollectAllPositionAddressParams, diff --git a/legacy/src/utils/builder/position-builder-util.ts b/legacy/sdk/src/utils/builder/position-builder-util.ts similarity index 100% rename from legacy/src/utils/builder/position-builder-util.ts rename to legacy/sdk/src/utils/builder/position-builder-util.ts diff --git a/legacy/src/utils/constants.ts b/legacy/sdk/src/utils/constants.ts similarity index 100% rename from legacy/src/utils/constants.ts rename to legacy/sdk/src/utils/constants.ts diff --git a/legacy/src/utils/graphs/adjacency-list-pool-graph.ts b/legacy/sdk/src/utils/graphs/adjacency-list-pool-graph.ts similarity index 100% rename from legacy/src/utils/graphs/adjacency-list-pool-graph.ts rename to legacy/sdk/src/utils/graphs/adjacency-list-pool-graph.ts diff --git a/legacy/src/utils/graphs/public/index.ts b/legacy/sdk/src/utils/graphs/public/index.ts similarity index 100% rename from legacy/src/utils/graphs/public/index.ts rename to legacy/sdk/src/utils/graphs/public/index.ts diff --git a/legacy/src/utils/graphs/public/pool-graph-builder.ts b/legacy/sdk/src/utils/graphs/public/pool-graph-builder.ts similarity index 100% rename from legacy/src/utils/graphs/public/pool-graph-builder.ts rename to legacy/sdk/src/utils/graphs/public/pool-graph-builder.ts diff --git a/legacy/src/utils/graphs/public/pool-graph-utils.ts b/legacy/sdk/src/utils/graphs/public/pool-graph-utils.ts similarity index 100% rename from legacy/src/utils/graphs/public/pool-graph-utils.ts rename to legacy/sdk/src/utils/graphs/public/pool-graph-utils.ts diff --git a/legacy/src/utils/graphs/public/pool-graph.ts b/legacy/sdk/src/utils/graphs/public/pool-graph.ts similarity index 100% rename from legacy/src/utils/graphs/public/pool-graph.ts rename to legacy/sdk/src/utils/graphs/public/pool-graph.ts diff --git a/legacy/src/utils/instructions-util.ts b/legacy/sdk/src/utils/instructions-util.ts similarity index 100% rename from legacy/src/utils/instructions-util.ts rename to legacy/sdk/src/utils/instructions-util.ts diff --git a/legacy/src/utils/math/bit-math.ts b/legacy/sdk/src/utils/math/bit-math.ts similarity index 100% rename from legacy/src/utils/math/bit-math.ts rename to legacy/sdk/src/utils/math/bit-math.ts diff --git a/legacy/src/utils/math/constants.ts b/legacy/sdk/src/utils/math/constants.ts similarity index 100% rename from legacy/src/utils/math/constants.ts rename to legacy/sdk/src/utils/math/constants.ts diff --git a/legacy/src/utils/math/k-smallest-partition.ts b/legacy/sdk/src/utils/math/k-smallest-partition.ts similarity index 100% rename from legacy/src/utils/math/k-smallest-partition.ts rename to legacy/sdk/src/utils/math/k-smallest-partition.ts diff --git a/legacy/src/utils/math/swap-math.ts b/legacy/sdk/src/utils/math/swap-math.ts similarity index 100% rename from legacy/src/utils/math/swap-math.ts rename to legacy/sdk/src/utils/math/swap-math.ts diff --git a/legacy/src/utils/math/token-math.ts b/legacy/sdk/src/utils/math/token-math.ts similarity index 100% rename from legacy/src/utils/math/token-math.ts rename to legacy/sdk/src/utils/math/token-math.ts diff --git a/legacy/src/utils/position-util.ts b/legacy/sdk/src/utils/position-util.ts similarity index 100% rename from legacy/src/utils/position-util.ts rename to legacy/sdk/src/utils/position-util.ts diff --git a/legacy/src/utils/public/index.ts b/legacy/sdk/src/utils/public/index.ts similarity index 100% rename from legacy/src/utils/public/index.ts rename to legacy/sdk/src/utils/public/index.ts diff --git a/legacy/src/utils/public/ix-utils.ts b/legacy/sdk/src/utils/public/ix-utils.ts similarity index 100% rename from legacy/src/utils/public/ix-utils.ts rename to legacy/sdk/src/utils/public/ix-utils.ts diff --git a/legacy/src/utils/public/pda-utils.ts b/legacy/sdk/src/utils/public/pda-utils.ts similarity index 100% rename from legacy/src/utils/public/pda-utils.ts rename to legacy/sdk/src/utils/public/pda-utils.ts diff --git a/legacy/src/utils/public/pool-utils.ts b/legacy/sdk/src/utils/public/pool-utils.ts similarity index 100% rename from legacy/src/utils/public/pool-utils.ts rename to legacy/sdk/src/utils/public/pool-utils.ts diff --git a/legacy/src/utils/public/position-bundle-util.ts b/legacy/sdk/src/utils/public/position-bundle-util.ts similarity index 100% rename from legacy/src/utils/public/position-bundle-util.ts rename to legacy/sdk/src/utils/public/position-bundle-util.ts diff --git a/legacy/src/utils/public/price-math.ts b/legacy/sdk/src/utils/public/price-math.ts similarity index 100% rename from legacy/src/utils/public/price-math.ts rename to legacy/sdk/src/utils/public/price-math.ts diff --git a/legacy/src/utils/public/swap-utils.ts b/legacy/sdk/src/utils/public/swap-utils.ts similarity index 100% rename from legacy/src/utils/public/swap-utils.ts rename to legacy/sdk/src/utils/public/swap-utils.ts diff --git a/legacy/src/utils/public/tick-utils.ts b/legacy/sdk/src/utils/public/tick-utils.ts similarity index 100% rename from legacy/src/utils/public/tick-utils.ts rename to legacy/sdk/src/utils/public/tick-utils.ts diff --git a/legacy/src/utils/public/token-extension-util.ts b/legacy/sdk/src/utils/public/token-extension-util.ts similarity index 100% rename from legacy/src/utils/public/token-extension-util.ts rename to legacy/sdk/src/utils/public/token-extension-util.ts diff --git a/legacy/src/utils/public/types.ts b/legacy/sdk/src/utils/public/types.ts similarity index 100% rename from legacy/src/utils/public/types.ts rename to legacy/sdk/src/utils/public/types.ts diff --git a/legacy/src/utils/remaining-accounts-util.ts b/legacy/sdk/src/utils/remaining-accounts-util.ts similarity index 100% rename from legacy/src/utils/remaining-accounts-util.ts rename to legacy/sdk/src/utils/remaining-accounts-util.ts diff --git a/legacy/src/utils/spl-token-utils.ts b/legacy/sdk/src/utils/spl-token-utils.ts similarity index 100% rename from legacy/src/utils/spl-token-utils.ts rename to legacy/sdk/src/utils/spl-token-utils.ts diff --git a/legacy/src/utils/swap-utils.ts b/legacy/sdk/src/utils/swap-utils.ts similarity index 100% rename from legacy/src/utils/swap-utils.ts rename to legacy/sdk/src/utils/swap-utils.ts diff --git a/legacy/src/utils/txn-utils.ts b/legacy/sdk/src/utils/txn-utils.ts similarity index 100% rename from legacy/src/utils/txn-utils.ts rename to legacy/sdk/src/utils/txn-utils.ts diff --git a/legacy/src/utils/wallet-utils.ts b/legacy/sdk/src/utils/wallet-utils.ts similarity index 100% rename from legacy/src/utils/wallet-utils.ts rename to legacy/sdk/src/utils/wallet-utils.ts diff --git a/legacy/src/utils/whirlpool-ata-utils.ts b/legacy/sdk/src/utils/whirlpool-ata-utils.ts similarity index 100% rename from legacy/src/utils/whirlpool-ata-utils.ts rename to legacy/sdk/src/utils/whirlpool-ata-utils.ts diff --git a/legacy/src/whirlpool-client.ts b/legacy/sdk/src/whirlpool-client.ts similarity index 100% rename from legacy/src/whirlpool-client.ts rename to legacy/sdk/src/whirlpool-client.ts diff --git a/legacy/tests/external_program/mpl_token_metadata.20240214.so b/legacy/sdk/tests/external_program/mpl_token_metadata.20240214.so similarity index 100% rename from legacy/tests/external_program/mpl_token_metadata.20240214.so rename to legacy/sdk/tests/external_program/mpl_token_metadata.20240214.so diff --git a/legacy/tests/external_program/transfer_hook_counter.so b/legacy/sdk/tests/external_program/transfer_hook_counter.so similarity index 100% rename from legacy/tests/external_program/transfer_hook_counter.so rename to legacy/sdk/tests/external_program/transfer_hook_counter.so diff --git a/legacy/tests/integration/close_bundled_position.test.ts b/legacy/sdk/tests/integration/close_bundled_position.test.ts similarity index 100% rename from legacy/tests/integration/close_bundled_position.test.ts rename to legacy/sdk/tests/integration/close_bundled_position.test.ts diff --git a/legacy/tests/integration/close_position.test.ts b/legacy/sdk/tests/integration/close_position.test.ts similarity index 100% rename from legacy/tests/integration/close_position.test.ts rename to legacy/sdk/tests/integration/close_position.test.ts diff --git a/legacy/tests/integration/collect_fees.test.ts b/legacy/sdk/tests/integration/collect_fees.test.ts similarity index 100% rename from legacy/tests/integration/collect_fees.test.ts rename to legacy/sdk/tests/integration/collect_fees.test.ts diff --git a/legacy/tests/integration/collect_protocol_fees.test.ts b/legacy/sdk/tests/integration/collect_protocol_fees.test.ts similarity index 100% rename from legacy/tests/integration/collect_protocol_fees.test.ts rename to legacy/sdk/tests/integration/collect_protocol_fees.test.ts diff --git a/legacy/tests/integration/collect_reward.test.ts b/legacy/sdk/tests/integration/collect_reward.test.ts similarity index 100% rename from legacy/tests/integration/collect_reward.test.ts rename to legacy/sdk/tests/integration/collect_reward.test.ts diff --git a/legacy/tests/integration/decrease_liquidity.test.ts b/legacy/sdk/tests/integration/decrease_liquidity.test.ts similarity index 100% rename from legacy/tests/integration/decrease_liquidity.test.ts rename to legacy/sdk/tests/integration/decrease_liquidity.test.ts diff --git a/legacy/tests/integration/delete_position_bundle.test.ts b/legacy/sdk/tests/integration/delete_position_bundle.test.ts similarity index 100% rename from legacy/tests/integration/delete_position_bundle.test.ts rename to legacy/sdk/tests/integration/delete_position_bundle.test.ts diff --git a/legacy/tests/integration/get_pool_prices.test.ts b/legacy/sdk/tests/integration/get_pool_prices.test.ts similarity index 100% rename from legacy/tests/integration/get_pool_prices.test.ts rename to legacy/sdk/tests/integration/get_pool_prices.test.ts diff --git a/legacy/tests/integration/increase_liquidity.test.ts b/legacy/sdk/tests/integration/increase_liquidity.test.ts similarity index 100% rename from legacy/tests/integration/increase_liquidity.test.ts rename to legacy/sdk/tests/integration/increase_liquidity.test.ts diff --git a/legacy/tests/integration/initialize_config.test.ts b/legacy/sdk/tests/integration/initialize_config.test.ts similarity index 100% rename from legacy/tests/integration/initialize_config.test.ts rename to legacy/sdk/tests/integration/initialize_config.test.ts diff --git a/legacy/tests/integration/initialize_fee_tier.test.ts b/legacy/sdk/tests/integration/initialize_fee_tier.test.ts similarity index 100% rename from legacy/tests/integration/initialize_fee_tier.test.ts rename to legacy/sdk/tests/integration/initialize_fee_tier.test.ts diff --git a/legacy/tests/integration/initialize_pool.test.ts b/legacy/sdk/tests/integration/initialize_pool.test.ts similarity index 100% rename from legacy/tests/integration/initialize_pool.test.ts rename to legacy/sdk/tests/integration/initialize_pool.test.ts diff --git a/legacy/tests/integration/initialize_position_bundle.test.ts b/legacy/sdk/tests/integration/initialize_position_bundle.test.ts similarity index 100% rename from legacy/tests/integration/initialize_position_bundle.test.ts rename to legacy/sdk/tests/integration/initialize_position_bundle.test.ts diff --git a/legacy/tests/integration/initialize_position_bundle_with_metadata.test.ts b/legacy/sdk/tests/integration/initialize_position_bundle_with_metadata.test.ts similarity index 100% rename from legacy/tests/integration/initialize_position_bundle_with_metadata.test.ts rename to legacy/sdk/tests/integration/initialize_position_bundle_with_metadata.test.ts diff --git a/legacy/tests/integration/initialize_reward.test.ts b/legacy/sdk/tests/integration/initialize_reward.test.ts similarity index 100% rename from legacy/tests/integration/initialize_reward.test.ts rename to legacy/sdk/tests/integration/initialize_reward.test.ts diff --git a/legacy/tests/integration/initialize_tick_array.test.ts b/legacy/sdk/tests/integration/initialize_tick_array.test.ts similarity index 100% rename from legacy/tests/integration/initialize_tick_array.test.ts rename to legacy/sdk/tests/integration/initialize_tick_array.test.ts diff --git a/legacy/tests/integration/multi-ix/bundled_position_management.test.ts b/legacy/sdk/tests/integration/multi-ix/bundled_position_management.test.ts similarity index 100% rename from legacy/tests/integration/multi-ix/bundled_position_management.test.ts rename to legacy/sdk/tests/integration/multi-ix/bundled_position_management.test.ts diff --git a/legacy/tests/integration/multi-ix/position_management.test.ts b/legacy/sdk/tests/integration/multi-ix/position_management.test.ts similarity index 100% rename from legacy/tests/integration/multi-ix/position_management.test.ts rename to legacy/sdk/tests/integration/multi-ix/position_management.test.ts diff --git a/legacy/tests/integration/multi-ix/sparse_swap.test.ts b/legacy/sdk/tests/integration/multi-ix/sparse_swap.test.ts similarity index 100% rename from legacy/tests/integration/multi-ix/sparse_swap.test.ts rename to legacy/sdk/tests/integration/multi-ix/sparse_swap.test.ts diff --git a/legacy/tests/integration/open_bundled_position.test.ts b/legacy/sdk/tests/integration/open_bundled_position.test.ts similarity index 100% rename from legacy/tests/integration/open_bundled_position.test.ts rename to legacy/sdk/tests/integration/open_bundled_position.test.ts diff --git a/legacy/tests/integration/open_position.test.ts b/legacy/sdk/tests/integration/open_position.test.ts similarity index 100% rename from legacy/tests/integration/open_position.test.ts rename to legacy/sdk/tests/integration/open_position.test.ts diff --git a/legacy/tests/integration/open_position_with_metadata.test.ts b/legacy/sdk/tests/integration/open_position_with_metadata.test.ts similarity index 100% rename from legacy/tests/integration/open_position_with_metadata.test.ts rename to legacy/sdk/tests/integration/open_position_with_metadata.test.ts diff --git a/legacy/tests/integration/set_collect_protocol_fee_authority.test.ts b/legacy/sdk/tests/integration/set_collect_protocol_fee_authority.test.ts similarity index 100% rename from legacy/tests/integration/set_collect_protocol_fee_authority.test.ts rename to legacy/sdk/tests/integration/set_collect_protocol_fee_authority.test.ts diff --git a/legacy/tests/integration/set_default_fee_rate.test.ts b/legacy/sdk/tests/integration/set_default_fee_rate.test.ts similarity index 100% rename from legacy/tests/integration/set_default_fee_rate.test.ts rename to legacy/sdk/tests/integration/set_default_fee_rate.test.ts diff --git a/legacy/tests/integration/set_default_protocol_fee_rate.test.ts b/legacy/sdk/tests/integration/set_default_protocol_fee_rate.test.ts similarity index 100% rename from legacy/tests/integration/set_default_protocol_fee_rate.test.ts rename to legacy/sdk/tests/integration/set_default_protocol_fee_rate.test.ts diff --git a/legacy/tests/integration/set_fee_authority.test.ts b/legacy/sdk/tests/integration/set_fee_authority.test.ts similarity index 100% rename from legacy/tests/integration/set_fee_authority.test.ts rename to legacy/sdk/tests/integration/set_fee_authority.test.ts diff --git a/legacy/tests/integration/set_fee_rate.test.ts b/legacy/sdk/tests/integration/set_fee_rate.test.ts similarity index 100% rename from legacy/tests/integration/set_fee_rate.test.ts rename to legacy/sdk/tests/integration/set_fee_rate.test.ts diff --git a/legacy/tests/integration/set_protocol_fee_rate.test.ts b/legacy/sdk/tests/integration/set_protocol_fee_rate.test.ts similarity index 100% rename from legacy/tests/integration/set_protocol_fee_rate.test.ts rename to legacy/sdk/tests/integration/set_protocol_fee_rate.test.ts diff --git a/legacy/tests/integration/set_reward_authority.test.ts b/legacy/sdk/tests/integration/set_reward_authority.test.ts similarity index 100% rename from legacy/tests/integration/set_reward_authority.test.ts rename to legacy/sdk/tests/integration/set_reward_authority.test.ts diff --git a/legacy/tests/integration/set_reward_authority_by_super_authority.test.ts b/legacy/sdk/tests/integration/set_reward_authority_by_super_authority.test.ts similarity index 100% rename from legacy/tests/integration/set_reward_authority_by_super_authority.test.ts rename to legacy/sdk/tests/integration/set_reward_authority_by_super_authority.test.ts diff --git a/legacy/tests/integration/set_reward_emissions.test.ts b/legacy/sdk/tests/integration/set_reward_emissions.test.ts similarity index 100% rename from legacy/tests/integration/set_reward_emissions.test.ts rename to legacy/sdk/tests/integration/set_reward_emissions.test.ts diff --git a/legacy/tests/integration/set_reward_emissions_super_authority.test.ts b/legacy/sdk/tests/integration/set_reward_emissions_super_authority.test.ts similarity index 100% rename from legacy/tests/integration/set_reward_emissions_super_authority.test.ts rename to legacy/sdk/tests/integration/set_reward_emissions_super_authority.test.ts diff --git a/legacy/tests/integration/swap.test.ts b/legacy/sdk/tests/integration/swap.test.ts similarity index 100% rename from legacy/tests/integration/swap.test.ts rename to legacy/sdk/tests/integration/swap.test.ts diff --git a/legacy/tests/integration/two_hop_swap.test.ts b/legacy/sdk/tests/integration/two_hop_swap.test.ts similarity index 100% rename from legacy/tests/integration/two_hop_swap.test.ts rename to legacy/sdk/tests/integration/two_hop_swap.test.ts diff --git a/legacy/tests/integration/update_fees_and_rewards.test.ts b/legacy/sdk/tests/integration/update_fees_and_rewards.test.ts similarity index 100% rename from legacy/tests/integration/update_fees_and_rewards.test.ts rename to legacy/sdk/tests/integration/update_fees_and_rewards.test.ts diff --git a/legacy/tests/integration/v2/collect_fees_v2.test.ts b/legacy/sdk/tests/integration/v2/collect_fees_v2.test.ts similarity index 100% rename from legacy/tests/integration/v2/collect_fees_v2.test.ts rename to legacy/sdk/tests/integration/v2/collect_fees_v2.test.ts diff --git a/legacy/tests/integration/v2/collect_protocol_fees_v2.test.ts b/legacy/sdk/tests/integration/v2/collect_protocol_fees_v2.test.ts similarity index 100% rename from legacy/tests/integration/v2/collect_protocol_fees_v2.test.ts rename to legacy/sdk/tests/integration/v2/collect_protocol_fees_v2.test.ts diff --git a/legacy/tests/integration/v2/collect_reward_v2.test.ts b/legacy/sdk/tests/integration/v2/collect_reward_v2.test.ts similarity index 100% rename from legacy/tests/integration/v2/collect_reward_v2.test.ts rename to legacy/sdk/tests/integration/v2/collect_reward_v2.test.ts diff --git a/legacy/tests/integration/v2/decrease_liquidity_v2.test.ts b/legacy/sdk/tests/integration/v2/decrease_liquidity_v2.test.ts similarity index 100% rename from legacy/tests/integration/v2/decrease_liquidity_v2.test.ts rename to legacy/sdk/tests/integration/v2/decrease_liquidity_v2.test.ts diff --git a/legacy/tests/integration/v2/increase_liquidity_v2.test.ts b/legacy/sdk/tests/integration/v2/increase_liquidity_v2.test.ts similarity index 100% rename from legacy/tests/integration/v2/increase_liquidity_v2.test.ts rename to legacy/sdk/tests/integration/v2/increase_liquidity_v2.test.ts diff --git a/legacy/tests/integration/v2/initialize_pool_v2.test.ts b/legacy/sdk/tests/integration/v2/initialize_pool_v2.test.ts similarity index 100% rename from legacy/tests/integration/v2/initialize_pool_v2.test.ts rename to legacy/sdk/tests/integration/v2/initialize_pool_v2.test.ts diff --git a/legacy/tests/integration/v2/initialize_reward_v2.test.ts b/legacy/sdk/tests/integration/v2/initialize_reward_v2.test.ts similarity index 100% rename from legacy/tests/integration/v2/initialize_reward_v2.test.ts rename to legacy/sdk/tests/integration/v2/initialize_reward_v2.test.ts diff --git a/legacy/tests/integration/v2/set_reward_emissions_v2.test.ts b/legacy/sdk/tests/integration/v2/set_reward_emissions_v2.test.ts similarity index 100% rename from legacy/tests/integration/v2/set_reward_emissions_v2.test.ts rename to legacy/sdk/tests/integration/v2/set_reward_emissions_v2.test.ts diff --git a/legacy/tests/integration/v2/swap_v2.test.ts b/legacy/sdk/tests/integration/v2/swap_v2.test.ts similarity index 100% rename from legacy/tests/integration/v2/swap_v2.test.ts rename to legacy/sdk/tests/integration/v2/swap_v2.test.ts diff --git a/legacy/tests/integration/v2/token-badge/delete_token_badge.test.ts b/legacy/sdk/tests/integration/v2/token-badge/delete_token_badge.test.ts similarity index 100% rename from legacy/tests/integration/v2/token-badge/delete_token_badge.test.ts rename to legacy/sdk/tests/integration/v2/token-badge/delete_token_badge.test.ts diff --git a/legacy/tests/integration/v2/token-badge/initialize_config_extension.test.ts b/legacy/sdk/tests/integration/v2/token-badge/initialize_config_extension.test.ts similarity index 100% rename from legacy/tests/integration/v2/token-badge/initialize_config_extension.test.ts rename to legacy/sdk/tests/integration/v2/token-badge/initialize_config_extension.test.ts diff --git a/legacy/tests/integration/v2/token-badge/initialize_token_badge.test.ts b/legacy/sdk/tests/integration/v2/token-badge/initialize_token_badge.test.ts similarity index 100% rename from legacy/tests/integration/v2/token-badge/initialize_token_badge.test.ts rename to legacy/sdk/tests/integration/v2/token-badge/initialize_token_badge.test.ts diff --git a/legacy/tests/integration/v2/token-badge/set_config_extension_authority.test.ts b/legacy/sdk/tests/integration/v2/token-badge/set_config_extension_authority.test.ts similarity index 100% rename from legacy/tests/integration/v2/token-badge/set_config_extension_authority.test.ts rename to legacy/sdk/tests/integration/v2/token-badge/set_config_extension_authority.test.ts diff --git a/legacy/tests/integration/v2/token-badge/set_token_badge_authority.test.ts b/legacy/sdk/tests/integration/v2/token-badge/set_token_badge_authority.test.ts similarity index 100% rename from legacy/tests/integration/v2/token-badge/set_token_badge_authority.test.ts rename to legacy/sdk/tests/integration/v2/token-badge/set_token_badge_authority.test.ts diff --git a/legacy/tests/integration/v2/token-extensions/memo-transfer.test.ts b/legacy/sdk/tests/integration/v2/token-extensions/memo-transfer.test.ts similarity index 100% rename from legacy/tests/integration/v2/token-extensions/memo-transfer.test.ts rename to legacy/sdk/tests/integration/v2/token-extensions/memo-transfer.test.ts diff --git a/legacy/tests/integration/v2/token-extensions/non-confidential-transfer+transfer-fee.test.ts b/legacy/sdk/tests/integration/v2/token-extensions/non-confidential-transfer+transfer-fee.test.ts similarity index 100% rename from legacy/tests/integration/v2/token-extensions/non-confidential-transfer+transfer-fee.test.ts rename to legacy/sdk/tests/integration/v2/token-extensions/non-confidential-transfer+transfer-fee.test.ts diff --git a/legacy/tests/integration/v2/token-extensions/non-confidential-transfer.test.ts b/legacy/sdk/tests/integration/v2/token-extensions/non-confidential-transfer.test.ts similarity index 100% rename from legacy/tests/integration/v2/token-extensions/non-confidential-transfer.test.ts rename to legacy/sdk/tests/integration/v2/token-extensions/non-confidential-transfer.test.ts diff --git a/legacy/tests/integration/v2/token-extensions/transfer-fee.test.ts b/legacy/sdk/tests/integration/v2/token-extensions/transfer-fee.test.ts similarity index 100% rename from legacy/tests/integration/v2/token-extensions/transfer-fee.test.ts rename to legacy/sdk/tests/integration/v2/token-extensions/transfer-fee.test.ts diff --git a/legacy/tests/integration/v2/token-extensions/transfer-hook.test.ts b/legacy/sdk/tests/integration/v2/token-extensions/transfer-hook.test.ts similarity index 100% rename from legacy/tests/integration/v2/token-extensions/transfer-hook.test.ts rename to legacy/sdk/tests/integration/v2/token-extensions/transfer-hook.test.ts diff --git a/legacy/tests/integration/v2/two_hop_swap_v2.test.ts b/legacy/sdk/tests/integration/v2/two_hop_swap_v2.test.ts similarity index 100% rename from legacy/tests/integration/v2/two_hop_swap_v2.test.ts rename to legacy/sdk/tests/integration/v2/two_hop_swap_v2.test.ts diff --git a/legacy/tests/sdk/router/router-util#priceImpact.test.ts b/legacy/sdk/tests/sdk/router/router-util#priceImpact.test.ts similarity index 100% rename from legacy/tests/sdk/router/router-util#priceImpact.test.ts rename to legacy/sdk/tests/sdk/router/router-util#priceImpact.test.ts diff --git a/legacy/tests/sdk/types/anchor-types.test.ts b/legacy/sdk/tests/sdk/types/anchor-types.test.ts similarity index 100% rename from legacy/tests/sdk/types/anchor-types.test.ts rename to legacy/sdk/tests/sdk/types/anchor-types.test.ts diff --git a/legacy/tests/sdk/whirlpools/position-impl#collectFees.test.ts b/legacy/sdk/tests/sdk/whirlpools/position-impl#collectFees.test.ts similarity index 100% rename from legacy/tests/sdk/whirlpools/position-impl#collectFees.test.ts rename to legacy/sdk/tests/sdk/whirlpools/position-impl#collectFees.test.ts diff --git a/legacy/tests/sdk/whirlpools/position-impl#collectRewards.test.ts b/legacy/sdk/tests/sdk/whirlpools/position-impl#collectRewards.test.ts similarity index 100% rename from legacy/tests/sdk/whirlpools/position-impl#collectRewards.test.ts rename to legacy/sdk/tests/sdk/whirlpools/position-impl#collectRewards.test.ts diff --git a/legacy/tests/sdk/whirlpools/position-impl.test.ts b/legacy/sdk/tests/sdk/whirlpools/position-impl.test.ts similarity index 100% rename from legacy/tests/sdk/whirlpools/position-impl.test.ts rename to legacy/sdk/tests/sdk/whirlpools/position-impl.test.ts diff --git a/legacy/tests/sdk/whirlpools/quote/decrease-liquidity-quote.test.ts b/legacy/sdk/tests/sdk/whirlpools/quote/decrease-liquidity-quote.test.ts similarity index 100% rename from legacy/tests/sdk/whirlpools/quote/decrease-liquidity-quote.test.ts rename to legacy/sdk/tests/sdk/whirlpools/quote/decrease-liquidity-quote.test.ts diff --git a/legacy/tests/sdk/whirlpools/quote/increase-liquidity-quote-by-input-token.test.ts b/legacy/sdk/tests/sdk/whirlpools/quote/increase-liquidity-quote-by-input-token.test.ts similarity index 100% rename from legacy/tests/sdk/whirlpools/quote/increase-liquidity-quote-by-input-token.test.ts rename to legacy/sdk/tests/sdk/whirlpools/quote/increase-liquidity-quote-by-input-token.test.ts diff --git a/legacy/tests/sdk/whirlpools/quote/increase-liquidity-quote-by-liq.test.ts b/legacy/sdk/tests/sdk/whirlpools/quote/increase-liquidity-quote-by-liq.test.ts similarity index 100% rename from legacy/tests/sdk/whirlpools/quote/increase-liquidity-quote-by-liq.test.ts rename to legacy/sdk/tests/sdk/whirlpools/quote/increase-liquidity-quote-by-liq.test.ts diff --git a/legacy/tests/sdk/whirlpools/swap/swap-array.test.ts b/legacy/sdk/tests/sdk/whirlpools/swap/swap-array.test.ts similarity index 100% rename from legacy/tests/sdk/whirlpools/swap/swap-array.test.ts rename to legacy/sdk/tests/sdk/whirlpools/swap/swap-array.test.ts diff --git a/legacy/tests/sdk/whirlpools/swap/swap-dev-fee.test.ts b/legacy/sdk/tests/sdk/whirlpools/swap/swap-dev-fee.test.ts similarity index 100% rename from legacy/tests/sdk/whirlpools/swap/swap-dev-fee.test.ts rename to legacy/sdk/tests/sdk/whirlpools/swap/swap-dev-fee.test.ts diff --git a/legacy/tests/sdk/whirlpools/swap/swap-traverse.test.ts b/legacy/sdk/tests/sdk/whirlpools/swap/swap-traverse.test.ts similarity index 100% rename from legacy/tests/sdk/whirlpools/swap/swap-traverse.test.ts rename to legacy/sdk/tests/sdk/whirlpools/swap/swap-traverse.test.ts diff --git a/legacy/tests/sdk/whirlpools/swap/swap-with-fallback.test.ts b/legacy/sdk/tests/sdk/whirlpools/swap/swap-with-fallback.test.ts similarity index 100% rename from legacy/tests/sdk/whirlpools/swap/swap-with-fallback.test.ts rename to legacy/sdk/tests/sdk/whirlpools/swap/swap-with-fallback.test.ts diff --git a/legacy/tests/sdk/whirlpools/swap/v2/swap-array.test.ts b/legacy/sdk/tests/sdk/whirlpools/swap/v2/swap-array.test.ts similarity index 100% rename from legacy/tests/sdk/whirlpools/swap/v2/swap-array.test.ts rename to legacy/sdk/tests/sdk/whirlpools/swap/v2/swap-array.test.ts diff --git a/legacy/tests/sdk/whirlpools/swap/v2/swap-traverse.test.ts b/legacy/sdk/tests/sdk/whirlpools/swap/v2/swap-traverse.test.ts similarity index 100% rename from legacy/tests/sdk/whirlpools/swap/v2/swap-traverse.test.ts rename to legacy/sdk/tests/sdk/whirlpools/swap/v2/swap-traverse.test.ts diff --git a/legacy/tests/sdk/whirlpools/utils/pool-graph.test.ts b/legacy/sdk/tests/sdk/whirlpools/utils/pool-graph.test.ts similarity index 100% rename from legacy/tests/sdk/whirlpools/utils/pool-graph.test.ts rename to legacy/sdk/tests/sdk/whirlpools/utils/pool-graph.test.ts diff --git a/legacy/tests/sdk/whirlpools/utils/pool-utils.test.ts b/legacy/sdk/tests/sdk/whirlpools/utils/pool-utils.test.ts similarity index 100% rename from legacy/tests/sdk/whirlpools/utils/pool-utils.test.ts rename to legacy/sdk/tests/sdk/whirlpools/utils/pool-utils.test.ts diff --git a/legacy/tests/sdk/whirlpools/utils/position-bundle-util.test.ts b/legacy/sdk/tests/sdk/whirlpools/utils/position-bundle-util.test.ts similarity index 100% rename from legacy/tests/sdk/whirlpools/utils/position-bundle-util.test.ts rename to legacy/sdk/tests/sdk/whirlpools/utils/position-bundle-util.test.ts diff --git a/legacy/tests/sdk/whirlpools/utils/position-util.test.ts b/legacy/sdk/tests/sdk/whirlpools/utils/position-util.test.ts similarity index 100% rename from legacy/tests/sdk/whirlpools/utils/position-util.test.ts rename to legacy/sdk/tests/sdk/whirlpools/utils/position-util.test.ts diff --git a/legacy/tests/sdk/whirlpools/utils/price-math.test.ts b/legacy/sdk/tests/sdk/whirlpools/utils/price-math.test.ts similarity index 100% rename from legacy/tests/sdk/whirlpools/utils/price-math.test.ts rename to legacy/sdk/tests/sdk/whirlpools/utils/price-math.test.ts diff --git a/legacy/tests/sdk/whirlpools/utils/swap-utils.test.ts b/legacy/sdk/tests/sdk/whirlpools/utils/swap-utils.test.ts similarity index 100% rename from legacy/tests/sdk/whirlpools/utils/swap-utils.test.ts rename to legacy/sdk/tests/sdk/whirlpools/utils/swap-utils.test.ts diff --git a/legacy/tests/sdk/whirlpools/utils/tick-array-sequence.test.ts b/legacy/sdk/tests/sdk/whirlpools/utils/tick-array-sequence.test.ts similarity index 100% rename from legacy/tests/sdk/whirlpools/utils/tick-array-sequence.test.ts rename to legacy/sdk/tests/sdk/whirlpools/utils/tick-array-sequence.test.ts diff --git a/legacy/tests/sdk/whirlpools/utils/tick-utils.test.ts b/legacy/sdk/tests/sdk/whirlpools/utils/tick-utils.test.ts similarity index 100% rename from legacy/tests/sdk/whirlpools/utils/tick-utils.test.ts rename to legacy/sdk/tests/sdk/whirlpools/utils/tick-utils.test.ts diff --git a/legacy/tests/sdk/whirlpools/utils/token-extension-util.test.ts b/legacy/sdk/tests/sdk/whirlpools/utils/token-extension-util.test.ts similarity index 100% rename from legacy/tests/sdk/whirlpools/utils/token-extension-util.test.ts rename to legacy/sdk/tests/sdk/whirlpools/utils/token-extension-util.test.ts diff --git a/legacy/tests/sdk/whirlpools/whirlpool-client-impl.test.ts b/legacy/sdk/tests/sdk/whirlpools/whirlpool-client-impl.test.ts similarity index 100% rename from legacy/tests/sdk/whirlpools/whirlpool-client-impl.test.ts rename to legacy/sdk/tests/sdk/whirlpools/whirlpool-client-impl.test.ts diff --git a/legacy/tests/sdk/whirlpools/whirlpool-impl#closePosition.test.ts b/legacy/sdk/tests/sdk/whirlpools/whirlpool-impl#closePosition.test.ts similarity index 100% rename from legacy/tests/sdk/whirlpools/whirlpool-impl#closePosition.test.ts rename to legacy/sdk/tests/sdk/whirlpools/whirlpool-impl#closePosition.test.ts diff --git a/legacy/tests/sdk/whirlpools/whirlpool-impl#collectFeesAndRewardsForPositions.test.ts b/legacy/sdk/tests/sdk/whirlpools/whirlpool-impl#collectFeesAndRewardsForPositions.test.ts similarity index 100% rename from legacy/tests/sdk/whirlpools/whirlpool-impl#collectFeesAndRewardsForPositions.test.ts rename to legacy/sdk/tests/sdk/whirlpools/whirlpool-impl#collectFeesAndRewardsForPositions.test.ts diff --git a/legacy/tests/sdk/whirlpools/whirlpool-impl.test.ts b/legacy/sdk/tests/sdk/whirlpools/whirlpool-impl.test.ts similarity index 100% rename from legacy/tests/sdk/whirlpools/whirlpool-impl.test.ts rename to legacy/sdk/tests/sdk/whirlpools/whirlpool-impl.test.ts diff --git a/legacy/tests/tsconfig.json b/legacy/sdk/tests/tsconfig.json similarity index 100% rename from legacy/tests/tsconfig.json rename to legacy/sdk/tests/tsconfig.json diff --git a/legacy/tests/utils/assert.ts b/legacy/sdk/tests/utils/assert.ts similarity index 100% rename from legacy/tests/utils/assert.ts rename to legacy/sdk/tests/utils/assert.ts diff --git a/legacy/tests/utils/const.ts b/legacy/sdk/tests/utils/const.ts similarity index 100% rename from legacy/tests/utils/const.ts rename to legacy/sdk/tests/utils/const.ts diff --git a/legacy/tests/utils/fixture.ts b/legacy/sdk/tests/utils/fixture.ts similarity index 100% rename from legacy/tests/utils/fixture.ts rename to legacy/sdk/tests/utils/fixture.ts diff --git a/legacy/tests/utils/graph-test-data.ts b/legacy/sdk/tests/utils/graph-test-data.ts similarity index 100% rename from legacy/tests/utils/graph-test-data.ts rename to legacy/sdk/tests/utils/graph-test-data.ts diff --git a/legacy/tests/utils/index.ts b/legacy/sdk/tests/utils/index.ts similarity index 100% rename from legacy/tests/utils/index.ts rename to legacy/sdk/tests/utils/index.ts diff --git a/legacy/tests/utils/init-utils.ts b/legacy/sdk/tests/utils/init-utils.ts similarity index 100% rename from legacy/tests/utils/init-utils.ts rename to legacy/sdk/tests/utils/init-utils.ts diff --git a/legacy/tests/utils/metaplex.ts b/legacy/sdk/tests/utils/metaplex.ts similarity index 100% rename from legacy/tests/utils/metaplex.ts rename to legacy/sdk/tests/utils/metaplex.ts diff --git a/legacy/tests/utils/pool-utils.test.ts b/legacy/sdk/tests/utils/pool-utils.test.ts similarity index 100% rename from legacy/tests/utils/pool-utils.test.ts rename to legacy/sdk/tests/utils/pool-utils.test.ts diff --git a/legacy/tests/utils/swap-test-utils.ts b/legacy/sdk/tests/utils/swap-test-utils.ts similarity index 100% rename from legacy/tests/utils/swap-test-utils.ts rename to legacy/sdk/tests/utils/swap-test-utils.ts diff --git a/legacy/tests/utils/test-builders.ts b/legacy/sdk/tests/utils/test-builders.ts similarity index 100% rename from legacy/tests/utils/test-builders.ts rename to legacy/sdk/tests/utils/test-builders.ts diff --git a/legacy/tests/utils/test-consts.ts b/legacy/sdk/tests/utils/test-consts.ts similarity index 100% rename from legacy/tests/utils/test-consts.ts rename to legacy/sdk/tests/utils/test-consts.ts diff --git a/legacy/tests/utils/testDataTypes.ts b/legacy/sdk/tests/utils/testDataTypes.ts similarity index 100% rename from legacy/tests/utils/testDataTypes.ts rename to legacy/sdk/tests/utils/testDataTypes.ts diff --git a/legacy/tests/utils/token.ts b/legacy/sdk/tests/utils/token.ts similarity index 100% rename from legacy/tests/utils/token.ts rename to legacy/sdk/tests/utils/token.ts diff --git a/legacy/tests/utils/utils.ts b/legacy/sdk/tests/utils/utils.ts similarity index 100% rename from legacy/tests/utils/utils.ts rename to legacy/sdk/tests/utils/utils.ts diff --git a/legacy/tests/utils/v2/aquarium-v2.ts b/legacy/sdk/tests/utils/v2/aquarium-v2.ts similarity index 100% rename from legacy/tests/utils/v2/aquarium-v2.ts rename to legacy/sdk/tests/utils/v2/aquarium-v2.ts diff --git a/legacy/tests/utils/v2/confidential-transfer.ts b/legacy/sdk/tests/utils/v2/confidential-transfer.ts similarity index 100% rename from legacy/tests/utils/v2/confidential-transfer.ts rename to legacy/sdk/tests/utils/v2/confidential-transfer.ts diff --git a/legacy/tests/utils/v2/fixture-v2.ts b/legacy/sdk/tests/utils/v2/fixture-v2.ts similarity index 100% rename from legacy/tests/utils/v2/fixture-v2.ts rename to legacy/sdk/tests/utils/v2/fixture-v2.ts diff --git a/legacy/tests/utils/v2/init-utils-v2.ts b/legacy/sdk/tests/utils/v2/init-utils-v2.ts similarity index 100% rename from legacy/tests/utils/v2/init-utils-v2.ts rename to legacy/sdk/tests/utils/v2/init-utils-v2.ts diff --git a/legacy/tests/utils/v2/swap-test-utils-v2.ts b/legacy/sdk/tests/utils/v2/swap-test-utils-v2.ts similarity index 100% rename from legacy/tests/utils/v2/swap-test-utils-v2.ts rename to legacy/sdk/tests/utils/v2/swap-test-utils-v2.ts diff --git a/legacy/tests/utils/v2/test-transfer-hook-program.ts b/legacy/sdk/tests/utils/v2/test-transfer-hook-program.ts similarity index 100% rename from legacy/tests/utils/v2/test-transfer-hook-program.ts rename to legacy/sdk/tests/utils/v2/test-transfer-hook-program.ts diff --git a/legacy/tests/utils/v2/token-2022.ts b/legacy/sdk/tests/utils/v2/token-2022.ts similarity index 100% rename from legacy/tests/utils/v2/token-2022.ts rename to legacy/sdk/tests/utils/v2/token-2022.ts diff --git a/legacy/tests/utils/v2/transfer-fee.ts b/legacy/sdk/tests/utils/v2/transfer-fee.ts similarity index 100% rename from legacy/tests/utils/v2/transfer-fee.ts rename to legacy/sdk/tests/utils/v2/transfer-fee.ts diff --git a/legacy/tests/utils/whirlpools-test-utils.ts b/legacy/sdk/tests/utils/whirlpools-test-utils.ts similarity index 100% rename from legacy/tests/utils/whirlpools-test-utils.ts rename to legacy/sdk/tests/utils/whirlpools-test-utils.ts diff --git a/legacy/sdk/tsconfig.json b/legacy/sdk/tsconfig.json new file mode 100644 index 000000000..c1056607b --- /dev/null +++ b/legacy/sdk/tsconfig.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "./dist", + }, + "include": ["./src/**/*.ts", "./src/artifacts/whirlpool.json"] +} diff --git a/legacy/src/network/public/index.ts b/legacy/src/network/public/index.ts deleted file mode 100644 index b9a366028..000000000 --- a/legacy/src/network/public/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./fetcher/"; -export * from "./parsing"; diff --git a/nx.json b/nx.json index cfb6414be..5f76d5f17 100644 --- a/nx.json +++ b/nx.json @@ -1,20 +1,11 @@ { "extends": "nx/presets/npm.json", - "tasksRunnerOptions": { - "default": { - "runner": "nx/tasks-runners/default", - "options": { - "cacheableOperations": [ - "build" - ] - } - } - }, "targetDefaults": { "build": { "dependsOn": [ "^build" - ] + ], + "cache": true }, "test": { "dependsOn": [ diff --git a/package.json b/package.json index 2c02e9fd6..46f57ff96 100644 --- a/package.json +++ b/package.json @@ -21,9 +21,8 @@ "rimraf": "^5.0.5" }, "workspaces": [ - "legacy", - "programs", - "scripts" + "legacy/*", + "programs/*" ], "lint-staged": { "*": "yarn format" diff --git a/programs/package.json b/programs/package.json deleted file mode 100644 index 2857fe750..000000000 --- a/programs/package.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "name": "@orca-so/whirlpools-program", - "version": "0.0.0", - "private": true, - "scripts": { - "build": "anchor build", - "test": "cargo test --lib", - "format": "cargo fmt", - "idl": "anchor build -i $INIT_CWD/src/artifacts -t $INIT_CWD/src/artifacts", - "clean": "anchor clean" - } -} diff --git a/programs/whirlpool/package.json b/programs/whirlpool/package.json new file mode 100644 index 000000000..4554873a9 --- /dev/null +++ b/programs/whirlpool/package.json @@ -0,0 +1,12 @@ +{ + "name": "@orca-so/whirlpools-program", + "version": "0.0.0", + "private": true, + "scripts": { + "build": "anchor build -p whirlpool", + "test": "cargo test -p whirlpool --lib", + "format": "cargo fmt -p whirlpool", + "idl": "anchor build -p whirlpool -i $INIT_CWD/src/artifacts -t $INIT_CWD/src/artifacts", + "clean": "anchor clean" + } +} diff --git a/scripts/tsconfig.json b/scripts/tsconfig.json deleted file mode 100644 index 8b052458c..000000000 --- a/scripts/tsconfig.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "compilerOptions": { - "composite": true, - "target": "es6", - "module": "commonjs", - "allowJs": false, - "declaration": true, - "outDir": "./dist", - "strict": true, - "esModuleInterop": true, - "skipLibCheck": true, - "forceConsistentCasingInFileNames": true, - "resolveJsonModule": true - }, - "references": [ - { - "path": "../sdk/src" - } - ] -} diff --git a/yarn.lock b/yarn.lock index 230e15e86..804b1042a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -48,15 +48,6 @@ __metadata: languageName: node linkType: hard -"@cspotcode/source-map-support@npm:^0.8.0": - version: 0.8.1 - resolution: "@cspotcode/source-map-support@npm:0.8.1" - dependencies: - "@jridgewell/trace-mapping": "npm:0.3.9" - checksum: 10c0/05c5368c13b662ee4c122c7bfbe5dc0b613416672a829f3e78bc49a357a197e0218d6e74e7c66cfcd04e15a179acab080bd3c69658c9fbefd0e1ccd950a07fc6 - languageName: node - linkType: hard - "@emnapi/core@npm:^1.1.0": version: 1.2.0 resolution: "@emnapi/core@npm:1.2.0" @@ -108,30 +99,6 @@ __metadata: languageName: node linkType: hard -"@jridgewell/resolve-uri@npm:^3.0.3": - version: 3.1.2 - resolution: "@jridgewell/resolve-uri@npm:3.1.2" - checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e - languageName: node - linkType: hard - -"@jridgewell/sourcemap-codec@npm:^1.4.10": - version: 1.5.0 - resolution: "@jridgewell/sourcemap-codec@npm:1.5.0" - checksum: 10c0/2eb864f276eb1096c3c11da3e9bb518f6d9fc0023c78344cdc037abadc725172c70314bdb360f2d4b7bffec7f5d657ce006816bc5d4ecb35e61b66132db00c18 - languageName: node - linkType: hard - -"@jridgewell/trace-mapping@npm:0.3.9": - version: 0.3.9 - resolution: "@jridgewell/trace-mapping@npm:0.3.9" - dependencies: - "@jridgewell/resolve-uri": "npm:^3.0.3" - "@jridgewell/sourcemap-codec": "npm:^1.4.10" - checksum: 10c0/fa425b606d7c7ee5bfa6a31a7b050dd5814b4082f318e0e4190f991902181b4330f43f4805db1dd4f2433fd0ed9cc7a7b9c2683f1deeab1df1b0a98b1e24055b - languageName: node - linkType: hard - "@napi-rs/wasm-runtime@npm:0.2.4": version: 0.2.4 resolution: "@napi-rs/wasm-runtime@npm:0.2.4" @@ -276,28 +243,28 @@ __metadata: languageName: node linkType: hard -"@orca-so/whirlpools-program@npm:*, @orca-so/whirlpools-program@workspace:programs": +"@orca-so/whirlpools-program@npm:*, @orca-so/whirlpools-program@workspace:programs/whirlpool": version: 0.0.0-use.local - resolution: "@orca-so/whirlpools-program@workspace:programs" + resolution: "@orca-so/whirlpools-program@workspace:programs/whirlpool" languageName: unknown linkType: soft -"@orca-so/whirlpools-scripts@workspace:scripts": +"@orca-so/whirlpools-scripts@workspace:legacy/scripts": version: 0.0.0-use.local - resolution: "@orca-so/whirlpools-scripts@workspace:scripts" + resolution: "@orca-so/whirlpools-scripts@workspace:legacy/scripts" dependencies: "@project-serum/anchor": "npm:~0.25.0" "@solana/spl-token": "npm:^0.1.8" "@types/mocha": "npm:^9.0.0" "@types/mz": "npm:^2.7.3" mz: "npm:^2.7.0" - ts-node: "npm:^10.9.2" + typescript: "npm:^5.3.3" languageName: unknown linkType: soft -"@orca-so/whirlpools-sdk@workspace:legacy": +"@orca-so/whirlpools-sdk@workspace:legacy/sdk": version: 0.0.0-use.local - resolution: "@orca-so/whirlpools-sdk@workspace:legacy" + resolution: "@orca-so/whirlpools-sdk@workspace:legacy/sdk" dependencies: "@coral-xyz/anchor": "npm:~0.29.0" "@orca-so/common-sdk": "npm:0.6.0" @@ -669,34 +636,6 @@ __metadata: languageName: node linkType: hard -"@tsconfig/node10@npm:^1.0.7": - version: 1.0.11 - resolution: "@tsconfig/node10@npm:1.0.11" - checksum: 10c0/28a0710e5d039e0de484bdf85fee883bfd3f6a8980601f4d44066b0a6bcd821d31c4e231d1117731c4e24268bd4cf2a788a6787c12fc7f8d11014c07d582783c - languageName: node - linkType: hard - -"@tsconfig/node12@npm:^1.0.7": - version: 1.0.11 - resolution: "@tsconfig/node12@npm:1.0.11" - checksum: 10c0/dddca2b553e2bee1308a056705103fc8304e42bb2d2cbd797b84403a223b25c78f2c683ec3e24a095e82cd435387c877239bffcb15a590ba817cd3f6b9a99fd9 - languageName: node - linkType: hard - -"@tsconfig/node14@npm:^1.0.0": - version: 1.0.3 - resolution: "@tsconfig/node14@npm:1.0.3" - checksum: 10c0/67c1316d065fdaa32525bc9449ff82c197c4c19092b9663b23213c8cbbf8d88b6ed6a17898e0cbc2711950fbfaf40388938c1c748a2ee89f7234fc9e7fe2bf44 - languageName: node - linkType: hard - -"@tsconfig/node16@npm:^1.0.2": - version: 1.0.4 - resolution: "@tsconfig/node16@npm:1.0.4" - checksum: 10c0/05f8f2734e266fb1839eb1d57290df1664fe2aa3b0fdd685a9035806daa635f7519bf6d5d9b33f6e69dd545b8c46bd6e2b5c79acb2b1f146e885f7f11a42a5bb - languageName: node - linkType: hard - "@tybys/wasm-util@npm:^0.9.0": version: 0.9.0 resolution: "@tybys/wasm-util@npm:0.9.0" @@ -851,24 +790,6 @@ __metadata: languageName: node linkType: hard -"acorn-walk@npm:^8.1.1": - version: 8.3.3 - resolution: "acorn-walk@npm:8.3.3" - dependencies: - acorn: "npm:^8.11.0" - checksum: 10c0/4a9e24313e6a0a7b389e712ba69b66b455b4cb25988903506a8d247e7b126f02060b05a8a5b738a9284214e4ca95f383dd93443a4ba84f1af9b528305c7f243b - languageName: node - linkType: hard - -"acorn@npm:^8.11.0, acorn@npm:^8.4.1": - version: 8.12.1 - resolution: "acorn@npm:8.12.1" - bin: - acorn: bin/acorn - checksum: 10c0/51fb26cd678f914e13287e886da2d7021f8c2bc0ccc95e03d3e0447ee278dd3b40b9c57dc222acd5881adcf26f3edc40901a4953403232129e3876793cd17386 - languageName: node - linkType: hard - "agent-base@npm:^7.0.2, agent-base@npm:^7.1.0, agent-base@npm:^7.1.1": version: 7.1.1 resolution: "agent-base@npm:7.1.1" @@ -967,13 +888,6 @@ __metadata: languageName: node linkType: hard -"arg@npm:^4.1.0": - version: 4.1.3 - resolution: "arg@npm:4.1.3" - checksum: 10c0/070ff801a9d236a6caa647507bdcc7034530604844d64408149a26b9e87c2f97650055c0f049abd1efc024b334635c01f29e0b632b371ac3f26130f4cf65997a - languageName: node - linkType: hard - "argparse@npm:^1.0.7": version: 1.0.10 resolution: "argparse@npm:1.0.10" @@ -1379,13 +1293,6 @@ __metadata: languageName: node linkType: hard -"create-require@npm:^1.1.0": - version: 1.1.1 - resolution: "create-require@npm:1.1.1" - checksum: 10c0/157cbc59b2430ae9a90034a5f3a1b398b6738bf510f713edc4d4e45e169bc514d3d99dd34d8d01ca7ae7830b5b8b537e46ae8f3c8f932371b0875c0151d7ec91 - languageName: node - linkType: hard - "cross-fetch@npm:^3.1.5": version: 3.1.8 resolution: "cross-fetch@npm:3.1.8" @@ -1483,13 +1390,6 @@ __metadata: languageName: node linkType: hard -"diff@npm:^4.0.1": - version: 4.0.2 - resolution: "diff@npm:4.0.2" - checksum: 10c0/81b91f9d39c4eaca068eb0c1eb0e4afbdc5bb2941d197f513dd596b820b956fef43485876226d65d497bebc15666aa2aa82c679e84f65d5f2bfbf14ee46e32c1 - languageName: node - linkType: hard - "diff@npm:^5.2.0": version: 5.2.0 resolution: "diff@npm:5.2.0" @@ -3636,44 +3536,6 @@ __metadata: languageName: node linkType: hard -"ts-node@npm:^10.9.2": - version: 10.9.2 - resolution: "ts-node@npm:10.9.2" - dependencies: - "@cspotcode/source-map-support": "npm:^0.8.0" - "@tsconfig/node10": "npm:^1.0.7" - "@tsconfig/node12": "npm:^1.0.7" - "@tsconfig/node14": "npm:^1.0.0" - "@tsconfig/node16": "npm:^1.0.2" - acorn: "npm:^8.4.1" - acorn-walk: "npm:^8.1.1" - arg: "npm:^4.1.0" - create-require: "npm:^1.1.0" - diff: "npm:^4.0.1" - make-error: "npm:^1.1.1" - v8-compile-cache-lib: "npm:^3.0.1" - yn: "npm:3.1.1" - peerDependencies: - "@swc/core": ">=1.2.50" - "@swc/wasm": ">=1.2.50" - "@types/node": "*" - typescript: ">=2.7" - peerDependenciesMeta: - "@swc/core": - optional: true - "@swc/wasm": - optional: true - bin: - ts-node: dist/bin.js - ts-node-cwd: dist/bin-cwd.js - ts-node-esm: dist/bin-esm.js - ts-node-script: dist/bin-script.js - ts-node-transpile-only: dist/bin-transpile.js - ts-script: dist/bin-script-deprecated.js - checksum: 10c0/5f29938489f96982a25ba650b64218e83a3357d76f7bede80195c65ab44ad279c8357264639b7abdd5d7e75fc269a83daa0e9c62fd8637a3def67254ecc9ddc2 - languageName: node - linkType: hard - "tsconfig-paths@npm:^3.5.0": version: 3.15.0 resolution: "tsconfig-paths@npm:3.15.0" @@ -3789,13 +3651,6 @@ __metadata: languageName: node linkType: hard -"v8-compile-cache-lib@npm:^3.0.1": - version: 3.0.1 - resolution: "v8-compile-cache-lib@npm:3.0.1" - checksum: 10c0/bdc36fb8095d3b41df197f5fb6f11e3a26adf4059df3213e3baa93810d8f0cc76f9a74aaefc18b73e91fe7e19154ed6f134eda6fded2e0f1c8d2272ed2d2d391 - languageName: node - linkType: hard - "wcwidth@npm:^1.0.1": version: 1.0.1 resolution: "wcwidth@npm:1.0.1" @@ -4000,13 +3855,6 @@ __metadata: languageName: node linkType: hard -"yn@npm:3.1.1": - version: 3.1.1 - resolution: "yn@npm:3.1.1" - checksum: 10c0/0732468dd7622ed8a274f640f191f3eaf1f39d5349a1b72836df484998d7d9807fbea094e2f5486d6b0cd2414aad5775972df0e68f8604db89a239f0f4bf7443 - languageName: node - linkType: hard - "yn@npm:^2.0.0": version: 2.0.0 resolution: "yn@npm:2.0.0" From 2f9ddf47327029a0a16e27177111d59d68f3560c Mon Sep 17 00:00:00 2001 From: Wilhelm Thieme Date: Fri, 2 Aug 2024 12:05:38 -0400 Subject: [PATCH 03/26] Fixes --- .github/workflows/checks.yml | 2 +- Anchor.toml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index ebe271436..e45e84e9d 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -28,4 +28,4 @@ jobs: with: run: | export RUST_LOG= - yarn test --exclude legacy --output-style static + yarn test --exclude legacy/sdk --output-style static diff --git a/Anchor.toml b/Anchor.toml index 44694c066..070f26706 100644 --- a/Anchor.toml +++ b/Anchor.toml @@ -9,7 +9,7 @@ cluster = "localnet" wallet = "~/.config/solana/id.json" [scripts] -test = "ts-mocha -t 1000000 legacy/tests/**/*.test.ts" +test = "ts-mocha -t 1000000 legacy/sdk/tests/**/*.test.ts" [test.validator] slots_per_epoch = "33" @@ -23,8 +23,8 @@ url = "https://api.mainnet-beta.solana.com" [[test.genesis]] address = "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s" -program = "legacy/tests/external_program/mpl_token_metadata.20240214.so" +program = "legacy/sdk/tests/external_program/mpl_token_metadata.20240214.so" [[test.genesis]] address = "EBZDYx7599krFc4m2govwBdZcicr4GgepqC78m71nsHS" -program = "legacy/tests/external_program/transfer_hook_counter.so" +program = "legacy/sdk/tests/external_program/transfer_hook_counter.so" From c788f188b2bafef56e9107ee4d8f4b8ffec046ec Mon Sep 17 00:00:00 2001 From: Wilhelm Thieme Date: Fri, 2 Aug 2024 13:58:48 -0400 Subject: [PATCH 04/26] README --- .audits/2022-01-28.pdf | Bin 0 -> 1912404 bytes .audits/2022-05-05.pdf | Bin 0 -> 242090 bytes README.md | 89 ++++++++++++++++++++++++++++------------- 3 files changed, 62 insertions(+), 27 deletions(-) create mode 100644 .audits/2022-01-28.pdf create mode 100644 .audits/2022-05-05.pdf diff --git a/.audits/2022-01-28.pdf b/.audits/2022-01-28.pdf new file mode 100644 index 0000000000000000000000000000000000000000..bf62cc1d96c26a823c4edf462ddca2093d5790d6 GIT binary patch literal 1912404 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
    2Q2ZRkY~4SA*y#%eMkND7BX$OB3&0`$B?$P; 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 wDoy>%gCxP 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 z

    +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

    Tmva!PIO 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

    k%T08@DK7*jk!`=zSM=ZGnYlsr8x)iD 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ⅇCv$qpc==NiM2VmIPtl^}Fkvtm~9s z-CDa3Zv7kUP!RsDWI3kUE^phoE%Noi!XRn#e_{mFhoUV4S=66~ierCZdcdl6{?Mk< zq2udk- z^FYaoFlv&7^5BStuWtp^qZSJ`M43^^Vw_A0 zZA)x_?Q8(`3WsN2sJC~HYPOxyG|2NYveRS=13WN$fuq3NbZQC;50O#?y3{U>%U(mp zVde7_QjTp}v-Zn0HcrkW^%)rxf`^0-NGqGUOhi>an?a`!{D5ocFJEsuZM3y4g~~%O zgq{*vxEmTMMHn|=SNn0ouue7RXTL}AyKHWtjV~mq_T@zlccBsi-Ti+^Wrkf--m%n4 zO1~`O6z(O7`FAi1!)8HUIrz*}^qM6#SdI?}!Z_V)mntrc1}azPTK9ly9l#PPnwwv$q&w|Xb`N;8@; z0tF+%mXwBdLd#FVXy1ugrpY)q2!KbqE)nqE28UU`4}bu73(e5D7BzX5B168DM&DiHu;z#r`o`1^>jpV1EZ z3(FoXN$UU6hMY-vK&G`PW2*;YWy?A8IUo3d39ksi6#bCJ1BMBhfTsHk>llPrv&oNy z3PU-*8fwy*56D1ATebsIIeG)%ZUjad2JSDa5e=22i%q_{myRsANn=v&)<7{M@cDGI ztV}#mpi&}F11_mhwTXeqOKgtc<|nQxFWm;K69rR0njGVS&F^|5M*&SwrL&)Gz(h** zH{DZz4R*3EW7&0 zQhgN9N|trdx*3ve%|T{bz|cisVpIlXqhfCmT%MiZed~S)3~U~n zW~)%Q0W&hPR!6(LDz=aGp}#Q)&O>iLuqJ41EQtDuN-+DGTpmEn6nC-gJ&Kvy0P+GK~I5i6iXSz;e-b`bp*uYLeyW7RjUNDJT zX96Q)`cB45N!s?gXZ`o0_`cy!T^|fA&{HTYAau-{jhE0@mkPH?8V~?lC&1u<)-cdE zi?KJ6(IIW)rus`MCxRQDfR#P?AgeKJVGY0rH_o5?wVqCzHUVHrUK@&%!advs{hd>O z#t-$B6q+O7r8A`T|$T zD`h!>@V}q~%1ldju3t6T%1*%E_OG!&LAJ@wxQE0!*?lQ?DFTmq=o?-D_NIHXDUE4T z)@r{Ga0LZ*9$c`U4V9nYqL1*En(um(J?0ql3;@|P2yJ+4NNO!&oeO|rP11>H&x$CPQXh6r6;tnBIapJ42zeV z?|qonc}GIc(80)(zs<#$(Tnvc6Ptqtw}YmwhTn7XLT7m(DAA_NU2}MerSa?6Yi6SZ zF<4z-$sR#2LGv6H za$i~F5yR&~!P(gUUgaeLs6m#NT|WZtA<(E9#EH_FG`~Tw7N%SAjh}qRO1~^ca>0r_)p;+@oI9QQNCbF z2}@^ZEsKE-x7qj_YUpmH_9KNhQKVQz1vf40_2F0t6=tmbxiqNqS)KgtVFwL|q=T#! zORJCZmv*{0=l9t|p&H-%g|v$Cs^Jm-Uo#K_D0vqZ&QfwzSPBwa#tCet0fe<5%XgP+ zvndf{9tyX4$o4$h^Xd|t_-_vnVmpjjSXiX>63dX4KzQvEJTCW?BYgpKZ72#7r`S|u zgF}1w!D2dW8-dpzU{lTlJ~r4SfhN@bkffeyO$W|KXn?HH_I->HzCbxIGpChM*V7mf zr1)o0E4cYmBIOspky+6F30ae>sRhdc)fby+t2~HJyn6hSCT*a5lkes3ItEo*1?2wi zY!|ifU@Qy~QqXUqI>u<AHkaegV|p-R$NX#^me8a4}V;mGoIW6BiupE@6pdzT0?4NTTHj#m{tKP8B?FLbkh5+99AqXRNT zftP<^z`><+d-&EUs{_vz%}bHj5TwACkx#PH;-&44v> z_E#V-%2>bi9ny)H+&uUD#L(Lh5CZ6Km^NmtpJzA;d{vDPeKKLwRjeD203cqn8EVoNEHXHdU@+~v$EnlrzawX-qG#iYZY3LsLAOgPWRvSajk|@Gv z0<=T4on*TlK4}EnL;)XiA!Gc}aeYz265wG8UQ%{y(KI058&kUnKNTj1@722eAZ}{C z;btw?_WLuT3xms)JfPGSi+G+8lbjX!Em-7VG14T4N8y$YztZ?dV~cruar&v!jjyrQ z`xq=>I7!#q?lX1rxmEiN85#ZQ0UJP<^*n2q&aK&v!Q+gu2@<$)#X-ny;Ngf2Y&=pN zIHaldwfO!RX$L(Lp9oI3B?Fyj+dJclbp_ZhIbE@#^zBbzVSP!v94&l=WztxpUKb<9Sm-%ot3}l)UzHAvK^%*A(9l} z1xeL`RDF_FZwD=wHKB2#xt)d2^(m)Vv??)QQ$J{#F4W&pIBEiB=(l5l`#Axb{W7#uDHx zTI57IBa&QKX!AtsvI!83^TXIdD_>n0C_iPPV*O2-x&BNe{FlaNf|QsTi{}Wmylzg# zCs66?rY<7G^Pc-R>N`F8`i6~N9+;Z71T)n=qvRaMSK8xo@18lGe2B2eR*~wQlyes^ zA98uHK9Tqc>yTkORsF{R|DVx*2lWH>!{TRLio`6@5VH)QdY@5eOIEcPNm&gy->W>0 zni^Nkko&UK{mD_j7()sMeKxV!L3rm)(>HlI@MpvF@)BC7AX=$ac36g8rIR$#L^u%~ znw2jl*k_cDk)E>==^cdSBjzJibDd6AP$oO)?wsx+ZRt}sVJR2cmsqWi?%>`4lkYJ|0*T`;t`G1jfhk$QIVmJwYPkRqZQ!Y3T zY6@JC{9S}kKpyKyQpn<_R^H~)m222Sgc|IcEwp%UMpl5^i{$XWMKcza@1-2&;!9|OyTr$cNw?n(j6MG_f(8i`@=q0lD#HkG2PvUE_fd7t~W9H=tX zAPLL8T%G!&Sj+0tfr>KA?_hx%)R4w>(}JZCh&mAGS4E%A&nje6c6z`D3rS2g1z!6e zqvT@pWP^zS7`=A|@m&5tmqa6kheioDgC%G3j0$UJOjpb14;TcA;T#{NH%yy7I%L9L zvcYi1O#n%fR)98?ksyKQbXRldfn`McK7M7eU@QiVa|pN{i7U?U?#Rp%qmrkG;SnGm ziLE!;UoR_>0QQW;Sjqx6kWhMm)v12n-KqPZ1x2~cDW5G+~ z3xZk(RD1Z~?sl-yCvea$!o+djtFETT%e9#Q-I&V=Gi>s7!)_v9F()*%wj}n4knk_( zdtbO3@N%bOe5Pj0_ub?5H&*@Xt{xs0TKy87_9-Ptzzc1Xl6SyGn(-9AJce}??LSAQ zBp)j+~t=EAKxdSF_S(&5MI~V#U;}OA(`M$x@;u3U}J?;~*DavU?BLtmtH$?~x0y|xUAzQ%n zg9axWulv8&uR4rouj?Qpvy4n8g`{p=klU4%d_9Te-Q3;|yGA|+jb1u1@W99q@jrpH zBS{MG{ ze~s8Z>_j)W(>Iz&K|?cZLu{PwWPKI$25ucMQcod6a+30yf7yqI zTEA8|UzGC^P08nAVNu9YbY@;m8k2`{h~W~$od^k6)hI*tyOrX&eP#WY*W=)&@8ypI zeBiKFicma)B&_{E2ezR*wVw8p0wPQWWKeRJl~@v^+*KkL`5*TcMh!$lkuhk);R*Lw zqw<#+U-R>53)SP3p8FQk^fg=cClaw%(1?2UEiN*?XpH}UoBJceydSv4TIG%aZZooA zH(OJ`@urTTss)49WG$UX065^6cCm#{qdhR>F+-*x5#{%~;qCDG-K`WF`sGd$`s5W_ z*&elMD`v~aAL>oz#-Ll^{mek%@sM-s5xkgy(Ln-u;c*4tn7 zW7+6CRd~nmiT1TStoHDP`35pKS~)p%D2U85tb>^i5aVvKF3w zoxFrKZpJT5R(@|sZvi9#sM8Z%mAebsuj~DTD_IpL%WINCP74KkmF)}5$Y|KEE-s-N zNWnQ$_k&dyR*i=pH++!#~`|uofs)z^fQz%|_!t zO$obG`{4qp@-NGl8<~C*l7fBl6v8IBLb#!ot@1Fc;8KFM94f$Q>tx zW#k4eh)3HyNwry?-|QU_hz@LWqD|$LbbkaaXJY}k_|4$vun{B}K;%7eL2vE%?;?SS z&G@wGL)V|5WNzj0K|Hau@~@$BU^zg1V4Qp;APqXCDms|L>d^)uEXQUMcK|&3sz8O~ z0g*tT_4XLP+!?cufE zA{)6&Nr}MO?~bSoLLg8rv(DAbuM{KZ`^+!=~$7JT%B_58fPZXbP^yFdntHEF_>%soCtrVMT`nqMKlZ+lWarMCh& z<&{s(cv4g-_bklMv>)W){b2`BYO5;h>fy?Y(ALP}|B?gXC{>_BAp;Ck{t>Bs8yi)2 zE5wHWu5`={8fW<#6F|fwJ{IC#`!4Yt*Kz5jX=&SsJ|H$em`IZei!2ScwXs=lxoBBf zR{Ut3s{BnQwd||Vv(@eKoW`79bFk}U`Pu~6h|%<fw3yBJ_$ft{?asW{GgQ~^x$*#6MGuCqf) z1sH*ym6f`;!?>?7u3p4s2QfrL$a)Y zb>lyjfMg@m(?6%BNc9JX)3JkECjT6*o*oe(@mw7D(*{Q+7{>{mA>RP^`(p*?Ncd+J zpL3hFliStX>2O~V$V8ftowKkimKZ}O^@#VYFKmN@GP=FBTuC1{v}fC0j` z`<>$jkQo2K5n%G{|7ZfZQ`{$ZI=bf=?b9oiREc<%v z(7>hVf&uCut{_p3(HROMi|7X2&t6Y32_nu9^nni$3W>5LGPsvp5vokol1os|J@?DE zJ=sAy8BK(^({0!D&l%qX@6vi7ESSLG_*GDLNZm zlri+>0Zpc5t&Vr&c4o_u(&cGr;Qb#mhD1I+NvAGhHGEX0u^g~l9#oRBKi8I5;;s#K zIQaVJi>qD&6Z12NnX2k<-*hxJO9kz}cMF#|e)(zw4R(MM2Si63zbh;`0UUHhB(7#) zz}DBhg;NfZuxDx9CPfI0wxTB5kuOcCT7+|1Nyj*1`)$W3kMq2|&gr(&xD2vV&w*=< zhmTgRmIG>8?}NtnWbq?9jkvhDvII{}8l1KYl=#EK=7+v!0T(rM0R}f%qYYydO9JFv z&JEZ^tdfL2s_B`dcBx3jnxjWmV8B+oo zQz$>K36SngajMOue*r_LbA*@oeo8#bc%K6ly~v{gD@OI;#1!Rs<8%q$Q-eldF!6M- z3L$RhnLq#ge^FJCLsJ{zB3fi!H>2_iSw?;!9#>V{$Taka%gZZ~kwfATUg~Z9pCg2x z_}{hULZ+j3r*lTXX5HRhBgb4}#v*#^rx4@}ZJPRPhmz#90_XDY^g2WPnVLNg=R*E{|L$qMo?ohDbJF;D0s|eq0bI z4poqt8H+q7P)j{orcr2fa#+kf+}_?>Umv~C>ks|^u|N-S>FV3ml^jald#t`Jr)_e*A&*Baon#Qt=SOQsH%w%Ht$kcX(&a64gBs?{;%Ff8sQ6f8`AbmnvvZ^}7Q91R;%l%0 zTh-yXv=}CO zfMfX?_JuVsAi89dl=JLVjj{Xt-Ujz)F=~HlD%g|iaOocZ`RA6SAINLp=(2Lpw0nm9 zZ=|FM{LPoXMBlfw@g9g1Dcs(_Mhe4~t8@=w(|~QLpCaR(xls48A`76Ff}qH8$>57a z1EzC@+L!-PA@_-T=L?2(mVhZ^A|=`A7{99OC9IeJ-%b`@j5rf%JM`{;yZ`#l8PUU1 zHmryf^m?r0!zqyl=Q0QS15vnrj>GB+g#I;pjBK!Yt3aS?M?^#h_qP1?iLh_6wYj_T zR23+3ce-@vc8~2+(RQLib3Si3EE>Q4$&W1Hx6TN==yTTp%v;{PJZ8>pnBhaxr@n{5 z=60I8T)0H#P+9dpSuf4w_O=y;WnifhM?9IkZ%bvo;yOUcN)d`K<}s*EDwcWbm!hP9 zi&5bu+_&^wD$EjpYSYRy=wy0mYj8d%Jml5cGIz>A35`JzVDHaiXaXTckPZU>V)5(S zD}S7yH1N&sgh-!K63d?&A3Ouuozp^qw!{7;`D5Up<3#V4Y#U~^r^CJ*Y=fRZr&*;&0v1qgk-=T3r4ju$wW2g;&-bWu;>ii%Pl{)$ z?oHbMKcc?Et*Y<&`hqA(BOpk3r*tc=bcu9IcXvn$h;)}U2wb{Ty1P@PJ1-sY_VfKc z&wKuWedo-cS+i!%zGp8z4x6s`%sgr@*S2-bh=rp6)-n8ja*pDeE=ySK`BLq+A7od( zzuTyhm2*J1$`qj)1rw@}oZICo(ciSL`etS|J^xW^&mMn8V7J(XRoUDuo){1(xcc$! zXsRsD7wS=_?s7i{zJitfuF?tl>oBQO046hC(i!Hw7Z{d*!_L*X;a(5~6TZ+1kTLs# zp&aVuFquX_oS^2a+|C&hS%}C@WxQ!TdcUtx!_$l(H_d1&rdC8mV1Su_4@dJ{7A=YF zmbI7Z#B6V!d3luC-1&a$589{Ei$GSUm8l$tXkvoWO^&o|=KJjTkm}TXW+PuAKVLKuC z1e98O3_sfnxBJg`6EMV9I!RB1c=FiQM}KnL-8rKnU9y+Y;Lj zfwrilm)mlYZGL5as~U%}M&>TQf|9SumdVGzfkxeoh2Mo$DA2ReRUYlC-MW{$US4I} zD(Ybe!8>GNXKL#$?akF@;F0*=e6AA(jfpD?D{mTrSz$t+%F{vRg!W5I{)dxUS=kc{ zlg)kFNVH}eeSZl9bv}&odwx;PY?A!;S!;!Rwrd(#Mp^K7@hfF@AL4?w2IX(|`d<6t z{Kn!B=_jk|&b%Nr-wLH`CepMGg-8d_quypIM&PMb_|E;%kEq|@X7SJi!f!QL<ZdD~ zGPa!`{Rzl>^u`qusk%#aqfch5D5p$G4axNF489rsG^ppg3kbeuD_@BtI7gi1e9V4~ z+@WQBwPjKuCG>cRX+Wwk)kV(K{!K*C+s^H@!+e#BrsbQDxHlIk!f1iW^756k%gOlH z$1e*R<20;$T6_s2ETjEH>7zX^$OYnUhuYMUz7!jLW;q-8<%=?!#7{;&91r2Qo8gFj zrIBKFrt~tJGsxqDvS3VE5n0A;J9>MEg}h!%OB<-iUl-~@C64MpUdH;wRbJ>z0HZ3K z?d~pPX((9z9Ejm+_KwM z1Bg$o3zFWYLHU#l2aWr4sURwEKP;>eHh7drhzf)TUKVlq3gHbLUhuNU!tJ#yxv5X) zkU(7;?Bf)MwY2=yU>@?=uJ^uAkK^5o8DaDHH=8h2Ngcgs7zM(wH@xBMdY>*qu%y{u zxR7eD<3AS&RK$X5HD#_Y9>0azltnjRgDaiHm+CcPu_sukh7|iKiPhk}e}zMqyp{RC z-C7#?=&ZClsrAOzbq0CiBZ>OSu;=x^T*n|C$`VGy`t5HJ^gD=rYyG8K4`R@eRq*J- z2@Q(7uvq_;Rn#^oi=_v9OE3yK?@`ZvS~O04tk8L#-X*rZ1D}1#px(G8P$$8;uzv3!$C8 zcl%uBzdDOzA}?-t*C)O;feqaDxSI?f_xfb4cjvNnxgEShGczG#DjeXEK`MFltx=up zcK3E3MJ1LtL!`yu~JWf`hJ3SPi!q#T&YBE zR|Uh%BfGW7IYkQX)?~w<9;PT08Lq$oC~$VP!4vXT7z+cN7(^+WUUbDr`uM}AR=~zu zx#JoD-=o{tm*qR`MX)b&1*H1W?&`VEItYGGU(se<9{o-Iqk5so%8z&F^9r^~w#3;O ziH6{e9L1+HX)vNrePO{!a#rh7PO#D1cs(G?e2 zdV5!#8)#4XX|%z$_fO=Am{Me+*dS^9^zXIbhre$OkQMb{eJVb3MoqEB{29$$x|3WH zn6mYS@M}SK?+E94-3?P(erfvN|LY+4jG)15^yB*9h{x160f?}?_;RqJG|T@hT_uxMSs^CmyYGUb|ATT z`eqzWMN2P30SxvxpK(aJtKIpjT(izWxIJ~(^Kw};L+dtbj8YpjrvJ*b2O1o8#W8;f z`|#nG!uKg=Z$&SX4IPyTl@yf%l{)ioM-8}OOSu?-H6n+gz%2exatdEclY=Ys;X#h` zj1$+EmAv77TGxr(z6wkFqFMcikZcmAka7_}qX5r<*nr}I&VWS~y#uTsg9Csp?CYSkEPv+7JWRW;rAr_00z6n6oAXTyZA{CHwE&|Q|4v=xOf_URFK z4_i))q~|_Hz*7SRMOoqyzmM^BfG1)hqD3GEO;hW;l0Ot;-z;lHE}Wfjl15dyNaVen z^X_iCOHa5idj3IoWYPs*K~k8vS5OhZxTJ6DAva8emFPDTGRUHq-@8uzz9X1CZC4(JF8wyrAetye6_n+ zSh=|DHQtoUi6K_B=n!dpvSX#m*Z-WB8OjVFQqVdyE(Oc@NwQ5U^$C>#Q<5y{owR?u zsBp>$>WQ7#`-oGSxt*;MR`Z_clCE7gyGEhIDp9YKvT3YGbeDr)Vy_J>X8Je1SuFYQvtB1ks-`)Ow`D{K zIgr_$U)JNMt|ubPbooUqD*O(Y5JzVBg_yobe9`;jD!&z4(F3SK+o79FYF~X>E>`}2>OGPwccY!% z!%!C$DpG%DfN+5*>Bjy*e+A*}E8_kA91fua2>~049`kb{0w-g`;eC4mIn=--!Km2I z%rNJoY?^(pf)W1W3P1CW>cmJ<QNUOw}uKvzP1@aH0tb#E@(*EmwjdnX>7=d~hg z!|Pacl1m{Hv62t|a0SZRMkL{1f}Vz%6nPQ+qlIfJmCSbXlP=P)_&*4Zjvdt<^AL$$ zxUM!h9>_BlFc|(oX@u_IYsl}fTMA^hVncV)n2^4Hi$*?Oi&)6g7>FSY8F?Yk{(X$h zYUJfyH?@4hi`AdPm3u$GiA}xt)sKpOY8;V>y!hF1`)Sy$m!tplakahfn`%n~tC==k zx42Q{v)=d*Uov?zM)^M5jGp_BaQ5vsoQv7AnoAt9-+|kgmQt@z_PO(x#E%r4NS}}( zgvBH?6(Sc>@R76cFaz0e{{|Gq+j=Oz7r9b;G060Nso6SUA^^R3WLEvEmEr9F%m~+D z{V3enBQ$NCRcR*Q4!wS@|J|#Tq`zd<$sy}HeSjK7kvZ6n!YY&=3dLj zePIrE5X(x6a@6m6t2=V&p79tcifOd5Rev|Q&@wQ$dX7H`&Q;2kl2wdaX>=XlIWJ<* zo;na9u(L39Axb&UBD6Jwmu+m}L5!%HkryIo-u7@d%?uySH-Cr`5cB)rjuDfI+u7!A z;|L*O3IuhUmEm09SzoQ;36O6lY ztHa|we_rYM_vL%c^dcfsrp?;P6kmZ()6$xym7gDi=#wJ7Esu)CmsqpGPF{y!=A0{b zk?;K!DTj2ep>!S<`e>w+y1jG85J1|)oGrij*@@j;1!iF8L6s~uofBWrtZ`hb8T8{` z&mW|gdtg=n&>bwfjLRR?)%ix~THT`V)-jNQP(aX$w=ZlD)q-;H;G( zZcFNyPM}Xz#!-tA3{|S|e$a(7**0OQydyNu*C8Nl8@KTf>>UB4zy0r$= z3JyC_1BNY|dAc6goL{l(ZT7#M#$bplsCRP)X#d;)pD2OwNJyBkRmtHyo+Ctr8FY16 zri|`Q`Fa0FU#1hUNW`-$cyY9^yKTfE#q$ZJRKO&7R5J`0e1Q$a8o%JIC2fZGY_$o# zp(W$knvd(c2b2f4>oYtAEK0y?TkhwVn|1N(1*&v~ZSwrKy)QuP)OU!-5KfWGdR2*D za?+-VbhRXSlqkfDK!k)Y)zXjj^(43Pnk-&Agfop@-Fl7WEh=hcL$?^+@GAi}A z32<5V*^lu@SjW1SRkvp)0whHA@6$RJjSjwAr0=bfhh zBW*@BCWQqm<;M^fdN@zh>k{gxIexrwkK_SLX3HQg!)KUt$FGEbkQhw(Ws{i7%O2O7a6y1$stW2A);Y|?yRJj1Q^g}~oTXR40LeMQ^6Z@$cqnb&799Wt05e~tEpB871x{<@b(DQ+Y(nY^ zN`e+x>7B;+W66aY%n6Ss47roR932!+&R7nf!C*=P>UVEN8Z_ip789zA1A>DkfAdNx zJmz8$fG1^SW^O@b#8#zQkEQ>fIlF&CDMIBN@yJeT!=dFob0mLq!zA>ZK6loKOU%*a zYD@oM6VWZRE&eeM2Y{KN5!CO6{%_GoY&-wbu$r>Jt{^Lv6CM;F582n2!1 zl81_3QS<~U{R@jnV&p>m8)w3YVL!puu35WgWG^Sbo)vKF^lV4>d8DXPr0zDMD|929 z0pLO8Ns@1R-H}wL({zv^Wl3-0vq1@7RT%u#!5Tj=m%iS|cAIN4a*iAwN?h^oZ$Z<^}Q(QE(;l3el3$6u5YN0}iZOePGmmKIS zeM23BG$!;i!JJ87$g8-Q{K@jtcAH2PW>CHW5)T}I=2gwL{(9ca{qqB>*(^NTFs~d# zwCD=SvY~fyrQJ`{+?I}Hmx!^kF*5=L|2~t|T!e$mTC|@!c>kQwNzUBY$`R;_xeO~! zd2>W(o#yd{A$*yM0RIRx-w3%#LsQ=;WZ?lESk$XhnlojH^h2D0A`zrur9|pj_N@T+ z3xWo}*VfO>%gdfyY#P<}eO`b6`JnsA`Pgxa*XET&8>$4 zN^fPStqbm)p~7_3L5D!DiIU$nFf{IcREKKUU0h}0`jB$T#ry0Lu1?j z#{a=NEhKM=()b)6RT9EjV06r~n4F%V^6eaA#~d)#I)9NiIq{YpGm!@#@~#akZ)|JJ z`mG4XSj^VWl4;boc=v`#r%20!u*&A8j-t6Gap*X&o?ddn;)pXYq*a~@Qzfh*@brN&TV0u*VfuuQxn?d{&E%<&To{RktQ)Y zHGL+bh+IQ^79Ikje96UyCyAp%Qt-5*&pM`d`|H*E`-BkxjNpE*r6p?v8L(kysLGZ` zh6RhJG6?v@_cyP?&Zj<>Ri+P5Y&6+NDMRqN;6K0N>f9ORR8VK>%ykCFGGW6{GL)85 z=RYH;Fqk7$x-BZUwyx@6H(WW{6t~tYE!%1g%Sy)1&@!>vYD9))iru9D2$A34{itP` z&yQzM0)ciLUDK1-P5OUr{V*KXubub|m`W&dmYtNpe2F)yI^Ve>-DqJR@gQ1HH{k6Y z!K@-y`RmY{vbavn;9y;bg5=+_q_5fswtr~pnp@}bD)3Oj^Zj!H>%{XUp02}EM{Vt& zIw9}5A&_?FYr)6(&;x-pCjt1+^Cz{6L~XV@vXqf)4K2+T?>5Uo@urr60om6!9YQwUADj^zdl9ajSg$jP^Y+SuEG;&w!a}OHM#aerJ+_wZBXHWjJhXcK#8*I3z_kQgt8AN$>*VrV==(im9@iG}l1U2!GxU{J^6W>l|zE zn^y|UZ@(aKQKYSy5#Xmm96ePu$oU+lD4}<2Um2>6=im)j(!65dpDn!!JYhTe4Gm{| zmrmV~KdNL1Uow&gf=?OOaT0{pec{|7eDp!=9mVV>aK`7ZvxiEqARLaO=K{GNE?PRCAlJDqNr9BO0Dh`kb3l${Qe-_;IvtyfFcZ+mx@d!H_M2>v?= z>R6=oSTj47^;&V0t8|+k2{&3kTBdMrfEM!ruVlO&xTv5u19guXl#c#g?gRm zb&v3GXWZF3-t2n1+EC!=<}R`tl{8z~gWS3niRiFPKFEa>Q&b~OM`3wd5`h=3&jSc# zQY_8v%*YWduz6b7f<6H0HizSH!yqn-=d7bh zI;z|Cg^6>5I*Vr6Cn)B2+T8sy4J^iFA4Rynq0b^WXY-11col(= zPCOi1I>7}v3Spxd!}}yZRr{iM(@HMOuNVE^_zhwGvR4{G&q@)v1k3Z@m8a`yvoXwn zLp;8eTh&qLxnF81LJX&xOT$f&rso|9#IR>b3 zICZe+7Z}D5>2tT#*T%(;(!J>kXOu9&WQYBcJy>O}~Poz}XS< z5iW6+gL6LvE(rwN$e+5MB_MyAz6Sn!zTiBC?4YT+708-c>HojwW!JI`BYM1>tW0CR znxNeeHLQP{nH#n2dU1@yJ#ll5bE0W4Yh<|XW={mbqaOUHPli4NT@iOHHg4bhvX>Kb z@;qx<3U%-$5jzB;@1*~R+`Ea3mxVQa>1{h*nHNbLU4BuQQ+s4&aXI1_kb>u2&$ZRZ z>$Eyw^OY8`Ymk3;ihe~&T)#(5oR{Be{>v)ixc5J6onGyS?Sy&s<_+hI#RhDb3;wsh zDtkYz+Glwy4$?RJemi7Y1Lo!$h0A}2J0zhu3tz!&{979o13?|WSv3eMcI27{PLTw= zTtsMk_o)IcBL`bJCkX9!BU@xyJ<=;GV)mUjmu{!~d^89oC;qz{bVhxae*tX5gZC;R z6$C_yv2h$N+KbZ0u?jhD@ff=Ky=V8othSZKD(hJg^!s*}Ww2Vi+)f6VoaFEFug zO8Tr^#L)6IPDUENJG#tXy}YvQd@d881}K`nXH_qry^e%!^4?Nqpb4}Xg3rW1rJd~f zD{sK%2f_AxQB+HS|2Z^a644(^<6iWBvFMk@=zsmPOB?Sw04TKESK6-|rn#aYYAE}q z5gcxzOkvg?WE{^139jCSo|4U~U3|istfo5i)K-VH^9F&`jn&O{iGrJe&C!`?7-a#_ z`n%c)dQ%xwR&ol9#v%-PhV^4l)VmJU-;QT?N7M7 zj{)K_g_);daz5)^c=j%{3x1b53+1CM;*MPfxr=S31A6`vaKsJ<*DnwgajWOqr13}_ zLZsQSnje>+%_-DtZiJC(!YRWVpnokvWXC0e^751C4Pg>gQ`5#LYi1>*fN}PDQUeqT z;uW_))JpKv)ptqk1CaFqTRB$=O*6byHMJq{7qHBUJu z?K8C2_Sa`R2!U|+I@}|hzN`ggW0u#=hc^lGjud`=Ok+)^E+ymNi~R7k(A-JKHw93w zUubNl-`ZL^V$ZIUzPL>Li3&3jAH(L`Vz`a1cUaEOG*a-CfFKqOJqDt_o3uQD&i;`z2oy@>wJV*=1QXTbSDe1orEXd#&5FF)<^^DpS zF;&X+%Q6&IZY)8`5nM+9&gsdVaI6lB1W{VQGr3O8*NJ^1JPG)hvq9}i!6@5s`fSyI zlWx{$K7E!4)V-8_Y6U0h2RjEK%u8R=q}%%4^b25da>Bzkl6d;i+B#;UC(OE_oBXdy zw_kvo1I-?c={v^#uYj?+taZ3U>Y?wrFKWvrQorl8-Nn-o^{Z|(1PPBXf|S;eJ6%Vq z;tIM5YGQH-k76}!3|3Ppb#+>LT^qPR;Uyo;UohnLeV?Jxio><$2iUtFihtqxEXSog z@aLNw57YE@3SzoKXOPEWZ)Tl=jo%$Y!#E3S^19pV?g7}c;h6=iWMh;IRV;vv&$9*Xwnjl8v%g;Q7mEUJ&+Pt=1V8t;+ zl1?53DwZjmIdeVimaeVpESE794RjL|IIF zhJw;{YL8g|p#nt5@Jr}sg3*^PBm0R|K(gvmBk%eIZCc56YN|WDVmd9Kxug0PY)+LL zgx51bdf)@5KoXQWYA@OF$)h=^IX&~U0qpvyK0fbd2>qZfmyn3-lEcTV|1I7U`g}rL zN24Xj=<&LSa6OZmodi|?i#FaSwi6tUMNeROc0GfBGw%=Nc0QGpzzm_o@b%36#T|1D z2n+Q5Y>MRPx>&>J=i2-+vKpgn0gz#&QgXMTo3g)eJxo{!l>i?vyul$zG_S_lqYoa6 zEUnHwZ!Xkrgjv&`E_%XVVbBcKA09E;V8VQmFZ8Z?o@#B*@_bZO{PHu2-t!*c( zp%?@y_MHsio!seNv9+n|ye5j_-u*RxT7<@%!=Xv*ZHr?aJeX9xeT^%=_t+!}#ABD> zPTpb^bRM^JiPW6y&4K^}zxA9w>?}6_wr}W}(bX^P{JC%b%QJ0eGA)hK)ZM3*?Oymh z{J%GA8M|uIV0SkVw-4GxAb!J5h%roDM-;FL+Mw?Qm+e|E^O}UO1OR#Nbz9HWMIS>4nL7b5Ddbb{m0^GF3+NYpq zwKSXL<{oR_=GW_>gKp}EYFhwPP1z$kKK8J=4zqqK)zYSiPyFwF8Ufn}t;-o~MAOr= zB`1e2pI$DWm`c@N2M;U;?pt456>2SHuW$^xsZT@OY$O`l*sU%5?&9Iw2H=_L2i@hP zkAXP$ORBm+7P|SWpqD$Q_ztBFLB5o03gy0Pd}Rn z63|aw4x^=b+}^!zU82hC?QD&mkw@Rxk6OivvC-0GQ0Hm|)W+#lfgmh7#vdBIk68?h z4HjC9f4>=CR3qZ28e9Fz{rMfVwUZtxmG`xQIVd%RvX#aO+r7@_!1DIw(1GNL%R#iz zbkGv9&oL;5J58~Ky`ptu*u@u(FgSu;{EZHiK5G#xv<(70RehCa2sYbgOqyXg5u$@P(l*=5NX{^s%K#I z*WMHQwx$=qi_6pcCN>y@*8XLk?u56pPefJ%Iy_YASeth9w2B0*s689lu4PGlxEk(T zyJ8>uwtJ2bFY1+G*}}?JjSPlyNhN4PhR_Wm4_OM@DGW`3VH+9Ja;?)M4C4=Ss6f8c z^V0t_?8s0lcWQ1FuWL%F$xy39DZLA@q?Mm%v&xhMWUvVlZhEs%r7g>utfwPK?N<^X zzfUEV)z%$Wre_hZi~mP@B8}b{lyKUE2!z=y%mAbMbXN}BCP+m4^U zTN#wLw6rVY@h;F->b=jqc3S`LSEl;k~aSxY1~&Hj1)*)L~bwoLdB)E5_a zsv^mc!J_S{05?IoYFCtE#cUR>eW46p{Z+A4gAb&1lA z)KZp4%cR4v5qob?t1*HG>KBG_z-U*hF!muq5>2XTt zh{CY566BA(XzRDPO^kiBU~2{V8v~m0JbXc(L$uWk+iC#?f@fV;M4pzYkZU?*%`d8K zfDS&qmcjuU=I(?i7~D4L!64@xDRl+k3M7xbPu@YBR9t8DQ!3Tl=XMq(`f*75UtUY> z5vNS=uU}5_v2fG40Nac$k*&|nlLCQ~2JwnYLt8Ohs#|u@X8e(-A5%2a@;3SbJ@nm( zv-wdRPMq%k$$_jR=u&DP*mTC}f>q8TIciav3?KL$vs^l9*5PjbCPm--7<75u9{sfa z04)Z^0aA}1)(H4+{LClN?Jq|F#^s+kv}6^v(7-ZmZCnyVU{0e^x$P1Sc%lJcD0z$| zby^A{zPIQD7mzYQj#KvpEYJ3tS|aa0W9g<#1S_&llz(SaSN~+x_AcVh)_~o+8;=4@ ziaRB2T~H8|Sk9L&XLl?eo$@jkh22P7ZXznFZke3YQ|h$&xLCW2-2I}%gvTv>TP$xI zfC8wKGqboDW|*>*W37~%Z7BrS|L!!k0D39K|L^yS-`Io>Y?=WbXavY;o+9IqA@7;SoTc@@nG0-m@&e znZ0m)QRH1ca`P`xjNa5Zf~Klz)U5acmiqmU(Yh2nz-F_yoG`Iay4cmpZAV)+&5EK1 z*Pg&NH|Mo*%QSc?`oY9hy(H{bZFztR~od(UPh+5z9kZ%In7~fy*S3FonReBb@i%38E~g3KUPh=hj$_CnIC<#j`K$IF!{~xf z^CP(UdyS)(0`LVO`%@!As{i8KSTjo?QrOh74T@GZ*H z1_grQ4&fxj-f>T5OXrPRDap_9Irqu7`YAUN185VG}V*ifpc_H{rQl zIFejCd(p}Hb_hp)6&GX}K}FWklC}ju(GlscW)4m;UXSqqRGh6}cZN}!7ND*eu-*g@ zfHs71UNln%08T)TQLD+}iLNkzFcZE#1$7SyO0`-?(A~K=I)IXt?f~bN97W45eR%P_ zn#o~My_oUe9X)h6XLTeWi*w?pNq==Y=Bch`WAg?p62!bvmQ3~!@Q6ca;(0hhc~1`0y|LeX`9OIa#^%RvMc&!mq4deRQ5muw z?Jmwl$~N?aQKSt}F4~Pyb#e8nIaVr0jz)D!8780rG7Qnmoq=-!+b_ggY*~OCfa*a5mesJh)4+*M$_p-KN*+A+I!d;lm$ zmV!dZJLoXHBad^}K@t3(O5eRfkqp@0iSFWRrR@Og57TDuDfMv?xU3Zv?byi%{{7dz zB0^kLGJV+pY|;jr5iq{0^JsALkWR+Tg&4OkIdVf>_>5VtmZg1TxC|e1LbVw$zw8|% zMRH6T@Hombxti?TtCgWev#c%S?B;|=X_Fj#dfD~zI82=MGIL+g2;Vld`xyiyIXg{j z-)wX;{_eDm1fN4AS;^XR5wnSBN^d{?ZKIe_&|lWNM@Rg@?gNoWy9L&es|DdiUmV{B z-mLRdHBxj~(1pUg!YiT#ESHGvpRRz+Ffh>qy>ngs8hp*#lfpmuZsPjY`fpIiGSc^$ z!&KiCZ!}6m>;&F)R>P9ttgk;dd(K)OKc1TEJyuOl4*HvtIka% zwD)i?Lecg)hQ3SiaiV?dkX zuB;Ql*;ef~B(KQ;r3mmdw%4$ar?4L~7e!8*T8-POou=6O-{)PdrPI>xk34PN*AKi# zpJ(~74f+Zndzn2P-wnX<*lbAJ3*VR4;EoII5#a%V_Js2E#{kMmFB^f^>uz(*L$YVi z_jWzLO2gMqy>OLhb2~kJMYM1mIrAz4>x52R-+>>(ilV=1KamThx=nFm(N%b;+#u;9tPXMXB_(Y+8Iz{GKlGmDiZStpfz=6>{A}u0eQe)0Sqs3 zt!v{>kz20|SWQ_;rX~&znrHFJt?9XM&B3zJ2a&tcEmq9E7D=WkWuF2ZaERDpkbMA_ z^+*5>hsPgA5d3slrtrxGFp=H4qv{M7;wBGWyvRs$$OUzQI)l^P>ca*lMn+Bnn}9sA z=BLJAo^sA##`RWg58v#03h$xFxCYh9rnXnY{~BY?^6>+vC$`?Mk#63~J%`xjpGD4D z305zA32GYdHVA)AQ?%gMHsCY=BQ@2318*~pTU`X#r`H~8{S-y0prKo!(I~2|o1Pop-W?bpCTSPzf;YdCI0cd_m^_R{ z|C(9R1rmX!nUGM}4|a&15L4%Ur74N=JcjS-#Nf)%pzo86R<-;jv59y2op%{BDbwen zddew`=EUEuPdCly`Ju-;vHJyf4>Rx(o}5~}*4CI5FZ$n(o>07(RI8y2dntXbrg#s8 zoPCN} z$V7##?-6;P?l<#%MGLR!fZUkRU+06Zcex0{if21Hcmf+?>IMOz(EENe<5(8a-A3rsNiq9Z}I#NYhzmOE7QO%1#Epm|}vhS}a+cH+0Oi_f~y~mY3Iv!S&XRA`KR{10ZvI(J5h;!GB zZTCuRjnoYBX9~6%bSo$6fAoViiO)Js2g_1@SMQfA1gcEHmo_I}(9$mI?zshjLPk*c z#c~#+W#OK1zKV?;f&Ge_IdF4ATXx&W5b-g4@cx+RmBxP|g~<2UX(IV;nE~k*eC^j{;DRS2K;Cz*fcKy&c_?8EMixABR%zBx^a0>FiRGmg? z=I%ELcPUf}+bF~z9!y1*5UviAi9Pgo>xp<+7e4joM?PJ@Q~#M!nn`;a8~C9!VKwe9 z@$Xer=ASgR-(I+TI;Mv@x+72YrF?d?95Z&|ie%b24}Y+EoV^-0Gs{XIzZeYgtNHCI zNZ3xC2T=dENWKkm6$)1rLG>b8rBWCfk3Xty`wZ04V#b^%UI`>ND?@)(){1c~UM;PE z(?@R!FEIJ{&$0o{3EJN%;SFJ<_h##ZwZZg8L&b>*dfArZ~q3Kn<`U>8Vj)O8^ z`#$6E`Au!^H+&u!v?9>>ek!TVvfOshKgm+h;JdJClOAE_h(h8#=trzi2ex>0oyte~ ziV7dN*~*JqS6xxcdM+y`)P~ee3wM<~+()JE7TpGLnixYxqB7-v->+kgpsPIJ2mZFgR2+Q{z_SpINXC>GV!&dRvFo0J(< z{41YfjP~;7eH$wahT>sdKeu{KXZ<&LdpeJO;qegGEI@D7gHLg$zB2tV6vDGLAyzX@DEzSRo-f5z z>hQX;v83&x2SrxIAR(b~nXr+RSbyEgb9q5xD4t^r8scK3C*x|q4nD;zF6AXR?J;}k ziDw!d{G!38?6%A*U#jluFWRcX3shK}FRZQYV4U!&rA{7Q+j>0UYT~eVCjUqZ@ll}p zrpbtj@pH?b&FpgI<5G-ZKYx4MepOow)hk%a3d`u=F)fg&2abU-YVqzeZ8gWY)}}D(y{PTlZn-qxxvUW)!Da!cZIr5F<#3HK zIfjOF0S$R}^8{zQjlD2E$5K%M8HRJXizLRrDmM8Y9&%yiP^S2Fr|!F=XVUy6a1IaO zB{bW&3CANR`*Uc-t4iToz?P(d>rIu4cENR?a{q01o>0{#p0BOxEk@PdrSQbVPCKD% zp1Jz*#gX2#$CHI|f3X%zbKAS$9Zja8;vMbpk}V_lX}=!PS}|+>d*M#d;a8o<-2nU?M2oRK}Ri@mG-(yeG(&u9RV7|tFJCw zR$Zff{Np@LtyghlAA37UnG578|-->>u zz~QI!J^&(`;Meg3xEDR!r)nKYP4@}OYs*-Vg2ZBA+^Qu9s=3S1OFjACSUV*g=w~N*ElsJXM+D7IcSO*;DSJ|McJL} z&&|9are?$W$IA+Jw98gE*8v>Qo+hCUC9NaH$25>XNHq*RZ!maE3p|G{wn6>x@yQ~~ z*ZmDXi>y%>cq=xKXeI}4#hi3`RCaPs5(v%g%BsCWg~<@h?6gHV?lKe2~0HkREQUnewPkq*HWpU^!No1Dn(>*Yb5(ORDgp!Z$(RaO$^6M!K_qU zXP##L@t?B54#bMVS1IcI#Z{abREVY%h`(l$@*ogleVZ~xk$3vJiV8Q?+bJg}e{4FL$u=GR}<0?wSkKl@Ti!lDe&TBEfJboRw0VwpOlXd z_X(w779TSJfyMu7|3=U|W^j2khKT)m#T8YTMB9sD?L|#gS?}@Mqz?O(-W%tN2o+1p zjPV<+0$iT7WoMd(7V?9OR+6V$s8pdZqa&0}d(OA=>cv^iWY@m5JeHkxvM?P)?mb1b zvfj1Tje&*YExmB6+Xp8Wfln_uYKwv#I6D-r4<~9VQLI z$L@7K;)BxRA=$!vnZ1QgYvWlz#g`@UMQdmd#PKVNj-n7i-Df$^TZrSQTp?6v88Va515cM=UVbMso?(Fp=w zJW(M?IfD`JG>)FR@LQHtDW9B}KGN-^0i*rm*1E=!TRdzMfux1h-Bjyc4-+X>iKEs8 zujCT3NOgspJld>Q&YQ5HED6V^_OohQy$m>!2n*O7 zcQc321oInLtWYJ-&zNeb-9Bqo97wPijXk&=lMUNZqx?FRIRy{Wp3gAyF_8TXf*ZYP z#q7V4QS`7xrx0WijIhYKL@m+C^f{c-K|7xL&HU0Sq^0*6YfoxwJEl;oQXjZl(1p#<#`T(^x$9WQ5!|5id${bltuR@4LI5=jilmt-CwF3gwjbJa0(J z>f5f!TRnvEO6C4#Vs{O``E_aKM~a5Fzd7It{fDuQ7w%@Tfuao-zL*Rl2A^NiElSVE z)wQ~x7x(j@dQ!RJuKac77_i*Kbyib$ zu=e2mFi)(cJeg8i7fETpt9j71Gck3#s;68L2t12sX!-?cpyfn3@dIPeQ{3mfF^<_M z6+UKSjU=iY3wJvu4Tlf8rsDO599(28lcyMs?oQN^ERhyJr+nU6 zdNwmY(N9=LKi-54lQ%qe2lg5}R(d&?#T(Q5<_aCs@4i1`2^+~qoVT>d%E;-2t=ADB zy!G}!fN*i7PgQf>-iTu77I$Ku5#`-;re6|uaWNSy_gIuB@&iGOk@5Vv_2JhZ*e&p* zlb<<5gR(_yLAhR!SbRROwtck|<-hW|D`ir5N4v?#I1k+sU%=djS8S-(6_R;NB+8xo z|DIAsGLmHdJ(o{?E7-0lyQ-6rdYPY-hY@)Y*vP4Oe)rR@y~@NZAzBzYiv*&o+F9ZP z548@vo3NntRjWaR*}$uJ57UO^jboHX>R_9YesIAx!{yIEG#>G;Rn`-#&Q*u9lpLjyQ0drkZ%;w2OXbAFGhy zRU%0wJc;;x?44{w0twAyRsy@wK}>LiiR|SKxr|TLtxP8QFe$Yr(Kc^m%a@Wlsy?8G zy_bMMs-;TBS{TMFe@N&Y*!a;-B%8|lIiH+5su`l(>=XC6vWHu$E61A!7jWv{;9}e4m>Si< z39{L@t4r7M?4Q=(JiwO@wy?-U;n7kRq9d9w;|yN6%-kx$JZ z$tMCAo2u;*0piKGb!Kcx$<6t}_9lCCnT`2=e__CvG5pB{Q|1Tno33eo?_7rAjVzbZ ztugBtE>zHj$6_uBQN=#>_b(iiL6BFckuWTm5{JqD}6Pp$PlN-MPVQstqBc(2ao58?#dJMrRUmfcC630xp8x=1r=|V--gC(k>UwC zm23-Zv^vJkwUHBkU zbikMWgo4%$?+uP$vs1NB>x1;Vq(qEa_(CR)tbw}&)!HO`Akjk z3{vVtk%gP-K+@GqaLX#+Tq%p1SGGCcQaLa#`*GdeK|&J`4-N{)D(c-lz|#^Ckw-q1 zq8}?3KRb4zO!NFvvbVf|J8dbxpU1?>PBzT>c#%?l=CcBX2Aq4H@kb# zIbrv5>${>uQM2ns&Nm1T7=SeYGE?i>XM%L^HODdOS@*!&fT7#UQU{F>IDtf4SHD%#T#yLfQHoTx2#l{$W!T`)$*!SoYk^C1Io=X=JQGWt>$9L$ z#`Xdqs1hr%$^{uIw|&Zps;RlJr>J-X3YEZCMb%jPt=#F}uhj>v9uNK}p&XS0<&1=y zIsN%;HoKb7u+cqn87teDM(hW#p^3lxs#0%Ix}aY?5XpbLA=-m{p;xhlxs?_Pklj;)mfqlm;CUTzCPAxfy`0;CQE3*zsta$ z$QSOASUI`J%11w}%0)li63jTZF{Twm+IqqhE}=wzk|E`Y_p(Hd74XXWdr@&i^dWuL zL)h%y*7uYVfW4OsEZn@&^7S3>Bv+hrafemX6Cip#9$G(jls_L#AZ3d8FNfy0?Vofk z2HQ+GXPbO$WvN`bLG|kzLowfu%T00hYJW&)5Y+!yW`t;p$oG256Q}LOiYVV%f11ES zLR?XDKlII$Mi}4}fFHpNHozq!f)XSxnK9d*=fMRRIXMBUunJi)|5cxnSWfvwn7a)d+i;5>UKL8;qAWl~v^v0)TxEi}sCK;q@Ev3tA2 z2K8cXWn+^__A)x)i{4W8w@S6ZACT`~7EQO9<)d2j_L|njVmL3emMogMo6vpfzO9bK ze(;rAf4`DO$WB`> zZQ@gZkxAho&e6%DW4-J)M7j3iksS-(%Z8C;tq|alO?`p6LE224%e^H_BNJSDn|&2k z_58yCtUPVQ#L%lKcz?xP@)FgV#yIV(X!e!({mrGGrRs{QwP2kSQbrB!&CQf(?z7?^ z8|dK5Qm)?JvobB_7nrjUR|m8G0Fnxpfutru)OH$BIg{te@jx)%qbQp3;Wy8~wmCoF z2c_?H7`7~1R(yqAsH17ooHjX3OmCHB=0p z;9ebaJ|Ro|)e&Bko=P$vO83ItaZ0gfGO%P0xnSl#)D-;%%xN+NnexSZ*{vETcP^sJ zUOUd2n5H$(*%d}RlRniC@duN|jP{~u+ z^*~lmGJqte2UCNOCxbthuXTyu;**$la{2t2VFnHNfw9~0aN^8Xyv!jB2sf*Vj5Q<= zz4EZq4jwSyUovcWWyt)kT3028*H#USMX%y?X>`n7X{Fyoo?U!?97IbC6#3$7g0U)$B9Xs;p=0%10Ea$?;v7PDemj0!EN$91`uX6%keS zd2}R(uDmMJ?3>IAu72qwOyZF~^ML!Gd~uL6NtE;;c&r&$!#F!zn>Jn-oAavo4Wu0> zvzNce-fLYhHG6eMZQj0($&-}$?5Fd+P!3LjClp=B_!JaZX*M+RD0rq^zo(yF!l0fk zINO8uETAu*(%=V^zhzDPt%0zZJcn5cAg;UEt+!b~tL}+sgJvds7Kjpmfx80lmj0NK z{N|&T4OzRXt)J;PV~RvXBWC)@p}9?fV1VLIWtb#w<_caui6GZF((kOIW_RF~X_Ki2 zvdI`q>M0MEzm*iY||(Qfiv-Sj#N*<6xa4KH6!E=vO2< zN!YBGb;4=l5egn*cGQo;Gjv_>jN5-mWu8Pn*1o`wlC2guhfDI zEaPuT4(94OhWt(Hko=gc=o75@-cq#kuK7W~LFV?w(>y0tPI*bAl~S~-qcX<(_Q7un zOCbAo1wHKB%V=x4oBcppefn*n0rR%#qoHufceS~}X*RY_mfEa?o|N;ScBRltwKUgK z@psk(q?&2Vv4^I@KWrXE9p+S?-XLslqVKE3Y&_Cn#KRMO97}X?Ii0G&n30jucPT0U z^?29b0B2BiqXlhKvlx}woiqZJ)k|zqP__1{>1d(hY5`CYvlmDK8Biex!q;6G)ul*NSB`9D12M!A60+Bomf=JkKiR!pQPw&1wu;dft0wC`su}ZFdY(GtHGfkLWzX z2D_zkx0-&n?QNhM*eB1Y4*TJgQBzBTX|LyU%|S-+L)^itu@Nl`ef>DCcr8s-0aDNG zZUK`_ELtnXq1UDBgQ?WTN&SK^(UQu3bI#?1V;aUbeNrSmHRS5-?zDN$@Ws2mP*PRT ztL3zd)p-!klwT`-hoEMg@S7}mZck`fphgsjm94pxG8)|M4rJeL<^!SQws%g(MuPb0 zX{2ay0EIN!o~&AmGu>tlZjI#^={`F6+UrhtqG!CbYq4Ft!#n_SR#9FaAr|r*%veXZ zRsrmPRO^(GEI6WHXjgfGN9?5shpC^Hbg}o(`mMqTagNdvO5`L|} zair0dYaFjrhuhrl+wht`7Tgsp{;DAoUm8#!iRj<3zfTG{B+1Q#*z!ATzyfvrX_uC! zp1I28>j)dQ;AsOU;88IIB~RS18*T2^NRH|IYRGCj^>`PK`Ke|a<#%VoJUl=Q2>Ce> zJT6mOt=P=Rz-OMsJ6Z7Kk(6rii`Q%+*?to*8b1*ZIY?#&eeY{_dvmWni`mL;UgK&@ z6-neOHO~Lg_s2!b<={$i0xeb^qJyLhjxB@KB@4s)K7`$jvz1_=3@f)D!{s11xrVc+&0alE zcCps+*#%Xr=M2w^vWSW920y*p(pgs=lhF9mE@q1mP?GW0f;MeRIY~Lmmvj!Q@Js)` z?HCgZeGP24u58gR}%mlLymJ-XTzSmQpNrB?#hwoR>Dk8A8c4mbb6xPjiJ?oLO+f|L(| z)d%>zAAleeO9zx$k6#Fb!Cn3RSoG+?%>&#EFH?<6?!2ChuR;A`-8;8)+PP=lS=(vB$k% zK0o{XQ5NC{;P=D7kvYc>3hKjIp#jgh(%})6G8Z}Y>+^?lk}~)e@mvQA3LusQ_Q{j( z*cKI4i?^Wb*O3|NJ12o-GcEB66d_wba}L&hz19z8c;)0BSRy*4a zKqiKsY3h9BtTqD-a53F*byAczTDkU6gxJZ2YzA-(uaEbE8j(;V>Fx|aP>(6oSU$$p|USls~PhrbkvH5B0`n|1KK^IuEaAe)5+?>rBd;Muh!)KUw``}!# zkE%H1`)b?T^8MPYMzQbJgzwWQ4vHJ=!T8vJH5NeMXT7+V-h(?|Pj?5uAQzjX7y(@? zmyBp;NXj|SG35T`;m^xkn4K+T9TlrC0L@8auTBEd(taAB!C;($9R}t#W!kJYAleB^ z*vdi~Gl|h#dr>m5Wmkh0?6356B9+q2Gmz1jt?^^vu; zdsSvd)ZB)$LNiYQI{@MloD>#`#bH#BdZOPkt1={QB8@p)yyu8HZL~X~7&c`kVZQqw zI9DtK`C<(p{%V@|_7RND%kgBQVwjsJBH$=De~U@fqipfGFhILelws)etB$fr;9KEo z?~E)~YK8-;hZN8IiywRraY|#9G%TXGFnw{hsZAPlngXodpCxRabCuLpNR0<@+hBum z=V!H8yXDS%6CjAzK#DZCxnTI(Zd4cf+UV8{gqS#1Bd1x`RWny2V5-jlUj#Ua-qk`n z8Gwz(dV39v-A)aZ_5wEqJU&Y+Sr}94>Q3H6J_V1*AD9mAOao7k;pJ<47*2GHQ!Ez6IX-rP zdbbCxLrA;K%}|GIjBBOG&eq2+e~_~S$QL@O!@^AH>F74+LNblp{P+2+{f(!-(ghP_ zW)Oa_nwf3!ZRJGLli_kvJ}(XF0i(DNt5Y1K_~wip!Yb$D*mtcS*av>KdPE6;m5Bwc z9=O)XM(;JYy`5{>AX|;fP-ick8yR>)mgm;Lw3t*%5 zzWVA{$Yl#b0Tb?(-{#Ps?8B0<(iL;G&a~F2ns2TO>;{$082~KsgdBm2VD($rhYwZD zQ33*K$*FDkL~{mhkG2>?Hm5wX>z=jVxoKVQ3mm(AnP_5z^m^G6}T2s}W-z%j}7fM2$lF3AO%{V9Uz zYo*>i3_8a*YsV1kO9D%V%9nrx0am*!#u;K2f zqgczrYx$ZS;xM&$^Y=P4`dW$R2V8`)zYdH9{KVRITFq#~UhVVGNnU3i7cfDoMtgg0 zA(+-q9|eW#k^Ubu3p-#So$Y`rxdeh!QYILh7B(qsaI%Evu^Dhg%hNDD4u5#&BL(l4pY z<2knVD&D4kg;wZv!wn9sL{+uiug7jyACoa8YE#?N8dj_|GXyG&%7` zp#P=_Nzmc+`he7f7N_raMwfrOfVyKkepKj@pBqsTZ4O__ullRVx=7*}Jsly`5)|{byQP1rrgS0R=8q$bAW4j(XJ0Tujnyi{CG{^p7lEY-{|~@)Z7;xS(v}H&n+( zzIr&%6FA+hFj0J+qfpMQiV!L(!NN=R`+DAiwwH1Bcdhh5iy3bbb=~D7|`J=e) z6~KA8*|@)7qjHjt@s3<&ixC^JviWE@b7uwT7J$L0!VI}-VUj}Ee9Okw+SAL!#?s}_pKex;#JBkQ!S^2B`}3!S1fQ<|3mZN| zO)Ezmh!@{8Z!0g{|H>|wb~bzl4%S}w_rL-|V7{j|4tDll_Z|xg@yWY6yLmi&VF|I} zdt&3`0I^Z>u=M9sxAgL|F#*N}US{|B|!n)noPO;2nfZq_z@YBsKR08fEOkHP#>QpC6Z!|s>8G2{E3Qtyyp zhmhjD82Dzg}4 zge{ef0d0TW=;i=@Ta|w6=#$wZ7;R;r8hXO9Bq+?ONd(b7A2f2H{9(1tYYa7^Mxv8C z1>Wu|FetBS@by*Bz-&zyI3-yRfl8_?jsto)0(QXif)|X?47$w$P7U?yJ&>2#9>v+f zvG+j$Bqd&^1etXtQ?1=GC|%<8G?FMKFOgd>i+gqS-uui?XdwH zd4r-S(n~14>^bTFY?|FIdmapjBa{?vJl|nd(N7?;Cltr{0?HX&@(({AcrdK zRsCJfb>W$uawvwWWn1=WSv8O`DC~dD-(6jSvScc~Ei_oFXkT1CgJ~N{;qa{5U3a|x zbt&0WA0Mix!#}u%6-28f`+q+3?(*C>R8EuOQ&IUoZ3e)M;s*||8@N6*q%jl0wR&t; zt;iV^em(tNU7;^Ss`uK!1g)SPJ>!iQ8$anh^PZqW7xeG&`+Z`y_GN4)@qVmGD|>^_ zH+-W?9#ufn!@=4+|10k8AMynnn`^YKKgnuaNX#O|7>Z!`!qUX$d{71JT9J@sGV2`= zrQR(uFUGYOF#gcn=36%>%_6Jh8RN7S-+mcjyx+1u;tlTr_uu@#%>J(!|F41kUqAc* zQ3M&k0oB$aZ){0EA-UKcN`N2=J@mX`vpfBp$^~P26$MFt^bxm6@7-)gQ* zBTh--LtQPiw9QN>7w~}jOQVkAu1>|*RTX?=MInLwk_=#Ks5kkJPG1%BwpoJnY1Plm zkoBfl{xQ`e-ex=!{8LH~#`*}I@=>L`zsI>JG5kgOPKjJ0m*U$M2Qw|r&zj5D9R~>$ zq_{I|9nWtgW6R-ziQ@V#?$C zelh1CrCyyyXqLqgko*4acj17!dB~ud!6Zsy?~!#T7YYKx=m=>CI<~iLX$ArhELi8XTN-amOVi$a3HfSP z>CdI95yV&B?DE!^mtjrfSkLtfre|pH@JFlOyEaYh@~=k5YY>T)mg)ie*?W6BOuh6L zLVFhdhSueSKaYJK*w^b#r^O#ZSl@HTKwteOUX!X#maqOQc=u= zyQD!+NgWT7R!7%*T9Y*8K>EXPk-zGbJWE8{QaqX7_nVDub~xYHhXua-w8Ww640f#N z{UQD77|maHv2S4hN)j#pjgUuO(r2})F0qV$V?$em1Jrhd>3b(|-y6u}(F(ia+#r5_{#gbIM@({F z+V+o-$ejHiA9w?~YX4azjZwZ>aczy?^fPtc)mc z+8!O!?v9lpYh8x-nEB`Ypm2NlFAgCUiyqsUa(3b7e4}ZNncQ9)%$FwG7-1#`F=Wum zMql3TA+)ze3)PAUJmGA0pthc_zUk;>VGKp_=BI@;+F!j^TAgcd=l87|m+{tv=gfRa z`ygRyo_>x`L35`ImorB~gD&)(Ld{i6ckvYiTkKHuASwYeU?!{tX|r<(YhBhh9~XyP~=Cp(k~z zi5}J2RZNe4TC2P3rGn*GHPj|!fZtjG=xB+HpK}ydxd<1Fq;w(yD~xeOA$Mk&YW$bYqTHAsuQpskQoT_K6KBXg^8NOE^p2)x z2`NmvLo%{NRh>`8>{4S)E5d3CZ)JGkXdw3S z81Ix|qedMv0nFV_!Z`^=zE{CqyHmvOP1mMR@s-g-v&d`x=f!&0@X=#6Ze9UP^>DM;vc66A-vVjbBVzd1fNV!b9C2o_0lwBx6Y3o z5M46C?onh^j#|nYekM`H_8k2*m9t<^O=rdJf&R26gzd0i%|jPeSKhNDNgXMR1qI-H zE?Nq)X0QSZTPU%o~%WHAcbJsGJL2#%Sz$>X}n?#9od`4~#d zDXN!!{}cJ(lRHH#@$tisW_uZ$N(Xa;7Eq`5{BYxSft2BVw;X{77^MXo0r}6epjd^V z)na=Ee^{=h?3q{PN&t$HDJ$WFve#H>BxQ0k+-XB7I4ZYBK9rdAlkQ^@ff9K@sI-QU z_8l#xM~_>M;f3ylh`pf{Go8Y^+1**r;o)@KtHhiR_u~>RqBO?4?JI<)n@=ww)f2Un zw1@C;{%5JLb28sP!M+U*n8?Wi6JG~zB{5EZrX4M%+ij0f-YuBGKQle)@p)e}7pZ?5 z-)NJntJbyK5`~Qtai8VEQL)-}yQ%u&DP_-+#?Jy$)-rn4H}Dal)0;tt6nBvn>mn z5#}s^LS1f!8K3(uLgXD9O?!QgsVOyb_;hxxr8rQ`=L`9VN);OU!R`D+b1q%ILP7;F zbZm%O4tagCFrtNd>XN{rD4U&4S642lI3^0I6b3esB1n<=C}RYIYTYf0?*{I(U#

    yFZJlfMZ|)pzA0kDlO?C4Ctd%Hm~&M`)eK~;MOL(0JpdK?eKH_y=49kx!IRY5 zWtOA&v3ToISGr{&F{l5ziFbs(tSl^b_~)4M_fO@4cbE-l%j*yHjMydee=qvW&c5lQ zVGO>J(kh^B1EPD&Tttb)3LKxIzHR+HP{m)5OaH3uqr}%+1={t3(e|C@Cngl7P=)4U zXe6z$zdsh|?krEXY}N4_u+i79XcoW!)uSv<3+djIfLs40i01mD;RDmhx^|R#4BMv! zJiKts*{tprGsFIn&h{OJz$llzwfazDdIq7{%QQUFmY%F->=N^@8OJX5UYM_)`tME6 z=I2#f!D!;cRD$0gD#ev7ccU#WoQXdo^DCZFRcA>W43YTGKtz;9Ng>z#=ymx^S+*6a8Qx}j;EG?LOs5uI-I8sX*(Fa^u$lzx1AnkS&# zrDjR`fmibr?{;1%OASqUN5g}hUoX_0OU=50D4~s+68xCQtS$^+rf@HrzR$weg}yvD zDn(~qjBsVvpbygap0*DJY4wQ~2G`IP-+TLy#A!ky7f5Le+d>eEhq}cL1M+c+siJtgMb9+pBcv%?!uAYP0 z|6x<_o6$8B^1MJMd_+2J82G^%giv%v7PLuJSbdF}7A)rM(r%AcITM8{>c;JQs$>(S z{QP(~pIn!%6YXE)LpWC-Zax5$-K}A-smi{Qa^}hU1eE^t&1kh9Tkz2}jE?PXmFf}F z2WJd7QZS~3I)p3>kh+K_mfdOD5!DPZM_9X5x|bGIOL;ruQOZ1-nBrJ%H#HD@(8XVA zlH=v2(lJ^6sTE_{gDfIX@AF3@g7D^8pO~kw|W$>j~qp zebZ^*CkyI$5ULmYY6c} z#)Wf;%bOlIxFKvROy#@8RkNFQT3~EfW3k&3jg7T-%&2^rN`pi?HrJNuZV|DSNNQUG z4kNE3DUevF$(nE5TUvRIL}R{*;IN>(&=<0xw9cdrOHKJVG?fjf_ajY2f%#s8cwOd` zyGweJjmUMPLmCWxno@A%fE6n-@tq$>gk*@Aiflr**S!RAXsltz>~9Ry#*g@ocW7Mb z#Yb0daZ?(kkyN<-ltEWcdxs`RY-sntMy2fR$MEpN&tRy^8C}mbj-em~W94qTm`@&k zwFmuKk7V1Y7LdE8Af)aSJQGKp4>oq6h71wlv;hz+YR{_B00WQEY-Ssbo#5e6*uom( z8IPF*vg2LH6yq@8o`a-ZO`gnJV5prT#)@(0UrqoX934^*rA1X_ph6O zN0DmycCq#uAP?=b|1?+?X8adm-BEixAD8BAF!(v>d1x1Uutv-^@-Lh^H~mr6FX`zq z@+$I2U#z^&*iiDomH>Aq7&~=DIQNcpfc3F3pB9WMDymRQ zGEe`$cy;~XJK&PzBgs`_PC|;J{aG*RZg78ZA#D*vn%f;8Aq$eV!Z^DpoXY+s&XIVx z%(HwW(}t$Us22gu39!+nu81vysN0;o^hJ96Vr)o!9B6BpFom+k zQx-71(+xJ8^bB;uh*Jd{1mm1=7Nkx}PNTahqR1Yv;ZA@9*hhmfeCL-X`AQZf1*tO* zKBYLC|2z6`mXnwviW@1%u+bKeXJ=WtkmOMXenq!C4+Xv*!wLpz zMImV_n@(qSeSv*s9K;sifTpAcVD?>T^%}^tnLlxXUy*rgG9VSJI)`YHsjVJB?JTrKv_?$Z_B;9H z7GUgJ>-f<>jt0mhsHP`D%5l_a-Nf*_w!43Y(k9sle9bbW?jpP5Fr{7Tf6c+!t4l+# zNjP`!77bVKJ+gX<^JRX;p5Wz`S=&F&L^u4J{*9r*w6?yb2(*$F9duDLZFT*{F-CxG zK}G@E=|mTqw4ND+{~aTwZ|4O6#vf|w)}>$OII~X#Hy=A7r7dUk$+y8!=M6VFW8YfDL_!;|mkW2L1rJWkR?xLikk~+pq*OCoY~4zldg2IR zv!ygVjr+mF|BV8(u+CQ4mj&fo)s;OS-6zDkHw6SUv8tm{bd*o737%q~KK<9~g=Q07 z8HM7;$T=uE`foN$8MQ<2cJs;kz);;UJhPg;xIjfyl)*K#nonIP?cNJ}hPj5R==7j73TyKIO~`&jc(rugO-p%=X0xUk_P6Z^*psBm`%(fk}PrpZkxTdsJ&Q!gz5i+GlLj>Z4T@j0x4JXnfzD@hobQx`fWCh)HfJpu|JJ*ih^1Nn)% zU@_0P!~bC~l~mEJ?#oZ402}+~&Ba6iK}1Q9=UT+ef*x979JQxc{)0GIL3w$V=SIrA zH=|O>6Ul|1KXufekMCIbvlzY08;pP6VxHX#X#ZQB1zS9Q^f?B}c}YnJAZ03|+@Cs? zTv+%k0;>qRvQXLQS9Dv3Sl+j-3JIljA4u)qz7*N9R^)2%`rxY}W>1s!m}cBqf37!}auGKy=Ja{UhoeaI5tu@C$OonT-&6;2TfPg7 zx{2J1q{E+BM?{BzQLodAj`d#;yt(Ew0U^8KuLFkdvLBPtj5T&SQZxBeyno-LlVuKt zPGhu^k;LoyiPm83*JwO;wRKu%(*|>4Ot~$$%H)M`uwYMB3+uV}Q-Tz>n9;Irth7ZJ z_|xgBu?roh*_K;uto(ZLHOH#YM?GB~Uqs<-%0Qs3__#ebaqKVvB5314PxZ6wby&G}Fekj|*ItI=-zXgdJvh4s5Eh zDKcMlY?oGNI_IV|T`}JWpCw8Pm=4)T=b3SOWxu(|`*9OM6*W5Cjg>&D2lVK32dfsR zB4+8pD$(0Z*Y7T8E0+fujZm^>ay*bto422|Mc-loZk|58%{sd_QCqkVc@>@1HHn9$ zoXJmQ12!KNs7j4#Od&47?kJFX+$Fe-k zKrf|oqku#c03$gc>TxI!Y}w=|oIu-sCI#lT_Lj)()komwVSxPg8Z&ujv$>3R`pr-w-PXeeAanvbqm8_J~@g80p2>9h`yV8 z;nVuggTYjyAi6mz(x>wCJ|EEllnP>cUVJ16FoMY()HReag`XXf=E{Pqz*BB*sAt)= zKC(Q@6OWs?4k6dQ?MOEnUMF!1zy*sgkd9?guK=R1hgvt$0x_8lB&0YYBaNzBi#H($lSoqoj>FHRQZ z3dSC9=LVl;nx-&6XacoSohzlTND`RIhHhI#RDGW8SO-A9-1Fv}xt(#<>`L^X9$ioQ zq=P1AkNSJxmo#~B+1|tEhsN~D7jQk@StkOty54XF5C%dE@yp;Db1=!DZoJ^khT@h; z<~Bc6sfzRus8w_S#{qDlgx7V#R4Ed`9;&hmxL)k=xn0g%^}%Sbn7xXy)QVCCs@0X^ zi%BA%xNbovJVoRrU_U?JtVT^;J8}c?UFk3M+NX?;4}C?-=^h1?MrC%U+4U}kc?+P| z&}*1jPte9EBETAsE&#=ZX~3mkmXvLqhgHqvp=Ck5V66Tc_59FJe!@$Ew6$|q(&70I z%<gFvz&k;TD{aYZ1oWA4I&aM`nK{^w5g(gz5JqL0!W+t-*>m*MBi2l8xC? zS+lx}c@aj$-KCaGo8Mse2gKH-_&h|j_J;l;;Cna3;GLq1S<8{5#9}>P%EHA@UvLRk)?8+hNH}7qF*bwp@ zm+Vw)NrkEPRRmtwBR;rxS=W>KnMZPY370PbU-WHHY9@QNNfs0bDD`B)TKd^x#UL?7 z3S?7r)WTaun~SK=DTQjbGW~tlwRRDjJkFt)ys`nmx?)E_Y*&F|m8R$*sZBTG@FLDr zHw9vpMt$~9FWT6m6&UsYdlRsc$j$KWM^b$QN@|8WdJ05n^5|D|xL&@?4+50z=YE!y zm!GIk#@*7aYM)NZ=i&(W=6bL$_91pS5gy^F`#v}BZkkM*76Y(w?V$;R*e2$oDUkAd zU}LBy?|-v-Qa{muU$3TZK%ey>qCF)220q|IV8xK2u5$w3fdEA#u<=?0S#zkIVWU-T zW=v7ODo16g{dKd@!y$@NVDMX=`Q)WEmFaUs2N%SRv2w?ST<=UE_U2Mwa1y2%RYKe< z?wXcM%SRABVMLRw-~*K_MNwMIQ3>`N^F+|w3ke>4EPufZdFc>9x)@Y+IiXo-m}#&N z=lhbYgZjIKh0M4P2vY)ZiKcnw*6xnV7xn(3N-cbMVJ|{qoRre$Pc+p-rMDxhWCBnz zDuC5S1!_e-gT;9V2_6oJ8W@49qgR10I+U+0H7oIPN;Kn`m)hDO86}|g_I6@eX}Md( zgyXW#?D=Vba95-M7VW*-zzh~VlwbqlXp%8GFKcHe2%+TZv-2Ola-jsZKkkd~FIOdyC6RRQo&T{Va zhWF+C{MSklkIzoPebXI<5jf3pCo@~*odS_yO1}O`-aUZ?*8_Gkk^r0(aUFBelW7v^XB0t~Fov1#&acrEI80*E_20bVTXY(tb8zbuMcx z|KBu-N1fMM<`974A7a10s=5~iq~PSZQGW3)-{z&&fZS&mv8lP{x6QuXw+Hl17cEer z`r?rT2LOrw_0zO4WdR{8cS zqCRk@Ucma6*L7tDV7t!?CbnHEVXvyY&1^5lLxSinqRe~n@O%VNMGl(|axT5P<+ao? zLvttv3!ScxnBv^==z=THBH6jOsmNWZw|sB%Uhus-K-b<+l7NNxdR6f#D-dNtnX;f_ zh}YrEZ%5_Lhxj&>6j@IuMG2rb9lfjE1xdgZu>E^`&*?FK2XcvMQ(vv@0o%SeDuu+&=Z%$?av6;ai^}%L z@dvYNMpyEB;%brH0=J;*@^qBg-EbeS2NfkvEPdK-TT_`cq|H}JS!i^1IDwVB`C3^x zE2=EO?rBDAp~xxnHlolHLD7(g6Kr{m_36-#H|l%n>!|v2?4q1^ z)POd6`Ssbn=oDZctckbpF0V5kHseph``*h=gsG@>qZ4ZARelzk`jj+VgyhoLhhz{U zG8ZD81#ums7sXJJj1jZQ(w!?MKQzoP67?nE@2p|wAjh;OrD4RaIYj|UTj`T&1}G2Y z&er)4+*JBw5-;6(J5grgh^?1ypbZ9Ao7za@01GUJfl5 zNZG{#lIBuxl0*!lf{-szj6>Rm*S!d5%NTIo43g7t&OR>LIVip+nQy>PBH50)1L!f8 z(s#NxtNQdxL6vy+)FL^WJW%T~{M{3neyoMbnaHJ}WTshsj~t&hgB;?=OCPQhw&8+Z zZ)uq^>WsCR?h(*&A+QFEqCu!oN8>oWd0v1$TqneMbgpV(t)k zwNNJ6RBms1;5E+~K7k6o^MB6eb^TQ@@TrA_qICA#ox#=XjeX~4T|wp>dQxZ`n8KUa zi$D;m{oaf~GW_eas=ZgVl=)T)2aOjhwU9NsuP3#u&FiMT*!YJH<6kz=@n3je$eK48 z$EW*qpt9|-#0>zMRh@@ydkn=&r&;M<@6PjGhx-4c56||m|Al5r;&okCnMqfNTak~9 zohnGcvf*3&tEyhELteZ;(Bl3;tG!(M-#%Rq0zQ(xfc0`Kwz%-948=^eZB0Ki5A2uv zBWBeZjQ>e0s-ZFwiGWx{%NejI|KPl!fil_adkLy z=qnC}cHjn-fQO|=xBuuo;*ZYXxBV}zY4m#>`P9L1J5pxOuwV~gjU+z}Om*M* zjW1xn*b|#H{E_o+mTwjJ2j8dVbKO+^mY>*36V&p;t}-*AMdfiL^B*PfbmHve{5bmW zTvsRF+I|rL=K8=+OW6uG^zbZc;e^ML;CYU5@iNb!9_k9Mlu1G}E+Kbu!ohWjm@efM zWU3v*}0`Za~KGb&wHHljJnlq@4+9vRk6%Q_nj*X{?{e!n|~)+0vOJAAK2z3 zCJj31b*-1*?uoJmxrLf{8-}Af7lDB2HtX>}&ar{c#!4M4)95DNDLUE|!^9n9^jwFn z``nk?7*|1VVYpuQT)19+@@6FeDWZzLZ4GpmpBPTV=p5p@`r9w;1-tq}+i_O0>;KUs z%GK>r_?8G&f;q8Ke^ge!>RVO}u1}8S{0Q~49`RYdO#edVvgtnpo{IJZYK54i|6#(d z6jf26`j%}YKe3R8C(Co?3!g?zg^LD$O&Ny$9j?!p>1cnT&pzq@_NnhI9s%`|duSsDuo$F6^B~!L{68Uk4>t_OX>#~leUHH$^t;^Wy3ieH9OtBIFlVsRRpcj*E&bWk?U68djWLw8E$((WZl!k;9m0yjny8J0Vu z)OQ-J0G-f@PW|Vyz2Df}zqVYE5Oa>6kXMwOiF^@%gM(dE^Vjr}spT`d6x7k=@5CO% zpRB09FZY?bwteq6Ao2xQw~Lqmm{n1x0Mc0he;E79u&TDGT>(i!MY_97y1S%11OWl* zM!J#i?(XiA7HN>~R=T_Mt_|m?=lkw`p8In@bIdWu`;K?aIoIB6?FIb&l0sKeIBSd4 z5_b(2`FsN%v*{9`G*O!L6Q=`|@;UKu(e|gX52L(OvA+`d+l%$m z4gAxR^r_w*%LejzA~CO%#LiKs@G(%uW1!^q-+{I&UN(S37H(Mv>|CU7J2XC8Re`KD z9|nKpK3+22gi{>;_2%L5=J1^fK+WJIHEivFOuj#)Q_1psNqi{5uT#jb*&%f>0oCU$ zZR=042O=9tN<+&4&ecYjLw=>b2G~WlA3(3u4g8jIWz!kLlM(NSddgW4J2jwm7~HJ> zReI%Dw|oJUOFF9rseV6U^+xkA7pN!7lKVrM{J;W6PUp*%<_fOi33o|%;( zx!m5q0n+_%l`a|nRO!|r1EA#}EtunP1Jk?bc?#g3cC1M{fwHAPO~SbkTvI^)BY>}-`2fWG`jJ1=%OL*O^q+XY*U8Ar zWzx+zir?G=u+p$?fojaFjRV!Vs7JW;dD5y_D6)!RTsru<#BCT^i#zu=P>-+mpfDT< zzqjSc@i%e&k49X^KN>_cOEp+MlY*RpbLW`(Zz9CFt!QmvDL=M$ywLKm2>_94P7AOx z&&uodPb|!Uv2+PpuqzVUx&wYIt8ow`_8>-Vr#Jqs2r>JTo?ZERxYlx1=U%4UADac# z&;RNp@&kb}a6JcpEHVFKo-))Q6l)(8tGJeM;OcSvJ-6<$D!FNYZ_q<`)XZry6x8(F zMqQ}kGCI+nP-Z36B9)NC{dw?{iumQ*&WtJ4K(&5+Iy+dkdx^Sh6L zABx^ZyYt&-l;y zL}uWhab5{PL<0X2k$z_3pYf~u|202m+39zpI=M32n0PC95g{>k6V=ib<{!SX`|^_VqKYbx5H?LlZL>B%we`5F!3kwk zm!&k8B+EZ=n#3c}F66{#pBq=H@^vSnQV&3pPSW`*^F8lVNItpkH;OeeK&WcVX+(}1 zM`e~@e1>D8R?dRsFwKIe28Kv3W7U=4k{>)V`@Y@Oa*MW;xJE=Oh85(fSPB~VeDKSY zBeq&@W5XJ|$+uV^8YJk&US*>8VWqD~y_n2}c-5WDPlXS@M$vL;r!hWbyjQHv^3^6z zCsGZ#N!BBjl}0t`C0BBeQ-_}sxy;c$2FV^o$>boWzL$hO1!)0=aY+*x$71zIGmb+` z8t})Ij%2jN;udSweq$5KFFA(VbQt?mv-M5Tn(Ya{#pFB2)Ve=LQ2EV&j0Rr}!};?$ z2C8#EPX}m(iUZN8F)sHnjUU_aL@*v`FHv!_fJyI3_WmgqOU@x8IwdWdg)F=RT zMHB>;VLSIg!M7(U8{ zG#T^s0S@?T;E4G$M|h0c6O=yC??8AnKyq2ln^eMjDoy!Y1}rr&48W=hVl2Y`)_l%0Bw!Rps}5E|+ynytP( zne4ss!K7q{UCF6m*@$VsZC5O}LM>V<|5;V5tUYkWE|u$vQPJ zV$>>ROJ|S(^85bLFJ#Q1qT zER(o4e=>BUQh*Bf{jp#Q2Y(36 z=ib-H;ZT^zcQIq(K;u+RU8&K(?(nS_EC$i&B?+SOdd2lmg|jU|qN3|`3lmA>6YKX= zp=dbH>JVSTIj?vJG!Hz}BbS#JP&xkLwFq< zE5W_@OGJ)yGk0t-8{@^5o!NE&q+7nQrG)_i|K&D$lHPX%~kGKQI39}o>^mz3_xdF7k{2*(3Rm} zc}e~&;k-1vqsph3hxpMrKUf*XamcH!MUd_j&?V0cuuW2{oyG@>zxw^?!9lzY6F4|) zd?(H=@!@d7KMo2sXR?a|$iCHYrb+NkDtw8@>m%=BHoc_jA6O$!3rW#ObI!+u9p5`) zhvOI!B;TTlL5b6g6}2kO;2($n*uaUjf^R|1db89rH#`z2o^a>jmFq35d?9b!@2g$sM%%q4D`rH|XleXf5;NYLbA*FzV;^K(k!6o8KcZ8AYbfz$ogvn$tZC-&yrDZxY zPklUy4O+lH#>gLJYdS_8dIS|#un(ivO{{h(pS?8%<;SyBTIJQlsk^J3;IE$E&X~ur zNF{jB#7wqV%dhooQhN?(>xvT!|Q;J;lI=Us>zZ-eGs zB(XJoJ*&$7H4Fsb)QQt%h~z!{$7Q`Q(9mn!z@okjypnQKam;JOwjj}m=lGLiL7kvG z1*y@xn<3;|_{t~~mU7|{ALVbDB!pG=jvR*yQE1q;F{oU&Ybe)1$`9<%OP=}K^_;Z1 z*+eqGQ3KPh=8QNe{dI8?wc9JY9l;IRJq)CJeMnvnj$W83zvAQS05Kf6RDjPIMJ=U<}>*iX+0Br z&X);f#dJhi4X)&(X(WEQS#^%c#fHBp8-6eSrLif#C9Cwz;BIPXS9(hJTSZt27ZxZs zEV8|z3{FXFm=Wm*0tZVzTv6t9lDD1@T-}oH9w#Dtc)Ku`YE2z#95~z{bC|%LclTGg zZCQ$ui}27;SU0jCi%Hl(3wB8G7b*ztF%6Z15I&X^iWP8WQkO0 z;SQZn^%M#L%YR<|9LiyHUQZ{A(PWhQ&M+@yqms9*q?M|ZNmzMNZVbQ*yh>r?bW2Y?aGF1nbrkwabl|tgy%Q94C z|c5=vGAs}Vqc42mbW!G*hXo6XK8XKn?2vhF`BtullBtz^=rk&pip5-b|)bk z(qH>EQ8Js~+=3IMeY>NIFjL3p-UKv~Wz$Ltj%SGc^3I1tt8Z@BDlM@@GsVkh6oonQ zPy<@`C#edo)|!12qtl!A-K^dA`|`|cJlDmhsaS}8996cx)ljsJA=zI|Oo9v} zy-3`G012?=;`k}^v686dC@^h(i=JPln?86DivJ=nsj(P%Z#_}gO4frzu(WvH9#@sy z#Phu{b<}g9!B_ltTJ zq!FK2m%B{M^h%sQEy(Q7VqM3#Yx%7&%|EcvZHM^rDWO=S=Im=;icIxIGL3_kKn6aP z0vUN<&84FZOC}5i;G{Dn=Uj(})#VU*ujVCFPpm48OTWBKdj*inQysIWY6TOdI zMcVbz?Aw}GUV1-+;zJK!OIGbMnJyNS(PkF7;5zxTA#8r^Xn_PvMxW58ksw;2*jrNT ztJ6jT)9L$r>qdXX1@$TG)WHBx;8KZKaeJ|tk9Aoq=LWp})d0jRu8(He)!@by6|@Bi z)lg>FSw9Al)OQxf6y1+)w+%uSvK75TGw5Ve8x?6A*nUpaEe)msf1zu~jR)FThcX)< zE^h@E)#3u*v}_@ibcy>;*C&hG_oEHN8FpF-i#r=4IE}j*T}efMo!q>2jX4))CM^_A z5&a&#r&4IQvu~~CO;{H9}Jq}^r58nwLngv-BLs;VJJJ@P) z@uT<2N9fg1M3=R$CyfM97bP`63w68W;e^ie4=1J0lJp(di$fcw^X8qW>j~WJ#r>Q} z8+sXl1CkSzCvhA4D;ZLU!&;baJa)Ozz(n3Y$)PPUnl>}i0n8BrXP7{(AwA$ZyJzE+ z+r`5!#=?V|m2L-}rzKbYQtOf!3kM_mxQnH4LC(|)27CRGHsd|?^HY8Xho4;)*IGHj zRfBV2_@E~vtloLeknbEG7bGh5D90a8^((_tW-BVkD^@zjZFET{RN0u{H?W|c7prrb zEa!Juq&|XH$$mRA&_sL_`wN+?(+wVRcNWp#DUy>7TcvB~V8w?k^(^9E8d<*5Y}#Ep zEy84;6;^S+z+34==0@3QG-K+-Vs${I!o(BV;RO=bWaMDn2OH zPw^J!m3PWxX4qYGCXgDiwRw3(^!$`Ub5tXy*~pO5BD{7!D3l=!ss5qTH(@?g(EYkT zgXzakdt%CAf3wef(VWPV4^Cu=9v~4JWFOx&4_13WR4E5if#uV+WsyY{%Ylo;wz1}G z3SaTstEu%zBGX(q(K~lqpzZhAr;T-o?M`I8N4RQq+%|IKe`UWr>F)5A>*BqXda4D- z{SU2|=%=aO*d?AJ-&%j!ESacbg~i2&Tl!+<^99^RSu<}% zn^#{PrzJAR-aWpxY2D^WHta9Dm$8jSH|zF`7P95@k9f-l zwMvsW63>Mk?ULl%oorv0X5HfR7y2~(x??d0MKty^#C>hG4Dkh;ms89gZ=Kw)sqmzX zo^*`|INqaso~dz@+Vi7FrhMKL*FhEU)uK(~jUIP=pQ`(H{s;oP_73^sZ2nenDLnU# z3Zo?l$7Dp17t|%Mur|*jrWVXk2m!|;qgfgGzQ8`69!mDPd96mhbL~8z5V-IBn2g0p z;p;p(dA>YJ;0+t)H$LF21r+1lItk}){rvkfh>({XZ`*Mtg3Q!~Ab1+B90h82mW~dc zdeOD*Ymb#bVp&j-GCa?UZMfm8?8j9Z0H;B%I{R!0`P?wTFd;YsbMnJsZsgb=-EHU0 z6thNPuRtP}ksYvOlZ34A^Imggk!Y%B;ut@t@nrbEr;$OTD!#Unf%37-l7f^kF`Y%k zj_RVq3}U4dUc>+4b`A(q}DXq&Q!@6_s5eD_kf|`g{R9&1B1M^ z!^w1pm-HJN6oigrHfyKWBWc|1t|Na@>oEB&aE0|8>U3%&2}^fiJiwKa z6Wt)zYD}BeMsTfKA3r)owQb+j1;YGt>dWmO& z+;94Tmq&NL=sU92KF0X4*XE9Us&bBsT7QvR)v5%6I`9@Bf+I2bbCaiu><;$mL-IFt z@gv){l&bhyuOazOx?OH++q@->pKG1*@{%54cAKgULnLvm1i%sAWEpnqlG0;9Bu~Iy z!$PMJE8yxBwK+>fprbi|WA}5R*qicKYKU5F-6{cM8;4B(p3B^xK5S5!(vqBW+6@xn7j` z@}810w|&ZD%xEpBqaXXIb03q#x$_bor-KfiE18zzYv!tvA@i-3n*AXhE*3(c?|tr~ zh+TL_hoVft_XsTpf6a@p@v`XSu)}H&pT1lRyQKA;uwiykZys#9q9^^d9Equ9JC^Vc z9VS@ydjUB{bE)Am`JD*uG`H%TPF4%-@Y2}LySEH-VkTIfj5w}PI0B*MJ;9r4(=GluY|b*Cch+qs<^hYxRwBCDnWbG`rh<}2vL#oqP!)Rwc+nnCybAADzK;r*b*b{fwkA{ffMZktD zMl^UozM~fN4p|lorL2CbIZ_`VSMq(B&>P6uENd_P21Teu_^+HC2jrhJo@Hsk?k*C{ zgu&_zz*aKEY0CUeZ;=$1Aq;~B$u}lqvJu=7uJWHzyy2wA4j53>>XH1N1|&N{qQBs{ zY->C@R%6+ArpFXi>m~eqlm=Wd=rs$RM{LNs$N+tI4E1*rD?(8eHR!U<4?m3Pbf4f< zjy!A)guMg%J!q)a-*VoDt_G0)jLEc`;f^jIfGYe1wI!A+EANRW!)ZeY5q9|ZB*DLF znw_#%@YdDW0!TER-i&pC7b6Mzd(c1;`YEM`kjZj{j&Q}%KUBEVTnK|bMIARgjbXz6 z@7&{lBeuts#?5TF_o^aS|J3!ohUegZ$|DA1`|M!u{ zlIv$pU^m+$t?QCghcqmXkFfFMT6AfGoX;NRU-r}Bx97~y|8H1 zlZh4ir9p7NMaYDuh=E*a5Fr98TVlu{cY0I_PafE~zNGDbKjrV*>IWHrncYsx=6Ujm z^MdI!N;&qsgM`>lpFb(ir!l9t<5ozZ{Hw%m!TTtn1y zP#?`kK8}kJDV))PQ4ZqBDF*&7UgG`5Jw>~6fe#=GMN=EYQW2EgZ&~S)pHrzb|7cz6 zLH#z0)4Twf2UscY@MbMJeH>u*g6sS{Uh6V>8MP_$a}=yQyAY?;E`AdcPFJ{&zfI!E z8aCo6L2c0~^6H1Yl)?nD;Q$N*o$Md^$KJ(Mt|Tm}04o6{i_;171XHJgL`(l#WhLfs zKC5@jC{oR{zKamZ){cyZwiv%JOn{)d!Y%8w{v(jeR-Shj^Xc@U_BG848Gm4Gfhb`M z`;vg+^Si?yga#Qv%SmNx zhe}N?rYL}{kL6nbi&~@;KVZ}E!VOZC0S3^(hF`T1#wUV}8i0m>ribOKV*7dw->~hf zxM%8-p;*v*=X=8)P?%&bh4z&7SZEPR0P5UzC6gNp4vFhpAa=AB8Ol+@Dficr>B+@=PCreY7ctcZ5VjBJ2 z`Z4*2tLDfrIbZyV0ioz&;kdv5pVQH9irB|&0PO)JVY;dR&tdybq|d*TD_@Wy`A_u1 zMKr^9MuVy+@2+s%z!MjLXRmay6PhP-$Nj`yi5z1L@yK7;^PRND*{l97V>POitjheYx{DnzcT#h9quzL6xe@#@`2aXbC|++lPuc$0V5{Bx4Q@m33t;^jt{j;f6>lug`b+0l=2G`6 z^!AuB-XUMo^|ESkxIaw(-G*PQN!4A$%*HT4=Z%?so6Q$-N`D6!EHUa2OHF)S-+%*@ zSe*n%+24I+Wh^;>-OT-u(2cUruw9c?{tm##oO@*uLv`lxcos5KoUIslMEFZ-;zzZL zdxKP|jZYA2N2bR5IZ87Af_VOj6aP2alD<&PjVR&NwZ3XNc%g7cY;owI2S@$SD=O&5^<#)q^`w= zqhU+y{A=T)Fcn2HclGanl1yrd_<__HsGYja+cSG>V}QceSlTK8n@ zrj8O|)s$EUYY3$3+5roH#$#^{p`m z*AqFXW;XsM<|Ca$=_ngkQmJFW`XRka4BCy@Tg*)9e*Lo*T4a$tq{`b=5LGX8!8y^s z`1dp(iKm&SaRVc{7aayD_S8)AdNo;Qq;p|7@*on2xajxEkc791ZVtC=^>JhT<`Dvw zWe`YfXUS(Gl3$Jl>~Q~Fs$68LZ$V|GUN{1r0aoI3Dk$n7;7c$x%4G3@wtu>0iMbg` zac?Gk*{TRy>_mW*)zNqLi862#J9uj3N0^{X7jaF?xw-F$=(!9)r>JV<)031+)74@} zf)zO$Bhq+%%sKQC45fq|GIJoNYsrx@r8qAIW7Xn!m$3L05%EJ(f?RXf+yh7ccr;T* zTjm`}Qv@M!G6b#-S3B+P;O;Z~gs)zKuIld1h#76IQ%KwJo;mO~sE-yQ682K=hTb+E&R!A&?ysHCqXM0b33R`zvC?T2V!i>Q_|b z5skBch$v}+jK+~rmo>I6e9k(?Y4}*;b`XE1?bo0xCd`J4VLH!VaiMa=zpmQLf%^4u|3a8VUtFqGl~cxlqPr`dKS=O&z^S>u{3 zBDd@gOqUZ1*XJb(w95ysTs>Z79P5f>s|Bj04>t+nIzqIk7iXx}qKX%&h zkr@-c#V1A51bfKyA;t!Sf#%^~pOWKsXlGrrh)Nq)kswO~@pQz^TGU>-zZgkh!`M97 zMMySEK->MfA|?pGPV)AO##&6}Qx|M|BNVmYOY;6tsLr%%^rRPj8%?buK^Ky$J=l9y z#5D+$wc6=ol8~wXA?^&hP(5v-{8msml>_ygGSnM^r#4^dElY=tHq#mU3o{oiUE0m( z1HQYj>g}55j1&?9qy1BlTpl6`D%O#mQ1h8Z|gvj z54ZqJhv+8^Em;T>shEmLW=9F6wqGLc@^KQ_h_tDnEYe3*AB1xOJz`J!) z^;xbcy-?3ReobOD>7_;;>`UwE4D&2~ezFCk4RbA4 z+`t+lVjsu0Pn*G!pUy++FCv_#M-;56Wvoj-^MN{8a=`&bKzKD z%;;a_)#ZJZn`uI`H>EF;^-YX@qQMs%SFh;xF%Mj~b1wa~q{2$mThqRo^_32MTIGi= zsm+F}agyj}TkbPDSiacMk;v|`;SV{rAN}<+58c}`c<84BdqoG8x&s;W`H~Z|niqe5 z4G9YQEvNJ4^CkvF0~8N2w2GZ^%b(Zz=QzBr0eq z1gaLdv8o7}^9;^8>pLiE98GU0$B5u-l{(VBRB(eulNJ(a<$gllMcQK~X9a^B){>Cq zPwpT^REeEHFT$w5D5{><9kpFyl%P84G^ZB$n%xW6O*9YN=_iA+X1;pi{QZFJ0TgRWsUSguf}1?be9G>Cd(W%;#7NmZz| z-&pc%$nY-2{5x{Iu?j_&>ahv-M|wwyetp3b9whgKRHuZ)a%$9Q9Dc8-uvgtXxpmmg zJ{T3o>n-pW_LmQICZo9!!zok(JGc(EmFFp#N>uZ!EI`4q^IsOiP!C6 z7Fil@TF-14Ri$Ep_?3D*xmd%kqx0)(D8{!s5|HJYQ)GnB5;UDOBrCctan)( zvG#Jb4D`$mgw=4R1=vB$MFK%@UkKJlLn}Bzlib~hf8V~|QlO41za=|KbA6z5;fT-u z9SOn!X!(9Z%D?PZuoO=^LPcd^&X`nchYm%6bP!66u$H#XDP@n1SIT!B;Nxhyl4Pb7*puq83 zPImkHL%P&ppngc2@uEJXUUPn?=|ru2Dxw`{8?2KlKKP zuEslixDT#sP@mY$`Pey}oxoF(KWNG?Bd2^>g>OrwsmQH+-P)5pp%hpeA6~?gfU9iG z;S_(R>be@UHtPb7V_m!hQ}V^WPk3?N#FPe<(_*F#n|*VB*43>;Z;b&D*u6i?NdY~E zCR>~HRz=<()f`{Z&lKw@^Bl<{m=bWR;+Z!lPC;_o^+dTszjP*waAU<8x;C5#T#P%1 zzS_#lT=`SYSj8%TI~OSwS`ZH_fGPoJe4LX4Be67u33a!;}tra+3Psak?h&LDmhjlwF7_hrXlk-3O?_%v{F-H)&UKe$2u%gv5h(BJiq& zQh7?}QFQNFCQ5T2)ui+@!TSWV?90w#s?5Fj=a-ES2?$4*wz7dTn=ftnPHV^{1GJro zQ}3JZE%XOsRmX~i&eE*mwigg=g7Mv2T3*)SiNr`^NeICDM8k9bQZ;d6;P<5O6TQ{b znnO^7WPij!xr`Li{65v&+%6Y-A~IO6jb(TtjLR2u>!1T{jgVHa8&VM9w~KzOfF2=T zDg04|WpH~#^F4G4KkI(IIapulOAd;7hptho1tVGs?i|qx-)M?Sv?jeQz z7S2YM&!+@A&l71)a14mz%hE-d-4>QVN9xQ8^p_()_LbA6&?mDJ*9+9G^H;=6`muvH zMd>G&(mQ_sqQDPZ+*EBXj`4NPjk=EkhP=8h&SSD)VrYeP^-gx~@80F~HW1km;Rd|P zn^f-}uFr=WW+?W1+^G{$WFKB*9%Ft6hFe4$7JfN`T>I9!Bgf!@ZFtV@NB<))%p%Q83`E%p z>_e|P`2%cNN&Rt?231VRaqJ`k*8vABCl4ZxS{oKD`t48l{_fFx?n<%QwFGuw(&8|d zSluA#F`hBqveBOuOf)77X#Qfb2kT`vw{8J3&=+Ra7l zyMppm+N1iZ%%)400H#;2HmE77`v@!C%-SGkOp*haX4bLU`3sddiFzzcYW)!DF3d07 z2Jm1`{9@Z^+T_TF*Wzh4ujC8Z9%Z^fK)o_tgX6vEbxG1}ZZj3YdKDj@r+r#d%%*uy zBV<_wG#ww9h8BK}1jwW;)K+0A;n0|iReabS-Vff{-K#g2+rgP%iS9SE) z9Vf8k;T=~r#P4ns$wYECRupic7tLTxyciyPw?QgJa8nf)y!))4eQ`Q;jP^BKqmRGV zNk=|f3(H(BkwCPDmFJ_+n@cy}(n&(g`GYC+Ig7ZY&r$NiSMI5NbI^fWCznS%Yusg<2Whupe;q+q*RslNIB7B@S{ zm;S}0RuqCQ)6sWTOeH?$M}E%FqTFXx7wm0I8Yy@ue`nr|wiMojb3Ts~K`<;}==+!w zd#e4X1B>9RcplgY5xXR3^b^OD47+iJIkkgi4S!-KsBTTcsTHW8wBy+)!HC809gIiB zht=;I5INuRyf`tU`BtayVlH6AZHSR+`9Q}aWe4zqmqC*M+OKWL_CZN58pbZyGrrKAqg`kf@N!Uhby z3vhj{2B{M5q%)iPU~w?Gl9d03&BL!&_O)lMV7kY+H7pAMj*k#B?3Z`XB7UCDq?hY2 zOpp*74lnqmQ$xuS6B^5^!lvVW@jzE3_Q&S`R$>i>Odg$80PoGS!N>k%(3@#G$w*i~gsO>?U0`Ng(rqXDH+ANbJPUag=ttD@YErq4<{ z`zl@DZp$V`bvaRmHc2nrci1D<}>?(_{WSk{x&P!YPmGjhJKU!hL7yOHF8nt5zyPRAk|L1&x8J;1+V&Kd$2 z0yilyy~b^^l+wC~2d+KQ;VFuX?R3%t?;xgX)H_{+Fl7;pfoKt8o*qc(%xW9A-32fB z&zsGnoccELKp1yD=Vu4{GuxQ5j`Lx5O704IKGJq_kxRv5u52 zWL`mBcYKW2S~#C>v{PCsuWEQ#PIG*dv|R!JSukj#KEYJIa=J6Tep)eV2fKc?X3L6D zCSqPk%zP~e|6Jo?EKwv^V##j3xyZgH?9whOD9XXzn~y_%@F!n%UY8N7JpskBYW4SG zg)E(?BEr2u;tG`Hw)DJ^On-HSMA*z7PkeIsoWFy&iNewjH5d0+M*C(xCsj|un)?>f zRzHh1$zv_I9QsrLlmyX4e_ut<*Vd&zIv59pHvQ$dx9}Yu{fI!(ux< zSltpXXAgN##eF556V5dK)_&}>&R-3ETF5BEOeDcVX2_&_^6Dgc&UNYb-NC+F+R`HA z@b^uEJS&sbBI4!&bxf|Xy6riC4djGvjtyc&t&zUQf=Tfl`ob;eZB@FE_1QhW^@h}F zTbA*Ug8EXt&8A=6?;jq*A0Xf3j$)In(Mopx5c^y*;}{8S+6t7I;YH8YeWqbCYh%{8 z*^EQvq`Dv0q1_2O)$Y{NFq^**2%>42P-HF)D;MGdS zO9mOMgOM$PaqK-Xs$26z8t-Ri0}Vlh^2+>vXe&rAI#46y7K z*2iYY@gGHIXH9d)yvRA+(Q+CJ*hIWG&|_%rz+qQ9xfe1msOQi_Sij!2PSa<&x>k=T zrttW3hfLL>HB!Tk96w8WDWt@ngRNv6Y;5Dx$O)-cx}<*UFm9%YnZ??gqE+LD?8`dw zK4|F;a#;5m(hYmcz2JM?6iBZLoUBAmQ8(=kC39ng7W^98755nnxI~y~CY60+lkj3s#-t+ZqBVlMD(z#E(H9lT%zPy^ zu8;(+TjH4mml+sev&2guAbumnoKSEMHpYAp{_;G*_Z*9gsLYJ7 z1~G&Z!-*+dYuVp7m`tpCXsf?g*>HrtCFep5L`M*xmc>mRDP4o>(%i|0WC$2Zos1%0 zm{JgKBmuRTQF)fl(ixr+2Z(;@T1Y!f25oZ3pT`M zbhDBXdh)O(TDQ8US3-KuxDh);S@euT_1+vg`N2bhE+?k7Ke zPIsoK?63-r(FG`H&_kvgDd~UQi(7Gv$k^Y@irk7${a`rl@+#NClFHkG>FNc=qWa+e zmX2w;AfnzyA`f_kbOc?hD(#g+FnW~&P0LdIq!KhGOw`rH4$^31fCe@Uh74$?aE32( zq8NQ5o$exh%JkCh$rW#DC2=SEo+-Pyi!wFr8)Uo&sBJPO4BSSsIf32fZz!*`jCH>r z3K}-aGIFk5-brpm28}33)zY(DoaNQ>){9Fr&dy`N7xY-p1+#(2;CJM26T7Pzzr54? z(3a7n(n3&zZpP53q+GiVrlfUYGOxR;*nQ3=5O_}QYW0aV_%xETBmerAW4WN{!a7|! zNW#PCIuwl!jMXqyXZ z{aN&pVc_kG;^9im=X6m3Y-HnyQPgZ{P2thu}06e>HB;Dy&Ds zSyJcK8|hk6@=ji=(OD-lLT@Kl_m`Uptb=TU=l-%_@ZcjltzxCiG!ZN1f~r(3kD=vy zzfYEppVIs+5#P?!gRCPzaKVww9{FZ=TsnC`IAo;dvvfESBMR?>hR*C|T&!t7p*MT8 zUd395+XyPg^8~)&!uM2UD=@Ze^jD(SL8w_%iSGCY$gT*91UwbHfS+Vt53 zyfMNf^ofeH^77UdT$iFpB5DY^Z&!{P_O-PdO{o|au3KeW(alVb8Lk3T?1+tirs=y> z@7Z{S-=0o8z882WEV6mXD7X8@Gdvn6Yv_{hz_)F5zJ?*0m)+a7ncHtrMR^L{EZ1Hs zx;}>4R-wo(i*!gU%8h3l{=H_N?f3M-ct}MAVCEiecfR|JoOStZ6P^+teCE-szHQ{J zBPWA^B@_8RK@PLgF6oN0B^C5yx4~4UGG4|^*2yDTB)#r@eFfXl>$L1KHSsgU#Q`kqsUv_Hux3p-a;pH6yuCT^a&R=jCrw-*udo4 z=g>%JbNNxTx{9R`LS^-igWh^!H4KE;dUP&oIJjC?|@*irU$)G%M zVwttw#?Ae>^_JaRHtN$J(GZ<#^NFNVIW0S{TgxV17eVu(GdiK1Q?T*90)LMsCQXiu zK&K&ERUC!QcFx^1nMN#MDF?@2*QZ)v^62iX8Yija&!;sgzFIuD&Add%5r3C~{qhSj zUpRV-LWc$A0b<+5MBi}aNJhYh=^S+pn$)X${+L6euG40 ztTu{M$8*rRR;S{EcGFJNp*nS4ak;A(-QTu~QH2Ee5eybU&q23!fQXy#f(k2+ZLWTG zKhR*f7n&A0E&qYzXyN*mW{T;sUHeCp*O)rU-+}+^cZ2|CuWV5XH8kUzu?wGC-H4-H z#UE50E9wO~|-er6&;lkxtOIM<4e=QpyP zu&cO>E#^n9dFZ0^vBA#5_!LhLSCvE4mhx>cI7Ou6uV*8NnnVZva+4@IYWwd-u*S$j zaUERM3zZ<#VS#UFqjgS`3-YlhJB6`9dSf{RezXanxwB*W4sc!o}#=ir>5qjr0`1@9V7BA`~KVAL@tV zCn<~saTA%&CVcuAIA5mHAehM|U#+kfEu}GjuU@ad9L@w(phbr zth6jz2f4Rg;7E$j6hyiwfe1mceDFR}BknT<_$Rnur_Y`l0*|(Vs>B}?q${&Jx}2J@#`WA@J(k_1CiwQy#hZJXu41|o&pjc##$$={{4 z+sOxV^T+~&Pgx}LX6-b`R^kr^x2*XB92)t|zf7BDQ3B?r94KR3Jf~8~jYi{;K+uFm znY@SLTE$&oIgAeSXZAy5TfEU`W`uT)`S5@@XinfXJmJZrQx`akF9LS?R${;Den(lS zE?^t@=rAI&%M-<|yo)M_2TbNoQGRE5yXo1c!|I0#K)l2xkJ(75ObtM4q)`ME_D$=d z-cKlvmCpVO-JASb&-6qcJgdLKczUP~>;KP-mif4EU*&6iE&e}VlFabeOOpTJZz`sz zXJY#Ai;6o{=ge1FUc0jXbpM&9IF5V}r&GbVY+7rCXgW#X@T!gHYpn}EQh&@EE%>S5 zbzDk@X?MV$6AhKro7bb^@Iwh0xG!Up*E&B<@1U(NG_DqtJKb4v;M#AgjF%s zZ-tPKY0~%R_UUp`GcNbt?E=|mzm@HV(Rf#>7olI*; zugGm~xEE5w2D&tamdmnlB&v?UCU3C6xoUD-(&dj(Max?i?n!fKr#r9=yVDU3a6#Uq zk|yvOvWB@H@^*6c-B|StHPaB1wY>@Dki(diE=z?G!;}djQFbsEhLo%`nvaw_oB&Td z7Te8SrZ=zmPwxC6^m!Lf3iDV&U!E2B{vuopg?Ln9G%Vk4}W@ z$smo_1*}7|YGCr2{#L$DDw)JEfxB&%A92u;Uz0dTpK?(J?rOKjYwEwRpvYa4FhL`G z(KxAibj#aaxd_o7bFGQeH8Qw_&~DYIq=$akL!2%7K>J40-wEHUtH9-Rw;`o#y+Hnnsvp3I|e{4AAA9*us6lAu(T@uTh2*%{Q$mpN)CEqx=TytVz|*Qx?Z zT%;`7H(anKD-WJm8@kXk4d3(}c?i*}?`qs|z9Fk2k+C_?&mFwUpOwu(&*T|uz0W*al_GhI)q?0$vG?LWgF9Qs%RFdISO?M9+ zMC8csBa5;E1Cx8k8PPY-%)yoC8gJrkOHvRYAMj4=>BUKH>tY?P_2!p_F41p98km_O zh12jo+iLc67lXykaNR=cPlv5(HBAPc512nSpZK%L+?@oA(;2k~1jjcsQv-V&4ro|2 zm<8{#G6@40T#!ZYAvc_Hb!U^rx!K`77gh+XZU|(>!N~c18Ydf2+$E&vD^v(gk@}Bq zUXw==fP)4IsWlA4j7**@sMn{H8czX|3(qh4IxF z9whA_W9(3+v*E~}_U{wL<6W?apzI&eYm<6+UBBQ}$6y9IAmh!Rxa8&4Ehv+-pVHq= zmo-OtJaS2{d4espLAhvzrEoLqLlnOw6g$ijNJvy9B8C3aY5+m2qo%Dp|0j1Wa3p7hSi z%lFTuciz|R|9#TCn)KWMdz0PO72mtsQgU)~1Iw%ZpUioG%??bL|F7`5pMmU!H%0P^ zuFZ}_R)$jex!haSY&Q*!aBl3_GCXXFL?!khjYp4=aB$wDQJvYmef$!YUT1sC1^-bT zL7D**{nX>j<*)3~Ewi)nLtkeXk3dUwBXt@4mc#s~55^uATF)t;1^vJG?{n~1p5e?X zp|;gF?tT)44{fWO6NA*>yZWcXE@^vTHlZA@9BLpP7GcAlhLKc}7*z&V2H9VDGWE$i zVR#fIyeSF_a7EDXgqR{CibbnbWcBiXS#7 zDXJ!_| z`bJ}+M+jtL881jDY5R27e!zn?fXYQfh>_+J7im9uJ8aB9>JBmK!qc`-Hyc%rrzy+k z9YwK_)SKss{P5SvqPS#&r&$JI2c>fdeH%Z!n#Vh(LHAeJ|Ec|8rrF8uZBVujC__ENV zPavq*$>HiWp=NmLE3E{8_@dnj*=+T19sD0y-f{hALFT#8OQGD}hXf`Mn2PJ>wLr+F zS~vniba%68JVT&$EFql{Mro@`Pro|;h^8t>F}umP;#dt0M)u2ur*&NQB;bgOn&sce#=FH0EQ8W|Fi_FMSR`vv<2E%bJ9`JxDV6$K4L;Yqj% zopI*@MUhv`R3a_h^D#0JP8dIL@p2ep z(eiKsUrQ|Z&oW$+f+Do$3@(c^~Cf<}bnrv{wjkFqm(6 zn)=5{_E(?tu!gVAzug|yK+wWr#KDh*_dmMm{kZ0CW3hM%8PS3qc)k)u(LmB7EXC7| zg6|+*g!-5Oq{phbAalYiAwE9!RLHAM#x#!*N=?oW)_IY5beC{=nH8MYoHJZ-w@1s- zHHa8-E+-!EC;b=p%X_*gnwgA;S;K(4x?%Tg?$!Ei`N0AnisjQt!@jMgy%C#x)^ z3<)7o_CAXtrjp?<%U5RP`9_t7n~H}U<5LIGr}#q)6gajctlmo=7Ui#0^L#_uI*MWY z!m%3IrI?rMsQaXcf9w$NR$*s?ZxJ%N>i-_m=3UQ7Sm26-@N&7$H@$bg<;|(g?Tpov!sCa)t!HFZi^bD^DMB-w^lAIMqkr_$r;x%WAIU_c>c%l~l%nfqjUODfIle6Xg#Z%jy{ zFLt%wPxm&$2V?0d+*tC=V`5@PyA8H{`Sk`QisiWV1+R)vq=MDq%>)XTt(EtiV%zjb zVkSWxM`j0Cq1;RNtjbZS#I4*e{g>|a1X%jSlE9@@fH^KH#NL@p%` zl&HmT#SI9Jm9qN|N!Njow)FMHxG!Ci29&D~3N9^uG){}R2NSh<*gVR&JbrcLjVG?K zJIL3QV6-g?WxO?6Fz&;&M1x!0CFIr~<$S4WPljU(G`w!_pSbt`R>|FH!!u>(TX~1I zzTjv(VO0Q@vbC;;BQ~QO;}_JL-Fzc4_vdB5%{n4Wxhrnl$I>O}w?N*MBw_q?dIv|D zwbQ8>moh#D#s5g^-Iiov5fu=aotRoIvB8Lm3*j)=iemiUHa7E+q2?(@1{$B{t#P9Z z6gJdnql-ozxkD7#ET&p&Ph!5Ehb0p;F-f=7w(;z*i$1i>t%9vc^_W<_IV)-~qDW}} z0F(MU(ZMC9yK5=oN&C|vm$#X5B$Gp3CG#IuTOohw*%Ae)$tvC94j#cJ;Ef6zH zCLcy0B8e5{dXC(Nc0cKVEs0xI8IyA*|0t!E4(Rpsb3dA+3l`|mN^?K+DJyk)$U3;O z#W)aZZ~C;+br6cA?o+*M^OE1{hFOrc+S2rJ%v#T~zx!Zn;MQ)b;A4KTpVeS$sJ!~}_ZEgI0eDem7$f)ohvFLS zb(=fRQx$Hek_y$btoSi(ebZkz5VS5;BT`$Z zi|Y3k-t>6G>~7KQLY`jpsYb~*6Fzy+VyFW0hSBlM*_Ah`MaJeckD9RUG^c0keIFY> zWtsLbqAuJPPmvz?$_X?b0GCc(?uvGt&6g33Ade5vo~h^6i576!D}QY)xW^IC8e)kq z!fU?!HO|qpn$oSO$Soy5?od4K@VRz>k85Bg0^Qi#OiPvXh+=hsjFkz8#qr+mO)9?X z6LqDerKtTGSk-?Ko+PG_O+HjhM612Nc#64;}or_6lzi>cW`?RAe znu?38@Gu;gW~Uf0IoA^;%*{A9u|TaP3LGfc=ToLr{D7uE4(!QGX{E}e`z3o7OVc)M zF+a$*9HY&yFxMxC-X+L=JrI#hFXuG1-5#K>WxT6RyTKsOSZ7ejZf9;!*0}j%FHP$8 zgST3JM-fxLlGa(&9UZ`0HB%-Erm*U?7l47*?)1Wu;#=ri{|ObKC6p2dnxX&eV-9W0AvKvVRB(rT^=0(N|=ukH;22Yfy&2=LS{m~ zqDoV7Sd=DGzyPuSj^1^~rP53xEjz?RwiknEw#(MS1eoc=|-Kxxlu;L`o2`dL6sIcEyd4RhRa6R-HIjyDrL zq@b#1o7)$T#D7`0`3|uO3QXraW6FJc@*wwqh4U))XZYc-4ebp}rrPn%vQ4^MGS^9& zs0!b58Xtvp74@C^^Zk{-q4`&L3fCe6~fs= zRBaDQ;!ic4?SJJ{wDgt?eW2W7WD`w+8s5!vBN-1+Seee1kCa!xbd9XI9e!_j@MZWY zS;SpuOq7L_P5!HRXY8LbRsR$lS zY#2@x>TancobfL%k5SxG&s5!AFbXH@7lVHx`0;amTEyXHn223>z(0W&RxiQ2?DF zOTMSGe7`s}4jKUze&vqqxd)fFi9 zs9>4q2s0@AAHm!BB(3a4YR*a%-u3n_=VvTW&1NDptp~@YYk#Ga8vt~&nwgwfrCY)^GIux$C`x>F(%B zSlhq;dWYQ6Z10P9Wb>q;tYu;ljhbF!GgJ9l)xo!=bTMxvd*iZ_Pv-egT@~Z5aezzTu34gB;a74uP$+pM$1TJFkCHocb9T>d8^fOMGwG0g zTi%wLU)w!uxqP*rWjr6IbP_4Uem*8y%6#xEWOl`^Tr7ebmtv}&Cb?~0dh@qM`4Q8F zhfC`=`%6wfiDZ$AYRa=XD;&2O2Zy8g$~nVxm~y`we(mm!vTlrvN}AK0C*fg-JV#_; zAkr5M79N%wPOMRsLx162i9?&PItM@l2ZIqFZE)T~OEd=6jIPEB#ZSVm5K*`k{=@T` zPN#-L^-`5sKYPZZ&$Q&qBwWhTtt?X4>O@fQX!){g@~ZZPhVEba;-ji zlBx1nitVW6a#kPNc7Fq=NS*2KR3)6H;!Anggw?-#GTs=`kzS;3My@F zq>W3|7&P!+XOnwEAgNJuczC#>z>`*&*PIhxj7T(p^7BL9C%?8qiIpT4W-hJpQ7fEf zT1n=I5=;z%jK#Up;y`c+rHt%1*c|cAk@chORVN)&TfRxhy+Na6JtebBp$j+FATW~T zG$~IsLL>{Km>eo}df4jPBs;wb_tFFb`4M#5gP}E@6YxUnk)-417ih6fC$I@g6zKFf z@L{nt;yXL4XKHHfkc;lpvM}&@Yq4(8VR#pA`I|@Y?Cj%Y1xrCzUw6uVt_4O!%|k8| z0ABX@a}iDVs&)J(UqAatX)W(Js=~&TlkO3P5bzNr?XOc^TOkTPJLZzz7{R)rr4S6pY;(CA_Bokm`IT<2o{h2#G&Yhl=XmmfjfyFSEM}Z#Dj4ayPuB5EIZTxF9#%1N8eIKQi4(cCy44^_U98e8UU6&5xl7xl) zq!~$qvEvp=#ac$ z%Zc7po;aiOJ5?oA{+;UAT1@JF%e&h1Mk(nouN4(h0pwTxNse{Rj|W%rw*;su!6>BhnS*SI*jKa>o%c$Q$gFoj-Je9cHo&fqfJ=uch%B@Q?vn#wOy z3R<$eqwEqz+gV@)6TN@>*E$Cy57Jy&YHC8+^aYMrXDeF8(GjM%j^?FBMC)FGJmy+8 z*$5V_I)(XESZsJ9lTMSqlblhT@w_m(P-hGesH6epWJ8F@@Ep~(UW?oW2n zCuti!<#~WrUjAJLE%Km-EvrvP+3zx=T-5Q!<_iOa;@AG|C$bKQu>FwWV+s7r{2l{9 zq*55tL()-wZPc@<(j5k(Or{dU&@I%5Zu@?7(_UyYNk*E#mK3A=lS9KXEkK+9G8F^U zmJ^-5GvX4ECrgi_Unh2>xBYV3lzQzZ*3d%*_9ePlNbv+r%~Ul(wM+HX`RFaAC!|(? z%dA80Y0^BoQU42yL5(u>w-b5}|hAXz)r&Wc2`?C#R&z8QH}f5C-C3zi~57hre&| zK9yc<^8WxrbmsmoXD^+;boEa<)dV^b6U*)LP0MMk(v4dvrEl#4p?*%=sk=bx(>g>b zM6Xk)$`6H!=~*X$hF4x(@(w+Zq=fIf)p^?Hrn_NK1B*gk#v9N{A;$U zR(3OYFm7t$^X(L*1=G-*ok?)W89K<@TS8j%U@C7BT!qRqPgQ{YUX!VV$Gy1G>~LRo zRhfCG3JG6g>?YMU1)ctubmWDLjGh7~#8Z8fmHf?+nZuyNTr5MtnWzI9w|REG?fj3S zp(F?&tz`FDUOYxs}@X(qwZunJJZ;@?kCwkAGGVGz?MwEW%)|(qjQ99B-MgD7iB3EA6 z+ip#KXzv;hkMudeF7U?f5Pet~vW3%&XGclL?240~9nI*@`HC9MQ5iDTp5jXLsmMLY z!SQOk3I>FRgmkT4L1Iwt@bnVbT>q=Uu@dyhWY8W)qa_-nm@pLb(?{GU4X{_;(Q@s8 z+bu=)8-|;xGLZF?yFkdsB0mP{}^N0U6xGqV0VUePLC{)fRuWt>^&> zN9&gIa)3e>xkz109nG?TZ6H)6YGHNaNS*lclRGVztlZl5pG!&HcWx=k-@ZNK{*lfr zdwn}P2cn%JJ9g4Q)2p#Nrr}L*a0)UfzrXXW-Kz2n{5N&7?2(@2eQM_8H_o71dzSZ< z<1O-^=#$6*<+WUMB}JWJiSWaWhz4gQ@Wc=ErfQ|#I}JWIHa;36wS2fAJiM)+;326( zrjWTh-K5f!#NAuYblz*YGgImZ#e)mn1SmUGMBsCM<7YoBO2k9p%dp)lp1RY`q21=j z*AvNIpM>NeWw_ul0wp&&;g>!NK1`b)wJ^1Aeq&k zR)=oA&9BNB!sS+o+y`D&Jgr zMHqvyhtdkGozqh92Xg$FsHy9o%31bbRG?X@H2Ah+8&W8}m?y%1G1sVy<9DHU4C$q? zmC=8()DeDgaF{`zAt>Bzu~FCIsDI_yZ)%KhkzYh`AEGUjWTFg({2IBLZ0v1kWPAt# z|8TT({}dS3?mSB`yZl0#4-Zk3IGGCqZ4t64eOkg^=kf zwQF8o3M-|AH=taq2bF3D`}wv4?nix|?paCk9G&z}gJZA+45f==dl7Gsbs7EUUB{@vcfI<;KqwXk%GTk?_rHuGQiLGp<7^Ta6vSx z<@;^G(!2tLTN0yKVnc+yMLUmyfYPAB_t({yk|T%q!orJB9{cu$2xs~QRSJpvRk<_G zrc%#})-!Jc`O~_eR)%*ZNLd}_!pu%P!#|Pa63h1Xqj74U6rBtIaIsiq?BhSVIslGp z`-1*;#lQ7G+JvwBF_$aD<9PPvr-la0w&r>(lS?}Jm*49d64KN6U}J36`Z@Ql-ZJcV zb_KQ@o|z)TnjgR{eCfPqtgy-8e>p{oDl^D65ffnV{>^-|cjbMrZunA>r}Rw=z4RsN zdWQpfr4h^94v&2h)2HFrEUv(Al75!e1UGHd<}SW^RzPKNM@LNK?y0zK2u{qKi6~N9 zS&EN!pQ+vMjGc37FEa~q_WNOKwQ6g68@-qVWIO_KgU(VICLi(s0z(+|qFc2UXI2QE zc>b;>Wx|>QfYI>~fB&?~3<}GM2LE|w)pofg$~n8~AJ~^aI3Op2q2PMdBZs~L?;^TO zJ2BegUYJ^*%0yy^pCSij-_S`olV#0PS|{B9a1w;YQ&lwPl_3OC1;z>O@*!hvzcPH= z4{2%9_dU=#zL3vjxH;?p}-GK}SD>ZwH60;|&D7-M;C- z!9ri^%>%|0X_?)t*wd};CC?55_vpLuo>r)y}ePbA(v2 zc9}dN6y8+B5?kjatJesa>zlk|$(@FTgo(X1_{4{sgRRA*wglnp^GBD5%fFNv1U8n$ z#O^U(l)G--S7at`iK>XUU!B1PK>o)eMcdSpNCj-$rl5BtGbv4GgDtLB7r~cXwYqX+ zcemW*x2cMi1;4RorT zBL^E*8A_J-{g^QZj7uIs_`*D(u$gG?Ulf$?gEhCbuzVH0*o_e!$(mJb(Lx7JAV~(y zwOc3P4d7bwdVYJIw%G12w)7n(@#%IsPo3*YD>qeQYe>AsL!)!G{!B8^S(yk>M~;0Y zi(zZFO@fLDHTPZeMpf|jlUfVm|1RYZZMp;;BN8lH=DyR7#JQN z_Ve+)-J5adetroXAdA-Tu@HK2+R+WAJ2^hPkARQw+83_ z2;>D#m&IY{h=?pz=<%9dyH=!)jgQC$#HlkL53K{Hz+S>e@^in8)wwua{xGTaI7#6V z?H1{@Wx1Y+WZp3l{)^6LWG#ls;*#Plk}$DMnUJ8<-Ky%FvCgsou4tg>r?g&)ucP;1 zs_`4W2(#G7ui8L{YN19}kegQgPfvEj()s|^Co}upHDw-D)Qc18GXQGS4Ck^k?t8(VguFF1# z0Yy2=Ww;I+N$aQ59V=)uNWT~;Z^${L&u-tZUEL>e5g01Buwrz+L!K(J&a z`9>L5KZ>jnVTXLimI469Y9OTCT-twUVyoVBa0ctz}xkh|lCrk^G9dgqNdnrY9 zKm}O32F@S$iS$Vkp^&#?zm)xXb)~RNsq>L32^u78L zZuQvpGUl&1OF1DP6D#lS&i|X(A=Y;8uibZNwzqZEnRC)O+6Vx`yE_A`o;{5x$Rp!- z0qzjX?^(E`wjL9sm5nHkJTM3C{Q95d*}@K4Y(CEohc$zF+6Z>JA#1%I3_59bU-?}X zi~I6>%Kv%CTx5lxn-`J3-@D(2bn$P7qz1hR#=^Wf5M*a&UOgQdskfUQ9vl>;qG~F( z3T=F($mekToTbWuzs~b0MIxZV^9U>zl?K1Q#v(bh(b9U+BZ2zHb(1+SDij?!%W$?o ztE`t%)zMD#yS`j(iNPdEBp@R@=^^aF8)no*Ma8H{OK(wXe+j?HAQCv^nLFtWOh|ZD zpdPgyJW)7QsHt9PHeN2Z#^v;r$)r4yKx*@|K>gKWi}8B!XA>yz%a`H!C5q|M@C$N6 zc^S)^b-P4XV)l34A5kW(S8GRxF-ds^09BMi%=&%q5;`;Ma$_h&eA9d$+h5n z=132$w6&`XFlOM+Hj_Wrm&gfmqbe|MY5_$OaYV1q4QCinl@lx1ws`m{+AjNpB4T2W z!tqJ_N5^=k=k*ifPdcwp`K<93nf1~lfh>P`_a=A0@h2)i-Szw8EyNSfJLvRscEc;94m`dT1$k5kdXOvH0l5eYnFA@ahU(<(4~gCw)RX_$8=%2hES>GyLaqU ziT3R7Hq(vH6T=zs3|bbA`h$5a3Spn?KxC2$ixk$yF@6*b5^i(4_v86zEczF!F7a6% znrVMU2V5S{p<#zR;=9<4HQ-iSUM`eYfF7#%F`i<#I1x8_7I9ZuFOdThJ-w2|2iZLW z?DjMEXKV=39{@mdl=R;R(+LT;u^Ke?Sj<#C#75uWp0cSML_|gH&3nc+(w=^DY~x8; zB(HPd^FL-BIyAYtJ#`IwWLj3MWwFIA{I2s^&N@Y(-BfoNmvyoTt1&htR2bC$z825H z%41`|6UNL^G)v62xko5<{~7Rz?#-c=l6S6Ktd_NIyH+0akSBH!`IN&%@F=3Z9wyoA z{^Z)0;d}Tp+6~?N(QIvNkBLI%9`S7&d;&N8>rYzt<1dW?W?OTVB)#RGoSw;FeC`TW zo;Xp;xL3Ep?YrdTp>IqvreIYH2KBUFqq(e6fYS|a7s@9=v;A{A=nrZm)-dJABERd>ijqQI6mfAhp zOn1#s$0u+on&q+Ot<}|2s@>l-yUQIQQ>}+47i(2W%|kL^ZkLCCPaZ#J*d04-SiYa^ zcwmQorDa(?Rd;)8bupTwZl3Y6A)jug#z^hGn0B0_)zmANlOEpVAEdh)6uwR>0j<5g zbbuO9?i4X(BjQJ30!pFUFxZ>~kc|E>@dK4)ek*gY3OCGVI#O9i2EdIX6NS`x2E&bw zjf^ikDX*5iw-QP3%NZI)AD1a@$F#2HLQ$<4qoh3^&U?Z6Yp07C}tEV%yuKeA+E&qE^<;&&KQboP> z2>a>OnIjF`nRYs&#wTJODC_Wal6V5zsERc=uaKw;#oy5PUxQ3`Ik;f3%1u^ACTY4t zuo`6TbLlVJJTNm;AQ5Tb)oqg^f zDETjO(LAc6w)QlYYX-ItAj#O&YcAKZCfAP85Xq}+q|a543nRGjnfW})d(u?%UV%fF z{o(3SB=v%B+b-Al>DS2UMBlWcNco~HVkjOc(vvEaX89E-hC|>ZR|f3?F~{wGy&FuN z?lxNe7IZK>v2Vyh>p;B=?4`(eAQKS2~Nz8v~T`~vV4>Hd7lcG#;-Z}E)qPcd0p9W5=$ z8NUGI76E_@gH*(%;@$L-LotoD>eZG%S^ocC1}q_&Mr}qy9{U4&2b zQ{K+hFqTY4JDI8IxqRGJZb)a3JJ<92r7w)h`7=U=Ue(BIi?cnv))Sq z+DFM*XCZLYE4BeFws2Or)}_Q|Ji%#qvTC2k_iBa8d22Am@g3=?-e7b1En~)A8J%?; z8-&5qs9jw#^D7nker084VngB|@WkVVV2-aO1u)gz2nt2Am>`;bWP$$9#Kev*?fO%n zA|l@0+z8*fDWl4+&b7AQe*9?GOcEL@4Me}Rrnj7si9&NgARMn>=L5+RU@v3tUOVG& z!N1P1=OQn}kAZP0CqYPMzw18lgjZM*`buBe+x+i7t(JRHgGB&1!sU~fPaiFi_jJDK zr)vSv;B$^83;dQq9f1^JCeY-U8CQ_-L0Zw{(aJ^j)$%$U(_SS-rAoHp_}-LEMDVnR z`bE|X08kO6Dopy*K(yUCGS-xh@QwN*aBA+cc6Rpl%NLu>Oe6O_5gnE4sN`+FKt&oB zR8oE9onHq2y;>Xp9Yvk|yz#2hS)p38S04Bq2?R-b@%fVPP0MJ=1ceAq%Uu3jS`!3? zNXHNg2?;eB2Oc1_@IicAP=Qf_wVp5DX(d|1vr@T=E|&)Fj^tIv-gJ(#%1KaeGY(}x zLw(GoxTE+k1@q;&xMPHrsY31;;-GQxfxHQh0zBXXCrZjRLayD?Be|=l^Kf?2b@)eS zTfmH;bB6iIa4XjlXw&=f6!KI}W<35IR15kP%M_IJo3u1LAPGJ%h$VW2fS}MEd9X9_ zK+mxArU>-w8y#utH&j|82~HSnU`Zpkjyv{ke6j)$CYXdVp-NPEZ3(8MB(*+ROX zAt1aPH?dRBy3f8R-gD%sd?S25c|_V|c+7LLf$=ic#x7~}pEpEuLu&Z`=Qq5@BbGCH z-mhU=hDc>?O&LPNLTqhkP8fL*5(EIeRZR$`)MUzA6GQ|A_Ap>O&bH`orJ*;Dl~IBn z!l0QTI~cZBb`+5RST;%+%a778`s(Xqxdy%X9^rRmc_e)CbJ?t8tLC%FeH76= zmvKkq!F|(w7FlLCxS;SQ9KYUZTxC6PIgt%+d)$|`Noe<+{O}TUL#th*?kJ)LoeKgy zE2g>7_d4{3W3{PQROotJutqy}|81ld-S<80A4t*`QH-~DA({Q}i?9(ph&h{|XyC$p^+5{q#fU66N<%KEkFXp;TmM27; zX|3$cJ7UdB?#bqkw(>K-&-+CL?Uqh7(NQ=d|TCpvAW^){d^2vk20;H{!yEL!75`>RD2ta z%Akbe@pg`84Pl?O65TZpPFnZQ-Uy~{j2=CI6kHUnA%kN zJbO}U$+6Gv+K~+bOCyi`v+?&4sI^*)uDvae2EMQ5K+~SaZH=~DL2#wWq&6`|3FLOh zbhr(85;Mf+o8Xe|u9?YXiNh5O9k!`_E@NSM;jY6d!cxHAG5IAM5$6?ShLZS7z4Rq! znYQ8sJd4dbFz11hQwm)mj_+g)`XarA0BC?wX3$vK$?9V+`8qw+NI{wVX$RzY-fsSA zmc597!$OefWeTr~$<*sO9A0EYj}umvjluLY1a2ZzEwbmIwXOLi6x(okfa9HzED_0K zeOW@aH?8G=vQouX{w-z+J_Uhqx*usNNuwdPsTXOqo_wd8oli13A1?{Eoly`x0j3x6 zNlF3}!EzX=I3eE|sXUZ_2tv!)CTkgarziq9JO|$uzX=6MDN`#b$-p#23|I3V)}&2IF>0P@YZn8x^C8m>~^R;N()Q5)L0E-*CjRwy^o6s)!<9 z_;YOg_39*6uVLO;aSWLO1L%FWR=6qz?6+^JKV6ySadlTn*!)AI!n^F_Ny1m2*%bSc zO5c+0UjYN-U+ZXW>}-oLD)mJVEJbI}&Z;~XeFmLsXS3Cu{ormn5_iiKqSPRLwf5iK z9?Wkpws?L&esD`{TVYTnG!&9ESJ(CV>fR{7OUBw&aKkl*s7Nxuww%loAYl1RBZZni zy4d4&`I;li&9C4+HXeC$8;S5J?5==#&!L!8GiKn>8en-u1L$F-`s0wSrRw*0k)G?B z@fX*0BbX$xMXSk&+c=PUjFrk>4?PSfa(R{sX!G)+AZDK-e1GmnbqAxPZ$v*!)5UT6 zV-eb=uhuJCmc)^w8(GOBnNgU-t@wSlAY$m^_pcdm;Y;bLhGcI7Z*G=HD1@qg*X|PV zd6ZSCO8IT=7V{Pf?F(8nQpi}_=r~1JiFQYO+#(eW8=Xz{UGFvbud}`8?qwSG?0h1^ z%~SV>Z^8@Or#cu4<%&v+o>GFS?OfGdB8jdiZmF>P9PK8aQzIaJ7~R?_fO*aw;c!BD zmOWaJt{Ttx4t)=>u=?;NMDBmi2se8=y=HzmDiN-c=B8&b!LzpOfbWJF3pJa&pPvb{ zVZ{rJszzV<8}S~`2Gy|4^4r#K8~gZlC-7ddXU6gV3 z_%wOv@L5wU`sO8ZDqPQ?)124$TJ?~R1Mm;GgS#B>4Upd=6gC_(5v1L-lRFsk}X_7n;Mmq+WiL; z4Fw5RxMJHFAovWTQU(vFw}HJI+z_{mv)_pbWt~_B9^ApNkaCP}D)r6WqmY(SGU2b5fXfrr*B<|R<5$I}ZsFwFA)$446wWfj9e0M1zQEp{iWHj?#%aj-Qx>Lb4X(p)$y34N@ zBJLCkH=|7^gQo2iH$IW>uOF|zGfht^!g}UsbP?ckT>rCpx8#uumzCKQO8QD(Y-$Hz z=8lIkd4Gy8PYs*&4RQlT9`9IRAbhxpPQxzk=I{?z;yw~=6Rtwf-MYTJT)x{9y?br% zynYnm|C&zFAeI7j=O~&aTr4Jwmq%j?&l(9h{n2j-fTqKoclzTk1qNy44%R_krp@b> z*_G}1;%c?$+MkD}idMxoh_`ZZ$9A^!-FDNC22w;bCXTd|IC1vL~a7i1x zR&`e0NTqUVvGKIIL{&@GT$R%zTVonGZ0OU!Gs!#)QC`b^`ex_@$rBzF8=@LMCG%2@ zp3fW|%-gOyyr!fv*k=gJ*0#t9A6|d!7xUT2v+IjydzO$L?eB4Y7qcLP?KF}ZQq}5o zH4z|^G_G<2*N#TIJscDu^!s(eW*%d!;?hI^9oBwzNZRrGdOaG%H=@_@e)mvaJQ31f zFkbh|%`nsPz}lRryr7KswW049#3G~}cbA5%e07FEj62I>89tw+fJ=B! zRMKe+=IV<#q=jnrYCzJ)gYy2dVNH;{F zp{vPa*UOw2u|pU8lM><`ZE`@p74&Njbsk_a= z-FxBx&d;UZWEL-2Oj|GBb-i;SpMosja1zsUgotitR++47sloC1(>Yf$hU0>O_ZHWT z$;MX+?&??C1E=0IO+O4s#|1(KO_@x<<{Umb$F}h&U)1s3BD2W=oE`~#4K9hERjK;=v$kCL z86`Kc%HJ%#LcvHYb8Q@x9BV!b^3l;qPQKZYe-l~|tPU>uHPmKgg99=?P#y{mXrbF{Nw0#{+ZQpDa3BX`tE+;TLb=7Kp(9?|K4iXYmmF6fwezm;R zlKF5CF^*ig8I95p5Mm5#wl{LDm(pCKZQaq4bcsP{keI}DOq~*kJQh*|-=&DcP6s-> zDCm7uQgiDL590Ud*t%~MZV5#+UsGG|nWGJ%sLF{uvU_mW>`t>{>d!Fvg5I5{6J}9; z`HTtV-;8Oc>5PUK7Hlbp0cSVlbfE`#>K&#J4y64}IBpXONaK8+t5zRrzH{6dv=x2F z)hEC${n&Z%Xl#WfVa=(eSS{7@Mw6=@$%fK~W>Ta0n@Vk5+s;5CFDdmaAw$@m^a;^C z)D$R-@-erZitz3Wg^cOpu8o0(hY`hI9-TCnL!KvuPvzo@v4>xiB()K#1eNluFWClE zo{f%f82L15Cv)Ht39SizXAC^?xO~>YTWEi5DwmR%Ff3D~WCo!`q?OkfWlSnWmD-ey z7levn4%Xg$*9&dAE$=$8S#hh-k5wE}2`uQ}aYLzDmZHB)JF{C!YB47Y|N2J6FCWvbR6F*6A9CKK&CMx z(T6HCw5@FW`?v)%+>97M?DIXcp%d^gEMFdL##@Aag9Ula3r(W)8ypc;0SKk_Y>C2W zDC0+YVaSsg#hq&XJ2=~K%{o$5(%j*$At^_(IlYi3j>iZH@eu{mi(d*VTU;&z7y_=! z_|=vClMN0Uc^=K8Jt@#bkF=j3+vSsYv85wbTU}g8RZq*7`l{Xdno$Gg9>xE3W7FbX zwj^U07XD@OiRQV_ATo`($|}jJL^~eYlLq83)0oAMPs=lTJbB?zxCxW#nQk6op;95i z86om3r2LZ@zn8`r=_m!d>dN>YOUVwV^J%|}@BTnjdIz}`$4+o--g4hHy~w@2?y^1^ zV`fIHAT!9|!#L$rC?v{iFSLL*y>^dRxG8rwJyWKdaazaZEb{ncVQ9Hu`PTyCrDP?> zjEr!xkhr@~Z&E7;Qg)NwqgbO$GfEb-x73`ZhJ6cW`TFTJP{0KoGv};+nVB0n=P(UB z##T3cH~yMsHTsOS3zPS~71lfu*)VJbgi#+I4AOFRxtP2%to8fi>pl8clG5$WEhfd9 zwm&z8(`Z2|AI7Nx+E}cH^l1z9cR2~R-dVb23fe$*?9P@q3F%g}8Zkni7M8GG?Mym5 zM)>Q~OO{?cUUyrf%~Ydtd7kj3rBja zdTZc>Kk78pQ@&C}r@;#|tY&-CoSCs~+vyJXZuRW|lL=tUiYckD?~pK4%=hp1k6#+r zvsoVKZ#Rd;Qx1%5wd;``xrehvgylU;44*42#CmJx@j0C2Z$6PJAMG`|v74{?vS17| zi4C8;*XT)VWsASIMm5z&@bWk@kRWEy788%qE8h}pHgedWtsy1y6}l<*7#`uHk)L^V z_;i)&{LEbp3j}LsV)`3Gez}cxrY-E(#yoaOvrgygA<*1^B(OdGJ$z!wI)Ywbu%U4q$5?`jV-`P)>XJ}7I zujMqWkUv-wwC%E;yGkfSD4(K0$O<0{Rm*P*pdZjrVKilO{H<<__w?)^Ewds%j9a{E z!&=AmrgVgLUH4CYFw`x~hW^yNT+U273l<+BtZ!hlKsIB0N)v{Y#N@dJMNaDRw2w7E zCQ}+DmXAEdKJ4>#PL^;}oitqGb?0`L0+XhM<1Ig-7kQnEs+>XzxBocz5s1e#mog5$ z75wM=s{5H=+Ny*l^`{G;YkgH>Vijta*-yn#Lem4H62X-Bkt&y)wOinMRSIjC!{bHN z*|H~cm6al2q$|00LNzsh(~kIFv%J2DN9a-rl){#%o&6QtMTt{W^EBd&YJRDGUJUuby5Q=xNPlYh>0YF&G^BR(A6+0(P zkMKRkDb`E5m{$)&{zr;NJ_;d+sAIH!{-im)R40C8v|~T(vf%;^B@2_~QAtTyKzMiy zgfVK&9b*QsUXWsj!m;`6w#iQX&i5x1Puy^~wfc<6RnlWmetQc7!khHq4IO(K+nx8v z(Z_Ps?6o$2m5xCp9Ft=e^kO`bvK_^*NyC%Ma#ife3ZSJD);^8MuR%M`^9HP>do2&9ueAiiTWzjr zW&mT2V8H3F3};&G?(EIHFnXTa>kOvy?`uBde6gh0KwPQ9G8+1we_?jrqA`0YXJ~x9 z_WvO3s{^8Jy1uy;L_xZg?k+*PMCp>QB?P3G?p6?`JEXf=aOp<6L3&{c>F)0DTD_m= zeZTM9zjx+3b861{&6zVwrr;H)Za@Y|NI$!NJE!s%@+7>pX|~zNv0ZdGEaX!6OK$xk z7c>}&y#MsF`$})Ro-}|o!GQ3@)a>17alEO*G%L-=kCC{L7rH@SpbqXX4QiSb>WHlB z8>`P@Z%FXM+3dPrYa^!rbdKEfLok8c$tqEIWqdPRP(MN`BX4?R^DNNwUD4;JA5@E( zBa^YtGlDh=nqZ!pdXRKsjCM&|E=5zyr2AL%UNND-C+;ajOyd4^i zP%nA76iFFR4KHxX3Gq|L;wm8i%5C2iPc&4nmGjKfSx3;PWkDIt8J{wkn8Mb~dM@hf z<=1EuwUP}euRytrVCz8@Rt5YCtaPzbx4cHTydt?ViA}%D*9h<=S)G|2QzXaFzrKA; zcAFX>VMS;8h`3^bwqnw%Ko@t$%5g3GIcbRzosm701^aB&)T;>`9qeEsy#-A33HniF zo@}T~*7YC4-k=)^B#b*Thsrsp`SK*8jApEFg_}xMl&u=|J%W3}C2EB_mq_=Wwd$Hp zn(jfj_rdqSt3DKR;V08DSMcKkJ+A3Yr&R=loU5F4@#B@$4coTFncw+bG2Hmzd1LS_ zNSoSHj$n{Cq&}e*^2_R}J*(950_{wUGcUyICY5oH>W9c5pSkRd7Uu{t$*xRxDmM2Q zXE&x9rJVIXXR-Y%kIC1-?`g}ehqrGJ@)xB!Ez!=iNd^D-GGS;W^GB}Wc768Xny9DJOygFA&r~(A3~8V7Jr0& zT%tQVcY0UOq%XFymeb(=jlXYBl62Z;k7-uJ%g{l)&gVz-a9Ct9&&o=3_DcF{tgs#6 z|5@#wRq#YsfIxErJBcKEkW0X{qHlj^9@thvekpbB+C() z1oaxc+WQ-Z>;XUW(&h6@R3C-H`7u<9egD7IAbtEa`GYw}u3}_WwU38HKCBzFTd;Mm zhgmW4eD3#AIMGecyZEfbIeTZzQ|kGii%#kj>bCw&zw8XXESRG3PjOV7=^6Id7ACr* zkF4Qi*oI0y(Rp+x@=6(H5$tkv&uiz;Em&T}E7B3e5y0M`U#3UY!HSKrfH9P!Uitl# z1Tbro&gj#~qf3UXzSWq?a7Yl(VJiR_9QQ6j4K_FnAQ?k*T?&3mHOafdTsAZX8@*fd zDN9m`5+VfT%$$TsTA0jg5GVoSGU1;e)4QRjJT_Nl?dFhcWA`F^U+c=o?~*UQe~?-ldR~rD3tgmu0xk?l=D9 zPU?Xu{>JEGW?Y+a2C**%G^F zWEL#*$V%IQT&w8F0`Pb)z^rBS&!+=*>MGi{wTqwXrz`ze5P)}kxzM&#d77_8?`7EN z^##t?N0dZ_Q;Y)rR;!yieJ|^K?FZsW$*P*#%Xbj2q%U=N?jW%d8XFOy7O+~^l~?s9 z8Q4xAfN-&X;9p9ShCa=e%oa^;Y_sXJ0cx^{Y-ph*Q;3_Zk+xOs)-=5^V#~^HC7c`= zN!YS!R`-N|?sc1^aU=xV$@m|2Mar!HAzX4~tw5$2A&$vavsAy-U^F;j^10}rX_>?| z=1^Ywl=iNqm6W9gJUmUbF-`GO;!1n92xYbx1OJuC%cmtq)i{v)(3w{gOBtJy>>+aU z>VeGf%69Y;$_TmISrffiJQg&?GM` z5!sBuU{UCHjQ!lXxP?;h6rA3T>EF?rY+0@)eX=O|Ap>MR30-qEbA88Iz}7{inof@0 zd@>hg5*6TfBrD+f1TUGO;-Y#$AMM|f7O_F1r_A!e9$ouF{XL7h+_0S5Sz;2J5_$}L zEld{F!QAn5=;_Qge3c#L-yu~tv=qepqy)vti^v&JR#`REl>r5|$Y(4l2kzxXvB4T9 zxceT+`KX)g|MQvNrxRgCIelVn97^%}*wC{|I!KC!u9;PnmNuP4q7>jHe9F>4w?XJQ zd47}b#{G|4s2uVxy!wfwLmCVT68I)Gxlg-?*U9-enJPf(lC3-Gl&zB$b|;~;_xkw? zU!>+=BBLI;cTe=;C%?ok?o#QT&EyU4Nl3839Kq;eSSk)HrX_F1SV~!S!f@*QFDrWW zw7Zq9o@zb`WNzc`&N;G*@vx5=UE2~SNQa3m)9Q`z1HR(df@}L3@H$VV{r_5=vv#+( zaojFjJ!d>!Uvo)n0=ElqbXU%bG?8RlK$?}E*URi(k^?9GNb-M`6-frYw5~z@qb)6P z5;HZ@o%_@CSaShT@pLEKATI0PLrlciHl9Sz<^8*!Pp-%Vm8&8q1IAebR6gmVJRAIt z?|+FvfgBykQUbJ8&clw}rM=evM@mBc+|s_>)-HreT=7gAJE9JP!xMe0DZfL@vj^c< z_-XR&!a2ZOhrqq;zduT>uaDkc?%O*%OlTV`Yz4bxy)WZ!U<5FMRj0naitXoHZ9p*D zv|{uh7ygD<8)Juft6w*5tzlTQT+NG}z?zZgvOCmTL6T6KG=MwnapHc;17Yj`EaE&O z3x=(ak1>Q+G{2=i^qt#jN_46hXtA$%pj|G?!lULh?r&W;Acg~+!yqBaASD2y58!;J ztJxiT$6wf?OMHXsnOe>)(o=hhHCAyxjpueT{|prOCdZk_^$5&a?$~hSzrZ!T{yv!R zS0Pp-Y{tl)%bL!^PnW|nA`Qcfv#ek5aQEbhg)QaoK7>?+tObs5-_Y?Q(XlMCFO4u6yY$-5(d#1-wmZk@TfU zinu)tDI9zSCrz?#uR3v3N&hPFCsh^hb6;1Zyr|N-ud+$dJk}sRNPlJsTSQ-ayErf@ zQM_M_SR1>FJRiD;!qLod9{*Tcq{*j%>~!{o@2FbOBibTRN8abCn~9N2{QCze`BnL59ifAf$Y zzu7IE-~N@VY+)9}oi_qMb``DQUnbpGfWHIekjQ=$YkV2}Gql_3c z@;;sP&*Ib%<*vm9ae&;}|Ab1)-+=8k4jgCKw{R;iJ9hGt-lO|`T~R!NKw43YTyFRu zs;B;$r--va)Tz~UlGxOr-k{@}tfZ{hULdzXp$5icuKa^Aw(i++;xvl*KYs5MHE=lg zHlDwn*Uo3E!7b*%>OJiUY*?6_Myq6b27xJ>TL8+V>?FBxUfk@mF!ic4S|(~4;%!mG zPcLAj6g%z^U5^6*jh;%=#DnvLt8IV1LM9SFJ--O!+6(mixMGd(-#@;9^OUbzVx+be zGauLia9q;v*2}nmW^Z-dsw+hRBxh$n^!0r+MLfU%whGHF(H*?QFm3_LrwZ%147gfQ zk7Jwc`9@h^bu-Ro2|RBu_sbo3_Hhum(~`i_?+MBR#c^+tPnkg>VVG(6X=+)Qc7txV z{NHHf6}?=UD}Zhk$(wxFB!L5%Ok=xMNn&l?RocOaHbzDP=6#@7)AEO2d1Ck{&(r=; z5_tbRmDqQ?V#KdF=(@QP-+ftq=&Uk-UxRn|Op3)prvL@V(~tV`_gMcOL9LGlv^JUz zrr$aEdJ=m6Zd{an!ZbEIpdVCT8?AC`i5;8}?i%S9=79sVs;ddsfw{XMlwNXAOk=(d zJ98&;)+k!RNhB4R!_A8$vBbHUTTr6_%m2_j_OhafZ)@KzlGwE~MULt6r`|s6BZH*WxpgV;B(&mp!kdN$#_d)foQ9rX zz$TaXRp5)P#IL4J91BVRIom}wX0TFRoA8OwPVY8y3ucLzt#sHLscklZdHe`msNd$R zpP)>t>~=bn_jt_EsAqH*Q5&*}q5GJKWt!v8#kEQ1G&w@*;XUe0&c6DCl^A+IjfYF@ zIFIdW!`&(%M|d^#Dq@}8%t0u9xeDB)*7!Wo&Yy#9!wRPx_XvIa)Y<4U;9k%IO^pYP z@v*)32V`B&+p8vEs$UO6EF9VSey~JDeC2Xufw8ac_aE-Q9UYRaG`&p~U_cy;! z2U3CTK-`aC;C&|s!aJUllG-l!9?y62RHo-4#Ap&GC5HrM0NKFl(!iwb%dWu(*(>S} zh0w6QQoQA|>a-_1y|Dc|b2(mEAQ$MfuuYs`2@;2l;MZ z(Vp{!A@S>@`v(G_{n2ts!38(})ly}?|C|zP46l9NCXxvC zfk)WiKDafp>8=k4u!Y}lx39bd%w}=JRP_Y_weawL2@a*@h^PaeA7W!PAg-2YE5!ve zA4`5Mr#}!^$v4EV^~*P!em&RuX14D8Itl!7MuOnG?SU3MBZ2&5`;&V@f7t3iz4j#xDcMqol(Zy=@V_xi5;M#k?Q5gBny0;1FW>_lB<{=m(+@??l zQ2vqP;8A$D-Sepj0s@6i80=rxM)+y52U3k-q!UWKvc$Lbq=z?@xdk3z7T6SIb&i@@ zZqXNpG1sFb;*Q?0(9&TTyD+4a91bvx{u}dy+`Ieu?qu#`h7Zc1iJED2orI*jH{iMC zpXYp`nyqotiqWily@4C0#xdcLC1DfmlcPjKljtXsSl^u&>^++$Ctbc&M;q$9dq3?L zo@5IXZg`1KGu`9U4D2$=Pe46z52L&fTUN4X!O5Y#^u(Zr5Lra*H_IW%TeIVvQocO% zPi=i~e5pI{nl(uLW$D;Kl4nFkPa3#XPt3kTKDmwAastia(@{k2wkXO9UkFh8XV@9M zF=i_?Jy=Lm<-OGX233?`5!SwH5V5GOkI$B9M?_}G^wyz{R z=vJ9Dl=rv<9dNEm1)9Vlr5?$3spM)S^6W^CMC?#B5nCiTf5-|#E;8-rR}TEJw@mCi4i zf;U}=RCBqVW975rZqi>)x~Y^3D(uIOD~hRmmIkUM+=Ug1v@)39Cuo<%Cef=+bsb#U zjeU8%Q2TC7nO1Awx7IO!eSv2qjb+8!`?kcd?2Y_|qcKY&&mKkn){PuXc>;%)mSMx! zh}m4p*Y}n~+ct{Utz|#hOWsyb(OZQ#;#2+1Cf%cvIg+R9(oDE(dTNxeTl$)5zH&}g z$g(7O(!Fcy34$%y4KkYGqVEhs7TjENkofWzO@q@0bfz&Xx>fSd&b2NOfwjx)8+sPr z%f;~z>B)PnNw=-Dby7l=2bDrhP0mAN2P@o?MRiVfv6%6PkPqP+2X{N<@Qs8X;?jQm z*b4FTr(Al5h9>8AMPy@EDe~i%{%KzHPM;*};nGpdiS40mMh8Zb6hs_9>(xO$yFxYu zxPkzA=OGY5-Kd^-2-hAXk!;*}BNlu_P|YLsy(s2Fq?S-TM8Z)_7)?Ct=aM8?!z|t_ zA3oOGK4RE&t0L`55m{QEZ9cDZSZHHa4ilt8DCk=v%aFa_7)NM%O)JQax-1v-=RuT` z)bCF#$La`txUqAe1`w-Z>eJ$({9mVFumK{rMRig28xGhvtp6y;;RjqhD7+6i_l>>CJ~xMsW?V;;oH z#I08(7ip21aF^u4&(zpr&1<9y+HP|pD>~ntqGDY*#Is+2427WnJ5w@j|4M|Z%)ds3 zqGUeD@>M6jXMG@$*8ISXG-lB<%c!y$xy`k4@3WsZQ!M@JBHfnxRO?swFZ$qSDqvxs zEMyeH(g&^s1Qq7%J&bY3Yl%mkAAzRB%M|2*{`ibdi3~tEncXefkQ`{1vm2zK`*bf> zbp^=Y*t~@Nhc^?QH6MBOAxi69)lCls%~NlI2ow2ft1*jOpPnVVJU6-+WGxa}Gs+Fm znPAazQ|GjLN%ltHBMk;ez*s?Fb30wT8}lsE{wZ16Y^_v^!~M?`BgQPTIw_z&n>D$b zNVbHMwP$L0tQc$xUeB!L@fWyjuH|q&9|Om*NR*s0xNy&Twmj?2ZD(j)Q666NF9a1| zo*fvMR53P}Co3AWdrnPhP9qa}(CtK^b;d4biESF&AyO1d;xQa}_(O3aX6%JNX^#59 zHyhVr0}CMdrfmP>2BpjPk`{U*=nm$5uTB`xFi#VxmPdR1wfG6N7NHv07+XPmi)Mmn zgr*mknAZpAUh$F~Rlv8gjoROWT?kxqQ{}i%NIsDHkVW_oVl=#&&StuYi<5eFQatPkEtS+Y%Lw&%RwKEsA?SZE}m$gteBC*2l2|q&E3^C*X@Qe!n~5< z+IatpKM1BIq8gKsUwS6WYjwn6Dp_8E_;wrc?chRNl~?afE^WB^90TX#*F!9b+Zu9y z*5%hJxF{^!B5aJ38W#sHHKHv~|4nRxI~#Cen{+^rwx`q|Uj#$SQZMw1$J%eLK3dC{ zSZB+3-*(l1rmW|kHud!+1_np5s$#>*TGgkL;+wgRtDZC}#8wMriKSmzsdw z1=3w4E|yzo<~pB;K`$!Mf2sI(hKI(slei!l2V4$;XqEMaP6I*4kZ3U=S7Zkf6uN% zsDU9u-jBYe!K`+Pt#t58mYUa63r+X8Y}I^5*`Gv^5CBg;;gq-m!{0bd5W%B`@MJ8# z%=xRIbVV2*Uh4uT6NN4WjqfuBbTq6w&>c%jeYy~41byTj$MCA?)l`Be)DsmLEg|g; zg}{eYi=wj}@!qAC5srqk00NV^LUcE`bG~r?;-YTF4xQQ;p|5!w`WeiUodv&y8`$KKD zv=F%A*Xt8omr)ImqYf@?cy?% znz>WAIj^QNkee|DP7KamdS*Ec1U}k&Zf6JP)PR#}+}yfb5(%lF`U~s29wb-#-sO5Y zNe>Rl=+{&)=KJx&PrL|5)1We6ieTF;+afQ?>ote7k4Pn|LV_}|IqR=7c_zScpcd9b%DgNe>;<1M6N2l?R zrNyMx3mBJf5av$nUuV2ioNFT@EN8BH4kBhzxT;!#H^@(6=yLjXLUVSC?(v(SNMYyJ zt$*`tZU)vmcRCS&i zWrYSAH=awO)a#uO-o8j~JyjL>$EtuWgDg0MQigH0KhI|%Aws9Y z;b&QfRmgs13{zSO=bgpx*a=Zdu{XOh2?rcEjtOh*%C*C>-Z6rd2U^wl~M!c@trH8eRvtF|~Uhn=Y z6m9KZ9Hu+>@*~aWQzi; zVZ_!Xct9IrD`CEDy>Re>ZR9@sU!M^~S7TkKmDyJonuvpMpS+2*m`yFn&i71eKX1|R#1$OoGj&Sk;d_xt@g6+OS#2=S97}&{0<|fHOG{v3 z{OAgmf{4tjI7i3nYKH<&FJe~9f*@>mss=!x~|;1`^gbF!K$TotQnz4R8VHPeP=lwV~M5cA4t z7R8+kh(W_0q=wR8y&fU2wM(+BPTp+9%kWF+B8S>iM86$QTj2FuI80ldCY-0EBbYKC zXbzMngP2YD+J0#zo|zh5Cq?=%ABIq+V#a3ml5N#UcRdH2w0zpKjeyEQqUK~t_Yu1b zB{C0_>d`{4QmgvL+DHed^VTMrax6D~YQL+aFLpzQeu6W(4&kEjYnxBfE*|W{$YE%w`}o@#S~M(Q8UdOX z)=827OA}qm7V!miEH$Y|4!Ywo4|SDKjA*;D3Uzpbv018F($aF?U^jf2C1RmR=4(@L zH+;r{x$Qg);)}G8-KzZBN3H?xOEhKeigmdO!gpL7YpLHVa(`Rl2Z%+1>Lk}|^MI`6 z+$k&M&>*~&4MI>VZEbD6`(cSZ3SrhV7%H8-C$$pQnhRBaxq=EUC%)8;U$$tLFm=B? z8{7Br`zXJ*9zIT9{s6m#j@%wi&)1EPPFZUiSWi}vLp-)G*8x5<-N*}z@mJd%W|kc} zjPkVzORz)&0-cJjmupiq|FtrFYdQN`fk+v_`duZ1K zn^t`3d)6%|<+`^)@9JI(2~hm8UkWLm$oVjj*sWCG;X~8hTAurq!6#K~csoeIZr&g_ zz!?wiL^>K{GQDNe@7HKa?cvj@l*+3x#eM!{zFDZJUSKkY<@WB7c@ZrYhDkDZcbl}g zXnNP|3Xw<|I$lII@3Uefw3`>Q4buYeOv$P;H%BJxaJsE-;ibraSQM^mHxy1&vg;!z z%$H4pMZUfo_uDN}Zb4QwxOC@W^I7?gmZMVpuqG+?aJW#m=X82)KO5%v;3#-V9b^-< zx*1(9Kb0R;7CRPW9)x<$_GV=RO4#0;#eBaz_+$(I|-C=&d zcPF3W(hJ&(@<4MZh52Y(EZME~o8{H2`znjBv5m*9{qv%#dQNARcTVGKZV$SO&N*>1 z$k=e$5)|0RfrUuzsgEmJF7vcIOOum{2^xHF0TzPvj5-8X^8(DGuU4+!Cv8gqW5;#~ zl*VV5PVI>j`U8`xSdabvOIV<2B*o33kR9aedUgjbFx#c%`n7rYL>y`P!BXdxTjbuD zq>1J6zyRvzNkHSlz-=e5$+>;60H*V^;JS$o4w-K zi{7)e$>YVQ%}Ak+wUPMKx2GMAv^8+M38HyMI^2Icrv!Q}tvTib+ejT&mP?0FDlDB$ zoNoDpfD`*qza;UYY#@+fPID6dw4OO^tN%{qd_SE9p!#Xl^;xklB>zS%13dAA*v+v< zXI$5+dV6Y!Mx!KdsKFKHwAA8`9hO1KJya5BzvC2HM&qD<3&1WTtoRu$I z17kmN#s2vl<>DBC-5wZTDU=sZ_JPAyxc6+=SVS(GtCUaC2yrN_wem(ciIc9?XFGl8 zQXwg3zf!4~=4WedzMGi(b|s`vv^spFsj%63!m#KStw{oFt$d)4m0c`)7yFl4D^W1p zmS5`s3VG9D6dw?=tadQx!Htv6+a|H;+qxMqc@99r*u_sdYS6{lmlEExJxG5fAHoKWuG;Eb${F8HJ80(=x(T- zQcolDGkb22ri&jN^zf9jMnyk|bVLwVoxz88F#eqlgY}WKX{kwW3-Tsnw~C@~58XS2 zu)BPpBZYXH`92@tr>vohFH1|ADoR@wD;OEKSuxJ>dGES>+)-;+>t4Z*(Z$B0^l*2d zw78$PJ(2ZHu?&=Uj&KzITin&}$~-U5q3c6dQ$?bglE4nCw$%wfV2z1_TQa8a|WkVyF@T4-#o3uhK-LTti}8Ieuib@b_%4CE{N!70kHwFTycj+ivA6>hr7FQUqyz+QX&oX}enobH zuopKJe)A?kyD#^W$&XxHUT0v*uRA-|BW2I67+4inLfjNyEMDA?Fg)f!*nZe!=vgGT zF?@_Tmifzv^*4!y!0xjuxNdj%N|Ud_yiVr=k@?9GE_KxyxXCB!de-aJT)EQa&x?a` zruyy<8IhlH{S{I|enQ==MNh?`m)ulpQKw45MQtE|p?zEwYz>CfTO>cdg zhw_Z($vO#*(tLg3*44zLe2bMoraH0@UWgFE5p8^hgHz?|@3Ec1QY|BHf8Fydm8Iqo^&js!MPE~3r= zj2!LsqEN}Jc=IP{W>n~My&DQS_GfPzONxj4mJR+t!%JQQXdYs?yjrL=bw}d8{fL3) z4CUX?PF=t>!4^>)4{oVd7ezBlQt`N*gun|+PXL3X8ir}|xUajzstqZPj*JuxuXFw) zZbOAWz}nv|{~(07?W{abt(r`V1Nj*{Hn?&i20uesD^(|N-)~tWHL$6pPWvjd{A2W- z^-11pEpQq(BI}_-vj+UR30=J4;)e8{&DQ|^JY=XOwnW8W6`rK?G(73wm;3!8Xq$YE zw0ApCY+D8pU{~NPD+*wE6#t{9o*GY(Q@R$7^;yVJEeo_Hj#~j+s6O#)aW2s^PvwvYrB0 zIR&W3W)r|_jR~lQo@Fl~2wchc?%vu zXlM5-*z&ORc_`H72h>6br!14~ImgT4YzG9(t^r3J*D%j|pVq%t0c0gQT5|teXKgGY zTHqPIC#1qtnp2mfN36OD)@xM(vs}7_;fQp8O!@^h&Hcw0zXB_W_c#{#|04YhECC=h zpx2nhfc~Zv8r^1AXgX0*CLFtyif|oUfHIri3#qI$66>(<#B|>}?-?Kr4Hpw(XhCcj z#5(bkU1gykl)o?mFvwTh#|LZ!1bJri#K~2wW+jXKc3uMI z5EmU9%f~ZtG=9a8B-Qo%OavwHk;V?DJq$uq1y9?|v0g_U#v`@XqF{ppM{j=p=B&N6 z>v+bo*F2Cm0RYF}!K=+Wz&A2wuybMQqK*tKJGF1~U3MZ?dfsz*3w=h<{YC(9 zx5H9>etg_t?tu?7xNoME6hw(A{N0t1jO*iuMsd`|dt<{tJGLzLTDvU4%gpOE^2l%K zhgZXY@Hq(_RdBg}quWZi&lCz^h#p_wfN^{uLx*riy8xV6{;y95Y27cH?IbUAO};u> zUx|0aRH1AJrK%Lsv_)QN_KmQ3o@bm%_rNrm|`+vEVHD%A( zPgchGvx;Ks&5!J6fEW>gS#N8e0kq%~P}XE0U{VMEhjOMMo83cgYk8J&cK@DNzl?Ue zPi$%&OqKx<{dcV*f}w>-fHd5&nf^n%j5s*$?z?cs*65Gd)phg@03vCto|=~wxX24A z@~7-a9L8SDon2J#x}_u~{SMoRvWaB6G{EoEn_h!qmzx$FMQSMElY$K275h%%2k#$t znu3n2-Yebjx6huW45i0#ZI_h$KJzWfS4!I;ktY*6?;X9#SLC=!5Ixt%nEJN4Jqa8% zEGXwl%}-1`!@8OOg%5gOEDfusLFXTuAfsSie2peH&Z6S&1t;gbE5;xIk8NuaWI=;0Y6FoEkH@CO3v6vasJ+S zf!iJdZI``kKuC9E(aahi|}-kpq}7k;PIgC~NAeQT_%KD-U!+ zkzp$W(&`tCk@$LUN^CVY&L4A_zk@9zv6g+ymLs;g;XLYh%N4!^m_~;$X<_02VsF|Aq zMbJnOkEd#s07M$(>D1Yi@d?;16u0Bc+=lEyO)_$G z!y-aLM4i_A@!nTeX_uBay9$qpgoNIlyrLXRsTFWo_P0COY}8qRM?Ithjp&|Q6$7@c zS;8i)rv=g7<6Gb-%gph)iO?)JkS@U}*M1e;!ot!k-n*N?I-^~pc?W3U*s9mT9XFk6 z+>n`=-#zi2o(x}hPFji9L8fG*D_Q@m7j+bi3(a<;)0S`x6VHqN1C|w_b5oVskSBd? zQjOD6do_jcrG_RuYTsxh$CZFgUyP}DbL-81&ua!Y8%(}>v!P*OtT@%8Rn6Yf_Kl2( zH?fA^N3pvc(7l-xormTX&0dbTA#6_w#>HI#bI5wvGfLn5aBr@bKNubyoWllm2gG4Z z7WMf@ar^A6cz~4XZkfo0J(`)s5qpgX`6}f%ri+SBya+loX@+V|>q$+8b!YByv6`x8w$i{4aN54VX?}15?*k=YLVzY3>2uUp_3z}j~mXSbuaA9ZN{3)@35X|c%K>SG-hI z>?UXu8*9BjJ^J}^PkVb+Ed5aaRADbIUNpffrFve90+8Vz{(kjZ7XFjxX1DU4j4Qjr zEjyfswdLDY6xn5l9=!e}v+cuN)s|^7yeN*YH50O?nU6)Aa>|`|ozxOj5U{%0{0244 zM593Iv2KRvDMo;(kLvmmNRr}MSlO9TE|Hz#MjkA7cS>TVlaL5AGd09xiCuUJdd{35 z5EAjiZ9uG^d5?9^3~&OQ?lF6|@R|%vGPkp{bP+p11Sn#u{x4N-Lu`Ce1$wE}^W>_L zgwi*D4>~!cz}_+iL3rC(V&p1gEIF_~%dIEvy`nvFO@ZWaJd|T2a)=PLrqI1?$sJjR zUb(s}b)p%t>;6a5wZSBoD&0m`{rVAg+p`_MIFR#Fdu?A|wSUnIlooseI@8xSCne=A zYQM?%79Yrc3>r=)ZAW)!?n=WgnrpY=u8y+V}Fc?9S!x&kf2`wG(%_(a4c$`~svZ znmM|bmIrk4F8g%Mm_|24jw^j0&(&U!nFle&MF_}l|D7*tvE5=@MQbPTPB{y5NEFOi z8A`6MN7NJH)2`@ZTfFIPEx%#T z7x~|<#-`}ZXgzZ@)uuwHUFdQh%blrcElXs#kCcmJoX?gNGF-BOY8Rd7i~wyCJ@@O4 z?uW?v?Zf2ye{e$jKK51S)Gi3J42Y5}-}I*n3?STUwY8h6Z{T&VY~^jr&}dL=K$LOs zeX9x31}}VF_(($jnv`sBVh7{h*RZoIc})Y%m>hsH|JZ&j)hc%|UN&jz*x`=2#l+Y8 ze53h7$Tg(2F!+yU$FFoRiFhsK_SwMConl{S(AS5?QdmvXvebOWa*TS%*h+@Q$?p_a z_A}Za*1tMqE>m)RMY;SIcZQkER-M!kGUGLqMDY$_$eZFr7DN}({DoAbw9 zt!e@S$K50arZa*H8Gub0G+pX1A^4HdxHGQRgtCz1u#*4v+fJEY{mH2Gw3-^j=~nEr zW4-15@mdNNxo{ig-J;Dzp+_KE@IZpi_H1=x-^by~oOqVn{@dZok0^VThCXMZgXPL2 zqhKUdokmw8gg^T1XI&)}&#aM!Ro--5GyYPZrEqfFsH59SD{R9xinRI0^BHB$+_UPt zo5j45fG6Qi-dC=_A8S1CBn$}I%It@VeD31C)Q>HNJrV5{$IQBQ75@2q@F@Og^cPtF z$D@_yA;rN`uV>`?l4%SbG}A{;@bcyYkp{lM;d^^I5WD#RuGLdLj$G`Xi7%rOZTR82 zO2kCTG|U)kW=4Ll|4Fy^QE)Zv$wCgdd0Fq;@!5`B>*3pLR0{95wB5|H=vX(jE28)~ zpq*U3@7;9iF1q-MQDzx0%VG^N-tiu0 zD(Ycjaz?`i=?jo?KxP`@IX7?rrhbSm@+C>|UcHl{sv-#RCDzmXjv6eJFk;0Q5c~UE z95jWz0pUdZk|&;EYvhx0;%W+@;FI@AawV5U9a z;_h{eKbwNw6jqZ78LZIvi5K1vR?-N@0N^8d2Cb#Q(jhPZ;JLi-lCA!!4eo{yg^zPu z%4*q|u*32rzL|Qb_st7GeeRD3GE9t@73f0`g3Hw(kM|?C#pZn1x+K7$nDra0%u24S4c)7(&9iX@Hd!DTF^A%gi-LW;MVyvQFR;@B>pSv_S(d=R&H|Y^! z?x=NT0nhVYjpA;gAEI2WdW-63vJWXmOu7)=>RENDTGs$iqvP6Cd8@De-fT0kjo|1< zscy7n+M(dcixx?Ti+#SjgEHOfH2M@CYefRqJj-#-Qy1OX5D@Oj>FHY4Ow}u(gYp`= zMjTxH*6U*E)GcajoJcv%`}faR4|XczN;i`8SL>^8ndiG6P76&MRY91nch2i0hWfR( z?~;Mw>GZ0L$Z*+nqs%;iKDST55pz`QxbYXC491cQ_*LO|%wj^ekVGhOPV`|_i3XJ7g-JO0`H@ZEb(NK-v9SCFEEV97hl z`f7TmULK6u4Uz(=$0j*75xg5ne=~NV=;q9iWD5pWyInMq?_z*(y6wx=Hh$40F#wc) zaB$km+vj-o`Ql7$I}s57v0X5~q~_x4fB2&ENhI5I8(c z2^ckp{x$XF;oS{ZfvcmN^WAlM$Jg)z0ng?vr;T(x`oTgV<_md1;-j&H{pfK!WKowX z)xU9A{HQxiy13t4G1=`$`)l8xtyI4;v_(eJ4h$AP8zy*IrQ|keC+9Y+7&3F?H{L85 zoE#J&rIkML5PYgJu}WEQ=ppO1C$#b6_nYYAs87GBFwn;n*nql5x4F8azCIozR_%^? z%U*Gkr1(27N?bz0Pb`{XrrfWGj5ROR6;KJt7#FW|r1GxpRN*!Hbv-CfzmnSyW(Si( z|LXg~qDjieABA5y5(dJ$4*pgd32=w}H?PIZoWwyAzmHt+Fao^tQxa=;W@qL1z5k>v zFTC|b^uE8gy`{bQuu4gDnAa=wX;rj7!5pm#U+46xHxm~wWtWNaGmaYENQq8OBXwoz zCAxN?K0}zfF@#qZuY}24ZE9)?)&>oR^MI^4y;@1NkXHR`8diXWg?>{|KTH*1N?joGAp__09GZ3z7ao@g;EN!Q9-21+($I zKR<9@rysS;e@2E9aCLQv1F4Cs+|dhlY&dCj1WXW>Kc_)%v#s|_PB~2j5!Q{ZjcqvD zKYvacvw;&}R7}#)pdePm7RN)ZcbFA#n9q%G_8TcsFF#)!98xLVW-yOKO(IF<>xm{D zWoE=H-WmWp?T!Ux#JMyz01i`!wj4<9Bu)NS9 z)S!aD;^Xa!3_x5Bd8!fug_Q}yY~0pKgV=Bt04S^VnQ%7woKHrl>&~PUHfX6U;Wqku zjNSrelSO-iYXlsbRh$(yq)n{7%vX=i_|uwMgh2uzQQ^Oo>gi>7*bu1hrw{lh(0S*qt)_Y!-$pky<52t;L2T`I zk0J}-KS0eF<|afQiqN10lHk4O-BBNuZ5Ej(yKSaZr;IR{u+`lrFcvV0@+!6@7-+)1 z3q<^3Xtai02UFh@qdl*dS+GI5KM|+^p1VYIja}dIo)7vh9gvxR0cyQOhS=1ej)Rmp znY|8fH7wAp74voTzZCt&3gx1V8%0)Fn9DBvi&4r;4V^EeTgh`_stGoGM8B_8Qenq+ zhPP%n?eZrXe)^|FPoqoa8~bx$$2SLby}LR`UEN)Ftxd;YH&O9C1bzp3+Fwj$2h#AR z+7JM9sAV50ePRXO4~MddGTZaW21B~bvi4s?iH#c2p9HEbHJ{WvX90-cA0XdjmKs=L zW)Myo%#(%1pz^~~wt&-msX^mXGzfMinfSq~UGV|TYquXnaewBTzP2_rB9_~)=I`<9 z4x%)4v)K`TG#ry{r?9zt3!*rouJO0KDoA39EYqtK@KJiQwl-NHAr`~&T*vHJlEmWk z(b&ZxK_BB2f0Ux6R(jMEdGHB5*8Krv&@P$PO4rD@YeFLj{lp9O0VpGCuAR{()<)iD z=Le7*KvmnTKFIL8n|Zmf^Lv#*8^Z@hU7(g^Vg6;)(@-RV zoBJsP5m1r3+&3CWN8JbDm_4XPHt6HY%0(?i>kE4;p+w=jZl!4-TJ3bqH(K#BM0Cqmn{e4K5@rsa)}*Z^EC4!pMfQd_ zQvF?so{u)?Fa=t+MSVPM=|eyjPh}-=;PnFrnX2CBsWUqxF2?iIHP#sG`2_~`Rqs#z zdEfZ9`k5^bpzlm5WoPu7XbjlQa`OD-F30}jc)we6YG<((gJSpKvvIN5!f<_liE2zj z`3;j*r^&H*e-X_WtUlV`L=s%?sLx`=mYUvqz_9=!Eks5TLY6Y4Zf)_ydKLlV@Pqak;2Vdb@a-b%vYqVy8}LJ9^9fR9vE0q&+!h;mY+oF$ zn%&#C&uG73j^!q1sy|~<^u)+|M~OT}k3t}xtBXW{qN%SxJ+Cos3fY+zbzy@|RYQ3v zQ1H>O7Wx8bzJIhbTOX!ov8^fC z?%_mqLD4_+$I}R#%InJj>9WO^gk$K=P4U(a}Hp*OrdHD zSNRtCn_YZf8-zWsV z_fuYYQsD*thVf2HQwUd_k%?)TB}J18F3Voa=) z2{riC_+&O<+d)N&ex=r>!8v&ETJ)lq_D=|yjkgj23O`v;jYK)Ih464l7xkR?-q85% z!5WI~V6MB~i;;6G39)Iikv_ja*-Vb0s z{BCZ>=*sjJe2COC^xcer+hxr;9R4gDr|6j}!Q!t8KfPw@DPL@fX`00otF9@k7F9oX z)l5toZ#=NpIx#X|q{7M=STCmPKz{eSL<}lEcTDEm9_mmGrIXj~8~f-iO&!k|MvpiI zIC`X28EYoGASwt+gBy|^6c>XxVVW9RyS^6U_%WicWgA1%>+@A6XYwP9X9HLq5)hr6 zd9C*bhLvMxJfU6LmTJ`b{L2e02_RQ7QXJ z4P7;S`bAD^A=c}=*Tbsjy(MCOsTG97V~A><M~vu^P}C^3u-I|N0NawFo#&qpbXhJ5O^Q4v?I-;i_( zk1J>xdD_f=wtGA0&&jxVbwaA;g4a`1Tyeh6*2Cc(sq}7Vq5Nj<7@h?1>E@g;?RMbv z#e0#{`DwqKEpL9*C#@&zj{y@SKuhY&?TM&Trpz|{4Yw1<9fBg`sHV7pIZ}Q02gV~? zkG6xqQOwn^bZhX6q%RkVK z`*Q4jwtZfDW8u6VX0j-~rKqpB`G2T-%dob(U=5VE&=x3C+}+*Xio3f@@!;;IxDTUlCI9$_^5v*dfXe9B_ZAZFp z>9uuoly+goh$Pu@6i+;5=Yap(F{np~z;`(@DPo5JujSUp++eRDFJ6_DRl+J$pF?wW z;|Hb^E&&R2)_B|JLAAE@uiW(QweUOd*T+LUqS^$v_YYnueZ?^=HSq5!yzbhuPpTBs zo$7kq1zV!Ov{D8*f$p{Yq}Jrd)oV#yD(IRE2&)z7B@s@v!@g}23}>LQij==CRg}a} za{60q%epgd%1F+gE>Bw^JE}FderS4luxXX26TG^?T2I&SKFlJlOD3$-;Tgip&5_6| z+AO6SR}bEl#cUtH$as%l=>Gw&b1x?SM93e z>OtS{mZnaQmxm9y05Z~}FbI4pU)I;5$+^HW25Y{+z~-&w2dgD3b*s2b&3A|Yu5L)Y zB0(0T*AQu&Tt4Jj`E6IwiTzs(qrq}pp1YBuM1HJ|`6O838N`cK7nOPD^4yWfA3fIj z+*p2gUv##XjYM{PQ}z4fzx5F~^`@+ew3_t-N#rtAv3QQuga3HGBtj2~kH6B@TuM#u zp58CT?`rhjQ#zUlP?9_y?niTfK-6;tW$ws}i8m~W*oH0=nOSR!eG;&_BaG~-9gm%4 zBo34jJMq}pw}Oyd_48UQMd4s@$lCy$^Khe|{?;Jp#aQ(Rc{WdC zw@gjfe?BrEb`~&sI_plY4JgKQB{zZdAaMb=SJTSwM z8b{uXR}FWcaJyd(4skdl@^Loq7F99}bl(JPtRSVuQlT;LvNg$g{YF}9ONai(ObghY z)5fD*WkH9*qY>=FQTyU&O$LkJQxGO~>f>jY5;Ris+szaj%+9ezX3{WYgQ%7i-Uhl< z4(L!O$@x@rJoNj&=_EwEhR|WXC`&j=)?VAEmKs-{^A`pra}zB`GsFzZv}St*^BpNm zcHvP*&`}JRJ0Zt|e!(*E?D?&Nt&V3~_3oUc;?RQ_R%Ph|N5@M`Aqj0%Eld7`;fQdL z6s@gC9K6fxsSu6l4ndxm+vmUYKjMmE)-FaquknM+Cdwo=|MLlIRaVFJ6~{wQnby?k zCPpvLqd!f0&EubX3sF0pZ-uyhb9v8Bs>Esh>hz-d5ctCzY{TaU@hE{knkZ-ikfZoq z-e~k@-74HOO{ZgT#`Tjh7yx~egN$Z`0?F;qTN9&MM_l_uue#cf1lJy(;@ge9%2aM{ zYjx}u9#L8;$o*A1wOzGKv1}aFp46U$N}H2kCIjt>`8m}%@ZPpe{8^9$G=!>!d1M*W z06SMeZjemp)U1)1z`Jvm>KC7rqWU{6OQtL-Mn*?djjP6t=Z~L=%K5D`!ve^+fQANuQfCXSlRzN>BY`^1}5{Iiw)5{@f8 z+=`9d$)ab?BFm;YRW_u`6gPQ$5vyfd3R8OeZcO7Ss4n!j&?>|NaQxWty;N}7@xyig zPe0oU7IR@cuD2a9Z!csMruTA$zv^c#H$WP05$9YwVO{#5J)fe=MI!lfx%lPxIN&wp zM|EEQa>_aObcmKs(*AjK_g-Q~VXMOVvW<_0lt@AV8Z)uY@dSNY zQuBX)v5A(eXu%X%=L-)-Bs{eE5Ia0qVN^ye+(Aid3_1c09Ppi4rbDRM1ASah(vQ== z?Z5RepzZ>Vur5jO!0&&^I3Lbh?u;Z_FH{v8P;3CQ<8*yi<)%6EEU%v~CCrcRBN-Tp z8fjQ&6H6mGX8sfz5Y-F>4%wR*5V z?sqkBnP~^r@qpT!Q1bh<4z_D=RjlG53(;_(6$7OCxp~dSs<&FuVl+lWrh|S%{Rdb^ zTU%R7YWU&$sMYzPr->fw2NBV25}%?(SitH^frFHBCKuh5az;f&VoH8(kS*)yBhJDT z?A3Mt(xB1@W-Rl!RkL%cy@^a(8k%iK?v3Cd9O25Pcr4#TMSE08F`y<{hT7*4XO|<6 zLFm>QwxIiw;mDZUikbojxgBevI@8jACIMjDw=%r4$42>ovTc>9mW_;zjE%{5AONI^ zT+Kuxo>?wWFDq9rC!-f9oee|3-0dDp+aei51A4@)VDGZQb8VT`@1bR z91Ocy@U{&5Cp8R}5;$5b#*S9#h?1DN+0q&q)+|==)$-Fqv_h3x{2pa_o!Yl(S~KY3 z`nZ#R*IEuf6}Jx(X0e5HMPYK^3ex!)xdYei-Z&pwAL4ofalbGI;lh!GNEfEDn2vyL zR{pHKpL8`8jbzbDtz!zRG_t|9fpqi4N~87dC=Wmeth9`b$doFxhCuWE5DAq}vX>d( zdsVOg8*>8Hpp6xLFkiW{JD$#IyDCX|$MFfO>jO#vnWb)A{_Hozd`T2n3~!Wz$b9Zl*wRJqO=Y~od$}i<14)CQrY(X zuw|p=yo>sYVWr}MA4xf%$b@?Bvi~v_)_ynFoTTeVf_1ju?^(7{8T`OA0?@|yKejny7$;mF2ejG=cA z%*<0&%wom5$#Rt?qbf;6z8bpsvIi%4V5PmG`R!$cQ>zccva?s`0gNl>C#Q0o^p$y= zk4G90MWnvUE`^x&efFYtiiM=s=l^%?(+{Bn41i20!aZ-n(M3~#zKf4&s%uspRg%c{ z?Qx~-rODkFL4Amq$*RM8%d?@7QOU^2u1;1kTbF(sD$yiTsN{?b0@#gEq~E5P(_YZr zN$pJ2pjCylu?Ef0sf%MTElUfk+i6+Cve{>?*Rf4@y-6BMg%M%8Kbh;T^KKJ34=oZn zz-l6sH`xwYldMFj{RT=il?L1k-o>L#5u-co=}?#5V?L6K=yvG@ zruxT!j?)KcT)Svie_;a?inPDLVl`V59v*I8-L77$dTE0QmE)2psiC=`nTalc3sFvP zmkm?eTs&m@&HicMJ@^Nkn6v=d*-f(s7`E@7c)mk_I665w zxn8U5&I$&U5N$}C#)%>Qk+DirQH;zeeu8$v1WU0)8M9-Ua(J2TJDaR>+^YJ@Zfhgp zVnpiAmm{>mp?+OW=tT3w6BFwYmm>fuEK_=?!f#k3;sMUR zG@LGw0?Y@zbr;K^lBbt+N#NPGbo5s=%rc=sVmnS>ps>l)dKZ_oJ$(-uN*$` zZ76zTR@Qh^t&YmKH{K)|DMhK8nB}KcW(AQp?ereLbwm}`WbraGQI&kXeg-u~(F3&z z|3UBV`#*?`fOKa~#rB|jjE0m_gO_UzUTP`gWZC~^OLjl?51m^ur{&uhp^z~ev`;2; zMX)K9S47`K35`x&O#%HRqo3b+B}dh3|7L>T=q?67Xm)LGTRntX?|*-F?CPbYq-10S ztmth6=7u^CVv&*ZEi}sO<{Jd**`bdF{SD`~1jU&K_1iJIM5SdM*^~dzEVCYAS65d{ z%Y);k`kl*jMmFG6BZ;MN0E?s*r2=8jq~ld!9!hFIOK1x2iF*V{F&mZ}&L_^_LOQVb zwU=q^{BJKUEv-Z}!LM&a0CoTTXA_S}79U-@pYvHJgC#xE7!|kAH*P{1g0CZ(``@pG z*pS0SfxybZ$apqiiTj2rp-C!U$ROFu{K~PIYc3t$hdA>0;572iIRyy*YLtz;^8XMi zeZJjBhfb62_}JJs5cZ)ye^oO_Z^@gGE*4NAO!^Ek`*N-?a0sVs8#>K@^*>atSf}r^ z+3&1z0LsgsgM{OU``#keB+2R#*+R{PRdFAcr3YyDXspQ67fxI&&8x3YlHAI}@lDXr zq%AEirlzJSQdntk_ZLc#!aG>snAf(j@lXYFzfoyHc+$~~YZZsalx_6710VA=>a}M_?Dn16s z&U0jh98xAuZU-6 zeI0oj22g@b@BisKY0IVEzzODuKIa`48SBxJUNxp<%~H7Vf_b>W`d?X5MjR5gkS_G! z3o)1cIzeK7|Ci4k<}68QYN2BlQ@v?rLurN-84%seC1ub;H*dl>Gg`{8&U);gRC+vrB`W*+8@9^{?f?>D=-bAAkuBEa@Jy!*3& z4#+lJIDHPH9)5z7^TVg5NrV`9A)K^7m6>qr)v;=mZ0abj)s zy|iV$mc6^yCQ_6tbFbp+djqd$`{nGmUnaxTuJJ(-q>hj{wBfdF%{cdN&Xn=O78cD^ zkLv!VUCcnSu&wj4ki^(+!TbStps8&;SCXnshFswmlNwe!G;ZrTiMaCtvM+dYb?|)b z!wBNX9k4K{ayM$Ve*A3;Y)t+2lZLQD{U{ur)|m%?Bt$*mt9V`Rl@1UXQ>+RQILMXF3vJHyrXX0koprkXn1TC zan$vchFZyyqaVEInmTcBiuMpRJ51?GKRXm4kQ!bpW4Px*?1pfQHM0Ibf6RrtmN`Jm zXAxg+n4dWkgtHqnNXm3=(alcq8+zmy?jEtbH>_WhmXG=s{lToW9ucB>eI2aJT?#Wo{+MvlA6`3KiaC-dHzbvyKde=oI=w~bRb)Vc~ z6`j9d;sZX}A1Xl0=hS@m>L4~qHX3dylSN%h+hUD$?XeU8v)ZE*pNdM!Ur66(Tv8)& z^R@8!)B4$0tFW{rB%Vy$=ZEVE40^cljFbsT7eLpDUKRdG1-U+yjpWj*61T#3kBw|W zJu@Frn*XhvKZ#4b$!Jfl3+ea3(HU1qt%JWxcCT#+Hn1hwdUWlRgY%DYUV^gC!8nIU zjj#N(kIH&@vrj~D-lcQPkFQiH>vqs^(&iDroteOd+jw{XIAmP{+scgYnfe4w=gQPz zU|<|u@ODIwQ1MohXtx2qa6Qy|K613?kL40pBmH%>wV|>MpVfiN6_$L5b`XxSxaf&x z_Joie7KPyX9AeC-l(Xw{6!=V%yPsIdcn%=n`oXy$+xE-cY1Qwvf*YZ5{QR+=%8w$L zzL6a%T(dt3{>3Fo5mrBA0)}O-lGzct#k8JZYqK5aNt6z{%vFPnve85n_JK1dbmYTd z!2`eoAjkR3^7D7mFK_jE+r+f#_7`sOrR?k37ae|Bdn6qkw=^F zAwpu@wsH-x?_B(hv33_{^Skx$*2|hAKH5l1N!}Y?^D5QfJSEv7$w4YRx5CE*BHaC) zZB%scYrL+qlU=^uBZs>Wb9DpKH=}`k;5L8u8HG(K7awTHw=c^3+SVlNENHrrI_oRQ zKyNS7@IEY~l>D-<^g&Jb(a*YIKJ#cf3DsSg4MbZwcl;fz=fOJxdRSdqswp>eTxX+j zY7pJd`XUrX&;A(|J?uNySv11~+_u&?Oc}p6zkOU?qfNJJ54f(N0+|{d+10S8KG%n< zwi^?X<|JwK(jop7nzWODt;Kj#w5$1@90<$%+@aq1a=G3Xxo;wup>u(mmFb`p4TRdd zB(VoMLVO$6JBDq?I6r!|cmyx;%^dX%MNY1nlph}Z@yQ;E(=xBdJ>r>WcztZU`KKzHizpxEks#snmKG)8Pns{U3J zT$O&|Kld zn#5jz2$oL7~OI-hV^?22`rbbcrMEr%z@ zJn#4S`xz{I)yi2vyPtFpfC=*xsGQ>JUwLks6`&sYCb@q^rO)k(@ngD=45$RzeX+k< z7->BESkYqBr{-#Xz z_Wj3Omuqy|^zr(26i?5WVcO$oG!(Ig z1U!iPpK4%5C%2EaJo~BbcxE|PZFOPm{+2DhA(~I#pp)@l-hQc8tYcTkK|>&rcFR3V zlxNG{3XJk)vIp=AAB|19vo#aGJx{O5TME_NcQi3i?>D3RYQt=k)kzCFgJFZa7!wL4 zSK&$1+ZZB`E1W5u6+Vajx(FAgT1$WQe)gJL^m&KHn>QUzkS0qY|bZ$kd zBJuEG)@|*4^Sk~vhDgTU;^A2pOS!f>uFO*t^4f61mzjq&i;{1Kp4g=t9%mxsTP|Of zzc`PiIVyIFqtDR%lvQ(}WfyzvrrVAF2gWB^Y3_Wyh;b;O$hyVZr^LvyoFkE@)^MUFRg;IF$bjWlsx7uB>n#qC5(Kx;! zaGcH6_AAF3<6e_@Ys0N^cxu!g*XfD=z8NnL?`MVuXMi?OZCrlqP@AWT@r668fSa9P09-Pg;LYD_tqo0DO8hN_UD~K@8=OAmGhIv`u zOL#DJMTW_5^VZnOMAG1MuD$B1TbDtM+>jwmlUtS`sD5lT(FyU!N7tjX=If+B9SN~F z#had}F}T z?ESvN!o1a%M5v4`aGl-14BX!BS!J=sZf1wMQo{*#yK^?mS+4zHzdFxOd(}8CkEVM%{z-Z8FLv0? zzL@H9asd-VP@*tZ&)PaUK_0tiLMF>54Vjvf+e>vo^7ldz{~r8%i)@vSBE#+BtO|Ey zyBz`^7G5_Bw-KFbflDsD6{?7~<*mfQEJi=@)I~Ebp>~!-bM?ZmY=rQ@g&tsv+$OlG z!FH#CWJLO}&`fC9b3T7A(+!09;@F6XJBBAhQxe3elh84~b#2Ak9N7R1AMKfqc8%5# z7Ck1$-qTt$(N3U^0qB)3w$4G_MAfl)wVI#l}MseeGBMa8QMqJ=CJQ42WF)^FL7oZmWCtE)>H zb4zjAaomPD2z9p0tIg#2HM|9?Fb;&o~upX2GM-ue&O z0Z}MalG0eO0urKaoK&L*`mLk&>87%hfb%@$^W8}KzQ!iOVZ!Eq z_v#^<1BpR<-YZPcI-hi=?q9aS)fdd7CB7B5-28=AYKuuJRm@0}$H}Wl>g{;=HHPUT z>+lJT?2Ak`ycMje)*ZVR-Ku0-eG5+-fIcwH@HnQV2G7zQxp=S#-N>{^088nzPWcL;VZ`ECb=K;6=v4ZqvYJXr~;WRQSZ}v6jf)F1jkS6tglBJbVFE+Y_}WGB)z-8{}jr3C`;LuI)g zxw0u4>S&pSs&CzCuN{YvgX8H|MmKTFRR}hca*E)%=iUYEGMIo{-3}Sa{ zyVbse&;B+dV0YfrM=cwyX8B3OQW2}XnT1=8%u5@md_RP34TlAL8`8~>e;k~ij=ar` zr36A;tzlq`<1xNLqbpVhOK@`QwVTWhQ%mP%@a zOPm$%>3!pGVh2kTklEamfi#_1kFM3;ZAZ_G_EwjQcLnt0%_wmWhlhK^3@7beR{w!F zG{|M0R+R8|0=x6 zLeJz;d}Z+%OgZ|Eki}BRCRJd4y&?4WrvgS(Q49Ddu{!aE>TYoReRd{D}FAREz$q1($h<{_3u@pc0oeK zv$njP3LLlf-IwIiYoB{Jfw-d09vy<>-<_>D0#%AT1FWP55|Wg(StTxWSq!%j5>xL) zB>FKfvIll??yb8L=nu7%ZshC7?Os_Zd+QIr1tq5eKxaZda*UdkQSCGVKJfh!4()x5 zFXPvdAm=a=m8oN`Bdc=TK!!2(0d#v%06H*m8%~^tpwuFB>RS8Kp5I(ydm}wQLk>Mq z&zcse!Cyx&25%+(pDhi(wy|<5UD|A2u1@KB+bbs}-zyBHpvsrq)5-x`Z2+hXEj{OT zwgWOg@Dp20s5`(fI~|X#{M{1Ap;!PtWthul^M8%oLAb5WTzTe!SiR19O4?xuhRVf+T=1X5c2#J~lNW*JqE0D5f#RJ=66E)8A1&g5o|P@Kgl zIHmuVS|6Cwu{64B5!B@{qpd1&{_JnqC%^j)r+YDHAM|9Uej0fbEc@GC^7CbGk=FtT z3ed@;tAbB-W7UrTvk10TT{^7<^?Tk-X{4 z+E0J3xDK)TK*2?S}2)f^Zk9MF2Kaqcg*C`DMs*IzAW8OrqCv-?h zZx@tt%YonM`TirU|9gbC27Br>GvQPha^=Zmp`Cu?Jc;877;{~J7URk*F$z*YT(#&73 zvRpG>lgP`|s34Dw4kT90bWGS?hWbR&jOXYyphkQ$L3q=tF0a6a=m8zlL$pQ~Y3$Ei zCEY9Nl)Z1UPj}L&i4nAwl9Tr5j)?g3m`ieTq&^7l69!m1dzO99hSUbT<4ekX-E>_< z(~N7C4~QyZAF=P3UN~amE=`i)sB=td)7p^^ye592LpE1*$*dyPTe%{jYtEbp~K1ec5fW;$Bz@h^cB4U8c zVl2L-;s2JeZXuAh)KG<>W#N~EM1dN1jex>!sESU8gC)_g5jxgD7Ae~s!a<+AxIlV7V2`jaZ*KBWkv5;IzEYI%eRsafsp;_QwVknt%ZQSLiVtj^? z9hT*mxmp@#_1R-%gL5Q?;ObZHv2uh>&pBheL=ea zJ=!%fD~E{;D5@EE^Dd{)(C9xiXBKRzZ*YJQTLnGWJze>DaRSt><@p(n>2W~POsQYk zYtO5nQJZMuYHIq=!ybJ7W5H9cp$i2%Kb4&A2i2zhxpJxtv!}ga50YlLy`5i3PV+9Q zOkd)fg<~+CpmFl3w2x&zzM%>Oto#XHXHKfm%`Xpxz>AGCqw12*guA6b(6~EWNA@vg znrW^Cy!t&SObiO+4FLj46Mlo!CP5Dq%bRVm@%(z>xq^ASo5$=1pfRy4 z)M5k=Q*%|G6J0qV4whDRW2owWT$0)pMBOrQo% zX}uF3(|Wrdcwo08LT{z!ahFSgidl0}8lMiNMl&^Lk)wGK<(#5kT)rZ{%;JsRxC^*Y zX-oK0x+V9V@&Lz(3jm7`2@**yX)Td<+)2QVM&1E8V&gQ^_2=MWxq$+ntUqZn!@vX_ zYa2|Xf^&T;H(MTT6Y+oGn?tciiC~8u>Ie?BM}F%nQz`3|fgdL6%Cjn<_U}9HZ^#G> zq6eI9B1?&Pc5bd(u2b|s8g$b|PxH|0p}(RRV5B2ni-T~XI?=Fm1Oezn`0#%$Rz|L; zpx4U9oA#9%g!a_aP?c^w4x;#A<#Cv@^ve=E^uKG%yM@>aI{Ff=eTkd~ECcr|KTO21 zH5Krl!08ed~oeY=KWe$=6z;}zx7qVQX?N51wvqDQDe~`;b6vI9yEA>@6?jr zzE&d~1YfK*zj*-#;052_@mr5tgbO|f#Zv!&@W84iTgP)e_HG}>U&RPle5ECB2*#{i`(O!&_czQy57gJKJSgk zJbr0jyR{@H|w$gn(N6*cDvh6BB~(&*ERi3pt2)QAhOc}7$7rrh21Uz9sSK~dfm zLD_nby6HPW1&u)$KVP{j#VI17g(t|%&+ILudpNwfreI=^DU*h2yy}psP}G>U2|An| z;)U6Jk2xBq0OR(dm~`!exiJn4b7ISZbFfg70Lj5ShD2~oDia-TxDt0jVfz)FK!hDHN6qVJJ6H2D!cr{69mY@~yu z=FI0RA^kpdNefrKe;0q^;onnH`U3Dz`3`*2*NPE+sJ$*QJ#2vvNw#ih+qLk^!*i=j z{q%0PiE*e8$^A=5rx4x!vl{vxv^V7hx2{sp6GddS$GZq(4GcFhY zK~!|<@SIFbSeQdPXOR>+!R8$i`b!wY9XkWOr@^q)x6WOPXJ6yF#E5h$K{X7@@n8(H zwJ+1L#;@N{jE;;JV~@b;&g3NteXVD9qsN6+>Z6!uL6p{F2}_@saS`@D`eaP4RvcFJh60%#6o{P-q=WV}HrMiifao7Jl|15sJFxCkG z+*fXam(OhDm8lCjMh1UG|49E){G++gr)N~@HTgao~sSe5pdw}{I6I86(+<98i)?ehS2M7lC|SYlhk6i;5y(&Z(2U@ ztY)2Wx+qQ!-n-W**7{2alm)=?&F(R%Qgj;U#^sjvTj7u$eLQwvR{u+$(U43K!`jh> zU*sg<M2%f{QYR${dx^0NulE_Q#8)&tCvI{AYp~LtwUp4TLpO-vg{Zjymf=eE-KE zsQ$G6B2t^tZnmdejxB`iyYU3r3F$q_#haV%$uEmaHXZ?6#8F6b=VZIK+QRM+)05W8 zV0G^{p@#z{1Uk@>u(UXs%q3qWSo^Qf#aPYHxO1d}Y>4y+RSH#VRk|{x5~~vX zDIE!CBY0=6Gba0F(zF}i%~^^SeS3NfeJZPKFNK%5&~)1jQ94jRDmZBBcO9xRi%L({ zE4@-Sva1lUs2nfEXTf3J6tmmarg zykr9jiQ@N7#yMr$d;-hyi5xjsw{|_Or>Luc>eT+>L5E`3U(gZf7>qxJk%I!Nn|bJW zD;UWOj`E5FBlRA7GCMh1hftHqUY>1+f3DcpkTqp^zbmKe!BDl)7G8uTPMyIi#NiV% zA?(Q<+!t|Re5-$!Y!dy};^$@VsC*7?j=U^Up3X1F`w6ht;8xD3L!e%gI7?b%=+gS1 zCo0$pqfIKt<8KSQ`jOMu=Ixp>xV7F4k&q;Cc(V?|mgCrPU~^Ynuhx#Kqg#Fw5(fC1 z#KrHcY}H2_mb7fKdxbCF=P-V;x=BFH%*22BJm+fm&xzn8zL+IxZQw~Ti^3jx#-GtD zi+S^w=jN@6r^Xg^eIhTB>Xyr7(RI>5n+fwvmbNe~D2ydQNJ#1Z#A#M7S*alvh7Qo11r!YPLj0y#wm@y%m5MMIP@?>Feh$i}+jo^| zi^?6-7~~^=E>QcLQ>K(DvLk{zyCQ20t7AB6Tg-rqH`(wCyN8jA*PU#&Qqhp@ewaS{ zt3_dTZtW`8`yK6T516kEB%^C(CXEH;F3@lEP;Uoh#){6i1{+yegznTg&<74`>p-{+ z%I}ofSeI}At|8D2%LU&Y>FjepFvsuU&{lW5CmH>51Ws}}Z-E2>k=pZ(5p?15vkS=r zk002z5Dm&IKVpDMNW}cUNd@F#pFH4>c$^jw7GyWjz^HPSd04!+`23fiysBnLfXKGT z?CI#;Ole}T6ge!P*Q$9d=_|SJkK34`wyHjrz8*ELMg1`DL^Q$@lCwEq_s7SyM0nl? zI}CzD#!8m6wPj{b_sACRe-{Dm+XQR>21D4`EO6%sV)TDYcMY4+CX+#TM)-<(>L$_x zTvtn_bFOb7BUt%c89NaP@xAT)2@eNycEBe+%iA-alCvb1}&hO80kdU z&_^&xD|{C8w8uVh$Z=R~W(Xc;`|$t^kIg9kl0e=a^ooa?Rcs!8LqwS?s|=BShx$=1 zYF=1&P+ZQ0>FV#HxF>&vzL(?ZUYrvx%kJ6VN^-%f5mcbq(ZnNYCB)gO)@m|UeX(6n ztGN1H>O6XXp6@IxyB%i2tsKUBiCVaW@HM|7^a6SCQ*AS@4>d8v`GwCxMtt4rI$KAL zn(kn1Ql}8hG?UB)4~)lrLx(Pk(jL?hb$c>e@H45m8$Z66g(7?Cd|!_`o;0cSJh+q)8YFNavarZMClzZ_Ph4QW8hV?+Q`9L!M4TeALqUcU&KqqRWps?pQv(U=2oAa^3;e(xK9gEpWboC zLXL8&+6`ZhM=_7Ee@WNoHM9|{Ct&;+mU(uR3P({%++LID`adRG-WJ6MRp#+VsXoC> zQ>8N{>^(G_yCnV-$cwT0u2EeB)8j2NTT_EhSmHekH;E^VBh$wVPDRpdaHjg=v<%@q zmB~iFHA3KXZn&oYT8zgH3py3yOhDi-8S}ewci0&k9^G({VKCg$TJ#O4k(c^BEZ7)) zMKzV;?f%%BW)Zt#_uX!YT6)_cfl209B*VuNVzHB(xf7{nWZq0unEHKy*w+HuE z@_U%sxX$XI@=OPmJ-t;oL6oDUHEXii=p7+V7zQq+vX?=4SVYFb@e zgH8cD>(iBuOjpyTnm+&PIGTyu>3Tf5I;qI$KCz!Tx+m!6d>&noTO?0lWn=ns+w0Tr z={h-;>*c{iz?%_tnT(dHgi3s=fF&qYBe2mdm8~#9Tb8>Jr)G#g8Q6naP z+(b(fWz0}MqRVcomWQ6eyEt4@;?Z;3y~=*!Z1Y;-$oh$WbE>;MGKet0%wZGPMpd%D z(@21yDE)2l=Oq_6$Bss5Onyn@4O*<=Z#!)i!Ygh#Kd5#%fcA-iT3TMI_!z5J4>>X4CvP&-hd*RmkzF{pw12nFInNB9Y+7Ui#h*JpMh}}8gR?+37T0c*z54R} z-Cr1!C{v)zZGX2BtU4fSsxj>`YWB~XWg&3U_Zb>KD(L92SptoLJ)0#K!9Qr)n%3M* z{6JGBEDAPZW}@h%pL&mmW`hp#;0iv)$8R2g^4bs`PfYrZyoRP_k0d21ZqGSIt-4qL z#_Q*DPsmhd)s0n3O{UZE9CMi5R9?!GRn+>{A1u4UnjCssd&{Ynt|(xLz$n3`D8W|q z6-!`GD#Mj+eB=U#FRlrVdn#EYa`_gI+v#)gDRw>m~s#N=cv*sp$BzECICSn1Z0j|mSy z@21d%*YG2^TK1M{DnZCEBi&>cD$}=!vPAy;{PQ7}a1&|vM^ciRXo{fd7OsY)p57vp z*S|xKDN@0%Us+WY=f$ht?FSDJJgvTZ?;XDUY^kc^IDVK3aYBDRVZmR|{>xd%sq14X z!32*<+RU`pe!ntWEb(xCAe*abs1|ZFt|*$xY;)J|guBtkhv(KK0aPY z1S|6pH_gq)o=2rlOS#%dr@sNqS3r)eq zr$w^AMq}*u2=>T$g<_G@o}N6_2HUVzHcwQ~haOpEN|1H;(5-->1R&1q4jEJnMFj*_ zTJgyDLO22T$R77j$feqDkC_R3G-*id!e0q6xjD2xIK#Q84b`12gQP)-UZ%}>pm#XQrDD;%-pELC6Mj>m!vS+xh^tm!ov60~8$BQOeD)J285$hlf@w^_83*w^#wyb}ZJI8ipvIe}(tSEV?j6YreHg)jrY z+fL0uNkcW_c0{+=E}HCnJ89yk4k~>%YULmnI6ETrfrIlr-+fATv2Z=uBno|En#%X` zLiWs-DGO%f29k^K>3B@d-Lai*$3Fww#~Y}7@2vMEWCI%ysEL2Z`nlW)5B0vX5cLVM zvQj`cp2IA@IZnh zG-gW(5Lb-S-+SgyK*b|^L4;RG+aZ3iSYr9p8dp%-Zn>E*3X?%90pqRqM~>~;Hz)GQ zf_uKIZ{wawkPPRzZBQ@$5oZN z&mKmwY5Y8=L=H({xE}|9qMQsLW&=$u672&%wIZ-BuiZXhdAPzqKnr=iYN z5{ayI2P-0WYQ|L2dtv7symXtzAS4DDHce*5n1vPbMw{WJsN00X$+qaR6S0PxrXZ}@ z40hhb*S||uha(25Y>J3_$H->Y)-X-Y%%tM-i8F!Zff%cyp~IB!?_U+&q$4ImDyXY# z=;>hw?ROIY-ne;6pPyIN``6RI9?Irc2WS}~<`!W6ttmv!p_bL~VP}Sv%3Pf0LUt&i zwN;eQYABlE@!S5<(e!~f^5WESSUzn|L)z=dg+|@Gsoe7k1N272y5)r-#%-zu@x|SW zXkM(=)T^lf;ibUn!X`tzZxFm~+m8##Q(^WAAD6)w-)keKBBy^7>^ZcoCTxF}%4;}( zqoh#2$QHyN@VWxlP~w)RPAYtsN!b<`d$ceRQ6~*BytccS*VYcP=k*mAv$91qK8!w^ zUoHs1G7v>IDI<{>@m9+;x3;7k!urVy=*U>7wf2@ZSJjI02l9z=vpy7|Tr)jZ*~e43 zM=#9HqU##xm_j9!rG%ahpwlTfcl(ZuPg`Eq!KiUoc=28vAJk4dH#**Jf6Bo5dyNX} z&taWJQEdImvGXf<9wY_ zSN5)`%?p=FQ_XRXF{{}wYUFER^4X*%bZsI-KzP!R<)92~B;85ScY@l%a~}{J{HPHI ze+J!a4+pjH{CIgwp25_1e7wh!dXi|{++*Fnb!?{@PHCojg&p4mEeyCb68#yfh72QIQ&j;j znC9S6`M~@JKG6dkoq7$kVzYu^X_UgCK@mJc(QWxLF=ViTG$U2g*6079t$|8EsPU86 zLOuyhkj?2i-ln@31Ik!Ve(ua_o>sqx5pPio;orz-mOJd5==DnVL7&Ay+dk5LpiqO# zhMfzn1nLA}f!55w2cd&|t1Pu@>54-oqUV(#SeKe*#xf{3f?C{I%f&r5eg4CqpB~Lp zfIDyH6c9wu2F><~OS67>L zy^VPpuU*gdiTqTaV6`4s)+_(^{CFq_W!W;6;M&NU85L?G6JG>hagCIgM`x3-CaX>OLs|kcXu}o-QC?K-EhzN zzW;Z>8;iAA3!Sr{-TBPfXQ^!USUEtdOc~eS_RW6u*9qWYpZu=v><>qAN?7g99s=pp ziqS|03zX_UN4QVi&5}p@{xMinT-{}4Vp2^y8r9+3oy&SgDCPd?rZ(V%pBxBUNM1lc z*(~{74*IMB6j>QC3Z{mkU)o{mzv3soROPqfkv=6u`1P8APGqII-mhn4sij<^gN%w3 zn)VXaYEyrM6D!B*nVUl+l^wGDe7MXQ+WHoL0hnlg>^WeNqJ6d7&TIDSYYY5>U*(A{ zc>aa=4iK@^-WwKv=lW=jwydcIT9>tWCmJ?2Q*S@?(g#~r%F$qYrsh+WzK$VR;p0g6 z`SPUkEHGcP`%%-$>6^Bb+76QsT5wt@Z0|tBs2e!#8R|0pnfWn+QEk*l8&67Tk_)I? zP^d&|g&_yrA3B&zetoDR&|G*=zqt}`dp`9l-$Xle&LCzFq8+B}bL4A}r*D^VMIkmvTG9mcm?Ju3Y4;qDF6LwW}NnG6}qlQlQc8~Rw9YB1!rm*M{I%N>cK zShLT$w*Rcp4=OTOd&qo$Qv2vm*strG7pLv4j3RhWy0An%0-8EH{P^az71y`Doc#P; zR8-=toZUyR0Ti5%|+8Rltt5utkgB^Tm%%u<7VH6V`SHY)nlr` z~MszYP(mB-G3rRVnir08eFBy~ri<$Boz3H8^qsv3Y+|es7xyfsgzthbY-B$#z zX=j!{ITn%M6r?A~@wc15R{|q1UY&2JrVdvF#8o17?YA#-zfGO3Ord5evpEYMdC$Gd zy#9j#V;h_kd!_uo@ECTPuTl_#C;7>t=L%?zXrX;}Z#JWl(ZY5d35o1gSK4IzI^1DX zXSBoA)mV=C{4w>0&Lll^Ag#njT&#!NV!%m^Gmz6+ROUjJE>Ag2uJFayx0*u(xejJ9 zO*+dCZr<-g0x&Ob=H97jfMCSL*AwJdpwJH;G0&l`Lg%L&ZAUsL%t{x_mt8H$!_VT=Sg;Q*$6*{o{q`m*~lK zZmy%Vh`TF4-7?1VK0FYPchne1^I!44)0_?Gv z4qHE7>{XsIA++QW;*rAw2DaL;cEEt=6FZ|RPs^4fph+=h(Vs<9*`gDZlCnmnuwLAg zP>3+Zi{XViUyf7v{i8|(S`-RPi9-hg3RrUemiz4RW4O7N4|+;G8Tbx{gDqQ+47}yr z?-zt{O0CVq^CY}LP8^r}`YY9(6-5rqi7BC6{?j;dk0cc~sVmf@DLM)FgmeC8+ioV} z@Ca2@c|T`k^8C^d(!Ik#fqr#JMEmI)4dEyI^0NCP>y(#Q&ny?Wk4pCQ3sok1TdxvZ z!^i|+Gt5s3_USR?hYUH2m6K;Nl<{#YYxUV;bJTw+wdxb|MthOjvDka@*Kt463oX4U zd7S*JvEh^XRQ2Z-mhIQPPH>!WbK3mD&Nv*RyaSi0=&U}c#n^Z{4A3&V0oA%(SxKyk zu^lZICAO60mbkujK7t!b8d1LrNLnidr(2vnb?vxqr&ymIo5DC+4FnWB4bkT7dj*7S zH+da~oNy5!4Q80%!3f9VXw_7vjsfi_fD{5uE-pq+xUBzfxq?B&mlRozTW`*19 z^_#bDgq9DpPvL|V#7Uhs8XC?`(i?Z#ue@ktQz7S+_y&rD3*p88FrkC<-aE2s^aa5V(>mt(?RJ%|3B zv9aFT#O)7MXNA3rOJ*8r%q|2vGfK|z@c*NIaH~$m#pxkWc(KSpzg#%uBGNMxnEJ1v zSG!Y66J{`ac9AW$x<99-5#$RP0k=#%{X67K8dy4gZBW4?au!Jqp+Gumgya6=baptW zIKN~MLU=IxdvT3Tol=4-0j;-9a;09Vf-Ro)Of(d@-LPs89&1fgdZcF+V^-yGp=?G9 zTS5|bG39VA^fPOkmM?CZ@)|X;ALFPoa*d&{j(?;4CNm)fhFFWO^>rEA5;B^$#rG{- z6)y2+<0^i;l`CO;nnBYAeH!ao)Vtq z65$5S3jOmp)FD5%T3>lazyi}3)LGPPz9O-r-BvL{emK`v^&dji;O}AMiOl*(^X0x5 zlE3mL*Fqa?A_QiCPXSYcnil}BH?=r|xnm@@k?}Ke^Ml4%HJlZ}Gr*f1yna`g4N+Yi zr)crq+M~y%0G)7(KFQprK;+gz06d6e6jdH6&c7 z@AlGRWYRluZTH4CwM4bA-+&h0q$NC^ksj(<2kCby?Yqm~6xMajv8^kReQq=80D5}M zzO7F9QVvG@K7WSOCG?o*TP<{{z%N>ff0|YVXl2H55+5(;G+)G74rhNSg)6pI9(-4S zCqCBVt6$k;hV$6W9Iz<`9u8(5hpYn^8F}nnSnt(D?77=S!9O~EsO?JtnL0gcP$A({Jht<1n0e`ADM^f)lDRrJ8s z@E6_z`nl=4gofyNdmrPA^xzy^@Mz? zXceS)_2-~+u|??(9I3Lwg1xE<&v_H*Bpti#&XsE=2Fja}-QCftuRLKtvpd4r{Y;}1 z9tMJ1Ps4jFVE;OvmJcl4*DuX^hh(PmfuS<(i&j#0=-ovmFbhMax$<%yKMjA1h-`t4YuP!%A&*tgs_`T_!au3g2uC4QF<-IQsYq4*f3Ncu16WSu5G6 z5Mr=QinBwOB@TMIlu?J$6JS=)zkG_dwKUTxX1hjRvp)zoyEf_@iSBSa+l1SIqCWxy ze)z*1zQr403~gj$I0FU&x*5Xf6A;{zFTFyJR%0b(+)s2ogMyC_*E&Zb{oGW>AIM^1 zDX8|9%)1QM7vV@GQ|iEY=t$+0aINHDuJy{!=CoeCWj%WTTONfAWbtwKNPaGoTED!k zTj*t^k)nx8p+b(A^91mD^8b-v)~e2)nu#^gYpn^+0hCtMH4MsuAoMR*&xsBK>!c(k zIE$@oQ`Y3cjQ$+^(!5gMN5dNEGgDFQ>=(Z?7_wBzb~N3kNOiw}W4W&_6uY)R2Yxm} zMif3Yx~0wvQUb0M{?;@$mNik4A&bg`jTB~)Q2Ni=wDoeo-pFO@Tjv$#n`71pqd5b! zLquUA|DEZG-yb(LIN3;VsV$%s0~d-EU25htwaJVOMohYLzASE$Nv}!VWl}%2w&kenk@WO(3TRO5@`?@ z;8Oi2vyB}&mmfLC9Ti~hC$l{>-l}MJ+`Jea%A1PSzTS!7xu385fIXODj=s#7cw#ABJA*{KqQS2D>7wnS0jC@Aaw#rM-`K zexH+kzs>4-eY>f1THoM()P2s8RgJzV6$=ml8GMeYHw6|1D!vE%2C~0=r2@0WAmf)m z=9q5yaQY3#TS0tmNT9BVZ`LkmN*UApXm5i;m_@AqKV1F8o$&!7U{C@JCFEpQO}7?$ z>RD0Lh9leGQ(f2M=Z~kXByb}2Lx6B4D@mXQtrF`oWy+A5n3(i`-UrxpqP#q$=@%dl z4otd3I;|)svjQb(qp)YlE{B=UAoo}BA%#5wheqfDR&KYhZVoTL#O zj$JwyLauRs8d;A2)nn6Q${8tkrCZ_ufl%P8msvX~V_wmCFD6F1*u7e$a8kZp06eEl zNC>=GUf}4v6iPN~7Zz`qbam9|xU})X9ao>xj;IW&0lmSn^YGwf<1xj|;O1bwy>rTS zv%zqMrSQ|Z>NXp1LW6B)T415LcyfbTaodWEb~?4ct}a-Z*teNizs8CO4UJM?{j1X3 zQ*E)2J9a$ysB-QVrUSRXIS?@+Xayb#jHhE4rPBF_x5k3o-|1o7XZNFK>5wbODcWfg zDF*A+%c{x_G0zHkc|rrqxzwxZsHiS$?^)lR(cL}mANQBUU>WcIX7j|S3G`_o_#Img ztPwTZ`UxIQ8%_;FWT1(r^md>l4bTA#mzu%r(Q-|%gWL;nTFrfHEYEq;%2Y)<-Cf3 zSFOIT^31&2+S&kP-9?vj5;meKn5yqSl_9;Th_WZ_V5EuD3VFRd?sG!9+LMVx&~1w{ z^=GDg->MS7_d1{{F{%W=I5`{-u!)YEbW?((qnH3~4LgaQSXa@7QmU;gx}vfoqVa7? zJ5T7CT!g_$|6;8H!ryaQuYIeW`@zMr>7_m>sx9qVK1E)xL!?g@ zT^-m!(Bhi(HnqEd7LTpYZNBP)2X7svwSZlzDS)A7(*og|Trm$sG>54oZRk&PxjLCe zI4DX)45f|;TSYo-XiJ`s_CVu``5vxM4M~X_ay4JCqk(L=n_?iDJ71vf%)_}X0{NLo?*#ik~CYG>~FL)NC7y>iOW<9SW1a918ZlKsd=s3 z?|BNw0bvwTvv7W<)v36N0p*IZt21GH({{MxtLrq^=F_TbFcxvtAZV&n5`Dt&$^ePr$}6 zoadO++qfb$OR_{fX#T~zMst6R)J>}6SSIi0caa#CdQ~a@CN*zxaS4OY@?l5GgmYLD zTV{8a9sZz@qdi2x)yc1kD%ezMuJi}Zi;(4Z8guNDq}-osEcthV#08$eATf@%7wCFC z{MagYZ?~r=HC|$=q^}!J6%+$|{ZMn&U4o0r0iJ!-;-(@;CMdcX^y@{!5^kS`SI;+H zKz!TCpS~_yL0|1K*5Vf4=uKbKFdTd@BHG$`w;I_YZa}@fXuY4s-TX?&1P63!tY`dV zWOBbyjkZSawa$RdN5&fMX%IyIOP?OMPdTc{4FiZWw0SzJ#PtTNTV0<}6jj{06vwVvjLj^GyyO zybeW_CKwj;UsM1H!Nn-L|0nLWHMBJkB(b+B5P33y8}!SY)G|TnPzV?*qr4Uu=(xo?Nd{CZL;l?hpDXjZ*N_2JVpHQiWSo68xh zJUx{eN!{TX>6q=GpLIJQD)vQa7Vm*F9v0=_gW~*%kZ{?j-$P=2vcTZmpy$^w09FN$ z%+f=7C9wXz3VKYq1~@2?`u6V4C?fC{LEEi?HS#OF3$C%4cA5B`0hxn7gL{3kR$FR@=)jWJ52f#w#xmoGr7D z7H@A|??sq=a!tQt?Vl*H+Z|qIDO>jsJ$@!5n;akSUs$kTZi>DT;pOd1EA+5OQd_yK zbU7dGhZ2q!f65o#EVj2>p03+Y2B2u$*1>43#ox z_uR7mGNzc>-Nha@l}e3Ne$t*=)mEKlfd2SBtW2(cy0CWvzXZ>XCJI-yj%)P=Sh$bL z7$IBQab3XiXU=aKST(gJ#xJ1Hr25iHKLi*jqz?uM9WSD$zeYJ2Ve(Ven=W_&iwdpH z)8p^XN3O>Xo2<6bs7O%eW<^?gKWl@tS0syqj|${eoG%=_;9b@_lD|y($R{pV)#(km znIQo>vOm7nJy#iP(ZjT-K?6A83uh%U9SWa!eAE#6J7U2*h&!&U{%Sc!3odWu!c@goJAntpz97esTF)#LTXRUiy_MdMH|6QE2Lh93a;sKki!NhdM7`d5O_yq~k0sM;TZAXrVK8o{1JK)QcMZ>Xc8X>@=um;Jjzj5 zW{;QE#8e7of4Vrq0S3*61yvgtz!hamvssshFJx=uu>QHmn=YFBDG^Jx(94xQvqx?} zIuJv3KlJ44z%MmM;*`zrSCX)qf2#mK{4A~!hMx+)8qxZgl`msp#4VNZLn2q7P_5x2 zNGaPARcQ&BuVB_;liOEALA}_q5A1WH>Bx(disx-bk7P+@~dtMt9)Cz0` z1$KUVH8o+49aI|7+&-MU&YL{;eMuaAx^=4yENJ@P_+L_tx`A9(&)ki#TwJgv%v4YM zTy&$u4ShvpxL~EP*xH+5d0iCy1n6%wWktCjH*YTx60|pg-y-f!eQMJFvGm9WA23wp z{fPX0n6{wgOp*RDwoaf?cS!HCU*Ss2HE+2!LkOm_UzJ>GdG+;VZcJ*bcws<~w#JIN zX5P7`Xk8KAhp$|-egEAj=`fu7HdjX>5E6BSaVb;nxp3t8^L_nqrvK<16x-EybLASa zj)6g|{Yid5!sTp(MMmEk;Q6KsOslfiWXPW`$5&?iGh(&CBz2Op-Mt>=KIPFuO;G`? z{}>;zK~O{`6hE~i*IpA`C?0%!n>uCyEL)9t7J% zSKNJ5q>ILYRXr!ug$f$kR?`;*Ljo5X$MDWxa6R(Ji%2{;{1PD0NX(;-6(E9*r*2%? zN^=czuFxRSjGpZ5mGb}rx)7>oKx}o0gj^&hBV5sHuGQCvJni>lVq)e)PQ5a4yt#Yhay~=_P1ICOwHM1bXkF!@k(hNf=_AIhK)x*0VC8E? zW6_7c4tv&HZLMt$T-O&;zsF+yji=FkM@B`}Q?%~+u&4)osg@@_H<{fwx0lHFaJCpo zcNX`Ks^IQsqR1!mW`GTU_meV5d-;`>6nawgzIY??krFEE4K^pYI~wV^RR%*(3MGqt z=I-NCXwM111n8Wigl&w`5;S&=D)prp(?=;P3QMn2witCFd>{~LD4HuTlf1`R9&z4e z=zG;0Ea#|5qa+LSwPVig=dQ1ZauL}p|61`_FtAgkHZ!wPvb~}LO>#Lc+PA*`)}-`u zD>Tv(toF5)i;S#mg~wka#HJvYK;e6g8%>ZAIGgrg?H2;HOZ%_(qtii^pEuZ4xUU-U zDTaOr)2@BC6KkC-fJ4gy=#|<0y_W56$%~GIWA|s3h0_`EaU*=m^y!(Ifs{v{u!WVC zJT;Y-__Uh4l_T7_2UUh+=xR{ctB_pZswN>%Qf%<)U14q5tNfb6Y)0mkw(i5|fF9-Oj&Ko_MpjXN|>V4A#-XMjitL z`Ts?rKDKd4zXm6_@cK%R{5k>=vJStCcEUCb zIyX>JinPXdGuBAQ5o`iMl*cLyaE)|-wJj(Pnx{QMuDpHZ48t z^iB`>_Xwo#`qY@1z<&Y(7v8fx+O27q5iogpTe1qm*T5GV{-5$e5 z_5$g(*Py=TTJv$2B+jtDKr9Z>n$WE7f8In=b;A||NQ?JDk?f0RHg!Z0ZdjB z!FL1yK3R~gI8z#5L#HQIjfn(_;kWx_8KSoiiSg8aoZst3;snYV*%252hqQ<*R`x`j zsNf@@69YQV3I+oT?*tjZxqNYVg1$7;N1`6QFe@!6X)l?}ncu1jj>le5+S>@lRj0oG z-)t_N53tp9+eh!CC>U~}t-(>O+y9#1jXdJy8d0IG=Z1CmN&=|IrWo*vcnq_+La9lj z!^>SQ3|d!z_V)s5LbgGZuJ3Wiv)R7O59(9xMTnhDF2f}5B)P;sz^HAAosrXB?7~hz z7u`P1znm?w(@th!IMzHvpVH^VP(h?rwT+%!_cv%p{A@ljgctVECSw&Zarw7&H44jI z2$<=cjZvE?t&60uI3=~;!=yRo9oTKXEe_iHNCPnipR3^K9{Ym^-KE{zXX#mL7JkRl zs6rAD`wbop8H!EibQ9zKO7zm;)Li)Ok5Qzwe+ z>&I00SmxnHxgY2pVKX;a2Vm=6kEljzz~UQw$P-bJ1D&>xs9M`4tZjef9S9OrU(S_i z!$@q~)vV&ImyB^4n~%u_wFIM7#UMng5fSW5=Z;6?NW5SwIJA-m5o61)O5m%li@Bp| zFmziFZ5scfRt{SbJC|BHo@eS?Og}4>yY5X@7JGxHl8e`;krk8c-Tom|wl8MThmtvX z{*~y;$78+RFe*yLA`-g5qH=REQNVLOA0}755cMUhDJN%sXb`&CEvFuNYE}=XN}sX( zGXoo!h=Uo}P-mct>1m4oB)QKq#C$+DLJ}fxyslI_Boj-i6t4ODwoDo5#>5Zidd}3& zyYy1>xHvF>+19<1yb@PXn%~$>%+lG*?=*ibTlnxFWM`FGbp=sI-%u?-r3|S`L##FOK^s?BDk0IN6J2 z6%97K0w15P^D8{XNUS1M_bKKb9Kf(6F(tV^J=I<3E@#V2eMp9w#7eH0tpn#oVI@bZ z%Jg^o)z}(|4z-X^menAIdA9TEym5Nj)#Or*qITzep#MY{U;8cO;Cnjn3qCEPYZt}J zhqTDJ!QAy7e$v~ui&>RI_83ZI+rt}w>_Htrcbv!gKNjkDQQ`*%7#-4>?SQLz9e|!; z?&V;X_`9~$C@eOzoJGO@Yj%L!OkyksqBGS2+-)FM>VXeS^LmvH8oo|r(XOknvRk^} z81{nTJA3Q#4STZzy_DCimk!yl0vzcG0{qt;ZXVm)Z>>qqQX0G+f1rx+1lKiZ90ia_ z0ZHDY;zsgrt3`C$&t_Lw_00%k*A^Z1k8=SpKhu19s=fD%+kx**TaQQT9zkjqcd09% zh|iYl<_T@+Fz;m4zrccTJlbZOI?YBkp;i*Y}dU?b*MMLz_qNjg{N`te+ zd1swy>i)E-AyaU?8P*qu*y`r9O*4=E{q;GaDLCPbf{A11X%czf86F}}1i2dV7A%xD z*wXJ=YOeNkWd2p|^EGJ7fmP+#o~2nvMNp^9Xy2`e@N^ zmx|u=;~T}G;90;@Fde*_Oxr2YZH+$}8k`x!W5NS((S7w%m3@nU?5wlX!Kyl!+j0M9 zLWuv9es{98}lE_qrMmPySU3Ao5vI6~KMfwrBbUH}Ik zB0gIgCE&+nq8?U0iERl)pHP&LRWlacjKehzld7Yui71g!*&IaDBRvK&E8?s5HyJab zF?D-x3$})O)K2lD(4(-TaH9yY=8codM!JykK?zyjzaoM9Lp{~YTJ+cmkw`@SoR9~b zsVc!%l!{}gyf^ehO|t1eqUgtkz@4>i!I7qWu5(M1s0LJLdmxsoa>#heRGuFa{Ka1| zn_-5$QGMOE^5ajWPwwi`?9R&bf07rh@STwe_(8zHhjI+kd96@OqruKZZ0n#k&b%!w zr^}UavpRr2a$cV?nJR-vWh^D2q?cvB{0|{%LwL>;T=lzWtBIflRM*=MN2M7)7pWV` z4^m`O-{?m0BtzsX{}Q8cY%Ea%wjb|RrOGW7-qFtu8;NH--YlQGu@m}1ui7NrKHZ@u zxv{r6pTgKWH}+Vn=0v;vR>vbck1k(0U#lK11+AuYhS0P1+_Ri1ubkvJKeJ>jrE`H| z?s@l;$cy_4{VToeYL{i1B?zxF6QmV+Pu96c#f3e2o*QQ5Q356d%qy>hA|uaKcMIYl^zT*%Iisst&c963B; zCv|0I;z@m@5)sW=&G?Y{jYBm~13D(-_Q0b^KTGF5?_4Usj;UoUzl#4TbK|=2*Cl!& zecnqw6vu45lwjoCs%-PH3%|Ybdi}G0lZ9gZ!o?X5lY*;5ntegDbaykx{v>mDA8824 z>$R+M?=;zr89akeNlj3tZFtF14nJtY$I7*;`k+2RZw5$UlEuH?5$Sc0Ut9qBDcO)T z3bw44mfL53clgifn1-CXIU$3>VH(lwCK6{k6#}@SQ!Gx8bX#NT%PT`coDJCnb6E>Jva|_Kg$!@jQrfHZI{G;o~reZ+$P>M4xGShTY zB+`0B!d(nUA1n;s*UxX5q_SNSs9%x$v>tz6CKGuw=I{5s-FwF{{(}Mk%ZD#?8$NHP zs&hTuA^IPqIizr6?uQ+Ya=cF<^b@en1&HEvDkIvRbm7;}NPZ9Aqh zz=5&g-~TGw9H zORc~lIf>M$?lBu$dPzMk&a!dyNIbkMLgZr}|GS7rg|L1q@2T|~%M@D|k zX+wrOPN3!pN3{#|DQ(MvbpTD{);hG;@j35f@y)uIhs@QQ(sjsx;&})En1Td#h#_yy zQ!#)IjC;|l&l#AmVPG(bADc+6S3pN@!f((a9uXd2K^q>$CGT&I=45(e1#ng78{$NX z34a#fW+hAJGA~{YEa0$szWOc9^5dx~OYRi%GuJ)&tvQJIxfJg7TA_+d%m3leL|)^q zR1eRA5HB3Snt*~3bP1Iex~HJ+JS0Fz^-Rrj7XtBNKD9~hC7@MAgEBH$N@4M#Nz6wEkNU&t$%o z=L!L5w>r9tht=ni)Xw(j@KYh@CU5p?VQ>W@g^T_De5rA35(>;ONe-UKLhdX!Ql*NW zg^u2D(LSebl00FzdQ%f$>a!v~R@A42jC?z}sNe5&ZCZCwXBh1p4_WR#^052Pp{q{* z*qwY)ON|v<;UT6hclHXlv1H))mo2}8PBR77lA|I^oV^#k?nWW84a_0Fce)b?ubO0% zqN{B~h+)Lg&T8DB%@!_t`*S5!@qndJS)xk4-=ctW~Uvma{W~hlRX*!>tJX&Jt zmykRGH`X)eH!jFf>NX^Mc2x}|{sSrOZu`jxgP>QuzL6!jyb5&>w8So9bX#z}y4hUn zLd7OrsUIuYI5JkdoxH$QI2U0AFuwr%2Ygh5e`F|;8hdyg`m5jmw0Lo3f@-rp6vI+` zMO-0uDl=i1Dy$sZ&(^jp>y<6pxZ`Hfk^Wm=$&hXao?QX|g3F>m9bK!Jy-48^!k=gW zq_eCqveKrkC*kfGF%-Ne#$Uk96FM&x@`9~;-)wu7A_u>hRl-2h{;J?=A=Z{Ld~AN2 zYSA}hS1@63*VR(j_HbA8_M9%jm;#?_#z#R5x;PJjlWtk(L3VR-Q4B%)>it)ykv`BA`Q98$bl5BZlKEzpxVwa)B zKzCw=b3{<%0i7BSF1dBpKEQZ; zQyu}1$5A}&{rQlQA$nH>D-?s#*t3N|rX;?|`)?<*&e?&smR*^P3wJdAZ|BrUAbz$= zFyUmT#?7k7#$0ff)Nf%r(r9J83sbh;vT-*fJ*E(VVtrPQ<(4ZQrdX{c}@r~F`ly*tuC0Q2@&#~|l;HowcN)$sUwn+^b>O|iV% zVs`_zC)s#2%f>(rC!&nL7ITf`3jma&_fz;o%xZ9EZa#uA-T54!8pLuiHU4bIOKJStJ zz!N479SvSD%A~fh-K1|E@#1H($%Mac000Mu08jTqn-dQBDB@+GUG;^g8V;Rgf)au; zCl`fFZLJ!{K?O`(9H7b(g|3idbO4s5H4rK*ssh>%tS5aQv3^?CUTLclL1C47P%dw# zF#)lms$VWHzLGk$JzZ|}K7^s76Z8@%v78zNGw9HA?7V5bFyj^t5SB+M!cb^uMwg$S zXidZ_8nn;=WpPfZ51(*J%=DY`Cy@BsTk3+7ZzqgrXD<+`plbD|X_Jmj!IifE(s3I0 zMH(s4oUzHjm;bSAC$hn{A7&vxt^W@;LT`ZxS@$culK9H@8spn^n62gep!$v`jn3D~ zD6sjfrXKIoX=TEZ^DL^Dpn#L5$W6K(5L1w!U~;m*}(Wq!cqXxH^*F*N}d7e;vD(bOujRW+4rLm5D1!|9pS{gB zhNgiQpS=#$3cd~HnX0*aYaHWTdSHySi!e}3cheETGn}`mf3hNiCr(lo;oRNftWe($Ld7yvM_h0d08zL+YQ|as9%m4y;#7(TA4t+uX zj8NzX4s9sQmth3Nr%5)5x^2#sr1*pzTEGRBCpu6twsXf@Px*a$T^ww6^rJKGUvQ$T zR9wDy!~KBQ0Vu)-sQ~DqY??Yx2>B{BxrwY{yirAv{2ZOp3rgk?Amv!$m_A`;F@FuQ1KN#~pXEHzeP zGpAs^@|4~`YK6fAy$a5pQ8c`ID&Cqz}Z2Ck+U-d4Fn3p>Bt%y?;?Z zPU5HhteN?}CKL#rA+>!HMicjZbL{xy?|($4nL#!<$aMV*-h#FxXq;2+UQXG@ws;~H zN(;hYr^FVo)z}1HGxn$|lO$8Avk3(aj+i*__d z$Q1<<)0!@6TTS_;lydw60Ih=R=ObDi0Y7VbgiAnf=(#I>T|6011w_C%PPyxff45r- zg-hnvRH^p8ox|Ij53yBxofEPkx@oGz`PYX|>6on1l4>G<*XF|B;C#mIMYg9XRZq#R zAcoiXc9(NAB@;#ZhaoTyL{%9%s36BS!Vm+jxrS_?18d+QZB8DjORwUkW1V&v{;|u9 zgl!J+B<*2)l{b{?YpRfmsaa2hB$OVQrazSm5`d$`l^UIUq_XxoT|~;Ow>CJdX~qtQ z>}h^Wm{rPKe;JeG4YsN+8EK$wo0LjW`B86|h*HH~x)-6?>H|cYU?X-YtX~0|>5{(- zlX1&=s4e2@)Ea%K_1X42xDgELltDdEPlYh(|AUb&aPo<=sigI!D9x9wUD9bDJx9U;EV&LOFx#UdG`hz1fW3v1|oray8$2}ZVtYooG+KsT+}oxanq8i+!k2Q;@FjLDcS2EXhBefatSGz2WGFNAX5xoJKzY`a=m|(|i?MTj z!2zJbS_SqB0NA^_%+OB>MI@pellJod1=Ywn4uA1T`vQc<8Fur?+GLcf`4RP@23Dsv zJ?tdR29rFAn(X=}arSVKttnQv4>;sf!%#=-Gdeb$bdHBvM7VMb$pje_wZ zyMul_yOVY$35fU~6N-)wpU@DIpn`%K^|Vx#Eodozt}4R?+-tiTOy^h|bDB%s?NFxz zS(^nb`BJ0v`#7`)Vg=Xm#_4hw1_tP3zv2Kl2vmjNgUIN8&$xz*A7I8ti_6_uzoB4w z1I1gs7Kh*6dYZlF2NeD7O)WU5++ivF-nUC=8*H=P@b*8T2?oq){F|B=I*+lNc_1TR zk_i(!%P%|-SjuiX=WmKGhaCenGTUAQQ7_iksNX}CQhkEB+zkY1+$yy`^l_NGG+GAp z9W;K>O&95b7jC8^dM;_5igUKFSxKF0F_6Xmida4PAZ4kOPg$?=9Y+XSRRWb;-NM+o zmlHGhzmZpylU1qV(u9=+Fi#+2{S>*y1??DbMc@D`^_B$#_T{R{ijDqFibqK9x*#I~ zipcpHh`;-eCX11S%}~6`nI@?k0g8<#0iT>Hpi6`B3y5u%9NMHSWCD96`hW3$92Xir}nIlS1+HNt@RBvbEi(ly@W5f>K~Z(5_GI+u^H zrKhM&)NiGJK4E45(u-4e1pedLnxaseTv=(|l7ukdbDp%5PNT+29d=}e^@IA1JXl?H z1%o`RQVqmfMz;58UDfFOTEeaY`MP$$#o4QRJ+k3DqRR7|a7RD!=IL5O#G;3yNfvur5-0D)mriAO-6l#>z>>}ouEwUx*P7E=0#ZQdKZe7%4u zW4Jdz(}X(gs8-t+VVAj75K>B(CDRvph_bx76>bEesacuNz#3_TQpr39g{XdG z(wp$Nn~_oG;vsG$qPso7!?f#*kps5QaIZIsyuNMxspG6>G;%N;Q(bC_r&F1DP`^Oi zkN}pN!u(Q83y(uqq?NEIV5m~0KGSN%u@-)P97(j2fY!XMaySCOf>~e0&!8Qr(Zq@E z)N4eu;H3A+NYwuD*dCAXOv_?rBv{IbJQ8q}0VOi6#-euiA#W;s{_EY@HrX{^!=LO8 z;utX*Q%QmaPvKL%C9XIR@lADt#*q5AVrXMy+F|knpD~C zj6{{k+ZjV;;D<7b^@GnW4@Ff{%fKb5*LIzw?Q`%Q7`vrTs5-k^h76F~lJJF#SgP?O z{T%gc9Is!*8Sh1fV=#B)xY?{CXcoRhVSLlsg^NBDOU_?r=dUIoek80JsAoZ*akNEeK;6bjM`wl{joT6F$xL?hO`bo>(zo- zmMSehIFt{i&5rGwV4ZEuer!F?ly`UxJoD0SEnWU`rw8wF?fm_M&o8x4XJ+ad*%AX$ zdG?LuZ-if4)dc-@x*(8^RA`u@bjd>EaV*vP{H0Cp1uPRqm5cnKonSpLM$yii{HvWk zM4L-DD4*TN@N3;()RQEH4OBV%zL8K6S*O!xhLXkr**N=+x>w1>0iQXOuZvWs7E1my z)X<^Vq>^#LOHF&W1XgiEoX%g`6us1@2K2&tbI|@^H#!Ep9_)75?y_ZkS5^0JagG{T z4>79hRoe@mHG>UpbTR6P*bB0 z$E@x%GqHt8yq$f3{!UxlyWM#xpGLLESUO#@-5M5TR|ruE=csp%Z&ceyS21OEy;V2? znTd1lb2RZOBomx;18@YJyxlIYjSGyI9%j8ZI%7XOac_6k9yET1qSW?=jG2^TT$D*p zCS!(-#4Z8HQC0oNDoTHiNPe>X+nDYxi~GB<65(ocDEE2WK4Fm_lS`ZbydJo+M>J?8 zgTg4IS=MevCM3BCp(8H))=}HTD{wi-OwcOUC`f$N1*oE0lredYWI@RFZo3^-8+T`( zB;Y{e)4Ng3Z&hFXqeH(Qr3ZfJd@oH!t>jXQF!QtKwqk4YcoDffP(0nt0MJyuD`T37 z;}mOqtOoFWc9T%nM&|w3U}X-TE6o%uxuGtuV=(&PHOQg7UDhI(xP0YAfZ>&ype$@n z=16cov28UpmsjWlx;U_5>GA~|6-+cU$@-JMm*p0!_b-={Rom5(XEiw-y{|gFH zm=LiSo}zU0Xyh%W1*#ChYQ!kh)Ia$A8crvXnW@H=87HQAQ3^RrnK2~gYM?S0wNR*p z+SbWgGfT%&<67dz5p@V|ZDjOzkZrUiQ2e;rA%xPLgs!nl+lc zR$>v%6h%1yBCTJCqwdL>&AQ#WR}gaXJ?hBHOsB%Mf++cjFOBXs&e)&ub)|$OLTY1x zhX>OBubgffAdxPhDAJVPqtcY#d+#Om-kXAefJm3#dyx`42#EC1YamF6gwP2kl>31HbI!W! zu65UXKfY@n{Sq?I?Af#HZ_hlLfyolrBK2cz(v2D)SUh<+$n?(*1*!ZfS;X5D+;*jC zLAwGg)8s|6KIc_usqji&(kntZFGfmze8-SVHmbzw?{1cTLpvS_cpPOyk{1ON0V(Rx zm+h}Zox+WwxO@!bJfb(#6j-GxD1@4IYTY7TLBbj0f+^J3;8u&Hw@O%BSag~PY!#to z1?re$^vG3R#~kgEx4Y8W+r?USeHvg_vfFjK4|rk4Gqw=WY94pXXP$RyM(Vt)*YInM zp5!IRO~TbKnz17pvdVc*{$Z42FVxaE2~bWR-~QYmaTYcu8%wl_{t`q~`8Z5e*(XFM z!gm`}B7C!d=9B85b7zV;(6*oc$H*K` z04ALR4F`g1*-fT@&X1!pOf4MqyyQ?ut%v3sBpmC@aI~`({^FFce+B4FCc~hS%;JgJ zhl2L?n*MJJ2UF5t2)C}79}0BGkMLv+_tq$+llt*mveDXpNX0}OI;5@tqy|uTP2;a* zwAL>j5xIA>K{Xh6CUP1z`fwfpaNc{wx3DHy73GPQ zhki%cVQoy&4bCRL?{)*=|LxQs-=AqI;+7d*7G{JBawQRvF1dgRK=zr*O#xj zz)?s5#GLhflyh3t1m(rrF>7RI?fMm;>EX`nz+%?pFSqiGc~&LZTpoV_g5MVGGrR1! z{Gsh70ITrN=mJnoIj!?S*EOXhvH6tzqKP;wjrAm|zf`Iv2p*1VmF^A~ZPcCv!H>+D zSdy0R&}{%cDNy=cED1FzrLj(KndWU~x-%~dROy1QsQ5EvZjZ-WZBV-Sj#1=tA>u=T zD8mwYVlM+fF`~JdP;)GR3o7I_4`H`oWMH0tctgHh=ACxdv}R^8%(Af{Tb<%!pAsOM7K+K9Z zbQ+pYc8N7-m|bKV91-LIz@^S_quwfxOc31Vnj0>8(m+q_J?7CZShyBBouzql5C?C- zszlTDdS=7}i1qM%J5`m9*vsHGBa#)(T(NX>^P<`jN&&_ClEy(`8#n>oa4lo4+jc*} zBmja6UwN>+^`w z^U81)?RB4iOcMiEQFl?$2@VkzRRq~T|;sMXLx;! zT$`FenAl$troB?jqCMIwQAkik`H!6PyZFNe=~G&zdN@=2yPnBz>b{m zR~=sfFwEN_+Dh6wf9MqY=EW4-HrC7!c*C$u_bmVKpQEMLO!Zu`gPcRZ6@Bn)h+U%4 zLH=wXqh1=^Qm88p7<0!@hD8ZrQ7H&t=OFv$mBKP!hw?g zee`kHsmzx4vrbr6{9OGPlu(0>c(kXqPup~gLF3N?Z+k*rObxNfouYLEIqCLM(*d0=E zxUoo1x54y7PjR9Al8U{5rGZO2_lqgLfpf%8oo&Ur&&W8XN9%A9de9dABzBqJ*>Yt9 zd4dtWm*5cYMe1OStG$Y3T^jB0s5V=P=`;2oqi-oFHJ?Hr#8t2U?glPL=z6L1cz!u0 z7cHzS4h zb-7heQm&xp^0*$lACA?(sL=u<$)CJ{nG3uSbfd@#NK5BH!&J#&aYM1ovbH&{*2Mn~+30EROc_F6bLTgYm(G3mA@PqMKtd!+ zow6(eOCFUHvx?oT%<+Nw$|VNascGZA8IPErRyxLW%S zCSUf4UvFmMtSVoZ1nk3`G60-U8l%VNoZlm4dNr;h{$Yk(P3zgzmY*+iX^D4rd&Q~| zOtZsGrXqFBG_XjudbjxgeYjf!ZBtxW+K-DJ6;GKiBWMb?n@UTFbJck%kTq3QswTA= ztFg?*V=U*L;7UVGbe}EdaaF3^lGsWmP^L0U(EJn4YuVpUSz>B=bHdL(Bcw3?;+UQ_ zg5W!YFUQry>pD5DSsp>u^UHJMs=QjvnnuLev-ZbExI?dkRz!ik6y;^`@zpN6U^ zclG*goM`}WJlucWfV}O&9-i{c>?6H>Ik%=fZ|76m{|@GFITz@ZOm34YXk^bWuwtxF z@BdFpCIY{jHF;%>n#jEGmtCnsjZ^mn<6r~qVIuqYn_;t84$u-pLo2 z^iJPHagApF8o{QE>*u%KF&%HHC5DxizwfU+$=3ozss6N<1%|@AYB-r#K4Eh zmL!o^cY1HYMmhoHzcBVh!RM=~FGuBI1N|*Z^*AdCm}BNUGS{!=FqMJ;J)V z;74G4CbD5QXzx?)4Onfn_tLMUbv*JM%478lmyS-ITQ}t2PRAQ@G{=*v3;m46?3g3A zeN>}H7n=|(!2$U)c-lTiHZh{$R9LgLGEAw8ZaH+UG6z^T5JwI;`vS`Yipcy=*3+T6 z*Mi0AUwHM614IvC`n#?+Be8E!57yF^GX)KND~RGko@^URIi~Ga6_2W0c^mz{>EK^7 z(3kp0Q6x9+q29tDIOU)*7NT><=5_0l&P-|5P<^w0V<~yEg=~ICWU!4M8q@1@u^Zeu zGN!qD8xEAoOygE_g1jqdT(=G^KYq)_g~s6Nl=WQWZePlkU;igC;n?5Qp?8{L z%PRQ(P-7^TDc~hsPO;2JLEXg5HrPP>x{%e}`6Nh2o1YP)O=KcMceMZ*Li)lJ1N}Ru z_-|@t?~=G+*(k2@U?BSTggMjHM*Bz+9ZjWqZwXrC$)oV#qy2;JU&F_i6hbPa7zN*)C9K9H4DSzb-Uqu!R?EbTgZ`J0I{g$^p0{m7n+ zTTNhEtxr68wY1@z2*GY-*l7?K5n1`I%uU5QA`h`5(?e(z&il|>bEG2D9LW@U@(s~= z+aru~J_0@RZ!#>wgO8svkCV>mbSw6# z7Av7Bo2mfVpX-i8H+w$m0YRDB87o;^y5n@8v)Q54KpH*8Ij;m2p1Sm&BRxU&wN|-n zVrD+gNM6n_gD2bsPyU?8TKQc}TBw-7Q_PF^9*2m`S{b+=2LekO^{#em7AHYr&g_}A z|E2pWxo=JfbzeH2T(B>f8}81c;3c*dxtJ5qgjY-Vx1_=5O?&O(;1-(89y@k@&V}x%>DJfQRKinX?s8U^O5n@g(X2_7Bv0h@kB70KwY1IO zytT&s*K>Ny*|B0zvdko2#M+7U%)i}WU6JeRy+b{XS?p#egj4^Z^|DY;FSkjz0@S=~ z7U=tXNi`LWHU2IFMKL9t(>A%$9Pn2?{X z5Gnpc`L+n{a4==rI3hCMA;fpEW=WmSDvZ9eF4*bIb6G3xt|4Wz6qox#8;%1(U5T9@ zZV1c9qaLRT>6%N@S&eA-YPGz)57LTm#!<@i5iMFr&w22n!TjbxfOx_ND>D7q|3T+p zwFKGA65wO235HmMYuXVP4HlmK2i z)0&qqA%y_73aRcW{A=o?=3rO7tP^*Q?&6PnmX4X_ro>l5G>{kKOSwS>Be-wQ8{(AK zQNMUxn$oc_UhN2F{`o;re}95y&HmJhZwun5g`;7H4?RT4!MBF6bMhCuoHvGY71eoj zQ?i=sE9U4{*(QB9)aos~P>$#U`{sgkLxCaTkm5>%iWLWswz8tM(mUoM>Oh5{wvJho zV3Xaae#jQO;)E+Z4+a?Vr_TN$7}Qb!+tt3xU9fB63m+9-$UZkbPNQi!nY(#4;+92b zTB~}6sQ{h2@I?(BSg+^8#cR9#l{MQOo0Z@CsaT(WweaDr>FSX57TD4K*JsKYD|t=p zTmxnj&pE0)MP`v{^y6fnv%}1?j0ze%DFA+ZtK4*K_5FlZW#wb(J9b0tn(-V16)XYL z#f7RF`|-zhCT6oa0t2cZa|ek+$hw|kuaEWMaK z>hKJ=i?r;Q;nU7Rcvt2B1P&-zqXI_$k@c<(`mWRz53a`z!dgk@Wc=!zHioej2_0g> zNGx2(*JU$ngAo~xxZ0k~UX|yeH!BKH18quOjVpZ(miJn^CQSWY7B*=yBoMzR*uElI zI(gK%4)au)2bVF#-N&VB#}V+5XXm0Cab(N;OEI*q=;AXP4yjaB;%T)2WCol#fQxDp0UG4sNmi)Ce- zdEd8S--g)^Oa@t@q-(~$YoANfVa%~(z@C@C>eDH$nG7xU)77|iBjLPE?yR_kv@)k* zC>Wm3hC}I4V&L^0n=qalHIDYuDK5-q-SPVfh@TZVur#;yb>#cDcL_H3`skvYOAHkVPTgv8^&zeCHtPjWTioP-CpvU(mD(ABE_q0t%I8ftfSBj*XT zRL+{1!mwOP3Y|y}QN|PhTzJTNnoFe0F!jS3#z(-K;x~dx+O175dLMZHq!A_c266<2Kp@J!1o6TYqs!!2U0DsMxExUZ@@T{YT7l z53O1`Vx(#xP@0TPkH4iEbof3|cOuIDPWM7j!bNB3Ck;n6?x-8tM%}4zHZPhV5t?ZFNqato$^OdME zR1j-bJ|AQ_74vO)UOJv97CCE1I7F|J&FpBj7*xGBnqU58;x_JQcX#)R85VHs7ar?T z#+~1xeP#$_>xQP%W;sryym=Xk$w}S%Bv_8;PM+s zGJfW*vqLXRixUzA(K`XR2QrZ>)!zr#-r&B5i+#f52yfM!)+~OnwU1=hJotN-bfiyn z^i_w=28}w071585bGWUJPzVU5zV&=;W40(XM9wL6agj`H8PrL*m)O}G7K#tWsi}AZ zDHJ|XAh1bF#_AK|!r2qkKci!=wrSNq8CYAI;cEAOtuEAH`H?7?cyn$|QeBcs)MEEI z-+FzT7{Q+KK?mXGM)tWSu20{=#l;o`I&8HbKOhy>IGi{@wQgooNlwQEvgY!;x!pyh zb2pQRU9=YPVWrG*F6pIqYoXNDG88^ik*+ln`cS^^y2j zab#^*?=SaXO?=f=d~3KlsH*C?9L1|VE=k*;4I-wT3Aw2buki0*kf(sA2sz*jtLh0{ z%nUa2OAMFf@Fj1wcrBnJQao?!mYU0MrqD!@=cdDg19|qx`pL5`qV;SArv4!5`=tK7 ziAtyWhD4*=glKl(3#_SCqef`%ya+4HZyEABlvR?+L@5BKtNv!8! zESJX(=B_2=bSgZ$5oPIBj95QPr;(GR2eeof9NH61l($T@lz0ycfIn&Tm7&E+{SsbX z^jAxUh~nloj|_~8r<=eU*c2H06&W*|Bs#5_iU#&4=_}x{`xe78i3yC5D1h;bf=Snk=GE@7wy8(hM7hFSfO~ z^Do|-pOtK+a^9%QY>TINJ+dWMSdpH8>FxQpNM_Y6+CaL?Mxo|NhAI+HU2Xk}~i?>}J zylehoP3?OwX0OhiuhurFRCQsDDTyjO*~7dwet>GyxyI$iT@D|bMCfj_lGet`N{e+D zJqZ{T$Xab*B7a0eMz-4t0@F=hg~+7-dr<5}&y4*pf999;G3FekCu5+^ImH7AQ_p?! z6wFet4e619P)4X7?fKd^)@pBzxjI`?Nl;g)aU;1Z8CVi)5Kh?v{FW3VPH!ka-KX9< z@32*T#J~`ksF*xao+=9mf6Fj5+H2a=(VDIN*;HvnpWCT5I8o~)6@B2JruEbL6|2&7 zAKGoH@M>N&|HVeA{QZ&)n>!f!-0v^#in2s;Z(jUlD2Cc3$xG(vn+;H5;qt14tFoIT z_0+7rD@vX~a?1~y2ORwtYs<-LZ0qHee3#GJPZO=2f%UpWRcWkAk*OKT=*Pys!IVrX zLAX-zEa$aC&2|mEHm7Ro=xi(pw_C8oC;O9@0|B@6Kjv~+HM*tqd0}`7nhsRT^`b_3 z6cyi$kLzD|ypmc#QX6zWk#9+zRd|-T4N61Q*cJbs$yB&-%;jw>sZ?FCxq5j@X6Ri| zxcChlZ#|l$d$}+_YXQ2!q;sXVWkZ6`v*k5Lz*z-h?%QQ)mV7+T%kw|#U0%+5czLn- z?YCYB)>Hw6Z@9kC^YEn95JdszF0s=-axB-ld^9FiRh(3ABZPvxl2%+rD#0>JWPSNr zSR_GiigqIS>;gMRxF(+^W2KY1>yZCA@=LfX1sRCFySQ9S)T5dNct;74gw75S&BDU} zJe|6kXfSPnZ6}=mBS=g@@bRNZ$;87>qx^}|^F}wnoE($gdZ)?$k2QeP0rl5VMp-wJ z6)X2t8Yk=>;aWOSEDVIITg2N4H@F$xk!Uf`uHA;IctxV+LH-dy-mc`PxDIEp0UT&k z>pG}Oso?s%yT= z{^A!mQJ{qODM;r#RO0+rN*4YMMYu)i@7H0$zX$^FZEqqhW^rA8%W5*nc3rrx@tUbvdeqs988DY_3^%h0M|gZ|2~Nky60i% zbcD*Kosx4q+I&0s0E+Wg?~_eFk>r_>hN!40Tp#TBQO|W^LQSM}%nBY-?8>ET z41RXj%~f-$D<^n|Bh52LDBH;q^-rw8E6;{->I8;fhl8U{_oY9FwDPomUWbkYo>raW zOl-0nmWp1?Y%3~A65O~)|M;8K5quTR(xofw6Q5z#PKMJhJ)A~pS5EqHX7{ljeBMwy zQFyPVbfpUXkXJdK{zJxGg-_LSu>~A?w1@zXS;xsDhwADg2NPyh#7^{$S;9*tb)JophIm1^m__ZWnd+i!oDZp94o@&<;=a0+HHqfe9c{xT&)ZL5Yb z+aF<(knzId03?EgQ^|Oh0J?twW8gfs1|G-pFS+~wZNM60eK2lY+COw2Uzzc_85klz zs^nJ)d{&XX3WMKjoNkeTBpKzW|9uNI{2%`FSq6K8SzZzmnA(~+IXjvf+FXCMGqNHg z;NakT`ugehM2sidQ!2fM7Hv$Lr-Ko|J0`;`5?rL&WQsiUZ! zjlG?%sjc%L})h1Q5n$80slX1433MhP~7GYax$DtLer}|E}neOvGEk1XZpeSvM{)h7)_lD;QGbCzN z$AlNsd%q|5$V*f$b08aJ?RR<%sv0)yEWW^ z0~pT%*oAGYz-F8%q)17v>H$uEMkLp2%B0z6i+i z$_;W=#KdIU$N#kCupf@$eSd_2#44y4^oN|zII+3R_1b&gAPvn-JN0i*CPJQ$oyh2W z`AX>43Y^}#eNS{*GnAKd?65GXdvt{NslgNaL8+$cj52v@v9$P>8#g*0c&IH7+;Qnj2E4sYxnloYq7LA_o{cg=>lJbSbc8Y45r&F`F%akyJgD_ z$_KCSMVmiIKolnP?*rFz%=`Nrei35cH4ADGae3gO^}j6quN3~*7XH^G{x>fC-w+)+ z_4U2z_kKbC+g@Ld7!8gOr+pE6P5EDWBX!(zMZ9pBt`Z&EeXHuflfg;<1Q*+=2iNn4 zGL`=~jUwL`3(E8jq3@5VSrAvG;5f)6;%9OQ2wx$y%IYXs->~sm2FlCC@u5QaoOiDd zNVNx9X{T?Mx|1VF#vZ@oT-pYCoYb*G+>~+@ykI&1NuQGn@;*ss8ug8)+PI8EVKq~|hI;fZWZ_1L-H+|N&GRt%$($enS9S2P`FDWY1 zaBFsv9R`;}f-xj+g~|>+@;*Mks8y8rhgNo}S8|mDOGW4#q6H|f`2~D=G|0KL;jo8G0rS!| z)_Bbh5UtMP*mVIYVVdrO(8Y$&;bqfYnv`yFeXlk3XYW7t!g?nQe1bnPXWTzB>lM5x zwt`m1%G-2myl${eI&!;E9@jsUO-Mfp;K6K0zp_cwRnj{<%r=kg!>5qcElr9%au~KN zz0-7V%@5~xvoN3Zx?EX;R_gktf1B8Ud06~91`6^Qn-W4w?3j0Qw>JKiWCRItELmM} zc<4cpJz+)Jb~aGDi+##Jm_F`QH86+B^JG<%7hQVGKN$ogutBC#*nR)GzFOth`=g{w zUP5-egEnIWe{0Dmj!#>ZjcEGhEEbFikVol16R3X(79_D6(YXw)zNDa3Lm!UU3)rp( z6F@Kf-Y62?78s#Pa^Bf2BsVk;FVGL?C-XdG!ee>7cP5AQ-I0Xljz0YjT=TLL~iO`)h-laF)`efe56SNx!< z3)oEcY|t;lsYZDX&tHBb%EN+bRXZoGORUH7J&n_mzpdRzhcdRcnWd&KF172t*Bp@Q z83{|>KQwPqslkQRx5jZEQ`%X4u`|@SF4f(wI&VozBpL`l4h@YntWYSZLP?>>carMTa ztk#Yfo$=$w_?9CT6XRQyf-e|LH&wL09@GSuOeBx5f$_a1j+W*>?b5DrH!63v$_J82l>dz1@MkVeOWx`TOD+Hm?67%8TRlbi%Aw z8gLDB-^v|TPW;(FY<~gve`oBOluwO*@(^9F38Se!CWZ5(3_&R4UMp|e{`DhJDcEOE z^#qaL`UAM5GTP5I{K3h>XpN_A5kLE4NtyZKmoOwb2?^&jHd~YT?S79)=H=wl;(iE# zg?%h1f>Unc`uXIlIU7i-{h3UE*1Fqn>^AS{L0EIi68r*UR3E55@YJ5fT2}XFqUo0< zR`!d@@yCnZ)^lz;Grp^{KlUu@wrr-7xhyFiHZ~4IBgx$bJSAQ*GRmb~jDL?q)vi&q z7HPH3D|#YL4BHmY0?&f*Fx&9t3dNx`_+0K9e9w#&Lq0Nz7S~Irk#9{->q>#IHV-vN z|5`$EN3A;=t6aWwV2_kd;SoH<9>i&)93A%vtu7q5SYA%W#O!OU<$gVo(pUR47&r*> zZglSK9dETm)E^D)wt_&c%mR+?>aaW)&7{6oZ7%R((DHI&%nNzn^Ko_kj~_m`Z%qRm z%R=ruK5u-oi|Q9PlN+T6Tjs14PgVz|=O^7twZMq|fc|F#_YB-vEc?(rVfA((trg{hh@#gH^vg@agd*@+nD&bo8wTnkq zta1*x!YijEvj2E>;zG3yCgW9f_c-tNnmzK-vL=}aNM~-XP#t{cpw4gHseNImG+R1g zCH$<~rgptcPv*>^t&#{kSVEvw;WW2rCz2M==eeFCQtOHynhE4piAYwFFd9#Ai8gP^ zD?ZIC8>#p-Dv=&q!({$`Yl$=ZXdnsatnd|46;$QU(narAXP=*Q?SVf0+EtZg`Rp>O z$wI7e9Aw%n>LiUlFSD(?2$NqP2eTjaOZDoxOsPn^J_f8IFe5awtI&Grox}3DrIYgI zajl46nv+0#r0tpO%z6N?6`R)RL9gD=?297@2~2bmd#7vZ$wiFYCCR12wk`G9Uxna| z(N@pu;;%!@uQ(4@du!w0$p4P`@Fe-z%yF-2toq<Rg50> ziI~iwZ32{I$vwY^kxp(_&@}uaPW)9Br%7rLgG>v1VcSs`Gn-*8s zCDZ(TX4a%9(fq1$eu5mJChQ)`@Z3yq$mEGb5{!XqSU}E{Qdxr^Q+=dgOJ-J(9m&(Nk}mfKxs zB)^X*-B%yj%XsCYQ&ZgSNs8N6Ca6>*S<0gCKH{eZk@+t9KeQXXd|u9h4Xb5MyJ#0q6(3~ZI+(c+ zbxGMI_hGc|-pXOc`ATq({DkczbLUs4XFrC1OrGk=EuT|G;f2I2GKgsS1pd?wXZ-Ej z0T+n*4Be)|ZXa=C_>wr?Hn7=SXqG*XqthPjR5^nd6FaQ=^{N%F#SZma9_`^=xp9P~ z-jIzlam8k>=O-&$yC>x7S|=hoPdWKTiZC~r46?p`DX7aipu%Gw{74BJ4Rw1qm>z=S zuF2s6AuD`U{3!Z|UhiiR)0&xZ?ae&fG?-puEA}v+lI;K^{s4#KfNZ<&E>9G?jR)D~ zpiMS^BZ-6OS5MaFhB%8+cc~j~MDjr?Q$!8iS}qx!E<|^pgg14Mg)#J~Pu3M$UNTwt zO)uDWos(EfX0;K?KV#+p{c2+HYvar)y;6kHXm8YT38yO0m%mYgA1N+V)<(?-pL}U* zh_W>yKQHq08C%|}o#bcsP2ze0V#{z{@aOdtY76uIAvDwxxL3N!nTo~tZD*x`9O~a5 ziSbO#K7T5w|51F*qcvaEvYk(* z5c8}~<}xa;_L)|^RZFOCZB+SaIp^MHkdt&C6pQkMcjm@brYt`>V??>M+tRjH&eqdy z*w$W>x=76eKNQhwXw(ik%V#|^HpnBK*xqZe@yJ;ZZxWn{lNW64H&&RuJcC6JP=3JN zdb-0^XT7K;*;#H}?(EdsM|g)hmbbsC_4cY&i$n5V)bYp&iN}KFCJOAAO%y59Yg*qk ztmoGj>hFeV9>x5mCSjOMaUdhBs#sP*&Q0_iZ+(!yxR+Qejv<@ZAJP)pLq@XAc&~n< z^D-Hsi%(-KvK&@v}O*R3JAgtbNRHf#FU2z>vr%zd)494#8PP|X3JcopZfdeVI= z@pFTPcQ{3rYnAo2DW?IhpR`bPccZ;_H0Sj1DDJ-zo|g`ZZsK8mkB9|E2KdDIpAQ`K z{GtGD>n`bszIfpA5U=m(1o@o#olX$(lnf#OpYF(4IU1Zvy{4$c*~-~~Tk*kk@dVyT zZM*Cu(k6n5=_qTf^15&1>SeO0uhm>#Yvk)@>}PTM$aoO1*m-B=ca^@Nvy_w-D?}9y zFY2@Bs}cg=^d4(k9&WZSV;Hwu3B7S9M-VAz4yF*G@#%GB7`)T>Y5QRAcX*=v=?Dgg z`!RdLZmRgY^IEI;Orf?!r}3QzhrL&~)<1GOoGN>e7~PNsbAUx;NX5 zgTm{cnP)dXk11|^3D&fekDM+$N-~IBP38@E4&ePE)hrl5++EnBVG%B?Emmgb6;%}l zOY?R}fV~J*{b6cXv)B8_j6$xNGeEw(;KD~Q9Fp0e?4_`#<;j5A@S@Sk?U_Nhc(PV? z6Ci!=dUq@%ZALw

    d2&xUWqGO3IohxtKUkC5#-g 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

    vH~6^JdGVYc=%9xDxzRlm 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 z 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%0DCFkZ33xPRvdoU&zfC@Y%|lSV@R&{O7o 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

    Bv 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

    Kb1&onFOtBZIk%o8WxRiu;lbA$Vb}MA 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%0AKG zB7q4!q~8TQUq4e;*cik%?qx_y^}BXB6J0w!QD(os;MrvFyH=*h-mPK8(!nV~&x|t! zwD2_b0NBD?dbztJyf2fsm>k%0AQo7L0q>vQ>CmnKm5+K$qP$0uwI&-Ac7cjmoczT8 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

    kDGur_P)qyvI@ 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%0AdW@F3Ag;_J8kPPtBit)Y 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�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