Copy disabled (too large)
Download .txt
Showing preview only (14,704K chars total). Download the full file to get everything.
Repository: panacloud-modern-global-apps/defi-dapps-solidity-smart-contracts
Branch: main
Commit: 2dfbde2a4392
Files: 780
Total size: 13.9 MB
Directory structure:
gitextract_wpwvnkz8/
├── LICENSE
├── README.md
├── projects.md
├── step00_hardhat_helloworld/
│ ├── .gitignore
│ ├── README.md
│ ├── contracts/
│ │ └── Greeter.sol
│ ├── hardhat.config.js
│ ├── package.json
│ ├── scripts/
│ │ └── sample-script.js
│ └── test/
│ └── sample-test.js
├── step01_hardhat_typescript_helloworld/
│ ├── .gitignore
│ ├── README.md
│ ├── contracts/
│ │ └── Greeter.sol
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── scripts/
│ │ └── sample-script.ts
│ ├── test/
│ │ └── sample-test.ts
│ └── tsconfig.json
├── step02_hardhat_simple_storage/
│ ├── .gitignore
│ ├── README.md
│ ├── contracts/
│ │ └── SimpleStorage.sol
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── scripts/
│ │ └── sample-script.ts
│ ├── test/
│ │ └── sample-test.ts
│ └── tsconfig.json
├── step03_solidity_tutorial/
│ ├── .gitignore
│ ├── README.md
│ ├── contracts/
│ │ ├── Demo1.sol
│ │ ├── Greeter.sol
│ │ ├── SolidityTest.sol
│ │ ├── SolidityTest2.sol
│ │ ├── SolidityTest3.sol
│ │ ├── SolidityTest4.sol
│ │ ├── SolidityTest5.sol
│ │ ├── SolidityTest6.sol
│ │ ├── SolidityTest7.sol
│ │ ├── SolidityTest8.sol
│ │ └── SolidityTest9.sol
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── scripts/
│ │ ├── deploy.ts
│ │ └── sample-script.ts
│ ├── test/
│ │ └── sample-test.ts
│ └── tsconfig.json
├── step04A_chap2_textbook/
│ ├── .commitlintrc.yaml
│ ├── .czrc
│ ├── .editorconfig
│ ├── .eslintignore
│ ├── .eslintrc.yaml
│ ├── .github/
│ │ └── FUNDING.yaml
│ ├── .gitignore
│ ├── .husky/
│ │ ├── .gitignore
│ │ ├── commit-msg
│ │ └── pre-commit
│ ├── .lintstagedrc
│ ├── .prettierignore
│ ├── .prettierrc.yaml
│ ├── .solcover.js
│ ├── .solhint.json
│ ├── .solhintignore
│ ├── .yarn/
│ │ ├── plugins/
│ │ │ └── @yarnpkg/
│ │ │ └── plugin-interactive-tools.cjs
│ │ └── releases/
│ │ └── yarn-3.1.0.cjs
│ ├── .yarnrc.yml
│ ├── README.md
│ ├── contracts/
│ │ ├── ABIEncodeExample.sol
│ │ ├── AcceptEther.sol
│ │ ├── AcceptEtherWithLog.sol
│ │ ├── AccountContract.sol
│ │ ├── ArraysExample.sol
│ │ ├── CallExample.sol
│ │ ├── EnumExample.sol
│ │ ├── GasExample.sol
│ │ ├── LoanStruct.sol
│ │ ├── MappingExample.sol
│ │ ├── Migrations.sol
│ │ ├── OraclizeService.sol
│ │ ├── SelectorExample.sol
│ │ ├── SkipContract.sol
│ │ ├── SpecialFunctions.sol
│ │ ├── StringExample.sol
│ │ ├── ThisExample.sol
│ │ └── VariableStorage.sol
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── tasks/
│ │ ├── accounts.ts
│ │ └── deploy/
│ │ ├── greeter.ts
│ │ └── index.ts
│ ├── test/
│ │ ├── greeter/
│ │ │ ├── Greeter.behavior.ts
│ │ │ └── Greeter.ts
│ │ └── types.ts
│ └── tsconfig.json
├── step04B_chap2_textbook/
│ ├── .eslintignore
│ ├── .eslintrc.js
│ ├── .gitignore
│ ├── .npmignore
│ ├── .prettierignore
│ ├── .solhint.json
│ ├── .solhintignore
│ ├── README.md
│ ├── contracts/
│ │ ├── ABIEncodeExample.sol
│ │ ├── CallFunctionDemo.sol
│ │ ├── CallerDemo.sol
│ │ ├── DemoLib.sol
│ │ ├── Greeter.sol
│ │ ├── RequestDemo.sol
│ │ └── SecondContract.sol
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── scripts/
│ │ ├── deploy.ts
│ │ ├── deploy2.ts
│ │ ├── deploy3.ts
│ │ └── deploy4.ts
│ ├── test/
│ │ └── index.ts
│ └── tsconfig.json
├── step05A_chap3_textbook/
│ ├── .commitlintrc.yaml
│ ├── .czrc
│ ├── .editorconfig
│ ├── .eslintignore
│ ├── .eslintrc.yaml
│ ├── .github/
│ │ └── FUNDING.yaml
│ ├── .gitignore
│ ├── .husky/
│ │ ├── .gitignore
│ │ ├── commit-msg
│ │ └── pre-commit
│ ├── .lintstagedrc
│ ├── .prettierignore
│ ├── .prettierrc.yaml
│ ├── .solcover.js
│ ├── .solhint.json
│ ├── .solhintignore
│ ├── .yarn/
│ │ ├── plugins/
│ │ │ └── @yarnpkg/
│ │ │ └── plugin-interactive-tools.cjs
│ │ └── releases/
│ │ └── yarn-3.1.0.cjs
│ ├── .yarnrc.yml
│ ├── README.md
│ ├── contracts/
│ │ ├── AbstractDeposit.sol
│ │ ├── ConstantExample.sol
│ │ ├── ConstructorExample.sol
│ │ ├── ControlledAddressList.sol
│ │ ├── EventExample.sol
│ │ ├── ExampleInterface.sol
│ │ ├── GetterExample.sol
│ │ ├── InternalConstructor.sol
│ │ ├── MainContract.sol
│ │ ├── Migrations.sol
│ │ ├── ModifierExample.sol
│ │ ├── MultiReturn.sol
│ │ ├── TokenList.sol
│ │ ├── VisibilityExample.sol
│ │ ├── function/
│ │ │ ├── FallbackFuncExample.sol
│ │ │ ├── FuncOverload.sol
│ │ │ ├── FuncOverride.sol
│ │ │ ├── PureFuncExample.sol
│ │ │ └── ViewFuncExample.sol
│ │ └── inheritance/
│ │ ├── InheritanceExample1.sol
│ │ ├── InheritanceExample2.sol
│ │ └── MyToken.sol
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── tasks/
│ │ ├── accounts.ts
│ │ └── deploy/
│ │ ├── greeter.ts
│ │ └── index.ts
│ ├── test/
│ │ ├── greeter/
│ │ │ ├── Greeter.behavior.ts
│ │ │ └── Greeter.ts
│ │ └── types.ts
│ └── tsconfig.json
├── step05B_chap3_textbook/
│ ├── .eslintignore
│ ├── .eslintrc.js
│ ├── .gitignore
│ ├── .npmignore
│ ├── .prettierignore
│ ├── .solhint.json
│ ├── .solhintignore
│ ├── README.md
│ ├── contracts/
│ │ ├── DemoConstant.sol
│ │ ├── DemoInheritance.sol
│ │ ├── Greeter.sol
│ │ └── ValueStorage.sol
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── scripts/
│ │ ├── deploy.ts
│ │ └── deploy2.ts
│ ├── test/
│ │ └── index.ts
│ └── tsconfig.json
├── step06A_chap7_erc20_token/
│ ├── .commitlintrc.yaml
│ ├── .czrc
│ ├── .editorconfig
│ ├── .eslintignore
│ ├── .eslintrc.yaml
│ ├── .github/
│ │ └── FUNDING.yaml
│ ├── .gitignore
│ ├── .husky/
│ │ ├── .gitignore
│ │ ├── commit-msg
│ │ └── pre-commit
│ ├── .lintstagedrc
│ ├── .prettierignore
│ ├── .prettierrc.yaml
│ ├── .solcover.js
│ ├── .solhint.json
│ ├── .solhintignore
│ ├── .yarn/
│ │ ├── plugins/
│ │ │ └── @yarnpkg/
│ │ │ └── plugin-interactive-tools.cjs
│ │ └── releases/
│ │ └── yarn-3.1.0.cjs
│ ├── .yarnrc.yml
│ ├── README.md
│ ├── contracts/
│ │ ├── ERC20.sol
│ │ ├── ERC20Advanced.sol
│ │ ├── ERC20FullInterface.sol
│ │ ├── ERC20Interface.sol
│ │ ├── FirstCoin.sol
│ │ └── Migrations.sol
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── scripts/
│ │ └── deploy.ts
│ ├── tasks/
│ │ ├── accounts.ts
│ │ └── deploy/
│ │ ├── erc20.ts
│ │ └── index.ts
│ ├── test/
│ │ └── firstcoin-test.ts
│ └── tsconfig.json
├── step06B_chap9_OpenZeppelin/
│ └── .gitignore
├── step06B_chap9_erc20_OpenZeppelin/
│ ├── .eslintignore
│ ├── .eslintrc.js
│ ├── .gitignore
│ ├── .npmignore
│ ├── .prettierignore
│ ├── .prettierrc
│ ├── .solhint.json
│ ├── .solhintignore
│ ├── README.md
│ ├── contracts/
│ │ ├── CrowdSale.sol
│ │ └── MyToken.sol
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── scripts/
│ │ └── deploy.ts
│ ├── test/
│ │ └── token-tests.ts
│ └── tsconfig.json
├── step07_chap8_erc721_token/
│ ├── .commitlintrc.yaml
│ ├── .czrc
│ ├── .editorconfig
│ ├── .eslintignore
│ ├── .eslintrc.yaml
│ ├── .github/
│ │ └── FUNDING.yaml
│ ├── .gitignore
│ ├── .husky/
│ │ ├── .gitignore
│ │ ├── commit-msg
│ │ └── pre-commit
│ ├── .lintstagedrc
│ ├── .prettierignore
│ ├── .prettierrc.yaml
│ ├── .solcover.js
│ ├── .solhint.json
│ ├── .solhintignore
│ ├── .yarn/
│ │ ├── plugins/
│ │ │ └── @yarnpkg/
│ │ │ └── plugin-interactive-tools.cjs
│ │ └── releases/
│ │ └── yarn-3.1.0.cjs
│ ├── .yarnrc.yml
│ ├── README.md
│ ├── contracts/
│ │ ├── ERC721.sol
│ │ ├── ERC721Enumerable.sol
│ │ ├── ERC721Full.sol
│ │ ├── ERC721Metadata.sol
│ │ ├── IERC721.sol
│ │ ├── IERC721Enumerable.sol
│ │ ├── IERC721Full.sol
│ │ ├── IERC721Metadata.sol
│ │ ├── IERC721Receiver.sol
│ │ ├── Interfaces/
│ │ │ ├── ERC165.sol
│ │ │ ├── ERC721.sol
│ │ │ ├── ERC721Enumerable.sol
│ │ │ ├── ERC721Metadata.sol
│ │ │ └── ERC721TokenReceiver.sol
│ │ ├── Migrations.sol
│ │ ├── introspection/
│ │ │ ├── ERC165.sol
│ │ │ └── IERC165.sol
│ │ └── utils/
│ │ └── Address.sol
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── scripts/
│ │ └── deploy.ts
│ ├── tasks/
│ │ ├── accounts.ts
│ │ └── deploy/
│ │ ├── erc20.ts
│ │ └── index.ts
│ ├── test/
│ │ └── firstcoin-test.ts
│ └── tsconfig.json
├── step08A_nft_erc721_OpenZeppelin/
│ ├── .eslintignore
│ ├── .eslintrc.js
│ ├── .gitignore
│ ├── .npmignore
│ ├── .prettierignore
│ ├── .prettierrc
│ ├── .solhint.json
│ ├── .solhintignore
│ ├── README.md
│ ├── contracts/
│ │ └── ApartmentCollection.sol
│ ├── dist/
│ │ ├── hardhat.config.d.ts
│ │ ├── hardhat.config.js
│ │ ├── scripts/
│ │ │ ├── deploy.d.ts
│ │ │ └── deploy.js
│ │ └── test/
│ │ ├── index.d.ts
│ │ └── index.js
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── scripts/
│ │ └── deploy.ts
│ ├── test/
│ │ └── index.ts
│ └── tsconfig.json
├── step08B_erc1155_Token/
│ ├── .gitignore
│ ├── README.md
│ ├── contracts/
│ │ └── MultiTokenNFT.sol
│ ├── hardhat.config.ts
│ ├── metadata/
│ │ ├── 0.json
│ │ ├── 1.json
│ │ ├── 2.json
│ │ ├── 3.json
│ │ ├── 4.json
│ │ └── 5.json
│ ├── package.json
│ ├── scripts/
│ │ ├── deploy.ts
│ │ ├── mint-token.ts
│ │ └── read-token-info.ts
│ ├── tasks/
│ │ ├── read-greeting.js
│ │ └── set-greeting.js
│ ├── test/
│ │ └── sample-test.ts
│ └── tsconfig.json
├── step08C_erc1155_TokenFractions/
│ ├── .gitignore
│ ├── README.md
│ ├── contracts/
│ │ ├── FractionalNFT.sol
│ │ └── Greeter.sol
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── scripts/
│ │ └── deploy.ts
│ ├── tasks/
│ │ ├── read-greeting.js
│ │ └── set-greeting.js
│ ├── test/
│ │ └── sample-test.ts
│ └── tsconfig.json
├── step09_withdrawal_design_pattern/
│ ├── .gitignore
│ ├── README.md
│ ├── contracts/
│ │ └── Splitter.sol
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── scripts/
│ │ └── deploy.ts
│ ├── test/
│ │ └── test.ts
│ └── tsconfig.json
├── step10_access_restriction_design_pattern/
│ ├── .gitignore
│ ├── README.md
│ ├── contracts/
│ │ └── AccessRestriction.sol
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── scripts/
│ │ └── deploy.ts
│ ├── test/
│ │ └── access-test.ts
│ └── tsconfig.json
├── step11_factory_design_pattern/
│ ├── .gitignore
│ ├── README.md
│ ├── contracts/
│ │ ├── CloneFactory.sol
│ │ ├── Factory1.sol
│ │ ├── Factory2.sol
│ │ └── Factory3.sol
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── scripts/
│ │ └── deploy.ts
│ ├── test/
│ │ └── access-test.ts
│ └── tsconfig.json
├── step12_state_machine_design_pattern/
│ ├── .gitignore
│ ├── README.md
│ ├── contracts/
│ │ └── DepositLock.sol
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── scripts/
│ │ └── deploy.ts
│ ├── test/
│ │ └── test.ts
│ └── tsconfig.json
├── step13_fail_early_loud_design_pattern/
│ ├── .gitignore
│ ├── README.md
│ ├── contracts/
│ │ └── FailEarly.sol
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── scripts/
│ │ └── deploy.ts
│ ├── test/
│ │ └── test.ts
│ └── tsconfig.json
├── step14_wrapped_token_design_pattern/
│ ├── .gitignore
│ ├── README.md
│ ├── contracts/
│ │ └── WETH.sol
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── scripts/
│ │ └── deploy.ts
│ ├── test/
│ │ └── test.ts
│ └── tsconfig.json
├── step15_gnosis_safe/
│ └── README.md
├── step16_chainlink_random_number/
│ ├── .gitignore
│ ├── README.md
│ ├── contracts/
│ │ └── VRFD20.sol
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── scripts/
│ │ └── deploy.ts
│ ├── test/
│ │ └── contract-test.ts
│ └── tsconfig.json
├── step17_chainlink_starter_kit/
│ ├── .eslintrc.js
│ ├── .gitattributes
│ ├── .gitignore
│ ├── LICENSE
│ ├── README.md
│ ├── contracts/
│ │ ├── APIConsumer.sol
│ │ ├── KeepersCounter.sol
│ │ ├── PriceConsumerV3.sol
│ │ ├── RandomNumberConsumer.sol
│ │ └── test/
│ │ ├── LinkToken.sol
│ │ ├── MockOracle.sol
│ │ ├── MockV3Aggregator.sol
│ │ └── VRFCoordinatorMock.sol
│ ├── deploy/
│ │ ├── 00_Deploy_Mocks.js
│ │ ├── 01_Deploy_PriceConsumerV3.js
│ │ ├── 02_Deploy_APIConsumer.js
│ │ ├── 03_Deploy_RandomNumberConsumer.js
│ │ ├── 04_Deploy_KeepersCounter.js
│ │ └── 99_Setup_Contracts.js
│ ├── hardhat.config.js
│ ├── helper-hardhat-config.js
│ ├── package.json
│ ├── tasks/
│ │ ├── accounts.js
│ │ ├── api-consumer/
│ │ │ ├── index.js
│ │ │ ├── read-data.js
│ │ │ └── request-data.js
│ │ ├── balance.js
│ │ ├── block-number.js
│ │ ├── keepers/
│ │ │ ├── index.js
│ │ │ └── read-keepers-counter.js
│ │ ├── price-consumer/
│ │ │ ├── index.js
│ │ │ ├── read-price-feed-ens.js
│ │ │ └── read-price-feed.js
│ │ ├── random-number-consumer/
│ │ │ ├── index.js
│ │ │ ├── read-random-number.js
│ │ │ └── request-random-number.js
│ │ └── withdraw-link.js
│ └── test/
│ ├── integration/
│ │ ├── APIConsumer_int_test.js
│ │ └── RandomNumberConsumer_int_test.js
│ └── unit/
│ ├── APIConsumer_unit_test.js
│ ├── KeepersCounter_unit_test.js
│ ├── PriceConsumerV3_unit_test.js
│ └── RandomNumberConsumer_unit_test.js
├── step18_upgradable_contract_design_pattern/
│ ├── .gitignore
│ ├── .openzeppelin/
│ │ └── unknown-31337.json
│ ├── README.md
│ ├── contracts/
│ │ ├── SimpleStorageUpgradeable.sol
│ │ └── SimpleStorageUpgradeableV2.sol
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── scripts/
│ │ ├── deploy.ts
│ │ └── upgrade.ts
│ ├── test/
│ │ └── test.ts
│ └── tsconfig.json
├── step19_dao/
│ └── readme.md
├── step20_real_estate_tokenization/
│ └── readme.md
├── step21_dapp_architecture/
│ └── readme.md
├── step21_helloworld_dapp/
│ ├── .gitignore
│ ├── README.md
│ ├── package.json
│ ├── public/
│ │ ├── index.html
│ │ ├── manifest.json
│ │ └── robots.txt
│ ├── src/
│ │ ├── App.css
│ │ ├── App.test.tsx
│ │ ├── App.tsx
│ │ ├── SimpleStorage.tsx
│ │ ├── index.css
│ │ ├── index.tsx
│ │ ├── react-app-env.d.ts
│ │ ├── reportWebVitals.ts
│ │ └── setupTests.ts
│ └── tsconfig.json
├── step22_node_providers/
│ └── readme.md
├── step23_the_graph_theory/
│ └── readme.md
├── step24_the_graph_example/
│ └── readme.md
├── stepxx_solana_development/
│ └── readme.md
├── stepxx_yield_farming/
│ └── README.md
└── web3/
├── readme.md
├── step00_node_getbalance/
│ ├── .gitignore
│ ├── EthereumAccount.ts
│ ├── index.ts
│ ├── package.json
│ ├── readme.md
│ ├── tsconfig.json
│ └── tslint.json
├── step01_smartcontract_read_data/
│ ├── .gitignore
│ ├── SmartContract.ts
│ ├── index.ts
│ ├── package.json
│ ├── readme.md
│ ├── tsconfig.json
│ └── tslint.json
├── step02_smartcontract_read_data_typechain/
│ ├── .gitignore
│ ├── SmartContract.ts
│ ├── abi/
│ │ └── dai.json
│ ├── index.ts
│ ├── package.json
│ ├── readme.md
│ ├── tsconfig.json
│ └── tslint.json
├── step03_send_transaction_unlocked_account/
│ ├── .gitignore
│ ├── index.ts
│ ├── package.json
│ ├── readme.md
│ ├── transaction.ts
│ ├── tsconfig.json
│ └── tslint.json
├── step04_send_transaction_signed/
│ ├── .gitignore
│ ├── index.ts
│ ├── package.json
│ ├── readme.md
│ ├── signedTransaction.ts
│ ├── tsconfig.json
│ └── tslint.json
├── step05_deploy_contract/
│ ├── .gitignore
│ ├── deploySmartContract.ts
│ ├── index.ts
│ ├── package.json
│ ├── readme.md
│ ├── tsconfig.json
│ └── tslint.json
├── step06_invoke_smartContract_with_signed_functions/
│ ├── .gitignore
│ ├── index.ts
│ ├── package.json
│ ├── readme.md
│ ├── runSmartContract.ts
│ ├── tsconfig.json
│ └── tslint.json
├── step07_fetch_events/
│ ├── .gitignore
│ ├── getEventsDai.ts
│ ├── index.ts
│ ├── package.json
│ ├── readme.md
│ ├── tsconfig.json
│ └── tslint.json
├── step08_inspect_blocks/
│ ├── .gitignore
│ ├── index.ts
│ ├── inspectBlocks.ts
│ ├── package.json
│ ├── readme.md
│ ├── tsconfig.json
│ └── tslint.json
├── step09_utils/
│ ├── .gitignore
│ ├── index.ts
│ ├── package.json
│ ├── readme.md
│ ├── tsconfig.json
│ ├── tslint.json
│ └── utils.ts
├── step10_metamask/
│ ├── step00_ethereum_connect/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.json
│ │ ├── public/
│ │ │ ├── index.html
│ │ │ ├── manifest.json
│ │ │ └── robots.txt
│ │ └── src/
│ │ ├── App.css
│ │ ├── App.jsx
│ │ ├── App.test.js
│ │ ├── index.css
│ │ ├── index.js
│ │ ├── reportWebVitals.js
│ │ └── setupTests.js
│ ├── step01_ethereum_send_transaction/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.json
│ │ ├── public/
│ │ │ ├── index.html
│ │ │ ├── manifest.json
│ │ │ └── robots.txt
│ │ └── src/
│ │ ├── App.css
│ │ ├── App.jsx
│ │ ├── App.test.js
│ │ ├── index.css
│ │ ├── index.js
│ │ ├── reportWebVitals.js
│ │ └── setupTests.js
│ ├── step02_web3_basic/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.json
│ │ ├── public/
│ │ │ ├── index.html
│ │ │ ├── manifest.json
│ │ │ └── robots.txt
│ │ ├── src/
│ │ │ ├── App.css
│ │ │ ├── App.test.tsx
│ │ │ ├── App.tsx
│ │ │ ├── index.css
│ │ │ ├── index.tsx
│ │ │ ├── react-app-env.d.ts
│ │ │ ├── reportWebVitals.ts
│ │ │ └── setupTests.ts
│ │ └── tsconfig.json
│ └── step03_web3_send_transaction/
│ ├── .gitignore
│ ├── README.md
│ ├── package.json
│ ├── public/
│ │ ├── index.html
│ │ ├── manifest.json
│ │ └── robots.txt
│ ├── src/
│ │ ├── App.css
│ │ ├── App.test.tsx
│ │ ├── App.tsx
│ │ ├── index.css
│ │ ├── index.tsx
│ │ ├── react-app-env.d.ts
│ │ ├── reportWebVitals.ts
│ │ └── setupTests.ts
│ └── tsconfig.json
├── step11_react_examples/
│ ├── market_place/
│ │ ├── Readme.md
│ │ ├── backend/
│ │ │ ├── build/
│ │ │ │ └── contracts/
│ │ │ │ ├── Marketplace.json
│ │ │ │ └── Migrations.json
│ │ │ ├── contracts/
│ │ │ │ ├── Marketplace.sol
│ │ │ │ └── Migrations.sol
│ │ │ ├── migrations/
│ │ │ │ ├── 1_initial_migration.js
│ │ │ │ └── 2_deploy_contracts.js
│ │ │ ├── package.json
│ │ │ ├── test/
│ │ │ │ ├── .gitkeep
│ │ │ │ └── Marketplace.test.js
│ │ │ └── truffle-config.js
│ │ └── frontend/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.json
│ │ ├── public/
│ │ │ ├── index.html
│ │ │ ├── manifest.json
│ │ │ └── robots.txt
│ │ ├── src/
│ │ │ ├── App.css
│ │ │ ├── App.test.tsx
│ │ │ ├── App.tsx
│ │ │ ├── Main.tsx
│ │ │ ├── Navbar.tsx
│ │ │ ├── global.d.ts
│ │ │ ├── index.css
│ │ │ ├── index.tsx
│ │ │ ├── react-app-env.d.ts
│ │ │ ├── reportWebVitals.ts
│ │ │ ├── setupTests.ts
│ │ │ └── types.ts
│ │ ├── tsconfig.json
│ │ └── types/
│ │ └── web3-v1-contracts/
│ │ ├── Marketplace.d.ts
│ │ ├── Migrations.d.ts
│ │ └── types.d.ts
│ ├── market_place_redux/
│ │ ├── Readme.md
│ │ ├── backend/
│ │ │ ├── build/
│ │ │ │ └── contracts/
│ │ │ │ ├── Marketplace.json
│ │ │ │ └── Migrations.json
│ │ │ ├── contracts/
│ │ │ │ ├── Marketplace.sol
│ │ │ │ └── Migrations.sol
│ │ │ ├── migrations/
│ │ │ │ ├── 1_initial_migration.js
│ │ │ │ └── 2_deploy_contracts.js
│ │ │ ├── package.json
│ │ │ ├── test/
│ │ │ │ ├── .gitkeep
│ │ │ │ └── Marketplace.test.js
│ │ │ └── truffle-config.js
│ │ └── frontend/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.json
│ │ ├── public/
│ │ │ ├── index.html
│ │ │ ├── manifest.json
│ │ │ └── robots.txt
│ │ ├── src/
│ │ │ ├── App.css
│ │ │ ├── App.test.tsx
│ │ │ ├── App.tsx
│ │ │ ├── Main.tsx
│ │ │ ├── Navbar.tsx
│ │ │ ├── abis/
│ │ │ │ ├── Marketplace.json
│ │ │ │ └── Migrations.json
│ │ │ ├── global.d.ts
│ │ │ ├── index.css
│ │ │ ├── index.tsx
│ │ │ ├── react-app-env.d.ts
│ │ │ ├── reportWebVitals.ts
│ │ │ ├── setupTests.ts
│ │ │ ├── store/
│ │ │ │ ├── MarketplaceSlice.ts
│ │ │ │ └── store.ts
│ │ │ └── types.ts
│ │ ├── tsconfig.json
│ │ └── types/
│ │ └── web3-v1-contracts/
│ │ ├── Marketplace.d.ts
│ │ ├── Migrations.d.ts
│ │ └── types.d.ts
│ ├── todo_app/
│ │ ├── .gitignore
│ │ ├── blockchainBackend/
│ │ │ ├── README.md
│ │ │ ├── contracts/
│ │ │ │ └── TodoList.sol
│ │ │ ├── migrations/
│ │ │ │ └── 1_deploy_contract.js
│ │ │ ├── test/
│ │ │ │ └── .gitkeep
│ │ │ └── truffle-config.js
│ │ └── frontend/
│ │ ├── README.md
│ │ ├── package.json
│ │ ├── public/
│ │ │ ├── index.html
│ │ │ ├── manifest.json
│ │ │ └── robots.txt
│ │ ├── src/
│ │ │ ├── App.css
│ │ │ ├── App.test.tsx
│ │ │ ├── App.tsx
│ │ │ ├── abi/
│ │ │ │ └── todoList.json
│ │ │ ├── config.ts
│ │ │ ├── index.tsx
│ │ │ ├── react-app-env.d.ts
│ │ │ ├── reportWebVitals.ts
│ │ │ └── setupTests.ts
│ │ └── tsconfig.json
│ └── todo_app_redux/
│ ├── .gitignore
│ ├── blockchainBackend/
│ │ ├── README.md
│ │ ├── contracts/
│ │ │ └── TodoList.sol
│ │ ├── migrations/
│ │ │ └── 1_deploy_contract.js
│ │ └── truffle-config.js
│ └── frontend/
│ ├── README.md
│ ├── package.json
│ ├── public/
│ │ ├── index.html
│ │ ├── manifest.json
│ │ └── robots.txt
│ ├── src/
│ │ ├── App.css
│ │ ├── App.test.tsx
│ │ ├── App.tsx
│ │ ├── abi/
│ │ │ └── todoList.json
│ │ ├── config.ts
│ │ ├── index.tsx
│ │ ├── react-app-env.d.ts
│ │ ├── reportWebVitals.ts
│ │ ├── setupTests.ts
│ │ └── store/
│ │ ├── store.ts
│ │ └── todoListSlice.ts
│ ├── tsconfig.json
│ └── types/
│ └── web3-v1-contracts/
│ └── types.d.ts
└── step12_gatsby_examples/
├── socialMediaPosts_app/
│ ├── .gitignore
│ ├── README.md
│ ├── backend/
│ │ ├── README.md
│ │ ├── contracts/
│ │ │ ├── Migrations.sol
│ │ │ └── socialMedia.sol
│ │ ├── migrations/
│ │ │ ├── 1_initial_migration.js
│ │ │ └── 2_socialMedia_migration.js
│ │ ├── package.json
│ │ ├── test/
│ │ │ ├── .gitkeep
│ │ │ └── socialMedia.test.js
│ │ └── truffle-config.js
│ └── frontend/
│ ├── .gitignore
│ ├── .prettierignore
│ ├── .prettierrc
│ ├── LICENSE
│ ├── README.md
│ ├── gatsby-browser.js
│ ├── gatsby-config.js
│ ├── gatsby-node.js
│ ├── gatsby-ssr.js
│ ├── package.json
│ ├── src/
│ │ ├── abis/
│ │ │ ├── Migrations.json
│ │ │ └── SocialMedia.json
│ │ └── pages/
│ │ └── index.tsx
│ ├── tsconfig.json
│ ├── tslint.json
│ └── types/
│ └── web3-v1-contracts/
│ ├── Election.d.ts
│ ├── Migrations.d.ts
│ └── types.d.ts
└── voting_app/
├── .gitignore
├── backend/
│ ├── README.MD
│ ├── contracts/
│ │ ├── Election.sol
│ │ └── Migrations.sol
│ ├── migrations/
│ │ ├── 1_initial_migration.js
│ │ └── 2_deploy_contracts.js
│ ├── package.json
│ ├── test/
│ │ ├── .gitkeep
│ │ └── election.js
│ └── truffle-config.js
├── frontend/
│ ├── .gitignore
│ ├── .prettierignore
│ ├── .prettierrc
│ ├── LICENSE
│ ├── README.md
│ ├── gatsby-browser.js
│ ├── gatsby-config.js
│ ├── gatsby-node.js
│ ├── gatsby-ssr.js
│ ├── package.json
│ ├── src/
│ │ ├── abis/
│ │ │ ├── Election.json
│ │ │ └── Migrations.json
│ │ ├── components/
│ │ │ ├── footer.tsx
│ │ │ ├── global-styles.tsx
│ │ │ ├── layout.tsx
│ │ │ ├── logo.tsx
│ │ │ └── seo.tsx
│ │ ├── global.d.ts
│ │ ├── modules/
│ │ │ ├── Election.tsx
│ │ │ └── types.ts
│ │ └── pages/
│ │ ├── 404.tsx
│ │ ├── app.tsx
│ │ ├── election.tsx
│ │ └── index.tsx
│ ├── tsconfig.json
│ ├── tslint.json
│ └── types/
│ └── web3-v1-contracts/
│ ├── Election.d.ts
│ ├── Migrations.d.ts
│ └── types.d.ts
└── readme.md
================================================
FILE CONTENTS
================================================
================================================
FILE: LICENSE
================================================
MIT License
Copyright (c) 2021 Panacloud Multi-Cloud Internet-Scale Modern Global Apps
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.
================================================
FILE: README.md
================================================
# Solidity Smart Contracts: Building DeFi DApps and Protocols for the Ethereum Blockchain
### [The Companion Dapp Learning Repo](https://github.com/panacloud-modern-global-apps/dapps-nextjs)
This repo is part of the [Certified Web 3.0 and Metaverse Developer Training Program](https://www.panaverse.co/)
This repository will provide a latest updated learning resource for Solidity developers.
[Digital assets to replace fiat in ten years – Deloitte Survey](https://www.cryptopolitan.com/digital-assets-to-replace-fiat-in-10-years/)
[DeFi can be 100 times larger than today in 5 years](https://cointelegraph.com/news/defi-can-be-100-times-larger-than-today-in-5-years)
[How DeFi Hopes to Disrupt Traditional Finance](https://www.wsj.com/video/series/wsj-glossary/how-defi-hopes-to-disrupt-traditional-finance/1BB73865-57AD-4791-9A36-ADAE3193DA2C)
[Crypto Job Postings Jumped 395% in 2021: LinkedIn](https://www.coindesk.com/business/2022/01/14/crypto-job-postings-jumped-395-in-2021-linkedin/)
[DeFi and NFT Scaled to New Heights in 2021: CoinGecko Report](https://cryptopotato.com/defi-and-nft-scaled-to-new-heights-in-2021-coingecko-report/)
[The 5 Promising Blockchain Projects Leading The Way Forward For Decentralized Technology In 2022](https://www.newsbtc.com/news/company/the-5-promising-blockchain-projects-leading-the-way-forward-for-decentralized-technology-in-2022/)
[DeFi – Reflections on 2021 and the Road Ahead](https://novonews.io/indiv-news?id=82268)
## Class Videos
[Class 1: Steps 00 and 01: Blockchain, Ethereum Smart Contract, and Hardhat Intro in English on Facebook](https://www.facebook.com/fb.anees.ahmed/videos/611810023268930)
[Class 1: Steps 00 and 01: Blockchain, Ethereum Smart Contract, and Hardhat Intro in English on YouTube](https://youtu.be/24Nl4fVGH6g)
[Class 1: Step 00 and 01: Blockchain, Ethereum Smart Contract, and Hardhat Intro in Urdu on Facebook](https://www.facebook.com/Ai.SirQasim/videos/394282572468467)
[Class 1: Step 00 and 01: Blockchain, Ethereum Smart Contract, and Hardhat Intro in Urdu on YouTube](https://youtu.be/wXFi1wkn_5o)
[Class 2: Step 03 Part 1 - Solidity Tutorial in English on Facebook](https://web.facebook.com/trouble.maker121/videos/448321510117377)
[Class 2: Step 03 Part 1 - Solidity Tutorial in English on YouTube](https://youtu.be/NcZMDsjJ-OA)
[Class 2: Step 03 Part 1 - Solidity Tutorial in Urdu on Facebook](https://web.facebook.com/Ai.SirQasim/videos/322455473108467)
[Class 2: Step 03 Part 1 - Solidity Tutorial in Urdu on YouTube](https://youtu.be/rfnAsGNH14E)
[Class 3: Step 03 Part 2 - Solidity Tutorial in English on Facebook](https://web.facebook.com/fb.anees.ahmed/videos/7151001034909886)
[Class 3: Step 03 Part 2 - Solidity Tutorial in English on YouTube](https://youtu.be/mXuY7Sp5jmw)
[Class 3: Step 03 Part 2 - Solidity Tutorial in Urdu on Facebook](https://web.facebook.com/Ai.SirQasim/videos/2126325780860897)
[Class 3: Step 03 Part 2 - Solidity Tutorial in Urdu on YouTube](https://youtu.be/nhlchB7Mij4)
[Class 3 Part 2: Step 03 Part 2B - Solidity Tutorial in Urdu on YouTube](https://youtu.be/J3C9KGG61pA)
[Class 4: Step 03 Part 3 - Solidity Tutorial in English on Facebook](https://www.facebook.com/fb.anees.ahmed/videos/319111146832336)
[Class 4: Step 03 Part 3 - Solidity Tutorial in English on YouTube](https://youtu.be/t-8fHUpbjb8)
[Class 4: Step 03 Part 3 - Solidity Tutorial in Urdu on Facebook](https://www.facebook.com/Ai.SirQasim/videos/1812389385622735)
[Class 4: Step 03 Part 3 - Solidity Tutorial in Urdu on YouTube](https://youtu.be/nbG_FhoCLoE)
[Class 5: Step 03 Part 4 - Solidity Tutorial in English on Facebook](https://www.facebook.com/zeeshanhanif/videos/1378858009232147)
[Class 5: Step 03 Part 4 - Solidity Tutorial in English on YouTube](https://youtu.be/scga3Cy-NFQ)
[Class 5: Step 03 Part 4 - Solidity Tutorial in Urdu on Facebook](https://www.facebook.com/Ai.SirQasim/videos/495841945575417)
[Class 5: Step 03 Part 4 - Solidity Tutorial in Urdu on YouTube](https://youtu.be/Rq7q8ztRs70)
[Class 6: Step 03 Part 5 - Solidity Tutorial in English on Facebook](https://www.facebook.com/zeeshanhanif/videos/352545383194950)
[Class 6: Step 03 Part 5 - Solidity Tutorial in English on YouTube](https://youtu.be/56StWx7V4vM)
[Class 6: Step 03 Part 5 - Solidity Tutorial in Urdu on Facebook](https://www.facebook.com/Ai.SirQasim/videos/2210008845814579)
[Class 6: Step 03 Part 5 - Solidity Tutorial in Urdu on YouTube](https://youtu.be/lyQUb7vuvpY)
[Class 7: Step 03 Part 6 - Solidity Tutorial in English on Facebook](https://www.facebook.com/zeeshanhanif/videos/474397740982913)
[Class 7: Step 03 Part 6 - Solidity Tutorial in English on YouTube](https://youtu.be/dNel-1J7WAo)
[Class 7: Step 03 Part 6 - Solidity Tutorial in Urdu on Facebook](https://www.facebook.com/Ai.SirQasim/videos/1114838999266069)
[Class 7: Step 03 Part 6 - Solidity Tutorial in Urdu on YouTube](https://youtu.be/ynRJq88pJQo)
[Class 8: Step 04 - Chapter 02 Textbook in English on Facebook](https://www.facebook.com/zeeshanhanif/videos/480580873784502)
[Class 8: Step 04 - Chapter 02 Textbook in English on YouTube](https://youtu.be/eLxMxhfEZ9g)
[Class 8: Step 04 - Chapter 02 Textbook in Urdu on Facebook](https://www.facebook.com/Ai.SirQasim/videos/647528262963595)
[Class 8: Step 04 - Chapter 02 Textbook in Urdu on YouTube](https://youtu.be/HYgh3Nix7jQ)
[Class 9: Step 04 and 05 - Chapter 02 and 03 Textbook in English on Facebook](https://www.facebook.com/zeeshanhanif/videos/7014356888634818)
[Class 9: Step 04 and 05 - Chapter 02 and 03 Textbook in English on YouTube](https://youtu.be/zGvMRE6rflU)
[Class 9: Step 04 and 05 - Chapter 02 and 03 Textbook in Urdu on Facebook](https://www.facebook.com/Ai.SirQasim/videos/1050761768987494)
[Class 9: Step 04 and 05 - Chapter 02 and 03 Textbook in Urdu on YouTube](https://youtu.be/1DmqDVVv0Wg)
[Class 10: Step 6A - Chapter 07 Textbook in English on Facebook](https://www.facebook.com/zeeshanhanif/videos/1248604509216381)
[Class 10: SStep 6A - Chapter 07 Textbook in English on YouTube](https://youtu.be/rgEbkqhr-2g)
[Class 10: Step 6A - Chapter 07 Textbook in Urdu on Facebook](https://www.facebook.com/Ai.SirQasim/videos/703398320695153)
[Class 10: Step 6A - Chapter 07 Textbook in Urdu on YouTube](https://youtu.be/VFIItvWFfOY)
[Class 11: Step 6B - Vacation Project Assignment in English on Facebook](https://www.facebook.com/inampaki/videos/717989595995770)
[Class 11: SStep 6B - Vacation Project Assignment in English on YouTube](https://youtu.be/MXINU6LLC2A)
[Class 11: Step 6B - Vacation Project Assignment in Urdu on Facebook](https://www.facebook.com/Ai.SirQasim/videos/274105618254173)
[Class 11: Step 6B - Vacation Project Assignment in Urdu on YouTube](https://youtu.be/hLVxr-1seaA)
## We will take a 1 month Ramdan/Summer Vacation and do the following project during this vacation. The project is due after Eid. Classes will also continue after Eid.
## Project 1: Create a Token and Launch ICO/IEO/IDO
As you probably know, the ICO ("Initial Coin Offering") industry has been booming, and it's completely reinventing the way new startups kickstart themselves. In fact, go have a look at [Wikipedia's list of highest crowdfunding projects](https://en.wikipedia.org/wiki/List_of_highest-funded_crowdfunding_projects), and you'll notice that blockchain projects absolutely dominate the list.
[Understand the difference between IDO vs. IEO vs. ICO](https://phemex.com/blogs/what-is-a-dex-ido)
Also check these links for latest listings:
[ICO list at ICO Drops](https://icodrops.com/).
[ICO List of Best New Initial Coin Offerings](https://topicolist.com/).
[Top-Rated Crypto Token Sales: List of New ICOs, STOs, IEOs and IDOsTop-Rated Crypto Token Sales: List of New ICOs, STOs, IEOs and IDOs](https://cryptototem.com/ico-list/)
[ICO List Online](https://www.icolistingonline.com/)
[Binance IEO List](https://coincodex.com/ieo-list/binance/)
[Binance Launchpad](https://www.coinspeaker.com/ieo/platform/binance-launchpad/)
[IEO List](https://icomarks.com/ieo)
[Polkastarter](https://polkastarter.com/)
Project Part 1: How to Launch a IEO on Binance Lauchpad
[Read how to Lauch an IEO](https://appinventiv.com/blog/how-to-launch-an-ieo/)
Your first task of the project is to make a google slides presentation on how to start a IEO on the [Binance Launch Pad](https://www.binance.com/en/support/faq/94ed108ce89d44ab8602aa3c476dfb04).
Note: Also document the alternatives to Binance Launchpad.
Project Part 2: How to Launch a IDO on Polkastarter
Review the [list of top fundraising platforms](https://cryptorank.io/fundraising-platforms)
Your second task of the project is to make a google slides presentation on how to start a IDO on the [Polkastarter](https://polkastarter.com/).
Project Part 3: Create a Pako Token
By creating an token and related contracts, you'll also learn how to handle money sent to to your contracts, which should come in handy if you want to create some kind of paid decentralised service in the future.
Therefore, for the sake of this chapter, let's imagine that our Pako DApp uses its own coin – the Pako Token. We will create two contracts – one for the token itself and one for the token crowd sale (the ICO).
Now Create your own Pako ERC20 Token and deploy it on a testnet. The Token should be to use openzeppelin contracts. You will use Harkhat development envirnoment. Also, write at least 20 automated tests. We will be using the Solidity and Typescript for dvelopment.
Project Part 4: Develop Crowd Sale Contract
Now the next decision you have to make is "how do I get these tokens to users?". This is usually done in one of three ways:
Owned Crowdsale — The Crowdsale contract owns tokens and simply transfers tokens from its own ownership to users that purchase them.
Minted Crowdsale — The Crowdsale mints tokens when a purchase is made.
Allowance Crowdsale — The Crowdsale is granted an allowance to another wallet (like a Multisig) that already owns the tokens to be sold in the crowdsale.
Other option is that we let an exchange handles this process.
In this part of the project we will implement the Owned Crowdsale strategy.
This contract will be responsible to allow users to exchange ETH for our Pako Token. In order to do that we need to
Set a price for our token (1 ETH = 100 Pako Token)
Implement a [payable](https://codedamn.com/news/solidity/payable-function-in-solidity-example-how-to-use-it) buyToken() function.
Also may also see [payable example](https://solidity-by-example.org/payable/).
Emit a BuyTokens event that will log who’s the buyer, the amount of ETH sent and the amount of Token bought
Transfer 75% the Tokens to the Crowd Sale contract at deployment time. i.e. Right after the contract is deployed, we want the token contract to send 75% of our token supply to it. While 25% remain in our personal "owner" account.
Transfer the ownership of the Crowd Sale contract (at deploy time) to our frontend address so that we are able to withdraw the ETH.
You can use the [openzeppelin crowd sale contracts](https://docs.openzeppelin.com/contracts/4.x/crowdsales), however you will have to update the code to the latest solidity version.
Also write exentisive tests, for example we will simply send a transaction of 1 ETH from a random account to the contract. After the transaction, we should expect the account to have received Pako, while the contract's balance should have been reduced.
Note: Before you get started writing the token contract we suggest you review [access control](https://docs.openzeppelin.com/contracts/4.x/access-control).
Project Part 5: Trying it with MetaMask
While it's always good to test your code, it's often more satisfying to see the results of your work wrapped in a nice UI. Let's see how we can deploy our contracts and get some Pako tokens into our MetaMask wallet!
We start by running our deployment scripts for the test network so that the new token contracts are uploaded and deployed.
When it's done, take note of what addresses the contracts was uploaded to and copy it!
Now head to MetaMask, and send a transaction of 1 ETH to the crowd sale contract address. If your MetaMask wallet doesn't have any ethers, remember that you can use any faucet.
After the transaction has confirmed, you might be confused about why you can't see any tokens in your wallet. It turns out that you need to manually add the token address in MetaMask in order to "register" it – after all, there are so many tokens out there, there's no way MetaMask could list them all by default!
To do this, open the side menu and click on the "Add token" button to get started:
Once you're on the token page, click on "Add custom token" and paste in the token contract's address in the address field.
After confirming that you want to add the token, you should be able to see your Pako balance right next to your ETH balance in the wallet. How cool!
Project Part 6: Trying it with Multisignature Wallets
[Read](https://www.coindesk.com/tech/2020/11/10/multisignature-wallets-can-keep-your-coins-safer-if-you-use-them-right/)
Now use [Gnosis Safe]{https://gnosis-safe.io/) with multi-sigs to do what you did in the last part.
Project Part 7: Sending Tokens using Ethers.js
Write a Typescript program to send Pako Token to some friend's address using Ethers.js.
[You may follow this tutorial](https://ethereum.org/en/developers/tutorials/send-token-etherjs/)
Project Part 8 Advance: Create, Deploy, Mint, and Sell a NFT
[Read this NFT tutorial series](https://ethereum.org/en/developers/tutorials/how-to-write-and-deploy-an-nft/)
Create a NFT contract using the [OpenZepplen ERC721 NFT Standard](https://docs.openzeppelin.com/contracts/4.x/erc721).
You may use the [Preset ERC721 contract](https://docs.openzeppelin.com/contracts/4.x/erc721#Presets).
Deploy your NFT contract on a testnet, mint it, and view it on the MetaMask wallet and list it on [OpenSea Marketplace](https://opensea.io/) for sale.
[Implement a ERC721 Market](https://ethereum.org/en/developers/tutorials/how-to-implement-an-erc721-market/)
[](https://www.youtube.com/watch?v=LNpjKZnsdfI "Internet's Value Layer")
The world of finance and software development is fusing. DeFi, Serverless, AI and IoT have merged. Our plan is to create the quintessential Unicorn Developer for this new age, who have a unique and rare skillset. They are basically individuals who on one hand can develop software and on the other mint money. They will be experts not only in serverless cloud computing technologies but also ninjas of the new token economy and decentralised finance. They will know not only to develop AI and IoT APIs but create a economic system where everyone can participate. In this repo we will focus on learning DeFi.
### Our Text Books
[Mastering Blockchain Programming with Solidity](https://www.oreilly.com/library/view/mastering-blockchain-programming/9781839218262/)
[Book Code](https://github.com/PacktPublishing/Mastering-Blockchain-Programming-with-Solidity)
### To Get Started
[Zero to Hero: Web3.0 and Solidity Development Roadmap 2021](https://javascript.plainenglish.io/zero-to-hero-web3-0-and-solidity-development-roadmap-2021-926e759a366b)
[Read The Book: The Wisdom of Finance - Discovering Humanity in the World of Risk and Return](https://pdfroom.com/books/the-wisdom-of-finance-discovering-humanity-in-the-world-of-risk-and-return/qjb5qerR5xQ/download)
[Watch “The Big Short” Movie](https://youtu.be/vgqG3ITMv1Q)
For complete details about this course visit [Operation Unicorn website](https://www.operationunicorn.org/training)
### Blockchain and Serverless
[How blockchain and serverless processing are impacting event-driven architectures](https://acloudguru.com/blog/engineering/blockchain-and-serverless-processing-similarities-differences-and-how-they-fit-together)
[Blockchain is the Ultimate Serverless Platform](https://www.informit.com/articles/article.aspx?p=3006828)
[On the Serverless Nature of Blockchains and Smart Contracts](https://arxiv.org/pdf/2011.12729.pdf)
### DeFi
[How to DeFi for Beginners](https://landing.coingecko.com/how-to-defi/)
[How to DeFi for Advanced](https://landing.coingecko.com/how-to-defi/)
[DeFi and the Future of Finance](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3711777)
[Ethereum Book](https://github.com/ethereumbook/ethereumbook/)
[How to Become a DeFi Developer](https://defiweekly.substack.com/p/how-to-become-a-defi-developer)
[DeFi Developer Road Map](https://github.com/OffcierCia/DeFi-Developer-Road-Map)
[Ultimate DeFi & Blockchain Research Base](https://github.com/OffcierCia/ultimate-defi-research-base)
[Comparing Centralized to Decentralized Finance](https://arxiv.org/pdf/2106.08157.pdf)
[Finding Alpha in DeFi](https://www.coindesk.com/finding-alpha-in-defi)
[6 Reasons DeFi Will Stay Inefficient (and Profitable)](https://www.coindesk.com/6-reasons-defi-will-stay-inefficient-and-profitable?fbclid=IwAR1g9Sjt6w0WjxQ9O_heJqstSWEBWFnSaOJY0QlJxZaxRzhwJZRmApLhrAU)
### Metamask
[How To Build A Blockchain App with Ethereum, Web3.js & Solidity Smart Contracts](https://www.dappuniversity.com/articles/how-to-build-a-blockchain-app)
[How to Build Ethereum Dapp with React.js · Complete Step-By-Step Guide](https://www.dappuniversity.com/articles/ethereum-dapp-react-tutorial)
[Send ETH payments using React.js / MetaMask](https://www.youtube.com/watch?v=QJZUItAsdfg)
[web3-react: Connect Users to MetaMask (or any wallet) From Your Frontend](https://www.youtube.com/watch?v=DCA53Go5ON8)
[MetaMask (or any wallet) From Your Frontend](https://medium.com/coinmonks/web3-react-connect-users-to-metamask-or-any-wallet-from-your-frontend-241fd538ed39)
### Tokens
[What Is a ‘Semi-Fungible’ Crypto Token?](https://www.coindesk.com/what-is-a-semi-fungible-crypto-token)
### DeFi 2.0
[What's DeFi 2.0? - Full Explanation](https://www.youtube.com/watch?v=uP3cTB5Afs4)
[What is DeFi 2.0, and how can you invest in it?](https://blockworks.co/the-investors-guide-to-defi-2-0/)
[What Is DeFi 2.0 and Why Does it Matter?](https://academy.binance.com/en/articles/what-is-defi-2-0-and-why-does-it-matter)
[DeFi 2.0: A beginner's guide to the second generation of DeFi protocols](https://cointelegraph.com/defi-101/defi2-0-a-beginners-guide-to-the-second-generation-of-defi-protocols)
================================================
FILE: projects.md
================================================
# Projects
## Project 1: Create an ERC20 Token
Create a YourNameCoin e.g. WarisCoin on the Ropsten Test Network. Mint 1,000 these Coins and transfer them to Your Metamask wallet address. Then send these coins to your friends including me.
My metamask address is: 0xA31Fa5D96441645FCeD6F09743cA5703605817Ca .
Once you have sent me some of your coins send me a message here
[How to Create an ERC20 Token the Simple Way](https://www.toptal.com/ethereum/create-erc20-token-tutorial)
## Project 2: Create an NFT
Everyone, after you have coded a ERC 20 Token and transferred some to me, the next project is that you create an NFT Ropsten test network and transfer it to me follow these two tutorials:
[How To Create NFTs With Solidity](https://betterprogramming.pub/how-to-create-nfts-with-solidity-4fa1398eb70a)
[Read Parts 1, 2, and 3 of this tutorial](https://ethereum.org/en/developers/tutorials/how-to-write-and-deploy-an-nft/)
## Project 3: Create and Deploy a DiFi App
[CREATE AND DEPLOY A DEFI APP TUTORIAL](https://ethereum.org/en/developers/tutorials/create-and-deploy-a-defi-app/)
## Project 4: Create a Dummy DEX
We will create a dummy decentralized exchange where a user can trade Ethereum with our newly deployed YourNameCoin (created in project 1). After that, we’ll now learn how to wait for a transaction to be mined and get it’s result. We will finish the project by learning how to decode and make sense of event logs generated by Ethereum transactions.
In short, we will create a dummy DEX, once you make a transaction on it we use Javascript to wait and get details about the transactions that were made to your DEX contract and we will end by learning to decode events generated by token transfers or any other events as long as you have the ABI.
[TRANSFERS AND APPROVAL OF ERC-20 TOKENS FROM A SOLIDITY SMART CONTRACT](https://ethereum.org/en/developers/tutorials/transfers-and-approval-of-erc-20-tokens-from-a-solidity-smart-contract/)
[Waiting for a transaction to be mined on Ethereum with JS](https://ethereumdev.io/waiting-for-a-transaction-to-be-mined-on-ethereum-with-js/)
[How to decode event logs in Javascript using abi-decoder](https://ethereumdev.io/how-to-decode-event-logs-in-javascript-using-abi-decoder/)
## Project 5: Create your own DAO with Aragon
[Decentralized autonomous organizations (DAOs)](https://ethereum.org/en/dao/)
[How to create your own DAO with Aragon](https://www.quicknode.com/guides/web3-sdks/how-to-create-your-own-dao-with-aragon)
Additional Reading Material:
Reading Material for Project 5:
[DAO Dashboard](https://deepdao.io/#/deepdao/dashboard)
[Big Tech on steroids: why the 2020s will be the “decade of the DAO”](https://moneyweek.com/investments/alternative-finance/bitcoin-crypto/603213/decade-of-the-dao-decentralised-autonomous-organisation)
[An Overall Observation of DAOs’ Development and Governance Mechanism](https://huobiresearch.medium.com/an-overall-observation-of-daos-development-and-governance-mechanism-806d32eb605)
[DAOs: A 100 Trillion Dollar Opportunity?](https://medium.com/coinmonks/daos-a-100-trillion-dollar-opportunity-97a03fc3f035)
[DAOs: A 100 Trillion Dollar Opportunity?](http://kronosapiens.github.io/blog/2019/06/16/aragon-daostack-colony-moloch.html)
[Instant DAO Creator Syndicate Raises $20M From Andreessen, Coinbase, Snoop Dogg and Others](https://decrypt.co/79836/instant-dao-creator-syndicate-raises-20m-from-andreessen-coinbase-snoop-dogg-and-others)
[DAO Summer – 4 Decentralized Autonomous Organizations (DAOs) Platforms to Watch Out in 2021](https://globalcoinresearch.com/2021/06/03/dao-summer-4-decentralized-autonomous-organizations-daos-platforms-to-watch-out-in-2021/)
## Project 6: Payment Splitter
We want to create a Payment Splitter smart contract that will distribute the payments received in DAI to all the current holders of YourNameCoin in proportion to their holdings (Project 1).
[Open Zeppelin Paymant Splitter](https://docs.openzeppelin.com/contracts/3.x/api/payment)
## Project 7: Pet Shop with Arbitrum
[HOW to Use ARBITRUM?! Is it All Just Hype?!](https://www.youtube.com/watch?v=LNBSPMQ-xr4)
[How To Add Arbitrum Network To MetaMask & Bridge Ethereum](https://www.youtube.com/watch?v=H32dTx7NjzI)
[The comparison of Gas fees on Layer 2](https://l2fees.info/)
[Arbitrum Developer Quickstart](https://developer.offchainlabs.com/docs/developer_quickstart)
[Contract Deployment](https://developer.offchainlabs.com/docs/contract_deployment)
[Arbitrum Metamask User Quickstart](https://developer.offchainlabs.com/docs/user_quickstart)
[demo-dapp-pet-shop Tutorial](https://github.com/OffchainLabs/arbitrum-tutorials/tree/master/packages/demo-dapp-pet-shop)
Reading Material:
[LAYER 2 ROLLUPS](https://ethereum.org/en/developers/docs/scaling/layer-2-rollups/)
[Arbitrum Is Now Live on Ethereum Layer Two](https://cryptobriefing.com/arbitrum-is-now-live-on-ethereum-layer-two/)
[Offchain Labs raises $120 million to fix Ethereum’s shortcomings with its Arbitrum product](https://techcrunch.com/2021/08/31/offchain-labs-raises-120-million-to-hide-ethereums-shortcomings-with-arbitrum-scaling-product/)
## Project 8: Election with Arbitrum
[dapp-election Tutorial](https://github.com/OffchainLabs/arbitrum-tutorials/tree/master/packages/demo-dapp-election)
## Project 9: Moving Ether around accross Layers with Arbitrum
[Move Ether from Ethereum (Layer 1) into the Arbitrum (Layer 2) chain](https://github.com/OffchainLabs/arbitrum-tutorials/tree/master/packages/eth-deposit)
[Move Ether from Arbitrum (Layer 2) into the Ethereum (Layer 1) chain](https://github.com/OffchainLabs/arbitrum-tutorials/tree/master/packages/eth-withdraw)
## Project 10: Moving ERC20 Tokens around accross Layers with Arbitrum
[Moving a token from Ethereum (Layer 1) into the Arbitrum (Layer 2) chain using the Standard Token Gateway in Arbitrum's token bridging system](https://github.com/OffchainLabs/arbitrum-tutorials/tree/master/packages/token-deposit)
[Move ERC20 tokens from Arbitrum (Layer 2) into Ethereum (Layer 1)](https://github.com/OffchainLabs/arbitrum-tutorials/tree/master/packages/token-withdraw)
## Project 13: Arbitrum's L1-to-L2 message passing system
[Greeter Tutorial](https://github.com/OffchainLabs/arbitrum-tutorials/tree/master/packages/greeter)
[The Outbox contract is responsible for receiving and executing all "outgoing" messages; i.e., messages passed from Arbitrum to Ethereum](https://github.com/OffchainLabs/arbitrum-tutorials/tree/master/packages/outbox-execute)
## Project 14: Address Table
[Address Table Tutorial](https://github.com/OffchainLabs/arbitrum-tutorials/tree/master/packages/address-table)
## Project 15: Digital asset portfolio Rebalancer
[Intermediate Solidity Tutorial | Building On DeFi Lego Bricks With Hardhat ](https://jamesbachini.com/intermediate-solidity-tutorial/)
## Project 16: Rent to Own Network
[Creating an Ethereum Token to Enable a Decentralized Rent-to-Own Network](https://towardsdatascience.com/creating-an-ethereum-token-to-enable-a-decentralized-rent-to-own-network-cc3786cf1142)
================================================
FILE: step00_hardhat_helloworld/.gitignore
================================================
node_modules
.env
#Hardhat files
cache
artifacts
================================================
FILE: step00_hardhat_helloworld/README.md
================================================
# Basic Sample Hardhat Project
[Before starting development please go through the Ethereum Developer Documentation in detail](https://ethereum.org/en/developers/docs/)
Follow this Text Book:
[Solidity Programming Essentials: A guide to building smart contracts and tokens using the widely used Solidity language, 2nd Edition](https://www.amazon.com/Solidity-Programming-Essentials-building-contracts/dp/1803231181/ref=sr_1_2_sspa)
[We will follow this getting started page](https://hardhat.org/getting-started/)
Create a Project Directory
Make it an npm library:
npm init
npm install --save-dev hardhat
npx hardhat
Select to create a basic project from the menu
npm install --save-dev @nomiclabs/hardhat-waffle ethereum-waffle chai @nomiclabs/hardhat-ethers ethers
npx hardhat compile
npx hardhat test
This project demonstrates a basic Hardhat use case. It comes with a sample contract, a test for that contract, a sample script that deploys that contract, and an example of a task implementation, which simply lists the available accounts.
Try running some of the following tasks:
```shell
npx hardhat accounts
npx hardhat compile
npx hardhat clean
npx hardhat test
npx hardhat node
node scripts/sample-script.js
npx hardhat help
```
================================================
FILE: step00_hardhat_helloworld/contracts/Greeter.sol
================================================
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.0;
import "hardhat/console.sol";
contract Greeter {
string private greeting;
constructor(string memory _greeting) {
console.log("Deploying a Greeter with greeting:", _greeting);
greeting = _greeting;
}
function greet() public view returns (string memory) {
return greeting;
}
function setGreeting(string memory _greeting) public {
console.log("Changing greeting from '%s' to '%s'", greeting, _greeting);
greeting = _greeting;
}
}
================================================
FILE: step00_hardhat_helloworld/hardhat.config.js
================================================
require("@nomiclabs/hardhat-waffle");
// This is a sample Hardhat task. To learn how to create your own go to
// https://hardhat.org/guides/create-task.html
task("accounts", "Prints the list of accounts", async (taskArgs, hre) => {
const accounts = await hre.ethers.getSigners();
for (const account of accounts) {
console.log(account.address);
}
});
// You need to export an object to set up your config
// Go to https://hardhat.org/config/ to learn more
/**
* @type import('hardhat/config').HardhatUserConfig
*/
module.exports = {
solidity: "0.8.4",
};
================================================
FILE: step00_hardhat_helloworld/package.json
================================================
{
"name": "step00_hardhat_helloworld",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"devDependencies": {
"@nomiclabs/hardhat-ethers": "^2.0.2",
"@nomiclabs/hardhat-waffle": "^2.0.1",
"chai": "^4.3.4",
"ethereum-waffle": "^3.4.0",
"ethers": "^5.4.7",
"hardhat": "^2.6.4"
}
}
================================================
FILE: step00_hardhat_helloworld/scripts/sample-script.js
================================================
// We require the Hardhat Runtime Environment explicitly here. This is optional
// but useful for running the script in a standalone fashion through `node <script>`.
//
// When running the script with `npx hardhat run <script>` you'll find the Hardhat
// Runtime Environment's members available in the global scope.
const hre = require("hardhat");
async function main() {
// Hardhat always runs the compile task when running scripts with its command
// line interface.
//
// If this script is run directly using `node` you may want to call compile
// manually to make sure everything is compiled
// await hre.run('compile');
// We get the contract to deploy
const Greeter = await hre.ethers.getContractFactory("Greeter");
const greeter = await Greeter.deploy("Hello, Hardhat!");
await greeter.deployed();
console.log("Greeter deployed to:", greeter.address);
}
// We recommend this pattern to be able to use async/await everywhere
// and properly handle errors.
main()
.then(() => process.exit(0))
.catch((error) => {
console.error(error);
process.exit(1);
});
================================================
FILE: step00_hardhat_helloworld/test/sample-test.js
================================================
const { expect } = require("chai");
const { ethers } = require("hardhat");
describe("Greeter", function () {
it("Should return the new greeting once it's changed", async function () {
const Greeter = await ethers.getContractFactory("Greeter");
const greeter = await Greeter.deploy("Hello, world!");
await greeter.deployed();
expect(await greeter.greet()).to.equal("Hello, world!");
const setGreetingTx = await greeter.setGreeting("Hola, mundo!");
// wait until the transaction is mined
await setGreetingTx.wait();
expect(await greeter.greet()).to.equal("Hola, mundo!");
});
});
================================================
FILE: step01_hardhat_typescript_helloworld/.gitignore
================================================
node_modules
dist
typechain
.env
#Hardhat files
cache
artifacts
================================================
FILE: step01_hardhat_typescript_helloworld/README.md
================================================
# Basic Sample Hardhat Typescript Project
Note: You can use this prebuilt [template project](https://github.com/paulrberg/solidity-template) instead of building your own.
[We will follow this typescript support page](https://hardhat.org/guides/typescript.html)
Copy the files from step00_hardhat_helloworld
npm install --save-dev ts-node typescript
npm install --save-dev chai @types/node @types/mocha @types/chai
rename your config file to hardhat.config.ts
We need to apply three changes to your config for it to work with TypeScript:
1. Plugins must be loaded with import instead of require.
2. You need to explicitly import the Hardhat config functions, like task.
3. If you are defining tasks, they need to access the Hardhat Runtime Environment explicitly, as a parameter.
For updating test and scripts [follow this](https://hardhat.org/guides/typescript.html#writing-tests-and-scripts-in-typescript)
For Type-safe smart contract interactions:
npm install --save-dev typechain @typechain/hardhat @typechain/ethers-v5
Update tsconfig.json
tsc
npx hardhat compile
npx hardhat test
This project demonstrates a basic Hardhat use case. It comes with a sample contract, a test for that contract, a sample script that deploys that contract, and an example of a task implementation, which simply lists the available accounts.
Try running some of the following tasks:
```shell
npx hardhat accounts
npx hardhat compile
npx hardhat clean
npx hardhat test
npx hardhat node
node scripts/sample-script.js
npx hardhat help
```
--------------------------------------
For Fresh project follow these steps:
--------------------------------------
npm init
npm install --save-dev hardhat
npx hardaht
Select an Advance sample project ....
npm install --save-dev "hardhat@^2.8.2" "@nomiclabs/hardhat-waffle@^2.0.0" "ethereum-waffle@^3.0.0" "chai@^4.2.0" "ethers@^5.0.0" "solhint@^3.3.6" "solidity-
coverage@^0.7.16" "@typechain/ethers-v5@^7.0.1" "@typechain/hardhat@^2.3.0" "@typescript-eslint/eslint-plugin@^4.29.1" "@typescript-eslint/parser@^4
npm install dotenv
npm install --save-dev ts-node
npm install @nomiclabs/hardhat-etherscan
npm install hardhat-gas-reporter
================================================
FILE: step01_hardhat_typescript_helloworld/contracts/Greeter.sol
================================================
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.0;
import "hardhat/console.sol";
contract Greeter {
string private greeting;
constructor(string memory _greeting) {
console.log("Deploying a Greeter with greeting:", _greeting);
greeting = _greeting;
}
function greet() public view returns (string memory) {
return greeting;
}
function setGreeting(string memory _greeting) public {
console.log("Changing greeting from '%s' to '%s'", greeting, _greeting);
greeting = _greeting;
}
}
================================================
FILE: step01_hardhat_typescript_helloworld/hardhat.config.ts
================================================
import { task } from "hardhat/config";
import "@nomiclabs/hardhat-waffle";
import '@typechain/hardhat';
import '@nomiclabs/hardhat-ethers';
// This is a sample Hardhat task. To learn how to create your own go to
// https://hardhat.org/guides/create-task.html
task("accounts", "Prints the list of accounts", async (args, hre) => {
const accounts = await hre.ethers.getSigners();
for (const account of accounts) {
console.log(await account.address);
}
});
// You need to export an object to set up your config
// Go to https://hardhat.org/config/ to learn more
/**
* @type import('hardhat/config').HardhatUserConfig
*/
module.exports = {
solidity: "0.8.4",
};
================================================
FILE: step01_hardhat_typescript_helloworld/package.json
================================================
{
"name": "step00_hardhat_typescript_helloworld",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"devDependencies": {
"@nomiclabs/hardhat-ethers": "^2.0.2",
"@nomiclabs/hardhat-waffle": "^2.0.1",
"@typechain/ethers-v5": "^7.1.2",
"@typechain/hardhat": "^2.3.0",
"@types/chai": "^4.2.22",
"@types/mocha": "^9.0.0",
"@types/node": "^16.10.2",
"chai": "^4.3.4",
"ethereum-waffle": "^3.4.0",
"ethers": "^5.4.7",
"hardhat": "^2.6.4",
"ts-node": "^10.2.1",
"typechain": "^5.1.2",
"typescript": "^4.4.3"
}
}
================================================
FILE: step01_hardhat_typescript_helloworld/scripts/sample-script.ts
================================================
// We require the Hardhat Runtime Environment explicitly here. This is optional
// but useful for running the script in a standalone fashion through `node <script>`.
//
// When running the script with `npx hardhat run <script>` you'll find the Hardhat
// Runtime Environment's members available in the global scope.
//const hre = require("hardhat");
import { run, ethers } from "hardhat";
import { Greeter, Greeter__factory } from "../typechain";
async function main() {
// Hardhat always runs the compile task when running scripts with its command
// line interface.
//
// If this script is run directly using `node` you may want to call compile
// manually to make sure everything is compiled
// await hre.run('compile');
// We get the contract to deploy
const Greeter:Greeter__factory = await ethers.getContractFactory("Greeter");
const greeter:Greeter = await Greeter.deploy("Hello, Hardhat!");
await greeter.deployed();
console.log("Greeter deployed to:", greeter.address);
}
// We recommend this pattern to be able to use async/await everywhere
// and properly handle errors.
main()
.then(() => process.exit(0))
.catch((error) => {
console.error(error);
process.exit(1);
});
================================================
FILE: step01_hardhat_typescript_helloworld/test/sample-test.ts
================================================
import { ethers, waffle } from "hardhat";
import { expect } from "chai";
describe("Greeter", function () {
it("Should return the new greeting once it's changed", async function () {
const Greeter = await ethers.getContractFactory("Greeter");
const greeter = await Greeter.deploy("Hello, world!");
await greeter.deployed();
expect(await greeter.greet()).to.equal("Hello, world!");
const setGreetingTx = await greeter.setGreeting("Hola, mundo!");
// wait until the transaction is mined
await setGreetingTx.wait();
expect(await greeter.greet()).to.equal("Hola, mundo!");
});
});
================================================
FILE: step01_hardhat_typescript_helloworld/tsconfig.json
================================================
{
"compilerOptions": {
"target": "es2018",
"module": "commonjs",
"strict": true,
"esModuleInterop": true,
"outDir": "dist",
"resolveJsonModule": true,
},
"include": ["./scripts", "./test", "./typechain"],
"files": ["./hardhat.config.ts"]
}
================================================
FILE: step02_hardhat_simple_storage/.gitignore
================================================
node_modules
dist
typechain
.env
#Hardhat files
cache
artifacts
================================================
FILE: step02_hardhat_simple_storage/README.md
================================================
# Simple Storage Hardhat Typescript Project
Copy the files from step01_hardhat_typescript_helloworld
Create SimpleStorage.sol
npx hardhat compile
Update sample-test.ts
tsc
npx hardhat test
This project demonstrates a basic Hardhat use case. It comes with a sample contract, a test for that contract, a sample script that deploys that contract, and an example of a task implementation, which simply lists the available accounts.
Try running some of the following tasks:
```shell
npx hardhat accounts
npx hardhat compile
npx hardhat clean
npx hardhat test
npx hardhat node
node scripts/sample-script.js
npx hardhat help
```
================================================
FILE: step02_hardhat_simple_storage/contracts/SimpleStorage.sol
================================================
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;
import "hardhat/console.sol";
contract SimpleStorage {
uint data;
function updateData(uint _data) public {
console.log("Updating Data: ", _data);
data = _data;
}
function readData() public view returns(uint) {
console.log("Reading Data: ", data);
return data;
}
}
================================================
FILE: step02_hardhat_simple_storage/hardhat.config.ts
================================================
import { task } from "hardhat/config";
import "@nomiclabs/hardhat-waffle";
import '@typechain/hardhat';
import '@nomiclabs/hardhat-ethers';
// This is a sample Hardhat task. To learn how to create your own go to
// https://hardhat.org/guides/create-task.html
task("accounts", "Prints the list of accounts", async (args, hre) => {
const accounts = await hre.ethers.getSigners();
for (const account of accounts) {
console.log(await account.address);
}
});
// You need to export an object to set up your config
// Go to https://hardhat.org/config/ to learn more
/**
* @type import('hardhat/config').HardhatUserConfig
*/
module.exports = {
solidity: "0.8.4",
};
================================================
FILE: step02_hardhat_simple_storage/package.json
================================================
{
"name": "step00_hardhat_typescript_helloworld",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"devDependencies": {
"@nomiclabs/hardhat-ethers": "^2.0.2",
"@nomiclabs/hardhat-waffle": "^2.0.1",
"@typechain/ethers-v5": "^7.1.2",
"@typechain/hardhat": "^2.3.0",
"@types/chai": "^4.2.22",
"@types/mocha": "^9.0.0",
"@types/node": "^16.10.2",
"chai": "^4.3.4",
"ethereum-waffle": "^3.4.0",
"ethers": "^5.4.7",
"hardhat": "^2.6.4",
"ts-node": "^10.2.1",
"typechain": "^5.1.2",
"typescript": "^4.4.3"
}
}
================================================
FILE: step02_hardhat_simple_storage/scripts/sample-script.ts
================================================
// We require the Hardhat Runtime Environment explicitly here. This is optional
// but useful for running the script in a standalone fashion through `node <script>`.
//
// When running the script with `npx hardhat run <script>` you'll find the Hardhat
// Runtime Environment's members available in the global scope.
//const hre = require("hardhat");
import { run, ethers } from "hardhat";
async function main() {
// Hardhat always runs the compile task when running scripts with its command
// line interface.
//
// If this script is run directly using `node` you may want to call compile
// manually to make sure everything is compiled
// await hre.run('compile');
// We get the contract to deploy
const Greeter = await ethers.getContractFactory("Greeter");
const greeter = await Greeter.deploy("Hello, Hardhat!");
await greeter.deployed();
console.log("Greeter deployed to:", greeter.address);
}
// We recommend this pattern to be able to use async/await everywhere
// and properly handle errors.
main()
.then(() => process.exit(0))
.catch((error) => {
console.error(error);
process.exit(1);
});
================================================
FILE: step02_hardhat_simple_storage/test/sample-test.ts
================================================
import { ethers, waffle } from "hardhat";
import { expect } from "chai";
describe("SimpleStorage", function () {
it("Should return the new greeting once it's changed", async function () {
const Storage = await ethers.getContractFactory("SimpleStorage");
const storage = await Storage.deploy();
await storage.deployed();
const setUpdateTx = await storage.updateData(10);
// wait until the transaction is mined
await setUpdateTx.wait();
expect(await storage.readData()).to.equal(10);
});
});
================================================
FILE: step02_hardhat_simple_storage/tsconfig.json
================================================
{
"compilerOptions": {
"target": "es2018",
"module": "commonjs",
"strict": true,
"esModuleInterop": true,
"outDir": "dist",
"resolveJsonModule": true,
},
"include": ["./scripts", "./test", "./typechain"],
"files": ["./hardhat.config.ts"]
}
================================================
FILE: step03_solidity_tutorial/.gitignore
================================================
node_modules
dist
typechain
.env
#Hardhat files
cache
artifacts
================================================
FILE: step03_solidity_tutorial/README.md
================================================
# Learn Solidity using Hardhat and Typescript
[We will follow this Solidity Tutorial in detail](https://www.tutorialspoint.com/solidity/index.htm)
[Important: Updated FallBack Functions](https://blog.soliditylang.org/2020/03/26/fallback-receive-split/)
[Watch this Solidity Video Tutorial](https://www.youtube.com/watch?v=M576WGiDBdQ)
[Another Solidity Tutorial option](https://www.youtube.com/playlist?list=PLbbtODcOYIoE0D6fschNU4rqtGFRpk3ea)
Additional Reading:
[Types](https://www.bitdegree.org/learn/solidity-types)
[Variables](https://www.bitdegree.org/learn/solidity-variables)
[Functions](https://www.bitdegree.org/learn/solidity-functions)
Copy the files from step00_hardhat_helloworld
Read a tutorial topic; to practice add a contract and a test
Go over each and every topic in the tutorial one by one
npx hardhat compile
tsc
npx hardhat test
This project demonstrates a basic Hardhat use case. It comes with a sample contract, a test for that contract, a sample script that deploys that contract, and an example of a task implementation, which simply lists the available accounts.
Try running some of the following tasks:
```shell
npx hardhat accounts
npx hardhat compile
npx hardhat clean
npx hardhat test
npx hardhat node
node scripts/sample-script.js
npx hardhat help
```
================================================
FILE: step03_solidity_tutorial/contracts/Demo1.sol
================================================
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.0;
import "hardhat/console.sol";
contract Demo1 {
uint256 public balance;
string public name;
constructor(string memory _name) {
name = _name;
}
function getName() public view returns(string memory) {
return name;
}
}
contract Demo2 {
address public demo1Address;
function createExample(string memory _name) public returns (address){
Demo1 d1 = new Demo1(_name);
demo1Address = address(d1);
return address(d1);
}
function getNameOfContract(address _addr1) public view returns(string memory){
Demo1 d1 = Demo1(_addr1);
return d1.getName();
}
}
================================================
FILE: step03_solidity_tutorial/contracts/Greeter.sol
================================================
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.0;
import "hardhat/console.sol";
contract Greeter {
string private greeting;
constructor(string memory _greeting) {
console.log("Deploying a Greeter with greeting:", _greeting);
greeting = _greeting;
}
function greet() public view returns (string memory) {
return greeting;
}
function setGreeting(string memory _greeting) public {
console.log("Changing greeting from '%s' to '%s'", greeting, _greeting);
greeting = _greeting;
}
}
================================================
FILE: step03_solidity_tutorial/contracts/SolidityTest.sol
================================================
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.0;
import "hardhat/console.sol";
contract SolidityTest {
enum FreshJuiceSize { SMALL, MEDIUM, LARGE, EXTRALARGE }
enum FundingRounds {
SEED,
PRIVATE,
PUBLIC
}
uint256 abc = 45;
FreshJuiceSize juice = FreshJuiceSize.MEDIUM;
FundingRounds currentRound = FundingRounds.SEED;
function getCurrentFundingRound() public view returns (FundingRounds) {
return currentRound;
}
function changeRound(uint256 _round) public {
require(_round >= 0 && _round <=2,"Invalid Round Information");
currentRound = FundingRounds(_round);
}
function getJuice() public view returns(FreshJuiceSize) {
return juice;
}
function updateJuiceSize(FreshJuiceSize _juice) public {
juice = _juice;
}
function verifyJuiceSize() public view returns (bool) {
return juice == FreshJuiceSize.EXTRALARGE;
}
}
================================================
FILE: step03_solidity_tutorial/contracts/SolidityTest2.sol
================================================
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.0;
import "hardhat/console.sol";
contract SolidityTest2 {
enum FundingRounds {
SEED,
PRIVATE,
PUBLIC
}
struct FundingRoundDetails {
uint256 fundingRequired;
FundingRounds round;
}
FundingRoundDetails[] public allRounds;
mapping(uint256 => FundingRoundDetails) fundingRounds;
mapping(address => FundingRoundDetails) userRounds;
mapping(address => mapping(uint256=>bool)) someMapping;
uint256 roundCounter;
struct UserInfo {
string name;
uint256 age;
mapping(address=>uint256) fundingReceived;
}
mapping(address=>UserInfo) users;
function addUser(string memory _name, uint256 _age) public {
//UserInfo memory _user = UserInfo("Zia Khan", 30);
UserInfo storage _user = users[msg.sender];
_user.name= _name;
_user.age = _age;
}
function provideFunding(address _user, uint256 _amount) public {
UserInfo storage _userInfo = users[_user];
_userInfo.fundingReceived[msg.sender] = _amount;
}
function addFundingRounds() public {
FundingRoundDetails memory details1 = FundingRoundDetails(10000, FundingRounds.SEED);
FundingRoundDetails memory details2 = FundingRoundDetails(20000, FundingRounds.PRIVATE);
FundingRoundDetails memory details3 = FundingRoundDetails(30000, FundingRounds.PUBLIC);
allRounds.push(details1);
allRounds.push(details2);
allRounds.push(details3);
fundingRounds[++roundCounter] = details1;
fundingRounds[++roundCounter] = details2;
fundingRounds[++roundCounter] = details3;
}
function addRound(uint256 amount, uint256 round) public {
roundCounter++;
fundingRounds[roundCounter] = FundingRoundDetails(amount, FundingRounds(round));
userRounds[msg.sender] = FundingRoundDetails(amount, FundingRounds(round));
}
function getMyRoundInfo() public view returns(FundingRoundDetails memory) {
return userRounds[msg.sender];
}
function getRequiredFundingForRound(uint256 _roundNumber) public view returns(uint256){
return allRounds[_roundNumber].fundingRequired;
}
}
================================================
FILE: step03_solidity_tutorial/contracts/SolidityTest3.sol
================================================
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.0;
import "hardhat/console.sol";
contract SolidityTest3 {
uint256 amount = 1 ether;
uint256 amount1 = 1_000_000_000_000_000_000;
uint256 amount2 = 1e18;
uint256 amount3 = 5_600_000_000_000_000_000;
uint256 time = 24 hours;
uint256 week = 7 days;
function applyConversion() public pure returns(uint256){
//uint256 a = 45;
//uint8 b = uint8(a);
int8 a = -3;
uint8 b = uint8(a);
return b;
}
}
================================================
FILE: step03_solidity_tutorial/contracts/SolidityTest4.sol
================================================
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.0;
import "hardhat/console.sol";
contract SolidityTest4 {
uint256 public counter;
address public treasureAddress;
address public owner;
uint256 public price = 0.01 ether;
constructor() {
owner = msg.sender;
}
modifier onlyOwner() {
require(msg.sender == owner, "Only Owner Can call");
_;
}
modifier verifyAmount(uint256 _amount) {
require(price == _amount, "Incorrect value provided");
_;
}
function updateAmount(uint256 _value) public verifyAmount(_value) {
price = _value;
counter++;
}
function updateTreasureAddress(address _treasury) public onlyOwner {
treasureAddress = _treasury;
}
function doSomething() public view returns(uint256) {
return counter;
}
function checkPureFunction(uint256 val) public pure returns(uint256) {
return val * 23;
}
function multiVal() public view returns(uint256, bool) {
return (counter, false);
}
function multiVal2() public view returns(uint256 index, bool isPaid) {
index = 4 * counter;
isPaid = true;
////
////
}
}
================================================
FILE: step03_solidity_tutorial/contracts/SolidityTest5.sol
================================================
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.0;
import "hardhat/console.sol";
contract SolidityTest5 {
uint256 public countReceive;
uint256 public countFallback;
mapping(address => uint256) public receiveBalance;
mapping(address => uint256) public fallbackBalance;
function addSome() public {
countReceive+=20;
countFallback+=20;
}
/*
receive () external payable {
countReceive++;
receiveBalance[msg.sender]+= msg.value;
}
fallback() external {
countFallback++;
//fallbackBalance[msg.sender] += msg.value;
}
*/
}
contract SolidityTest6 {
function testFunctionCall(address _contractAddress, string memory _signature) public {
(bool success,) = _contractAddress.call(abi.encodeWithSignature(_signature));
require(success);
}
}
================================================
FILE: step03_solidity_tutorial/contracts/SolidityTest6.sol
================================================
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.0;
import "hardhat/console.sol";
contract SolidityTest7 {
function add1(uint256 a, uint256 b, uint256 c) public pure returns (uint256) {
uint256 max = 2 ** 256 - 1;
return (max + max) % c;
}
function add2(uint256 a, uint256 b, uint256 c) public pure returns (uint256) {
uint256 max = 2 ** 256 - 1;
return addmod(max, max, c);
}
address payable public richest;
uint public mostSent;
mapping(address => uint256) pendingWithdrawals;
constructor() {
richest = payable(msg.sender);
}
function setAddress(address _add) public {
richest = payable(_add);
}
/*
function becomeRichest() public payable returns (bool) {
if (msg.value > mostSent) {
// Insecure practice
richest.transfer(msg.value);
richest = payable(msg.sender);
mostSent = msg.value;
return true;
} else {
return false;
}
}
*/
function becomeRichest() public payable returns (bool) {
if (msg.value > mostSent) {
pendingWithdrawals[richest] += msg.value;
richest = payable(msg.sender);
mostSent = msg.value;
return true;
} else {
return false;
}
}
function withdraw() public {
uint amount = pendingWithdrawals[msg.sender];
pendingWithdrawals[msg.sender] = 0;
payable(msg.sender).transfer(amount);
//payable(msg.sender).call{value: amount, gas: 250000}("");
}
}
contract DemoTest {
function testValue () public {
}
function getFunds (address addressOfContract) public {
SolidityTest7 abc = SolidityTest7(addressOfContract);
abc.withdraw();
}
}
================================================
FILE: step03_solidity_tutorial/contracts/SolidityTest7.sol
================================================
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.0;
import "hardhat/console.sol";
contract A {
//private state variable
uint private data;
//public state variable
uint public info;
//constructor
constructor() {
info = 10;
}
//private function
function increment(uint a) private pure returns(uint) { return a + 1; }
//public function
function updateData(uint a) public { data = a; }
function getData() public pure virtual returns(uint) { return 45; }
function compute(uint a, uint b) internal pure returns (uint) { return a + b; }
}
contract B is A {
uint private result;
constructor(uint256 _result) {
result = _result;
}
function getComputedResult() public {
//increment(45);
getData();
uint256 a = this.info();
result = compute(3, 5);
}
function getResult() public view returns(uint) { return result; }
function getData() public pure override returns(uint) { return 5; }
}
contract C {
B b;
A a;
constructor() {
b = new B(9);
a = new B(12);
}
function checkFunctionA() public view returns (uint256){
//B b = new B();
//b.compute(5,6);
//b.increment(5);
//a.getResult();
return a.getData();
}
function checkFunctionB() public view returns (uint256){
return b.getData();
}
}
================================================
FILE: step03_solidity_tutorial/contracts/SolidityTest8.sol
================================================
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.0;
import "hardhat/console.sol";
interface Calculator {
function getResult() external pure returns (uint256);
function getData() external pure returns (uint256);
}
contract ContractD is Calculator {
function getResult() external pure override returns (uint256) {
return 56;
}
function getData() external pure override returns (uint256) {
return 12;
}
}
contract ContractF is Calculator {
function getResult() external pure override returns (uint256) {
return 78;
}
function getData() external pure override returns (uint256) {
return 32;
}
}
abstract contract ContractA {
function getData() public pure returns (uint256) {
return 45;
}
function getResult() public pure virtual returns (uint256);
}
contract ContractB is ContractA{
function getResult() public pure override returns (uint256) {
return 12;
}
}
contract C {
function checkInterface() public returns (uint256){
Calculator d = new ContractD();
d.getResult();
}
function checkFunctionA() public returns (uint256){
//ContractA a = new ContractA();
ContractB b = new ContractB();
//b.compute(5,6);
//b.increment(5);
//a.getResult();
//return a.getData();
}
}
================================================
FILE: step03_solidity_tutorial/contracts/SolidityTest9.sol
================================================
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.0;
import "hardhat/console.sol";
library MyMathLib {
function sum(uint256 a, uint256 b) internal pure returns (uint256) {
return a + b;
}
}
contract ContractMath {
using MyMathLib for uint256;
event DataUpdated(uint256 value, address from);
function checkResult() public pure returns (uint256){
return MyMathLib.sum(34,56);
}
function checkResultUpdated() public pure returns (uint256){
uint256 a = 12;
//MyMathLib.sum(12,45)
return a.sum(45);
}
function doSomeWork() public {
emit DataUpdated(56, msg.sender);
}
function mint(uint256 numbersOfTokens) public {
require(numbersOfTokens < 10, "Number of tokens can not be more than 10");
if(numbersOfTokens > 5 && numbersOfTokens < 10) {
if(numbersOfTokens > 7 && numbersOfTokens < 9) {
revert("Number of tokens can not be more than 10");
}
}
//////
//assert(totalSupply < 10000);
}
}
================================================
FILE: step03_solidity_tutorial/hardhat.config.ts
================================================
import { task } from "hardhat/config";
import "@nomiclabs/hardhat-waffle";
import '@typechain/hardhat';
import '@nomiclabs/hardhat-ethers';
// This is a sample Hardhat task. To learn how to create your own go to
// https://hardhat.org/guides/create-task.html
task("accounts", "Prints the list of accounts", async (args, hre) => {
const accounts = await hre.ethers.getSigners();
for (const account of accounts) {
console.log(await account.address);
}
});
// You need to export an object to set up your config
// Go to https://hardhat.org/config/ to learn more
/**
* @type import('hardhat/config').HardhatUserConfig
*/
module.exports = {
solidity: "0.8.4",
};
================================================
FILE: step03_solidity_tutorial/package.json
================================================
{
"name": "step00_hardhat_typescript_helloworld",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"devDependencies": {
"@nomiclabs/hardhat-ethers": "^2.0.2",
"@nomiclabs/hardhat-waffle": "^2.0.1",
"@typechain/ethers-v5": "^7.1.2",
"@typechain/hardhat": "^2.3.0",
"@types/chai": "^4.2.22",
"@types/mocha": "^9.0.0",
"@types/node": "^16.10.2",
"chai": "^4.3.4",
"ethereum-waffle": "^3.4.0",
"ethers": "^5.4.7",
"hardhat": "^2.6.4",
"ts-node": "^10.2.1",
"typechain": "^5.1.2",
"typescript": "^4.4.3"
}
}
================================================
FILE: step03_solidity_tutorial/scripts/deploy.ts
================================================
import { BigNumber } from "ethers";
import { ethers } from "hardhat";
import { C, ContractMath, ContractMath__factory, C__factory, SolidityTest, SolidityTest2, SolidityTest2__factory, SolidityTest3, SolidityTest3__factory, SolidityTest__factory } from "../typechain";
import { Demo1 } from "../typechain/Demo1";
import { Demo2 } from "../typechain/Demo2";
import { DemoTest } from "../typechain/DemoTest";
import { Demo1__factory } from "../typechain/factories/Demo1__factory";
import { Demo2__factory } from "../typechain/factories/Demo2__factory";
import { DemoTest__factory } from "../typechain/factories/DemoTest__factory";
import { SolidityTest4__factory } from "../typechain/factories/SolidityTest4__factory";
import { SolidityTest5__factory } from "../typechain/factories/SolidityTest5__factory";
import { SolidityTest6__factory } from "../typechain/factories/SolidityTest6__factory";
import { SolidityTest7__factory } from "../typechain/factories/SolidityTest7__factory";
import { SolidityTest4 } from "../typechain/SolidityTest4";
import { SolidityTest5 } from "../typechain/SolidityTest5";
import { SolidityTest6 } from "../typechain/SolidityTest6";
import { SolidityTest7 } from "../typechain/SolidityTest7";
async function main() {
const [owner, addr1, addr2] = await ethers.getSigners();
const ContractMath:ContractMath__factory = await ethers.getContractFactory("ContractMath");
const contractMath:ContractMath = await ContractMath.deploy();
await contractMath.deployed();
console.log("contractMath deployed to:", contractMath.address);
const txt1 = await contractMath.mint(15);
/*
const txt1 = await contractMath.doSomeWork();
const receipt = await txt1.wait();
console.log("Receipt = ",receipt);
console.log("Events = ",receipt.events);
*/
/*
const MyMathLib:MyMathLib__factory = await ethers.getContractFactory("MyMathLib")
const myMathLib:MyMathLib = await MyMathLib.deploy();
await myMathLib.deployed();
*/
/*
const ContractMath:ContractMath__factory = await ethers.getContractFactory("ContractMath");
const contractMath:ContractMath = await ContractMath.deploy();
await contractMath.deployed();
console.log("contractMath deployed to:", contractMath.address);
console.log("Data A = ", (await contractMath.checkResult()).toString());
*/
/*
const C:C__factory = await ethers.getContractFactory("C");
const c:C = await C.deploy();
await c.deployed();
console.log("Contract c deployed to:", c.address);
console.log("Data A = ", (await c.checkFunctionA()).toString());
console.log("Data B = ", (await c.checkFunctionB()).toString());
*/
/*
const Demo2:Demo2__factory = await ethers.getContractFactory("Demo2");
const demo2:Demo2 = await Demo2.deploy();
await demo2.deployed();
console.log("Demo2 deployed to:", demo2.address);
const txt1 = await demo2.createExample("First");
const demoAddress1 = await demo2.demo1Address();
console.log("Demo 1 Address = ",demoAddress1);
const txt2 = await demo2.createExample("Second");
const demoAddress2 = await demo2.demo1Address();
console.log("Demo 1 Address = ",demoAddress2);
const txt3 = await demo2.createExample("Third");
const demoAddress3 = await demo2.demo1Address();
console.log("Demo 1 Address = ",demoAddress3);
const name = await demo2.getNameOfContract(demoAddress2);
console.log("Name = ",name);
*/
/*
const Demo1:Demo1__factory = await ethers.getContractFactory("Demo1");
const demo1:Demo1 = await Demo1.attach(demoAddress2);
console.log("Demo1 deployed to:", demo1.address);
const name = await demo1.getName();
console.log("Name = ",name);
*/
/*
const SolidityTest7:SolidityTest7__factory = await ethers.getContractFactory("SolidityTest7");
const solidtyTest7:SolidityTest7 = await SolidityTest7.deploy();
await solidtyTest7.deployed();
console.log("SolidityTest6 deployed to:", solidtyTest7.address);
const DemoTest:DemoTest__factory = await ethers.getContractFactory("DemoTest");
const demoTest:DemoTest = await DemoTest.deploy();
await demoTest.deployed();
console.log("demoTest deployed to:", demoTest.address);
await solidtyTest7.setAddress(demoTest.address);
const txt1 = await solidtyTest7.connect(addr2).becomeRichest({value: ethers.utils.parseEther("1")});
*/
//console.log("Add 1 = ", (await solidtyTest7.add1(23,45,6)).toString());
//console.log("Add 2 = ", (await solidtyTest7.add2(23,45,1)).toString());
/*
console.log("Sub ", (await solidtyTest7["getSum(uint256,uint256)"](34,45)).toString());
console.log("Sub ", (await solidtyTest7["getSum(uint256,uint256,uint256)"](34,45, 67)).toString());
*/
/*
const SolidityTest5:SolidityTest5__factory = await ethers.getContractFactory("SolidityTest5");
const solidtyTest5:SolidityTest5 = await SolidityTest5.deploy();
await solidtyTest5.deployed();
console.log("SolidityTest5 deployed to:", solidtyTest5.address);
const SolidityTest6:SolidityTest6__factory = await ethers.getContractFactory("SolidityTest6");
const solidtyTest6:SolidityTest6 = await SolidityTest6.deploy();
await solidtyTest6.deployed();
console.log("SolidityTest6 deployed to:", solidtyTest6.address);
console.log("Balance of Contract = ", (await ethers.provider.getBalance(solidtyTest5.address)).toString());
console.log("Receive Coutner = ", (await solidtyTest5.countReceive()).toString());
console.log("Fallback Coutner = ", (await solidtyTest5.countFallback()).toString());
console.log("Receive Balance = ", (await solidtyTest5.receiveBalance(addr1.address)).toString())
console.log("Fallback Balance = ", (await solidtyTest5.fallbackBalance(addr1.address)).toString());
//const txt1 = await solidtyTest6.testFunctionCall(solidtyTest5.address, "hellWorld()");
const txt1 = await addr1.sendTransaction({
to: solidtyTest5.address,
value: ethers.utils.parseEther("1"),
});
console.log("After ======>");
console.log("Balance of Contract = ", (await ethers.provider.getBalance(solidtyTest5.address)).toString());
console.log("Receive Coutner = ", (await solidtyTest5.countReceive()).toString());
console.log("Fallback Coutner = ", (await solidtyTest5.countFallback()).toString());
console.log("Receive Balance = ", (await solidtyTest5.receiveBalance(addr1.address)).toString())
console.log("Fallback Balance = ", (await solidtyTest5.fallbackBalance(addr1.address)).toString());
*/
/*
const SolidityTest4:SolidityTest4__factory = await ethers.getContractFactory("SolidityTest4");
const solidtyTest4:SolidityTest4 = await SolidityTest4.deploy();
await solidtyTest4.deployed();
console.log("SolidityTest4 deployed to:", solidtyTest4.address);
console.log("Owner address = ", owner.address);
console.log("Counter before = ", (await solidtyTest4.counter()).toString());
const txt1 = await solidtyTest4.updateAmount(ethers.utils.parseEther("0.001"));
console.log("Counter after = ", (await solidtyTest4.counter()).toString());
*/
//console.log("contract owner address = ", await solidtyTest4.owner());
//console.log("treasure address = ", await solidtyTest4.treasureAddress());
/*
console.log("contract owner address = ", await solidtyTest4.owner());
console.log("treasure address = ", await solidtyTest4.treasureAddress());
//const txt1 = await solidtyTest4.updateTreasureAddress(addr1.address);
const txt1 = await solidtyTest4.connect(addr2).updateTreasureAddress(addr1.address);
console.log("contract owner address = ", await solidtyTest4.owner());
console.log("treasure address = ", await solidtyTest4.treasureAddress());
*/
/*
const val = await solidtyTest4.doSomething();
const val2 = await solidtyTest4.checkPureFunction(10);
console.log("value = ",val.toString());
console.log("value 2 = ",val2.toString());
const val3 = await solidtyTest4.multiVal();
console.log("value 3 = ",val3);
console.log("value 3 = ",val3[0]);
console.log("value 3 = ",val3[1]);
const val4 = await solidtyTest4.multiVal();
console.log("value 4 = ",val4);
console.log("value 4 = ",val4[0]);
console.log("value 4 = ",val4[1]);
*/
/*
const SolidityTest3:SolidityTest3__factory = await ethers.getContractFactory("SolidityTest3");
const solidtyTest3:SolidityTest3 = await SolidityTest3.deploy();
await solidtyTest3.deployed();
console.log("SolidityTest3 deployed to:", solidtyTest3.address);
console.log("value = ",(await solidtyTest3.applyConversion()).toString());
*/
/*
const etherValue = await ethers.utils.parseEther("5.6");
console.log("Ehter value = ",etherValue.toString());
const num = BigNumber.from("100000000000000000000");
console.log("Ehter value = ",await ethers.utils.formatEther(num));
*/
/*
const SolidityTest2:SolidityTest2__factory = await ethers.getContractFactory("SolidityTest2");
const solidtyTest2:SolidityTest2 = await SolidityTest2.deploy();
await solidtyTest2.deployed();
console.log("SolidityTest2 deployed to:", solidtyTest2.address);
await solidtyTest2.addFundingRounds();
const roundInfo = await solidtyTest2.allRounds(2)
console.log(roundInfo);
console.log("fundingRequired = ",roundInfo.fundingRequired.toString());
console.log("round = ",roundInfo.round);
*/
/*
const SolidityTest:SolidityTest__factory = await ethers.getContractFactory("SolidityTest");
const solidtyTest:SolidityTest = await SolidityTest.deploy();
await solidtyTest.deployed();
console.log("SolidityTest2 deployed to:", solidtyTest.address);
console.log("Current Round = ", await solidtyTest.getCurrentFundingRound());
await solidtyTest.changeRound(5);
console.log("Current Round After = ", await solidtyTest.getCurrentFundingRound());
*/
/*
console.log("Juice = ", await solidtyTest.getJuice());
console.log("is Juice Extra Large = ", await solidtyTest.verifyJuiceSize());
await solidtyTest.updateJuiceSize(3);
console.log("Juice = ", await solidtyTest.getJuice());
console.log("is Juice Extra Large after = ", await solidtyTest.verifyJuiceSize());
*/
}
// We recommend this pattern to be able to use async/await everywhere
// and properly handle errors.
main().catch((error) => {
console.error(error);
process.exitCode = 1;
});
================================================
FILE: step03_solidity_tutorial/scripts/sample-script.ts
================================================
import { run, ethers } from "hardhat";
async function main() {
const Greeter = await ethers.getContractFactory("Greeter");
const greeter = await Greeter.deploy("Hello, Hardhat!");
await greeter.deployed();
console.log("Greeter deployed to:", greeter.address);
}
// We recommend this pattern to be able to use async/await everywhere
// and properly handle errors.
main()
.then(() => process.exit(0))
.catch((error) => {
console.error(error);
process.exit(1);
});
================================================
FILE: step03_solidity_tutorial/test/sample-test.ts
================================================
import { ethers, waffle } from "hardhat";
import { expect } from "chai";
describe("Greeter", function () {
it("Should return the new greeting once it's changed", async function () {
const Greeter = await ethers.getContractFactory("Greeter");
const greeter = await Greeter.deploy("Hello, world!");
await greeter.deployed();
expect(await greeter.greet()).to.equal("Hello, world!");
const setGreetingTx = await greeter.setGreeting("Hola, mundo!");
// wait until the transaction is mined
await setGreetingTx.wait();
expect(await greeter.greet()).to.equal("Hola, mundo!");
});
});
================================================
FILE: step03_solidity_tutorial/tsconfig.json
================================================
{
"compilerOptions": {
"target": "es2018",
"module": "commonjs",
"strict": true,
"esModuleInterop": true,
"outDir": "dist",
"resolveJsonModule": true,
},
"include": ["./scripts", "./test", "./typechain"],
"files": ["./hardhat.config.ts"]
}
================================================
FILE: step04A_chap2_textbook/.commitlintrc.yaml
================================================
extends:
- "@commitlint/config-conventional"
================================================
FILE: step04A_chap2_textbook/.czrc
================================================
{
"path": "cz-conventional-changelog"
}
================================================
FILE: step04A_chap2_textbook/.editorconfig
================================================
# EditorConfig http://EditorConfig.org
# top-most EditorConfig file
root = true
# All files
[*]
charset = utf-8
end_of_line = lf
indent_size = 2
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true
[*.sol]
indent_size = 4
================================================
FILE: step04A_chap2_textbook/.eslintignore
================================================
# directories
.yarn/
**/.coverage_artifacts
**/.coverage_cache
**/.coverage_contracts
**/artifacts
**/build
**/cache
**/coverage
**/dist
**/node_modules
**/types
# files
*.env
*.log
.pnp.*
coverage.json
npm-debug.log*
yarn-debug.log*
yarn-error.log*
================================================
FILE: step04A_chap2_textbook/.eslintrc.yaml
================================================
extends:
- "eslint:recommended"
- "plugin:@typescript-eslint/eslint-recommended"
- "plugin:@typescript-eslint/recommended"
- "prettier"
parser: "@typescript-eslint/parser"
parserOptions:
project: "tsconfig.json"
plugins:
- "@typescript-eslint"
root: true
rules:
"@typescript-eslint/no-floating-promises":
- error
- ignoreIIFE: true
ignoreVoid: true
"@typescript-eslint/no-inferrable-types": "off"
"@typescript-eslint/no-unused-vars":
- error
- argsIgnorePattern: "_"
varsIgnorePattern: "_"
================================================
FILE: step04A_chap2_textbook/.github/FUNDING.yaml
================================================
custom: ["https://gitcoin.co/grants/1657/paulrberg-open-source-engineering"]
================================================
FILE: step04A_chap2_textbook/.gitignore
================================================
# directories
.yarn/*
!.yarn/patches
!.yarn/releases
!.yarn/plugins
!.yarn/sdks
!.yarn/versions
**/artifacts
**/build
**/cache
**/coverage
**/.coverage_artifacts
**/.coverage_cache
**/.coverage_contracts
**/dist
**/node_modules
**/types
# files
*.env
*.log
.pnp.*
coverage.json
npm-debug.log*
yarn-debug.log*
yarn-error.log*
================================================
FILE: step04A_chap2_textbook/.husky/.gitignore
================================================
_
================================================
FILE: step04A_chap2_textbook/.husky/commit-msg
================================================
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
yarn dlx commitlint --edit $1
================================================
FILE: step04A_chap2_textbook/.husky/pre-commit
================================================
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
yarn dlx lint-staged
================================================
FILE: step04A_chap2_textbook/.lintstagedrc
================================================
{
"*.{js,json,md,sol,ts,yaml,yml}": [
"prettier --config ./.prettierrc.yaml --write"
]
}
================================================
FILE: step04A_chap2_textbook/.prettierignore
================================================
# directories
.yarn/
**/.coverage_artifacts
**/.coverage_cache
**/.coverage_contracts
**/artifacts
**/build
**/cache
**/coverage
**/dist
**/node_modules
**/types
# files
*.env
*.log
.pnp.*
coverage.json
npm-debug.log*
yarn-debug.log*
yarn-error.log*
================================================
FILE: step04A_chap2_textbook/.prettierrc.yaml
================================================
arrowParens: avoid
bracketSpacing: true
endOfLine: auto
printWidth: 120
singleQuote: false
tabWidth: 2
trailingComma: all
overrides:
- files: "*.sol"
options:
tabWidth: 4
================================================
FILE: step04A_chap2_textbook/.solcover.js
================================================
const shell = require("shelljs");
module.exports = {
istanbulReporter: ["html", "lcov"],
providerOptions: {
mnemonic: process.env.MNEMONIC,
},
skipFiles: ["test"],
};
================================================
FILE: step04A_chap2_textbook/.solhint.json
================================================
{
"extends": "solhint:recommended",
"plugins": ["prettier"],
"rules": {
"code-complexity": ["error", 8],
"compiler-version": ["error", ">=0.8.4"],
"const-name-snakecase": "off",
"constructor-syntax": "error",
"func-visibility": ["error", { "ignoreConstructors": true }],
"max-line-length": ["error", 120],
"not-rely-on-time": "off",
"prettier/prettier": [
"error",
{
"endOfLine": "auto"
}
],
"reason-string": ["warn", { "maxLength": 64 }]
}
}
================================================
FILE: step04A_chap2_textbook/.solhintignore
================================================
# directories
**/artifacts
**/node_modules
================================================
FILE: step04A_chap2_textbook/.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs
================================================
/* eslint-disable */
//prettier-ignore
module.exports = {
name: "@yarnpkg/plugin-interactive-tools",
factory: function (require) {
var plugin=(()=>{var PR=Object.create,J1=Object.defineProperty,MR=Object.defineProperties,FR=Object.getOwnPropertyDescriptor,LR=Object.getOwnPropertyDescriptors,RR=Object.getOwnPropertyNames,hh=Object.getOwnPropertySymbols,NR=Object.getPrototypeOf,Z4=Object.prototype.hasOwnProperty,aD=Object.prototype.propertyIsEnumerable;var dD=(i,u,f)=>u in i?J1(i,u,{enumerable:!0,configurable:!0,writable:!0,value:f}):i[u]=f,dt=(i,u)=>{for(var f in u||(u={}))Z4.call(u,f)&&dD(i,f,u[f]);if(hh)for(var f of hh(u))aD.call(u,f)&&dD(i,f,u[f]);return i},zn=(i,u)=>MR(i,LR(u)),BR=i=>J1(i,"__esModule",{value:!0});var Si=(i,u)=>{var f={};for(var c in i)Z4.call(i,c)&&u.indexOf(c)<0&&(f[c]=i[c]);if(i!=null&&hh)for(var c of hh(i))u.indexOf(c)<0&&aD.call(i,c)&&(f[c]=i[c]);return f};var Me=(i,u)=>()=>(u||i((u={exports:{}}).exports,u),u.exports),jR=(i,u)=>{for(var f in u)J1(i,f,{get:u[f],enumerable:!0})},UR=(i,u,f)=>{if(u&&typeof u=="object"||typeof u=="function")for(let c of RR(u))!Z4.call(i,c)&&c!=="default"&&J1(i,c,{get:()=>u[c],enumerable:!(f=FR(u,c))||f.enumerable});return i},Er=i=>UR(BR(J1(i!=null?PR(NR(i)):{},"default",i&&i.__esModule&&"default"in i?{get:()=>i.default,enumerable:!0}:{value:i,enumerable:!0})),i);var ey=Me((YH,pD)=>{"use strict";var hD=Object.getOwnPropertySymbols,qR=Object.prototype.hasOwnProperty,zR=Object.prototype.propertyIsEnumerable;function WR(i){if(i==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(i)}function HR(){try{if(!Object.assign)return!1;var i=new String("abc");if(i[5]="de",Object.getOwnPropertyNames(i)[0]==="5")return!1;for(var u={},f=0;f<10;f++)u["_"+String.fromCharCode(f)]=f;var c=Object.getOwnPropertyNames(u).map(function(t){return u[t]});if(c.join("")!=="0123456789")return!1;var g={};return"abcdefghijklmnopqrst".split("").forEach(function(t){g[t]=t}),Object.keys(Object.assign({},g)).join("")==="abcdefghijklmnopqrst"}catch(t){return!1}}pD.exports=HR()?Object.assign:function(i,u){for(var f,c=WR(i),g,t=1;t<arguments.length;t++){f=Object(arguments[t]);for(var C in f)qR.call(f,C)&&(c[C]=f[C]);if(hD){g=hD(f);for(var A=0;A<g.length;A++)zR.call(f,g[A])&&(c[g[A]]=f[g[A]])}}return c}});var xD=Me(Ir=>{"use strict";var ty=ey(),as=typeof Symbol=="function"&&Symbol.for,Q1=as?Symbol.for("react.element"):60103,bR=as?Symbol.for("react.portal"):60106,GR=as?Symbol.for("react.fragment"):60107,VR=as?Symbol.for("react.strict_mode"):60108,YR=as?Symbol.for("react.profiler"):60114,$R=as?Symbol.for("react.provider"):60109,KR=as?Symbol.for("react.context"):60110,XR=as?Symbol.for("react.forward_ref"):60112,JR=as?Symbol.for("react.suspense"):60113,QR=as?Symbol.for("react.memo"):60115,ZR=as?Symbol.for("react.lazy"):60116,mD=typeof Symbol=="function"&&Symbol.iterator;function Z1(i){for(var u="https://reactjs.org/docs/error-decoder.html?invariant="+i,f=1;f<arguments.length;f++)u+="&args[]="+encodeURIComponent(arguments[f]);return"Minified React error #"+i+"; visit "+u+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var vD={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},gD={};function va(i,u,f){this.props=i,this.context=u,this.refs=gD,this.updater=f||vD}va.prototype.isReactComponent={};va.prototype.setState=function(i,u){if(typeof i!="object"&&typeof i!="function"&&i!=null)throw Error(Z1(85));this.updater.enqueueSetState(this,i,u,"setState")};va.prototype.forceUpdate=function(i){this.updater.enqueueForceUpdate(this,i,"forceUpdate")};function _D(){}_D.prototype=va.prototype;function ny(i,u,f){this.props=i,this.context=u,this.refs=gD,this.updater=f||vD}var ry=ny.prototype=new _D;ry.constructor=ny;ty(ry,va.prototype);ry.isPureReactComponent=!0;var iy={current:null},yD=Object.prototype.hasOwnProperty,wD={key:!0,ref:!0,__self:!0,__source:!0};function DD(i,u,f){var c,g={},t=null,C=null;if(u!=null)for(c in u.ref!==void 0&&(C=u.ref),u.key!==void 0&&(t=""+u.key),u)yD.call(u,c)&&!wD.hasOwnProperty(c)&&(g[c]=u[c]);var A=arguments.length-2;if(A===1)g.children=f;else if(1<A){for(var x=Array(A),D=0;D<A;D++)x[D]=arguments[D+2];g.children=x}if(i&&i.defaultProps)for(c in A=i.defaultProps,A)g[c]===void 0&&(g[c]=A[c]);return{$$typeof:Q1,type:i,key:t,ref:C,props:g,_owner:iy.current}}function eN(i,u){return{$$typeof:Q1,type:i.type,key:u,ref:i.ref,props:i.props,_owner:i._owner}}function oy(i){return typeof i=="object"&&i!==null&&i.$$typeof===Q1}function tN(i){var u={"=":"=0",":":"=2"};return"$"+(""+i).replace(/[=:]/g,function(f){return u[f]})}var ED=/\/+/g,mh=[];function SD(i,u,f,c){if(mh.length){var g=mh.pop();return g.result=i,g.keyPrefix=u,g.func=f,g.context=c,g.count=0,g}return{result:i,keyPrefix:u,func:f,context:c,count:0}}function CD(i){i.result=null,i.keyPrefix=null,i.func=null,i.context=null,i.count=0,10>mh.length&&mh.push(i)}function uy(i,u,f,c){var g=typeof i;(g==="undefined"||g==="boolean")&&(i=null);var t=!1;if(i===null)t=!0;else switch(g){case"string":case"number":t=!0;break;case"object":switch(i.$$typeof){case Q1:case bR:t=!0}}if(t)return f(c,i,u===""?"."+sy(i,0):u),1;if(t=0,u=u===""?".":u+":",Array.isArray(i))for(var C=0;C<i.length;C++){g=i[C];var A=u+sy(g,C);t+=uy(g,A,f,c)}else if(i===null||typeof i!="object"?A=null:(A=mD&&i[mD]||i["@@iterator"],A=typeof A=="function"?A:null),typeof A=="function")for(i=A.call(i),C=0;!(g=i.next()).done;)g=g.value,A=u+sy(g,C++),t+=uy(g,A,f,c);else if(g==="object")throw f=""+i,Error(Z1(31,f==="[object Object]"?"object with keys {"+Object.keys(i).join(", ")+"}":f,""));return t}function ly(i,u,f){return i==null?0:uy(i,"",u,f)}function sy(i,u){return typeof i=="object"&&i!==null&&i.key!=null?tN(i.key):u.toString(36)}function nN(i,u){i.func.call(i.context,u,i.count++)}function rN(i,u,f){var c=i.result,g=i.keyPrefix;i=i.func.call(i.context,u,i.count++),Array.isArray(i)?fy(i,c,f,function(t){return t}):i!=null&&(oy(i)&&(i=eN(i,g+(!i.key||u&&u.key===i.key?"":(""+i.key).replace(ED,"$&/")+"/")+f)),c.push(i))}function fy(i,u,f,c,g){var t="";f!=null&&(t=(""+f).replace(ED,"$&/")+"/"),u=SD(u,t,c,g),ly(i,rN,u),CD(u)}var TD={current:null};function Kl(){var i=TD.current;if(i===null)throw Error(Z1(321));return i}var iN={ReactCurrentDispatcher:TD,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:iy,IsSomeRendererActing:{current:!1},assign:ty};Ir.Children={map:function(i,u,f){if(i==null)return i;var c=[];return fy(i,c,null,u,f),c},forEach:function(i,u,f){if(i==null)return i;u=SD(null,null,u,f),ly(i,nN,u),CD(u)},count:function(i){return ly(i,function(){return null},null)},toArray:function(i){var u=[];return fy(i,u,null,function(f){return f}),u},only:function(i){if(!oy(i))throw Error(Z1(143));return i}};Ir.Component=va;Ir.Fragment=GR;Ir.Profiler=YR;Ir.PureComponent=ny;Ir.StrictMode=VR;Ir.Suspense=JR;Ir.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=iN;Ir.cloneElement=function(i,u,f){if(i==null)throw Error(Z1(267,i));var c=ty({},i.props),g=i.key,t=i.ref,C=i._owner;if(u!=null){if(u.ref!==void 0&&(t=u.ref,C=iy.current),u.key!==void 0&&(g=""+u.key),i.type&&i.type.defaultProps)var A=i.type.defaultProps;for(x in u)yD.call(u,x)&&!wD.hasOwnProperty(x)&&(c[x]=u[x]===void 0&&A!==void 0?A[x]:u[x])}var x=arguments.length-2;if(x===1)c.children=f;else if(1<x){A=Array(x);for(var D=0;D<x;D++)A[D]=arguments[D+2];c.children=A}return{$$typeof:Q1,type:i.type,key:g,ref:t,props:c,_owner:C}};Ir.createContext=function(i,u){return u===void 0&&(u=null),i={$$typeof:KR,_calculateChangedBits:u,_currentValue:i,_currentValue2:i,_threadCount:0,Provider:null,Consumer:null},i.Provider={$$typeof:$R,_context:i},i.Consumer=i};Ir.createElement=DD;Ir.createFactory=function(i){var u=DD.bind(null,i);return u.type=i,u};Ir.createRef=function(){return{current:null}};Ir.forwardRef=function(i){return{$$typeof:XR,render:i}};Ir.isValidElement=oy;Ir.lazy=function(i){return{$$typeof:ZR,_ctor:i,_status:-1,_result:null}};Ir.memo=function(i,u){return{$$typeof:QR,type:i,compare:u===void 0?null:u}};Ir.useCallback=function(i,u){return Kl().useCallback(i,u)};Ir.useContext=function(i,u){return Kl().useContext(i,u)};Ir.useDebugValue=function(){};Ir.useEffect=function(i,u){return Kl().useEffect(i,u)};Ir.useImperativeHandle=function(i,u,f){return Kl().useImperativeHandle(i,u,f)};Ir.useLayoutEffect=function(i,u){return Kl().useLayoutEffect(i,u)};Ir.useMemo=function(i,u){return Kl().useMemo(i,u)};Ir.useReducer=function(i,u,f){return Kl().useReducer(i,u,f)};Ir.useRef=function(i){return Kl().useRef(i)};Ir.useState=function(i){return Kl().useState(i)};Ir.version="16.13.1"});var lr=Me((KH,kD)=>{"use strict";kD.exports=xD()});var AD=Me((ga,e2)=>{(function(){var i,u="4.17.21",f=200,c="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",g="Expected a function",t="Invalid `variable` option passed into `_.template`",C="__lodash_hash_undefined__",A=500,x="__lodash_placeholder__",D=1,L=2,N=4,j=1,$=2,h=1,re=2,ce=4,Q=8,oe=16,Se=32,me=64,De=128,J=256,Te=512,Oe=30,Le="...",ot=800,ct=16,Ue=1,be=2,At=3,Ot=1/0,Nt=9007199254740991,Je=17976931348623157e292,V=0/0,ne=4294967295,ge=ne-1,Z=ne>>>1,Ae=[["ary",De],["bind",h],["bindKey",re],["curry",Q],["curryRight",oe],["flip",Te],["partial",Se],["partialRight",me],["rearg",J]],at="[object Arguments]",it="[object Array]",Ft="[object AsyncFunction]",jt="[object Boolean]",hn="[object Date]",Un="[object DOMException]",Jt="[object Error]",Yt="[object Function]",cr="[object GeneratorFunction]",w="[object Map]",pt="[object Number]",Mn="[object Null]",Bn="[object Object]",Xn="[object Promise]",vr="[object Proxy]",gr="[object RegExp]",r0="[object Set]",Ci="[object String]",yo="[object Symbol]",Ds="[object Undefined]",Mu="[object WeakMap]",Gf="[object WeakSet]",iu="[object ArrayBuffer]",ou="[object DataView]",ol="[object Float32Array]",ul="[object Float64Array]",Es="[object Int8Array]",Uo="[object Int16Array]",sl="[object Int32Array]",Ss="[object Uint8Array]",Cs="[object Uint8ClampedArray]",Ti="[object Uint16Array]",Fu="[object Uint32Array]",ll=/\b__p \+= '';/g,fl=/\b(__p \+=) '' \+/g,cl=/(__e\(.*?\)|\b__t\)) \+\n'';/g,al=/&(?:amp|lt|gt|quot|#39);/g,Ui=/[&<>"']/g,Mr=RegExp(al.source),Ac=RegExp(Ui.source),of=/<%-([\s\S]+?)%>/g,Ts=/<%([\s\S]+?)%>/g,xs=/<%=([\s\S]+?)%>/g,dl=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,qi=/^\w*$/,qo=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,kr=/[\\^$.*+?()[\]{}|]/g,Fr=RegExp(kr.source),si=/^\s+/,H0=/\s/,b0=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Bt=/\{\n\/\* \[wrapped with (.+)\] \*/,Lu=/,? & /,c0=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Ru=/[()=,{}\[\]\/\s]/,ks=/\\(\\)?/g,As=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,uu=/\w*$/,wo=/^[-+]0x[0-9a-f]+$/i,zo=/^0b[01]+$/i,Os=/^\[object .+?Constructor\]$/,Is=/^0o[0-7]+$/i,uf=/^(?:0|[1-9]\d*)$/,_n=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Nu=/($^)/,Wo=/['\n\r\u2028\u2029\\]/g,su="\\ud800-\\udfff",Ps="\\u0300-\\u036f",pl="\\ufe20-\\ufe2f",Vf="\\u20d0-\\u20ff",hl=Ps+pl+Vf,Bu="\\u2700-\\u27bf",ju="a-z\\xdf-\\xf6\\xf8-\\xff",sf="\\xac\\xb1\\xd7\\xf7",ro="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Ms="\\u2000-\\u206f",ml=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Uu="A-Z\\xc0-\\xd6\\xd8-\\xde",G0="\\ufe0e\\ufe0f",Fs=sf+ro+Ms+ml,tt="['\u2019]",zi="["+su+"]",lu="["+Fs+"]",Ho="["+hl+"]",O0="\\d+",vl="["+Bu+"]",gl="["+ju+"]",fu="[^"+su+Fs+O0+Bu+ju+Uu+"]",_l="\\ud83c[\\udffb-\\udfff]",Sn="(?:"+Ho+"|"+_l+")",gt="[^"+su+"]",en="(?:\\ud83c[\\udde6-\\uddff]){2}",I0="[\\ud800-\\udbff][\\udc00-\\udfff]",li="["+Uu+"]",qu="\\u200d",Wi="(?:"+gl+"|"+fu+")",zu="(?:"+li+"|"+fu+")",Wu="(?:"+tt+"(?:d|ll|m|re|s|t|ve))?",Ls="(?:"+tt+"(?:D|LL|M|RE|S|T|VE))?",fi=Sn+"?",e0="["+G0+"]?",io="(?:"+qu+"(?:"+[gt,en,I0].join("|")+")"+e0+fi+")*",D0="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Do="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",i0=e0+fi+io,Rs="(?:"+[vl,en,I0].join("|")+")"+i0,a0="(?:"+[gt+Ho+"?",Ho,en,I0,zi].join("|")+")",Hu=RegExp(tt,"g"),V0=RegExp(Ho,"g"),bu=RegExp(_l+"(?="+_l+")|"+a0+i0,"g"),Ns=RegExp([li+"?"+gl+"+"+Wu+"(?="+[lu,li,"$"].join("|")+")",zu+"+"+Ls+"(?="+[lu,li+Wi,"$"].join("|")+")",li+"?"+Wi+"+"+Wu,li+"+"+Ls,Do,D0,O0,Rs].join("|"),"g"),bo=RegExp("["+qu+su+hl+G0+"]"),P0=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,ln=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],lf=-1,nr={};nr[ol]=nr[ul]=nr[Es]=nr[Uo]=nr[sl]=nr[Ss]=nr[Cs]=nr[Ti]=nr[Fu]=!0,nr[at]=nr[it]=nr[iu]=nr[jt]=nr[ou]=nr[hn]=nr[Jt]=nr[Yt]=nr[w]=nr[pt]=nr[Bn]=nr[gr]=nr[r0]=nr[Ci]=nr[Mu]=!1;var rr={};rr[at]=rr[it]=rr[iu]=rr[ou]=rr[jt]=rr[hn]=rr[ol]=rr[ul]=rr[Es]=rr[Uo]=rr[sl]=rr[w]=rr[pt]=rr[Bn]=rr[gr]=rr[r0]=rr[Ci]=rr[yo]=rr[Ss]=rr[Cs]=rr[Ti]=rr[Fu]=!0,rr[Jt]=rr[Yt]=rr[Mu]=!1;var Go={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},Gu={"&":"&","<":"<",">":">",'"':""","'":"'"},yl={"&":"&","<":"<",">":">",""":'"',"'":"'"},cu={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Bs=parseFloat,Vu=parseInt,M0=typeof global=="object"&&global&&global.Object===Object&&global,au=typeof self=="object"&&self&&self.Object===Object&&self,Lr=M0||au||Function("return this")(),F=typeof ga=="object"&&ga&&!ga.nodeType&&ga,R=F&&typeof e2=="object"&&e2&&!e2.nodeType&&e2,U=R&&R.exports===F,H=U&&M0.process,fe=function(){try{var ae=R&&R.require&&R.require("util").types;return ae||H&&H.binding&&H.binding("util")}catch(Be){}}(),ue=fe&&fe.isArrayBuffer,de=fe&&fe.isDate,W=fe&&fe.isMap,ve=fe&&fe.isRegExp,Fe=fe&&fe.isSet,Ge=fe&&fe.isTypedArray;function K(ae,Be,Ie){switch(Ie.length){case 0:return ae.call(Be);case 1:return ae.call(Be,Ie[0]);case 2:return ae.call(Be,Ie[0],Ie[1]);case 3:return ae.call(Be,Ie[0],Ie[1],Ie[2])}return ae.apply(Be,Ie)}function xe(ae,Be,Ie,ht){for(var mt=-1,wn=ae==null?0:ae.length;++mt<wn;){var Gn=ae[mt];Be(ht,Gn,Ie(Gn),ae)}return ht}function je(ae,Be){for(var Ie=-1,ht=ae==null?0:ae.length;++Ie<ht&&Be(ae[Ie],Ie,ae)!==!1;);return ae}function Xe(ae,Be){for(var Ie=ae==null?0:ae.length;Ie--&&Be(ae[Ie],Ie,ae)!==!1;);return ae}function rt(ae,Be){for(var Ie=-1,ht=ae==null?0:ae.length;++Ie<ht;)if(!Be(ae[Ie],Ie,ae))return!1;return!0}function st(ae,Be){for(var Ie=-1,ht=ae==null?0:ae.length,mt=0,wn=[];++Ie<ht;){var Gn=ae[Ie];Be(Gn,Ie,ae)&&(wn[mt++]=Gn)}return wn}function xt(ae,Be){var Ie=ae==null?0:ae.length;return!!Ie&&Qe(ae,Be,0)>-1}function wt(ae,Be,Ie){for(var ht=-1,mt=ae==null?0:ae.length;++ht<mt;)if(Ie(Be,ae[ht]))return!0;return!1}function lt(ae,Be){for(var Ie=-1,ht=ae==null?0:ae.length,mt=Array(ht);++Ie<ht;)mt[Ie]=Be(ae[Ie],Ie,ae);return mt}function Rt(ae,Be){for(var Ie=-1,ht=Be.length,mt=ae.length;++Ie<ht;)ae[mt+Ie]=Be[Ie];return ae}function yn(ae,Be,Ie,ht){var mt=-1,wn=ae==null?0:ae.length;for(ht&&wn&&(Ie=ae[++mt]);++mt<wn;)Ie=Be(Ie,ae[mt],mt,ae);return Ie}function sn(ae,Be,Ie,ht){var mt=ae==null?0:ae.length;for(ht&&mt&&(Ie=ae[--mt]);mt--;)Ie=Be(Ie,ae[mt],mt,ae);return Ie}function ar(ae,Be){for(var Ie=-1,ht=ae==null?0:ae.length;++Ie<ht;)if(Be(ae[Ie],Ie,ae))return!0;return!1}var rn=Qt("length");function Hn(ae){return ae.split("")}function d0(ae){return ae.match(c0)||[]}function Cr(ae,Be,Ie){var ht;return Ie(ae,function(mt,wn,Gn){if(Be(mt,wn,Gn))return ht=wn,!1}),ht}function He(ae,Be,Ie,ht){for(var mt=ae.length,wn=Ie+(ht?1:-1);ht?wn--:++wn<mt;)if(Be(ae[wn],wn,ae))return wn;return-1}function Qe(ae,Be,Ie){return Be===Be?$u(ae,Be,Ie):He(ae,ft,Ie)}function Ne(ae,Be,Ie,ht){for(var mt=Ie-1,wn=ae.length;++mt<wn;)if(ht(ae[mt],Be))return mt;return-1}function ft(ae){return ae!==ae}function St(ae,Be){var Ie=ae==null?0:ae.length;return Ie?h0(ae,Be)/Ie:V}function Qt(ae){return function(Be){return Be==null?i:Be[ae]}}function Cn(ae){return function(Be){return ae==null?i:ae[Be]}}function bn(ae,Be,Ie,ht,mt){return mt(ae,function(wn,Gn,$t){Ie=ht?(ht=!1,wn):Be(Ie,wn,Gn,$t)}),Ie}function p0(ae,Be){var Ie=ae.length;for(ae.sort(Be);Ie--;)ae[Ie]=ae[Ie].value;return ae}function h0(ae,Be){for(var Ie,ht=-1,mt=ae.length;++ht<mt;){var wn=Be(ae[ht]);wn!==i&&(Ie=Ie===i?wn:Ie+wn)}return Ie}function ci(ae,Be){for(var Ie=-1,ht=Array(ae);++Ie<ae;)ht[Ie]=Be(Ie);return ht}function xi(ae,Be){return lt(Be,function(Ie){return[Ie,ae[Ie]]})}function E0(ae){return ae&&ae.slice(0,ai(ae)+1).replace(si,"")}function qr(ae){return function(Be){return ae(Be)}}function Eo(ae,Be){return lt(Be,function(Ie){return ae[Ie]})}function So(ae,Be){return ae.has(Be)}function wl(ae,Be){for(var Ie=-1,ht=ae.length;++Ie<ht&&Qe(Be,ae[Ie],0)>-1;);return Ie}function js(ae,Be){for(var Ie=ae.length;Ie--&&Qe(Be,ae[Ie],0)>-1;);return Ie}function Dl(ae,Be){for(var Ie=ae.length,ht=0;Ie--;)ae[Ie]===Be&&++ht;return ht}var du=Cn(Go),Yu=Cn(Gu);function Us(ae){return"\\"+cu[ae]}function oo(ae,Be){return ae==null?i:ae[Be]}function Hi(ae){return bo.test(ae)}function qs(ae){return P0.test(ae)}function F0(ae){for(var Be,Ie=[];!(Be=ae.next()).done;)Ie.push(Be.value);return Ie}function Gr(ae){var Be=-1,Ie=Array(ae.size);return ae.forEach(function(ht,mt){Ie[++Be]=[mt,ht]}),Ie}function ir(ae,Be){return function(Ie){return ae(Be(Ie))}}function L0(ae,Be){for(var Ie=-1,ht=ae.length,mt=0,wn=[];++Ie<ht;){var Gn=ae[Ie];(Gn===Be||Gn===x)&&(ae[Ie]=x,wn[mt++]=Ie)}return wn}function Y0(ae){var Be=-1,Ie=Array(ae.size);return ae.forEach(function(ht){Ie[++Be]=ht}),Ie}function Co(ae){var Be=-1,Ie=Array(ae.size);return ae.forEach(function(ht){Ie[++Be]=[ht,ht]}),Ie}function $u(ae,Be,Ie){for(var ht=Ie-1,mt=ae.length;++ht<mt;)if(ae[ht]===Be)return ht;return-1}function Vo(ae,Be,Ie){for(var ht=Ie+1;ht--;)if(ae[ht]===Be)return ht;return ht}function Rr(ae){return Hi(ae)?Vr(ae):rn(ae)}function Jn(ae){return Hi(ae)?ff(ae):Hn(ae)}function ai(ae){for(var Be=ae.length;Be--&&H0.test(ae.charAt(Be)););return Be}var o0=Cn(yl);function Vr(ae){for(var Be=bu.lastIndex=0;bu.test(ae);)++Be;return Be}function ff(ae){return ae.match(bu)||[]}function cf(ae){return ae.match(Ns)||[]}var $0=function ae(Be){Be=Be==null?Lr:K0.defaults(Lr.Object(),Be,K0.pick(Lr,ln));var Ie=Be.Array,ht=Be.Date,mt=Be.Error,wn=Be.Function,Gn=Be.Math,$t=Be.Object,X0=Be.RegExp,ki=Be.String,Yr=Be.TypeError,$r=Ie.prototype,m0=wn.prototype,Tn=$t.prototype,Yo=Be["__core-js_shared__"],bi=m0.toString,or=Tn.hasOwnProperty,zs=0,Ku=function(){var a=/[^.]+$/.exec(Yo&&Yo.keys&&Yo.keys.IE_PROTO||"");return a?"Symbol(src)_1."+a:""}(),J0=Tn.toString,af=bi.call($t),S0=Lr._,El=X0("^"+bi.call(or).replace(kr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Q0=U?Be.Buffer:i,Tr=Be.Symbol,R0=Be.Uint8Array,Nr=Q0?Q0.allocUnsafe:i,uo=ir($t.getPrototypeOf,$t),so=$t.create,N0=Tn.propertyIsEnumerable,C0=$r.splice,di=Tr?Tr.isConcatSpreadable:i,u0=Tr?Tr.iterator:i,v0=Tr?Tr.toStringTag:i,To=function(){try{var a=Il($t,"defineProperty");return a({},"",{}),a}catch(p){}}(),pu=Be.clearTimeout!==Lr.clearTimeout&&Be.clearTimeout,Sl=ht&&ht.now!==Lr.Date.now&&ht.now,Cl=Be.setTimeout!==Lr.setTimeout&&Be.setTimeout,B0=Gn.ceil,hu=Gn.floor,Fn=$t.getOwnPropertySymbols,pi=Q0?Q0.isBuffer:i,Br=Be.isFinite,zr=$r.join,lo=ir($t.keys,$t),wr=Gn.max,kn=Gn.min,T0=ht.now,hi=Be.parseInt,Ai=Gn.random,Kt=$r.reverse,X=Il(Be,"DataView"),Y=Il(Be,"Map"),ye=Il(Be,"Promise"),he=Il(Be,"Set"),We=Il(Be,"WeakMap"),et=Il($t,"create"),Dt=We&&new We,bt={},Zt=Pl(X),qt=Pl(Y),Ut=Pl(ye),fn=Pl(he),_t=Pl(We),_r=Tr?Tr.prototype:i,Wr=_r?_r.valueOf:i,Ar=_r?_r.toString:i;function z(a){if(n0(a)&&!On(a)&&!(a instanceof nn)){if(a instanceof Qn)return a;if(or.call(a,"__wrapped__"))return Jd(a)}return new Qn(a)}var dr=function(){function a(){}return function(p){if(!Jr(p))return{};if(so)return so(p);a.prototype=p;var E=new a;return a.prototype=i,E}}();function Or(){}function Qn(a,p){this.__wrapped__=a,this.__actions__=[],this.__chain__=!!p,this.__index__=0,this.__values__=i}z.templateSettings={escape:of,evaluate:Ts,interpolate:xs,variable:"",imports:{_:z}},z.prototype=Or.prototype,z.prototype.constructor=z,Qn.prototype=dr(Or.prototype),Qn.prototype.constructor=Qn;function nn(a){this.__wrapped__=a,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=ne,this.__views__=[]}function s0(){var a=new nn(this.__wrapped__);return a.__actions__=Xr(this.__actions__),a.__dir__=this.__dir__,a.__filtered__=this.__filtered__,a.__iteratees__=Xr(this.__iteratees__),a.__takeCount__=this.__takeCount__,a.__views__=Xr(this.__views__),a}function t0(){if(this.__filtered__){var a=new nn(this);a.__dir__=-1,a.__filtered__=!0}else a=this.clone(),a.__dir__*=-1;return a}function g0(){var a=this.__wrapped__.value(),p=this.__dir__,E=On(a),I=p<0,B=E?a.length:0,G=s1(0,B,this.__views__),te=G.start,se=G.end,Ee=se-te,$e=I?se:te-1,Ke=this.__iteratees__,nt=Ke.length,Ct=0,Gt=kn(Ee,this.__takeCount__);if(!E||!I&&B==Ee&&Gt==Ee)return xd(a,this.__actions__);var an=[];e:for(;Ee--&&Ct<Gt;){$e+=p;for(var qn=-1,dn=a[$e];++qn<nt;){var Yn=Ke[qn],er=Yn.iteratee,vo=Yn.type,Pi=er(dn);if(vo==be)dn=Pi;else if(!Pi){if(vo==Ue)continue e;break e}}an[Ct++]=dn}return an}nn.prototype=dr(Or.prototype),nn.prototype.constructor=nn;function Kr(a){var p=-1,E=a==null?0:a.length;for(this.clear();++p<E;){var I=a[p];this.set(I[0],I[1])}}function _0(){this.__data__=et?et(null):{},this.size=0}function Gi(a){var p=this.has(a)&&delete this.__data__[a];return this.size-=p?1:0,p}function fo(a){var p=this.__data__;if(et){var E=p[a];return E===C?i:E}return or.call(p,a)?p[a]:i}function x0(a){var p=this.__data__;return et?p[a]!==i:or.call(p,a)}function Xu(a,p){var E=this.__data__;return this.size+=this.has(a)?0:1,E[a]=et&&p===i?C:p,this}Kr.prototype.clear=_0,Kr.prototype.delete=Gi,Kr.prototype.get=fo,Kr.prototype.has=x0,Kr.prototype.set=Xu;function Z0(a){var p=-1,E=a==null?0:a.length;for(this.clear();++p<E;){var I=a[p];this.set(I[0],I[1])}}function df(){this.__data__=[],this.size=0}function Ba(a){var p=this.__data__,E=hf(p,a);if(E<0)return!1;var I=p.length-1;return E==I?p.pop():C0.call(p,E,1),--this.size,!0}function Oc(a){var p=this.__data__,E=hf(p,a);return E<0?i:p[E][1]}function mu(a){return hf(this.__data__,a)>-1}function Ju(a,p){var E=this.__data__,I=hf(E,a);return I<0?(++this.size,E.push([a,p])):E[I][1]=p,this}Z0.prototype.clear=df,Z0.prototype.delete=Ba,Z0.prototype.get=Oc,Z0.prototype.has=mu,Z0.prototype.set=Ju;function ei(a){var p=-1,E=a==null?0:a.length;for(this.clear();++p<E;){var I=a[p];this.set(I[0],I[1])}}function Yf(){this.size=0,this.__data__={hash:new Kr,map:new(Y||Z0),string:new Kr}}function pf(a){var p=Vc(this,a).delete(a);return this.size-=p?1:0,p}function ja(a){return Vc(this,a).get(a)}function Ua(a){return Vc(this,a).has(a)}function Ic(a,p){var E=Vc(this,a),I=E.size;return E.set(a,p),this.size+=E.size==I?0:1,this}ei.prototype.clear=Yf,ei.prototype.delete=pf,ei.prototype.get=ja,ei.prototype.has=Ua,ei.prototype.set=Ic;function vu(a){var p=-1,E=a==null?0:a.length;for(this.__data__=new ei;++p<E;)this.add(a[p])}function $f(a){return this.__data__.set(a,C),this}function gu(a){return this.__data__.has(a)}vu.prototype.add=vu.prototype.push=$f,vu.prototype.has=gu;function co(a){var p=this.__data__=new Z0(a);this.size=p.size}function qa(){this.__data__=new Z0,this.size=0}function Ws(a){var p=this.__data__,E=p.delete(a);return this.size=p.size,E}function za(a){return this.__data__.get(a)}function Pc(a){return this.__data__.has(a)}function Qu(a,p){var E=this.__data__;if(E instanceof Z0){var I=E.__data__;if(!Y||I.length<f-1)return I.push([a,p]),this.size=++E.size,this;E=this.__data__=new ei(I)}return E.set(a,p),this.size=E.size,this}co.prototype.clear=qa,co.prototype.delete=Ws,co.prototype.get=za,co.prototype.has=Pc,co.prototype.set=Qu;function Mc(a,p){var E=On(a),I=!E&&Ll(a),B=!E&&!I&&Eu(a),G=!E&&!I&&!B&&Df(a),te=E||I||B||G,se=te?ci(a.length,ki):[],Ee=se.length;for(var $e in a)(p||or.call(a,$e))&&!(te&&($e=="length"||B&&($e=="offset"||$e=="parent")||G&&($e=="buffer"||$e=="byteLength"||$e=="byteOffset")||es($e,Ee)))&&se.push($e);return se}function Fc(a){var p=a.length;return p?a[Ga(0,p-1)]:i}function Lc(a,p){return Yc(Xr(a),mi(p,0,a.length))}function Kf(a){return Yc(Xr(a))}function Tl(a,p,E){(E!==i&&!Mo(a[p],E)||E===i&&!(p in a))&&ti(a,p,E)}function xl(a,p,E){var I=a[p];(!(or.call(a,p)&&Mo(I,E))||E===i&&!(p in a))&&ti(a,p,E)}function hf(a,p){for(var E=a.length;E--;)if(Mo(a[E][0],p))return E;return-1}function xo(a,p,E,I){return $o(a,function(B,G,te){p(I,B,E(B),te)}),I}function mf(a,p){return a&&yi(p,q0(p),a)}function Wa(a,p){return a&&yi(p,Yi(p),a)}function ti(a,p,E){p=="__proto__"&&To?To(a,p,{configurable:!0,enumerable:!0,value:E,writable:!0}):a[p]=E}function Hs(a,p){for(var E=-1,I=p.length,B=Ie(I),G=a==null;++E<I;)B[E]=G?i:oc(a,p[E]);return B}function mi(a,p,E){return a===a&&(E!==i&&(a=a<=E?a:E),p!==i&&(a=a>=p?a:p)),a}function vi(a,p,E,I,B,G){var te,se=p&D,Ee=p&L,$e=p&N;if(E&&(te=B?E(a,I,B,G):E(a)),te!==i)return te;if(!Jr(a))return a;var Ke=On(a);if(Ke){if(te=f1(a),!se)return Xr(a,te)}else{var nt=U0(a),Ct=nt==Yt||nt==cr;if(Eu(a))return Od(a,se);if(nt==Bn||nt==at||Ct&&!B){if(te=Ee||Ct?{}:zd(a),!se)return Ee?Zu(a,Wa(te,a)):j0(a,mf(te,a))}else{if(!rr[nt])return B?a:{};te=Wd(a,nt,se)}}G||(G=new co);var Gt=G.get(a);if(Gt)return Gt;G.set(a,te),kp(a)?a.forEach(function(dn){te.add(vi(dn,p,E,dn,a,G))}):Tp(a)&&a.forEach(function(dn,Yn){te.set(Yn,vi(dn,p,E,Yn,a,G))});var an=$e?Ee?Dn:r1:Ee?Yi:q0,qn=Ke?i:an(a);return je(qn||a,function(dn,Yn){qn&&(Yn=dn,dn=a[Yn]),xl(te,Yn,vi(dn,p,E,Yn,a,G))}),te}function Xf(a){var p=q0(a);return function(E){return Rc(E,a,p)}}function Rc(a,p,E){var I=E.length;if(a==null)return!I;for(a=$t(a);I--;){var B=E[I],G=p[B],te=a[B];if(te===i&&!(B in a)||!G(te))return!1}return!0}function Jf(a,p,E){if(typeof a!="function")throw new Yr(g);return wf(function(){a.apply(i,E)},p)}function ao(a,p,E,I){var B=-1,G=xt,te=!0,se=a.length,Ee=[],$e=p.length;if(!se)return Ee;E&&(p=lt(p,qr(E))),I?(G=wt,te=!1):p.length>=f&&(G=So,te=!1,p=new vu(p));e:for(;++B<se;){var Ke=a[B],nt=E==null?Ke:E(Ke);if(Ke=I||Ke!==0?Ke:0,te&&nt===nt){for(var Ct=$e;Ct--;)if(p[Ct]===nt)continue e;Ee.push(Ke)}else G(p,nt,I)||Ee.push(Ke)}return Ee}var $o=_u(S),kl=_u(O,!0);function Nc(a,p){var E=!0;return $o(a,function(I,B,G){return E=!!p(I,B,G),E}),E}function Al(a,p,E){for(var I=-1,B=a.length;++I<B;){var G=a[I],te=p(G);if(te!=null&&(se===i?te===te&&!mo(te):E(te,se)))var se=te,Ee=G}return Ee}function vf(a,p,E,I){var B=a.length;for(E=jn(E),E<0&&(E=-E>B?0:B+E),I=I===i||I>B?B:jn(I),I<0&&(I+=B),I=E>I?0:Ip(I);E<I;)a[E++]=p;return a}function Qf(a,p){var E=[];return $o(a,function(I,B,G){p(I,B,G)&&E.push(I)}),E}function k0(a,p,E,I,B){var G=-1,te=a.length;for(E||(E=Xm),B||(B=[]);++G<te;){var se=a[G];p>0&&E(se)?p>1?k0(se,p-1,E,I,B):Rt(B,se):I||(B[B.length]=se)}return B}var v=ec(),m=ec(!0);function S(a,p){return a&&v(a,p,q0)}function O(a,p){return a&&m(a,p,q0)}function M(a,p){return st(p,function(E){return rs(a[E])})}function b(a,p){p=Gs(p,a);for(var E=0,I=p.length;a!=null&&E<I;)a=a[Xo(p[E++])];return E&&E==I?a:i}function ee(a,p,E){var I=p(a);return On(a)?I:Rt(I,E(a))}function Ye(a){return a==null?a===i?Ds:Mn:v0&&v0 in $t(a)?$m(a):Ys(a)}function Ze(a,p){return a>p}function ut(a,p){return a!=null&&or.call(a,p)}function In(a,p){return a!=null&&p in $t(a)}function A0(a,p,E){return a>=kn(p,E)&&a<wr(p,E)}function jr(a,p,E){for(var I=E?wt:xt,B=a[0].length,G=a.length,te=G,se=Ie(G),Ee=Infinity,$e=[];te--;){var Ke=a[te];te&&p&&(Ke=lt(Ke,qr(p))),Ee=kn(Ke.length,Ee),se[te]=!E&&(p||B>=120&&Ke.length>=120)?new vu(te&&Ke):i}Ke=a[0];var nt=-1,Ct=se[0];e:for(;++nt<B&&$e.length<Ee;){var Gt=Ke[nt],an=p?p(Gt):Gt;if(Gt=E||Gt!==0?Gt:0,!(Ct?So(Ct,an):I($e,an,E))){for(te=G;--te;){var qn=se[te];if(!(qn?So(qn,an):I(a[te],an,E)))continue e}Ct&&Ct.push(an),$e.push(Gt)}}return $e}function gi(a,p,E,I){return S(a,function(B,G,te){p(I,E(B),G,te)}),I}function po(a,p,E){p=Gs(p,a),a=Vd(a,p);var I=a==null?a:a[Xo(Po(p))];return I==null?i:K(I,a,E)}function _i(a){return n0(a)&&Ye(a)==at}function Re(a){return n0(a)&&Ye(a)==iu}function Ce(a){return n0(a)&&Ye(a)==hn}function ze(a,p,E,I,B){return a===p?!0:a==null||p==null||!n0(a)&&!n0(p)?a!==a&&p!==p:Et(a,p,E,I,ze,B)}function Et(a,p,E,I,B,G){var te=On(a),se=On(p),Ee=te?it:U0(a),$e=se?it:U0(p);Ee=Ee==at?Bn:Ee,$e=$e==at?Bn:$e;var Ke=Ee==Bn,nt=$e==Bn,Ct=Ee==$e;if(Ct&&Eu(a)){if(!Eu(p))return!1;te=!0,Ke=!1}if(Ct&&!Ke)return G||(G=new co),te||Df(a)?Ud(a,p,E,I,B,G):Vm(a,p,Ee,E,I,B,G);if(!(E&j)){var Gt=Ke&&or.call(a,"__wrapped__"),an=nt&&or.call(p,"__wrapped__");if(Gt||an){var qn=Gt?a.value():a,dn=an?p.value():p;return G||(G=new co),B(qn,dn,E,I,G)}}return Ct?(G||(G=new co),Ym(a,p,E,I,B,G)):!1}function on(a){return n0(a)&&U0(a)==w}function sr(a,p,E,I){var B=E.length,G=B,te=!I;if(a==null)return!G;for(a=$t(a);B--;){var se=E[B];if(te&&se[2]?se[1]!==a[se[0]]:!(se[0]in a))return!1}for(;++B<G;){se=E[B];var Ee=se[0],$e=a[Ee],Ke=se[1];if(te&&se[2]){if($e===i&&!(Ee in a))return!1}else{var nt=new co;if(I)var Ct=I($e,Ke,Ee,a,p,nt);if(!(Ct===i?ze(Ke,$e,j|$,I,nt):Ct))return!1}}return!0}function mn(a){if(!Jr(a)||Qm(a))return!1;var p=rs(a)?El:Os;return p.test(Pl(a))}function pr(a){return n0(a)&&Ye(a)==gr}function Hr(a){return n0(a)&&U0(a)==r0}function Vn(a){return n0(a)&&na(a.length)&&!!nr[Ye(a)]}function ni(a){return typeof a=="function"?a:a==null?$i:typeof a=="object"?On(a)?ba(a[0],a[1]):gd(a):q1(a)}function Zf(a){if(!nc(a))return lo(a);var p=[];for(var E in $t(a))or.call(a,E)&&E!="constructor"&&p.push(E);return p}function Pm(a){if(!Jr(a))return tv(a);var p=nc(a),E=[];for(var I in a)I=="constructor"&&(p||!or.call(a,I))||E.push(I);return E}function Ha(a,p){return a<p}function vd(a,p){var E=-1,I=Vi(a)?Ie(a.length):[];return $o(a,function(B,G,te){I[++E]=p(B,G,te)}),I}function gd(a){var p=Nn(a);return p.length==1&&p[0][2]?d1(p[0][0],p[0][1]):function(E){return E===a||sr(E,a,p)}}function ba(a,p){return c1(a)&&Hd(p)?d1(Xo(a),p):function(E){var I=oc(E,a);return I===i&&I===p?I1(E,a):ze(p,I,j|$)}}function Bc(a,p,E,I,B){a!==p&&v(p,function(G,te){if(B||(B=new co),Jr(G))Mm(a,p,te,E,Bc,I,B);else{var se=I?I(h1(a,te),G,te+"",a,p,B):i;se===i&&(se=G),Tl(a,te,se)}},Yi)}function Mm(a,p,E,I,B,G,te){var se=h1(a,E),Ee=h1(p,E),$e=te.get(Ee);if($e){Tl(a,E,$e);return}var Ke=G?G(se,Ee,E+"",a,p,te):i,nt=Ke===i;if(nt){var Ct=On(Ee),Gt=!Ct&&Eu(Ee),an=!Ct&&!Gt&&Df(Ee);Ke=Ee,Ct||Gt||an?On(se)?Ke=se:l0(se)?Ke=Xr(se):Gt?(nt=!1,Ke=Od(Ee,!0)):an?(nt=!1,Ke=Id(Ee,!0)):Ke=[]:ic(Ee)||Ll(Ee)?(Ke=se,Ll(se)?Ke=oa(se):(!Jr(se)||rs(se))&&(Ke=zd(Ee))):nt=!1}nt&&(te.set(Ee,Ke),B(Ke,Ee,I,G,te),te.delete(Ee)),Tl(a,E,Ke)}function _d(a,p){var E=a.length;if(!!E)return p+=p<0?E:0,es(p,E)?a[p]:i}function Oi(a,p,E){p.length?p=lt(p,function(G){return On(G)?function(te){return b(te,G.length===1?G[0]:G)}:G}):p=[$i];var I=-1;p=lt(p,qr(cn()));var B=vd(a,function(G,te,se){var Ee=lt(p,function($e){return $e(G)});return{criteria:Ee,index:++I,value:G}});return p0(B,function(G,te){return zm(G,te,E)})}function Fm(a,p){return yd(a,p,function(E,I){return I1(a,I)})}function yd(a,p,E){for(var I=-1,B=p.length,G={};++I<B;){var te=p[I],se=b(a,te);E(se,te)&&Ol(G,Gs(te,a),se)}return G}function ko(a){return function(p){return b(p,a)}}function Ko(a,p,E,I){var B=I?Ne:Qe,G=-1,te=p.length,se=a;for(a===p&&(p=Xr(p)),E&&(se=lt(a,qr(E)));++G<te;)for(var Ee=0,$e=p[G],Ke=E?E($e):$e;(Ee=B(se,Ke,Ee,I))>-1;)se!==a&&C0.call(se,Ee,1),C0.call(a,Ee,1);return a}function jc(a,p){for(var E=a?p.length:0,I=E-1;E--;){var B=p[E];if(E==I||B!==G){var G=B;es(B)?C0.call(a,B,1):$a(a,B)}}return a}function Ga(a,p){return a+hu(Ai()*(p-a+1))}function Lm(a,p,E,I){for(var B=-1,G=wr(B0((p-a)/(E||1)),0),te=Ie(G);G--;)te[I?G:++B]=a,a+=E;return te}function Va(a,p){var E="";if(!a||p<1||p>Nt)return E;do p%2&&(E+=a),p=hu(p/2),p&&(a+=a);while(p);return E}function Wn(a,p){return m1(Gd(a,p,$i),a+"")}function wd(a){return Fc(Ef(a))}function Dd(a,p){var E=Ef(a);return Yc(E,mi(p,0,E.length))}function Ol(a,p,E,I){if(!Jr(a))return a;p=Gs(p,a);for(var B=-1,G=p.length,te=G-1,se=a;se!=null&&++B<G;){var Ee=Xo(p[B]),$e=E;if(Ee==="__proto__"||Ee==="constructor"||Ee==="prototype")return a;if(B!=te){var Ke=se[Ee];$e=I?I(Ke,Ee,se):i,$e===i&&($e=Jr(Ke)?Ke:es(p[B+1])?[]:{})}xl(se,Ee,$e),se=se[Ee]}return a}var Ed=Dt?function(a,p){return Dt.set(a,p),a}:$i,Rm=To?function(a,p){return To(a,"toString",{configurable:!0,enumerable:!1,value:R1(p),writable:!0})}:$i;function Ao(a){return Yc(Ef(a))}function Oo(a,p,E){var I=-1,B=a.length;p<0&&(p=-p>B?0:B+p),E=E>B?B:E,E<0&&(E+=B),B=p>E?0:E-p>>>0,p>>>=0;for(var G=Ie(B);++I<B;)G[I]=a[I+p];return G}function Nm(a,p){var E;return $o(a,function(I,B,G){return E=p(I,B,G),!E}),!!E}function Uc(a,p,E){var I=0,B=a==null?I:a.length;if(typeof p=="number"&&p===p&&B<=Z){for(;I<B;){var G=I+B>>>1,te=a[G];te!==null&&!mo(te)&&(E?te<=p:te<p)?I=G+1:B=G}return B}return Ya(a,p,$i,E)}function Ya(a,p,E,I){var B=0,G=a==null?0:a.length;if(G===0)return 0;p=E(p);for(var te=p!==p,se=p===null,Ee=mo(p),$e=p===i;B<G;){var Ke=hu((B+G)/2),nt=E(a[Ke]),Ct=nt!==i,Gt=nt===null,an=nt===nt,qn=mo(nt);if(te)var dn=I||an;else $e?dn=an&&(I||Ct):se?dn=an&&Ct&&(I||!Gt):Ee?dn=an&&Ct&&!Gt&&(I||!qn):Gt||qn?dn=!1:dn=I?nt<=p:nt<p;dn?B=Ke+1:G=Ke}return kn(G,ge)}function Sd(a,p){for(var E=-1,I=a.length,B=0,G=[];++E<I;){var te=a[E],se=p?p(te):te;if(!E||!Mo(se,Ee)){var Ee=se;G[B++]=te===0?0:te}}return G}function Cd(a){return typeof a=="number"?a:mo(a)?V:+a}function ho(a){if(typeof a=="string")return a;if(On(a))return lt(a,ho)+"";if(mo(a))return Ar?Ar.call(a):"";var p=a+"";return p=="0"&&1/a==-Ot?"-0":p}function bs(a,p,E){var I=-1,B=xt,G=a.length,te=!0,se=[],Ee=se;if(E)te=!1,B=wt;else if(G>=f){var $e=p?null:bm(a);if($e)return Y0($e);te=!1,B=So,Ee=new vu}else Ee=p?[]:se;e:for(;++I<G;){var Ke=a[I],nt=p?p(Ke):Ke;if(Ke=E||Ke!==0?Ke:0,te&&nt===nt){for(var Ct=Ee.length;Ct--;)if(Ee[Ct]===nt)continue e;p&&Ee.push(nt),se.push(Ke)}else B(Ee,nt,E)||(Ee!==se&&Ee.push(nt),se.push(Ke))}return se}function $a(a,p){return p=Gs(p,a),a=Vd(a,p),a==null||delete a[Xo(Po(p))]}function Td(a,p,E,I){return Ol(a,p,E(b(a,p)),I)}function qc(a,p,E,I){for(var B=a.length,G=I?B:-1;(I?G--:++G<B)&&p(a[G],G,a););return E?Oo(a,I?0:G,I?G+1:B):Oo(a,I?G+1:0,I?B:G)}function xd(a,p){var E=a;return E instanceof nn&&(E=E.value()),yn(p,function(I,B){return B.func.apply(B.thisArg,Rt([I],B.args))},E)}function Ka(a,p,E){var I=a.length;if(I<2)return I?bs(a[0]):[];for(var B=-1,G=Ie(I);++B<I;)for(var te=a[B],se=-1;++se<I;)se!=B&&(G[B]=ao(G[B]||te,a[se],p,E));return bs(k0(G,1),p,E)}function kd(a,p,E){for(var I=-1,B=a.length,G=p.length,te={};++I<B;){var se=I<G?p[I]:i;E(te,a[I],se)}return te}function Xa(a){return l0(a)?a:[]}function Ja(a){return typeof a=="function"?a:$i}function Gs(a,p){return On(a)?a:c1(a,p)?[a]:Xd(yr(a))}var Bm=Wn;function Vs(a,p,E){var I=a.length;return E=E===i?I:E,!p&&E>=I?a:Oo(a,p,E)}var Ad=pu||function(a){return Lr.clearTimeout(a)};function Od(a,p){if(p)return a.slice();var E=a.length,I=Nr?Nr(E):new a.constructor(E);return a.copy(I),I}function Qa(a){var p=new a.constructor(a.byteLength);return new R0(p).set(new R0(a)),p}function jm(a,p){var E=p?Qa(a.buffer):a.buffer;return new a.constructor(E,a.byteOffset,a.byteLength)}function Um(a){var p=new a.constructor(a.source,uu.exec(a));return p.lastIndex=a.lastIndex,p}function qm(a){return Wr?$t(Wr.call(a)):{}}function Id(a,p){var E=p?Qa(a.buffer):a.buffer;return new a.constructor(E,a.byteOffset,a.length)}function Pd(a,p){if(a!==p){var E=a!==i,I=a===null,B=a===a,G=mo(a),te=p!==i,se=p===null,Ee=p===p,$e=mo(p);if(!se&&!$e&&!G&&a>p||G&&te&&Ee&&!se&&!$e||I&&te&&Ee||!E&&Ee||!B)return 1;if(!I&&!G&&!$e&&a<p||$e&&E&&B&&!I&&!G||se&&E&&B||!te&&B||!Ee)return-1}return 0}function zm(a,p,E){for(var I=-1,B=a.criteria,G=p.criteria,te=B.length,se=E.length;++I<te;){var Ee=Pd(B[I],G[I]);if(Ee){if(I>=se)return Ee;var $e=E[I];return Ee*($e=="desc"?-1:1)}}return a.index-p.index}function gf(a,p,E,I){for(var B=-1,G=a.length,te=E.length,se=-1,Ee=p.length,$e=wr(G-te,0),Ke=Ie(Ee+$e),nt=!I;++se<Ee;)Ke[se]=p[se];for(;++B<te;)(nt||B<G)&&(Ke[E[B]]=a[B]);for(;$e--;)Ke[se++]=a[B++];return Ke}function Md(a,p,E,I){for(var B=-1,G=a.length,te=-1,se=E.length,Ee=-1,$e=p.length,Ke=wr(G-se,0),nt=Ie(Ke+$e),Ct=!I;++B<Ke;)nt[B]=a[B];for(var Gt=B;++Ee<$e;)nt[Gt+Ee]=p[Ee];for(;++te<se;)(Ct||B<G)&&(nt[Gt+E[te]]=a[B++]);return nt}function Xr(a,p){var E=-1,I=a.length;for(p||(p=Ie(I));++E<I;)p[E]=a[E];return p}function yi(a,p,E,I){var B=!E;E||(E={});for(var G=-1,te=p.length;++G<te;){var se=p[G],Ee=I?I(E[se],a[se],se,E,a):i;Ee===i&&(Ee=a[se]),B?ti(E,se,Ee):xl(E,se,Ee)}return E}function j0(a,p){return yi(a,o1(a),p)}function Zu(a,p){return yi(a,u1(a),p)}function _f(a,p){return function(E,I){var B=On(E)?xe:xo,G=p?p():{};return B(E,a,cn(I,2),G)}}function Io(a){return Wn(function(p,E){var I=-1,B=E.length,G=B>1?E[B-1]:i,te=B>2?E[2]:i;for(G=a.length>3&&typeof G=="function"?(B--,G):i,te&&Ii(E[0],E[1],te)&&(G=B<3?i:G,B=1),p=$t(p);++I<B;){var se=E[I];se&&a(p,se,I,G)}return p})}function _u(a,p){return function(E,I){if(E==null)return E;if(!Vi(E))return a(E,I);for(var B=E.length,G=p?B:-1,te=$t(E);(p?G--:++G<B)&&I(te[G],G,te)!==!1;);return E}}function ec(a){return function(p,E,I){for(var B=-1,G=$t(p),te=I(p),se=te.length;se--;){var Ee=te[a?se:++B];if(E(G[Ee],Ee,G)===!1)break}return p}}function Wm(a,p,E){var I=p&h,B=tc(a);function G(){var te=this&&this!==Lr&&this instanceof G?B:a;return te.apply(I?E:this,arguments)}return G}function Fd(a){return function(p){p=yr(p);var E=Hi(p)?Jn(p):i,I=E?E[0]:p.charAt(0),B=E?Vs(E,1).join(""):p.slice(1);return I[a]()+B}}function yf(a){return function(p){return yn(Yp(Hp(p).replace(Hu,"")),a,"")}}function tc(a){return function(){var p=arguments;switch(p.length){case 0:return new a;case 1:return new a(p[0]);case 2:return new a(p[0],p[1]);case 3:return new a(p[0],p[1],p[2]);case 4:return new a(p[0],p[1],p[2],p[3]);case 5:return new a(p[0],p[1],p[2],p[3],p[4]);case 6:return new a(p[0],p[1],p[2],p[3],p[4],p[5]);case 7:return new a(p[0],p[1],p[2],p[3],p[4],p[5],p[6])}var E=dr(a.prototype),I=a.apply(E,p);return Jr(I)?I:E}}function Hm(a,p,E){var I=tc(a);function B(){for(var G=arguments.length,te=Ie(G),se=G,Ee=An(B);se--;)te[se]=arguments[se];var $e=G<3&&te[0]!==Ee&&te[G-1]!==Ee?[]:L0(te,Ee);if(G-=$e.length,G<E)return ur(a,p,zc,B.placeholder,i,te,$e,i,i,E-G);var Ke=this&&this!==Lr&&this instanceof B?I:a;return K(Ke,this,te)}return B}function Ld(a){return function(p,E,I){var B=$t(p);if(!Vi(p)){var G=cn(E,3);p=q0(p),E=function(se){return G(B[se],se,B)}}var te=a(p,E,I);return te>-1?B[G?p[te]:te]:i}}function Rd(a){return yu(function(p){var E=p.length,I=E,B=Qn.prototype.thru;for(a&&p.reverse();I--;){var G=p[I];if(typeof G!="function")throw new Yr(g);if(B&&!te&&Gc(G)=="wrapper")var te=new Qn([],!0)}for(I=te?I:E;++I<E;){G=p[I];var se=Gc(G),Ee=se=="wrapper"?i1(G):i;Ee&&a1(Ee[0])&&Ee[1]==(De|Q|Se|J)&&!Ee[4].length&&Ee[9]==1?te=te[Gc(Ee[0])].apply(te,Ee[3]):te=G.length==1&&a1(G)?te[se]():te.thru(G)}return function(){var $e=arguments,Ke=$e[0];if(te&&$e.length==1&&On(Ke))return te.plant(Ke).value();for(var nt=0,Ct=E?p[nt].apply(this,$e):Ke;++nt<E;)Ct=p[nt].call(this,Ct);return Ct}})}function zc(a,p,E,I,B,G,te,se,Ee,$e){var Ke=p&De,nt=p&h,Ct=p&re,Gt=p&(Q|oe),an=p&Te,qn=Ct?i:tc(a);function dn(){for(var Yn=arguments.length,er=Ie(Yn),vo=Yn;vo--;)er[vo]=arguments[vo];if(Gt)var Pi=An(dn),Mi=Dl(er,Pi);if(I&&(er=gf(er,I,B,Gt)),G&&(er=Md(er,G,te,Gt)),Yn-=Mi,Gt&&Yn<$e){var f0=L0(er,Pi);return ur(a,p,zc,dn.placeholder,E,er,f0,se,Ee,$e-Yn)}var Jo=nt?E:this,Su=Ct?Jo[a]:a;return Yn=er.length,se?er=p1(er,se):an&&Yn>1&&er.reverse(),Ke&&Ee<Yn&&(er.length=Ee),this&&this!==Lr&&this instanceof dn&&(Su=qn||tc(Su)),Su.apply(Jo,er)}return dn}function Nd(a,p){return function(E,I){return gi(E,a,p(I),{})}}function Wc(a,p){return function(E,I){var B;if(E===i&&I===i)return p;if(E!==i&&(B=E),I!==i){if(B===i)return I;typeof E=="string"||typeof I=="string"?(E=ho(E),I=ho(I)):(E=Cd(E),I=Cd(I)),B=a(E,I)}return B}}function Zn(a){return yu(function(p){return p=lt(p,qr(cn())),Wn(function(E){var I=this;return a(p,function(B){return K(B,I,E)})})})}function Hc(a,p){p=p===i?" ":ho(p);var E=p.length;if(E<2)return E?Va(p,a):p;var I=Va(p,B0(a/Rr(p)));return Hi(p)?Vs(Jn(I),0,a).join(""):I.slice(0,a)}function Za(a,p,E,I){var B=p&h,G=tc(a);function te(){for(var se=-1,Ee=arguments.length,$e=-1,Ke=I.length,nt=Ie(Ke+Ee),Ct=this&&this!==Lr&&this instanceof te?G:a;++$e<Ke;)nt[$e]=I[$e];for(;Ee--;)nt[$e++]=arguments[++se];return K(Ct,B?E:this,nt)}return te}function Bd(a){return function(p,E,I){return I&&typeof I!="number"&&Ii(p,E,I)&&(E=I=i),p=is(p),E===i?(E=p,p=0):E=is(E),I=I===i?p<E?1:-1:is(I),Lm(p,E,I,a)}}function bc(a){return function(p,E){return typeof p=="string"&&typeof E=="string"||(p=Fo(p),E=Fo(E)),a(p,E)}}function ur(a,p,E,I,B,G,te,se,Ee,$e){var Ke=p&Q,nt=Ke?te:i,Ct=Ke?i:te,Gt=Ke?G:i,an=Ke?i:G;p|=Ke?Se:me,p&=~(Ke?me:Se),p&ce||(p&=~(h|re));var qn=[a,p,B,Gt,nt,an,Ct,se,Ee,$e],dn=E.apply(i,qn);return a1(a)&&Yd(dn,qn),dn.placeholder=I,$d(dn,a,p)}function e1(a){var p=Gn[a];return function(E,I){if(E=Fo(E),I=I==null?0:kn(jn(I),292),I&&Br(E)){var B=(yr(E)+"e").split("e"),G=p(B[0]+"e"+(+B[1]+I));return B=(yr(G)+"e").split("e"),+(B[0]+"e"+(+B[1]-I))}return p(E)}}var bm=he&&1/Y0(new he([,-0]))[1]==Ot?function(a){return new he(a)}:U1;function t1(a){return function(p){var E=U0(p);return E==w?Gr(p):E==r0?Co(p):xi(p,a(p))}}function Lt(a,p,E,I,B,G,te,se){var Ee=p&re;if(!Ee&&typeof a!="function")throw new Yr(g);var $e=I?I.length:0;if($e||(p&=~(Se|me),I=B=i),te=te===i?te:wr(jn(te),0),se=se===i?se:jn(se),$e-=B?B.length:0,p&me){var Ke=I,nt=B;I=B=i}var Ct=Ee?i:i1(a),Gt=[a,p,E,I,B,Ke,nt,G,te,se];if(Ct&&ev(Gt,Ct),a=Gt[0],p=Gt[1],E=Gt[2],I=Gt[3],B=Gt[4],se=Gt[9]=Gt[9]===i?Ee?0:a.length:wr(Gt[9]-$e,0),!se&&p&(Q|oe)&&(p&=~(Q|oe)),!p||p==h)var an=Wm(a,p,E);else p==Q||p==oe?an=Hm(a,p,se):(p==Se||p==(h|Se))&&!B.length?an=Za(a,p,E,I):an=zc.apply(i,Gt);var qn=Ct?Ed:Yd;return $d(qn(an,Gt),a,p)}function n1(a,p,E,I){return a===i||Mo(a,Tn[E])&&!or.call(I,E)?p:a}function jd(a,p,E,I,B,G){return Jr(a)&&Jr(p)&&(G.set(p,a),Bc(a,p,i,jd,G),G.delete(p)),a}function Gm(a){return ic(a)?i:a}function Ud(a,p,E,I,B,G){var te=E&j,se=a.length,Ee=p.length;if(se!=Ee&&!(te&&Ee>se))return!1;var $e=G.get(a),Ke=G.get(p);if($e&&Ke)return $e==p&&Ke==a;var nt=-1,Ct=!0,Gt=E&$?new vu:i;for(G.set(a,p),G.set(p,a);++nt<se;){var an=a[nt],qn=p[nt];if(I)var dn=te?I(qn,an,nt,p,a,G):I(an,qn,nt,a,p,G);if(dn!==i){if(dn)continue;Ct=!1;break}if(Gt){if(!ar(p,function(Yn,er){if(!So(Gt,er)&&(an===Yn||B(an,Yn,E,I,G)))return Gt.push(er)})){Ct=!1;break}}else if(!(an===qn||B(an,qn,E,I,G))){Ct=!1;break}}return G.delete(a),G.delete(p),Ct}function Vm(a,p,E,I,B,G,te){switch(E){case ou:if(a.byteLength!=p.byteLength||a.byteOffset!=p.byteOffset)return!1;a=a.buffer,p=p.buffer;case iu:return!(a.byteLength!=p.byteLength||!G(new R0(a),new R0(p)));case jt:case hn:case pt:return Mo(+a,+p);case Jt:return a.name==p.name&&a.message==p.message;case gr:case Ci:return a==p+"";case w:var se=Gr;case r0:var Ee=I&j;if(se||(se=Y0),a.size!=p.size&&!Ee)return!1;var $e=te.get(a);if($e)return $e==p;I|=$,te.set(a,p);var Ke=Ud(se(a),se(p),I,B,G,te);return te.delete(a),Ke;case yo:if(Wr)return Wr.call(a)==Wr.call(p)}return!1}function Ym(a,p,E,I,B,G){var te=E&j,se=r1(a),Ee=se.length,$e=r1(p),Ke=$e.length;if(Ee!=Ke&&!te)return!1;for(var nt=Ee;nt--;){var Ct=se[nt];if(!(te?Ct in p:or.call(p,Ct)))return!1}var Gt=G.get(a),an=G.get(p);if(Gt&&an)return Gt==p&&an==a;var qn=!0;G.set(a,p),G.set(p,a);for(var dn=te;++nt<Ee;){Ct=se[nt];var Yn=a[Ct],er=p[Ct];if(I)var vo=te?I(er,Yn,Ct,p,a,G):I(Yn,er,Ct,a,p,G);if(!(vo===i?Yn===er||B(Yn,er,E,I,G):vo)){qn=!1;break}dn||(dn=Ct=="constructor")}if(qn&&!dn){var Pi=a.constructor,Mi=p.constructor;Pi!=Mi&&"constructor"in a&&"constructor"in p&&!(typeof Pi=="function"&&Pi instanceof Pi&&typeof Mi=="function"&&Mi instanceof Mi)&&(qn=!1)}return G.delete(a),G.delete(p),qn}function yu(a){return m1(Gd(a,i,Zd),a+"")}function r1(a){return ee(a,q0,o1)}function Dn(a){return ee(a,Yi,u1)}var i1=Dt?function(a){return Dt.get(a)}:U1;function Gc(a){for(var p=a.name+"",E=bt[p],I=or.call(bt,p)?E.length:0;I--;){var B=E[I],G=B.func;if(G==null||G==a)return B.name}return p}function An(a){var p=or.call(z,"placeholder")?z:a;return p.placeholder}function cn(){var a=z.iteratee||N1;return a=a===N1?ni:a,arguments.length?a(arguments[0],arguments[1]):a}function Vc(a,p){var E=a.__data__;return Jm(p)?E[typeof p=="string"?"string":"hash"]:E.map}function Nn(a){for(var p=q0(a),E=p.length;E--;){var I=p[E],B=a[I];p[E]=[I,B,Hd(B)]}return p}function Il(a,p){var E=oo(a,p);return mn(E)?E:i}function $m(a){var p=or.call(a,v0),E=a[v0];try{a[v0]=i;var I=!0}catch(G){}var B=J0.call(a);return I&&(p?a[v0]=E:delete a[v0]),B}var o1=Fn?function(a){return a==null?[]:(a=$t(a),st(Fn(a),function(p){return N0.call(a,p)}))}:z1,u1=Fn?function(a){for(var p=[];a;)Rt(p,o1(a)),a=uo(a);return p}:z1,U0=Ye;(X&&U0(new X(new ArrayBuffer(1)))!=ou||Y&&U0(new Y)!=w||ye&&U0(ye.resolve())!=Xn||he&&U0(new he)!=r0||We&&U0(new We)!=Mu)&&(U0=function(a){var p=Ye(a),E=p==Bn?a.constructor:i,I=E?Pl(E):"";if(I)switch(I){case Zt:return ou;case qt:return w;case Ut:return Xn;case fn:return r0;case _t:return Mu}return p});function s1(a,p,E){for(var I=-1,B=E.length;++I<B;){var G=E[I],te=G.size;switch(G.type){case"drop":a+=te;break;case"dropRight":p-=te;break;case"take":p=kn(p,a+te);break;case"takeRight":a=wr(a,p-te);break}}return{start:a,end:p}}function l1(a){var p=a.match(Bt);return p?p[1].split(Lu):[]}function qd(a,p,E){p=Gs(p,a);for(var I=-1,B=p.length,G=!1;++I<B;){var te=Xo(p[I]);if(!(G=a!=null&&E(a,te)))break;a=a[te]}return G||++I!=B?G:(B=a==null?0:a.length,!!B&&na(B)&&es(te,B)&&(On(a)||Ll(a)))}function f1(a){var p=a.length,E=new a.constructor(p);return p&&typeof a[0]=="string"&&or.call(a,"index")&&(E.index=a.index,E.input=a.input),E}function zd(a){return typeof a.constructor=="function"&&!nc(a)?dr(uo(a)):{}}function Wd(a,p,E){var I=a.constructor;switch(p){case iu:return Qa(a);case jt:case hn:return new I(+a);case ou:return jm(a,E);case ol:case ul:case Es:case Uo:case sl:case Ss:case Cs:case Ti:case Fu:return Id(a,E);case w:return new I;case pt:case Ci:return new I(a);case gr:return Um(a);case r0:return new I;case yo:return qm(a)}}function Km(a,p){var E=p.length;if(!E)return a;var I=E-1;return p[I]=(E>1?"& ":"")+p[I],p=p.join(E>2?", ":" "),a.replace(b0,`{
/* [wrapped with `+p+`] */
`)}function Xm(a){return On(a)||Ll(a)||!!(di&&a&&a[di])}function es(a,p){var E=typeof a;return p=p==null?Nt:p,!!p&&(E=="number"||E!="symbol"&&uf.test(a))&&a>-1&&a%1==0&&a<p}function Ii(a,p,E){if(!Jr(E))return!1;var I=typeof p;return(I=="number"?Vi(E)&&es(p,E.length):I=="string"&&p in E)?Mo(E[p],a):!1}function c1(a,p){if(On(a))return!1;var E=typeof a;return E=="number"||E=="symbol"||E=="boolean"||a==null||mo(a)?!0:qi.test(a)||!dl.test(a)||p!=null&&a in $t(p)}function Jm(a){var p=typeof a;return p=="string"||p=="number"||p=="symbol"||p=="boolean"?a!=="__proto__":a===null}function a1(a){var p=Gc(a),E=z[p];if(typeof E!="function"||!(p in nn.prototype))return!1;if(a===E)return!0;var I=i1(E);return!!I&&a===I[0]}function Qm(a){return!!Ku&&Ku in a}var Zm=Yo?rs:W1;function nc(a){var p=a&&a.constructor,E=typeof p=="function"&&p.prototype||Tn;return a===E}function Hd(a){return a===a&&!Jr(a)}function d1(a,p){return function(E){return E==null?!1:E[a]===p&&(p!==i||a in $t(E))}}function bd(a){var p=Qc(a,function(I){return E.size===A&&E.clear(),I}),E=p.cache;return p}function ev(a,p){var E=a[1],I=p[1],B=E|I,G=B<(h|re|De),te=I==De&&E==Q||I==De&&E==J&&a[7].length<=p[8]||I==(De|J)&&p[7].length<=p[8]&&E==Q;if(!(G||te))return a;I&h&&(a[2]=p[2],B|=E&h?0:ce);var se=p[3];if(se){var Ee=a[3];a[3]=Ee?gf(Ee,se,p[4]):se,a[4]=Ee?L0(a[3],x):p[4]}return se=p[5],se&&(Ee=a[5],a[5]=Ee?Md(Ee,se,p[6]):se,a[6]=Ee?L0(a[5],x):p[6]),se=p[7],se&&(a[7]=se),I&De&&(a[8]=a[8]==null?p[8]:kn(a[8],p[8])),a[9]==null&&(a[9]=p[9]),a[0]=p[0],a[1]=B,a}function tv(a){var p=[];if(a!=null)for(var E in $t(a))p.push(E);return p}function Ys(a){return J0.call(a)}function Gd(a,p,E){return p=wr(p===i?a.length-1:p,0),function(){for(var I=arguments,B=-1,G=wr(I.length-p,0),te=Ie(G);++B<G;)te[B]=I[p+B];B=-1;for(var se=Ie(p+1);++B<p;)se[B]=I[B];return se[p]=E(te),K(a,this,se)}}function Vd(a,p){return p.length<2?a:b(a,Oo(p,0,-1))}function p1(a,p){for(var E=a.length,I=kn(p.length,E),B=Xr(a);I--;){var G=p[I];a[I]=es(G,E)?B[G]:i}return a}function h1(a,p){if(!(p==="constructor"&&typeof a[p]=="function")&&p!="__proto__")return a[p]}var Yd=Kd(Ed),wf=Cl||function(a,p){return Lr.setTimeout(a,p)},m1=Kd(Rm);function $d(a,p,E){var I=p+"";return m1(a,Km(I,nv(l1(I),E)))}function Kd(a){var p=0,E=0;return function(){var I=T0(),B=ct-(I-E);if(E=I,B>0){if(++p>=ot)return arguments[0]}else p=0;return a.apply(i,arguments)}}function Yc(a,p){var E=-1,I=a.length,B=I-1;for(p=p===i?I:p;++E<p;){var G=Ga(E,B),te=a[G];a[G]=a[E],a[E]=te}return a.length=p,a}var Xd=bd(function(a){var p=[];return a.charCodeAt(0)===46&&p.push(""),a.replace(qo,function(E,I,B,G){p.push(B?G.replace(ks,"$1"):I||E)}),p});function Xo(a){if(typeof a=="string"||mo(a))return a;var p=a+"";return p=="0"&&1/a==-Ot?"-0":p}function Pl(a){if(a!=null){try{return bi.call(a)}catch(p){}try{return a+""}catch(p){}}return""}function nv(a,p){return je(Ae,function(E){var I="_."+E[0];p&E[1]&&!xt(a,I)&&a.push(I)}),a.sort()}function Jd(a){if(a instanceof nn)return a.clone();var p=new Qn(a.__wrapped__,a.__chain__);return p.__actions__=Xr(a.__actions__),p.__index__=a.__index__,p.__values__=a.__values__,p}function rv(a,p,E){(E?Ii(a,p,E):p===i)?p=1:p=wr(jn(p),0);var I=a==null?0:a.length;if(!I||p<1)return[];for(var B=0,G=0,te=Ie(B0(I/p));B<I;)te[G++]=Oo(a,B,B+=p);return te}function iv(a){for(var p=-1,E=a==null?0:a.length,I=0,B=[];++p<E;){var G=a[p];G&&(B[I++]=G)}return B}function ov(){var a=arguments.length;if(!a)return[];for(var p=Ie(a-1),E=arguments[0],I=a;I--;)p[I-1]=arguments[I];return Rt(On(E)?Xr(E):[E],k0(p,1))}var uv=Wn(function(a,p){return l0(a)?ao(a,k0(p,1,l0,!0)):[]}),wu=Wn(function(a,p){var E=Po(p);return l0(E)&&(E=i),l0(a)?ao(a,k0(p,1,l0,!0),cn(E,2)):[]}),Du=Wn(function(a,p){var E=Po(p);return l0(E)&&(E=i),l0(a)?ao(a,k0(p,1,l0,!0),i,E):[]});function ts(a,p,E){var I=a==null?0:a.length;return I?(p=E||p===i?1:jn(p),Oo(a,p<0?0:p,I)):[]}function ns(a,p,E){var I=a==null?0:a.length;return I?(p=E||p===i?1:jn(p),p=I-p,Oo(a,0,p<0?0:p)):[]}function sv(a,p){return a&&a.length?qc(a,cn(p,3),!0,!0):[]}function lv(a,p){return a&&a.length?qc(a,cn(p,3),!0):[]}function fv(a,p,E,I){var B=a==null?0:a.length;return B?(E&&typeof E!="number"&&Ii(a,p,E)&&(E=0,I=B),vf(a,p,E,I)):[]}function Qd(a,p,E){var I=a==null?0:a.length;if(!I)return-1;var B=E==null?0:jn(E);return B<0&&(B=wr(I+B,0)),He(a,cn(p,3),B)}function $c(a,p,E){var I=a==null?0:a.length;if(!I)return-1;var B=I-1;return E!==i&&(B=jn(E),B=E<0?wr(I+B,0):kn(B,I-1)),He(a,cn(p,3),B,!0)}function Zd(a){var p=a==null?0:a.length;return p?k0(a,1):[]}function cv(a){var p=a==null?0:a.length;return p?k0(a,Ot):[]}function ep(a,p){var E=a==null?0:a.length;return E?(p=p===i?1:jn(p),k0(a,p)):[]}function av(a){for(var p=-1,E=a==null?0:a.length,I={};++p<E;){var B=a[p];I[B[0]]=B[1]}return I}function tp(a){return a&&a.length?a[0]:i}function dv(a,p,E){var I=a==null?0:a.length;if(!I)return-1;var B=E==null?0:jn(E);return B<0&&(B=wr(I+B,0)),Qe(a,p,B)}function pv(a){var p=a==null?0:a.length;return p?Oo(a,0,-1):[]}var hv=Wn(function(a){var p=lt(a,Xa);return p.length&&p[0]===a[0]?jr(p):[]}),np=Wn(function(a){var p=Po(a),E=lt(a,Xa);return p===Po(E)?p=i:E.pop(),E.length&&E[0]===a[0]?jr(E,cn(p,2)):[]}),mv=Wn(function(a){var p=Po(a),E=lt(a,Xa);return p=typeof p=="function"?p:i,p&&E.pop(),E.length&&E[0]===a[0]?jr(E,i,p):[]});function vv(a,p){return a==null?"":zr.call(a,p)}function Po(a){var p=a==null?0:a.length;return p?a[p-1]:i}function gv(a,p,E){var I=a==null?0:a.length;if(!I)return-1;var B=I;return E!==i&&(B=jn(E),B=B<0?wr(I+B,0):kn(B,I-1)),p===p?Vo(a,p,B):He(a,ft,B,!0)}function _v(a,p){return a&&a.length?_d(a,jn(p)):i}var yv=Wn(rp);function rp(a,p){return a&&a.length&&p&&p.length?Ko(a,p):a}function ip(a,p,E){return a&&a.length&&p&&p.length?Ko(a,p,cn(E,2)):a}function wv(a,p,E){return a&&a.length&&p&&p.length?Ko(a,p,i,E):a}var Dv=yu(function(a,p){var E=a==null?0:a.length,I=Hs(a,p);return jc(a,lt(p,function(B){return es(B,E)?+B:B}).sort(Pd)),I});function v1(a,p){var E=[];if(!(a&&a.length))return E;var I=-1,B=[],G=a.length;for(p=cn(p,3);++I<G;){var te=a[I];p(te,I,a)&&(E.push(te),B.push(I))}return jc(a,B),E}function g1(a){return a==null?a:Kt.call(a)}function Ev(a,p,E){var I=a==null?0:a.length;return I?(E&&typeof E!="number"&&Ii(a,p,E)?(p=0,E=I):(p=p==null?0:jn(p),E=E===i?I:jn(E)),Oo(a,p,E)):[]}function op(a,p){return Uc(a,p)}function Sv(a,p,E){return Ya(a,p,cn(E,2))}function Cv(a,p){var E=a==null?0:a.length;if(E){var I=Uc(a,p);if(I<E&&Mo(a[I],p))return I}return-1}function Tv(a,p){return Uc(a,p,!0)}function xv(a,p,E){return Ya(a,p,cn(E,2),!0)}function kv(a,p){var E=a==null?0:a.length;if(E){var I=Uc(a,p,!0)-1;if(Mo(a[I],p))return I}return-1}function up(a){return a&&a.length?Sd(a):[]}function Av(a,p){return a&&a.length?Sd(a,cn(p,2)):[]}function Ov(a){var p=a==null?0:a.length;return p?Oo(a,1,p):[]}function Iv(a,p,E){return a&&a.length?(p=E||p===i?1:jn(p),Oo(a,0,p<0?0:p)):[]}function Pv(a,p,E){var I=a==null?0:a.length;return I?(p=E||p===i?1:jn(p),p=I-p,Oo(a,p<0?0:p,I)):[]}function Mv(a,p){return a&&a.length?qc(a,cn(p,3),!1,!0):[]}function Fv(a,p){return a&&a.length?qc(a,cn(p,3)):[]}var Lv=Wn(function(a){return bs(k0(a,1,l0,!0))}),$s=Wn(function(a){var p=Po(a);return l0(p)&&(p=i),bs(k0(a,1,l0,!0),cn(p,2))}),Ks=Wn(function(a){var p=Po(a);return p=typeof p=="function"?p:i,bs(k0(a,1,l0,!0),i,p)});function Xs(a){return a&&a.length?bs(a):[]}function Rv(a,p){return a&&a.length?bs(a,cn(p,2)):[]}function _1(a,p){return p=typeof p=="function"?p:i,a&&a.length?bs(a,i,p):[]}function y1(a){if(!(a&&a.length))return[];var p=0;return a=st(a,function(E){if(l0(E))return p=wr(E.length,p),!0}),ci(p,function(E){return lt(a,Qt(E))})}function sp(a,p){if(!(a&&a.length))return[];var E=y1(a);return p==null?E:lt(E,function(I){return K(p,i,I)})}var w1=Wn(function(a,p){return l0(a)?ao(a,p):[]}),Nv=Wn(function(a){return Ka(st(a,l0))}),Bv=Wn(function(a){var p=Po(a);return l0(p)&&(p=i),Ka(st(a,l0),cn(p,2))}),lp=Wn(function(a){var p=Po(a);return p=typeof p=="function"?p:i,Ka(st(a,l0),i,p)}),jv=Wn(y1);function Uv(a,p){return kd(a||[],p||[],xl)}function qv(a,p){return kd(a||[],p||[],Ol)}var zv=Wn(function(a){var p=a.length,E=p>1?a[p-1]:i;return E=typeof E=="function"?(a.pop(),E):i,sp(a,E)});function fp(a){var p=z(a);return p.__chain__=!0,p}function cp(a,p){return p(a),a}function Kc(a,p){return p(a)}var Wv=yu(function(a){var p=a.length,E=p?a[0]:0,I=this.__wrapped__,B=function(G){return Hs(G,a)};return p>1||this.__actions__.length||!(I instanceof nn)||!es(E)?this.thru(B):(I=I.slice(E,+E+(p?1:0)),I.__actions__.push({func:Kc,args:[B],thisArg:i}),new Qn(I,this.__chain__).thru(function(G){return p&&!G.length&&G.push(i),G}))});function Hv(){return fp(this)}function bv(){return new Qn(this.value(),this.__chain__)}function Gv(){this.__values__===i&&(this.__values__=Op(this.value()));var a=this.__index__>=this.__values__.length,p=a?i:this.__values__[this.__index__++];return{done:a,value:p}}function Vv(){return this}function Yv(a){for(var p,E=this;E instanceof Or;){var I=Jd(E);I.__index__=0,I.__values__=i,p?B.__wrapped__=I:p=I;var B=I;E=E.__wrapped__}return B.__wrapped__=a,p}function Ml(){var a=this.__wrapped__;if(a instanceof nn){var p=a;return this.__actions__.length&&(p=new nn(this)),p=p.reverse(),p.__actions__.push({func:Kc,args:[g1],thisArg:i}),new Qn(p,this.__chain__)}return this.thru(g1)}function Fl(){return xd(this.__wrapped__,this.__actions__)}var Xc=_f(function(a,p,E){or.call(a,E)?++a[E]:ti(a,E,1)});function $v(a,p,E){var I=On(a)?rt:Nc;return E&&Ii(a,p,E)&&(p=i),I(a,cn(p,3))}function Kv(a,p){var E=On(a)?st:Qf;return E(a,cn(p,3))}var Xv=Ld(Qd),D1=Ld($c);function Jv(a,p){return k0(Jc(a,p),1)}function Qv(a,p){return k0(Jc(a,p),Ot)}function ap(a,p,E){return E=E===i?1:jn(E),k0(Jc(a,p),E)}function dp(a,p){var E=On(a)?je:$o;return E(a,cn(p,3))}function pp(a,p){var E=On(a)?Xe:kl;return E(a,cn(p,3))}var Zv=_f(function(a,p,E){or.call(a,E)?a[E].push(p):ti(a,E,[p])});function eg(a,p,E,I){a=Vi(a)?a:Ef(a),E=E&&!I?jn(E):0;var B=a.length;return E<0&&(E=wr(B+E,0)),ia(a)?E<=B&&a.indexOf(p,E)>-1:!!B&&Qe(a,p,E)>-1}var tg=Wn(function(a,p,E){var I=-1,B=typeof p=="function",G=Vi(a)?Ie(a.length):[];return $o(a,function(te){G[++I]=B?K(p,te,E):po(te,p,E)}),G}),hp=_f(function(a,p,E){ti(a,E,p)});function Jc(a,p){var E=On(a)?lt:vd;return E(a,cn(p,3))}function ng(a,p,E,I){return a==null?[]:(On(p)||(p=p==null?[]:[p]),E=I?i:E,On(E)||(E=E==null?[]:[E]),Oi(a,p,E))}var rg=_f(function(a,p,E){a[E?0:1].push(p)},function(){return[[],[]]});function mp(a,p,E){var I=On(a)?yn:bn,B=arguments.length<3;return I(a,cn(p,4),E,B,$o)}function ig(a,p,E){var I=On(a)?sn:bn,B=arguments.length<3;return I(a,cn(p,4),E,B,kl)}function og(a,p){var E=On(a)?st:Qf;return E(a,Zc(cn(p,3)))}function ug(a){var p=On(a)?Fc:wd;return p(a)}function sg(a,p,E){(E?Ii(a,p,E):p===i)?p=1:p=jn(p);var I=On(a)?Lc:Dd;return I(a,p)}function lg(a){var p=On(a)?Kf:Ao;return p(a)}function E1(a){if(a==null)return 0;if(Vi(a))return ia(a)?Rr(a):a.length;var p=U0(a);return p==w||p==r0?a.size:Zf(a).length}function fg(a,p,E){var I=On(a)?ar:Nm;return E&&Ii(a,p,E)&&(p=i),I(a,cn(p,3))}var cg=Wn(function(a,p){if(a==null)return[];var E=p.length;return E>1&&Ii(a,p[0],p[1])?p=[]:E>2&&Ii(p[0],p[1],p[2])&&(p=[p[0]]),Oi(a,k0(p,1),[])}),rc=Sl||function(){return Lr.Date.now()};function ag(a,p){if(typeof p!="function")throw new Yr(g);return a=jn(a),function(){if(--a<1)return p.apply(this,arguments)}}function vp(a,p,E){return p=E?i:p,p=a&&p==null?a.length:p,Lt(a,De,i,i,i,i,p)}function gp(a,p){var E;if(typeof p!="function")throw new Yr(g);return a=jn(a),function(){return--a>0&&(E=p.apply(this,arguments)),a<=1&&(p=i),E}}var S1=Wn(function(a,p,E){var I=h;if(E.length){var B=L0(E,An(S1));I|=Se}return Lt(a,I,p,E,B)}),_p=Wn(function(a,p,E){var I=h|re;if(E.length){var B=L0(E,An(_p));I|=Se}return Lt(p,I,a,E,B)});function C1(a,p,E){p=E?i:p;var I=Lt(a,Q,i,i,i,i,i,p);return I.placeholder=C1.placeholder,I}function yp(a,p,E){p=E?i:p;var I=Lt(a,oe,i,i,i,i,i,p);return I.placeholder=yp.placeholder,I}function wp(a,p,E){var I,B,G,te,se,Ee,$e=0,Ke=!1,nt=!1,Ct=!0;if(typeof a!="function")throw new Yr(g);p=Fo(p)||0,Jr(E)&&(Ke=!!E.leading,nt="maxWait"in E,G=nt?wr(Fo(E.maxWait)||0,p):G,Ct="trailing"in E?!!E.trailing:Ct);function Gt(f0){var Jo=I,Su=B;return I=B=i,$e=f0,te=a.apply(Su,Jo),te}function an(f0){return $e=f0,se=wf(Yn,p),Ke?Gt(f0):te}function qn(f0){var Jo=f0-Ee,Su=f0-$e,Zp=p-Jo;return nt?kn(Zp,G-Su):Zp}function dn(f0){var Jo=f0-Ee,Su=f0-$e;return Ee===i||Jo>=p||Jo<0||nt&&Su>=G}function Yn(){var f0=rc();if(dn(f0))return er(f0);se=wf(Yn,qn(f0))}function er(f0){return se=i,Ct&&I?Gt(f0):(I=B=i,te)}function vo(){se!==i&&Ad(se),$e=0,I=Ee=B=se=i}function Pi(){return se===i?te:er(rc())}function Mi(){var f0=rc(),Jo=dn(f0);if(I=arguments,B=this,Ee=f0,Jo){if(se===i)return an(Ee);if(nt)return Ad(se),se=wf(Yn,p),Gt(Ee)}return se===i&&(se=wf(Yn,p)),te}return Mi.cancel=vo,Mi.flush=Pi,Mi}var dg=Wn(function(a,p){return Jf(a,1,p)}),Dp=Wn(function(a,p,E){return Jf(a,Fo(p)||0,E)});function pg(a){return Lt(a,Te)}function Qc(a,p){if(typeof a!="function"||p!=null&&typeof p!="function")throw new Yr(g);var E=function(){var I=arguments,B=p?p.apply(this,I):I[0],G=E.cache;if(G.has(B))return G.get(B);var te=a.apply(this,I);return E.cache=G.set(B,te)||G,te};return E.cache=new(Qc.Cache||ei),E}Qc.Cache=ei;function Zc(a){if(typeof a!="function")throw new Yr(g);return function(){var p=arguments;switch(p.length){case 0:return!a.call(this);case 1:return!a.call(this,p[0]);case 2:return!a.call(this,p[0],p[1]);case 3:return!a.call(this,p[0],p[1],p[2])}return!a.apply(this,p)}}function ea(a){return gp(2,a)}var hg=Bm(function(a,p){p=p.length==1&&On(p[0])?lt(p[0],qr(cn())):lt(k0(p,1),qr(cn()));var E=p.length;return Wn(function(I){for(var B=-1,G=kn(I.length,E);++B<G;)I[B]=p[B].call(this,I[B]);return K(a,this,I)})}),T1=Wn(function(a,p){var E=L0(p,An(T1));return Lt(a,Se,i,p,E)}),ta=Wn(function(a,p){var E=L0(p,An(ta));return Lt(a,me,i,p,E)}),mg=yu(function(a,p){return Lt(a,J,i,i,i,p)});function vg(a,p){if(typeof a!="function")throw new Yr(g);return p=p===i?p:jn(p),Wn(a,p)}function Ep(a,p){if(typeof a!="function")throw new Yr(g);return p=p==null?0:wr(jn(p),0),Wn(function(E){var I=E[p],B=Vs(E,0,p);return I&&Rt(B,I),K(a,this,B)})}function gg(a,p,E){var I=!0,B=!0;if(typeof a!="function")throw new Yr(g);return Jr(E)&&(I="leading"in E?!!E.leading:I,B="trailing"in E?!!E.trailing:B),wp(a,p,{leading:I,maxWait:p,trailing:B})}function _g(a){return vp(a,1)}function yg(a,p){return T1(Ja(p),a)}function wg(){if(!arguments.length)return[];var a=arguments[0];return On(a)?a:[a]}function Dg(a){return vi(a,N)}function Sp(a,p){return p=typeof p=="function"?p:i,vi(a,N,p)}function Eg(a){return vi(a,D|N)}function Sg(a,p){return p=typeof p=="function"?p:i,vi(a,D|N,p)}function Cg(a,p){return p==null||Rc(a,p,q0(p))}function Mo(a,p){return a===p||a!==a&&p!==p}var Tg=bc(Ze),xg=bc(function(a,p){return a>=p}),Ll=_i(function(){return arguments}())?_i:function(a){return n0(a)&&or.call(a,"callee")&&!N0.call(a,"callee")},On=Ie.isArray,x1=ue?qr(ue):Re;function Vi(a){return a!=null&&na(a.length)&&!rs(a)}function l0(a){return n0(a)&&Vi(a)}function kg(a){return a===!0||a===!1||n0(a)&&Ye(a)==jt}var Eu=pi||W1,Ag=de?qr(de):Ce;function Og(a){return n0(a)&&a.nodeType===1&&!ic(a)}function Cp(a){if(a==null)return!0;if(Vi(a)&&(On(a)||typeof a=="string"||typeof a.splice=="function"||Eu(a)||Df(a)||Ll(a)))return!a.length;var p=U0(a);if(p==w||p==r0)return!a.size;if(nc(a))return!Zf(a).length;for(var E in a)if(or.call(a,E))return!1;return!0}function Ig(a,p){return ze(a,p)}function Pg(a,p,E){E=typeof E=="function"?E:i;var I=E?E(a,p):i;return I===i?ze(a,p,i,E):!!I}function k1(a){if(!n0(a))return!1;var p=Ye(a);return p==Jt||p==Un||typeof a.message=="string"&&typeof a.name=="string"&&!ic(a)}function Mg(a){return typeof a=="number"&&Br(a)}function rs(a){if(!Jr(a))return!1;var p=Ye(a);return p==Yt||p==cr||p==Ft||p==vr}function A1(a){return typeof a=="number"&&a==jn(a)}function na(a){return typeof a=="number"&&a>-1&&a%1==0&&a<=Nt}function Jr(a){var p=typeof a;return a!=null&&(p=="object"||p=="function")}function n0(a){return a!=null&&typeof a=="object"}var Tp=W?qr(W):on;function Fg(a,p){return a===p||sr(a,p,Nn(p))}function Lg(a,p,E){return E=typeof E=="function"?E:i,sr(a,p,Nn(p),E)}function Rg(a){return xp(a)&&a!=+a}function Ng(a){if(Zm(a))throw new mt(c);return mn(a)}function Bg(a){return a===null}function O1(a){return a==null}function xp(a){return typeof a=="number"||n0(a)&&Ye(a)==pt}function ic(a){if(!n0(a)||Ye(a)!=Bn)return!1;var p=uo(a);if(p===null)return!0;var E=or.call(p,"constructor")&&p.constructor;return typeof E=="function"&&E instanceof E&&bi.call(E)==af}var ra=ve?qr(ve):pr;function jg(a){return A1(a)&&a>=-Nt&&a<=Nt}var kp=Fe?qr(Fe):Hr;function ia(a){return typeof a=="string"||!On(a)&&n0(a)&&Ye(a)==Ci}function mo(a){return typeof a=="symbol"||n0(a)&&Ye(a)==yo}var Df=Ge?qr(Ge):Vn;function Ap(a){return a===i}function Ug(a){return n0(a)&&U0(a)==Mu}function qg(a){return n0(a)&&Ye(a)==Gf}var zg=bc(Ha),Wg=bc(function(a,p){return a<=p});function Op(a){if(!a)return[];if(Vi(a))return ia(a)?Jn(a):Xr(a);if(u0&&a[u0])return F0(a[u0]());var p=U0(a),E=p==w?Gr:p==r0?Y0:Ef;return E(a)}function is(a){if(!a)return a===0?a:0;if(a=Fo(a),a===Ot||a===-Ot){var p=a<0?-1:1;return p*Je}return a===a?a:0}function jn(a){var p=is(a),E=p%1;return p===p?E?p-E:p:0}function Ip(a){return a?mi(jn(a),0,ne):0}function Fo(a){if(typeof a=="number")return a;if(mo(a))return V;if(Jr(a)){var p=typeof a.valueOf=="function"?a.valueOf():a;a=Jr(p)?p+"":p}if(typeof a!="string")return a===0?a:+a;a=E0(a);var E=zo.test(a);return E||Is.test(a)?Vu(a.slice(2),E?2:8):wo.test(a)?V:+a}function oa(a){return yi(a,Yi(a))}function Hg(a){return a?mi(jn(a),-Nt,Nt):a===0?a:0}function yr(a){return a==null?"":ho(a)}var Pp=Io(function(a,p){if(nc(p)||Vi(p)){yi(p,q0(p),a);return}for(var E in p)or.call(p,E)&&xl(a,E,p[E])}),Mp=Io(function(a,p){yi(p,Yi(p),a)}),ua=Io(function(a,p,E,I){yi(p,Yi(p),a,I)}),bg=Io(function(a,p,E,I){yi(p,q0(p),a,I)}),Gg=yu(Hs);function Vg(a,p){var E=dr(a);return p==null?E:mf(E,p)}var Fp=Wn(function(a,p){a=$t(a);var E=-1,I=p.length,B=I>2?p[2]:i;for(B&&Ii(p[0],p[1],B)&&(I=1);++E<I;)for(var G=p[E],te=Yi(G),se=-1,Ee=te.length;++se<Ee;){var $e=te[se],Ke=a[$e];(Ke===i||Mo(Ke,Tn[$e])&&!or.call(a,$e))&&(a[$e]=G[$e])}return a}),Yg=Wn(function(a){return a.push(i,jd),K(Np,i,a)});function $g(a,p){return Cr(a,cn(p,3),S)}function Kg(a,p){return Cr(a,cn(p,3),O)}function Xg(a,p){return a==null?a:v(a,cn(p,3),Yi)}function Jg(a,p){return a==null?a:m(a,cn(p,3),Yi)}function Qg(a,p){return a&&S(a,cn(p,3))}function Zg(a,p){return a&&O(a,cn(p,3))}function e_(a){return a==null?[]:M(a,q0(a))}function t_(a){return a==null?[]:M(a,Yi(a))}function oc(a,p,E){var I=a==null?i:b(a,p);return I===i?E:I}function n_(a,p){return a!=null&&qd(a,p,ut)}function I1(a,p){return a!=null&&qd(a,p,In)}var Lp=Nd(function(a,p,E){p!=null&&typeof p.toString!="function"&&(p=J0.call(p)),a[p]=E},R1($i)),r_=Nd(function(a,p,E){p!=null&&typeof p.toString!="function"&&(p=J0.call(p)),or.call(a,p)?a[p].push(E):a[p]=[E]},cn),i_=Wn(po);function q0(a){return Vi(a)?Mc(a):Zf(a)}function Yi(a){return Vi(a)?Mc(a,!0):Pm(a)}function o_(a,p){var E={};return p=cn(p,3),S(a,function(I,B,G){ti(E,p(I,B,G),I)}),E}function Rp(a,p){var E={};return p=cn(p,3),S(a,function(I,B,G){ti(E,B,p(I,B,G))}),E}var u_=Io(function(a,p,E){Bc(a,p,E)}),Np=Io(function(a,p,E,I){Bc(a,p,E,I)}),s_=yu(function(a,p){var E={};if(a==null)return E;var I=!1;p=lt(p,function(G){return G=Gs(G,a),I||(I=G.length>1),G}),yi(a,Dn(a),E),I&&(E=vi(E,D|L|N,Gm));for(var B=p.length;B--;)$a(E,p[B]);return E});function l_(a,p){return Bp(a,Zc(cn(p)))}var f_=yu(function(a,p){return a==null?{}:Fm(a,p)});function Bp(a,p){if(a==null)return{};var E=lt(Dn(a),function(I){return[I]});return p=cn(p),yd(a,E,function(I,B){return p(I,B[0])})}function c_(a,p,E){p=Gs(p,a);var I=-1,B=p.length;for(B||(B=1,a=i);++I<B;){var G=a==null?i:a[Xo(p[I])];G===i&&(I=B,G=E),a=rs(G)?G.call(a):G}return a}function jp(a,p,E){return a==null?a:Ol(a,p,E)}function Up(a,p,E,I){return I=typeof I=="function"?I:i,a==null?a:Ol(a,p,E,I)}var qp=t1(q0),zp=t1(Yi);function P1(a,p,E){var I=On(a),B=I||Eu(a)||Df(a);if(p=cn(p,4),E==null){var G=a&&a.constructor;B?E=I?new G:[]:Jr(a)?E=rs(G)?dr(uo(a)):{}:E={}}return(B?je:S)(a,function(te,se,Ee){return p(E,te,se,Ee)}),E}function a_(a,p){return a==null?!0:$a(a,p)}function d_(a,p,E){return a==null?a:Td(a,p,Ja(E))}function p_(a,p,E,I){return I=typeof I=="function"?I:i,a==null?a:Td(a,p,Ja(E),I)}function Ef(a){return a==null?[]:Eo(a,q0(a))}function h_(a){return a==null?[]:Eo(a,Yi(a))}function m_(a,p,E){return E===i&&(E=p,p=i),E!==i&&(E=Fo(E),E=E===E?E:0),p!==i&&(p=Fo(p),p=p===p?p:0),mi(Fo(a),p,E)}function v_(a,p,E){return p=is(p),E===i?(E=p,p=0):E=is(E),a=Fo(a),A0(a,p,E)}function g_(a,p,E){if(E&&typeof E!="boolean"&&Ii(a,p,E)&&(p=E=i),E===i&&(typeof p=="boolean"?(E=p,p=i):typeof a=="boolean"&&(E=a,a=i)),a===i&&p===i?(a=0,p=1):(a=is(a),p===i?(p=a,a=0):p=is(p)),a>p){var I=a;a=p,p=I}if(E||a%1||p%1){var B=Ai();return kn(a+B*(p-a+Bs("1e-"+((B+"").length-1))),p)}return Ga(a,p)}var __=yf(function(a,p,E){return p=p.toLowerCase(),a+(E?Wp(p):p)});function Wp(a){return L1(yr(a).toLowerCase())}function Hp(a){return a=yr(a),a&&a.replace(_n,du).replace(V0,"")}function y_(a,p,E){a=yr(a),p=ho(p);var I=a.length;E=E===i?I:mi(jn(E),0,I);var B=E;return E-=p.length,E>=0&&a.slice(E,B)==p}function M1(a){return a=yr(a),a&&Ac.test(a)?a.replace(Ui,Yu):a}function w_(a){return a=yr(a),a&&Fr.test(a)?a.replace(kr,"\\$&"):a}var D_=yf(function(a,p,E){return a+(E?"-":"")+p.toLowerCase()}),bp=yf(function(a,p,E){return a+(E?" ":"")+p.toLowerCase()}),E_=Fd("toLowerCase");function S_(a,p,E){a=yr(a),p=jn(p);var I=p?Rr(a):0;if(!p||I>=p)return a;var B=(p-I)/2;return Hc(hu(B),E)+a+Hc(B0(B),E)}function C_(a,p,E){a=yr(a),p=jn(p);var I=p?Rr(a):0;return p&&I<p?a+Hc(p-I,E):a}function T_(a,p,E){a=yr(a),p=jn(p);var I=p?Rr(a):0;return p&&I<p?Hc(p-I,E)+a:a}function x_(a,p,E){return E||p==null?p=0:p&&(p=+p),hi(yr(a).replace(si,""),p||0)}function Gp(a,p,E){return(E?Ii(a,p,E):p===i)?p=1:p=jn(p),Va(yr(a),p)}function k_(){var a=arguments,p=yr(a[0]);return a.length<3?p:p.replace(a[1],a[2])}var A_=yf(function(a,p,E){return a+(E?"_":"")+p.toLowerCase()});function O_(a,p,E){return E&&typeof E!="number"&&Ii(a,p,E)&&(p=E=i),E=E===i?ne:E>>>0,E?(a=yr(a),a&&(typeof p=="string"||p!=null&&!ra(p))&&(p=ho(p),!p&&Hi(a))?Vs(Jn(a),0,E):a.split(p,E)):[]}var I_=yf(function(a,p,E){return a+(E?" ":"")+L1(p)});function P_(a,p,E){return a=yr(a),E=E==null?0:mi(jn(E),0,a.length),p=ho(p),a.slice(E,E+p.length)==p}function M_(a,p,E){var I=z.templateSettings;E&&Ii(a,p,E)&&(p=i),a=yr(a),p=ua({},p,I,n1);var B=ua({},p.imports,I.imports,n1),G=q0(B),te=Eo(B,G),se,Ee,$e=0,Ke=p.interpolate||Nu,nt="__p += '",Ct=X0((p.escape||Nu).source+"|"+Ke.source+"|"+(Ke===xs?As:Nu).source+"|"+(p.evaluate||Nu).source+"|$","g"),Gt="//# sourceURL="+(or.call(p,"sourceURL")?(p.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++lf+"]")+`
`;a.replace(Ct,function(dn,Yn,er,vo,Pi,Mi){return er||(er=vo),nt+=a.slice($e,Mi).replace(Wo,Us),Yn&&(se=!0,nt+=`' +
__e(`+Yn+`) +
'`),Pi&&(Ee=!0,nt+=`';
`+Pi+`;
__p += '`),er&&(nt+=`' +
((__t = (`+er+`)) == null ? '' : __t) +
'`),$e=Mi+dn.length,dn}),nt+=`';
`;var an=or.call(p,"variable")&&p.variable;if(!an)nt=`with (obj) {
`+nt+`
}
`;else if(Ru.test(an))throw new mt(t);nt=(Ee?nt.replace(ll,""):nt).replace(fl,"$1").replace(cl,"$1;"),nt="function("+(an||"obj")+`) {
`+(an?"":`obj || (obj = {});
`)+"var __t, __p = ''"+(se?", __e = _.escape":"")+(Ee?`, __j = Array.prototype.join;
function print() { __p += __j.call(arguments, '') }
`:`;
`)+nt+`return __p
}`;var qn=$p(function(){return wn(G,Gt+"return "+nt).apply(i,te)});if(qn.source=nt,k1(qn))throw qn;return qn}function F_(a){return yr(a).toLowerCase()}function L_(a){return yr(a).toUpperCase()}function R_(a,p,E){if(a=yr(a),a&&(E||p===i))return E0(a);if(!a||!(p=ho(p)))return a;var I=Jn(a),B=Jn(p),G=wl(I,B),te=js(I,B)+1;return Vs(I,G,te).join("")}function F1(a,p,E){if(a=yr(a),a&&(E||p===i))return a.slice(0,ai(a)+1);if(!a||!(p=ho(p)))return a;var I=Jn(a),B=js(I,Jn(p))+1;return Vs(I,0,B).join("")}function N_(a,p,E){if(a=yr(a),a&&(E||p===i))return a.replace(si,"");if(!a||!(p=ho(p)))return a;var I=Jn(a),B=wl(I,Jn(p));return Vs(I,B).join("")}function B_(a,p){var E=Oe,I=Le;if(Jr(p)){var B="separator"in p?p.separator:B;E="length"in p?jn(p.length):E,I="omission"in p?ho(p.omission):I}a=yr(a);var G=a.length;if(Hi(a)){var te=Jn(a);G=te.length}if(E>=G)return a;var se=E-Rr(I);if(se<1)return I;var Ee=te?Vs(te,0,se).join(""):a.slice(0,se);if(B===i)return Ee+I;if(te&&(se+=Ee.length-se),ra(B)){if(a.slice(se).search(B)){var $e,Ke=Ee;for(B.global||(B=X0(B.source,yr(uu.exec(B))+"g")),B.lastIndex=0;$e=B.exec(Ke);)var nt=$e.index;Ee=Ee.slice(0,nt===i?se:nt)}}else if(a.indexOf(ho(B),se)!=se){var Ct=Ee.lastIndexOf(B);Ct>-1&&(Ee=Ee.slice(0,Ct))}return Ee+I}function Vp(a){return a=yr(a),a&&Mr.test(a)?a.replace(al,o0):a}var j_=yf(function(a,p,E){return a+(E?" ":"")+p.toUpperCase()}),L1=Fd("toUpperCase");function Yp(a,p,E){return a=yr(a),p=E?i:p,p===i?qs(a)?cf(a):d0(a):a.match(p)||[]}var $p=Wn(function(a,p){try{return K(a,i,p)}catch(E){return k1(E)?E:new mt(E)}}),U_=yu(function(a,p){return je(p,function(E){E=Xo(E),ti(a,E,S1(a[E],a))}),a});function Kp(a){var p=a==null?0:a.length,E=cn();return a=p?lt(a,function(I){if(typeof I[1]!="function")throw new Yr(g);return[E(I[0]),I[1]]}):[],Wn(function(I){for(var B=-1;++B<p;){var G=a[B];if(K(G[0],this,I))return K(G[1],this,I)}})}function q_(a){return Xf(vi(a,D))}function R1(a){return function(){return a}}function z_(a,p){return a==null||a!==a?p:a}var W_=Rd(),H_=Rd(!0);function $i(a){return a}function N1(a){return ni(typeof a=="function"?a:vi(a,D))}function b_(a){return gd(vi(a,D))}function G_(a,p){return ba(a,vi(p,D))}var B1=Wn(function(a,p){return function(E){return po(E,a,p)}}),V_=Wn(function(a,p){return function(E){return po(a,E,p)}});function j1(a,p,E){var I=q0(p),B=M(p,I);E==null&&!(Jr(p)&&(B.length||!I.length))&&(E=p,p=a,a=this,B=M(p,q0(p)));var G=!(Jr(E)&&"chain"in E)||!!E.chain,te=rs(a);return je(B,function(se){var Ee=p[se];a[se]=Ee,te&&(a.prototype[se]=function(){var $e=this.__chain__;if(G||$e){var Ke=a(this.__wrapped__),nt=Ke.__actions__=Xr(this.__actions__);return nt.push({func:Ee,args:arguments,thisArg:a}),Ke.__chain__=$e,Ke}return Ee.apply(a,Rt([this.value()],arguments))})}),a}function Xp(){return Lr._===this&&(Lr._=S0),this}function U1(){}function Y_(a){return a=jn(a),Wn(function(p){return _d(p,a)})}var $_=Zn(lt),K_=Zn(rt),X_=Zn(ar);function q1(a){return c1(a)?Qt(Xo(a)):ko(a)}function J_(a){return function(p){return a==null?i:b(a,p)}}var Q_=Bd(),Z_=Bd(!0);function z1(){return[]}function W1(){return!1}function e4(){return{}}function t4(){return""}function n4(){return!0}function r4(a,p){if(a=jn(a),a<1||a>Nt)return[];var E=ne,I=kn(a,ne);p=cn(p),a-=ne;for(var B=ci(I,p);++E<a;)p(E);return B}function H1(a){return On(a)?lt(a,Xo):mo(a)?[a]:Xr(Xd(yr(a)))}function i4(a){var p=++zs;return yr(a)+p}var o4=Wc(function(a,p){return a+p},0),Jp=e1("ceil"),u4=Wc(function(a,p){return a/p},1),s4=e1("floor");function l4(a){return a&&a.length?Al(a,$i,Ze):i}function f4(a,p){return a&&a.length?Al(a,cn(p,2),Ze):i}function c4(a){return St(a,$i)}function Qp(a,p){return St(a,cn(p,2))}function a4(a){return a&&a.length?Al(a,$i,Ha):i}function d4(a,p){return a&&a.length?Al(a,cn(p,2),Ha):i}var p4=Wc(function(a,p){return a*p},1),h4=e1("round"),m4=Wc(function(a,p){return a-p},0);function v4(a){return a&&a.length?h0(a,$i):0}function g4(a,p){return a&&a.length?h0(a,cn(p,2)):0}return z.after=ag,z.ary=vp,z.assign=Pp,z.assignIn=Mp,z.assignInWith=ua,z.assignWith=bg,z.at=Gg,z.before=gp,z.bind=S1,z.bindAll=U_,z.bindKey=_p,z.castArray=wg,z.chain=fp,z.chunk=rv,z.compact=iv,z.concat=ov,z.cond=Kp,z.conforms=q_,z.constant=R1,z.countBy=Xc,z.create=Vg,z.curry=C1,z.curryRight=yp,z.debounce=wp,z.defaults=Fp,z.defaultsDeep=Yg,z.defer=dg,z.delay=Dp,z.difference=uv,z.differenceBy=wu,z.differenceWith=Du,z.drop=ts,z.dropRight=ns,z.dropRightWhile=sv,z.dropWhile=lv,z.fill=fv,z.filter=Kv,z.flatMap=Jv,z.flatMapDeep=Qv,z.flatMapDepth=ap,z.flatten=Zd,z.flattenDeep=cv,z.flattenDepth=ep,z.flip=pg,z.flow=W_,z.flowRight=H_,z.fromPairs=av,z.functions=e_,z.functionsIn=t_,z.groupBy=Zv,z.initial=pv,z.intersection=hv,z.intersectionBy=np,z.intersectionWith=mv,z.invert=Lp,z.invertBy=r_,z.invokeMap=tg,z.iteratee=N1,z.keyBy=hp,z.keys=q0,z.keysIn=Yi,z.map=Jc,z.mapKeys=o_,z.mapValues=Rp,z.matches=b_,z.matchesProperty=G_,z.memoize=Qc,z.merge=u_,z.mergeWith=Np,z.method=B1,z.methodOf=V_,z.mixin=j1,z.negate=Zc,z.nthArg=Y_,z.omit=s_,z.omitBy=l_,z.once=ea,z.orderBy=ng,z.over=$_,z.overArgs=hg,z.overEvery=K_,z.overSome=X_,z.partial=T1,z.partialRight=ta,z.partition=rg,z.pick=f_,z.pickBy=Bp,z.property=q1,z.propertyOf=J_,z.pull=yv,z.pullAll=rp,z.pullAllBy=ip,z.pullAllWith=wv,z.pullAt=Dv,z.range=Q_,z.rangeRight=Z_,z.rearg=mg,z.reject=og,z.remove=v1,z.rest=vg,z.reverse=g1,z.sampleSize=sg,z.set=jp,z.setWith=Up,z.shuffle=lg,z.slice=Ev,z.sortBy=cg,z.sortedUniq=up,z.sortedUniqBy=Av,z.split=O_,z.spread=Ep,z.tail=Ov,z.take=Iv,z.takeRight=Pv,z.takeRightWhile=Mv,z.takeWhile=Fv,z.tap=cp,z.throttle=gg,z.thru=Kc,z.toArray=Op,z.toPairs=qp,z.toPairsIn=zp,z.toPath=H1,z.toPlainObject=oa,z.transform=P1,z.unary=_g,z.union=Lv,z.unionBy=$s,z.unionWith=Ks,z.uniq=Xs,z.uniqBy=Rv,z.uniqWith=_1,z.unset=a_,z.unzip=y1,z.unzipWith=sp,z.update=d_,z.updateWith=p_,z.values=Ef,z.valuesIn=h_,z.without=w1,z.words=Yp,z.wrap=yg,z.xor=Nv,z.xorBy=Bv,z.xorWith=lp,z.zip=jv,z.zipObject=Uv,z.zipObjectDeep=qv,z.zipWith=zv,z.entries=qp,z.entriesIn=zp,z.extend=Mp,z.extendWith=ua,j1(z,z),z.add=o4,z.attempt=$p,z.camelCase=__,z.capitalize=Wp,z.ceil=Jp,z.clamp=m_,z.clone=Dg,z.cloneDeep=Eg,z.cloneDeepWith=Sg,z.cloneWith=Sp,z.conformsTo=Cg,z.deburr=Hp,z.defaultTo=z_,z.divide=u4,z.endsWith=y_,z.eq=Mo,z.escape=M1,z.escapeRegExp=w_,z.every=$v,z.find=Xv,z.findIndex=Qd,z.findKey=$g,z.findLast=D1,z.findLastIndex=$c,z.findLastKey=Kg,z.floor=s4,z.forEach=dp,z.forEachRight=pp,z.forIn=Xg,z.forInRight=Jg,z.forOwn=Qg,z.forOwnRight=Zg,z.get=oc,z.gt=Tg,z.gte=xg,z.has=n_,z.hasIn=I1,z.head=tp,z.identity=$i,z.includes=eg,z.indexOf=dv,z.inRange=v_,z.invoke=i_,z.isArguments=Ll,z.isArray=On,z.isArrayBuffer=x1,z.isArrayLike=Vi,z.isArrayLikeObject=l0,z.isBoolean=kg,z.isBuffer=Eu,z.isDate=Ag,z.isElement=Og,z.isEmpty=Cp,z.isEqual=Ig,z.isEqualWith=Pg,z.isError=k1,z.isFinite=Mg,z.isFunction=rs,z.isInteger=A1,z.isLength=na,z.isMap=Tp,z.isMatch=Fg,z.isMatchWith=Lg,z.isNaN=Rg,z.isNative=Ng,z.isNil=O1,z.isNull=Bg,z.isNumber=xp,z.isObject=Jr,z.isObjectLike=n0,z.isPlainObject=ic,z.isRegExp=ra,z.isSafeInteger=jg,z.isSet=kp,z.isString=ia,z.isSymbol=mo,z.isTypedArray=Df,z.isUndefined=Ap,z.isWeakMap=Ug,z.isWeakSet=qg,z.join=vv,z.kebabCase=D_,z.last=Po,z.lastIndexOf=gv,z.lowerCase=bp,z.lowerFirst=E_,z.lt=zg,z.lte=Wg,z.max=l4,z.maxBy=f4,z.mean=c4,z.meanBy=Qp,z.min=a4,z.minBy=d4,z.stubArray=z1,z.stubFalse=W1,z.stubObject=e4,z.stubString=t4,z.stubTrue=n4,z.multiply=p4,z.nth=_v,z.noConflict=Xp,z.noop=U1,z.now=rc,z.pad=S_,z.padEnd=C_,z.padStart=T_,z.parseInt=x_,z.random=g_,z.reduce=mp,z.reduceRight=ig,z.repeat=Gp,z.replace=k_,z.result=c_,z.round=h4,z.runInContext=ae,z.sample=ug,z.size=E1,z.snakeCase=A_,z.some=fg,z.sortedIndex=op,z.sortedIndexBy=Sv,z.sortedIndexOf=Cv,z.sortedLastIndex=Tv,z.sortedLastIndexBy=xv,z.sortedLastIndexOf=kv,z.startCase=I_,z.startsWith=P_,z.subtract=m4,z.sum=v4,z.sumBy=g4,z.template=M_,z.times=r4,z.toFinite=is,z.toInteger=jn,z.toLength=Ip,z.toLower=F_,z.toNumber=Fo,z.toSafeInteger=Hg,z.toString=yr,z.toUpper=L_,z.trim=R_,z.trimEnd=F1,z.trimStart=N_,z.truncate=B_,z.unescape=Vp,z.uniqueId=i4,z.upperCase=j_,z.upperFirst=L1,z.each=dp,z.eachRight=pp,z.first=tp,j1(z,function(){var a={};return S(z,function(p,E){or.call(z.prototype,E)||(a[E]=p)}),a}(),{chain:!1}),z.VERSION=u,je(["bind","bindKey","curry","curryRight","partial","partialRight"],function(a){z[a].placeholder=z}),je(["drop","take"],function(a,p){nn.prototype[a]=function(E){E=E===i?1:wr(jn(E),0);var I=this.__filtered__&&!p?new nn(this):this.clone();return I.__filtered__?I.__takeCount__=kn(E,I.__takeCount__):I.__views__.push({size:kn(E,ne),type:a+(I.__dir__<0?"Right":"")}),I},nn.prototype[a+"Right"]=function(E){return this.reverse()[a](E).reverse()}}),je(["filter","map","takeWhile"],function(a,p){var E=p+1,I=E==Ue||E==At;nn.prototype[a]=function(B){var G=this.clone();return G.__iteratees__.push({iteratee:cn(B,3),type:E}),G.__filtered__=G.__filtered__||I,G}}),je(["head","last"],function(a,p){var E="take"+(p?"Right":"");nn.prototype[a]=function(){return this[E](1).value()[0]}}),je(["initial","tail"],function(a,p){var E="drop"+(p?"":"Right");nn.prototype[a]=function(){return this.__filtered__?new nn(this):this[E](1)}}),nn.prototype.compact=function(){return this.filter($i)},nn.prototype.find=function(a){return this.filter(a).head()},nn.prototype.findLast=function(a){return this.reverse().find(a)},nn.prototype.invokeMap=Wn(function(a,p){return typeof a=="function"?new nn(this):this.map(function(E){return po(E,a,p)})}),nn.prototype.reject=function(a){return this.filter(Zc(cn(a)))},nn.prototype.slice=function(a,p){a=jn(a);var E=this;return E.__filtered__&&(a>0||p<0)?new nn(E):(a<0?E=E.takeRight(-a):a&&(E=E.drop(a)),p!==i&&(p=jn(p),E=p<0?E.dropRight(-p):E.take(p-a)),E)},nn.prototype.takeRightWhile=function(a){return this.reverse().takeWhile(a).reverse()},nn.prototype.toArray=function(){return this.take(ne)},S(nn.prototype,function(a,p){var E=/^(?:filter|find|map|reject)|While$/.test(p),I=/^(?:head|last)$/.test(p),B=z[I?"take"+(p=="last"?"Right":""):p],G=I||/^find/.test(p);!B||(z.prototype[p]=function(){var te=this.__wrapped__,se=I?[1]:arguments,Ee=te instanceof nn,$e=se[0],Ke=Ee||On(te),nt=function(Yn){var er=B.apply(z,Rt([Yn],se));return I&&Ct?er[0]:er};Ke&&E&&typeof $e=="function"&&$e.length!=1&&(Ee=Ke=!1);var Ct=this.__chain__,Gt=!!this.__actions__.length,an=G&&!Ct,qn=Ee&&!Gt;if(!G&&Ke){te=qn?te:new nn(this);var dn=a.apply(te,se);return dn.__actions__.push({func:Kc,args:[nt],thisArg:i}),new Qn(dn,Ct)}return an&&qn?a.apply(this,se):(dn=this.thru(nt),an?I?dn.value()[0]:dn.value():dn)})}),je(["pop","push","shift","sort","splice","unshift"],function(a){var p=$r[a],E=/^(?:push|sort|unshift)$/.test(a)?"tap":"thru",I=/^(?:pop|shift)$/.test(a);z.prototype[a]=function(){var B=arguments;if(I&&!this.__chain__){var G=this.value();return p.apply(On(G)?G:[],B)}return this[E](function(te){return p.apply(On(te)?te:[],B)})}}),S(nn.prototype,function(a,p){var E=z[p];if(E){var I=E.name+"";or.call(bt,I)||(bt[I]=[]),bt[I].push({name:p,func:E})}}),bt[zc(i,re).name]=[{name:"wrapper",func:i}],nn.prototype.clone=s0,nn.prototype.reverse=t0,nn.prototype.value=g0,z.prototype.at=Wv,z.prototype.chain=Hv,z.prototype.commit=bv,z.prototype.next=Gv,z.prototype.plant=Yv,z.prototype.reverse=Ml,z.prototype.toJSON=z.prototype.valueOf=z.prototype.value=Fl,z.prototype.first=z.prototype.head,u0&&(z.prototype[u0]=Vv),z},K0=$0();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Lr._=K0,define(function(){return K0})):R?((R.exports=K0)._=K0,F._=K0):Lr._=K0}).call(ga)});var ay=Me((XH,cy)=>{"use strict";var fr=cy.exports;cy.exports.default=fr;var Pr="[",t2="]",ya="\x07",vh=";",OD=process.env.TERM_PROGRAM==="Apple_Terminal";fr.cursorTo=(i,u)=>{if(typeof i!="number")throw new TypeError("The `x` argument is required");return typeof u!="number"?Pr+(i+1)+"G":Pr+(u+1)+";"+(i+1)+"H"};fr.cursorMove=(i,u)=>{if(typeof i!="number")throw new TypeError("The `x` argument is required");let f="";return i<0?f+=Pr+-i+"D":i>0&&(f+=Pr+i+"C"),u<0?f+=Pr+-u+"A":u>0&&(f+=Pr+u+"B"),f};fr.cursorUp=(i=1)=>Pr+i+"A";fr.cursorDown=(i=1)=>Pr+i+"B";fr.cursorForward=(i=1)=>Pr+i+"C";fr.cursorBackward=(i=1)=>Pr+i+"D";fr.cursorLeft=Pr+"G";fr.cursorSavePosition=OD?"7":Pr+"s";fr.cursorRestorePosition=OD?"8":Pr+"u";fr.cursorGetPosition=Pr+"6n";fr.cursorNextLine=Pr+"E";fr.cursorPrevLine=Pr+"F";fr.cursorHide=Pr+"?25l";fr.cursorShow=Pr+"?25h";fr.eraseLines=i=>{let u="";for(let f=0;f<i;f++)u+=fr.eraseLine+(f<i-1?fr.cursorUp():"");return i&&(u+=fr.cursorLeft),u};fr.eraseEndLine=Pr+"K";fr.eraseStartLine=Pr+"1K";fr.eraseLine=Pr+"2K";fr.eraseDown=Pr+"J";fr.eraseUp=Pr+"1J";fr.eraseScreen=Pr+"2J";fr.scrollUp=Pr+"S";fr.scrollDown=Pr+"T";fr.clearScreen="c";fr.clearTerminal=process.platform==="win32"?`${fr.eraseScreen}${Pr}0f`:`${fr.eraseScreen}${Pr}3J${Pr}H`;fr.beep=ya;fr.link=(i,u)=>[t2,"8",vh,vh,u,ya,i,t2,"8",vh,vh,ya].join("");fr.image=(i,u={})=>{let f=`${t2}1337;File=inline=1`;return u.width&&(f+=`;width=${u.width}`),u.height&&(f+=`;height=${u.height}`),u.preserveAspectRatio===!1&&(f+=";preserveAspectRatio=0"),f+":"+i.toString("base64")+ya};fr.iTerm={setCwd:(i=process.cwd())=>`${t2}50;CurrentDir=${i}${ya}`,annotation:(i,u={})=>{let f=`${t2}1337;`,c=typeof u.x!="undefined",g=typeof u.y!="undefined";if((c||g)&&!(c&&g&&typeof u.length!="undefined"))throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");return i=i.replace(/\|/g,""),f+=u.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",u.length>0?f+=(c?[i,u.length,u.x,u.y]:[u.length,i]).join("|"):f+=i,f+ya}}});var PD=Me((JH,dy)=>{"use strict";var ID=(i,u)=>{for(let f of Reflect.ownKeys(u))Object.defineProperty(i,f,Object.getOwnPropertyDescriptor(u,f));return i};dy.exports=ID;dy.exports.default=ID});var FD=Me((QH,gh)=>{"use strict";var oN=PD(),_h=new WeakMap,MD=(i,u={})=>{if(typeof i!="function")throw new TypeError("Expected a function");let f,c=!1,g=0,t=i.displayName||i.name||"<anonymous>",C=function(...A){if(_h.set(C,++g),c){if(u.throw===!0)throw new Error(`Function \`${t}\` can only be called once`);return f}return c=!0,f=i.apply(this,A),i=null,f};return oN(C,i),_h.set(C,g),C};gh.exports=MD;gh.exports.default=MD;gh.exports.callCount=i=>{if(!_h.has(i))throw new Error(`The given function \`${i.name}\` is not wrapped by the \`onetime\` package`);return _h.get(i)}});var LD=Me((ZH,yh)=>{yh.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];process.platform!=="win32"&&yh.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&yh.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var vy=Me((eb,n2)=>{var uN=require("assert"),r2=LD(),sN=/^win/i.test(process.platform),wh=require("events");typeof wh!="function"&&(wh=wh.EventEmitter);var Bi;process.__signal_exit_emitter__?Bi=process.__signal_exit_emitter__:(Bi=process.__signal_exit_emitter__=new wh,Bi.count=0,Bi.emitted={});Bi.infinite||(Bi.setMaxListeners(Infinity),Bi.infinite=!0);n2.exports=function(i,u){uN.equal(typeof i,"function","a callback must be provided for exit handler"),i2===!1&&RD();var f="exit";u&&u.alwaysLast&&(f="afterexit");var c=function(){Bi.removeListener(f,i),Bi.listeners("exit").length===0&&Bi.listeners("afterexit").length===0&&py()};return Bi.on(f,i),c};n2.exports.unload=py;function py(){!i2||(i2=!1,r2.forEach(function(i){try{process.removeListener(i,hy[i])}catch(u){}}),process.emit=my,process.reallyExit=ND,Bi.count-=1)}function wa(i,u,f){Bi.emitted[i]||(Bi.emitted[i]=!0,Bi.emit(i,u,f))}var hy={};r2.forEach(function(i){hy[i]=function(){var f=process.listeners(i);f.length===Bi.count&&(py(),wa("exit",null,i),wa("afterexit",null,i),sN&&i==="SIGHUP"&&(i="SIGINT"),process.kill(process.pid,i))}});n2.exports.signals=function(){return r2};n2.exports.load=RD;var i2=!1;function RD(){i2||(i2=!0,Bi.count+=1,r2=r2.filter(function(i){try{return process.on(i,hy[i]),!0}catch(u){return!1}}),process.emit=fN,process.reallyExit=lN)}var ND=process.reallyExit;function lN(i){process.exitCode=i||0,wa("exit",process.exitCode,null),wa("afterexit",process.exitCode,null),ND.call(process,process.exitCode)}var my=process.emit;function fN(i,u){if(i==="exit"){u!==void 0&&(process.exitCode=u);var f=my.apply(this,arguments);return wa("exit",process.exitCode,null),wa("afterexit",process.exitCode,null),f}else return my.apply(this,arguments)}});var jD=Me((tb,BD)=>{"use strict";var cN=FD(),aN=vy();BD.exports=cN(()=>{aN(()=>{process.stderr.write("[?25h")},{alwaysLast:!0})})});var gy=Me(Da=>{"use strict";var dN=jD(),Dh=!1;Da.show=(i=process.stderr)=>{!i.isTTY||(Dh=!1,i.write("[?25h"))};Da.hide=(i=process.stderr)=>{!i.isTTY||(dN(),Dh=!0,i.write("[?25l"))};Da.toggle=(i,u)=>{i!==void 0&&(Dh=i),Dh?Da.show(u):Da.hide(u)}});var WD=Me(o2=>{"use strict";var UD=o2&&o2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(o2,"__esModule",{value:!0});var qD=UD(ay()),zD=UD(gy()),pN=(i,{showCursor:u=!1}={})=>{let f=0,c="",g=!1,t=C=>{!u&&!g&&(zD.default.hide(),g=!0);let A=C+`
`;A!==c&&(c=A,i.write(qD.default.eraseLines(f)+A),f=A.split(`
`).length)};return t.clear=()=>{i.write(qD.default.eraseLines(f)),c="",f=0},t.done=()=>{c="",f=0,u||(zD.default.show(),g=!1)},t};o2.default={create:pN}});var bD=Me((ib,HD)=>{HD.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 YD=Me(ru=>{"use strict";var GD=bD(),nl=process.env;Object.defineProperty(ru,"_vendors",{value:GD.map(function(i){return i.constant})});ru.name=null;ru.isPR=null;GD.forEach(function(i){var u=Array.isArray(i.env)?i.env:[i.env],f=u.every(function(c){return VD(c)});if(ru[i.constant]=f,f)switch(ru.name=i.name,typeof i.pr){case"string":ru.isPR=!!nl[i.pr];break;case"object":"env"in i.pr?ru.isPR=i.pr.env in nl&&nl[i.pr.env]!==i.pr.ne:"any"in i.pr?ru.isPR=i.pr.any.some(function(c){return!!nl[c]}):ru.isPR=VD(i.pr);break;default:ru.isPR=null}});ru.isCI=!!(nl.CI||nl.CONTINUOUS_INTEGRATION||nl.BUILD_NUMBER||nl.RUN_ID||ru.name);function VD(i){return typeof i=="string"?!!nl[i]:Object.keys(i).every(function(u){return nl[u]===i[u]})}});var KD=Me((ub,$D)=>{"use strict";$D.exports=YD().isCI});var JD=Me((sb,XD)=>{"use strict";var hN=i=>{let u=new Set;do for(let f of Reflect.ownKeys(i))u.add([i,f]);while((i=Reflect.getPrototypeOf(i))&&i!==Object.prototype);return u};XD.exports=(i,{include:u,exclude:f}={})=>{let c=g=>{let t=C=>typeof C=="string"?g===C:C.test(g);return u?u.some(t):f?!f.some(t):!0};for(let[g,t]of hN(i.constructor.prototype)){if(t==="constructor"||!c(t))continue;let C=Reflect.getOwnPropertyDescriptor(g,t);C&&typeof C.value=="function"&&(i[t]=i[t].bind(i))}return i}});var iE=Me(Sr=>{"use strict";Object.defineProperty(Sr,"__esModule",{value:!0});var Ea,u2,Eh,Sh,_y;typeof window=="undefined"||typeof MessageChannel!="function"?(Sa=null,yy=null,wy=function(){if(Sa!==null)try{var i=Sr.unstable_now();Sa(!0,i),Sa=null}catch(u){throw setTimeout(wy,0),u}},QD=Date.now(),Sr.unstable_now=function(){return Date.now()-QD},Ea=function(i){Sa!==null?setTimeout(Ea,0,i):(Sa=i,setTimeout(wy,0))},u2=function(i,u){yy=setTimeout(i,u)},Eh=function(){clearTimeout(yy)},Sh=function(){return!1},_y=Sr.unstable_forceFrameRate=function(){}):(Ch=window.performance,Dy=window.Date,ZD=window.setTimeout,eE=window.clearTimeout,typeof console!="undefined"&&(tE=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 tE!="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 Ch=="object"&&typeof Ch.now=="function"?Sr.unstable_now=function(){return Ch.now()}:(nE=Dy.now(),Sr.unstable_now=function(){return Dy.now()-nE}),s2=!1,l2=null,Th=-1,Ey=5,Sy=0,Sh=function(){return Sr.unstable_now()>=Sy},_y=function(){},Sr.unstable_forceFrameRate=function(i){0>i||125<i?console.error("forceFrameRate takes a positive int between 0 and 125, forcing framerates higher than 125 fps is not unsupported"):Ey=0<i?Math.floor(1e3/i):5},Cy=new MessageChannel,xh=Cy.port2,Cy.port1.onmessage=function(){if(l2!==null){var i=Sr.unstable_now();Sy=i+Ey;try{l2(!0,i)?xh.postMessage(null):(s2=!1,l2=null)}catch(u){throw xh.postMessage(null),u}}else s2=!1},Ea=function(i){l2=i,s2||(s2=!0,xh.postMessage(null))},u2=function(i,u){Th=ZD(function(){i(Sr.unstable_now())},u)},Eh=function(){eE(Th),Th=-1});var Sa,yy,wy,QD,Ch,Dy,ZD,eE,tE,nE,s2,l2,Th,Ey,Sy,Cy,xh;function Ty(i,u){var f=i.length;i.push(u);e:for(;;){var c=Math.floor((f-1)/2),g=i[c];if(g!==void 0&&0<kh(g,u))i[c]=u,i[f]=g,f=c;else break e}}function Iu(i){return i=i[0],i===void 0?null:i}function Ah(i){var u=i[0];if(u!==void 0){var f=i.pop();if(f!==u){i[0]=f;e:for(var c=0,g=i.length;c<g;){var t=2*(c+1)-1,C=i[t],A=t+1,x=i[A];if(C!==void 0&&0>kh(C,f))x!==void 0&&0>kh(x,C)?(i[c]=x,i[A]=f,c=A):(i[c]=C,i[t]=f,c=t);else if(x!==void 0&&0>kh(x,f))i[c]=x,i[A]=f,c=A;else break e}}return u}return null}function kh(i,u){var f=i.sortIndex-u.sortIndex;return f!==0?f:i.id-u.id}var ds=[],Nf=[],mN=1,_o=null,to=3,Oh=!1,pc=!1,f2=!1;function Ih(i){for(var u=Iu(Nf);u!==null;){if(u.callback===null)Ah(Nf);else if(u.startTime<=i)Ah(Nf),u.sortIndex=u.expirationTime,Ty(ds,u);else break;u=Iu(Nf)}}function xy(i){if(f2=!1,Ih(i),!pc)if(Iu(ds)!==null)pc=!0,Ea(ky);else{var u=Iu(Nf);u!==null&&u2(xy,u.startTime-i)}}function ky(i,u){pc=!1,f2&&(f2=!1,Eh()),Oh=!0;var f=to;try{for(Ih(u),_o=Iu(ds);_o!==null&&(!(_o.expirationTime>u)||i&&!Sh());){var c=_o.callback;if(c!==null){_o.callback=null,to=_o.priorityLevel;var g=c(_o.expirationTime<=u);u=Sr.unstable_now(),typeof g=="function"?_o.callback=g:_o===Iu(ds)&&Ah(ds),Ih(u)}else Ah(ds);_o=Iu(ds)}if(_o!==null)var t=!0;else{var C=Iu(Nf);C!==null&&u2(xy,C.startTime-u),t=!1}return t}finally{_o=null,to=f,Oh=!1}}function rE(i){switch(i){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var vN=_y;Sr.unstable_ImmediatePriority=1;Sr.unstable_UserBlockingPriority=2;Sr.unstable_NormalPriority=3;Sr.unstable_IdlePriority=5;Sr.unstable_LowPriority=4;Sr.unstable_runWithPriority=function(i,u){switch(i){case 1:case 2:case 3:case 4:case 5:break;default:i=3}var f=to;to=i;try{return u()}finally{to=f}};Sr.unstable_next=function(i){switch(to){case 1:case 2:case 3:var u=3;break;default:u=to}var f=to;to=u;try{return i()}finally{to=f}};Sr.unstable_scheduleCallback=function(i,u,f){var c=Sr.unstable_now();if(typeof f=="object"&&f!==null){var g=f.delay;g=typeof g=="number"&&0<g?c+g:c,f=typeof f.timeout=="number"?f.timeout:rE(i)}else f=rE(i),g=c;return f=g+f,i={id:mN++,callback:u,priorityLevel:i,startTime:g,expirationTime:f,sortIndex:-1},g>c?(i.sortIndex=g,Ty(Nf,i),Iu(ds)===null&&i===Iu(Nf)&&(f2?Eh():f2=!0,u2(xy,g-c))):(i.sortIndex=f,Ty(ds,i),pc||Oh||(pc=!0,Ea(ky))),i};Sr.unstable_cancelCallback=function(i){i.callback=null};Sr.unstable_wrapCallback=function(i){var u=to;return function(){var f=to;to=u;try{return i.apply(this,arguments)}finally{to=f}}};Sr.unstable_getCurrentPriorityLevel=function(){return to};Sr.unstable_shouldYield=function(){var i=Sr.unstable_now();Ih(i);var u=Iu(ds);return u!==_o&&_o!==null&&u!==null&&u.callback!==null&&u.startTime<=i&&u.expirationTime<_o.expirationTime||Sh()};Sr.unstable_requestPaint=vN;Sr.unstable_continueExecution=function(){pc||Oh||(pc=!0,Ea(ky))};Sr.unstable_pauseExecution=function(){};Sr.unstable_getFirstCallbackNode=function(){return Iu(ds)};Sr.unstable_Profiling=null});var Ay=Me((fb,oE)=>{"use strict";oE.exports=iE()});var uE=Me((cb,c2)=>{c2.exports=function i(u){"use strict";var f=ey(),c=lr(),g=Ay();function t(v){for(var m="https://reactjs.org/docs/error-decoder.html?invariant="+v,S=1;S<arguments.length;S++)m+="&args[]="+encodeURIComponent(arguments[S]);return"Minified React error #"+v+"; visit "+m+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var C=c.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;C.hasOwnProperty("ReactCurrentDispatcher")||(C.ReactCurrentDispatcher={current:null}),C.hasOwnProperty("ReactCurrentBatchConfig")||(C.ReactCurrentBatchConfig={suspense:null});var A=typeof Symbol=="function"&&Symbol.for,x=A?Symbol.for("react.element"):60103,D=A?Symbol.for("react.portal"):60106,L=A?Symbol.for("react.fragment"):60107,N=A?Symbol.for("react.strict_mode"):60108,j=A?Symbol.for("react.profiler"):60114,$=A?Symbol.for("react.provider"):60109,h=A?Symbol.for("react.context"):60110,re=A?Symbol.for("react.concurrent_mode"):60111,ce=A?Symbol.for("react.forward_ref"):60112,Q=A?Symbol.for("react.suspense"):60113,oe=A?Symbol.for("react.suspense_list"):60120,Se=A?Symbol.for("react.memo"):60115,me=A?Symbol.for("react.lazy"):60116;A&&Symbol.for("react.fundamental"),A&&Symbol.for("react.responder"),A&&Symbol.for("react.scope");var De=typeof Symbol=="function"&&Symbol.iterator;function J(v){return v===null||typeof v!="object"?null:(v=De&&v[De]||v["@@iterator"],typeof v=="function"?v:null)}function Te(v){if(v._status===-1){v._status=0;var m=v._ctor;m=m(),v._result=m,m.then(function(S){v._status===0&&(S=S.default,v._status=1,v._result=S)},function(S){v._status===0&&(v._status=2,v._result=S)})}}function Oe(v){if(v==null)return null;if(typeof v=="function")return v.displayName||v.name||null;if(typeof v=="string")return v;switch(v){case L:return"Fragment";case D:return"Portal";case j:return"Profiler";case N:return"StrictMode";case Q:return"Suspense";case oe:return"SuspenseList"}if(typeof v=="object")switch(v.$$typeof){case h:return"Context.Consumer";case $:return"Context.Provider";case ce:var m=v.render;return m=m.displayName||m.name||"",v.displayName||(m!==""?"ForwardRef("+m+")":"ForwardRef");case Se:return Oe(v.type);case me:if(v=v._status===1?v._result:null)return Oe(v)}return null}function Le(v){var m=v,S=v;if(v.alternate)for(;m.return;)m=m.return;else{v=m;do m=v,(m.effectTag&1026)!=0&&(S=m.return),v=m.return;while(v)}return m.tag===3?S:null}function ot(v){if(Le(v)!==v)throw Error(t(188))}function ct(v){var m=v.alternate;if(!m){if(m=Le(v),m===null)throw Error(t(188));return m!==v?null:v}for(var S=v,O=m;;){var M=S.return;if(M===null)break;var b=M.alternate;if(b===null){if(O=M.return,O!==null){S=O;continue}break}if(M.child===b.child){for(b=M.child;b;){if(b===S)return ot(M),v;if(b===O)return ot(M),m;b=b.sibling}throw Error(t(188))}if(S.return!==O.return)S=M,O=b;else{for(var ee=!1,Ye=M.child;Ye;){if(Ye===S){ee=!0,S=M,O=b;break}if(Ye===O){ee=!0,O=M,S=b;break}Ye=Ye.sibling}if(!ee){for(Ye=b.child;Ye;){if(Ye===S){ee=!0,S=b,O=M;break}if(Ye===O){ee=!0,O=b,S=M;break}Ye=Ye.sibling}if(!ee)throw Error(t(189))}}if(S.alternate!==O)throw Error(t(190))}if(S.tag!==3)throw Error(t(188));return S.stateNode.current===S?v:m}function Ue(v){if(v=ct(v),!v)return null;for(var m=v;;){if(m.tag===5||m.tag===6)return m;if(m.child)m.child.return=m,m=m.child;else{if(m===v)break;for(;!m.sibling;){if(!m.return||m.return===v)return null;m=m.return}m.sibling.return=m.return,m=m.sibling}}return null}function be(v){if(v=ct(v),!v)return null;for(var m=v;;){if(m.tag===5||m.tag===6)return m;if(m.child&&m.tag!==4)m.child.return=m,m=m.child;else{if(m===v)break;for(;!m.sibling;){if(!m.return||m.return===v)return null;m=m.return}m.sibling.return=m.return,m=m.sibling}}return null}var At=u.getPublicInstance,Ot=u.getRootHostContext,Nt=u.getChildHostContext,Je=u.prepareForCommit,V=u.resetAfterCommit,ne=u.createInstance,ge=u.appendInitialChild,Z=u.finalizeInitialChildren,Ae=u.prepareUpdate,at=u.shouldSetTextContent,it=u.shouldDeprioritizeSubtree,Ft=u.createTextInstance,jt=u.setTimeout,hn=u.clearTimeout,Un=u.noTimeout,Jt=u.isPrimaryRenderer,Yt=u.supportsMutation,cr=u.supportsPersistence,w=u.supportsHydration,pt=u.appendChild,Mn=u.appendChildToContainer,Bn=u.commitTextUpdate,Xn=u.commitMount,vr=u.commitUpdate,gr=u.insertBefore,r0=u.insertInContainerBefore,Ci=u.removeChild,yo=u.removeChildFromContainer,Ds=u.resetTextContent,Mu=u.hideInstance,Gf=u.hideTextInstance,iu=u.unhideInstance,ou=u.unhideTextInstance,ol=u.cloneInstance,ul=u.createContainerChildSet,Es=u.appendChildToContainerChildSet,Uo=u.finalizeContainerChildren,sl=u.replaceContainerChildren,Ss=u.cloneHiddenInstance,Cs=u.cloneHiddenTextInstance,Ti=u.canHydrateInstance,Fu=u.canHydrateTextInstance,ll=u.isSuspenseInstancePending,fl=u.isSuspenseInstanceFallback,cl=u.getNextHydratableSibling,al=u.getFirstHydratableChild,Ui=u.hydrateInstance,Mr=u.hydrateTextInstance,Ac=u.getNextHydratableInstanceAfterSuspenseInstance,of=u.commitHydratedContainer,Ts=u.commitHydratedSuspenseInstance,xs=/^(.*)[\\\/]/;function dl(v){var m="";do{e:switch(v.tag){case 3:case 4:case 6:case 7:case 10:case 9:var S="";break e;default:var O=v._debugOwner,M=v._debugSource,b=Oe(v.type);S=null,O&&(S=Oe(O.type)),O=b,b="",M?b=" (at "+M.fileName.replace(xs,"")+":"+M.lineNumber+")":S&&(b=" (created by "+S+")"),S=`
in `+(O||"Unknown")+b}m+=S,v=v.return}while(v);return m}new Set;var qi=[],qo=-1;function kr(v){0>qo||(v.current=qi[qo],qi[qo]=null,qo--)}function Fr(v,m){qo++,qi[qo]=v.current,v.current=m}var si={},H0={current:si},b0={current:!1},Bt=si;function Lu(v,m){var S=v.type.contextTypes;if(!S)return si;var O=v.stateNode;if(O&&O.__reactInternalMemoizedUnmaskedChildContext===m)return O.__reactInternalMemoizedMaskedChildContext;var M={},b;for(b in S)M[b]=m[b];return O&&(v=v.stateNode,v.__reactInternalMemoizedUnmaskedChildContext=m,v.__reactInternalMemoizedMaskedChildContext=M),M}function c0(v){return v=v.childContextTypes,v!=null}function Ru(v){kr(b0,v),kr(H0,v)}function ks(v){kr(b0,v),kr(H0,v)}function As(v,m,S){if(H0.current!==si)throw Error(t(168));Fr(H0,m,v),Fr(b0,S,v)}function uu(v,m,S){var O=v.stateNode;if(v=m.childContextTypes,typeof O.getChildContext!="function")return S;O=O.getChildContext();for(var M in O)if(!(M in v))throw Error(t(108,Oe(m)||"Unknown",M));return f({},S,{},O)}function wo(v){var m=v.stateNode;return m=m&&m.__reactInternalMemoizedMergedChildContext||si,Bt=H0.current,Fr(H0,m,v),Fr(b0,b0.current,v),!0}function zo(v,m,S){var O=v.stateNode;if(!O)throw Error(t(169));S?(m=uu(v,m,Bt),O.__reactInternalMemoizedMergedChildContext=m,kr(b0,v),kr(H0,v),Fr(H0,m,v)):kr(b0,v),Fr(b0,S,v)}var Os=g.unstable_runWithPriority,Is=g.unstable_scheduleCallback,uf=g.unstable_cancelCallback,_n=g.unstable_shouldYield,Nu=g.unstable_requestPaint,Wo=g.unstable_now,su=g.unstable_getCurrentPriorityLevel,Ps=g.unstable_ImmediatePriority,pl=g.unstable_UserBlockingPriority,Vf=g.unstable_NormalPriority,hl=g.unstable_LowPriority,Bu=g.unstable_IdlePriority,ju={},sf=Nu!==void 0?Nu:function(){},ro=null,Ms=null,ml=!1,Uu=Wo(),G0=1e4>Uu?Wo:function(){return Wo()-Uu};function Fs(){switch(su()){case Ps:return 99;case pl:return 98;case Vf:return 97;case hl:return 96;case Bu:return 95;default:throw Error(t(332))}}function tt(v){switch(v){case 99:return Ps;case 98:return pl;case 97:return Vf;case 96:return hl;case 95:return Bu;default:throw Error(t(332))}}function zi(v,m){return v=tt(v),Os(v,m)}function lu(v,m,S){return v=tt(v),Is(v,m,S)}function Ho(v){return ro===null?(ro=[v],Ms=Is(Ps,vl)):ro.push(v),ju}function O0(){if(Ms!==null){var v=Ms;Ms=null,uf(v)}vl()}function vl(){if(!ml&&ro!==null){ml=!0;var v=0;try{var m=ro;zi(99,function(){for(;v<m.length;v++){var S=m[v];do S=S(!0);while(S!==null)}}),ro=null}catch(S){throw ro!==null&&(ro=ro.slice(v+1)),Is(Ps,O0),S}finally{ml=!1}}}var gl=3;function fu(v,m,S){return S/=10,1073741821-(((1073741821-v+m/10)/S|0)+1)*S}function _l(v,m){return v===m&&(v!==0||1/v==1/m)||v!==v&&m!==m}var Sn=typeof Object.is=="function"?Object.is:_l,gt=Object.prototype.hasOwnProperty;function en(v,m){if(Sn(v,m))return!0;if(typeof v!="object"||v===null||typeof m!="object"||m===null)return!1;var S=Object.keys(v),O=Object.keys(m);if(S.length!==O.length)return!1;for(O=0;O<S.length;O++)if(!gt.call(m,S[O])||!Sn(v[S[O]],m[S[O]]))return!1;return!0}function I0(v,m){if(v&&v.defaultProps){m=f({},m),v=v.defaultProps;for(var S in v)m[S]===void 0&&(m[S]=v[S])}return m}var li={current:null},qu=null,Wi=null,zu=null;function Wu(){zu=Wi=qu=null}function Ls(v,m){var S=v.type._context;Jt?(Fr(li,S._currentValue,v),S._currentValue=m):(Fr(li,S._currentValue2,v),S._currentValue2=m)}function fi(v){var m=li.current;kr(li,v),v=v.type._context,Jt?v._currentValue=m:v._currentValue2=m}function e0(v,m){for(;v!==null;){var S=v.alternate;if(v.childExpirationTime<m)v.childExpirationTime=m,S!==null&&S.childExpirationTime<m&&(S.childExpirationTime=m);else if(S!==null&&S.childExpirationTime<m)S.childExpirationTime=m;else break;v=v.return}}function io(v,m){qu=v,zu=Wi=null,v=v.dependencies,v!==null&&v.firstContext!==null&&(v.expirationTime>=m&&(ai=!0),v.firstContext=null)}function D0(v,m){if(zu!==v&&m!==!1&&m!==0)if((typeof m!="number"||m===1073741823)&&(zu=v,m=1073741823),m={context:v,observedBits:m,next:null},Wi===null){if(qu===null)throw Error(t(308));Wi=m,qu.dependencies={expirationTime:0,firstContext:m,responders:null}}else Wi=Wi.next=m;return Jt?v._currentValue:v._currentValue2}var Do=!1;function i0(v){return{baseState:v,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Rs(v){return{baseState:v.baseState,firstUpdate:v.firstUpdate,lastUpdate:v.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function a0(v,m){return{expirationTime:v,suspenseConfig:m,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function Hu(v,m){v.lastUpdate===null?v.firstUpdate=v.lastUpdate=m:(v.lastUpdate.next=m,v.lastUpdate=m)}function V0(v,m){var S=v.alternate;if(S===null){var O=v.updateQueue,M=null;O===null&&(O=v.updateQueue=i0(v.memoizedState))}else O=v.updateQueue,M=S.updateQueue,O===null?M===null?(O=v.updateQueue=i0(v.memoizedState),M=S.updateQueue=i0(S.memoizedState)):O=v.updateQueue=Rs(M):M===null&&(M=S.updateQueue=Rs(O));M===null||O===M?Hu(O,m):O.lastUpdate===null||M.lastUpdate===null?(Hu(O,m),Hu(M,m)):(Hu(O,m),M.lastUpdate=m)}function bu(v,m){var S=v.updateQueue;S=S===null?v.updateQueue=i0(v.memoizedState):Ns(v,S),S.lastCapturedUpdate===null?S.firstCapturedUpdate=S.lastCapturedUpdate=m:(S.lastCapturedUpdate.next=m,S.lastCapturedUpdate=m)}function Ns(v,m){var S=v.alternate;return S!==null&&m===S.updateQueue&&(m=v.updateQueue=Rs(m)),m}function bo(v,m,S,O,M,b){switch(S.tag){case 1:return v=S.payload,typeof v=="function"?v.call(b,O,M):v;case 3:v.effectTag=v.effectTag&-4097|64;case 0:if(v=S.payload,M=typeof v=="function"?v.call(b,O,M):v,M==null)break;return f({},O,M);case 2:Do=!0}return O}function P0(v,m,S,O,M){Do=!1,m=Ns(v,m);for(var b=m.baseState,ee=null,Ye=0,Ze=m.firstUpdate,ut=b;Ze!==null;){var In=Ze.expirationTime;In<M?(ee===null&&(ee=Ze,b=ut),Ye<In&&(Ye=In)):(Yf(In,Ze.suspenseConfig),ut=bo(v,m,Ze,ut,S,O),Ze.callback!==null&&(v.effectTag|=32,Ze.nextEffect=null,m.lastEffect===null?m.firstEffect=m.lastEffect=Ze:(m.lastEffect.nextEffect=Ze,m.lastEffect=Ze))),Ze=Ze.next}for(In=null,Ze=m.firstCapturedUpdate;Ze!==null;){var A0=Ze.expirationTime;A0<M?(In===null&&(In=Ze,ee===null&&(b=ut)),Ye<A0&&(Ye=A0)):(ut=bo(v,m,Ze,ut,S,O),Ze.callback!==null&&(v.effectTag|=32,Ze.nextEffect=null,m.lastCapturedEffect===null?m.firstCapturedEffect=m.lastCapturedEffect=Ze:(m.lastCapturedEffect.nextEffect=Ze,m.lastCapturedEffect=Ze))),Ze=Ze.next}ee===null&&(m.lastUpdate=null),In===null?m.lastCapturedUpdate=null:v.effectTag|=32,ee===null&&In===null&&(b=ut),m.baseState=b,m.firstUpdate=ee,m.firstCapturedUpdate=In,pf(Ye),v.expirationTime=Ye,v.memoizedState=ut}function ln(v,m,S){m.firstCapturedUpdate!==null&&(m.lastUpdate!==null&&(m.lastUpdate.next=m.firstCapturedUpdate,m.lastUpdate=m.lastCapturedUpdate),m.firstCapturedUpdate=m.lastCapturedUpdate=null),lf(m.firstEffect,S),m.firstEffect=m.lastEffect=null,lf(m.firstCapturedEffect,S),m.firstCapturedEffect=m.lastCapturedEffect=null}function lf(v,m){for(;v!==null;){var S=v.callback;if(S!==null){v.callback=null;var O=m;if(typeof S!="function")throw Error(t(191,S));S.call(O)}v=v.nextEffect}}var nr=C.ReactCurrentBatchConfig,rr=new c.Component().refs;function Go(v,m,S,O){m=v.memoizedState,S=S(O,m),S=S==null?m:f({},m,S),v.memoizedState=S,O=v.updateQueue,O!==null&&v.expirationTime===0&&(O.baseState=S)}var Gu={isMounted:function(v){return(v=v._reactInternalFiber)?Le(v)===v:!1},enqueueSetState:function(v,m,S){v=v._reactInternalFiber;var O=g0(),M=nr.suspense;O=Kr(O,v,M),M=a0(O,M),M.payload=m,S!=null&&(M.callback=S),V0(v,M),_0(v,O)},enqueueReplaceState:function(v,m,S){v=v._reactInternalFiber;var O=g0(),M=nr.suspense;O=Kr(O,v,M),M=a0(O,M),M.tag=1,M.payload=m,S!=null&&(M.callback=S),V0(v,M),_0(v,O)},enqueueForceUpdate:function(v,m){v=v._reactInternalFiber;var S=g0(),O=nr.suspense;S=Kr(S,v,O),O=a0(S,O),O.tag=2,m!=null&&(O.callback=m),V0(v,O),_0(v,S)}};function yl(v,m,S,O,M,b,ee){return v=v.stateNode,typeof v.shouldComponentUpdate=="function"?v.shouldComponentUpdate(O,b,ee):m.prototype&&m.prototype.isPureReactComponent?!en(S,O)||!en(M,b):!0}function cu(v,m,S){var O=!1,M=si,b=m.contextType;return typeof b=="object"&&b!==null?b=D0(b):(M=c0(m)?Bt:H0.current,O=m.contextTypes,b=(O=O!=null)?Lu(v,M):si),m=new m(S,b),v.memoizedState=m.state!==null&&m.state!==void 0?m.state:null,m.updater=Gu,v.stateNode=m,m._reactInternalFiber=v,O&&(v=v.stateNode,v.__reactInternalMemoizedUnmaskedChildContext=M,v.__reactInternalMemoizedMaskedChildContext=b),m}function Bs(v,m,S,O){v=m.state,typeof m.componentWillReceiveProps=="function"&&m.componentWillReceiveProps(S,O),typeof m.UNSAFE_componentWillReceiveProps=="function"&&m.UNSAFE_componentWillReceiveProps(S,O),m.state!==v&&Gu.enqueueReplaceState(m,m.state,null)}function Vu(v,m,S,O){var M=v.stateNode;M.props=S,M.state=v.memoizedState,M.refs=rr;var b=m.contextType;typeof b=="object"&&b!==null?M.context=D0(b):(b=c0(m)?Bt:H0.current,M.context=Lu(v,b)),b=v.updateQueue,b!==null&&(P0(v,b,S,M,O),M.state=v.memoizedState),b=m.getDerivedStateFromProps,typeof b=="function"&&(Go(v,m,b,S),M.state=v.memoizedState),typeof m.getDerivedStateFromProps=="function"||typeof M.getSnapshotBeforeUpdate=="function"||typeof M.UNSAFE_componentWillMount!="function"&&typeof M.componentWillMount!="function"||(m=M.state,typeof M.componentWillMount=="function"&&M.componentWillMount(),typeof M.UNSAFE_componentWillMount=="function"&&M.UNSAFE_componentWillMount(),m!==M.state&&Gu.enqueueReplaceState(M,M.state,null),b=v.updateQueue,b!==null&&(P0(v,b,S,M,O),M.state=v.memoizedState)),typeof M.componentDidMount=="function"&&(v.effectTag|=4)}var M0=Array.isArray;function au(v,m,S){if(v=S.ref,v!==null&&typeof v!="function"&&typeof v!="object"){if(S._owner){if(S=S._owner,S){if(S.tag!==1)throw Error(t(309));var O=S.stateNode}if(!O)throw Error(t(147,v));var M=""+v;return m!==null&&m.ref!==null&&typeof m.ref=="function"&&m.ref._stringRef===M?m.ref:(m=function(b){var ee=O.refs;ee===rr&&(ee=O.refs={}),b===null?delete ee[M]:ee[M]=b},m._stringRef=M,m)}if(typeof v!="string")throw Error(t(284));if(!S._owner)throw Error(t(290,v))}return v}function Lr(v,m){if(v.type!=="textarea")throw Error(t(31,Object.prototype.toString.call(m)==="[object Object]"?"object with keys {"+Object.keys(m).join(", ")+"}":m,""))}function F(v){function m(Re,Ce){if(v){var ze=Re.lastEffect;ze!==null?(ze.nextEffect=Ce,Re.lastEffect=Ce):Re.firstEffect=Re.lastEffect=Ce,Ce.nextEffect=null,Ce.effectTag=8}}function S(Re,Ce){if(!v)return null;for(;Ce!==null;)m(Re,Ce),Ce=Ce.sibling;return null}function O(Re,Ce){for(Re=new Map;Ce!==null;)Ce.key!==null?Re.set(Ce.key,Ce):Re.set(Ce.index,Ce),Ce=Ce.sibling;return Re}function M(Re,Ce,ze){return Re=ti(Re,Ce,ze),Re.index=0,Re.sibling=null,Re}function b(Re,Ce,ze){return Re.index=ze,v?(ze=Re.alternate,ze!==null?(ze=ze.index,ze<Ce?(Re.effectTag=2,Ce):ze):(Re.effectTag=2,Ce)):Ce}function ee(Re){return v&&Re.alternate===null&&(Re.effectTag=2),Re}function Ye(Re,Ce,ze,Et){return Ce===null||Ce.tag!==6?(Ce=vi(ze,Re.mode,Et),Ce.return=Re,Ce):(Ce=M(Ce,ze,Et),Ce.return=Re,Ce)}function Ze(Re,Ce,ze,Et){return Ce!==null&&Ce.elementType===ze.type?(Et=M(Ce,ze.props,Et),Et.ref=au(Re,Ce,ze),Et.return=Re,Et):(Et=Hs(ze.type,ze.key,ze.props,null,Re.mode,Et),Et.ref=au(Re,Ce,ze),Et.return=Re,Et)}function ut(Re,Ce,ze,Et){return Ce===null||Ce.tag!==4||Ce.stateNode.containerInfo!==ze.containerInfo||Ce.stateNode.implementation!==ze.implementation?(Ce=Xf(ze,Re.mode,Et),Ce.return=Re,Ce):(Ce=M(Ce,ze.children||[],Et),Ce.return=Re,Ce)}function In(Re,Ce,ze,Et,on){return Ce===null||Ce.tag!==7?(Ce=mi(ze,Re.mode,Et,on),Ce.return=Re,Ce):(Ce=M(Ce,ze,Et),Ce.return=Re,Ce)}function A0(Re,Ce,ze){if(typeof Ce=="string"||typeof Ce=="number")return Ce=vi(""+Ce,Re.mode,ze),Ce.return=Re,Ce;if(typeof Ce=="object"&&Ce!==null){switch(Ce.$$typeof){case x:return ze=Hs(Ce.type,Ce.key,Ce.props,null,Re.mode,ze),ze.ref=au(Re,null,Ce),ze.return=Re,ze;case D:return Ce=Xf(Ce,Re.mode,ze),Ce.return=Re,Ce}if(M0(Ce)||J(Ce))return Ce=mi(Ce,Re.mode,ze,null),Ce.return=Re,Ce;Lr(Re,Ce)}return null}function jr(Re,Ce,ze,Et){var on=Ce!==null?Ce.key:null;if(typeof ze=="string"||typeof ze=="number")return on!==null?null:Ye(Re,Ce,""+ze,Et);if(typeof ze=="object"&&ze!==null){switch(ze.$$typeof){case x:return ze.key===on?ze.type===L?In(Re,Ce,ze.props.children,Et,on):Ze(Re,Ce,ze,Et):null;case D:return ze.key===on?ut(Re,Ce,ze,Et):null}if(M0(ze)||J(ze))return on!==null?null:In(Re,Ce,ze,Et,null);Lr(Re,ze)}return null}function gi(Re,Ce,ze,Et,on){if(typeof Et=="string"||typeof Et=="number")return Re=Re.get(ze)||null,Ye(Ce,Re,""+Et,on);if(typeof Et=="object"&&Et!==null){switch(Et.$$typeof){case x:return Re=Re.get(Et.key===null?ze:Et.key)||null,Et.type===L?In(Ce,Re,Et.props.children,on,Et.key):Ze(Ce,Re,Et,on);case D:return Re=Re.get(Et.key===null?ze:Et.key)||null,ut(Ce,Re,Et,on)}if(M0(Et)||J(Et))return Re=Re.get(ze)||null,In(Ce,Re,Et,on,null);Lr(Ce,Et)}return null}function po(Re,Ce,ze,Et){for(var on=null,sr=null,mn=Ce,pr=Ce=0,Hr=null;mn!==null&&pr<ze.length;pr++){mn.index>pr?(Hr=mn,mn=null):Hr=mn.sibling;var Vn=jr(Re,mn,ze[pr],Et);if(Vn===null){mn===null&&(mn=Hr);break}v&&mn&&Vn.alternate===null&&m(Re,mn),Ce=b(Vn,Ce,pr),sr===null?on=Vn:sr.sibling=Vn,sr=Vn,mn=Hr}if(pr===ze.length)return S(Re,mn),on;if(mn===null){for(;pr<ze.length;pr++)mn=A0(Re,ze[pr],Et),mn!==null&&(Ce=b(mn,Ce,pr),sr===null?on=mn:sr.sibling=mn,sr=mn);return on}for(mn=O(Re,mn);pr<ze.length;pr++)Hr=gi(mn,Re,pr,ze[pr],Et),Hr!==null&&(v&&Hr.alternate!==null&&mn.delete(Hr.key===null?pr:Hr.key),Ce=b(Hr,Ce,pr),sr===null?on=Hr:sr.sibling=Hr,sr=Hr);return v&&mn.forEach(function(ni){return m(Re,ni)}),on}function _i(Re,Ce,ze,Et){var on=J(ze);if(typeof on!="function")throw Error(t(150));if(ze=on.call(ze),ze==null)throw Error(t(151));for(var sr=on=null,mn=Ce,pr=Ce=0,Hr=null,Vn=ze.next();mn!==null&&!Vn.done;pr++,Vn=ze.next()){mn.index>pr?(Hr=mn,mn=null):Hr=mn.sibling;var ni=jr(Re,mn,Vn.value,Et);if(ni===null){mn===null&&(mn=Hr);break}v&&mn&&ni.alternate===null&&m(Re,mn),Ce=b(ni,Ce,pr),sr===null?on=ni:sr.sibling=ni,sr=ni,mn=Hr}if(Vn.done)return S(Re,mn),on;if(mn===null){for(;!Vn.done;pr++,Vn=ze.next())Vn=A0(Re,Vn.value,Et),Vn!==null&&(Ce=b(Vn,Ce,pr),sr===null?on=Vn:sr.sibling=Vn,sr=Vn);return on}for(mn=O(Re,mn);!Vn.done;pr++,Vn=ze.next())Vn=gi(mn,Re,pr,Vn.value,Et),Vn!==null&&(v&&Vn.alternate!==null&&mn.delete(Vn.key===null?pr:Vn.key),Ce=b(Vn,Ce,pr),sr===null?on=Vn:sr.sibling=Vn,sr=Vn);return v&&mn.forEach(function(Zf){return m(Re,Zf)}),on}return function(Re,Ce,ze,Et){var on=typeof ze=="object"&&ze!==null&&ze.type===L&&ze.key===null;on&&(ze=ze.props.children);var sr=typeof ze=="object"&&ze!==null;if(sr)switch(ze.$$typeof){case x:e:{for(sr=ze.key,on=Ce;on!==null;){if(on.key===sr)if(on.tag===7?ze.type===L:on.elementType===ze.type){S(Re,on.sibling),Ce=M(on,ze.type===L?ze.props.children:ze.props,Et),Ce.ref=au(Re,on,ze),Ce.return=Re,Re=Ce;break e}else{S(Re,on);break}else m(Re,on);on=on.sibling}ze.type===L?(Ce=mi(ze.props.children,Re.mode,Et,ze.key),Ce.return=Re,Re=Ce):(Et=Hs(ze.type,ze.key,ze.props,null,Re.mode,Et),Et.ref=au(Re,Ce,ze),Et.return=Re,Re=Et)}return ee(Re);case D:e:{for(on=ze.key;Ce!==null;){if(Ce.key===on)if(Ce.tag===4&&Ce.stateNode.containerInfo===ze.containerInfo&&Ce.stateNode.implementation===ze.implementation){S(Re,Ce.sibling),Ce=M(Ce,ze.children||[],Et),Ce.return=Re,Re=Ce;break e}else{S(Re,Ce);break}else m(Re,Ce);Ce=Ce.sibling}Ce=Xf(ze,Re.mode,Et),Ce.return=Re,Re=Ce}return ee(Re)}if(typeof ze=="
gitextract_wpwvnkz8/
├── LICENSE
├── README.md
├── projects.md
├── step00_hardhat_helloworld/
│ ├── .gitignore
│ ├── README.md
│ ├── contracts/
│ │ └── Greeter.sol
│ ├── hardhat.config.js
│ ├── package.json
│ ├── scripts/
│ │ └── sample-script.js
│ └── test/
│ └── sample-test.js
├── step01_hardhat_typescript_helloworld/
│ ├── .gitignore
│ ├── README.md
│ ├── contracts/
│ │ └── Greeter.sol
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── scripts/
│ │ └── sample-script.ts
│ ├── test/
│ │ └── sample-test.ts
│ └── tsconfig.json
├── step02_hardhat_simple_storage/
│ ├── .gitignore
│ ├── README.md
│ ├── contracts/
│ │ └── SimpleStorage.sol
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── scripts/
│ │ └── sample-script.ts
│ ├── test/
│ │ └── sample-test.ts
│ └── tsconfig.json
├── step03_solidity_tutorial/
│ ├── .gitignore
│ ├── README.md
│ ├── contracts/
│ │ ├── Demo1.sol
│ │ ├── Greeter.sol
│ │ ├── SolidityTest.sol
│ │ ├── SolidityTest2.sol
│ │ ├── SolidityTest3.sol
│ │ ├── SolidityTest4.sol
│ │ ├── SolidityTest5.sol
│ │ ├── SolidityTest6.sol
│ │ ├── SolidityTest7.sol
│ │ ├── SolidityTest8.sol
│ │ └── SolidityTest9.sol
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── scripts/
│ │ ├── deploy.ts
│ │ └── sample-script.ts
│ ├── test/
│ │ └── sample-test.ts
│ └── tsconfig.json
├── step04A_chap2_textbook/
│ ├── .commitlintrc.yaml
│ ├── .czrc
│ ├── .editorconfig
│ ├── .eslintignore
│ ├── .eslintrc.yaml
│ ├── .github/
│ │ └── FUNDING.yaml
│ ├── .gitignore
│ ├── .husky/
│ │ ├── .gitignore
│ │ ├── commit-msg
│ │ └── pre-commit
│ ├── .lintstagedrc
│ ├── .prettierignore
│ ├── .prettierrc.yaml
│ ├── .solcover.js
│ ├── .solhint.json
│ ├── .solhintignore
│ ├── .yarn/
│ │ ├── plugins/
│ │ │ └── @yarnpkg/
│ │ │ └── plugin-interactive-tools.cjs
│ │ └── releases/
│ │ └── yarn-3.1.0.cjs
│ ├── .yarnrc.yml
│ ├── README.md
│ ├── contracts/
│ │ ├── ABIEncodeExample.sol
│ │ ├── AcceptEther.sol
│ │ ├── AcceptEtherWithLog.sol
│ │ ├── AccountContract.sol
│ │ ├── ArraysExample.sol
│ │ ├── CallExample.sol
│ │ ├── EnumExample.sol
│ │ ├── GasExample.sol
│ │ ├── LoanStruct.sol
│ │ ├── MappingExample.sol
│ │ ├── Migrations.sol
│ │ ├── OraclizeService.sol
│ │ ├── SelectorExample.sol
│ │ ├── SkipContract.sol
│ │ ├── SpecialFunctions.sol
│ │ ├── StringExample.sol
│ │ ├── ThisExample.sol
│ │ └── VariableStorage.sol
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── tasks/
│ │ ├── accounts.ts
│ │ └── deploy/
│ │ ├── greeter.ts
│ │ └── index.ts
│ ├── test/
│ │ ├── greeter/
│ │ │ ├── Greeter.behavior.ts
│ │ │ └── Greeter.ts
│ │ └── types.ts
│ └── tsconfig.json
├── step04B_chap2_textbook/
│ ├── .eslintignore
│ ├── .eslintrc.js
│ ├── .gitignore
│ ├── .npmignore
│ ├── .prettierignore
│ ├── .solhint.json
│ ├── .solhintignore
│ ├── README.md
│ ├── contracts/
│ │ ├── ABIEncodeExample.sol
│ │ ├── CallFunctionDemo.sol
│ │ ├── CallerDemo.sol
│ │ ├── DemoLib.sol
│ │ ├── Greeter.sol
│ │ ├── RequestDemo.sol
│ │ └── SecondContract.sol
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── scripts/
│ │ ├── deploy.ts
│ │ ├── deploy2.ts
│ │ ├── deploy3.ts
│ │ └── deploy4.ts
│ ├── test/
│ │ └── index.ts
│ └── tsconfig.json
├── step05A_chap3_textbook/
│ ├── .commitlintrc.yaml
│ ├── .czrc
│ ├── .editorconfig
│ ├── .eslintignore
│ ├── .eslintrc.yaml
│ ├── .github/
│ │ └── FUNDING.yaml
│ ├── .gitignore
│ ├── .husky/
│ │ ├── .gitignore
│ │ ├── commit-msg
│ │ └── pre-commit
│ ├── .lintstagedrc
│ ├── .prettierignore
│ ├── .prettierrc.yaml
│ ├── .solcover.js
│ ├── .solhint.json
│ ├── .solhintignore
│ ├── .yarn/
│ │ ├── plugins/
│ │ │ └── @yarnpkg/
│ │ │ └── plugin-interactive-tools.cjs
│ │ └── releases/
│ │ └── yarn-3.1.0.cjs
│ ├── .yarnrc.yml
│ ├── README.md
│ ├── contracts/
│ │ ├── AbstractDeposit.sol
│ │ ├── ConstantExample.sol
│ │ ├── ConstructorExample.sol
│ │ ├── ControlledAddressList.sol
│ │ ├── EventExample.sol
│ │ ├── ExampleInterface.sol
│ │ ├── GetterExample.sol
│ │ ├── InternalConstructor.sol
│ │ ├── MainContract.sol
│ │ ├── Migrations.sol
│ │ ├── ModifierExample.sol
│ │ ├── MultiReturn.sol
│ │ ├── TokenList.sol
│ │ ├── VisibilityExample.sol
│ │ ├── function/
│ │ │ ├── FallbackFuncExample.sol
│ │ │ ├── FuncOverload.sol
│ │ │ ├── FuncOverride.sol
│ │ │ ├── PureFuncExample.sol
│ │ │ └── ViewFuncExample.sol
│ │ └── inheritance/
│ │ ├── InheritanceExample1.sol
│ │ ├── InheritanceExample2.sol
│ │ └── MyToken.sol
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── tasks/
│ │ ├── accounts.ts
│ │ └── deploy/
│ │ ├── greeter.ts
│ │ └── index.ts
│ ├── test/
│ │ ├── greeter/
│ │ │ ├── Greeter.behavior.ts
│ │ │ └── Greeter.ts
│ │ └── types.ts
│ └── tsconfig.json
├── step05B_chap3_textbook/
│ ├── .eslintignore
│ ├── .eslintrc.js
│ ├── .gitignore
│ ├── .npmignore
│ ├── .prettierignore
│ ├── .solhint.json
│ ├── .solhintignore
│ ├── README.md
│ ├── contracts/
│ │ ├── DemoConstant.sol
│ │ ├── DemoInheritance.sol
│ │ ├── Greeter.sol
│ │ └── ValueStorage.sol
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── scripts/
│ │ ├── deploy.ts
│ │ └── deploy2.ts
│ ├── test/
│ │ └── index.ts
│ └── tsconfig.json
├── step06A_chap7_erc20_token/
│ ├── .commitlintrc.yaml
│ ├── .czrc
│ ├── .editorconfig
│ ├── .eslintignore
│ ├── .eslintrc.yaml
│ ├── .github/
│ │ └── FUNDING.yaml
│ ├── .gitignore
│ ├── .husky/
│ │ ├── .gitignore
│ │ ├── commit-msg
│ │ └── pre-commit
│ ├── .lintstagedrc
│ ├── .prettierignore
│ ├── .prettierrc.yaml
│ ├── .solcover.js
│ ├── .solhint.json
│ ├── .solhintignore
│ ├── .yarn/
│ │ ├── plugins/
│ │ │ └── @yarnpkg/
│ │ │ └── plugin-interactive-tools.cjs
│ │ └── releases/
│ │ └── yarn-3.1.0.cjs
│ ├── .yarnrc.yml
│ ├── README.md
│ ├── contracts/
│ │ ├── ERC20.sol
│ │ ├── ERC20Advanced.sol
│ │ ├── ERC20FullInterface.sol
│ │ ├── ERC20Interface.sol
│ │ ├── FirstCoin.sol
│ │ └── Migrations.sol
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── scripts/
│ │ └── deploy.ts
│ ├── tasks/
│ │ ├── accounts.ts
│ │ └── deploy/
│ │ ├── erc20.ts
│ │ └── index.ts
│ ├── test/
│ │ └── firstcoin-test.ts
│ └── tsconfig.json
├── step06B_chap9_OpenZeppelin/
│ └── .gitignore
├── step06B_chap9_erc20_OpenZeppelin/
│ ├── .eslintignore
│ ├── .eslintrc.js
│ ├── .gitignore
│ ├── .npmignore
│ ├── .prettierignore
│ ├── .prettierrc
│ ├── .solhint.json
│ ├── .solhintignore
│ ├── README.md
│ ├── contracts/
│ │ ├── CrowdSale.sol
│ │ └── MyToken.sol
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── scripts/
│ │ └── deploy.ts
│ ├── test/
│ │ └── token-tests.ts
│ └── tsconfig.json
├── step07_chap8_erc721_token/
│ ├── .commitlintrc.yaml
│ ├── .czrc
│ ├── .editorconfig
│ ├── .eslintignore
│ ├── .eslintrc.yaml
│ ├── .github/
│ │ └── FUNDING.yaml
│ ├── .gitignore
│ ├── .husky/
│ │ ├── .gitignore
│ │ ├── commit-msg
│ │ └── pre-commit
│ ├── .lintstagedrc
│ ├── .prettierignore
│ ├── .prettierrc.yaml
│ ├── .solcover.js
│ ├── .solhint.json
│ ├── .solhintignore
│ ├── .yarn/
│ │ ├── plugins/
│ │ │ └── @yarnpkg/
│ │ │ └── plugin-interactive-tools.cjs
│ │ └── releases/
│ │ └── yarn-3.1.0.cjs
│ ├── .yarnrc.yml
│ ├── README.md
│ ├── contracts/
│ │ ├── ERC721.sol
│ │ ├── ERC721Enumerable.sol
│ │ ├── ERC721Full.sol
│ │ ├── ERC721Metadata.sol
│ │ ├── IERC721.sol
│ │ ├── IERC721Enumerable.sol
│ │ ├── IERC721Full.sol
│ │ ├── IERC721Metadata.sol
│ │ ├── IERC721Receiver.sol
│ │ ├── Interfaces/
│ │ │ ├── ERC165.sol
│ │ │ ├── ERC721.sol
│ │ │ ├── ERC721Enumerable.sol
│ │ │ ├── ERC721Metadata.sol
│ │ │ └── ERC721TokenReceiver.sol
│ │ ├── Migrations.sol
│ │ ├── introspection/
│ │ │ ├── ERC165.sol
│ │ │ └── IERC165.sol
│ │ └── utils/
│ │ └── Address.sol
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── scripts/
│ │ └── deploy.ts
│ ├── tasks/
│ │ ├── accounts.ts
│ │ └── deploy/
│ │ ├── erc20.ts
│ │ └── index.ts
│ ├── test/
│ │ └── firstcoin-test.ts
│ └── tsconfig.json
├── step08A_nft_erc721_OpenZeppelin/
│ ├── .eslintignore
│ ├── .eslintrc.js
│ ├── .gitignore
│ ├── .npmignore
│ ├── .prettierignore
│ ├── .prettierrc
│ ├── .solhint.json
│ ├── .solhintignore
│ ├── README.md
│ ├── contracts/
│ │ └── ApartmentCollection.sol
│ ├── dist/
│ │ ├── hardhat.config.d.ts
│ │ ├── hardhat.config.js
│ │ ├── scripts/
│ │ │ ├── deploy.d.ts
│ │ │ └── deploy.js
│ │ └── test/
│ │ ├── index.d.ts
│ │ └── index.js
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── scripts/
│ │ └── deploy.ts
│ ├── test/
│ │ └── index.ts
│ └── tsconfig.json
├── step08B_erc1155_Token/
│ ├── .gitignore
│ ├── README.md
│ ├── contracts/
│ │ └── MultiTokenNFT.sol
│ ├── hardhat.config.ts
│ ├── metadata/
│ │ ├── 0.json
│ │ ├── 1.json
│ │ ├── 2.json
│ │ ├── 3.json
│ │ ├── 4.json
│ │ └── 5.json
│ ├── package.json
│ ├── scripts/
│ │ ├── deploy.ts
│ │ ├── mint-token.ts
│ │ └── read-token-info.ts
│ ├── tasks/
│ │ ├── read-greeting.js
│ │ └── set-greeting.js
│ ├── test/
│ │ └── sample-test.ts
│ └── tsconfig.json
├── step08C_erc1155_TokenFractions/
│ ├── .gitignore
│ ├── README.md
│ ├── contracts/
│ │ ├── FractionalNFT.sol
│ │ └── Greeter.sol
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── scripts/
│ │ └── deploy.ts
│ ├── tasks/
│ │ ├── read-greeting.js
│ │ └── set-greeting.js
│ ├── test/
│ │ └── sample-test.ts
│ └── tsconfig.json
├── step09_withdrawal_design_pattern/
│ ├── .gitignore
│ ├── README.md
│ ├── contracts/
│ │ └── Splitter.sol
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── scripts/
│ │ └── deploy.ts
│ ├── test/
│ │ └── test.ts
│ └── tsconfig.json
├── step10_access_restriction_design_pattern/
│ ├── .gitignore
│ ├── README.md
│ ├── contracts/
│ │ └── AccessRestriction.sol
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── scripts/
│ │ └── deploy.ts
│ ├── test/
│ │ └── access-test.ts
│ └── tsconfig.json
├── step11_factory_design_pattern/
│ ├── .gitignore
│ ├── README.md
│ ├── contracts/
│ │ ├── CloneFactory.sol
│ │ ├── Factory1.sol
│ │ ├── Factory2.sol
│ │ └── Factory3.sol
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── scripts/
│ │ └── deploy.ts
│ ├── test/
│ │ └── access-test.ts
│ └── tsconfig.json
├── step12_state_machine_design_pattern/
│ ├── .gitignore
│ ├── README.md
│ ├── contracts/
│ │ └── DepositLock.sol
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── scripts/
│ │ └── deploy.ts
│ ├── test/
│ │ └── test.ts
│ └── tsconfig.json
├── step13_fail_early_loud_design_pattern/
│ ├── .gitignore
│ ├── README.md
│ ├── contracts/
│ │ └── FailEarly.sol
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── scripts/
│ │ └── deploy.ts
│ ├── test/
│ │ └── test.ts
│ └── tsconfig.json
├── step14_wrapped_token_design_pattern/
│ ├── .gitignore
│ ├── README.md
│ ├── contracts/
│ │ └── WETH.sol
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── scripts/
│ │ └── deploy.ts
│ ├── test/
│ │ └── test.ts
│ └── tsconfig.json
├── step15_gnosis_safe/
│ └── README.md
├── step16_chainlink_random_number/
│ ├── .gitignore
│ ├── README.md
│ ├── contracts/
│ │ └── VRFD20.sol
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── scripts/
│ │ └── deploy.ts
│ ├── test/
│ │ └── contract-test.ts
│ └── tsconfig.json
├── step17_chainlink_starter_kit/
│ ├── .eslintrc.js
│ ├── .gitattributes
│ ├── .gitignore
│ ├── LICENSE
│ ├── README.md
│ ├── contracts/
│ │ ├── APIConsumer.sol
│ │ ├── KeepersCounter.sol
│ │ ├── PriceConsumerV3.sol
│ │ ├── RandomNumberConsumer.sol
│ │ └── test/
│ │ ├── LinkToken.sol
│ │ ├── MockOracle.sol
│ │ ├── MockV3Aggregator.sol
│ │ └── VRFCoordinatorMock.sol
│ ├── deploy/
│ │ ├── 00_Deploy_Mocks.js
│ │ ├── 01_Deploy_PriceConsumerV3.js
│ │ ├── 02_Deploy_APIConsumer.js
│ │ ├── 03_Deploy_RandomNumberConsumer.js
│ │ ├── 04_Deploy_KeepersCounter.js
│ │ └── 99_Setup_Contracts.js
│ ├── hardhat.config.js
│ ├── helper-hardhat-config.js
│ ├── package.json
│ ├── tasks/
│ │ ├── accounts.js
│ │ ├── api-consumer/
│ │ │ ├── index.js
│ │ │ ├── read-data.js
│ │ │ └── request-data.js
│ │ ├── balance.js
│ │ ├── block-number.js
│ │ ├── keepers/
│ │ │ ├── index.js
│ │ │ └── read-keepers-counter.js
│ │ ├── price-consumer/
│ │ │ ├── index.js
│ │ │ ├── read-price-feed-ens.js
│ │ │ └── read-price-feed.js
│ │ ├── random-number-consumer/
│ │ │ ├── index.js
│ │ │ ├── read-random-number.js
│ │ │ └── request-random-number.js
│ │ └── withdraw-link.js
│ └── test/
│ ├── integration/
│ │ ├── APIConsumer_int_test.js
│ │ └── RandomNumberConsumer_int_test.js
│ └── unit/
│ ├── APIConsumer_unit_test.js
│ ├── KeepersCounter_unit_test.js
│ ├── PriceConsumerV3_unit_test.js
│ └── RandomNumberConsumer_unit_test.js
├── step18_upgradable_contract_design_pattern/
│ ├── .gitignore
│ ├── .openzeppelin/
│ │ └── unknown-31337.json
│ ├── README.md
│ ├── contracts/
│ │ ├── SimpleStorageUpgradeable.sol
│ │ └── SimpleStorageUpgradeableV2.sol
│ ├── hardhat.config.ts
│ ├── package.json
│ ├── scripts/
│ │ ├── deploy.ts
│ │ └── upgrade.ts
│ ├── test/
│ │ └── test.ts
│ └── tsconfig.json
├── step19_dao/
│ └── readme.md
├── step20_real_estate_tokenization/
│ └── readme.md
├── step21_dapp_architecture/
│ └── readme.md
├── step21_helloworld_dapp/
│ ├── .gitignore
│ ├── README.md
│ ├── package.json
│ ├── public/
│ │ ├── index.html
│ │ ├── manifest.json
│ │ └── robots.txt
│ ├── src/
│ │ ├── App.css
│ │ ├── App.test.tsx
│ │ ├── App.tsx
│ │ ├── SimpleStorage.tsx
│ │ ├── index.css
│ │ ├── index.tsx
│ │ ├── react-app-env.d.ts
│ │ ├── reportWebVitals.ts
│ │ └── setupTests.ts
│ └── tsconfig.json
├── step22_node_providers/
│ └── readme.md
├── step23_the_graph_theory/
│ └── readme.md
├── step24_the_graph_example/
│ └── readme.md
├── stepxx_solana_development/
│ └── readme.md
├── stepxx_yield_farming/
│ └── README.md
└── web3/
├── readme.md
├── step00_node_getbalance/
│ ├── .gitignore
│ ├── EthereumAccount.ts
│ ├── index.ts
│ ├── package.json
│ ├── readme.md
│ ├── tsconfig.json
│ └── tslint.json
├── step01_smartcontract_read_data/
│ ├── .gitignore
│ ├── SmartContract.ts
│ ├── index.ts
│ ├── package.json
│ ├── readme.md
│ ├── tsconfig.json
│ └── tslint.json
├── step02_smartcontract_read_data_typechain/
│ ├── .gitignore
│ ├── SmartContract.ts
│ ├── abi/
│ │ └── dai.json
│ ├── index.ts
│ ├── package.json
│ ├── readme.md
│ ├── tsconfig.json
│ └── tslint.json
├── step03_send_transaction_unlocked_account/
│ ├── .gitignore
│ ├── index.ts
│ ├── package.json
│ ├── readme.md
│ ├── transaction.ts
│ ├── tsconfig.json
│ └── tslint.json
├── step04_send_transaction_signed/
│ ├── .gitignore
│ ├── index.ts
│ ├── package.json
│ ├── readme.md
│ ├── signedTransaction.ts
│ ├── tsconfig.json
│ └── tslint.json
├── step05_deploy_contract/
│ ├── .gitignore
│ ├── deploySmartContract.ts
│ ├── index.ts
│ ├── package.json
│ ├── readme.md
│ ├── tsconfig.json
│ └── tslint.json
├── step06_invoke_smartContract_with_signed_functions/
│ ├── .gitignore
│ ├── index.ts
│ ├── package.json
│ ├── readme.md
│ ├── runSmartContract.ts
│ ├── tsconfig.json
│ └── tslint.json
├── step07_fetch_events/
│ ├── .gitignore
│ ├── getEventsDai.ts
│ ├── index.ts
│ ├── package.json
│ ├── readme.md
│ ├── tsconfig.json
│ └── tslint.json
├── step08_inspect_blocks/
│ ├── .gitignore
│ ├── index.ts
│ ├── inspectBlocks.ts
│ ├── package.json
│ ├── readme.md
│ ├── tsconfig.json
│ └── tslint.json
├── step09_utils/
│ ├── .gitignore
│ ├── index.ts
│ ├── package.json
│ ├── readme.md
│ ├── tsconfig.json
│ ├── tslint.json
│ └── utils.ts
├── step10_metamask/
│ ├── step00_ethereum_connect/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.json
│ │ ├── public/
│ │ │ ├── index.html
│ │ │ ├── manifest.json
│ │ │ └── robots.txt
│ │ └── src/
│ │ ├── App.css
│ │ ├── App.jsx
│ │ ├── App.test.js
│ │ ├── index.css
│ │ ├── index.js
│ │ ├── reportWebVitals.js
│ │ └── setupTests.js
│ ├── step01_ethereum_send_transaction/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.json
│ │ ├── public/
│ │ │ ├── index.html
│ │ │ ├── manifest.json
│ │ │ └── robots.txt
│ │ └── src/
│ │ ├── App.css
│ │ ├── App.jsx
│ │ ├── App.test.js
│ │ ├── index.css
│ │ ├── index.js
│ │ ├── reportWebVitals.js
│ │ └── setupTests.js
│ ├── step02_web3_basic/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.json
│ │ ├── public/
│ │ │ ├── index.html
│ │ │ ├── manifest.json
│ │ │ └── robots.txt
│ │ ├── src/
│ │ │ ├── App.css
│ │ │ ├── App.test.tsx
│ │ │ ├── App.tsx
│ │ │ ├── index.css
│ │ │ ├── index.tsx
│ │ │ ├── react-app-env.d.ts
│ │ │ ├── reportWebVitals.ts
│ │ │ └── setupTests.ts
│ │ └── tsconfig.json
│ └── step03_web3_send_transaction/
│ ├── .gitignore
│ ├── README.md
│ ├── package.json
│ ├── public/
│ │ ├── index.html
│ │ ├── manifest.json
│ │ └── robots.txt
│ ├── src/
│ │ ├── App.css
│ │ ├── App.test.tsx
│ │ ├── App.tsx
│ │ ├── index.css
│ │ ├── index.tsx
│ │ ├── react-app-env.d.ts
│ │ ├── reportWebVitals.ts
│ │ └── setupTests.ts
│ └── tsconfig.json
├── step11_react_examples/
│ ├── market_place/
│ │ ├── Readme.md
│ │ ├── backend/
│ │ │ ├── build/
│ │ │ │ └── contracts/
│ │ │ │ ├── Marketplace.json
│ │ │ │ └── Migrations.json
│ │ │ ├── contracts/
│ │ │ │ ├── Marketplace.sol
│ │ │ │ └── Migrations.sol
│ │ │ ├── migrations/
│ │ │ │ ├── 1_initial_migration.js
│ │ │ │ └── 2_deploy_contracts.js
│ │ │ ├── package.json
│ │ │ ├── test/
│ │ │ │ ├── .gitkeep
│ │ │ │ └── Marketplace.test.js
│ │ │ └── truffle-config.js
│ │ └── frontend/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.json
│ │ ├── public/
│ │ │ ├── index.html
│ │ │ ├── manifest.json
│ │ │ └── robots.txt
│ │ ├── src/
│ │ │ ├── App.css
│ │ │ ├── App.test.tsx
│ │ │ ├── App.tsx
│ │ │ ├── Main.tsx
│ │ │ ├── Navbar.tsx
│ │ │ ├── global.d.ts
│ │ │ ├── index.css
│ │ │ ├── index.tsx
│ │ │ ├── react-app-env.d.ts
│ │ │ ├── reportWebVitals.ts
│ │ │ ├── setupTests.ts
│ │ │ └── types.ts
│ │ ├── tsconfig.json
│ │ └── types/
│ │ └── web3-v1-contracts/
│ │ ├── Marketplace.d.ts
│ │ ├── Migrations.d.ts
│ │ └── types.d.ts
│ ├── market_place_redux/
│ │ ├── Readme.md
│ │ ├── backend/
│ │ │ ├── build/
│ │ │ │ └── contracts/
│ │ │ │ ├── Marketplace.json
│ │ │ │ └── Migrations.json
│ │ │ ├── contracts/
│ │ │ │ ├── Marketplace.sol
│ │ │ │ └── Migrations.sol
│ │ │ ├── migrations/
│ │ │ │ ├── 1_initial_migration.js
│ │ │ │ └── 2_deploy_contracts.js
│ │ │ ├── package.json
│ │ │ ├── test/
│ │ │ │ ├── .gitkeep
│ │ │ │ └── Marketplace.test.js
│ │ │ └── truffle-config.js
│ │ └── frontend/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── package.json
│ │ ├── public/
│ │ │ ├── index.html
│ │ │ ├── manifest.json
│ │ │ └── robots.txt
│ │ ├── src/
│ │ │ ├── App.css
│ │ │ ├── App.test.tsx
│ │ │ ├── App.tsx
│ │ │ ├── Main.tsx
│ │ │ ├── Navbar.tsx
│ │ │ ├── abis/
│ │ │ │ ├── Marketplace.json
│ │ │ │ └── Migrations.json
│ │ │ ├── global.d.ts
│ │ │ ├── index.css
│ │ │ ├── index.tsx
│ │ │ ├── react-app-env.d.ts
│ │ │ ├── reportWebVitals.ts
│ │ │ ├── setupTests.ts
│ │ │ ├── store/
│ │ │ │ ├── MarketplaceSlice.ts
│ │ │ │ └── store.ts
│ │ │ └── types.ts
│ │ ├── tsconfig.json
│ │ └── types/
│ │ └── web3-v1-contracts/
│ │ ├── Marketplace.d.ts
│ │ ├── Migrations.d.ts
│ │ └── types.d.ts
│ ├── todo_app/
│ │ ├── .gitignore
│ │ ├── blockchainBackend/
│ │ │ ├── README.md
│ │ │ ├── contracts/
│ │ │ │ └── TodoList.sol
│ │ │ ├── migrations/
│ │ │ │ └── 1_deploy_contract.js
│ │ │ ├── test/
│ │ │ │ └── .gitkeep
│ │ │ └── truffle-config.js
│ │ └── frontend/
│ │ ├── README.md
│ │ ├── package.json
│ │ ├── public/
│ │ │ ├── index.html
│ │ │ ├── manifest.json
│ │ │ └── robots.txt
│ │ ├── src/
│ │ │ ├── App.css
│ │ │ ├── App.test.tsx
│ │ │ ├── App.tsx
│ │ │ ├── abi/
│ │ │ │ └── todoList.json
│ │ │ ├── config.ts
│ │ │ ├── index.tsx
│ │ │ ├── react-app-env.d.ts
│ │ │ ├── reportWebVitals.ts
│ │ │ └── setupTests.ts
│ │ └── tsconfig.json
│ └── todo_app_redux/
│ ├── .gitignore
│ ├── blockchainBackend/
│ │ ├── README.md
│ │ ├── contracts/
│ │ │ └── TodoList.sol
│ │ ├── migrations/
│ │ │ └── 1_deploy_contract.js
│ │ └── truffle-config.js
│ └── frontend/
│ ├── README.md
│ ├── package.json
│ ├── public/
│ │ ├── index.html
│ │ ├── manifest.json
│ │ └── robots.txt
│ ├── src/
│ │ ├── App.css
│ │ ├── App.test.tsx
│ │ ├── App.tsx
│ │ ├── abi/
│ │ │ └── todoList.json
│ │ ├── config.ts
│ │ ├── index.tsx
│ │ ├── react-app-env.d.ts
│ │ ├── reportWebVitals.ts
│ │ ├── setupTests.ts
│ │ └── store/
│ │ ├── store.ts
│ │ └── todoListSlice.ts
│ ├── tsconfig.json
│ └── types/
│ └── web3-v1-contracts/
│ └── types.d.ts
└── step12_gatsby_examples/
├── socialMediaPosts_app/
│ ├── .gitignore
│ ├── README.md
│ ├── backend/
│ │ ├── README.md
│ │ ├── contracts/
│ │ │ ├── Migrations.sol
│ │ │ └── socialMedia.sol
│ │ ├── migrations/
│ │ │ ├── 1_initial_migration.js
│ │ │ └── 2_socialMedia_migration.js
│ │ ├── package.json
│ │ ├── test/
│ │ │ ├── .gitkeep
│ │ │ └── socialMedia.test.js
│ │ └── truffle-config.js
│ └── frontend/
│ ├── .gitignore
│ ├── .prettierignore
│ ├── .prettierrc
│ ├── LICENSE
│ ├── README.md
│ ├── gatsby-browser.js
│ ├── gatsby-config.js
│ ├── gatsby-node.js
│ ├── gatsby-ssr.js
│ ├── package.json
│ ├── src/
│ │ ├── abis/
│ │ │ ├── Migrations.json
│ │ │ └── SocialMedia.json
│ │ └── pages/
│ │ └── index.tsx
│ ├── tsconfig.json
│ ├── tslint.json
│ └── types/
│ └── web3-v1-contracts/
│ ├── Election.d.ts
│ ├── Migrations.d.ts
│ └── types.d.ts
└── voting_app/
├── .gitignore
├── backend/
│ ├── README.MD
│ ├── contracts/
│ │ ├── Election.sol
│ │ └── Migrations.sol
│ ├── migrations/
│ │ ├── 1_initial_migration.js
│ │ └── 2_deploy_contracts.js
│ ├── package.json
│ ├── test/
│ │ ├── .gitkeep
│ │ └── election.js
│ └── truffle-config.js
├── frontend/
│ ├── .gitignore
│ ├── .prettierignore
│ ├── .prettierrc
│ ├── LICENSE
│ ├── README.md
│ ├── gatsby-browser.js
│ ├── gatsby-config.js
│ ├── gatsby-node.js
│ ├── gatsby-ssr.js
│ ├── package.json
│ ├── src/
│ │ ├── abis/
│ │ │ ├── Election.json
│ │ │ └── Migrations.json
│ │ ├── components/
│ │ │ ├── footer.tsx
│ │ │ ├── global-styles.tsx
│ │ │ ├── layout.tsx
│ │ │ ├── logo.tsx
│ │ │ └── seo.tsx
│ │ ├── global.d.ts
│ │ ├── modules/
│ │ │ ├── Election.tsx
│ │ │ └── types.ts
│ │ └── pages/
│ │ ├── 404.tsx
│ │ ├── app.tsx
│ │ ├── election.tsx
│ │ └── index.tsx
│ ├── tsconfig.json
│ ├── tslint.json
│ └── types/
│ └── web3-v1-contracts/
│ ├── Election.d.ts
│ ├── Migrations.d.ts
│ └── types.d.ts
└── readme.md
Showing preview only (2,557K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (26966 symbols across 99 files)
FILE: step00_hardhat_helloworld/scripts/sample-script.js
function main (line 8) | async function main() {
FILE: step01_hardhat_typescript_helloworld/scripts/sample-script.ts
function main (line 10) | async function main() {
FILE: step02_hardhat_simple_storage/scripts/sample-script.ts
function main (line 9) | async function main() {
FILE: step03_solidity_tutorial/scripts/deploy.ts
function main (line 19) | async function main() {
FILE: step03_solidity_tutorial/scripts/sample-script.ts
function main (line 4) | async function main() {
FILE: step04A_chap2_textbook/.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs
function WR (line 6) | function WR(i){if(i==null)throw new TypeError("Object.assign cannot be c...
function HR (line 6) | function HR(){try{if(!Object.assign)return!1;var i=new String("abc");if(...
function Z1 (line 6) | function Z1(i){for(var u="https://reactjs.org/docs/error-decoder.html?in...
function va (line 6) | function va(i,u,f){this.props=i,this.context=u,this.refs=gD,this.updater...
function _D (line 6) | function _D(){}
function ny (line 6) | function ny(i,u,f){this.props=i,this.context=u,this.refs=gD,this.updater...
function DD (line 6) | function DD(i,u,f){var c,g={},t=null,C=null;if(u!=null)for(c in u.ref!==...
function eN (line 6) | function eN(i,u){return{$$typeof:Q1,type:i.type,key:u,ref:i.ref,props:i....
function oy (line 6) | function oy(i){return typeof i=="object"&&i!==null&&i.$$typeof===Q1}
function tN (line 6) | function tN(i){var u={"=":"=0",":":"=2"};return"$"+(""+i).replace(/[=:]/...
function SD (line 6) | function SD(i,u,f,c){if(mh.length){var g=mh.pop();return g.result=i,g.ke...
function CD (line 6) | function CD(i){i.result=null,i.keyPrefix=null,i.func=null,i.context=null...
function uy (line 6) | function uy(i,u,f,c){var g=typeof i;(g==="undefined"||g==="boolean")&&(i...
function ly (line 6) | function ly(i,u,f){return i==null?0:uy(i,"",u,f)}
function sy (line 6) | function sy(i,u){return typeof i=="object"&&i!==null&&i.key!=null?tN(i.k...
function nN (line 6) | function nN(i,u){i.func.call(i.context,u,i.count++)}
function rN (line 6) | function rN(i,u,f){var c=i.result,g=i.keyPrefix;i=i.func.call(i.context,...
function fy (line 6) | function fy(i,u,f,c,g){var t="";f!=null&&(t=(""+f).replace(ED,"$&/")+"/"...
function Kl (line 6) | function Kl(){var i=TD.current;if(i===null)throw Error(Z1(321));return i}
function K (line 6) | function K(ae,Be,Ie){switch(Ie.length){case 0:return ae.call(Be);case 1:...
function xe (line 6) | function xe(ae,Be,Ie,ht){for(var mt=-1,wn=ae==null?0:ae.length;++mt<wn;)...
function je (line 6) | function je(ae,Be){for(var Ie=-1,ht=ae==null?0:ae.length;++Ie<ht&&Be(ae[...
function Xe (line 6) | function Xe(ae,Be){for(var Ie=ae==null?0:ae.length;Ie--&&Be(ae[Ie],Ie,ae...
function rt (line 6) | function rt(ae,Be){for(var Ie=-1,ht=ae==null?0:ae.length;++Ie<ht;)if(!Be...
function st (line 6) | function st(ae,Be){for(var Ie=-1,ht=ae==null?0:ae.length,mt=0,wn=[];++Ie...
function xt (line 6) | function xt(ae,Be){var Ie=ae==null?0:ae.length;return!!Ie&&Qe(ae,Be,0)>-1}
function wt (line 6) | function wt(ae,Be,Ie){for(var ht=-1,mt=ae==null?0:ae.length;++ht<mt;)if(...
function lt (line 6) | function lt(ae,Be){for(var Ie=-1,ht=ae==null?0:ae.length,mt=Array(ht);++...
function Rt (line 6) | function Rt(ae,Be){for(var Ie=-1,ht=Be.length,mt=ae.length;++Ie<ht;)ae[m...
function yn (line 6) | function yn(ae,Be,Ie,ht){var mt=-1,wn=ae==null?0:ae.length;for(ht&&wn&&(...
function sn (line 6) | function sn(ae,Be,Ie,ht){var mt=ae==null?0:ae.length;for(ht&&mt&&(Ie=ae[...
function ar (line 6) | function ar(ae,Be){for(var Ie=-1,ht=ae==null?0:ae.length;++Ie<ht;)if(Be(...
function Hn (line 6) | function Hn(ae){return ae.split("")}
function d0 (line 6) | function d0(ae){return ae.match(c0)||[]}
function Cr (line 6) | function Cr(ae,Be,Ie){var ht;return Ie(ae,function(mt,wn,Gn){if(Be(mt,wn...
function He (line 6) | function He(ae,Be,Ie,ht){for(var mt=ae.length,wn=Ie+(ht?1:-1);ht?wn--:++...
function Qe (line 6) | function Qe(ae,Be,Ie){return Be===Be?$u(ae,Be,Ie):He(ae,ft,Ie)}
function Ne (line 6) | function Ne(ae,Be,Ie,ht){for(var mt=Ie-1,wn=ae.length;++mt<wn;)if(ht(ae[...
function ft (line 6) | function ft(ae){return ae!==ae}
function St (line 6) | function St(ae,Be){var Ie=ae==null?0:ae.length;return Ie?h0(ae,Be)/Ie:V}
function Qt (line 6) | function Qt(ae){return function(Be){return Be==null?i:Be[ae]}}
function Cn (line 6) | function Cn(ae){return function(Be){return ae==null?i:ae[Be]}}
function bn (line 6) | function bn(ae,Be,Ie,ht,mt){return mt(ae,function(wn,Gn,$t){Ie=ht?(ht=!1...
function p0 (line 6) | function p0(ae,Be){var Ie=ae.length;for(ae.sort(Be);Ie--;)ae[Ie]=ae[Ie]....
function h0 (line 6) | function h0(ae,Be){for(var Ie,ht=-1,mt=ae.length;++ht<mt;){var wn=Be(ae[...
function ci (line 6) | function ci(ae,Be){for(var Ie=-1,ht=Array(ae);++Ie<ae;)ht[Ie]=Be(Ie);ret...
function xi (line 6) | function xi(ae,Be){return lt(Be,function(Ie){return[Ie,ae[Ie]]})}
function E0 (line 6) | function E0(ae){return ae&&ae.slice(0,ai(ae)+1).replace(si,"")}
function qr (line 6) | function qr(ae){return function(Be){return ae(Be)}}
function Eo (line 6) | function Eo(ae,Be){return lt(Be,function(Ie){return ae[Ie]})}
function So (line 6) | function So(ae,Be){return ae.has(Be)}
function wl (line 6) | function wl(ae,Be){for(var Ie=-1,ht=ae.length;++Ie<ht&&Qe(Be,ae[Ie],0)>-...
function js (line 6) | function js(ae,Be){for(var Ie=ae.length;Ie--&&Qe(Be,ae[Ie],0)>-1;);retur...
function Dl (line 6) | function Dl(ae,Be){for(var Ie=ae.length,ht=0;Ie--;)ae[Ie]===Be&&++ht;ret...
function Us (line 6) | function Us(ae){return"\\"+cu[ae]}
function oo (line 6) | function oo(ae,Be){return ae==null?i:ae[Be]}
function Hi (line 6) | function Hi(ae){return bo.test(ae)}
function qs (line 6) | function qs(ae){return P0.test(ae)}
function F0 (line 6) | function F0(ae){for(var Be,Ie=[];!(Be=ae.next()).done;)Ie.push(Be.value)...
function Gr (line 6) | function Gr(ae){var Be=-1,Ie=Array(ae.size);return ae.forEach(function(h...
function ir (line 6) | function ir(ae,Be){return function(Ie){return ae(Be(Ie))}}
function L0 (line 6) | function L0(ae,Be){for(var Ie=-1,ht=ae.length,mt=0,wn=[];++Ie<ht;){var G...
function Y0 (line 6) | function Y0(ae){var Be=-1,Ie=Array(ae.size);return ae.forEach(function(h...
function Co (line 6) | function Co(ae){var Be=-1,Ie=Array(ae.size);return ae.forEach(function(h...
function $u (line 6) | function $u(ae,Be,Ie){for(var ht=Ie-1,mt=ae.length;++ht<mt;)if(ae[ht]===...
function Vo (line 6) | function Vo(ae,Be,Ie){for(var ht=Ie+1;ht--;)if(ae[ht]===Be)return ht;ret...
function Rr (line 6) | function Rr(ae){return Hi(ae)?Vr(ae):rn(ae)}
function Jn (line 6) | function Jn(ae){return Hi(ae)?ff(ae):Hn(ae)}
function ai (line 6) | function ai(ae){for(var Be=ae.length;Be--&&H0.test(ae.charAt(Be)););retu...
function Vr (line 6) | function Vr(ae){for(var Be=bu.lastIndex=0;bu.test(ae);)++Be;return Be}
function ff (line 6) | function ff(ae){return ae.match(bu)||[]}
function cf (line 6) | function cf(ae){return ae.match(Ns)||[]}
function z (line 6) | function z(a){if(n0(a)&&!On(a)&&!(a instanceof nn)){if(a instanceof Qn)r...
function a (line 6) | function a(){}
function Or (line 6) | function Or(){}
function Qn (line 6) | function Qn(a,p){this.__wrapped__=a,this.__actions__=[],this.__chain__=!...
function nn (line 6) | function nn(a){this.__wrapped__=a,this.__actions__=[],this.__dir__=1,thi...
function s0 (line 6) | function s0(){var a=new nn(this.__wrapped__);return a.__actions__=Xr(thi...
function t0 (line 6) | function t0(){if(this.__filtered__){var a=new nn(this);a.__dir__=-1,a.__...
function g0 (line 6) | function g0(){var a=this.__wrapped__.value(),p=this.__dir__,E=On(a),I=p<...
function Kr (line 6) | function Kr(a){var p=-1,E=a==null?0:a.length;for(this.clear();++p<E;){va...
function _0 (line 6) | function _0(){this.__data__=et?et(null):{},this.size=0}
function Gi (line 6) | function Gi(a){var p=this.has(a)&&delete this.__data__[a];return this.si...
function fo (line 6) | function fo(a){var p=this.__data__;if(et){var E=p[a];return E===C?i:E}re...
function x0 (line 6) | function x0(a){var p=this.__data__;return et?p[a]!==i:or.call(p,a)}
function Xu (line 6) | function Xu(a,p){var E=this.__data__;return this.size+=this.has(a)?0:1,E...
function Z0 (line 6) | function Z0(a){var p=-1,E=a==null?0:a.length;for(this.clear();++p<E;){va...
function df (line 6) | function df(){this.__data__=[],this.size=0}
function Ba (line 6) | function Ba(a){var p=this.__data__,E=hf(p,a);if(E<0)return!1;var I=p.len...
function Oc (line 6) | function Oc(a){var p=this.__data__,E=hf(p,a);return E<0?i:p[E][1]}
function mu (line 6) | function mu(a){return hf(this.__data__,a)>-1}
function Ju (line 6) | function Ju(a,p){var E=this.__data__,I=hf(E,a);return I<0?(++this.size,E...
function ei (line 6) | function ei(a){var p=-1,E=a==null?0:a.length;for(this.clear();++p<E;){va...
function Yf (line 6) | function Yf(){this.size=0,this.__data__={hash:new Kr,map:new(Y||Z0),stri...
function pf (line 6) | function pf(a){var p=Vc(this,a).delete(a);return this.size-=p?1:0,p}
function ja (line 6) | function ja(a){return Vc(this,a).get(a)}
function Ua (line 6) | function Ua(a){return Vc(this,a).has(a)}
function Ic (line 6) | function Ic(a,p){var E=Vc(this,a),I=E.size;return E.set(a,p),this.size+=...
function vu (line 6) | function vu(a){var p=-1,E=a==null?0:a.length;for(this.__data__=new ei;++...
function $f (line 6) | function $f(a){return this.__data__.set(a,C),this}
function gu (line 6) | function gu(a){return this.__data__.has(a)}
function co (line 6) | function co(a){var p=this.__data__=new Z0(a);this.size=p.size}
function qa (line 6) | function qa(){this.__data__=new Z0,this.size=0}
function Ws (line 6) | function Ws(a){var p=this.__data__,E=p.delete(a);return this.size=p.size,E}
function za (line 6) | function za(a){return this.__data__.get(a)}
function Pc (line 6) | function Pc(a){return this.__data__.has(a)}
function Qu (line 6) | function Qu(a,p){var E=this.__data__;if(E instanceof Z0){var I=E.__data_...
function Mc (line 6) | function Mc(a,p){var E=On(a),I=!E&&Ll(a),B=!E&&!I&&Eu(a),G=!E&&!I&&!B&&D...
function Fc (line 6) | function Fc(a){var p=a.length;return p?a[Ga(0,p-1)]:i}
function Lc (line 6) | function Lc(a,p){return Yc(Xr(a),mi(p,0,a.length))}
function Kf (line 6) | function Kf(a){return Yc(Xr(a))}
function Tl (line 6) | function Tl(a,p,E){(E!==i&&!Mo(a[p],E)||E===i&&!(p in a))&&ti(a,p,E)}
function xl (line 6) | function xl(a,p,E){var I=a[p];(!(or.call(a,p)&&Mo(I,E))||E===i&&!(p in a...
function hf (line 6) | function hf(a,p){for(var E=a.length;E--;)if(Mo(a[E][0],p))return E;retur...
function xo (line 6) | function xo(a,p,E,I){return $o(a,function(B,G,te){p(I,B,E(B),te)}),I}
function mf (line 6) | function mf(a,p){return a&&yi(p,q0(p),a)}
function Wa (line 6) | function Wa(a,p){return a&&yi(p,Yi(p),a)}
function ti (line 6) | function ti(a,p,E){p=="__proto__"&&To?To(a,p,{configurable:!0,enumerable...
function Hs (line 6) | function Hs(a,p){for(var E=-1,I=p.length,B=Ie(I),G=a==null;++E<I;)B[E]=G...
function mi (line 6) | function mi(a,p,E){return a===a&&(E!==i&&(a=a<=E?a:E),p!==i&&(a=a>=p?a:p...
function vi (line 6) | function vi(a,p,E,I,B,G){var te,se=p&D,Ee=p&L,$e=p&N;if(E&&(te=B?E(a,I,B...
function Xf (line 6) | function Xf(a){var p=q0(a);return function(E){return Rc(E,a,p)}}
function Rc (line 6) | function Rc(a,p,E){var I=E.length;if(a==null)return!I;for(a=$t(a);I--;){...
function Jf (line 6) | function Jf(a,p,E){if(typeof a!="function")throw new Yr(g);return wf(fun...
function ao (line 6) | function ao(a,p,E,I){var B=-1,G=xt,te=!0,se=a.length,Ee=[],$e=p.length;i...
function Nc (line 6) | function Nc(a,p){var E=!0;return $o(a,function(I,B,G){return E=!!p(I,B,G...
function Al (line 6) | function Al(a,p,E){for(var I=-1,B=a.length;++I<B;){var G=a[I],te=p(G);if...
function vf (line 6) | function vf(a,p,E,I){var B=a.length;for(E=jn(E),E<0&&(E=-E>B?0:B+E),I=I=...
function Qf (line 6) | function Qf(a,p){var E=[];return $o(a,function(I,B,G){p(I,B,G)&&E.push(I...
function k0 (line 6) | function k0(a,p,E,I,B){var G=-1,te=a.length;for(E||(E=Xm),B||(B=[]);++G<...
function S (line 6) | function S(a,p){return a&&v(a,p,q0)}
function O (line 6) | function O(a,p){return a&&m(a,p,q0)}
function M (line 6) | function M(a,p){return st(p,function(E){return rs(a[E])})}
function b (line 6) | function b(a,p){p=Gs(p,a);for(var E=0,I=p.length;a!=null&&E<I;)a=a[Xo(p[...
function ee (line 6) | function ee(a,p,E){var I=p(a);return On(a)?I:Rt(I,E(a))}
function Ye (line 6) | function Ye(a){return a==null?a===i?Ds:Mn:v0&&v0 in $t(a)?$m(a):Ys(a)}
function Ze (line 6) | function Ze(a,p){return a>p}
function ut (line 6) | function ut(a,p){return a!=null&&or.call(a,p)}
function In (line 6) | function In(a,p){return a!=null&&p in $t(a)}
function A0 (line 6) | function A0(a,p,E){return a>=kn(p,E)&&a<wr(p,E)}
function jr (line 6) | function jr(a,p,E){for(var I=E?wt:xt,B=a[0].length,G=a.length,te=G,se=Ie...
function gi (line 6) | function gi(a,p,E,I){return S(a,function(B,G,te){p(I,E(B),G,te)}),I}
function po (line 6) | function po(a,p,E){p=Gs(p,a),a=Vd(a,p);var I=a==null?a:a[Xo(Po(p))];retu...
function _i (line 6) | function _i(a){return n0(a)&&Ye(a)==at}
function Re (line 6) | function Re(a){return n0(a)&&Ye(a)==iu}
function Ce (line 6) | function Ce(a){return n0(a)&&Ye(a)==hn}
function ze (line 6) | function ze(a,p,E,I,B){return a===p?!0:a==null||p==null||!n0(a)&&!n0(p)?...
function Et (line 6) | function Et(a,p,E,I,B,G){var te=On(a),se=On(p),Ee=te?it:U0(a),$e=se?it:U...
function on (line 6) | function on(a){return n0(a)&&U0(a)==w}
function sr (line 6) | function sr(a,p,E,I){var B=E.length,G=B,te=!I;if(a==null)return!G;for(a=...
function mn (line 6) | function mn(a){if(!Jr(a)||Qm(a))return!1;var p=rs(a)?El:Os;return p.test...
function pr (line 6) | function pr(a){return n0(a)&&Ye(a)==gr}
function Hr (line 6) | function Hr(a){return n0(a)&&U0(a)==r0}
function Vn (line 6) | function Vn(a){return n0(a)&&na(a.length)&&!!nr[Ye(a)]}
function ni (line 6) | function ni(a){return typeof a=="function"?a:a==null?$i:typeof a=="objec...
function Zf (line 6) | function Zf(a){if(!nc(a))return lo(a);var p=[];for(var E in $t(a))or.cal...
function Pm (line 6) | function Pm(a){if(!Jr(a))return tv(a);var p=nc(a),E=[];for(var I in a)I=...
function Ha (line 6) | function Ha(a,p){return a<p}
function vd (line 6) | function vd(a,p){var E=-1,I=Vi(a)?Ie(a.length):[];return $o(a,function(B...
function gd (line 6) | function gd(a){var p=Nn(a);return p.length==1&&p[0][2]?d1(p[0][0],p[0][1...
function ba (line 6) | function ba(a,p){return c1(a)&&Hd(p)?d1(Xo(a),p):function(E){var I=oc(E,...
function Bc (line 6) | function Bc(a,p,E,I,B){a!==p&&v(p,function(G,te){if(B||(B=new co),Jr(G))...
function Mm (line 6) | function Mm(a,p,E,I,B,G,te){var se=h1(a,E),Ee=h1(p,E),$e=te.get(Ee);if($...
function _d (line 6) | function _d(a,p){var E=a.length;if(!!E)return p+=p<0?E:0,es(p,E)?a[p]:i}
function Oi (line 6) | function Oi(a,p,E){p.length?p=lt(p,function(G){return On(G)?function(te)...
function Fm (line 6) | function Fm(a,p){return yd(a,p,function(E,I){return I1(a,I)})}
function yd (line 6) | function yd(a,p,E){for(var I=-1,B=p.length,G={};++I<B;){var te=p[I],se=b...
function ko (line 6) | function ko(a){return function(p){return b(p,a)}}
function Ko (line 6) | function Ko(a,p,E,I){var B=I?Ne:Qe,G=-1,te=p.length,se=a;for(a===p&&(p=X...
function jc (line 6) | function jc(a,p){for(var E=a?p.length:0,I=E-1;E--;){var B=p[E];if(E==I||...
function Ga (line 6) | function Ga(a,p){return a+hu(Ai()*(p-a+1))}
function Lm (line 6) | function Lm(a,p,E,I){for(var B=-1,G=wr(B0((p-a)/(E||1)),0),te=Ie(G);G--;...
function Va (line 6) | function Va(a,p){var E="";if(!a||p<1||p>Nt)return E;do p%2&&(E+=a),p=hu(...
function Wn (line 6) | function Wn(a,p){return m1(Gd(a,p,$i),a+"")}
function wd (line 6) | function wd(a){return Fc(Ef(a))}
function Dd (line 6) | function Dd(a,p){var E=Ef(a);return Yc(E,mi(p,0,E.length))}
function Ol (line 6) | function Ol(a,p,E,I){if(!Jr(a))return a;p=Gs(p,a);for(var B=-1,G=p.lengt...
function Ao (line 6) | function Ao(a){return Yc(Ef(a))}
function Oo (line 6) | function Oo(a,p,E){var I=-1,B=a.length;p<0&&(p=-p>B?0:B+p),E=E>B?B:E,E<0...
function Nm (line 6) | function Nm(a,p){var E;return $o(a,function(I,B,G){return E=p(I,B,G),!E}...
function Uc (line 6) | function Uc(a,p,E){var I=0,B=a==null?I:a.length;if(typeof p=="number"&&p...
function Ya (line 6) | function Ya(a,p,E,I){var B=0,G=a==null?0:a.length;if(G===0)return 0;p=E(...
function Sd (line 6) | function Sd(a,p){for(var E=-1,I=a.length,B=0,G=[];++E<I;){var te=a[E],se...
function Cd (line 6) | function Cd(a){return typeof a=="number"?a:mo(a)?V:+a}
function ho (line 6) | function ho(a){if(typeof a=="string")return a;if(On(a))return lt(a,ho)+"...
function bs (line 6) | function bs(a,p,E){var I=-1,B=xt,G=a.length,te=!0,se=[],Ee=se;if(E)te=!1...
function $a (line 6) | function $a(a,p){return p=Gs(p,a),a=Vd(a,p),a==null||delete a[Xo(Po(p))]}
function Td (line 6) | function Td(a,p,E,I){return Ol(a,p,E(b(a,p)),I)}
function qc (line 6) | function qc(a,p,E,I){for(var B=a.length,G=I?B:-1;(I?G--:++G<B)&&p(a[G],G...
function xd (line 6) | function xd(a,p){var E=a;return E instanceof nn&&(E=E.value()),yn(p,func...
function Ka (line 6) | function Ka(a,p,E){var I=a.length;if(I<2)return I?bs(a[0]):[];for(var B=...
function kd (line 6) | function kd(a,p,E){for(var I=-1,B=a.length,G=p.length,te={};++I<B;){var ...
function Xa (line 6) | function Xa(a){return l0(a)?a:[]}
function Ja (line 6) | function Ja(a){return typeof a=="function"?a:$i}
function Gs (line 6) | function Gs(a,p){return On(a)?a:c1(a,p)?[a]:Xd(yr(a))}
function Vs (line 6) | function Vs(a,p,E){var I=a.length;return E=E===i?I:E,!p&&E>=I?a:Oo(a,p,E)}
function Od (line 6) | function Od(a,p){if(p)return a.slice();var E=a.length,I=Nr?Nr(E):new a.c...
function Qa (line 6) | function Qa(a){var p=new a.constructor(a.byteLength);return new R0(p).se...
function jm (line 6) | function jm(a,p){var E=p?Qa(a.buffer):a.buffer;return new a.constructor(...
function Um (line 6) | function Um(a){var p=new a.constructor(a.source,uu.exec(a));return p.las...
function qm (line 6) | function qm(a){return Wr?$t(Wr.call(a)):{}}
function Id (line 6) | function Id(a,p){var E=p?Qa(a.buffer):a.buffer;return new a.constructor(...
function Pd (line 6) | function Pd(a,p){if(a!==p){var E=a!==i,I=a===null,B=a===a,G=mo(a),te=p!=...
function zm (line 6) | function zm(a,p,E){for(var I=-1,B=a.criteria,G=p.criteria,te=B.length,se...
function gf (line 6) | function gf(a,p,E,I){for(var B=-1,G=a.length,te=E.length,se=-1,Ee=p.leng...
function Md (line 6) | function Md(a,p,E,I){for(var B=-1,G=a.length,te=-1,se=E.length,Ee=-1,$e=...
function Xr (line 6) | function Xr(a,p){var E=-1,I=a.length;for(p||(p=Ie(I));++E<I;)p[E]=a[E];r...
function yi (line 6) | function yi(a,p,E,I){var B=!E;E||(E={});for(var G=-1,te=p.length;++G<te;...
function j0 (line 6) | function j0(a,p){return yi(a,o1(a),p)}
function Zu (line 6) | function Zu(a,p){return yi(a,u1(a),p)}
function _f (line 6) | function _f(a,p){return function(E,I){var B=On(E)?xe:xo,G=p?p():{};retur...
function Io (line 6) | function Io(a){return Wn(function(p,E){var I=-1,B=E.length,G=B>1?E[B-1]:...
function _u (line 6) | function _u(a,p){return function(E,I){if(E==null)return E;if(!Vi(E))retu...
function ec (line 6) | function ec(a){return function(p,E,I){for(var B=-1,G=$t(p),te=I(p),se=te...
function Wm (line 6) | function Wm(a,p,E){var I=p&h,B=tc(a);function G(){var te=this&&this!==Lr...
function Fd (line 6) | function Fd(a){return function(p){p=yr(p);var E=Hi(p)?Jn(p):i,I=E?E[0]:p...
function yf (line 6) | function yf(a){return function(p){return yn(Yp(Hp(p).replace(Hu,"")),a,"...
function tc (line 6) | function tc(a){return function(){var p=arguments;switch(p.length){case 0...
function Hm (line 6) | function Hm(a,p,E){var I=tc(a);function B(){for(var G=arguments.length,t...
function Ld (line 6) | function Ld(a){return function(p,E,I){var B=$t(p);if(!Vi(p)){var G=cn(E,...
function Rd (line 6) | function Rd(a){return yu(function(p){var E=p.length,I=E,B=Qn.prototype.t...
function zc (line 6) | function zc(a,p,E,I,B,G,te,se,Ee,$e){var Ke=p&De,nt=p&h,Ct=p&re,Gt=p&(Q|...
function Nd (line 6) | function Nd(a,p){return function(E,I){return gi(E,a,p(I),{})}}
function Wc (line 6) | function Wc(a,p){return function(E,I){var B;if(E===i&&I===i)return p;if(...
function Zn (line 6) | function Zn(a){return yu(function(p){return p=lt(p,qr(cn())),Wn(function...
function Hc (line 6) | function Hc(a,p){p=p===i?" ":ho(p);var E=p.length;if(E<2)return E?Va(p,a...
function Za (line 6) | function Za(a,p,E,I){var B=p&h,G=tc(a);function te(){for(var se=-1,Ee=ar...
function Bd (line 6) | function Bd(a){return function(p,E,I){return I&&typeof I!="number"&&Ii(p...
function bc (line 6) | function bc(a){return function(p,E){return typeof p=="string"&&typeof E=...
function ur (line 6) | function ur(a,p,E,I,B,G,te,se,Ee,$e){var Ke=p&Q,nt=Ke?te:i,Ct=Ke?i:te,Gt...
function e1 (line 6) | function e1(a){var p=Gn[a];return function(E,I){if(E=Fo(E),I=I==null?0:k...
function t1 (line 6) | function t1(a){return function(p){var E=U0(p);return E==w?Gr(p):E==r0?Co...
function Lt (line 6) | function Lt(a,p,E,I,B,G,te,se){var Ee=p&re;if(!Ee&&typeof a!="function")...
function n1 (line 6) | function n1(a,p,E,I){return a===i||Mo(a,Tn[E])&&!or.call(I,E)?p:a}
function jd (line 6) | function jd(a,p,E,I,B,G){return Jr(a)&&Jr(p)&&(G.set(p,a),Bc(a,p,i,jd,G)...
function Gm (line 6) | function Gm(a){return ic(a)?i:a}
function Ud (line 6) | function Ud(a,p,E,I,B,G){var te=E&j,se=a.length,Ee=p.length;if(se!=Ee&&!...
function Vm (line 6) | function Vm(a,p,E,I,B,G,te){switch(E){case ou:if(a.byteLength!=p.byteLen...
function Ym (line 6) | function Ym(a,p,E,I,B,G){var te=E&j,se=r1(a),Ee=se.length,$e=r1(p),Ke=$e...
function yu (line 6) | function yu(a){return m1(Gd(a,i,Zd),a+"")}
function r1 (line 6) | function r1(a){return ee(a,q0,o1)}
function Dn (line 6) | function Dn(a){return ee(a,Yi,u1)}
function Gc (line 6) | function Gc(a){for(var p=a.name+"",E=bt[p],I=or.call(bt,p)?E.length:0;I-...
function An (line 6) | function An(a){var p=or.call(z,"placeholder")?z:a;return p.placeholder}
function cn (line 6) | function cn(){var a=z.iteratee||N1;return a=a===N1?ni:a,arguments.length...
function Vc (line 6) | function Vc(a,p){var E=a.__data__;return Jm(p)?E[typeof p=="string"?"str...
function Nn (line 6) | function Nn(a){for(var p=q0(a),E=p.length;E--;){var I=p[E],B=a[I];p[E]=[...
function Il (line 6) | function Il(a,p){var E=oo(a,p);return mn(E)?E:i}
function $m (line 6) | function $m(a){var p=or.call(a,v0),E=a[v0];try{a[v0]=i;var I=!0}catch(G)...
function s1 (line 6) | function s1(a,p,E){for(var I=-1,B=E.length;++I<B;){var G=E[I],te=G.size;...
function l1 (line 6) | function l1(a){var p=a.match(Bt);return p?p[1].split(Lu):[]}
function qd (line 6) | function qd(a,p,E){p=Gs(p,a);for(var I=-1,B=p.length,G=!1;++I<B;){var te...
function f1 (line 6) | function f1(a){var p=a.length,E=new a.constructor(p);return p&&typeof a[...
function zd (line 6) | function zd(a){return typeof a.constructor=="function"&&!nc(a)?dr(uo(a))...
function Wd (line 6) | function Wd(a,p,E){var I=a.constructor;switch(p){case iu:return Qa(a);ca...
function Km (line 6) | function Km(a,p){var E=p.length;if(!E)return a;var I=E-1;return p[I]=(E>...
function Xm (line 8) | function Xm(a){return On(a)||Ll(a)||!!(di&&a&&a[di])}
function es (line 8) | function es(a,p){var E=typeof a;return p=p==null?Nt:p,!!p&&(E=="number"|...
function Ii (line 8) | function Ii(a,p,E){if(!Jr(E))return!1;var I=typeof p;return(I=="number"?...
function c1 (line 8) | function c1(a,p){if(On(a))return!1;var E=typeof a;return E=="number"||E=...
function Jm (line 8) | function Jm(a){var p=typeof a;return p=="string"||p=="number"||p=="symbo...
function a1 (line 8) | function a1(a){var p=Gc(a),E=z[p];if(typeof E!="function"||!(p in nn.pro...
function Qm (line 8) | function Qm(a){return!!Ku&&Ku in a}
function nc (line 8) | function nc(a){var p=a&&a.constructor,E=typeof p=="function"&&p.prototyp...
function Hd (line 8) | function Hd(a){return a===a&&!Jr(a)}
function d1 (line 8) | function d1(a,p){return function(E){return E==null?!1:E[a]===p&&(p!==i||...
function bd (line 8) | function bd(a){var p=Qc(a,function(I){return E.size===A&&E.clear(),I}),E...
function ev (line 8) | function ev(a,p){var E=a[1],I=p[1],B=E|I,G=B<(h|re|De),te=I==De&&E==Q||I...
function tv (line 8) | function tv(a){var p=[];if(a!=null)for(var E in $t(a))p.push(E);return p}
function Ys (line 8) | function Ys(a){return J0.call(a)}
function Gd (line 8) | function Gd(a,p,E){return p=wr(p===i?a.length-1:p,0),function(){for(var ...
function Vd (line 8) | function Vd(a,p){return p.length<2?a:b(a,Oo(p,0,-1))}
function p1 (line 8) | function p1(a,p){for(var E=a.length,I=kn(p.length,E),B=Xr(a);I--;){var G...
function h1 (line 8) | function h1(a,p){if(!(p==="constructor"&&typeof a[p]=="function")&&p!="_...
function $d (line 8) | function $d(a,p,E){var I=p+"";return m1(a,Km(I,nv(l1(I),E)))}
function Kd (line 8) | function Kd(a){var p=0,E=0;return function(){var I=T0(),B=ct-(I-E);if(E=...
function Yc (line 8) | function Yc(a,p){var E=-1,I=a.length,B=I-1;for(p=p===i?I:p;++E<p;){var G...
function Xo (line 8) | function Xo(a){if(typeof a=="string"||mo(a))return a;var p=a+"";return p...
function Pl (line 8) | function Pl(a){if(a!=null){try{return bi.call(a)}catch(p){}try{return a+...
function nv (line 8) | function nv(a,p){return je(Ae,function(E){var I="_."+E[0];p&E[1]&&!xt(a,...
function Jd (line 8) | function Jd(a){if(a instanceof nn)return a.clone();var p=new Qn(a.__wrap...
function rv (line 8) | function rv(a,p,E){(E?Ii(a,p,E):p===i)?p=1:p=wr(jn(p),0);var I=a==null?0...
function iv (line 8) | function iv(a){for(var p=-1,E=a==null?0:a.length,I=0,B=[];++p<E;){var G=...
function ov (line 8) | function ov(){var a=arguments.length;if(!a)return[];for(var p=Ie(a-1),E=...
function ts (line 8) | function ts(a,p,E){var I=a==null?0:a.length;return I?(p=E||p===i?1:jn(p)...
function ns (line 8) | function ns(a,p,E){var I=a==null?0:a.length;return I?(p=E||p===i?1:jn(p)...
function sv (line 8) | function sv(a,p){return a&&a.length?qc(a,cn(p,3),!0,!0):[]}
function lv (line 8) | function lv(a,p){return a&&a.length?qc(a,cn(p,3),!0):[]}
function fv (line 8) | function fv(a,p,E,I){var B=a==null?0:a.length;return B?(E&&typeof E!="nu...
function Qd (line 8) | function Qd(a,p,E){var I=a==null?0:a.length;if(!I)return-1;var B=E==null...
function $c (line 8) | function $c(a,p,E){var I=a==null?0:a.length;if(!I)return-1;var B=I-1;ret...
function Zd (line 8) | function Zd(a){var p=a==null?0:a.length;return p?k0(a,1):[]}
function cv (line 8) | function cv(a){var p=a==null?0:a.length;return p?k0(a,Ot):[]}
function ep (line 8) | function ep(a,p){var E=a==null?0:a.length;return E?(p=p===i?1:jn(p),k0(a...
function av (line 8) | function av(a){for(var p=-1,E=a==null?0:a.length,I={};++p<E;){var B=a[p]...
function tp (line 8) | function tp(a){return a&&a.length?a[0]:i}
function dv (line 8) | function dv(a,p,E){var I=a==null?0:a.length;if(!I)return-1;var B=E==null...
function pv (line 8) | function pv(a){var p=a==null?0:a.length;return p?Oo(a,0,-1):[]}
function vv (line 8) | function vv(a,p){return a==null?"":zr.call(a,p)}
function Po (line 8) | function Po(a){var p=a==null?0:a.length;return p?a[p-1]:i}
function gv (line 8) | function gv(a,p,E){var I=a==null?0:a.length;if(!I)return-1;var B=I;retur...
function _v (line 8) | function _v(a,p){return a&&a.length?_d(a,jn(p)):i}
function rp (line 8) | function rp(a,p){return a&&a.length&&p&&p.length?Ko(a,p):a}
function ip (line 8) | function ip(a,p,E){return a&&a.length&&p&&p.length?Ko(a,p,cn(E,2)):a}
function wv (line 8) | function wv(a,p,E){return a&&a.length&&p&&p.length?Ko(a,p,i,E):a}
function v1 (line 8) | function v1(a,p){var E=[];if(!(a&&a.length))return E;var I=-1,B=[],G=a.l...
function g1 (line 8) | function g1(a){return a==null?a:Kt.call(a)}
function Ev (line 8) | function Ev(a,p,E){var I=a==null?0:a.length;return I?(E&&typeof E!="numb...
function op (line 8) | function op(a,p){return Uc(a,p)}
function Sv (line 8) | function Sv(a,p,E){return Ya(a,p,cn(E,2))}
function Cv (line 8) | function Cv(a,p){var E=a==null?0:a.length;if(E){var I=Uc(a,p);if(I<E&&Mo...
function Tv (line 8) | function Tv(a,p){return Uc(a,p,!0)}
function xv (line 8) | function xv(a,p,E){return Ya(a,p,cn(E,2),!0)}
function kv (line 8) | function kv(a,p){var E=a==null?0:a.length;if(E){var I=Uc(a,p,!0)-1;if(Mo...
function up (line 8) | function up(a){return a&&a.length?Sd(a):[]}
function Av (line 8) | function Av(a,p){return a&&a.length?Sd(a,cn(p,2)):[]}
function Ov (line 8) | function Ov(a){var p=a==null?0:a.length;return p?Oo(a,1,p):[]}
function Iv (line 8) | function Iv(a,p,E){return a&&a.length?(p=E||p===i?1:jn(p),Oo(a,0,p<0?0:p...
function Pv (line 8) | function Pv(a,p,E){var I=a==null?0:a.length;return I?(p=E||p===i?1:jn(p)...
function Mv (line 8) | function Mv(a,p){return a&&a.length?qc(a,cn(p,3),!1,!0):[]}
function Fv (line 8) | function Fv(a,p){return a&&a.length?qc(a,cn(p,3)):[]}
function Xs (line 8) | function Xs(a){return a&&a.length?bs(a):[]}
function Rv (line 8) | function Rv(a,p){return a&&a.length?bs(a,cn(p,2)):[]}
function _1 (line 8) | function _1(a,p){return p=typeof p=="function"?p:i,a&&a.length?bs(a,i,p)...
function y1 (line 8) | function y1(a){if(!(a&&a.length))return[];var p=0;return a=st(a,function...
function sp (line 8) | function sp(a,p){if(!(a&&a.length))return[];var E=y1(a);return p==null?E...
function Uv (line 8) | function Uv(a,p){return kd(a||[],p||[],xl)}
function qv (line 8) | function qv(a,p){return kd(a||[],p||[],Ol)}
function fp (line 8) | function fp(a){var p=z(a);return p.__chain__=!0,p}
function cp (line 8) | function cp(a,p){return p(a),a}
function Kc (line 8) | function Kc(a,p){return p(a)}
function Hv (line 8) | function Hv(){return fp(this)}
function bv (line 8) | function bv(){return new Qn(this.value(),this.__chain__)}
function Gv (line 8) | function Gv(){this.__values__===i&&(this.__values__=Op(this.value()));va...
function Vv (line 8) | function Vv(){return this}
function Yv (line 8) | function Yv(a){for(var p,E=this;E instanceof Or;){var I=Jd(E);I.__index_...
function Ml (line 8) | function Ml(){var a=this.__wrapped__;if(a instanceof nn){var p=a;return ...
function Fl (line 8) | function Fl(){return xd(this.__wrapped__,this.__actions__)}
function $v (line 8) | function $v(a,p,E){var I=On(a)?rt:Nc;return E&&Ii(a,p,E)&&(p=i),I(a,cn(p...
function Kv (line 8) | function Kv(a,p){var E=On(a)?st:Qf;return E(a,cn(p,3))}
function Jv (line 8) | function Jv(a,p){return k0(Jc(a,p),1)}
function Qv (line 8) | function Qv(a,p){return k0(Jc(a,p),Ot)}
function ap (line 8) | function ap(a,p,E){return E=E===i?1:jn(E),k0(Jc(a,p),E)}
function dp (line 8) | function dp(a,p){var E=On(a)?je:$o;return E(a,cn(p,3))}
function pp (line 8) | function pp(a,p){var E=On(a)?Xe:kl;return E(a,cn(p,3))}
function eg (line 8) | function eg(a,p,E,I){a=Vi(a)?a:Ef(a),E=E&&!I?jn(E):0;var B=a.length;retu...
function Jc (line 8) | function Jc(a,p){var E=On(a)?lt:vd;return E(a,cn(p,3))}
function ng (line 8) | function ng(a,p,E,I){return a==null?[]:(On(p)||(p=p==null?[]:[p]),E=I?i:...
function mp (line 8) | function mp(a,p,E){var I=On(a)?yn:bn,B=arguments.length<3;return I(a,cn(...
function ig (line 8) | function ig(a,p,E){var I=On(a)?sn:bn,B=arguments.length<3;return I(a,cn(...
function og (line 8) | function og(a,p){var E=On(a)?st:Qf;return E(a,Zc(cn(p,3)))}
function ug (line 8) | function ug(a){var p=On(a)?Fc:wd;return p(a)}
function sg (line 8) | function sg(a,p,E){(E?Ii(a,p,E):p===i)?p=1:p=jn(p);var I=On(a)?Lc:Dd;ret...
function lg (line 8) | function lg(a){var p=On(a)?Kf:Ao;return p(a)}
function E1 (line 8) | function E1(a){if(a==null)return 0;if(Vi(a))return ia(a)?Rr(a):a.length;...
function fg (line 8) | function fg(a,p,E){var I=On(a)?ar:Nm;return E&&Ii(a,p,E)&&(p=i),I(a,cn(p...
function ag (line 8) | function ag(a,p){if(typeof p!="function")throw new Yr(g);return a=jn(a),...
function vp (line 8) | function vp(a,p,E){return p=E?i:p,p=a&&p==null?a.length:p,Lt(a,De,i,i,i,...
function gp (line 8) | function gp(a,p){var E;if(typeof p!="function")throw new Yr(g);return a=...
function C1 (line 8) | function C1(a,p,E){p=E?i:p;var I=Lt(a,Q,i,i,i,i,i,p);return I.placeholde...
function yp (line 8) | function yp(a,p,E){p=E?i:p;var I=Lt(a,oe,i,i,i,i,i,p);return I.placehold...
function wp (line 8) | function wp(a,p,E){var I,B,G,te,se,Ee,$e=0,Ke=!1,nt=!1,Ct=!0;if(typeof a...
function pg (line 8) | function pg(a){return Lt(a,Te)}
function Qc (line 8) | function Qc(a,p){if(typeof a!="function"||p!=null&&typeof p!="function")...
function Zc (line 8) | function Zc(a){if(typeof a!="function")throw new Yr(g);return function()...
function ea (line 8) | function ea(a){return gp(2,a)}
function vg (line 8) | function vg(a,p){if(typeof a!="function")throw new Yr(g);return p=p===i?...
function Ep (line 8) | function Ep(a,p){if(typeof a!="function")throw new Yr(g);return p=p==nul...
function gg (line 8) | function gg(a,p,E){var I=!0,B=!0;if(typeof a!="function")throw new Yr(g)...
function _g (line 8) | function _g(a){return vp(a,1)}
function yg (line 8) | function yg(a,p){return T1(Ja(p),a)}
function wg (line 8) | function wg(){if(!arguments.length)return[];var a=arguments[0];return On...
function Dg (line 8) | function Dg(a){return vi(a,N)}
function Sp (line 8) | function Sp(a,p){return p=typeof p=="function"?p:i,vi(a,N,p)}
function Eg (line 8) | function Eg(a){return vi(a,D|N)}
function Sg (line 8) | function Sg(a,p){return p=typeof p=="function"?p:i,vi(a,D|N,p)}
function Cg (line 8) | function Cg(a,p){return p==null||Rc(a,p,q0(p))}
function Mo (line 8) | function Mo(a,p){return a===p||a!==a&&p!==p}
function Vi (line 8) | function Vi(a){return a!=null&&na(a.length)&&!rs(a)}
function l0 (line 8) | function l0(a){return n0(a)&&Vi(a)}
function kg (line 8) | function kg(a){return a===!0||a===!1||n0(a)&&Ye(a)==jt}
function Og (line 8) | function Og(a){return n0(a)&&a.nodeType===1&&!ic(a)}
function Cp (line 8) | function Cp(a){if(a==null)return!0;if(Vi(a)&&(On(a)||typeof a=="string"|...
function Ig (line 8) | function Ig(a,p){return ze(a,p)}
function Pg (line 8) | function Pg(a,p,E){E=typeof E=="function"?E:i;var I=E?E(a,p):i;return I=...
function k1 (line 8) | function k1(a){if(!n0(a))return!1;var p=Ye(a);return p==Jt||p==Un||typeo...
function Mg (line 8) | function Mg(a){return typeof a=="number"&&Br(a)}
function rs (line 8) | function rs(a){if(!Jr(a))return!1;var p=Ye(a);return p==Yt||p==cr||p==Ft...
function A1 (line 8) | function A1(a){return typeof a=="number"&&a==jn(a)}
function na (line 8) | function na(a){return typeof a=="number"&&a>-1&&a%1==0&&a<=Nt}
function Jr (line 8) | function Jr(a){var p=typeof a;return a!=null&&(p=="object"||p=="function")}
function n0 (line 8) | function n0(a){return a!=null&&typeof a=="object"}
function Fg (line 8) | function Fg(a,p){return a===p||sr(a,p,Nn(p))}
function Lg (line 8) | function Lg(a,p,E){return E=typeof E=="function"?E:i,sr(a,p,Nn(p),E)}
function Rg (line 8) | function Rg(a){return xp(a)&&a!=+a}
function Ng (line 8) | function Ng(a){if(Zm(a))throw new mt(c);return mn(a)}
function Bg (line 8) | function Bg(a){return a===null}
function O1 (line 8) | function O1(a){return a==null}
function xp (line 8) | function xp(a){return typeof a=="number"||n0(a)&&Ye(a)==pt}
function ic (line 8) | function ic(a){if(!n0(a)||Ye(a)!=Bn)return!1;var p=uo(a);if(p===null)ret...
function jg (line 8) | function jg(a){return A1(a)&&a>=-Nt&&a<=Nt}
function ia (line 8) | function ia(a){return typeof a=="string"||!On(a)&&n0(a)&&Ye(a)==Ci}
function mo (line 8) | function mo(a){return typeof a=="symbol"||n0(a)&&Ye(a)==yo}
function Ap (line 8) | function Ap(a){return a===i}
function Ug (line 8) | function Ug(a){return n0(a)&&U0(a)==Mu}
function qg (line 8) | function qg(a){return n0(a)&&Ye(a)==Gf}
function Op (line 8) | function Op(a){if(!a)return[];if(Vi(a))return ia(a)?Jn(a):Xr(a);if(u0&&a...
function is (line 8) | function is(a){if(!a)return a===0?a:0;if(a=Fo(a),a===Ot||a===-Ot){var p=...
function jn (line 8) | function jn(a){var p=is(a),E=p%1;return p===p?E?p-E:p:0}
function Ip (line 8) | function Ip(a){return a?mi(jn(a),0,ne):0}
function Fo (line 8) | function Fo(a){if(typeof a=="number")return a;if(mo(a))return V;if(Jr(a)...
function oa (line 8) | function oa(a){return yi(a,Yi(a))}
function Hg (line 8) | function Hg(a){return a?mi(jn(a),-Nt,Nt):a===0?a:0}
function yr (line 8) | function yr(a){return a==null?"":ho(a)}
function Vg (line 8) | function Vg(a,p){var E=dr(a);return p==null?E:mf(E,p)}
function $g (line 8) | function $g(a,p){return Cr(a,cn(p,3),S)}
function Kg (line 8) | function Kg(a,p){return Cr(a,cn(p,3),O)}
function Xg (line 8) | function Xg(a,p){return a==null?a:v(a,cn(p,3),Yi)}
function Jg (line 8) | function Jg(a,p){return a==null?a:m(a,cn(p,3),Yi)}
function Qg (line 8) | function Qg(a,p){return a&&S(a,cn(p,3))}
function Zg (line 8) | function Zg(a,p){return a&&O(a,cn(p,3))}
function e_ (line 8) | function e_(a){return a==null?[]:M(a,q0(a))}
function t_ (line 8) | function t_(a){return a==null?[]:M(a,Yi(a))}
function oc (line 8) | function oc(a,p,E){var I=a==null?i:b(a,p);return I===i?E:I}
function n_ (line 8) | function n_(a,p){return a!=null&&qd(a,p,ut)}
function I1 (line 8) | function I1(a,p){return a!=null&&qd(a,p,In)}
function q0 (line 8) | function q0(a){return Vi(a)?Mc(a):Zf(a)}
function Yi (line 8) | function Yi(a){return Vi(a)?Mc(a,!0):Pm(a)}
function o_ (line 8) | function o_(a,p){var E={};return p=cn(p,3),S(a,function(I,B,G){ti(E,p(I,...
function Rp (line 8) | function Rp(a,p){var E={};return p=cn(p,3),S(a,function(I,B,G){ti(E,B,p(...
function l_ (line 8) | function l_(a,p){return Bp(a,Zc(cn(p)))}
function Bp (line 8) | function Bp(a,p){if(a==null)return{};var E=lt(Dn(a),function(I){return[I...
function c_ (line 8) | function c_(a,p,E){p=Gs(p,a);var I=-1,B=p.length;for(B||(B=1,a=i);++I<B;...
function jp (line 8) | function jp(a,p,E){return a==null?a:Ol(a,p,E)}
function Up (line 8) | function Up(a,p,E,I){return I=typeof I=="function"?I:i,a==null?a:Ol(a,p,...
function P1 (line 8) | function P1(a,p,E){var I=On(a),B=I||Eu(a)||Df(a);if(p=cn(p,4),E==null){v...
function a_ (line 8) | function a_(a,p){return a==null?!0:$a(a,p)}
function d_ (line 8) | function d_(a,p,E){return a==null?a:Td(a,p,Ja(E))}
function p_ (line 8) | function p_(a,p,E,I){return I=typeof I=="function"?I:i,a==null?a:Td(a,p,...
function Ef (line 8) | function Ef(a){return a==null?[]:Eo(a,q0(a))}
function h_ (line 8) | function h_(a){return a==null?[]:Eo(a,Yi(a))}
function m_ (line 8) | function m_(a,p,E){return E===i&&(E=p,p=i),E!==i&&(E=Fo(E),E=E===E?E:0),...
function v_ (line 8) | function v_(a,p,E){return p=is(p),E===i?(E=p,p=0):E=is(E),a=Fo(a),A0(a,p...
function g_ (line 8) | function g_(a,p,E){if(E&&typeof E!="boolean"&&Ii(a,p,E)&&(p=E=i),E===i&&...
function Wp (line 8) | function Wp(a){return L1(yr(a).toLowerCase())}
function Hp (line 8) | function Hp(a){return a=yr(a),a&&a.replace(_n,du).replace(V0,"")}
function y_ (line 8) | function y_(a,p,E){a=yr(a),p=ho(p);var I=a.length;E=E===i?I:mi(jn(E),0,I...
function M1 (line 8) | function M1(a){return a=yr(a),a&&Ac.test(a)?a.replace(Ui,Yu):a}
function w_ (line 8) | function w_(a){return a=yr(a),a&&Fr.test(a)?a.replace(kr,"\\$&"):a}
function S_ (line 8) | function S_(a,p,E){a=yr(a),p=jn(p);var I=p?Rr(a):0;if(!p||I>=p)return a;...
function C_ (line 8) | function C_(a,p,E){a=yr(a),p=jn(p);var I=p?Rr(a):0;return p&&I<p?a+Hc(p-...
function T_ (line 8) | function T_(a,p,E){a=yr(a),p=jn(p);var I=p?Rr(a):0;return p&&I<p?Hc(p-I,...
function x_ (line 8) | function x_(a,p,E){return E||p==null?p=0:p&&(p=+p),hi(yr(a).replace(si,"...
function Gp (line 8) | function Gp(a,p,E){return(E?Ii(a,p,E):p===i)?p=1:p=jn(p),Va(yr(a),p)}
function k_ (line 8) | function k_(){var a=arguments,p=yr(a[0]);return a.length<3?p:p.replace(a...
function O_ (line 8) | function O_(a,p,E){return E&&typeof E!="number"&&Ii(a,p,E)&&(p=E=i),E=E=...
function P_ (line 8) | function P_(a,p,E){return a=yr(a),E=E==null?0:mi(jn(E),0,a.length),p=ho(...
function M_ (line 8) | function M_(a,p,E){var I=z.templateSettings;E&&Ii(a,p,E)&&(p=i),a=yr(a),...
function F_ (line 25) | function F_(a){return yr(a).toLowerCase()}
function L_ (line 25) | function L_(a){return yr(a).toUpperCase()}
function R_ (line 25) | function R_(a,p,E){if(a=yr(a),a&&(E||p===i))return E0(a);if(!a||!(p=ho(p...
function F1 (line 25) | function F1(a,p,E){if(a=yr(a),a&&(E||p===i))return a.slice(0,ai(a)+1);if...
function N_ (line 25) | function N_(a,p,E){if(a=yr(a),a&&(E||p===i))return a.replace(si,"");if(!...
function B_ (line 25) | function B_(a,p){var E=Oe,I=Le;if(Jr(p)){var B="separator"in p?p.separat...
function Vp (line 25) | function Vp(a){return a=yr(a),a&&Mr.test(a)?a.replace(al,o0):a}
function Yp (line 25) | function Yp(a,p,E){return a=yr(a),p=E?i:p,p===i?qs(a)?cf(a):d0(a):a.matc...
function Kp (line 25) | function Kp(a){var p=a==null?0:a.length,E=cn();return a=p?lt(a,function(...
function q_ (line 25) | function q_(a){return Xf(vi(a,D))}
function R1 (line 25) | function R1(a){return function(){return a}}
function z_ (line 25) | function z_(a,p){return a==null||a!==a?p:a}
function $i (line 25) | function $i(a){return a}
function N1 (line 25) | function N1(a){return ni(typeof a=="function"?a:vi(a,D))}
function b_ (line 25) | function b_(a){return gd(vi(a,D))}
function G_ (line 25) | function G_(a,p){return ba(a,vi(p,D))}
function j1 (line 25) | function j1(a,p,E){var I=q0(p),B=M(p,I);E==null&&!(Jr(p)&&(B.length||!I....
function Xp (line 25) | function Xp(){return Lr._===this&&(Lr._=S0),this}
function U1 (line 25) | function U1(){}
function Y_ (line 25) | function Y_(a){return a=jn(a),Wn(function(p){return _d(p,a)})}
function q1 (line 25) | function q1(a){return c1(a)?Qt(Xo(a)):ko(a)}
function J_ (line 25) | function J_(a){return function(p){return a==null?i:b(a,p)}}
function z1 (line 25) | function z1(){return[]}
function W1 (line 25) | function W1(){return!1}
function e4 (line 25) | function e4(){return{}}
function t4 (line 25) | function t4(){return""}
function n4 (line 25) | function n4(){return!0}
function r4 (line 25) | function r4(a,p){if(a=jn(a),a<1||a>Nt)return[];var E=ne,I=kn(a,ne);p=cn(...
function H1 (line 25) | function H1(a){return On(a)?lt(a,Xo):mo(a)?[a]:Xr(Xd(yr(a)))}
function i4 (line 25) | function i4(a){var p=++zs;return yr(a)+p}
function l4 (line 25) | function l4(a){return a&&a.length?Al(a,$i,Ze):i}
function f4 (line 25) | function f4(a,p){return a&&a.length?Al(a,cn(p,2),Ze):i}
function c4 (line 25) | function c4(a){return St(a,$i)}
function Qp (line 25) | function Qp(a,p){return St(a,cn(p,2))}
function a4 (line 25) | function a4(a){return a&&a.length?Al(a,$i,Ha):i}
function d4 (line 25) | function d4(a,p){return a&&a.length?Al(a,cn(p,2),Ha):i}
function v4 (line 25) | function v4(a){return a&&a.length?h0(a,$i):0}
function g4 (line 25) | function g4(a,p){return a&&a.length?h0(a,cn(p,2)):0}
function py (line 25) | function py(){!i2||(i2=!1,r2.forEach(function(i){try{process.removeListe...
function wa (line 25) | function wa(i,u,f){Bi.emitted[i]||(Bi.emitted[i]=!0,Bi.emit(i,u,f))}
function RD (line 25) | function RD(){i2||(i2=!0,Bi.count+=1,r2=r2.filter(function(i){try{return...
function lN (line 25) | function lN(i){process.exitCode=i||0,wa("exit",process.exitCode,null),wa...
function fN (line 25) | function fN(i,u){if(i==="exit"){u!==void 0&&(process.exitCode=u);var f=m...
function VD (line 27) | function VD(i){return typeof i=="string"?!!nl[i]:Object.keys(i).every(fu...
function Ty (line 27) | function Ty(i,u){var f=i.length;i.push(u);e:for(;;){var c=Math.floor((f-...
function Iu (line 27) | function Iu(i){return i=i[0],i===void 0?null:i}
function Ah (line 27) | function Ah(i){var u=i[0];if(u!==void 0){var f=i.pop();if(f!==u){i[0]=f;...
function kh (line 27) | function kh(i,u){var f=i.sortIndex-u.sortIndex;return f!==0?f:i.id-u.id}
function Ih (line 27) | function Ih(i){for(var u=Iu(Nf);u!==null;){if(u.callback===null)Ah(Nf);e...
function xy (line 27) | function xy(i){if(f2=!1,Ih(i),!pc)if(Iu(ds)!==null)pc=!0,Ea(ky);else{var...
function ky (line 27) | function ky(i,u){pc=!1,f2&&(f2=!1,Eh()),Oh=!0;var f=to;try{for(Ih(u),_o=...
function rE (line 27) | function rE(i){switch(i){case 1:return-1;case 2:return 250;case 5:return...
function t (line 27) | function t(v){for(var m="https://reactjs.org/docs/error-decoder.html?inv...
function J (line 27) | function J(v){return v===null||typeof v!="object"?null:(v=De&&v[De]||v["...
function Te (line 27) | function Te(v){if(v._status===-1){v._status=0;var m=v._ctor;m=m(),v._res...
function Oe (line 27) | function Oe(v){if(v==null)return null;if(typeof v=="function")return v.d...
function Le (line 27) | function Le(v){var m=v,S=v;if(v.alternate)for(;m.return;)m=m.return;else...
function ot (line 27) | function ot(v){if(Le(v)!==v)throw Error(t(188))}
function ct (line 27) | function ct(v){var m=v.alternate;if(!m){if(m=Le(v),m===null)throw Error(...
function Ue (line 27) | function Ue(v){if(v=ct(v),!v)return null;for(var m=v;;){if(m.tag===5||m....
function be (line 27) | function be(v){if(v=ct(v),!v)return null;for(var m=v;;){if(m.tag===5||m....
function dl (line 27) | function dl(v){var m="";do{e:switch(v.tag){case 3:case 4:case 6:case 7:c...
function kr (line 28) | function kr(v){0>qo||(v.current=qi[qo],qi[qo]=null,qo--)}
function Fr (line 28) | function Fr(v,m){qo++,qi[qo]=v.current,v.current=m}
function Lu (line 28) | function Lu(v,m){var S=v.type.contextTypes;if(!S)return si;var O=v.state...
function c0 (line 28) | function c0(v){return v=v.childContextTypes,v!=null}
function Ru (line 28) | function Ru(v){kr(b0,v),kr(H0,v)}
function ks (line 28) | function ks(v){kr(b0,v),kr(H0,v)}
function As (line 28) | function As(v,m,S){if(H0.current!==si)throw Error(t(168));Fr(H0,m,v),Fr(...
function uu (line 28) | function uu(v,m,S){var O=v.stateNode;if(v=m.childContextTypes,typeof O.g...
function wo (line 28) | function wo(v){var m=v.stateNode;return m=m&&m.__reactInternalMemoizedMe...
function zo (line 28) | function zo(v,m,S){var O=v.stateNode;if(!O)throw Error(t(169));S?(m=uu(v...
function Fs (line 28) | function Fs(){switch(su()){case Ps:return 99;case pl:return 98;case Vf:r...
function tt (line 28) | function tt(v){switch(v){case 99:return Ps;case 98:return pl;case 97:ret...
function zi (line 28) | function zi(v,m){return v=tt(v),Os(v,m)}
function lu (line 28) | function lu(v,m,S){return v=tt(v),Is(v,m,S)}
function Ho (line 28) | function Ho(v){return ro===null?(ro=[v],Ms=Is(Ps,vl)):ro.push(v),ju}
function O0 (line 28) | function O0(){if(Ms!==null){var v=Ms;Ms=null,uf(v)}vl()}
function vl (line 28) | function vl(){if(!ml&&ro!==null){ml=!0;var v=0;try{var m=ro;zi(99,functi...
function fu (line 28) | function fu(v,m,S){return S/=10,1073741821-(((1073741821-v+m/10)/S|0)+1)*S}
function _l (line 28) | function _l(v,m){return v===m&&(v!==0||1/v==1/m)||v!==v&&m!==m}
function en (line 28) | function en(v,m){if(Sn(v,m))return!0;if(typeof v!="object"||v===null||ty...
function I0 (line 28) | function I0(v,m){if(v&&v.defaultProps){m=f({},m),v=v.defaultProps;for(va...
function Wu (line 28) | function Wu(){zu=Wi=qu=null}
function Ls (line 28) | function Ls(v,m){var S=v.type._context;Jt?(Fr(li,S._currentValue,v),S._c...
function fi (line 28) | function fi(v){var m=li.current;kr(li,v),v=v.type._context,Jt?v._current...
function e0 (line 28) | function e0(v,m){for(;v!==null;){var S=v.alternate;if(v.childExpirationT...
function io (line 28) | function io(v,m){qu=v,zu=Wi=null,v=v.dependencies,v!==null&&v.firstConte...
function D0 (line 28) | function D0(v,m){if(zu!==v&&m!==!1&&m!==0)if((typeof m!="number"||m===10...
function i0 (line 28) | function i0(v){return{baseState:v,firstUpdate:null,lastUpdate:null,first...
function Rs (line 28) | function Rs(v){return{baseState:v.baseState,firstUpdate:v.firstUpdate,la...
function a0 (line 28) | function a0(v,m){return{expirationTime:v,suspenseConfig:m,tag:0,payload:...
function Hu (line 28) | function Hu(v,m){v.lastUpdate===null?v.firstUpdate=v.lastUpdate=m:(v.las...
function V0 (line 28) | function V0(v,m){var S=v.alternate;if(S===null){var O=v.updateQueue,M=nu...
function bu (line 28) | function bu(v,m){var S=v.updateQueue;S=S===null?v.updateQueue=i0(v.memoi...
function Ns (line 28) | function Ns(v,m){var S=v.alternate;return S!==null&&m===S.updateQueue&&(...
function bo (line 28) | function bo(v,m,S,O,M,b){switch(S.tag){case 1:return v=S.payload,typeof ...
function P0 (line 28) | function P0(v,m,S,O,M){Do=!1,m=Ns(v,m);for(var b=m.baseState,ee=null,Ye=...
function ln (line 28) | function ln(v,m,S){m.firstCapturedUpdate!==null&&(m.lastUpdate!==null&&(...
function lf (line 28) | function lf(v,m){for(;v!==null;){var S=v.callback;if(S!==null){v.callbac...
function Go (line 28) | function Go(v,m,S,O){m=v.memoizedState,S=S(O,m),S=S==null?m:f({},m,S),v....
function yl (line 28) | function yl(v,m,S,O,M,b,ee){return v=v.stateNode,typeof v.shouldComponen...
function cu (line 28) | function cu(v,m,S){var O=!1,M=si,b=m.contextType;return typeof b=="objec...
function Bs (line 28) | function Bs(v,m,S,O){v=m.state,typeof m.componentWillReceiveProps=="func...
function Vu (line 28) | function Vu(v,m,S,O){var M=v.stateNode;M.props=S,M.state=v.memoizedState...
function au (line 28) | function au(v,m,S){if(v=S.ref,v!==null&&typeof v!="function"&&typeof v!=...
function Lr (line 28) | function Lr(v,m){if(v.type!=="textarea")throw Error(t(31,Object.prototyp...
function F (line 28) | function F(v){function m(Re,Ce){if(v){var ze=Re.lastEffect;ze!==null?(ze...
function W (line 28) | function W(v){if(v===H)throw Error(t(174));return v}
function ve (line 28) | function ve(v,m){Fr(de,m,v),Fr(ue,v,v),Fr(fe,H,v),m=Ot(m),kr(fe,v),Fr(fe...
function Fe (line 28) | function Fe(v){kr(fe,v),kr(ue,v),kr(de,v)}
function Ge (line 28) | function Ge(v){var m=W(de.current),S=W(fe.current);m=Nt(S,v.type,m),S!==...
function K (line 28) | function K(v){ue.current===v&&(kr(fe,v),kr(ue,v))}
function je (line 28) | function je(v){for(var m=v;m!==null;){if(m.tag===13){var S=m.memoizedSta...
function Xe (line 28) | function Xe(v,m){return{responder:v,props:m}}
function Ne (line 28) | function Ne(){throw Error(t(321))}
function ft (line 28) | function ft(v,m){if(m===null)return!1;for(var S=0;S<m.length&&S<v.length...
function St (line 28) | function St(v,m,S,O,M,b){if(xt=b,wt=m,Rt=v!==null?v.memoizedState:null,r...
function Qt (line 28) | function Qt(){rt.current=oo,xt=0,ar=sn=yn=Rt=lt=wt=null,rn=0,Hn=null,d0=...
function Cn (line 28) | function Cn(){var v={memoizedState:null,baseState:null,queue:null,baseUp...
function bn (line 28) | function bn(){if(ar!==null)sn=ar,ar=sn.next,lt=Rt,Rt=lt!==null?lt.next:n...
function p0 (line 28) | function p0(v,m){return typeof m=="function"?m(v):m}
function h0 (line 28) | function h0(v){var m=bn(),S=m.queue;if(S===null)throw Error(t(311));if(S...
function ci (line 28) | function ci(v){var m=Cn();return typeof v=="function"&&(v=v()),m.memoize...
function xi (line 28) | function xi(v){return h0(p0,v)}
function E0 (line 28) | function E0(v,m,S,O){return v={tag:v,create:m,destroy:S,deps:O,next:null...
function qr (line 28) | function qr(v,m,S,O){var M=Cn();d0|=v,M.memoizedState=E0(m,S,void 0,O===...
function Eo (line 28) | function Eo(v,m,S,O){var M=bn();O=O===void 0?null:O;var b=void 0;if(lt!=...
function So (line 28) | function So(v,m){return qr(516,192,v,m)}
function wl (line 28) | function wl(v,m){return Eo(516,192,v,m)}
function js (line 28) | function js(v,m){if(typeof m=="function")return v=v(),m(v),function(){m(...
function Dl (line 28) | function Dl(){}
function du (line 28) | function du(v,m){return Cn().memoizedState=[v,m===void 0?null:m],v}
function Yu (line 28) | function Yu(v,m){var S=bn();m=m===void 0?null:m;var O=S.memoizedState;re...
function Us (line 28) | function Us(v,m,S){if(!(25>Qe))throw Error(t(301));var O=v.alternate;if(...
function L0 (line 28) | function L0(v,m){var S=xo(5,null,null,0);S.elementType="DELETED",S.type=...
function Y0 (line 28) | function Y0(v,m){switch(v.tag){case 5:return m=Ti(m,v.type,v.pendingProp...
function Co (line 28) | function Co(v){if(ir){var m=Gr;if(m){var S=m;if(!Y0(v,m)){if(m=cl(S),!m|...
function $u (line 28) | function $u(v){for(v=v.return;v!==null&&v.tag!==5&&v.tag!==3&&v.tag!==13...
function Vo (line 28) | function Vo(v){if(!w||v!==F0)return!1;if(!ir)return $u(v),ir=!0,!1;var m...
function Rr (line 28) | function Rr(){w&&(Gr=F0=null,ir=!1)}
function o0 (line 28) | function o0(v,m,S,O){m.child=v===null?U(m,null,S,O):R(m,v.child,S,O)}
function Vr (line 28) | function Vr(v,m,S,O,M){S=S.render;var b=m.ref;return io(m,M),O=St(v,m,S,...
function ff (line 28) | function ff(v,m,S,O,M,b){if(v===null){var ee=S.type;return typeof ee=="f...
function cf (line 28) | function cf(v,m,S,O,M,b){return v!==null&&en(v.memoizedProps,O)&&v.ref==...
function $0 (line 28) | function $0(v,m){var S=m.ref;(v===null&&S!==null||v!==null&&v.ref!==S)&&...
function K0 (line 28) | function K0(v,m,S,O,M){var b=c0(S)?Bt:H0.current;return b=Lu(m,b),io(m,M...
function ae (line 28) | function ae(v,m,S,O,M){if(c0(S)){var b=!0;wo(m)}else b=!1;if(io(m,M),m.s...
function Be (line 28) | function Be(v,m,S,O,M,b){$0(v,m);var ee=(m.effectTag&64)!=0;if(!O&&!ee)r...
function Ie (line 28) | function Ie(v){var m=v.stateNode;m.pendingContext?As(v,m.pendingContext,...
function mt (line 28) | function mt(v,m,S){var O=m.mode,M=m.pendingProps,b=xe.current,ee=!1,Ye;i...
function wn (line 28) | function wn(v,m){v.expirationTime<m&&(v.expirationTime=m);var S=v.altern...
function Gn (line 28) | function Gn(v,m,S,O,M,b){var ee=v.memoizedState;ee===null?v.memoizedStat...
function $t (line 28) | function $t(v,m,S){var O=m.pendingProps,M=O.revealOrder,b=O.tail;if(o0(v...
function X0 (line 28) | function X0(v,m,S){v!==null&&(m.dependencies=v.dependencies);var O=m.exp...
function ki (line 28) | function ki(v){v.effectTag|=4}
function bi (line 28) | function bi(v,m){switch(v.tailMode){case"hidden":m=v.tail;for(var S=null...
function or (line 28) | function or(v){switch(v.tag){case 1:c0(v.type)&&Ru(v);var m=v.effectTag;...
function zs (line 28) | function zs(v,m){return{value:v,source:m,stack:dl(m)}}
function J0 (line 28) | function J0(v,m){var S=m.source,O=m.stack;O===null&&S!==null&&(O=dl(S)),...
function af (line 28) | function af(v,m){try{m.props=v.memoizedProps,m.state=v.memoizedState,m.c...
function S0 (line 28) | function S0(v){var m=v.ref;if(m!==null)if(typeof m=="function")try{m(nul...
function El (line 28) | function El(v,m){switch(m.tag){case 0:case 11:case 15:Q0(2,0,m);break;ca...
function Q0 (line 28) | function Q0(v,m,S){if(S=S.updateQueue,S=S!==null?S.lastEffect:null,S!==n...
function Tr (line 28) | function Tr(v,m,S){switch(typeof Tl=="function"&&Tl(m),m.tag){case 0:cas...
function R0 (line 28) | function R0(v,m,S){for(var O=m;;)if(Tr(v,O,S),O.child===null||Yt&&O.tag=...
function Nr (line 28) | function Nr(v){var m=v.alternate;v.return=null,v.child=null,v.memoizedSt...
function uo (line 28) | function uo(v){if(cr){v=v.stateNode.containerInfo;var m=ul(v);sl(v,m)}}
function so (line 28) | function so(v){return v.tag===5||v.tag===3||v.tag===4}
function N0 (line 28) | function N0(v){if(Yt){e:{for(var m=v.return;m!==null;){if(so(m)){var S=m...
function C0 (line 28) | function C0(v,m,S){for(var O=m,M=!1,b,ee;;){if(!M){M=O.return;e:for(;;){...
function di (line 28) | function di(v,m){if(Yt)switch(m.tag){case 0:case 11:case 14:case 15:Q0(4...
function u0 (line 28) | function u0(v){var m=v;if(v.memoizedState===null)var S=!1;else S=!0,m=v....
function v0 (line 28) | function v0(v){var m=v.updateQueue;if(m!==null){v.updateQueue=null;var S...
function pu (line 28) | function pu(v,m,S){S=a0(S,null),S.tag=3,S.payload={element:null};var O=m...
function Sl (line 28) | function Sl(v,m,S){S=a0(S,null),S.tag=3;var O=v.type.getDerivedStateFrom...
function g0 (line 28) | function g0(){return(Kt&(Br|zr))!==Fn?1073741821-(G0()/10|0):t0!==0?t0:t...
function Kr (line 28) | function Kr(v,m,S){if(m=m.mode,(m&2)==0)return 1073741823;var O=Fs();if(...
function _0 (line 28) | function _0(v,m){if(50<nn)throw nn=0,s0=null,Error(t(185));if(v=Gi(v,m),...
function Gi (line 28) | function Gi(v,m){v.expirationTime<m&&(v.expirationTime=m);var S=v.altern...
function fo (line 28) | function fo(v){var m=v.lastExpiredTime;return m!==0||(m=v.firstPendingTi...
function x0 (line 28) | function x0(v){if(v.lastExpiredTime!==0)v.callbackExpirationTime=1073741...
function Xu (line 28) | function Xu(v,m){if(t0=0,m)return m=g0(),kl(v,m),x0(v),null;var S=fo(v);...
function Z0 (line 28) | function Z0(v){var m=v.lastExpiredTime;if(m=m!==0?m:1073741823,v.finishe...
function df (line 28) | function df(v,m){kl(v,m),x0(v),(Kt&(Br|zr))===Fn&&O0()}
function Ba (line 28) | function Ba(){if(Qn!==null){var v=Qn;Qn=null,v.forEach(function(m,S){kl(...
function Oc (line 28) | function Oc(v,m){if((Kt&(Br|zr))!==Fn)throw Error(t(187));var S=Kt;Kt|=1...
function mu (line 28) | function mu(v,m){v.finishedWork=null,v.finishedExpirationTime=0;var S=v....
function Ju (line 28) | function Ju(v,m){do{try{if(Wu(),Qt(),Y===null||Y.return===null)return he...
function ei (line 30) | function ei(){var v=B0.current;return B0.current=oo,v===null?oo:v}
function Yf (line 30) | function Yf(v,m){v<et&&2<v&&(et=v),m!==null&&v<Dt&&2<v&&(Dt=v,bt=m)}
function pf (line 30) | function pf(v){v>Zt&&(Zt=v)}
function ja (line 30) | function ja(){for(;Y!==null;)Y=Ic(Y)}
function Ua (line 30) | function Ua(){for(;Y!==null&&!_n();)Y=Ic(Y)}
function Ic (line 30) | function Ic(v){var m=Lc(v.alternate,v,ye);return v.memoizedProps=v.pendi...
function vu (line 30) | function vu(v){Y=v;do{var m=Y.alternate;if(v=Y.return,(Y.effectTag&2048)...
function $f (line 30) | function $f(v){var m=v.expirationTime;return v=v.childExpirationTime,m>v...
function gu (line 30) | function gu(v){var m=Fs();return zi(99,co.bind(null,v,m)),null}
function co (line 30) | function co(v,m){do Ws();while(dr!==null);if((Kt&(Br|zr))!==Fn)throw Err...
function qa (line 30) | function qa(){for(;_t!==null;){var v=_t.effectTag;(v&256)!=0&&El(_t.alte...
function Ws (line 30) | function Ws(){if(Or!==90){var v=97<Or?97:Or;return Or=90,zi(v,za)}}
function za (line 30) | function za(){if(dr===null)return!1;var v=dr;if(dr=null,(Kt&(Br|zr))!==F...
function Pc (line 30) | function Pc(v,m,S){m=zs(S,m),m=pu(v,m,1073741823),V0(v,m),v=Gi(v,1073741...
function Qu (line 30) | function Qu(v,m){if(v.tag===3)Pc(v,v,m);else for(var S=v.return;S!==null...
function Mc (line 30) | function Mc(v,m,S){var O=v.pingCache;O!==null&&O.delete(m),X===v&&ye===S...
function Fc (line 30) | function Fc(v,m){var S=v.stateNode;S!==null&&S.delete(m),m=0,m===0&&(m=g...
function xl (line 30) | function xl(v){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__=="undefined")ret...
function hf (line 30) | function hf(v,m,S,O){this.tag=v,this.key=S,this.sibling=this.child=this....
function xo (line 30) | function xo(v,m,S,O){return new hf(v,m,S,O)}
function mf (line 30) | function mf(v){return v=v.prototype,!(!v||!v.isReactComponent)}
function Wa (line 30) | function Wa(v){if(typeof v=="function")return mf(v)?1:0;if(v!=null){if(v...
function ti (line 30) | function ti(v,m){var S=v.alternate;return S===null?(S=xo(v.tag,m,v.key,v...
function Hs (line 30) | function Hs(v,m,S,O,M,b){var ee=2;if(O=v,typeof v=="function")mf(v)&&(ee...
function mi (line 30) | function mi(v,m,S,O){return v=xo(7,v,O,m),v.expirationTime=S,v}
function vi (line 30) | function vi(v,m,S){return v=xo(6,v,null,m),v.expirationTime=S,v}
function Xf (line 30) | function Xf(v,m,S){return m=xo(4,v.children!==null?v.children:[],v.key,m...
function Rc (line 30) | function Rc(v,m,S){this.tag=m,this.current=null,this.containerInfo=v,thi...
function Jf (line 30) | function Jf(v,m){var S=v.firstSuspendedTime;return v=v.lastSuspendedTime...
function ao (line 30) | function ao(v,m){var S=v.firstSuspendedTime,O=v.lastSuspendedTime;S<m&&(...
function $o (line 30) | function $o(v,m){m>v.firstPendingTime&&(v.firstPendingTime=m);var S=v.fi...
function kl (line 30) | function kl(v,m){var S=v.lastExpiredTime;(S===0||S>m)&&(v.lastExpiredTim...
function Nc (line 30) | function Nc(v){var m=v._reactInternalFiber;if(m===void 0)throw typeof v....
function Al (line 30) | function Al(v,m){v=v.memoizedState,v!==null&&v.dehydrated!==null&&v.retr...
function vf (line 30) | function vf(v,m){Al(v,m),(v=v.alternate)&&Al(v,m)}
function i (line 30) | function i(u,f){for(var c=0;c<f.length;c++){var g=f[c];g.enumerable=g.en...
function Oy (line 30) | function Oy(i,u,f){return u in i?Object.defineProperty(i,u,{value:f,enum...
function Iy (line 30) | function Iy(i,u){if(!(i instanceof u))throw new TypeError("Cannot call a...
function i (line 30) | function i(u,f,c,g,t,C){Iy(this,i),this.left=u,this.right=f,this.top=c,t...
function i (line 30) | function i(u,f){Iy(this,i),this.width=u,this.height=f}
function i (line 30) | function i(u,f){Iy(this,i),this.unit=u,this.value=f}
function f (line 30) | function f(C,A,x){var D=C[A];C[A]=function(){for(var L=arguments.length,...
function globalEval (line 30) | function globalEval(i){eval.call(null,i)}
function assert (line 30) | function assert(i,u){i||abort("Assertion failed: "+u)}
function getCFunc (line 30) | function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=ev...
function parseJSFunc (line 30) | function parseJSFunc(i){var u=i.toString().match(sourceRegex).slice(1);r...
function ensureJSsource (line 30) | function ensureJSsource(){if(!JSsource){JSsource={};for(var i in JSfuncs...
function setValue (line 30) | function setValue(i,u,f,c){switch(f=f||"i8",f.charAt(f.length-1)==="*"&&...
function getValue (line 30) | function getValue(i,u,f){switch(u=u||"i8",u.charAt(u.length-1)==="*"&&(u...
function allocate (line 30) | function allocate(i,u,f,c){var g,t;typeof i=="number"?(g=!0,t=i):(g=!1,t...
function getMemory (line 30) | function getMemory(i){return staticSealed?runtimeInitialized?_malloc(i):...
function Pointer_stringify (line 30) | function Pointer_stringify(i,u){if(u===0||!i)return"";for(var f=0,c,g=0;...
function AsciiToString (line 30) | function AsciiToString(i){for(var u="";;){var f=HEAP8[i++>>0];if(!f)retu...
function stringToAscii (line 30) | function stringToAscii(i,u){return writeAsciiToMemory(i,u,!1)}
function UTF8ArrayToString (line 30) | function UTF8ArrayToString(i,u){for(var f=u;i[f];)++f;if(f-u>16&&i.subar...
function UTF8ToString (line 30) | function UTF8ToString(i){return UTF8ArrayToString(HEAPU8,i)}
function stringToUTF8Array (line 30) | function stringToUTF8Array(i,u,f,c){if(!(c>0))return 0;for(var g=f,t=f+c...
function stringToUTF8 (line 30) | function stringToUTF8(i,u,f){return stringToUTF8Array(i,HEAPU8,u,f)}
function lengthBytesUTF8 (line 30) | function lengthBytesUTF8(i){for(var u=0,f=0;f<i.length;++f){var c=i.char...
function demangle (line 30) | function demangle(i){var u=Module.___cxa_demangle||Module.__cxa_demangle...
function demangleAll (line 30) | function demangleAll(i){var u=/__Z[\w\d_]+/g;return i.replace(u,function...
function jsStackTrace (line 30) | function jsStackTrace(){var i=new Error;if(!i.stack){try{throw new Error...
function stackTrace (line 30) | function stackTrace(){var i=jsStackTrace();return Module.extraStackTrace...
function updateGlobalBufferViews (line 31) | function updateGlobalBufferViews(){Module.HEAP8=HEAP8=new Int8Array(buff...
function abortOnCannotGrowMemory (line 31) | function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. ...
function enlargeMemory (line 31) | function enlargeMemory(){abortOnCannotGrowMemory()}
function getTotalMemory (line 31) | function getTotalMemory(){return TOTAL_MEMORY}
function callRuntimeCallbacks (line 31) | function callRuntimeCallbacks(i){for(;i.length>0;){var u=i.shift();if(ty...
function preRun (line 31) | function preRun(){if(Module.preRun)for(typeof Module.preRun=="function"&...
function ensureInitRuntime (line 31) | function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,...
function preMain (line 31) | function preMain(){callRuntimeCallbacks(__ATMAIN__)}
function exitRuntime (line 31) | function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}
function postRun (line 31) | function postRun(){if(Module.postRun)for(typeof Module.postRun=="functio...
function addOnPreRun (line 31) | function addOnPreRun(i){__ATPRERUN__.unshift(i)}
function addOnInit (line 31) | function addOnInit(i){__ATINIT__.unshift(i)}
function addOnPreMain (line 31) | function addOnPreMain(i){__ATMAIN__.unshift(i)}
function addOnExit (line 31) | function addOnExit(i){__ATEXIT__.unshift(i)}
function addOnPostRun (line 31) | function addOnPostRun(i){__ATPOSTRUN__.unshift(i)}
function intArrayFromString (line 31) | function intArrayFromString(i,u,f){var c=f>0?f:lengthBytesUTF8(i)+1,g=ne...
function intArrayToString (line 31) | function intArrayToString(i){for(var u=[],f=0;f<i.length;f++){var c=i[f]...
function writeStringToMemory (line 31) | function writeStringToMemory(i,u,f){Runtime.warnOnce("writeStringToMemor...
function writeArrayToMemory (line 31) | function writeArrayToMemory(i,u){HEAP8.set(i,u)}
function writeAsciiToMemory (line 31) | function writeAsciiToMemory(i,u,f){for(var c=0;c<i.length;++c)HEAP8[u++>...
function getUniqueRunDependency (line 31) | function getUniqueRunDependency(i){return i}
function addRunDependency (line 31) | function addRunDependency(i){runDependencies++,Module.monitorRunDependen...
function removeRunDependency (line 31) | function removeRunDependency(i){if(runDependencies--,Module.monitorRunDe...
function _emscripten_asm_const_iiiiiiii (line 31) | function _emscripten_asm_const_iiiiiiii(i,u,f,c,g,t,C,A){return ASM_CONS...
function _emscripten_asm_const_iiiii (line 31) | function _emscripten_asm_const_iiiii(i,u,f,c,g){return ASM_CONSTS[i](u,f...
function _emscripten_asm_const_iiidddddd (line 31) | function _emscripten_asm_const_iiidddddd(i,u,f,c,g,t,C,A,x){return ASM_C...
function _emscripten_asm_const_iiididi (line 31) | function _emscripten_asm_const_iiididi(i,u,f,c,g,t,C){return ASM_CONSTS[...
function _emscripten_asm_const_iiii (line 31) | function _emscripten_asm_const_iiii(i,u,f,c){return ASM_CONSTS[i](u,f,c)}
function _emscripten_asm_const_iiiid (line 31) | function _emscripten_asm_const_iiiid(i,u,f,c,g){return ASM_CONSTS[i](u,f...
function _emscripten_asm_const_iiiiii (line 31) | function _emscripten_asm_const_iiiiii(i,u,f,c,g,t){return ASM_CONSTS[i](...
function _atexit (line 31) | function _atexit(i,u){__ATEXIT__.unshift({func:i,arg:u})}
function ___cxa_atexit (line 31) | function ___cxa_atexit(){return _atexit.apply(null,arguments)}
function _abort (line 31) | function _abort(){Module.abort()}
function __ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj (line 31) | function __ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_...
function __decorate (line 31) | function __decorate(i,u,f,c){var g=arguments.length,t=g<3?u:c===null?c=O...
function _defineHidden (line 31) | function _defineHidden(i){return function(u,f){Object.defineProperty(u,f...
function __nbind_free_external (line 31) | function __nbind_free_external(i){_nbind.externalList[i].dereference(i)}
function __nbind_reference_external (line 31) | function __nbind_reference_external(i){_nbind.externalList[i].reference()}
function _llvm_stackrestore (line 31) | function _llvm_stackrestore(i){var u=_llvm_stacksave,f=u.LLVM_SAVEDSTACK...
function __nbind_register_pool (line 31) | function __nbind_register_pool(i,u,f,c){_nbind.Pool.pageSize=i,_nbind.Po...
function _emscripten_set_main_loop_timing (line 31) | function _emscripten_set_main_loop_timing(i,u){if(Browser.mainLoop.timin...
function _emscripten_get_now (line 31) | function _emscripten_get_now(){abort()}
function _emscripten_set_main_loop (line 31) | function _emscripten_set_main_loop(i,u,f,c,g){Module.noExitRuntime=!0,as...
function L (line 31) | function L(re){D||(D=!0,Module.preloadedAudios[C]=re,A&&A(t))}
function N (line 31) | function N(){D||(D=!0,Module.preloadedAudios[C]=new Audio,x&&x())}
function Q (line 31) | function Q(oe){for(var Se="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrs...
function f (line 31) | function f(){Browser.pointerLock=document.pointerLockElement===Module.ca...
function g (line 31) | function g(){Browser.isFullscreen=!1;var C=c.parentNode;(document.fullsc...
function ___syscall6 (line 31) | function ___syscall6(i,u){SYSCALLS.varargs=u;try{var f=SYSCALLS.getStrea...
function ___syscall54 (line 31) | function ___syscall54(i,u){SYSCALLS.varargs=u;try{return 0}catch(f){retu...
function _typeModule (line 31) | function _typeModule(i){var u=[[0,1,"X"],[1,1,"const X"],[128,1,"X *"],[...
function __nbind_register_type (line 31) | function __nbind_register_type(i,u){var f=_nbind.readAsciiString(u),c={f...
function __nbind_register_callback_signature (line 31) | function __nbind_register_callback_signature(i,u){var f=_nbind.readTypeI...
function __extends (line 31) | function __extends(i,u){for(var f in u)u.hasOwnProperty(f)&&(i[f]=u[f]);...
function __nbind_register_class (line 31) | function __nbind_register_class(i,u,f,c,g,t,C){var A=_nbind.readAsciiStr...
function _removeAccessorPrefix (line 31) | function _removeAccessorPrefix(i){var u=/^[Gg]et_?([A-Z]?([A-Z]?))/;retu...
function __nbind_register_function (line 31) | function __nbind_register_function(i,u,f,c,g,t,C,A,x,D){var L=_nbind.get...
function _nbind_value (line 31) | function _nbind_value(i,u){_nbind.typeNameTbl[i]||_nbind.throwError("Unk...
function __nbind_get_value_object (line 31) | function __nbind_get_value_object(i,u){var f=_nbind.popValue(i);if(!f.fr...
function _emscripten_memcpy_big (line 31) | function _emscripten_memcpy_big(i,u,f){return HEAPU8.set(HEAPU8.subarray...
function __nbind_register_primitive (line 31) | function __nbind_register_primitive(i,u,f){var c={flags:1024|f,id:i,ptrS...
function ___setErrNo (line 31) | function ___setErrNo(i){return Module.___errno_location&&(HEAP32[Module....
function _llvm_stacksave (line 31) | function _llvm_stacksave(){var i=_llvm_stacksave;return i.LLVM_SAVEDSTAC...
function ___syscall140 (line 31) | function ___syscall140(i,u){SYSCALLS.varargs=u;try{var f=SYSCALLS.getStr...
function ___syscall146 (line 31) | function ___syscall146(i,u){SYSCALLS.varargs=u;try{var f=SYSCALLS.get(),...
function __nbind_finish (line 31) | function __nbind_finish(){for(var i=0,u=_nbind.BindClass.list;i<u.length...
function i (line 31) | function i(){}
function constructType (line 31) | function constructType(i,u){var f=i==10240?_nbind.makeTypeNameTbl[u.name...
function getType (line 31) | function getType(i){return typeIdTbl[i]}
function queryType (line 31) | function queryType(i){var u=HEAPU8[i],f=_nbind.structureList[u][1];i/=4,...
function getTypes (line 31) | function getTypes(i,u){return i.map(function(f){return typeof f=="number...
function readTypeIdList (line 31) | function readTypeIdList(i,u){return Array.prototype.slice.call(HEAPU32,i...
function readAsciiString (line 31) | function readAsciiString(i){for(var u=i;HEAPU8[u++];);return String.from...
function readPolicyList (line 31) | function readPolicyList(i){var u={};if(i)for(;;){var f=HEAPU32[i/4];if(!...
function getDynCall (line 31) | function getDynCall(i,u){var f={float32_t:"d",float64_t:"d",int64_t:"d",...
function addMethod (line 31) | function addMethod(i,u,f,c){var g=i[u];i.hasOwnProperty(u)&&g?((g.arity|...
function throwError (line 31) | function throwError(i){throw new Error(i)}
function u (line 31) | function u(){var f=i!==null&&i.apply(this,arguments)||this;return f.heap...
function u (line 31) | function u(f){var c=i.call(this,f)||this,g=f.flags&32?{32:HEAPF32,64:HEA...
function pushCString (line 31) | function pushCString(i,u){if(i==null){if(u&&u.Nullable)return 0;throw ne...
function popCString (line 31) | function popCString(i){return i===0?null:Module.Pointer_stringify(i)}
function u (line 31) | function u(){var f=i!==null&&i.apply(this,arguments)||this;return f.wire...
function u (line 31) | function u(){var f=i!==null&&i.apply(this,arguments)||this;return f.wire...
function i (line 31) | function i(){}
function makeBound (line 31) | function makeBound(i,u){var f=function(c){__extends(g,c);function g(t,C,...
function disableMember (line 31) | function disableMember(i,u){function f(){throw new Error("Accessing dele...
function u (line 31) | function u(f){var c=i.call(this,f)||this;return c.wireRead=function(g){r...
function popPointer (line 31) | function popPointer(i,u){return i?new u.proto(_nbind.ptrMarker,u.flags,i...
function pushPointer (line 31) | function pushPointer(i,u,f){if(!(i instanceof _nbind.Wrapper)){if(f)retu...
function pushMutablePointer (line 31) | function pushMutablePointer(i,u){var f=pushPointer(i,u);if(i.__nbindFlag...
function u (line 31) | function u(f){var c=i.call(this,f)||this;c.classType=f.paramList[0].clas...
function popShared (line 31) | function popShared(i,u){var f=HEAPU32[i/4],c=HEAPU32[i/4+1];return c?new...
function pushShared (line 31) | function pushShared(i,u){if(!(i instanceof u.proto))throw new Error("Typ...
function pushMutableShared (line 31) | function pushMutableShared(i,u){if(!(i instanceof u.proto))throw new Err...
function u (line 31) | function u(f){var c=i.call(this,f)||this;c.readResources=[_nbind.resourc...
function i (line 31) | function i(u){this.refCount=1,this.data=u}
function popExternal (line 31) | function popExternal(i){var u=_nbind.externalList[i];return u.dereferenc...
function pushExternal (line 31) | function pushExternal(i){var u=new External(i);return u.reference(),u.re...
function u (line 31) | function u(){var f=i!==null&&i.apply(this,arguments)||this;return f.wire...
function u (line 31) | function u(){var f=i!==null&&i.apply(this,arguments)||this;return f.wire...
function pushValue (line 31) | function pushValue(i){var u=firstFreeValue;return u?firstFreeValue=_nbin...
function popValue (line 31) | function popValue(i,u){if(i||_nbind.throwError("Value type JavaScript cl...
function push64 (line 31) | function push64(i){return typeof i=="number"?i:pushValue(i)*4096+valueBase}
function pop64 (line 31) | function pop64(i){return i<valueBase?i:popValue((i-valueBase)/4096)}
function u (line 31) | function u(){return i!==null&&i.apply(this,arguments)||this}
function u (line 31) | function u(){var f=i!==null&&i.apply(this,arguments)||this;return f.wire...
function pushArray (line 31) | function pushArray(i,u){if(!i)return 0;var f=i.length;if((u.size||u.size...
function popArray (line 31) | function popArray(i,u){if(i===0)return null;var f=HEAPU32[i/4],c=new Arr...
function u (line 31) | function u(f){var c=i.call(this,f)||this;return c.wireRead=function(g){r...
function pushString (line 31) | function pushString(i,u){if(i==null)if(u&&u.Nullable)i="";else throw new...
function popString (line 31) | function popString(i){if(i===0)return null;var u=HEAPU32[i/4];return Mod...
function u (line 31) | function u(){var f=i!==null&&i.apply(this,arguments)||this;return f.wire...
function makeArgList (line 31) | function makeArgList(i){return Array.apply(null,Array(i)).map(function(u...
function anyNeedsWireWrite (line 31) | function anyNeedsWireWrite(i,u){return i.reduce(function(f,c){return f||...
function anyNeedsWireRead (line 31) | function anyNeedsWireRead(i,u){return i.reduce(function(f,c){return f||!...
function makeWireRead (line 31) | function makeWireRead(i,u,f,c){var g=i.length;return f.makeWireRead?f.ma...
function makeWireWrite (line 31) | function makeWireWrite(i,u,f,c){var g,t=i.length;return f.makeWireWrite?...
function buildCallerFunction (line 31) | function buildCallerFunction(dynCall,ptrType,ptr,num,policyTbl,needsWire...
function buildJSCallerFunction (line 31) | function buildJSCallerFunction(returnType,argTypeList){var argList=makeA...
function makeJSCaller (line 31) | function makeJSCaller(i){var u=i.length-1,f=_nbind.getTypes(i,"callback"...
function makeMethodCaller (line 31) | function makeMethodCaller(i,u){var f=u.typeList.length-1,c=u.typeList.sl...
function makeCaller (line 31) | function makeCaller(i){var u=i.typeList.length-1,f=_nbind.getTypes(i.typ...
function makeOverloader (line 31) | function makeOverloader(i,u){var f=[];function c(){return f[arguments.le...
function i (line 31) | function i(u,f){var c=this;this.makeOpen=function(){return Object.keys(c...
function listResources (line 31) | function listResources(i,u){for(var f=new Resource,c=0,g=i;c<g.length;c+...
function u (line 31) | function u(f,c){var g=i.call(this,f)||this;return g.ptr=c,g}
function getBuffer (line 31) | function getBuffer(i){return i instanceof ArrayBuffer?new Uint8Array(i):...
function pushBuffer (line 31) | function pushBuffer(i,u){if(i==null&&u&&u.Nullable&&(i=[]),typeof i!="ob...
function u (line 31) | function u(){var f=i!==null&&i.apply(this,arguments)||this;return f.wire...
function commitBuffer (line 31) | function commitBuffer(i,u,f){var c=_nbind.externalList[i].data,g=Buffer;...
function sweep (line 31) | function sweep(){for(var i=0,u=dirtyList;i<u.length;i++){var f=u[i];f.__...
function toggleLightGC (line 31) | function toggleLightGC(i){i?_nbind.mark=function(u){dirtyList.push(u),gc...
function invoke_viiiii (line 31) | function invoke_viiiii(i,u,f,c,g,t){try{Module.dynCall_viiiii(i,u,f,c,g,...
function invoke_vif (line 31) | function invoke_vif(i,u,f){try{Module.dynCall_vif(i,u,f)}catch(c){if(typ...
function invoke_vid (line 31) | function invoke_vid(i,u,f){try{Module.dynCall_vid(i,u,f)}catch(c){if(typ...
function invoke_fiff (line 31) | function invoke_fiff(i,u,f,c){try{return Module.dynCall_fiff(i,u,f,c)}ca...
function invoke_vi (line 31) | function invoke_vi(i,u){try{Module.dynCall_vi(i,u)}catch(f){if(typeof f!...
function invoke_vii (line 31) | function invoke_vii(i,u,f){try{Module.dynCall_vii(i,u,f)}catch(c){if(typ...
function invoke_ii (line 31) | function invoke_ii(i,u){try{return Module.dynCall_ii(i,u)}catch(f){if(ty...
function invoke_viddi (line 31) | function invoke_viddi(i,u,f,c,g){try{Module.dynCall_viddi(i,u,f,c,g)}cat...
function invoke_vidd (line 31) | function invoke_vidd(i,u,f,c){try{Module.dynCall_vidd(i,u,f,c)}catch(g){...
function invoke_iiii (line 31) | function invoke_iiii(i,u,f,c){try{return Module.dynCall_iiii(i,u,f,c)}ca...
function invoke_diii (line 31) | function invoke_diii(i,u,f,c){try{return Module.dynCall_diii(i,u,f,c)}ca...
function invoke_di (line 31) | function invoke_di(i,u){try{return Module.dynCall_di(i,u)}catch(f){if(ty...
function invoke_iid (line 31) | function invoke_iid(i,u,f){try{return Module.dynCall_iid(i,u,f)}catch(c)...
function invoke_iii (line 31) | function invoke_iii(i,u,f){try{return Module.dynCall_iii(i,u,f)}catch(c)...
function invoke_viiddi (line 31) | function invoke_viiddi(i,u,f,c,g,t){try{Module.dynCall_viiddi(i,u,f,c,g,...
function invoke_viiiiii (line 31) | function invoke_viiiiii(i,u,f,c,g,t,C){try{Module.dynCall_viiiiii(i,u,f,...
function invoke_dii (line 31) | function invoke_dii(i,u,f){try{return Module.dynCall_dii(i,u,f)}catch(c)...
function invoke_i (line 31) | function invoke_i(i){try{return Module.dynCall_i(i)}catch(u){if(typeof u...
function invoke_iiiiii (line 31) | function invoke_iiiiii(i,u,f,c,g,t){try{return Module.dynCall_iiiiii(i,u...
function invoke_viiid (line 31) | function invoke_viiid(i,u,f,c,g){try{Module.dynCall_viiid(i,u,f,c,g)}cat...
function invoke_viififi (line 31) | function invoke_viififi(i,u,f,c,g,t,C){try{Module.dynCall_viififi(i,u,f,...
function invoke_viii (line 31) | function invoke_viii(i,u,f,c){try{Module.dynCall_viii(i,u,f,c)}catch(g){...
function invoke_v (line 31) | function invoke_v(i){try{Module.dynCall_v(i)}catch(u){if(typeof u!="numb...
function invoke_viid (line 31) | function invoke_viid(i,u,f,c){try{Module.dynCall_viid(i,u,f,c)}catch(g){...
function invoke_idd (line 31) | function invoke_idd(i,u,f){try{return Module.dynCall_idd(i,u,f)}catch(c)...
function invoke_viiii (line 31) | function invoke_viiii(i,u,f,c,g){try{Module.dynCall_viiii(i,u,f,c,g)}cat...
function zi (line 31) | function zi(e){e=e|0;var n=0;return n=h,h=h+e|0,h=h+15&-16,n|0}
function lu (line 31) | function lu(){return h|0}
function Ho (line 31) | function Ho(e){e=e|0,h=e}
function O0 (line 31) | function O0(e,n){e=e|0,n=n|0,h=e,re=n}
function vl (line 31) | function vl(e,n){e=e|0,n=n|0,oe||(oe=e,Se=n)}
function gl (line 31) | function gl(e){e=e|0,be=e}
function fu (line 31) | function fu(){return be|0}
function _l (line 31) | function _l(){var e=0,n=0;vn(8104,8,400)|0,vn(8504,408,540)|0,e=9044,n=e...
function Sn (line 31) | function Sn(e){e=e|0,lf(e+948|0)}
function gt (line 31) | function gt(e){return e=w(e),((Ar(e)|0)&2147483647)>>>0>2139095040|0}
function en (line 31) | function en(e,n,r){e=e|0,n=n|0,r=r|0;e:do if(t[e+(n<<3)+4>>2]|0)e=e+(n<<...
function I0 (line 31) | function I0(e){e=e|0;var n=0;return n=uh(1e3)|0,li(e,(n|0)!=0,2456),t[22...
function li (line 31) | function li(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;s=h,h=h+16|0,o=s,n||(t[...
function qu (line 31) | function qu(){return I0(956)|0}
function Wi (line 31) | function Wi(e){e=e|0;var n=0;return n=Tt(1e3)|0,zu(n,e),li(t[e+976>>2]|0...
function zu (line 31) | function zu(e,n){e=e|0,n=n|0;var r=0;vn(e|0,n|0,948)|0,af(e+948|0,n+948|...
function Wu (line 31) | function Wu(e){e=e|0;var n=0,r=0,o=0,s=0;if(n=e+944|0,r=t[n>>2]|0,r|0&&(...
function Ls (line 31) | function Ls(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0;o=t[e>>2]|0,_=e...
function fi (line 31) | function fi(e){return e=e|0,(t[e+952>>2]|0)-(t[e+948>>2]|0)>>2|0}
function e0 (line 31) | function e0(e,n){e=e|0,n=n|0;var r=0;return r=t[e+948>>2]|0,(t[e+952>>2]...
function io (line 31) | function io(e){e=e|0;var n=0,r=0,o=0,s=0;o=h,h=h+32|0,n=o,s=t[e>>2]|0,r=...
function D0 (line 31) | function D0(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0;k=fi(e)...
function Do (line 31) | function Do(e){e=e|0;var n=0,r=0,o=0,s=0;i0(e,(fi(e)|0)==0,2491),i0(e,(t...
function i0 (line 31) | function i0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;s=h,h=h+16|0,o=s,n||(t[...
function Rs (line 31) | function Rs(){return t[2276]|0}
function a0 (line 31) | function a0(){var e=0;return e=uh(20)|0,Hu((e|0)!=0,2592),t[2277]=(t[227...
function Hu (line 31) | function Hu(e,n){e=e|0,n=n|0;var r=0,o=0;o=h,h=h+16|0,r=o,e||(t[r>>2]=n,...
function V0 (line 31) | function V0(e){e=e|0,sh(e),t[2277]=(t[2277]|0)+-1}
function bu (line 31) | function bu(e,n){e=e|0,n=n|0;var r=0;n?(i0(e,(fi(e)|0)==0,2629),r=1):(r=...
function Ns (line 31) | function Ns(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,l=...
function bo (line 31) | function bo(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0;if(r=fi(e)|0,r|0?(t...
function P0 (line 31) | function P0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0...
function ln (line 31) | function ln(e){e=e|0;var n=0;do{if(n=e+984|0,c[n>>0]|0)break;c[n>>0]=1,D...
function lf (line 31) | function lf(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function nr (line 31) | function nr(e){return e=e|0,t[e+944>>2]|0}
function rr (line 31) | function rr(e){e=e|0,i0(e,(t[e+964>>2]|0)!=0,2832),ln(e)}
function Go (line 31) | function Go(e){return e=e|0,(c[e+984>>0]|0)!=0|0}
function Gu (line 31) | function Gu(e,n){e=e|0,n=n|0,fL(e,n,400)|0&&(vn(e|0,n|0,400)|0,ln(e))}
function yl (line 31) | function yl(e){e=e|0;var n=tt;return n=w(D[e+44>>2]),e=gt(n)|0,w(e?w(0):n)}
function cu (line 31) | function cu(e){e=e|0;var n=tt;return n=w(D[e+48>>2]),gt(n)|0&&(n=c[(t[e+...
function Bs (line 31) | function Bs(e,n){e=e|0,n=n|0,t[e+980>>2]=n}
function Vu (line 31) | function Vu(e){return e=e|0,t[e+980>>2]|0}
function M0 (line 31) | function M0(e,n){e=e|0,n=n|0;var r=0;r=e+4|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2...
function au (line 31) | function au(e){return e=e|0,t[e+4>>2]|0}
function Lr (line 31) | function Lr(e,n){e=e|0,n=n|0;var r=0;r=e+8|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2...
function F (line 31) | function F(e){return e=e|0,t[e+8>>2]|0}
function R (line 31) | function R(e,n){e=e|0,n=n|0;var r=0;r=e+12|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2...
function U (line 31) | function U(e){return e=e|0,t[e+12>>2]|0}
function H (line 31) | function H(e,n){e=e|0,n=n|0;var r=0;r=e+16|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2...
function fe (line 31) | function fe(e){return e=e|0,t[e+16>>2]|0}
function ue (line 31) | function ue(e,n){e=e|0,n=n|0;var r=0;r=e+20|0,(t[r>>2]|0)!=(n|0)&&(t[r>>...
function de (line 31) | function de(e){return e=e|0,t[e+20>>2]|0}
function W (line 31) | function W(e,n){e=e|0,n=n|0;var r=0;r=e+24|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2...
function ve (line 31) | function ve(e){return e=e|0,t[e+24>>2]|0}
function Fe (line 31) | function Fe(e,n){e=e|0,n=n|0;var r=0;r=e+28|0,(t[r>>2]|0)!=(n|0)&&(t[r>>...
function Ge (line 31) | function Ge(e){return e=e|0,t[e+28>>2]|0}
function K (line 31) | function K(e,n){e=e|0,n=n|0;var r=0;r=e+32|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2...
function xe (line 31) | function xe(e){return e=e|0,t[e+32>>2]|0}
function je (line 31) | function je(e,n){e=e|0,n=n|0;var r=0;r=e+36|0,(t[r>>2]|0)!=(n|0)&&(t[r>>...
function Xe (line 31) | function Xe(e){return e=e|0,t[e+36>>2]|0}
function rt (line 31) | function rt(e,n){e=e|0,n=w(n);var r=0;r=e+40|0,w(D[r>>2])!=n&&(D[r>>2]=n...
function st (line 31) | function st(e,n){e=e|0,n=w(n);var r=0;r=e+44|0,w(D[r>>2])!=n&&(D[r>>2]=n...
function xt (line 31) | function xt(e,n){e=e|0,n=w(n);var r=0;r=e+48|0,w(D[r>>2])!=n&&(D[r>>2]=n...
function wt (line 31) | function wt(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=(l^1)&1,o=...
function lt (line 31) | function lt(e,n){e=e|0,n=w(n);var r=0,o=0;o=e+52|0,r=e+56|0,(w(D[o>>2])=...
function Rt (line 31) | function Rt(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+52|0,r=t[o+4>>2]|0,n=e,t[n>...
function yn (line 31) | function yn(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=gt(r)|0,o=(l^1)&...
function sn (line 31) | function sn(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=gt(r)|0,o=l?0:2,...
function ar (line 31) | function ar(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=n+132+(r<<3)|0,n=t[o+4>>2...
function rn (line 31) | function rn(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=gt(r)|0,o=(l^1)&...
function Hn (line 31) | function Hn(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=gt(r)|0,o=l?0:2,...
function d0 (line 31) | function d0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=n+60+(r<<3)|0,n=t[o+4>>2]...
function Cr (line 31) | function Cr(e,n){e=e|0,n=n|0;var r=0;r=e+60+(n<<3)+4|0,(t[r>>2]|0)!=3&&(...
function He (line 31) | function He(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=gt(r)|0,o=(l^1)&...
function Qe (line 31) | function Qe(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=gt(r)|0,o=l?0:2,...
function Ne (line 31) | function Ne(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=n+204+(r<<3)|0,n=t[o+4>>2...
function ft (line 31) | function ft(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=gt(r)|0,o=(l^1)&...
function St (line 31) | function St(e,n){return e=e|0,n=n|0,w(D[e+276+(n<<3)>>2])}
function Qt (line 31) | function Qt(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=(l^1)&1,o=...
function Cn (line 31) | function Cn(e,n){e=e|0,n=w(n);var r=0,o=0;o=e+348|0,r=e+352|0,(w(D[o>>2]...
function bn (line 31) | function bn(e){e=e|0;var n=0;n=e+352|0,(t[n>>2]|0)!=3&&(D[e+348>>2]=w(J)...
function p0 (line 31) | function p0(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+348|0,r=t[o+4>>2]|0,n=e,t[n...
function h0 (line 31) | function h0(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=(l^1)&1,o=...
function ci (line 31) | function ci(e,n){e=e|0,n=w(n);var r=0,o=0;o=e+356|0,r=e+360|0,(w(D[o>>2]...
function xi (line 31) | function xi(e){e=e|0;var n=0;n=e+360|0,(t[n>>2]|0)!=3&&(D[e+356>>2]=w(J)...
function E0 (line 31) | function E0(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+356|0,r=t[o+4>>2]|0,n=e,t[n...
function qr (line 31) | function qr(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=(l^1)&1,o=...
function Eo (line 31) | function Eo(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=l?0:2,o=e+...
function So (line 31) | function So(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+364|0,r=t[o+4>>2]|0,n=e,t[n...
function wl (line 31) | function wl(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=(l^1)&1,o=...
function js (line 31) | function js(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=l?0:2,o=e+...
function Dl (line 31) | function Dl(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+372|0,r=t[o+4>>2]|0,n=e,t[n...
function du (line 31) | function du(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=(l^1)&1,o=...
function Yu (line 31) | function Yu(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=l?0:2,o=e+...
function Us (line 31) | function Us(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+380|0,r=t[o+4>>2]|0,n=e,t[n...
function oo (line 31) | function oo(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=(l^1)&1,o=...
function Hi (line 31) | function Hi(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=l?0:2,o=e+...
function qs (line 31) | function qs(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+388|0,r=t[o+4>>2]|0,n=e,t[n...
function F0 (line 31) | function F0(e,n){e=e|0,n=w(n);var r=0;r=e+396|0,w(D[r>>2])!=n&&(D[r>>2]=...
function Gr (line 31) | function Gr(e){return e=e|0,w(D[e+396>>2])}
function ir (line 31) | function ir(e){return e=e|0,w(D[e+400>>2])}
function L0 (line 31) | function L0(e){return e=e|0,w(D[e+404>>2])}
function Y0 (line 31) | function Y0(e){return e=e|0,w(D[e+408>>2])}
function Co (line 31) | function Co(e){return e=e|0,w(D[e+412>>2])}
function $u (line 31) | function $u(e){return e=e|0,w(D[e+416>>2])}
function Vo (line 31) | function Vo(e){return e=e|0,w(D[e+420>>2])}
function Rr (line 31) | function Rr(e,n){switch(e=e|0,n=n|0,i0(e,(n|0)<6,2918),n|0){case 0:{n=(t...
function Jn (line 31) | function Jn(e,n){switch(e=e|0,n=n|0,i0(e,(n|0)<6,2918),n|0){case 0:{n=(t...
function ai (line 31) | function ai(e,n){switch(e=e|0,n=n|0,i0(e,(n|0)<6,2918),n|0){case 0:{n=(t...
function o0 (line 31) | function o0(e,n){e=e|0,n=n|0;var r=0,o=tt;return r=t[e+4>>2]|0,(r|0)==(t...
function Vr (line 31) | function Vr(e,n){e=w(e),n=w(n);var r=0;return gt(e)|0?r=gt(n)|0:r=w(Ot(w...
function ff (line 31) | function ff(e,n){e=e|0,n=n|0,cf(e,n)}
function cf (line 31) | function cf(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r+4|0,t[o>>2]=0,...
function $0 (line 31) | function $0(e,n,r,o){e=w(e),n=w(n),r=r|0,o=o|0;var s=tt;e=w(e*n),s=w(V4(...
function K0 (line 31) | function K0(e,n,r,o,s,l,d,_,y,k,T,P,q){e=e|0,n=w(n),r=r|0,o=w(o),s=s|0,l...
function ae (line 31) | function ae(e,n,r){return e=e|0,n=w(n),r=w(r),(e|0)==1?e=Vr(n,r)|0:e=0,e|0}
function Be (line 31) | function Be(e,n,r,o){return e=e|0,n=w(n),r=r|0,o=w(o),(e|0)==2&(r|0)==0?...
function Ie (line 31) | function Ie(e,n,r,o,s){return e=e|0,n=w(n),r=r|0,o=w(o),s=w(s),(e|0)==2&...
function ht (line 31) | function ht(e,n,r,o,s,l,d,_,y,k,T){e=e|0,n=w(n),r=w(r),o=o|0,s=s|0,l=l|0...
function mt (line 31) | function mt(e,n,r){e=e|0,n=n|0,r=w(r);var o=tt;return o=w(Tr(e,n,r)),w(o...
function wn (line 31) | function wn(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=h,h=h+16|0,s=...
function Gn (line 31) | function Gn(e){return e=e|0,(e>>>0>60?3201:3201+(60-e)|0)|0}
function $t (line 31) | function $t(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;return s=h,h=h+32|0,r=s+12|...
function X0 (line 31) | function X0(e,n,r,o,s,l,d,_,y,k){e=e|0,n=w(n),r=w(r),o=o|0,s=s|0,l=l|0,d...
function ki (line 31) | function ki(e,n){e=e|0,n=w(n);var r=0;li(e,n>=w(0),3147),r=n==w(0),D[e+4...
function Yr (line 31) | function Yr(e,n,r,o){e=e|0,n=w(n),r=w(r),o=o|0;var s=tt,l=tt,d=0,_=0,y=0...
function $r (line 31) | function $r(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;_=h,h=h...
function m0 (line 31) | function m0(e,n,r){e=e|0,n=n|0,r=w(r);var o=0;switch(e=t[e+992+(t[976+(n...
function Tn (line 31) | function Tn(e,n){switch(e=e|0,n=w(n),t[e+4>>2]|0){case 2:{n=w(w(w(D[e>>2...
function Yo (line 31) | function Yo(e,n,r,o,s){e=e|0,n=n|0,r=w(r),o=w(o),s=w(s);var l=0,d=tt;n=t...
function bi (line 31) | function bi(e,n,r,o){e=e|0,n=w(n),r=w(r),o=w(o);var s=0,l=0,d=tt,_=tt,y=...
function or (line 31) | function or(e,n,r,o,s){switch(e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,r|0){case 5:...
function zs (line 31) | function zs(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;s=h,h=h+16|0,l=...
function Ku (line 31) | function Ku(e,n,r,o,s){if(e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,e=e|0?e:956,sD[t...
function J0 (line 31) | function J0(e,n,r){e=e|0,n=n|0,r=r|0,c[e+n>>0]=r&1}
function af (line 31) | function af(e,n){e=e|0,n=n|0;var r=0,o=0;t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]...
function S0 (line 31) | function S0(e,n){e=e|0,n=n|0;var r=0;if((Q0(e)|0)>>>0<n>>>0&&$n(e),n>>>0...
function El (line 31) | function El(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,o=e+4|0,e=r-n|0,(e|0)>0&&(v...
function Q0 (line 31) | function Q0(e){return e=e|0,1073741823}
function Tr (line 31) | function Tr(e,n,r){return e=e|0,n=n|0,r=w(r),(Nr(n)|0?(t[e+96>>2]|0)!=0:...
function R0 (line 31) | function R0(e,n,r){return e=e|0,n=n|0,r=w(r),(Nr(n)|0?(t[e+104>>2]|0)!=0...
function Nr (line 31) | function Nr(e){return e=e|0,(e|1|0)==3|0}
function uo (line 31) | function uo(e,n){return e=e|0,n=w(n),(t[e+4>>2]|0)==3?n=w(0):n=w(Tn(e,n)...
function so (line 31) | function so(e,n){return e=e|0,n=n|0,e=t[e>>2]|0,((e|0)==0?(n|0)>1?n:1:e)|0}
function N0 (line 31) | function N0(e,n){e=e|0,n=n|0;var r=0;e:do if((n|0)==2){switch(e|0){case ...
function C0 (line 31) | function C0(e,n){e=e|0,n=n|0;var r=tt;return((Nr(n)|0?(t[e+312>>2]|0)!=0...
function di (line 31) | function di(e,n){e=e|0,n=n|0;var r=tt;return((Nr(n)|0?(t[e+320>>2]|0)!=0...
function u0 (line 31) | function u0(e,n,r){e=e|0,n=n|0,r=w(r);var o=tt;return((Nr(n)|0?(t[e+240>...
function v0 (line 31) | function v0(e,n,r){e=e|0,n=n|0,r=w(r);var o=tt;return((Nr(n)|0?(t[e+248>...
function To (line 31) | function To(e,n,r,o,s,l,d){e=e|0,n=w(n),r=w(r),o=o|0,s=s|0,l=w(l),d=w(d)...
function pu (line 31) | function pu(e,n,r,o,s,l,d){e=e|0,n=w(n),r=w(r),o=o|0,s=s|0,l=w(l),d=w(d)...
function Sl (line 31) | function Sl(e,n,r,o,s,l,d){e=e|0,n=w(n),r=w(r),o=o|0,s=s|0,l=w(l),d=w(d)...
function Cl (line 31) | function Cl(e,n){return e=e|0,n=n|0,qt(e)|0?e=N0(2,n)|0:e=0,e|0}
function B0 (line 31) | function B0(e,n,r){return e=e|0,n=n|0,r=w(r),r=w(u0(e,n,r)),w(r+w(C0(e,n...
function hu (line 31) | function hu(e,n,r){return e=e|0,n=n|0,r=w(r),r=w(v0(e,n,r)),w(r+w(di(e,n...
function Fn (line 31) | function Fn(e,n,r){e=e|0,n=n|0,r=w(r);var o=tt;return o=w(B0(e,n,r)),w(o...
function pi (line 31) | function pi(e){return e=e|0,t[e+24>>2]|0?e=0:w(Br(e))!=w(0)?e=1:e=w(zr(e...
function Br (line 31) | function Br(e){e=e|0;var n=tt;if(t[e+944>>2]|0){if(n=w(D[e+44>>2]),gt(n)...
function zr (line 31) | function zr(e){e=e|0;var n=tt,r=0,o=tt;do if(t[e+944>>2]|0){if(n=w(D[e+4...
function lo (line 31) | function lo(e){e=e|0;var n=0,r=0;if(pa(e+400|0,0,540)|0,c[e+985>>0]=1,bo...
function wr (line 31) | function wr(e,n,r,o,s,l,d,_,y,k){e=e|0,n=n|0,r=w(r),o=o|0,s=w(s),l=w(l),...
function kn (line 31) | function kn(e,n,r,o,s){return e=e|0,n=n|0,r=w(r),o=w(o),s=w(s),o=w(Dt(e,...
function T0 (line 31) | function T0(e,n){return e=e|0,n=n|0,n=n+20|0,n=t[((t[n>>2]|0)==0?e+16|0:...
function hi (line 31) | function hi(e,n){return e=e|0,n=n|0,(Nr(n)|0?(t[e+96>>2]|0)!=0:0)?n=4:n=...
function Ai (line 31) | function Ai(e,n){return e=e|0,n=n|0,(Nr(n)|0?(t[e+104>>2]|0)!=0:0)?n=5:n...
function Kt (line 31) | function Kt(e,n,r,o,s,l){switch(e=e|0,n=n|0,r=w(r),o=w(o),s=s|0,l=l|0,r=...
function X (line 31) | function X(e,n){return e=e|0,n=n|0,e=e+132|0,(Nr(n)|0?(t[(en(e,4,948)|0)...
function Y (line 31) | function Y(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0;return e=e+132|0,(Nr(n)...
function ye (line 31) | function ye(e,n,r){e=e|0,n=n|0,r=w(r);var o=tt;return o=w(D[e+908+(t[976...
function he (line 31) | function he(e){e=e|0;var n=0,r=0,o=0;e:do if(qt(t[e+4>>2]|0)|0)n=0;else ...
function We (line 31) | function We(e,n){e=e|0,n=n|0;var r=tt;return r=w(D[e+908+(t[976+(n<<2)>>...
function et (line 31) | function et(e){e=e|0;var n=tt,r=0,o=0,s=0,l=0,d=0,_=0,y=tt;if(r=t[e+968>...
function Dt (line 31) | function Dt(e,n,r,o){e=e|0,n=n|0,r=w(r),o=w(o);var s=tt,l=0;return qt(n)...
function bt (line 31) | function bt(e,n,r,o,s,l,d){e=e|0,n=n|0,r=w(r),o=o|0,s=w(s),l=l|0,d=d|0;v...
function Zt (line 31) | function Zt(e,n,r){e=e|0,n=n|0,r=r|0;var o=tt,s=0;s=t[976+(r<<2)>>2]|0,o...
function qt (line 31) | function qt(e){return e=e|0,(e|1|0)==1|0}
function Ut (line 31) | function Ut(e){e=e|0;var n=tt;switch(t[e+56>>2]|0){case 0:case 3:{n=w(D[...
function fn (line 31) | function fn(e,n){return e=e|0,n=n|0,(c[e+n>>0]|0)!=0|0}
function _t (line 31) | function _t(e,n){return e=e|0,n=n|0,e=e+132|0,(Nr(n)|0?(t[(en(e,5,948)|0...
function _r (line 31) | function _r(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0;return e=e+132|0,(Nr(n...
function Wr (line 31) | function Wr(e,n,r){return e=e|0,n=n|0,r=w(r),X(e,n)|0?r=w(Y(e,n,r)):r=w(...
function Ar (line 31) | function Ar(e){return e=w(e),D[j>>2]=e,t[j>>2]|0|0}
function z (line 31) | function z(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>...
function dr (line 31) | function dr(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0...
function Or (line 31) | function Or(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(...
function Qn (line 31) | function Qn(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;if(d=e+...
function nn (line 31) | function nn(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0;return ...
function s0 (line 31) | function s0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;if(d=t[n>>2]|0,...
function t0 (line 31) | function t0(){_l()}
function g0 (line 31) | function g0(){var e=0;return e=Tt(4)|0,Kr(e),e|0}
function Kr (line 31) | function Kr(e){e=e|0,t[e>>2]=a0()|0}
function _0 (line 31) | function _0(e){e=e|0,e|0&&(Gi(e),Ve(e))}
function Gi (line 31) | function Gi(e){e=e|0,V0(t[e>>2]|0)}
function fo (line 31) | function fo(e,n,r){e=e|0,n=n|0,r=r|0,J0(t[e>>2]|0,n,r)}
function x0 (line 31) | function x0(e,n){e=e|0,n=w(n),ki(t[e>>2]|0,n)}
function Xu (line 31) | function Xu(e,n){return e=e|0,n=n|0,fn(t[e>>2]|0,n)|0}
function Z0 (line 31) | function Z0(){var e=0;return e=Tt(8)|0,df(e,0),e|0}
function df (line 31) | function df(e,n){e=e|0,n=n|0,n?n=I0(t[n>>2]|0)|0:n=qu()|0,t[e>>2]=n,t[e+...
function Ba (line 31) | function Ba(e){e=e|0;var n=0;return n=Tt(8)|0,df(n,e),n|0}
function Oc (line 31) | function Oc(e){e=e|0,e|0&&(mu(e),Ve(e))}
function mu (line 31) | function mu(e){e=e|0;var n=0;Wu(t[e>>2]|0),n=e+4|0,e=t[n>>2]|0,t[n>>2]=0...
function Ju (line 31) | function Ju(e){e=e|0,ei(e)}
function ei (line 31) | function ei(e){e=e|0,e=t[e>>2]|0,e|0&&ju(e|0)}
function Yf (line 31) | function Yf(e){return e=e|0,Vu(e)|0}
function pf (line 31) | function pf(e){e=e|0;var n=0,r=0;r=e+4|0,n=t[r>>2]|0,t[r>>2]=0,n|0&&(Ju(...
function ja (line 31) | function ja(e,n){e=e|0,n=n|0,Gu(t[e>>2]|0,t[n>>2]|0)}
function Ua (line 31) | function Ua(e,n){e=e|0,n=n|0,W(t[e>>2]|0,n)}
function Ic (line 31) | function Ic(e,n,r){e=e|0,n=n|0,r=+r,yn(t[e>>2]|0,n,w(r))}
function vu (line 31) | function vu(e,n,r){e=e|0,n=n|0,r=+r,sn(t[e>>2]|0,n,w(r))}
function $f (line 31) | function $f(e,n){e=e|0,n=n|0,R(t[e>>2]|0,n)}
function gu (line 31) | function gu(e,n){e=e|0,n=n|0,H(t[e>>2]|0,n)}
function co (line 31) | function co(e,n){e=e|0,n=n|0,ue(t[e>>2]|0,n)}
function qa (line 31) | function qa(e,n){e=e|0,n=n|0,M0(t[e>>2]|0,n)}
function Ws (line 31) | function Ws(e,n){e=e|0,n=n|0,Fe(t[e>>2]|0,n)}
function za (line 31) | function za(e,n){e=e|0,n=n|0,Lr(t[e>>2]|0,n)}
function Pc (line 31) | function Pc(e,n,r){e=e|0,n=n|0,r=+r,rn(t[e>>2]|0,n,w(r))}
function Qu (line 31) | function Qu(e,n,r){e=e|0,n=n|0,r=+r,Hn(t[e>>2]|0,n,w(r))}
function Mc (line 31) | function Mc(e,n){e=e|0,n=n|0,Cr(t[e>>2]|0,n)}
function Fc (line 31) | function Fc(e,n){e=e|0,n=n|0,K(t[e>>2]|0,n)}
function Lc (line 31) | function Lc(e,n){e=e|0,n=n|0,je(t[e>>2]|0,n)}
function Kf (line 31) | function Kf(e,n){e=e|0,n=+n,rt(t[e>>2]|0,w(n))}
function Tl (line 31) | function Tl(e,n){e=e|0,n=+n,wt(t[e>>2]|0,w(n))}
function xl (line 31) | function xl(e,n){e=e|0,n=+n,lt(t[e>>2]|0,w(n))}
function hf (line 31) | function hf(e,n){e=e|0,n=+n,st(t[e>>2]|0,w(n))}
function xo (line 31) | function xo(e,n){e=e|0,n=+n,xt(t[e>>2]|0,w(n))}
function mf (line 31) | function mf(e,n){e=e|0,n=+n,Qt(t[e>>2]|0,w(n))}
function Wa (line 31) | function Wa(e,n){e=e|0,n=+n,Cn(t[e>>2]|0,w(n))}
function ti (line 31) | function ti(e){e=e|0,bn(t[e>>2]|0)}
function Hs (line 31) | function Hs(e,n){e=e|0,n=+n,h0(t[e>>2]|0,w(n))}
function mi (line 31) | function mi(e,n){e=e|0,n=+n,ci(t[e>>2]|0,w(n))}
function vi (line 31) | function vi(e){e=e|0,xi(t[e>>2]|0)}
function Xf (line 31) | function Xf(e,n){e=e|0,n=+n,qr(t[e>>2]|0,w(n))}
function Rc (line 31) | function Rc(e,n){e=e|0,n=+n,Eo(t[e>>2]|0,w(n))}
function Jf (line 31) | function Jf(e,n){e=e|0,n=+n,wl(t[e>>2]|0,w(n))}
function ao (line 31) | function ao(e,n){e=e|0,n=+n,js(t[e>>2]|0,w(n))}
function $o (line 31) | function $o(e,n){e=e|0,n=+n,du(t[e>>2]|0,w(n))}
function kl (line 31) | function kl(e,n){e=e|0,n=+n,Yu(t[e>>2]|0,w(n))}
function Nc (line 31) | function Nc(e,n){e=e|0,n=+n,oo(t[e>>2]|0,w(n))}
function Al (line 31) | function Al(e,n){e=e|0,n=+n,Hi(t[e>>2]|0,w(n))}
function vf (line 31) | function vf(e,n){e=e|0,n=+n,F0(t[e>>2]|0,w(n))}
function Qf (line 31) | function Qf(e,n,r){e=e|0,n=n|0,r=+r,ft(t[e>>2]|0,n,w(r))}
function k0 (line 31) | function k0(e,n,r){e=e|0,n=n|0,r=+r,He(t[e>>2]|0,n,w(r))}
function v (line 31) | function v(e,n,r){e=e|0,n=n|0,r=+r,Qe(t[e>>2]|0,n,w(r))}
function m (line 31) | function m(e){return e=e|0,ve(t[e>>2]|0)|0}
function S (line 31) | function S(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;o=h,h=h+16|0,s=o,ar(s,t[...
function O (line 31) | function O(e,n){e=e|0,n=n|0,M(e,t[n+4>>2]|0,+w(D[n>>2]))}
function M (line 31) | function M(e,n,r){e=e|0,n=n|0,r=+r,t[e>>2]=n,L[e+8>>3]=r}
function b (line 31) | function b(e){return e=e|0,U(t[e>>2]|0)|0}
function ee (line 31) | function ee(e){return e=e|0,fe(t[e>>2]|0)|0}
function Ye (line 31) | function Ye(e){return e=e|0,de(t[e>>2]|0)|0}
function Ze (line 31) | function Ze(e){return e=e|0,au(t[e>>2]|0)|0}
function ut (line 31) | function ut(e){return e=e|0,Ge(t[e>>2]|0)|0}
function In (line 31) | function In(e){return e=e|0,F(t[e>>2]|0)|0}
function A0 (line 31) | function A0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;o=h,h=h+16|0,s=o,d0(s,t...
function jr (line 31) | function jr(e){return e=e|0,xe(t[e>>2]|0)|0}
function gi (line 31) | function gi(e){return e=e|0,Xe(t[e>>2]|0)|0}
function po (line 31) | function po(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,Rt(o,t[n>>2]|0...
function _i (line 31) | function _i(e){return e=e|0,+ +w(yl(t[e>>2]|0))}
function Re (line 31) | function Re(e){return e=e|0,+ +w(cu(t[e>>2]|0))}
function Ce (line 31) | function Ce(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,p0(o,t[n>>2]|0...
function ze (line 31) | function ze(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,E0(o,t[n>>2]|0...
function Et (line 31) | function Et(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,So(o,t[n>>2]|0...
function on (line 31) | function on(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,Dl(o,t[n>>2]|0...
function sr (line 31) | function sr(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,Us(o,t[n>>2]|0...
function mn (line 31) | function mn(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,qs(o,t[n>>2]|0...
function pr (line 31) | function pr(e){return e=e|0,+ +w(Gr(t[e>>2]|0))}
function Hr (line 31) | function Hr(e,n){return e=e|0,n=n|0,+ +w(St(t[e>>2]|0,n))}
function Vn (line 31) | function Vn(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;o=h,h=h+16|0,s=o,Ne(s,t...
function ni (line 31) | function ni(e,n,r){e=e|0,n=n|0,r=r|0,Ns(t[e>>2]|0,t[n>>2]|0,r)}
function Zf (line 31) | function Zf(e,n){e=e|0,n=n|0,D0(t[e>>2]|0,t[n>>2]|0)}
function Pm (line 31) | function Pm(e){return e=e|0,fi(t[e>>2]|0)|0}
function Ha (line 31) | function Ha(e){return e=e|0,e=nr(t[e>>2]|0)|0,e?e=Yf(e)|0:e=0,e|0}
function vd (line 31) | function vd(e,n){return e=e|0,n=n|0,e=e0(t[e>>2]|0,n)|0,e?e=Yf(e)|0:e=0,...
function gd (line 31) | function gd(e,n){e=e|0,n=n|0;var r=0,o=0;o=Tt(4)|0,ba(o,n),r=e+4|0,n=t[r...
function ba (line 31) | function ba(e,n){e=e|0,n=n|0,Oo(e,n)}
function Bc (line 31) | function Bc(e,n,r,o,s,l){e=e|0,n=n|0,r=w(r),o=o|0,s=w(s),l=l|0;var d=0,_...
function Mm (line 31) | function Mm(e,n,r,o,s,l){e=e|0,n=n|0,r=+r,o=o|0,s=+s,l=l|0;var d=0,_=0,y...
function _d (line 31) | function _d(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0;var d=0,_=0...
function Oi (line 31) | function Oi(e){return e=e|0,t[e>>2]|0}
function Fm (line 31) | function Fm(e,n,r,o,s,l){e=e|0,n=n|0,r=+r,o=o|0,s=+s,l=l|0;var d=0;d=ko(...
function yd (line 31) | function yd(){var e=0;return c[7608]|0||(Ed(9120),e=7608,t[e>>2]=1,t[e+4...
function ko (line 31) | function ko(e){return e=e|0,t[e+8>>2]|0}
function Ko (line 31) | function Ko(e){return e=+e,+ +Ol(e)}
function jc (line 31) | function jc(e){return e=e|0,Dd(e)|0}
function Ga (line 31) | function Ga(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;s=h,h=h+32|0,r=s,o=n,o&1?(L...
function Lm (line 31) | function Lm(e,n){e=e|0,n=n|0,wd(e,n),t[e+8>>2]=0,c[e+24>>0]=0}
function Va (line 31) | function Va(e,n){e=e|0,n=n|0,n=n+8|0,t[e>>2]=t[n>>2],t[e+4>>2]=t[n+4>>2]...
function Wn (line 31) | function Wn(e){e=e|0,c[e+24>>0]=0}
function wd (line 31) | function wd(e,n){e=e|0,n=n|0,t[e>>2]=n}
function Dd (line 31) | function Dd(e){return e=e|0,e|0}
function Ol (line 31) | function Ol(e){return e=+e,+e}
function Ed (line 31) | function Ed(e){e=e|0,Ao(e,Rm()|0,4)}
function Rm (line 31) | function Rm(){return 1064}
function Ao (line 31) | function Ao(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r,t[e+8>>2]=hl(...
function Oo (line 31) | function Oo(e,n){e=e|0,n=n|0,n=t[n>>2]|0,t[e>>2]=n,qi(n|0)}
function Nm (line 31) | function Nm(e){e=e|0;var n=0,r=0;r=e+4|0,n=t[r>>2]|0,t[r>>2]=0,n|0&&(Ju(...
function Uc (line 31) | function Uc(e){e=e|0,rr(t[e>>2]|0)}
function Ya (line 31) | function Ya(e){return e=e|0,Go(t[e>>2]|0)|0}
function Sd (line 31) | function Sd(e,n,r,o){e=e|0,n=+n,r=+r,o=o|0,Yr(t[e>>2]|0,w(n),w(r),o)}
function Cd (line 31) | function Cd(e){return e=e|0,+ +w(ir(t[e>>2]|0))}
function ho (line 31) | function ho(e){return e=e|0,+ +w(Y0(t[e>>2]|0))}
function bs (line 31) | function bs(e){return e=e|0,+ +w(L0(t[e>>2]|0))}
function $a (line 31) | function $a(e){return e=e|0,+ +w(Co(t[e>>2]|0))}
function Td (line 31) | function Td(e){return e=e|0,+ +w($u(t[e>>2]|0))}
function qc (line 31) | function qc(e){return e=e|0,+ +w(Vo(t[e>>2]|0))}
function xd (line 31) | function xd(e,n){e=e|0,n=n|0,L[e>>3]=+w(ir(t[n>>2]|0)),L[e+8>>3]=+w(Y0(t...
function Ka (line 31) | function Ka(e,n){return e=e|0,n=n|0,+ +w(Rr(t[e>>2]|0,n))}
function kd (line 31) | function kd(e,n){return e=e|0,n=n|0,+ +w(Jn(t[e>>2]|0,n))}
function Xa (line 31) | function Xa(e,n){return e=e|0,n=n|0,+ +w(ai(t[e>>2]|0,n))}
function Ja (line 31) | function Ja(){return Rs()|0}
function Gs (line 31) | function Gs(){Bm(),Vs(),Ad(),Od(),Qa(),jm()}
function Bm (line 31) | function Bm(){hO(11713,4938,1)}
function Vs (line 31) | function Vs(){FA(10448)}
function Ad (line 31) | function Ad(){hA(10408)}
function Od (line 31) | function Od(){Bk(10324)}
function Qa (line 31) | function Qa(){Gx(10096)}
function jm (line 31) | function jm(){Um(9132)}
function Um (line 31) | function Um(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0...
function qm (line 31) | function qm(e,n){e=e|0,n=n|0;var r=0;r=Nx()|0,t[e>>2]=r,Bx(r,n),Cf(t[e>>...
function Id (line 31) | function Id(e,n,r){return e=e|0,n=n|0,r=r|0,Ex(e,Zn(n)|0,r,0),e|0}
function Pd (line 31) | function Pd(e,n,r){return e=e|0,n=n|0,r=r|0,ux(e,Zn(n)|0,r,0),e|0}
function zm (line 31) | function zm(e,n,r){return e=e|0,n=n|0,r=r|0,V9(e,Zn(n)|0,r,0),e|0}
function gf (line 31) | function gf(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+...
function Md (line 31) | function Md(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+...
function Xr (line 31) | function Xr(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+...
function yi (line 31) | function yi(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+...
function j0 (line 31) | function j0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+...
function Zu (line 31) | function Zu(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+...
function _f (line 31) | function _f(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+...
function Io (line 31) | function Io(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+...
function _u (line 31) | function _u(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+...
function ec (line 31) | function ec(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+...
function Wm (line 31) | function Wm(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+...
function Fd (line 31) | function Fd(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+...
function yf (line 31) | function yf(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+...
function tc (line 31) | function tc(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+...
function Hm (line 31) | function Hm(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+...
function Ld (line 31) | function Ld(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+...
function Rd (line 31) | function Rd(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+...
function zc (line 31) | function zc(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+...
function Nd (line 31) | function Nd(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+...
function Wc (line 31) | function Wc(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|...
function Zn (line 31) | function Zn(e){return e=e|0,e|0}
function Hc (line 31) | function Hc(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0...
function Za (line 31) | function Za(){var e=0,n=0;if(c[7616]|0||(yu(9136),Bt(24,9136,Q|0)|0,n=76...
function Bd (line 31) | function Bd(e){return e=e|0,0}
function bc (line 31) | function bc(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0...
function ur (line 31) | function ur(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0;var d=0,_=0...
function e1 (line 31) | function e1(e,n,r,o,s,l,d){return e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,d=...
function bm (line 31) | function bm(e){return e=e|0,t[e>>2]|0}
function t1 (line 31) | function t1(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,t[e>>2]=n,t...
function Lt (line 31) | function Lt(e,n){return e=e|0,n=n|0,n|e|0}
function n1 (line 31) | function n1(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>...
function jd (line 31) | function jd(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0...
function Gm (line 31) | function Gm(e){return e=e|0,357913941}
function Ud (line 31) | function Ud(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16...
function Vm (line 31) | function Vm(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0...
function Ym (line 31) | function Ym(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(...
function yu (line 31) | function yu(e){e=e|0,Gc(e)}
function r1 (line 31) | function r1(e){e=e|0,i1(e+24|0)}
function Dn (line 31) | function Dn(e){return e=e|0,t[e>>2]|0}
function i1 (line 31) | function i1(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function Gc (line 31) | function Gc(e){e=e|0;var n=0;n=An()|0,Nn(e,2,3,n,cn()|0,0),t[e+24>>2]=0,...
function An (line 31) | function An(){return 9228}
function cn (line 31) | function cn(){return 1140}
function Vc (line 31) | function Vc(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;return r=h,h=h+16|0,o=r...
function Nn (line 31) | function Nn(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,t[e>>2]=n,t...
function Il (line 31) | function Il(e){return e=e|0,(t[(Za()|0)+24>>2]|0)+(e*12|0)|0}
function $m (line 31) | function $m(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;return s=h,h=h+48|0,o=s,r=t...
function o1 (line 31) | function o1(e){e=e|0;var n=0,r=0,o=0,s=0;return s=h,h=h+32|0,n=s+12|0,r=...
function u1 (line 31) | function u1(){var e=0;return c[7632]|0||(nc(9184),Bt(25,9184,Q|0)|0,e=76...
function U0 (line 31) | function U0(e){return e=e|0,t[e+36>>2]|0}
function s1 (line 31) | function s1(e,n){e=e|0,n=n|0,t[e>>2]=n,t[e+4>>2]=e,t[e+8>>2]=0}
function l1 (line 31) | function l1(e,n){e=e|0,n=n|0,t[e>>2]=t[n>>2],t[e+4>>2]=t[n+4>>2],t[e+8>>...
function qd (line 31) | function qd(e,n){e=e|0,n=n|0,Ii(n,e,e+8|0,e+16|0,e+24|0,e+32|0,e+40|0)|0}
function f1 (line 31) | function f1(e){return e=e|0,t[(t[e+4>>2]|0)+8>>2]|0}
function zd (line 31) | function zd(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0,y=0;y=h,h=h+16|0,r=...
function Wd (line 31) | function Wd(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=Tt(16)|0,t[r+4>>2]=0,t[...
function Km (line 31) | function Km(e){e=e|0,da(e),Ve(e)}
function Xm (line 31) | function Xm(e){e=e|0,e=t[e+12>>2]|0,e|0&&Ve(e)}
function es (line 31) | function es(e){e=e|0,Ve(e)}
function Ii (line 31) | function Ii(e,n,r,o,s,l,d){return e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,d=...
function c1 (line 31) | function c1(e,n,r,o,s,l,d){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,d=d|0;var...
function Jm (line 31) | function Jm(e,n,r,o,s,l,d){e=e|0,n=+n,r=+r,o=+o,s=+s,l=+l,d=+d;var _=0;r...
function a1 (line 31) | function a1(){var e=0;return c[7624]|0||(Qm(9172),e=7624,t[e>>2]=1,t[e+4...
function Qm (line 31) | function Qm(e){e=e|0,Ao(e,Zm()|0,6)}
function Zm (line 31) | function Zm(){return 1112}
function nc (line 31) | function nc(e){e=e|0,Ys(e)}
function Hd (line 31) | function Hd(e){e=e|0,d1(e+24|0),bd(e+16|0)}
function d1 (line 31) | function d1(e){e=e|0,tv(e)}
function bd (line 31) | function bd(e){e=e|0,ev(e)}
function ev (line 31) | function ev(e){e=e|0;var n=0,r=0;if(n=t[e>>2]|0,n|0)do r=n,n=t[n>>2]|0,V...
function tv (line 31) | function tv(e){e=e|0;var n=0,r=0;if(n=t[e>>2]|0,n|0)do r=n,n=t[n>>2]|0,V...
function Ys (line 31) | function Ys(e){e=e|0;var n=0;t[e+16>>2]=0,t[e+20>>2]=0,n=e+24|0,t[n>>2]=...
function Gd (line 31) | function Gd(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|...
function Vd (line 31) | function Vd(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0...
function p1 (line 31) | function p1(){var e=0,n=0;if(c[7640]|0||(Xo(9232),Bt(26,9232,Q|0)|0,n=76...
function h1 (line 31) | function h1(e){return e=e|0,0}
function Yd (line 31) | function Yd(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0...
function wf (line 31) | function wf(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>...
function m1 (line 31) | function m1(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0...
function $d (line 31) | function $d(e){return e=e|0,357913941}
function Kd (line 31) | function Kd(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16...
function Yc (line 31) | function Yc(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0...
function Xd (line 31) | function Xd(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(...
function Xo (line 31) | function Xo(e){e=e|0,Jd(e)}
function Pl (line 31) | function Pl(e){e=e|0,nv(e+24|0)}
function nv (line 31) | function nv(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function Jd (line 31) | function Jd(e){e=e|0;var n=0;n=An()|0,Nn(e,2,1,n,rv()|0,3),t[e+24>>2]=0,...
function rv (line 31) | function rv(){return 1144}
function iv (line 31) | function iv(e,n,r,o,s){e=e|0,n=n|0,r=+r,o=+o,s=s|0;var l=0,d=0,_=0,y=0;l...
function ov (line 31) | function ov(e){return e=e|0,(t[(p1()|0)+24>>2]|0)+(e*12|0)|0}
function uv (line 31) | function uv(e,n,r,o,s){e=e|0,n=n|0,r=+r,o=+o,s=s|0;var l=0,d=0,_=0,y=0,k...
function wu (line 31) | function wu(e,n){e=e|0,n=+n}
function Du (line 31) | function Du(e,n){return e=e|0,n=+n,+ +lv(n)}
function ts (line 31) | function ts(e,n){e=e|0,n=n|0}
function ns (line 31) | function ns(e,n){return e=e|0,n=n|0,sv(n)|0}
function sv (line 31) | function sv(e){return e=e|0,e|0}
function lv (line 31) | function lv(e){return e=+e,+e}
function fv (line 31) | function fv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|...
function Qd (line 31) | function Qd(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0...
function $c (line 31) | function $c(){var e=0,n=0;if(c[7648]|0||(np(9268),Bt(27,9268,Q|0)|0,n=76...
function Zd (line 31) | function Zd(e){return e=e|0,0}
function cv (line 31) | function cv(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0...
function ep (line 31) | function ep(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>...
function av (line 31) | function av(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0...
function tp (line 31) | function tp(e){return e=e|0,357913941}
function dv (line 31) | function dv(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16...
function pv (line 31) | function pv(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0...
function hv (line 31) | function hv(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(...
function np (line 31) | function np(e){e=e|0,Po(e)}
function mv (line 31) | function mv(e){e=e|0,vv(e+24|0)}
function vv (line 31) | function vv(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function Po (line 31) | function Po(e){e=e|0;var n=0;n=An()|0,Nn(e,2,4,n,gv()|0,0),t[e+24>>2]=0,...
function gv (line 31) | function gv(){return 1160}
function _v (line 31) | function _v(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;return r=h,h=h+16|0,o=r...
function yv (line 31) | function yv(e){return e=e|0,(t[($c()|0)+24>>2]|0)+(e*12|0)|0}
function rp (line 31) | function rp(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=...
function ip (line 31) | function ip(e){return e=e|0,e&1|0}
function wv (line 31) | function wv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|...
function Dv (line 31) | function Dv(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0...
function v1 (line 31) | function v1(){var e=0,n=0;if(c[7656]|0||(up(9304),Bt(28,9304,Q|0)|0,n=76...
function g1 (line 31) | function g1(e){return e=e|0,0}
function Ev (line 31) | function Ev(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0...
function op (line 31) | function op(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>...
function Sv (line 31) | function Sv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0...
function Cv (line 31) | function Cv(e){return e=e|0,357913941}
function Tv (line 31) | function Tv(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16...
function xv (line 31) | function xv(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0...
function kv (line 31) | function kv(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(...
function up (line 31) | function up(e){e=e|0,Iv(e)}
function Av (line 31) | function Av(e){e=e|0,Ov(e+24|0)}
function Ov (line 31) | function Ov(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function Iv (line 31) | function Iv(e){e=e|0;var n=0;n=An()|0,Nn(e,2,5,n,Pv()|0,1),t[e+24>>2]=0,...
function Pv (line 31) | function Pv(){return 1164}
function Mv (line 31) | function Mv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,s=...
function Fv (line 31) | function Fv(e){return e=e|0,(t[(v1()|0)+24>>2]|0)+(e*12|0)|0}
function Lv (line 31) | function Lv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;l=h,h=h+16|0,s=l,o=...
function $s (line 31) | function $s(e,n){e=e|0,n=n|0,Rv(e,n)}
function Ks (line 31) | function Ks(e,n){return e=e|0,n=n|0,e|0}
function Xs (line 31) | function Xs(e){e=e|0,Ju(e)}
function Rv (line 31) | function Rv(e,n){e=e|0,n=n|0,_1(e,n)}
function _1 (line 31) | function _1(e,n){e=e|0,n=n|0,t[e>>2]=n}
function y1 (line 31) | function y1(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|...
function sp (line 31) | function sp(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0...
function w1 (line 31) | function w1(){var e=0,n=0;if(c[7664]|0||(cp(9340),Bt(29,9340,Q|0)|0,n=76...
function Nv (line 31) | function Nv(e){return e=e|0,0}
function Bv (line 31) | function Bv(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0...
function lp (line 31) | function lp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>...
function jv (line 31) | function jv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0...
function Uv (line 31) | function Uv(e){return e=e|0,357913941}
function qv (line 31) | function qv(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16...
function zv (line 31) | function zv(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0...
function fp (line 31) | function fp(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(...
function cp (line 31) | function cp(e){e=e|0,Hv(e)}
function Kc (line 31) | function Kc(e){e=e|0,Wv(e+24|0)}
function Wv (line 31) | function Wv(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function Hv (line 31) | function Hv(e){e=e|0;var n=0;n=An()|0,Nn(e,2,4,n,bv()|0,1),t[e+24>>2]=0,...
function bv (line 31) | function bv(){return 1180}
function Gv (line 31) | function Gv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+...
function Vv (line 31) | function Vv(e){return e=e|0,(t[(w1()|0)+24>>2]|0)+(e*12|0)|0}
function Yv (line 31) | function Yv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;return l=h,h=h+16|0...
function Ml (line 31) | function Ml(e,n){e=e|0,n=n|0}
function Fl (line 31) | function Fl(e,n){return e=e|0,n=n|0,$v(n)|0}
function Xc (line 31) | function Xc(e){return e=e|0,e|0}
function $v (line 31) | function $v(e){return e=e|0,e|0}
function Kv (line 31) | function Kv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|...
function Xv (line 31) | function Xv(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0...
function D1 (line 31) | function D1(){var e=0,n=0;if(c[7672]|0||(hp(9376),Bt(30,9376,Q|0)|0,n=76...
function Jv (line 31) | function Jv(e){return e=e|0,0}
function Qv (line 31) | function Qv(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0...
function ap (line 31) | function ap(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>...
function dp (line 31) | function dp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0...
function pp (line 31) | function pp(e){return e=e|0,357913941}
function Zv (line 31) | function Zv(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16...
function eg (line 31) | function eg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0...
function tg (line 31) | function tg(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(...
function hp (line 31) | function hp(e){e=e|0,rg(e)}
function Jc (line 31) | function Jc(e){e=e|0,ng(e+24|0)}
function ng (line 31) | function ng(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function rg (line 31) | function rg(e){e=e|0;var n=0;n=An()|0,Nn(e,2,5,n,mp()|0,0),t[e+24>>2]=0,...
function mp (line 31) | function mp(){return 1196}
function ig (line 31) | function ig(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;return r=h,h=h+16|0,o=r...
function og (line 31) | function og(e){return e=e|0,(t[(D1()|0)+24>>2]|0)+(e*12|0)|0}
function ug (line 31) | function ug(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=...
function sg (line 31) | function sg(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|...
function lg (line 31) | function lg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0...
function E1 (line 31) | function E1(){var e=0,n=0;if(c[7680]|0||(C1(9412),Bt(31,9412,Q|0)|0,n=76...
function fg (line 31) | function fg(e){return e=e|0,0}
function cg (line 31) | function cg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0...
function rc (line 31) | function rc(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>...
function ag (line 31) | function ag(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0...
function vp (line 31) | function vp(e){return e=e|0,357913941}
function gp (line 31) | function gp(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16...
function S1 (line 31) | function S1(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0...
function _p (line 31) | function _p(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(...
function C1 (line 31) | function C1(e){e=e|0,dg(e)}
function yp (line 31) | function yp(e){e=e|0,wp(e+24|0)}
function wp (line 31) | function wp(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function dg (line 31) | function dg(e){e=e|0;var n=0;n=An()|0,Nn(e,2,6,n,Dp()|0,0),t[e+24>>2]=0,...
function Dp (line 31) | function Dp(){return 1200}
function pg (line 31) | function pg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;return r=h,h=h+16|0,o=r...
function Qc (line 31) | function Qc(e){return e=e|0,(t[(E1()|0)+24>>2]|0)+(e*12|0)|0}
function Zc (line 31) | function Zc(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=...
function ea (line 31) | function ea(e){return e=e|0,e|0}
function hg (line 31) | function hg(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|...
function T1 (line 31) | function T1(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0...
function ta (line 31) | function ta(){var e=0,n=0;if(c[7688]|0||(Sp(9448),Bt(32,9448,Q|0)|0,n=76...
function mg (line 31) | function mg(e){return e=e|0,0}
function vg (line 31) | function vg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0...
function Ep (line 31) | function Ep(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>...
function gg (line 31) | function gg(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0...
function _g (line 31) | function _g(e){return e=e|0,357913941}
function yg (line 31) | function yg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16...
function wg (line 31) | function wg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0...
function Dg (line 31) | function Dg(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(...
function Sp (line 31) | function Sp(e){e=e|0,Cg(e)}
function Eg (line 31) | function Eg(e){e=e|0,Sg(e+24|0)}
function Sg (line 31) | function Sg(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function Cg (line 31) | function Cg(e){e=e|0;var n=0;n=An()|0,Nn(e,2,6,n,Mo()|0,1),t[e+24>>2]=0,...
function Mo (line 31) | function Mo(){return 1204}
function Tg (line 31) | function Tg(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,s=...
function xg (line 31) | function xg(e){return e=e|0,(t[(ta()|0)+24>>2]|0)+(e*12|0)|0}
function Ll (line 31) | function Ll(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;l=h,h=h+16|0,s=l,o=...
function On (line 31) | function On(e,n){e=e|0,n=n|0}
function x1 (line 31) | function x1(e,n){return e=e|0,n=n|0,Vi(n)|0}
function Vi (line 31) | function Vi(e){return e=e|0,e|0}
function l0 (line 31) | function l0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|...
function kg (line 31) | function kg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0...
function Eu (line 31) | function Eu(){var e=0,n=0;if(c[7696]|0||(A1(9484),Bt(33,9484,Q|0)|0,n=76...
function Ag (line 31) | function Ag(e){return e=e|0,0}
function Og (line 31) | function Og(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0...
function Cp (line 31) | function Cp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>...
function Ig (line 31) | function Ig(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0...
function Pg (line 31) | function Pg(e){return e=e|0,357913941}
function k1 (line 31) | function k1(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16...
function Mg (line 31) | function Mg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0...
function rs (line 31) | function rs(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(...
function A1 (line 31) | function A1(e){e=e|0,n0(e)}
function na (line 31) | function na(e){e=e|0,Jr(e+24|0)}
function Jr (line 31) | function Jr(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function n0 (line 31) | function n0(e){e=e|0;var n=0;n=An()|0,Nn(e,2,1,n,Tp()|0,2),t[e+24>>2]=0,...
function Tp (line 31) | function Tp(){return 1212}
function Fg (line 31) | function Fg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;s=h,h=h...
function Lg (line 31) | function Lg(e){return e=e|0,(t[(Eu()|0)+24>>2]|0)+(e*12|0)|0}
function Rg (line 31) | function Rg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;_=h,h=h...
function Ng (line 31) | function Ng(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|...
function Bg (line 31) | function Bg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0...
function O1 (line 31) | function O1(){var e=0,n=0;if(c[7704]|0||(Ap(9520),Bt(34,9520,Q|0)|0,n=77...
function xp (line 31) | function xp(e){return e=e|0,0}
function ic (line 31) | function ic(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0...
function ra (line 31) | function ra(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>...
function jg (line 31) | function jg(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0...
function kp (line 31) | function kp(e){return e=e|0,357913941}
function ia (line 31) | function ia(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16...
function mo (line 31) | function mo(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0...
function Df (line 31) | function Df(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(...
function Ap (line 31) | function Ap(e){e=e|0,zg(e)}
function Ug (line 31) | function Ug(e){e=e|0,qg(e+24|0)}
function qg (line 31) | function qg(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function zg (line 31) | function zg(e){e=e|0;var n=0;n=An()|0,Nn(e,2,1,n,Wg()|0,1),t[e+24>>2]=0,...
function Wg (line 31) | function Wg(){return 1224}
function Op (line 31) | function Op(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;return s=h,...
function is (line 31) | function is(e){return e=e|0,(t[(O1()|0)+24>>2]|0)+(e*12|0)|0}
function jn (line 31) | function jn(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return l=h,h=h+...
function Ip (line 31) | function Ip(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|...
function Fo (line 31) | function Fo(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0...
function oa (line 31) | function oa(){var e=0,n=0;if(c[7712]|0||(Fp(9556),Bt(35,9556,Q|0)|0,n=77...
function Hg (line 31) | function Hg(e){return e=e|0,0}
function yr (line 31) | function yr(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0...
function Pp (line 31) | function Pp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>...
function Mp (line 31) | function Mp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0...
function ua (line 31) | function ua(e){return e=e|0,357913941}
function bg (line 31) | function bg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16...
function Gg (line 31) | function Gg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0...
function Vg (line 31) | function Vg(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(...
function Fp (line 31) | function Fp(e){e=e|0,Kg(e)}
function Yg (line 31) | function Yg(e){e=e|0,$g(e+24|0)}
function $g (line 31) | function $g(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function Kg (line 31) | function Kg(e){e=e|0;var n=0;n=An()|0,Nn(e,2,5,n,Xg()|0,0),t[e+24>>2]=0,...
function Xg (line 31) | function Xg(){return 1232}
function Jg (line 31) | function Jg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;return o=h,h=h+16|0...
function Qg (line 31) | function Qg(e){return e=e|0,(t[(oa()|0)+24>>2]|0)+(e*12|0)|0}
function Zg (line 31) | function Zg(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=...
function e_ (line 31) | function e_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|...
function t_ (line 31) | function t_(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0...
function oc (line 31) | function oc(){var e=0,n=0;if(c[7720]|0||(Rp(9592),Bt(36,9592,Q|0)|0,n=77...
function n_ (line 31) | function n_(e){return e=e|0,0}
function I1 (line 31) | function I1(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0...
function Lp (line 31) | function Lp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>...
function r_ (line 31) | function r_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0...
function i_ (line 31) | function i_(e){return e=e|0,357913941}
function q0 (line 31) | function q0(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16...
function Yi (line 31) | function Yi(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0...
function o_ (line 31) | function o_(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(...
function Rp (line 31) | function Rp(e){e=e|0,s_(e)}
function u_ (line 31) | function u_(e){e=e|0,Np(e+24|0)}
function Np (line 31) | function Np(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function s_ (line 31) | function s_(e){e=e|0;var n=0;n=An()|0,Nn(e,2,7,n,l_()|0,0),t[e+24>>2]=0,...
function l_ (line 31) | function l_(){return 1276}
function f_ (line 31) | function f_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;return r=h,h=h+16|0,o=r...
function Bp (line 31) | function Bp(e){return e=e|0,(t[(oc()|0)+24>>2]|0)+(e*12|0)|0}
function c_ (line 31) | function c_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;return s=h,h=h+16|0,o=s,r=t...
function jp (line 31) | function jp(e){e=e|0;var n=0,r=0,o=0,s=0;return s=h,h=h+32|0,n=s+12|0,r=...
function Up (line 31) | function Up(){var e=0;return c[7736]|0||(Wp(9640),Bt(25,9640,Q|0)|0,e=77...
function qp (line 31) | function qp(e,n){e=e|0,n=n|0,Ef(n,e,e+8|0)|0}
function zp (line 31) | function zp(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0;return r=h,h=h+16|0...
function P1 (line 31) | function P1(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=Tt(16)|0,t[r+4>>2]=0,t[...
function a_ (line 31) | function a_(e){e=e|0,da(e),Ve(e)}
function d_ (line 31) | function d_(e){e=e|0,e=t[e+12>>2]|0,e|0&&Ve(e)}
function p_ (line 31) | function p_(e){e=e|0,Ve(e)}
function Ef (line 31) | function Ef(e,n,r){return e=e|0,n=n|0,r=r|0,n=h_(t[e>>2]|0,n,r)|0,r=e+4|...
function h_ (line 31) | function h_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;return o=h,h=h+16|0,s=o...
function m_ (line 31) | function m_(e,n,r){e=e|0,n=n|0,r=+r;var o=0;return o=ko(v_()|0)|0,n=jc(n...
function v_ (line 31) | function v_(){var e=0;return c[7728]|0||(g_(9628),e=7728,t[e>>2]=1,t[e+4...
function g_ (line 31) | function g_(e){e=e|0,Ao(e,__()|0,2)}
function __ (line 31) | function __(){return 1264}
function Wp (line 31) | function Wp(e){e=e|0,Ys(e)}
function Hp (line 31) | function Hp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|...
function y_ (line 31) | function y_(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0...
function M1 (line 31) | function M1(){var e=0,n=0;if(c[7744]|0||(Gp(9684),Bt(37,9684,Q|0)|0,n=77...
function w_ (line 31) | function w_(e){return e=e|0,0}
function D_ (line 31) | function D_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0...
function bp (line 31) | function bp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>...
function E_ (line 31) | function E_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0...
function S_ (line 31) | function S_(e){return e=e|0,357913941}
function C_ (line 31) | function C_(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16...
function T_ (line 31) | function T_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0...
function x_ (line 31) | function x_(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(...
function Gp (line 31) | function Gp(e){e=e|0,O_(e)}
function k_ (line 31) | function k_(e){e=e|0,A_(e+24|0)}
function A_ (line 31) | function A_(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function O_ (line 31) | function O_(e){e=e|0;var n=0;n=An()|0,Nn(e,2,5,n,I_()|0,1),t[e+24>>2]=0,...
function I_ (line 31) | function I_(){return 1280}
function P_ (line 31) | function P_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+...
function M_ (line 31) | function M_(e){return e=e|0,(t[(M1()|0)+24>>2]|0)+(e*12|0)|0}
function F_ (line 31) | function F_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return d=h,h=h+...
function L_ (line 31) | function L_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|...
function R_ (line 31) | function R_(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0...
function F1 (line 31) | function F1(){var e=0,n=0;if(c[7752]|0||(Kp(9720),Bt(38,9720,Q|0)|0,n=77...
function N_ (line 31) | function N_(e){return e=e|0,0}
function B_ (line 31) | function B_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0...
function Vp (line 31) | function Vp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>...
function j_ (line 31) | function j_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0...
function L1 (line 31) | function L1(e){return e=e|0,357913941}
function Yp (line 31) | function Yp(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16...
function $p (line 31) | function $p(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0...
function U_ (line 31) | function U_(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(...
function Kp (line 31) | function Kp(e){e=e|0,z_(e)}
function q_ (line 31) | function q_(e){e=e|0,R1(e+24|0)}
function R1 (line 31) | function R1(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function z_ (line 31) | function z_(e){e=e|0;var n=0;n=An()|0,Nn(e,2,8,n,W_()|0,0),t[e+24>>2]=0,...
function W_ (line 31) | function W_(){return 1288}
function H_ (line 31) | function H_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;return r=h,h=h+16|0,o=r...
function $i (line 31) | function $i(e){return e=e|0,(t[(F1()|0)+24>>2]|0)+(e*12|0)|0}
function N1 (line 31) | function N1(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=...
function b_ (line 31) | function b_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|...
function G_ (line 31) | function G_(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0...
function B1 (line 31) | function B1(){var e=0,n=0;if(c[7760]|0||(q1(9756),Bt(39,9756,Q|0)|0,n=77...
function V_ (line 31) | function V_(e){return e=e|0,0}
function j1 (line 31) | function j1(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0...
function Xp (line 31) | function Xp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>...
function U1 (line 31) | function U1(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0...
function Y_ (line 31) | function Y_(e){return e=e|0,357913941}
function $_ (line 31) | function $_(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16...
function K_ (line 31) | function K_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0...
function X_ (line 31) | function X_(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(...
function q1 (line 31) | function q1(e){e=e|0,Z_(e)}
function J_ (line 31) | function J_(e){e=e|0,Q_(e+24|0)}
function Q_ (line 31) | function Q_(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function Z_ (line 31) | function Z_(e){e=e|0;var n=0;n=An()|0,Nn(e,2,8,n,z1()|0,1),t[e+24>>2]=0,...
function z1 (line 31) | function z1(){return 1292}
function W1 (line 31) | function W1(e,n,r){e=e|0,n=n|0,r=+r;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,s=o...
function e4 (line 31) | function e4(e){return e=e|0,(t[(B1()|0)+24>>2]|0)+(e*12|0)|0}
function t4 (line 31) | function t4(e,n,r){e=e|0,n=n|0,r=+r;var o=0,s=0,l=0;l=h,h=h+16|0,s=l,o=t...
function n4 (line 31) | function n4(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|...
function r4 (line 31) | function r4(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0...
function H1 (line 31) | function H1(){var e=0,n=0;if(c[7768]|0||(Qp(9792),Bt(40,9792,Q|0)|0,n=77...
function i4 (line 31) | function i4(e){return e=e|0,0}
function o4 (line 31) | function o4(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0...
function Jp (line 31) | function Jp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>...
function u4 (line 31) | function u4(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0...
function s4 (line 31) | function s4(e){return e=e|0,357913941}
function l4 (line 31) | function l4(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16...
function f4 (line 31) | function f4(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0...
function c4 (line 31) | function c4(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(...
function Qp (line 31) | function Qp(e){e=e|0,p4(e)}
function a4 (line 31) | function a4(e){e=e|0,d4(e+24|0)}
function d4 (line 31) | function d4(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function p4 (line 31) | function p4(e){e=e|0;var n=0;n=An()|0,Nn(e,2,1,n,h4()|0,2),t[e+24>>2]=0,...
function h4 (line 31) | function h4(){return 1300}
function m4 (line 31) | function m4(e,n,r,o){e=e|0,n=n|0,r=r|0,o=+o;var s=0,l=0,d=0,_=0;s=h,h=h+...
function v4 (line 31) | function v4(e){return e=e|0,(t[(H1()|0)+24>>2]|0)+(e*12|0)|0}
function g4 (line 31) | function g4(e,n,r,o){e=e|0,n=n|0,r=r|0,o=+o;var s=0,l=0,d=0,_=0;_=h,h=h+...
function a (line 31) | function a(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0...
function p (line 31) | function p(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,...
function E (line 31) | function E(){var e=0,n=0;if(c[7776]|0||(nt(9828),Bt(41,9828,Q|0)|0,n=777...
function I (line 31) | function I(e){return e=e|0,0}
function B (line 31) | function B(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;...
function G (line 31) | function G(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2...
function te (line 31) | function te(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0...
function se (line 31) | function se(e){return e=e|0,357913941}
function Ee (line 31) | function Ee(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16...
function $e (line 31) | function $e(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0...
function Ke (line 31) | function Ke(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(...
function nt (line 31) | function nt(e){e=e|0,an(e)}
function Ct (line 31) | function Ct(e){e=e|0,Gt(e+24|0)}
function Gt (line 31) | function Gt(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function an (line 31) | function an(e){e=e|0;var n=0;n=An()|0,Nn(e,2,7,n,qn()|0,1),t[e+24>>2]=0,...
function qn (line 31) | function qn(){return 1312}
function dn (line 31) | function dn(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,s=...
function Yn (line 31) | function Yn(e){return e=e|0,(t[(E()|0)+24>>2]|0)+(e*12|0)|0}
function er (line 31) | function er(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;l=h,h=h+16|0,s=l,o=...
function vo (line 31) | function vo(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|...
function Pi (line 31) | function Pi(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0...
function Mi (line 31) | function Mi(){var e=0,n=0;if(c[7784]|0||(kw(9864),Bt(42,9864,Q|0)|0,n=77...
function f0 (line 31) | function f0(e){return e=e|0,0}
function Jo (line 31) | function Jo(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0...
function Su (line 31) | function Su(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>...
function Zp (line 31) | function Zp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0...
function v9 (line 31) | function v9(e){return e=e|0,357913941}
function g9 (line 31) | function g9(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16...
function _9 (line 31) | function _9(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0...
function y9 (line 31) | function y9(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(...
function kw (line 31) | function kw(e){e=e|0,E9(e)}
function w9 (line 31) | function w9(e){e=e|0,D9(e+24|0)}
function D9 (line 31) | function D9(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function E9 (line 31) | function E9(e){e=e|0;var n=0;n=An()|0,Nn(e,2,8,n,S9()|0,1),t[e+24>>2]=0,...
function S9 (line 31) | function S9(){return 1320}
function C9 (line 31) | function C9(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,s=...
function T9 (line 31) | function T9(e){return e=e|0,(t[(Mi()|0)+24>>2]|0)+(e*12|0)|0}
function x9 (line 31) | function x9(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;l=h,h=h+16|0,s=l,o=...
function k9 (line 31) | function k9(e,n){e=e|0,n=n|0}
function A9 (line 31) | function A9(e,n){return e=e|0,n=n|0,O9(n)|0}
function O9 (line 31) | function O9(e){return e=e|0,e|0}
function I9 (line 31) | function I9(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|...
function P9 (line 31) | function P9(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0...
function _4 (line 31) | function _4(){var e=0,n=0;if(c[7792]|0||(Ow(9900),Bt(43,9900,Q|0)|0,n=77...
function M9 (line 31) | function M9(e){return e=e|0,0}
function F9 (line 31) | function F9(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0...
function Aw (line 31) | function Aw(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>...
function L9 (line 31) | function L9(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0...
function R9 (line 31) | function R9(e){return e=e|0,357913941}
function N9 (line 31) | function N9(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16...
function B9 (line 31) | function B9(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0...
function j9 (line 31) | function j9(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(...
function Ow (line 31) | function Ow(e){e=e|0,z9(e)}
function U9 (line 31) | function U9(e){e=e|0,q9(e+24|0)}
function q9 (line 31) | function q9(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function z9 (line 31) | function z9(e){e=e|0;var n=0;n=An()|0,Nn(e,2,22,n,W9()|0,0),t[e+24>>2]=0...
function W9 (line 31) | function W9(){return 1344}
function H9 (line 31) | function H9(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;r=h,h=h+16|0,o=r+8|0,s=...
function b9 (line 31) | function b9(e){return e=e|0,(t[(_4()|0)+24>>2]|0)+(e*12|0)|0}
function G9 (line 31) | function G9(e,n){e=e|0,n=n|0;var r=0;r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1...
function V9 (line 31) | function V9(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=y...
function y4 (line 31) | function y4(){var e=0,n=0;if(c[7800]|0||(Pw(9936),Bt(44,9936,Q|0)|0,n=78...
function Y9 (line 31) | function Y9(e){return e=e|0,e|0}
function $9 (line 31) | function $9(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,...
function Iw (line 31) | function Iw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}
function K9 (line 31) | function K9(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0...
function X9 (line 31) | function X9(e){return e=e|0,536870911}
function J9 (line 31) | function J9(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16...
function Q9 (line 31) | function Q9(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0...
function Z9 (line 31) | function Z9(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(...
function Pw (line 31) | function Pw(e){e=e|0,nx(e)}
function ex (line 31) | function ex(e){e=e|0,tx(e+24|0)}
function tx (line 31) | function tx(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function nx (line 31) | function nx(e){e=e|0;var n=0;n=An()|0,Nn(e,1,23,n,Mo()|0,1),t[e+24>>2]=0...
function rx (line 31) | function rx(e,n){e=e|0,n=n|0,ox(t[(ix(e)|0)>>2]|0,n)}
function ix (line 31) | function ix(e){return e=e|0,(t[(y4()|0)+24>>2]|0)+(e<<3)|0}
function ox (line 31) | function ox(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,On(o,n),n=x1(o...
function ux (line 31) | function ux(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=w...
function w4 (line 31) | function w4(){var e=0,n=0;if(c[7808]|0||(Fw(9972),Bt(45,9972,Q|0)|0,n=78...
function sx (line 31) | function sx(e){return e=e|0,e|0}
function lx (line 31) | function lx(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,...
function Mw (line 31) | function Mw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}
function fx (line 31) | function fx(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0...
function cx (line 31) | function cx(e){return e=e|0,536870911}
function ax (line 31) | function ax(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16...
function dx (line 31) | function dx(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0...
function px (line 31) | function px(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(...
function Fw (line 31) | function Fw(e){e=e|0,vx(e)}
function hx (line 31) | function hx(e){e=e|0,mx(e+24|0)}
function mx (line 31) | function mx(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function vx (line 31) | function vx(e){e=e|0;var n=0;n=An()|0,Nn(e,1,9,n,gx()|0,1),t[e+24>>2]=0,...
function gx (line 31) | function gx(){return 1348}
function _x (line 31) | function _x(e,n){return e=e|0,n=n|0,wx(t[(yx(e)|0)>>2]|0,n)|0}
function yx (line 31) | function yx(e){return e=e|0,(t[(w4()|0)+24>>2]|0)+(e<<3)|0}
function wx (line 31) | function wx(e,n){e=e|0,n=n|0;var r=0,o=0;return r=h,h=h+16|0,o=r,Lw(o,n)...
function Lw (line 31) | function Lw(e,n){e=e|0,n=n|0}
function Rw (line 31) | function Rw(e,n){return e=e|0,n=n|0,Dx(n)|0}
function Dx (line 31) | function Dx(e){return e=e|0,e|0}
function Ex (line 31) | function Ex(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=D...
function D4 (line 31) | function D4(){var e=0,n=0;if(c[7816]|0||(Bw(10008),Bt(46,10008,Q|0)|0,n=...
function Sx (line 31) | function Sx(e){return e=e|0,e|0}
function Cx (line 31) | function Cx(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,...
function Nw (line 31) | function Nw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}
function Tx (line 31) | function Tx(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0...
function xx (line 31) | function xx(e){return e=e|0,536870911}
function kx (line 31) | function kx(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16...
function Ax (line 31) | function Ax(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0...
function Ox (line 31) | function Ox(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(...
function Bw (line 31) | function Bw(e){e=e|0,Mx(e)}
function Ix (line 31) | function Ix(e){e=e|0,Px(e+24|0)}
function Px (line 31) | function Px(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function Mx (line 31) | function Mx(e){e=e|0;var n=0;n=An()|0,Nn(e,1,15,n,mp()|0,0),t[e+24>>2]=0...
function Fx (line 31) | function Fx(e){return e=e|0,Rx(t[(Lx(e)|0)>>2]|0)|0}
function Lx (line 31) | function Lx(e){return e=e|0,(t[(D4()|0)+24>>2]|0)+(e<<3)|0}
function Rx (line 31) | function Rx(e){return e=e|0,Xc(ph[e&7]()|0)|0}
function Nx (line 31) | function Nx(){var e=0;return c[7832]|0||(bx(10052),Bt(25,10052,Q|0)|0,e=...
function Bx (line 31) | function Bx(e,n){e=e|0,n=n|0,t[e>>2]=jx()|0,t[e+4>>2]=Ux()|0,t[e+12>>2]=...
function jx (line 31) | function jx(){return 11709}
function Ux (line 31) | function Ux(){return 1188}
function qx (line 31) | function qx(){return eh()|0}
function zx (line 31) | function zx(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(Wx...
function Sf (line 31) | function Sf(e,n){return e=e|0,n=n|0,n&e|0}
function Wx (line 31) | function Wx(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}
function eh (line 31) | function eh(){var e=0;return c[7824]|0||(t[2511]=Hx()|0,t[2512]=0,e=7824...
function Hx (line 31) | function Hx(){return 0}
function bx (line 31) | function bx(e){e=e|0,Ys(e)}
function Gx (line 31) | function Gx(e){e=e|0;var n=0,r=0,o=0,s=0,l=0;n=h,h=h+32|0,r=n+24|0,l=n+1...
function Vx (line 31) | function Vx(e,n){e=e|0,n=n|0;var r=0;r=Ok()|0,t[e>>2]=r,Ik(r,n),Cf(t[e>>...
function Yx (line 31) | function Yx(e,n,r){return e=e|0,n=n|0,r=r|0,pk(e,Zn(n)|0,r,0),e|0}
function $x (line 31) | function $x(e,n,r){return e=e|0,n=n|0,r=r|0,Q7(e,Zn(n)|0,r,0),e|0}
function Kx (line 31) | function Kx(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+...
function Xx (line 31) | function Xx(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+...
function Jx (line 31) | function Jx(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+...
function Qx (line 31) | function Qx(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|...
function Zx (line 31) | function Zx(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0...
function E4 (line 31) | function E4(){var e=0,n=0;if(c[7840]|0||(Uw(10100),Bt(48,10100,Q|0)|0,n=...
function e7 (line 31) | function e7(e){return e=e|0,0}
function t7 (line 31) | function t7(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0...
function jw (line 31) | function jw(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>...
function n7 (line 31) | function n7(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0...
function r7 (line 31) | function r7(e){return e=e|0,357913941}
function i7 (line 31) | function i7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16...
function o7 (line 31) | function o7(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0...
function u7 (line 31) | function u7(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(...
function Uw (line 31) | function Uw(e){e=e|0,f7(e)}
function s7 (line 31) | function s7(e){e=e|0,l7(e+24|0)}
function l7 (line 31) | function l7(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function f7 (line 31) | function f7(e){e=e|0;var n=0;n=An()|0,Nn(e,2,6,n,c7()|0,1),t[e+24>>2]=0,...
function c7 (line 31) | function c7(){return 1364}
function a7 (line 31) | function a7(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+...
function d7 (line 31) | function d7(e){return e=e|0,(t[(E4()|0)+24>>2]|0)+(e*12|0)|0}
function p7 (line 31) | function p7(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;return l=h,h=h+16|0...
function h7 (line 31) | function h7(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|...
function m7 (line 31) | function m7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0...
function S4 (line 31) | function S4(){var e=0,n=0;if(c[7848]|0||(zw(10136),Bt(49,10136,Q|0)|0,n=...
function v7 (line 31) | function v7(e){return e=e|0,0}
function g7 (line 31) | function g7(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0...
function qw (line 31) | function qw(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>...
function _7 (line 31) | function _7(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0...
function y7 (line 31) | function y7(e){return e=e|0,357913941}
function w7 (line 31) | function w7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16...
function D7 (line 31) | function D7(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0...
function E7 (line 31) | function E7(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(...
function zw (line 31) | function zw(e){e=e|0,T7(e)}
function S7 (line 31) | function S7(e){e=e|0,C7(e+24|0)}
function C7 (line 31) | function C7(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function T7 (line 31) | function T7(e){e=e|0;var n=0;n=An()|0,Nn(e,2,9,n,x7()|0,1),t[e+24>>2]=0,...
function x7 (line 31) | function x7(){return 1372}
function k7 (line 31) | function k7(e,n,r){e=e|0,n=n|0,r=+r;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,s=o...
function A7 (line 31) | function A7(e){return e=e|0,(t[(S4()|0)+24>>2]|0)+(e*12|0)|0}
function O7 (line 31) | function O7(e,n,r){e=e|0,n=n|0,r=+r;var o=0,s=0,l=0,d=tt;l=h,h=h+16|0,s=...
function I7 (line 31) | function I7(e,n){e=e|0,n=+n}
function P7 (line 31) | function P7(e,n){return e=e|0,n=+n,w(M7(n))}
function M7 (line 31) | function M7(e){return e=+e,w(e)}
function F7 (line 31) | function F7(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|...
function L7 (line 31) | function L7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0...
function C4 (line 31) | function C4(){var e=0,n=0;if(c[7856]|0||(Hw(10172),Bt(50,10172,Q|0)|0,n=...
function R7 (line 31) | function R7(e){return e=e|0,0}
function N7 (line 31) | function N7(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0...
function Ww (line 31) | function Ww(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>...
function B7 (line 31) | function B7(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0...
function j7 (line 31) | function j7(e){return e=e|0,357913941}
function U7 (line 31) | function U7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16...
function q7 (line 31) | function q7(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0...
function z7 (line 31) | function z7(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(...
function Hw (line 31) | function Hw(e){e=e|0,b7(e)}
function W7 (line 31) | function W7(e){e=e|0,H7(e+24|0)}
function H7 (line 31) | function H7(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function b7 (line 31) | function b7(e){e=e|0;var n=0;n=An()|0,Nn(e,2,3,n,G7()|0,2),t[e+24>>2]=0,...
function G7 (line 31) | function G7(){return 1380}
function V7 (line 31) | function V7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;s=h,h=h...
function Y7 (line 31) | function Y7(e){return e=e|0,(t[(C4()|0)+24>>2]|0)+(e*12|0)|0}
function $7 (line 31) | function $7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;_=h,h=h...
function K7 (line 31) | function K7(e,n){e=e|0,n=n|0}
function X7 (line 31) | function X7(e,n){return e=e|0,n=n|0,J7(n)|0}
function J7 (line 31) | function J7(e){return e=e|0,(e|0)!=0|0}
function Q7 (line 31) | function Q7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=T...
function T4 (line 31) | function T4(){var e=0,n=0;if(c[7864]|0||(Gw(10208),Bt(51,10208,Q|0)|0,n=...
function Z7 (line 31) | function Z7(e){return e=e|0,e|0}
function ek (line 31) | function ek(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,...
function bw (line 31) | function bw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}
function tk (line 31) | function tk(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0...
function nk (line 31) | function nk(e){return e=e|0,536870911}
function rk (line 31) | function rk(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16...
function ik (line 31) | function ik(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0...
function ok (line 31) | function ok(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(...
function Gw (line 31) | function Gw(e){e=e|0,lk(e)}
function uk (line 31) | function uk(e){e=e|0,sk(e+24|0)}
function sk (line 31) | function sk(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function lk (line 31) | function lk(e){e=e|0;var n=0;n=An()|0,Nn(e,1,24,n,fk()|0,1),t[e+24>>2]=0...
function fk (line 31) | function fk(){return 1392}
function ck (line 31) | function ck(e,n){e=e|0,n=n|0,dk(t[(ak(e)|0)>>2]|0,n)}
function ak (line 31) | function ak(e){return e=e|0,(t[(T4()|0)+24>>2]|0)+(e<<3)|0}
function dk (line 31) | function dk(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,Lw(o,n),n=Rw(o...
function pk (line 31) | function pk(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=x...
function x4 (line 31) | function x4(){var e=0,n=0;if(c[7872]|0||(Yw(10244),Bt(52,10244,Q|0)|0,n=...
function hk (line 31) | function hk(e){return e=e|0,e|0}
function mk (line 31) | function mk(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,...
function Vw (line 31) | function Vw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}
function vk (line 31) | function vk(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0...
function gk (line 31) | function gk(e){return e=e|0,536870911}
function _k (line 31) | function _k(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16...
function yk (line 31) | function yk(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0...
function wk (line 31) | function wk(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(...
function Yw (line 31) | function Yw(e){e=e|0,Sk(e)}
function Dk (line 31) | function Dk(e){e=e|0,Ek(e+24|0)}
function Ek (line 31) | function Ek(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function Sk (line 31) | function Sk(e){e=e|0;var n=0;n=An()|0,Nn(e,1,16,n,Ck()|0,0),t[e+24>>2]=0...
function Ck (line 31) | function Ck(){return 1400}
function Tk (line 31) | function Tk(e){return e=e|0,kk(t[(xk(e)|0)>>2]|0)|0}
function xk (line 31) | function xk(e){return e=e|0,(t[(x4()|0)+24>>2]|0)+(e<<3)|0}
function kk (line 31) | function kk(e){return e=e|0,Ak(ph[e&7]()|0)|0}
function Ak (line 31) | function Ak(e){return e=e|0,e|0}
function Ok (line 31) | function Ok(){var e=0;return c[7880]|0||(Nk(10280),Bt(25,10280,Q|0)|0,e=...
function Ik (line 31) | function Ik(e,n){e=e|0,n=n|0,t[e>>2]=Pk()|0,t[e+4>>2]=Mk()|0,t[e+12>>2]=...
function Pk (line 31) | function Pk(){return 11711}
function Mk (line 31) | function Mk(){return 1356}
function Fk (line 31) | function Fk(){return eh()|0}
function Lk (line 31) | function Lk(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(Rk...
function Rk (line 31) | function Rk(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}
function Nk (line 31) | function Nk(e){e=e|0,Ys(e)}
function Bk (line 31) | function Bk(e){e=e|0,jk(e,4920),Uk(e)|0,qk(e)|0}
function jk (line 31) | function jk(e,n){e=e|0,n=n|0;var r=0;r=Up()|0,t[e>>2]=r,sA(r,n),Cf(t[e>>...
function Uk (line 31) | function Uk(e){e=e|0;var n=0;return n=t[e>>2]|0,uc(n,Jk()|0),e|0}
function qk (line 31) | function qk(e){e=e|0;var n=0;return n=t[e>>2]|0,uc(n,zk()|0),e|0}
function zk (line 31) | function zk(){var e=0;return c[7888]|0||($w(10328),Bt(53,10328,Q|0)|0,e=...
function uc (line 31) | function uc(e,n){e=e|0,n=n|0,ur(e,0,n,0,0,0)}
function $w (line 31) | function $w(e){e=e|0,bk(e),sc(e,10)}
function Wk (line 31) | function Wk(e){e=e|0,Hk(e+24|0)}
function Hk (line 31) | function Hk(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function bk (line 31) | function bk(e){e=e|0;var n=0;n=An()|0,Nn(e,5,1,n,$k()|0,2),t[e+24>>2]=0,...
function Gk (line 31) | function Gk(e,n,r){e=e|0,n=n|0,r=+r,Vk(e,n,r)}
function sc (line 31) | function sc(e,n){e=e|0,n=n|0,t[e+20>>2]=n}
function Vk (line 31) | function Vk(e,n,r){e=e|0,n=n|0,r=+r;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0...
function Yk (line 31) | function Yk(e,n,r){e=e|0,n=n|0,r=r|0,M(e+8|0,t[n>>2]|0,+L[r>>3]),c[e+24>...
function $k (line 31) | function $k(){return 1404}
function Kk (line 31) | function Kk(e,n){return e=e|0,n=+n,Xk(e,n)|0}
function Xk (line 31) | function Xk(e,n){e=e|0,n=+n;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return o=h,h...
function Jk (line 31) | function Jk(){var e=0;return c[7896]|0||(Kw(10364),Bt(54,10364,Q|0)|0,e=...
function Kw (line 31) | function Kw(e){e=e|0,eA(e),sc(e,55)}
function Qk (line 31) | function Qk(e){e=e|0,Zk(e+24|0)}
function Zk (line 31) | function Zk(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function eA (line 31) | function eA(e){e=e|0;var n=0;n=An()|0,Nn(e,5,4,n,iA()|0,0),t[e+24>>2]=0,...
function tA (line 31) | function tA(e){e=e|0,nA(e)}
function nA (line 31) | function nA(e){e=e|0,rA(e)}
function rA (line 31) | function rA(e){e=e|0,Xw(e+8|0),c[e+24>>0]=1}
function Xw (line 31) | function Xw(e){e=e|0,t[e>>2]=0,L[e+8>>3]=0}
function iA (line 31) | function iA(){return 1424}
function oA (line 31) | function oA(){return uA()|0}
function uA (line 31) | function uA(){var e=0,n=0,r=0,o=0,s=0,l=0,d=0;return n=h,h=h+16|0,s=n+4|...
function sA (line 31) | function sA(e,n){e=e|0,n=n|0,t[e>>2]=lA()|0,t[e+4>>2]=fA()|0,t[e+12>>2]=...
function lA (line 31) | function lA(){return 11710}
function fA (line 31) | function fA(){return 1416}
function cA (line 31) | function cA(){return th()|0}
function aA (line 31) | function aA(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(dA...
function dA (line 31) | function dA(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}
function th (line 31) | function th(){var e=0;return c[7904]|0||(t[2600]=pA()|0,t[2601]=0,e=7904...
function pA (line 31) | function pA(){return t[357]|0}
function hA (line 31) | function hA(e){e=e|0,mA(e,4926),vA(e)|0}
function mA (line 31) | function mA(e,n){e=e|0,n=n|0;var r=0;r=u1()|0,t[e>>2]=r,kA(r,n),Cf(t[e>>...
function vA (line 31) | function vA(e){e=e|0;var n=0;return n=t[e>>2]|0,uc(n,gA()|0),e|0}
function gA (line 31) | function gA(){var e=0;return c[7912]|0||(Jw(10412),Bt(56,10412,Q|0)|0,e=...
function Jw (line 31) | function Jw(e){e=e|0,wA(e),sc(e,57)}
function _A (line 31) | function _A(e){e=e|0,yA(e+24|0)}
function yA (line 31) | function yA(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function wA (line 31) | function wA(e){e=e|0;var n=0;n=An()|0,Nn(e,5,5,n,CA()|0,0),t[e+24>>2]=0,...
function DA (line 31) | function DA(e){e=e|0,EA(e)}
function EA (line 31) | function EA(e){e=e|0,SA(e)}
function SA (line 31) | function SA(e){e=e|0;var n=0,r=0;n=e+8|0,r=n+48|0;do t[n>>2]=0,n=n+4|0;w...
function CA (line 31) | function CA(){return 1432}
function TA (line 31) | function TA(){return xA()|0}
function xA (line 31) | function xA(){var e=0,n=0,r=0,o=0,s=0,l=0,d=0,_=0;d=h,h=h+16|0,e=d+4|0,n...
function kA (line 31) | function kA(e,n){e=e|0,n=n|0,t[e>>2]=AA()|0,t[e+4>>2]=OA()|0,t[e+12>>2]=...
function AA (line 31) | function AA(){return 11704}
function OA (line 31) | function OA(){return 1436}
function IA (line 31) | function IA(){return th()|0}
function PA (line 31) | function PA(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(MA...
function MA (line 31) | function MA(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}
function FA (line 31) | function FA(e){e=e|0,LA(e,4933),RA(e)|0,NA(e)|0}
function LA (line 31) | function LA(e,n){e=e|0,n=n|0;var r=0;r=uO()|0,t[e>>2]=r,sO(r,n),Cf(t[e>>...
function RA (line 31) | function RA(e){e=e|0;var n=0;return n=t[e>>2]|0,uc(n,XA()|0),e|0}
function NA (line 31) | function NA(e){e=e|0;var n=0;return n=t[e>>2]|0,uc(n,BA()|0),e|0}
function BA (line 31) | function BA(){var e=0;return c[7920]|0||(Qw(10452),Bt(58,10452,Q|0)|0,e=...
function Qw (line 31) | function Qw(e){e=e|0,qA(e),sc(e,1)}
function jA (line 31) | function jA(e){e=e|0,UA(e+24|0)}
function UA (line 31) | function UA(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function qA (line 31) | function qA(e){e=e|0;var n=0;n=An()|0,Nn(e,5,1,n,bA()|0,2),t[e+24>>2]=0,...
function zA (line 31) | function zA(e,n,r){e=e|0,n=+n,r=+r,WA(e,n,r)}
function WA (line 31) | function WA(e,n,r){e=e|0,n=+n,r=+r;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+32|0,...
function HA (line 31) | function HA(e,n,r){e=e|0,n=n|0,r=r|0,Zw(e+8|0,+L[n>>3],+L[r>>3]),c[e+24>...
function Zw (line 31) | function Zw(e,n,r){e=e|0,n=+n,r=+r,L[e>>3]=n,L[e+8>>3]=r}
function bA (line 31) | function bA(){return 1472}
function GA (line 31) | function GA(e,n){return e=+e,n=+n,VA(e,n)|0}
function VA (line 31) | function VA(e,n){e=+e,n=+n;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return o=h,h=...
function e8 (line 31) | function e8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=Tt(16)|0,t[r+4>>2]=0,t[...
function YA (line 31) | function YA(e){e=e|0,da(e),Ve(e)}
function $A (line 31) | function $A(e){e=e|0,e=t[e+12>>2]|0,e|0&&Ve(e)}
function KA (line 31) | function KA(e){e=e|0,Ve(e)}
function XA (line 31) | function XA(){var e=0;return c[7928]|0||(t8(10488),Bt(59,10488,Q|0)|0,e=...
function t8 (line 31) | function t8(e){e=e|0,ZA(e),sc(e,60)}
function JA (line 31) | function JA(e){e=e|0,QA(e+24|0)}
function QA (line 31) | function QA(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function ZA (line 31) | function ZA(e){e=e|0;var n=0;n=An()|0,Nn(e,5,6,n,rO()|0,0),t[e+24>>2]=0,...
function eO (line 31) | function eO(e){e=e|0,tO(e)}
function tO (line 31) | function tO(e){e=e|0,nO(e)}
function nO (line 31) | function nO(e){e=e|0,n8(e+8|0),c[e+24>>0]=1}
function n8 (line 31) | function n8(e){e=e|0,t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,t[e+12>>2]=0}
function rO (line 31) | function rO(){return 1492}
function iO (line 31) | function iO(){return oO()|0}
function oO (line 31) | function oO(){var e=0,n=0,r=0,o=0,s=0,l=0,d=0;return n=h,h=h+16|0,s=n+4|...
function uO (line 31) | function uO(){var e=0;return c[7936]|0||(pO(10524),Bt(25,10524,Q|0)|0,e=...
function sO (line 31) | function sO(e,n){e=e|0,n=n|0,t[e>>2]=lO()|0,t[e+4>>2]=fO()|0,t[e+12>>2]=...
function lO (line 31) | function lO(){return 11700}
function fO (line 31) | function fO(){return 1484}
function cO (line 31) | function cO(){return th()|0}
function aO (line 31) | function aO(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(dO...
function dO (line 31) | function dO(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}
function pO (line 31) | function pO(e){e=e|0,Ys(e)}
function hO (line 31) | function hO(e,n,r){e=e|0,n=n|0,r=r|0,e=Zn(n)|0,n=mO(r)|0,r=vO(r,0)|0,VO(...
function mO (line 31) | function mO(e){return e=e|0,e|0}
function vO (line 31) | function vO(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,...
function k4 (line 31) | function k4(){var e=0,n=0;if(c[7944]|0||(r8(10568),Bt(61,10568,Q|0)|0,n=...
function r8 (line 31) | function r8(e){e=e|0,yO(e)}
function gO (line 31) | function gO(e){e=e|0,_O(e+24|0)}
function _O (line 31) | function _O(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function yO (line 31) | function yO(e){e=e|0;var n=0;n=An()|0,Nn(e,1,17,n,Dp()|0,0),t[e+24>>2]=0...
function wO (line 31) | function wO(e){return e=e|0,EO(t[(DO(e)|0)>>2]|0)|0}
function DO (line 31) | function DO(e){return e=e|0,(t[(k4()|0)+24>>2]|0)+(e<<3)|0}
function EO (line 31) | function EO(e){return e=e|0,ea(ph[e&7]()|0)|0}
function i8 (line 31) | function i8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}
function SO (line 31) | function SO(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0...
function CO (line 31) | function CO(e){return e=e|0,536870911}
function TO (line 31) | function TO(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16...
function xO (line 31) | function xO(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0...
function kO (line 31) | function kO(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(...
function AO (line 31) | function AO(){OO()}
function OO (line 31) | function OO(){IO(10604)}
function IO (line 31) | function IO(e){e=e|0,PO(e,4955)}
function PO (line 31) | function PO(e,n){e=e|0,n=n|0;var r=0;r=MO()|0,t[e>>2]=r,FO(r,n),Cf(t[e>>...
function MO (line 31) | function MO(){var e=0;return c[7952]|0||(WO(10612),Bt(25,10612,Q|0)|0,e=...
function FO (line 31) | function FO(e,n){e=e|0,n=n|0,t[e>>2]=BO()|0,t[e+4>>2]=jO()|0,t[e+12>>2]=...
function Cf (line 31) | function Cf(e){e=e|0;var n=0,r=0;n=h,h=h+16|0,r=n,sa()|0,t[r>>2]=e,LO(10...
function sa (line 31) | function sa(){return c[11714]|0||(t[2652]=0,Bt(62,10608,Q|0)|0,c[11714]=...
function LO (line 31) | function LO(e,n){e=e|0,n=n|0;var r=0;r=Tt(8)|0,t[r+4>>2]=t[n>>2],t[r>>2]...
function RO (line 31) | function RO(e){e=e|0,NO(e)}
function NO (line 31) | function NO(e){e=e|0;var n=0,r=0;if(n=t[e>>2]|0,n|0)do r=n,n=t[n>>2]|0,V...
function BO (line 31) | function BO(){return 11715}
function jO (line 31) | function jO(){return 1496}
function UO (line 31) | function UO(){return eh()|0}
function qO (line 31) | function qO(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(zO...
function zO (line 31) | function zO(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}
function WO (line 31) | function WO(e){e=e|0,Ys(e)}
function HO (line 31) | function HO(e,n){e=e|0,n=n|0;var r=0,o=0;sa()|0,r=t[2652]|0;e:do if(r|0)...
function A4 (line 31) | function A4(e){return e=e|0,t[e+12>>2]|0}
function bO (line 31) | function bO(e,n){e=e|0,n=n|0;var r=0;e=e+36|0,r=t[e>>2]|0,r|0&&(Ju(r),Ve...
function O4 (line 31) | function O4(){return c[11716]|0||(t[2664]=0,Bt(63,10656,Q|0)|0,c[11716]=...
function o8 (line 31) | function o8(){var e=0;return c[11717]|0?e=t[2665]|0:(GO(),t[2665]=1504,c...
function GO (line 31) | function GO(){c[11740]|0||(c[11718]=Lt(Lt(8,0)|0,0)|0,c[11719]=Lt(Lt(0,0...
function u8 (line 31) | function u8(){return 1572}
function VO (line 31) | function VO(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0...
function YO (line 31) | function YO(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0;var d=0;d=T...
function s8 (line 31) | function s8(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0...
function I4 (line 31) | function I4(e){return e=e|0,t[e+12>>2]|0}
function b1 (line 31) | function b1(e){return e=e|0,t[e+12>>2]|0}
function G1 (line 31) | function G1(e){return e=e|0,t[e+16>>2]|0}
function $O (line 31) | function $O(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;s=h,h=h+32|0,r=s,o=t[e>>2]|...
function P4 (line 31) | function P4(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0;if(d=h,...
function V1 (line 31) | function V1(e){return e=e|0,t[e+8>>2]|0}
function KO (line 31) | function KO(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0;if(d=h,...
function nh (line 31) | function nh(e){return e=e|0,t[e>>2]|0}
function XO (line 31) | function XO(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,JO(e,n,r,o,...
function M4 (line 31) | function M4(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function Rl (line 31) | function Rl(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function JO (line 31) | function JO(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0;var d=0,_=0...
function F4 (line 31) | function F4(e,n){e=e|0,n=n|0;var r=0,o=0;t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]...
function QO (line 31) | function QO(e,n){e=e|0,n=n|0;var r=0,o=0;t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]...
function ZO (line 31) | function ZO(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0;var d=0,_=0...
function eI (line 31) | function eI(){var e=0;return c[7968]|0||(fI(10708),e=7968,t[e>>2]=1,t[e+...
function lc (line 31) | function lc(e){return e=e|0,c8(e)|0}
function l8 (line 31) | function l8(e){return e=e|0,f8(e)|0}
function L4 (line 31) | function L4(e){return e=e|0,ea(e)|0}
function R4 (line 31) | function R4(e){return e=e|0,rI(e)|0}
function tI (line 31) | function tI(e){return e=e|0,nI(e)|0}
function nI (line 31) | function nI(e){e=e|0;var n=0,r=0,o=0;if(o=(t[e+4>>2]|0)-(t[e>>2]|0)|0,r=...
function f8 (line 31) | function f8(e){return e=e|0,e|0}
function rI (line 31) | function rI(e){e=e|0;var n=0,r=0,o=0;if(o=(t[e+4>>2]|0)-(t[e>>2]|0)|0,r=...
function c8 (line 31) | function c8(e){e=e|0;var n=0,r=0,o=0,s=0;return s=h,h=h+32|0,n=s+12|0,r=...
function a8 (line 31) | function a8(){var e=0;return c[7960]|0||(lI(10664),Bt(25,10664,Q|0)|0,e=...
function iI (line 31) | function iI(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0;return r=h,h=h+16|0...
function d8 (line 31) | function d8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=Tt(16)|0,t[r+4>>2]=0,t[...
function oI (line 31) | function oI(e){e=e|0,da(e),Ve(e)}
function uI (line 31) | function uI(e){e=e|0,e=t[e+12>>2]|0,e|0&&Ve(e)}
function sI (line 31) | function sI(e){e=e|0,Ve(e)}
function lI (line 31) | function lI(e){e=e|0,Ys(e)}
function fI (line 31) | function fI(e){e=e|0,Ao(e,cI()|0,5)}
function cI (line 31) | function cI(){return 1676}
function aI (line 31) | function aI(e,n){e=e|0,n=n|0;var r=0;if((p8(e)|0)>>>0<n>>>0&&$n(e),n>>>0...
function dI (line 31) | function dI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,o=e+4|0,e=r-n|0,(e|0)>0&&(v...
function p8 (line 31) | function p8(e){return e=e|0,1073741823}
function pI (line 31) | function pI(e,n){e=e|0,n=n|0;var r=0;if((h8(e)|0)>>>0<n>>>0&&$n(e),n>>>0...
function hI (line 31) | function hI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,o=e+4|0,e=r-n|0,(e|0)>0&&(v...
function h8 (line 31) | function h8(e){return e=e|0,1073741823}
function mI (line 31) | function mI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16...
function vI (line 31) | function vI(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0...
function gI (line 31) | function gI(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(...
function m8 (line 31) | function m8(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16...
function v8 (line 31) | function v8(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0...
function g8 (line 31) | function g8(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(...
function _I (line 31) | function _I(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0...
function yI (line 31) | function yI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,RI(e,n,r,o)}
function wI (line 31) | function wI(e,n,r){e=e|0,n=n|0,r=r|0,LI(e,n,r)}
function la (line 31) | function la(e){return e=e|0,e|0}
function DI (line 31) | function DI(e,n,r){e=e|0,n=n|0,r=r|0,II(e,n,r)}
function _8 (line 31) | function _8(e){return e=e|0,e+16|0}
function EI (line 31) | function EI(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;if(l=h,h=h+...
function SI (line 31) | function SI(e,n,r){e=e|0,n=n|0,r=r|0,CI(e,n,r)}
function y8 (line 31) | function y8(e){return e=e|0,e+24|0}
function CI (line 31) | function CI(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+32|...
function TI (line 31) | function TI(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+32|...
function xI (line 31) | function xI(){var e=0;return c[7976]|0||(kI(10720),e=7976,t[e>>2]=1,t[e+...
function kI (line 31) | function kI(e){e=e|0,Ao(e,AI()|0,2)}
function AI (line 31) | function AI(){return 1732}
function OI (line 31) | function OI(e){return e=e|0,t[e>>2]|0}
function w8 (line 31) | function w8(e){return e=e|0,t[e>>2]|0}
function II (line 31) | function II(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+32|0,l=...
function D8 (line 31) | function D8(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,l=...
function PI (line 31) | function PI(){var e=0;return c[7984]|0||(MI(10732),e=7984,t[e>>2]=1,t[e+...
function MI (line 31) | function MI(e){e=e|0,Ao(e,FI()|0,2)}
function FI (line 31) | function FI(){return 1744}
function LI (line 31) | function LI(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+32|0,l=...
function RI (line 31) | function RI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;s=h,h=h...
function NI (line 31) | function NI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;s=h,h=h...
function BI (line 31) | function BI(){var e=0;return c[7992]|0||(UI(10744),e=7992,t[e>>2]=1,t[e+...
function fa (line 31) | function fa(e){return e=e|0,jI(e)|0}
function jI (line 31) | function jI(e){return e=e|0,e&255|0}
function UI (line 31) | function UI(e){e=e|0,Ao(e,qI()|0,3)}
function qI (line 31) | function qI(){return 1756}
function zI (line 31) | function zI(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0...
function WI (line 31) | function WI(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;o=h,h=h+16|0,s=o,Zo(s),...
function rh (line 31) | function rh(e,n){e=e|0,n=n|0;var r=0;return r=t[e>>2]|0,r|0&&ju(r|0),t[e...
function HI (line 31) | function HI(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0...
function bI (line 31) | function bI(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0...
function GI (line 31) | function GI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;s=h,h=h...
function VI (line 31) | function VI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;s=h,h=h...
function YI (line 31) | function YI(){var e=0;return c[8e3]|0||($I(10756),e=8e3,t[e>>2]=1,t[e+4>...
function ih (line 31) | function ih(e,n){e=e|0,n=n|0,_1(e,n)}
function $I (line 31) | function $I(e){e=e|0,Ao(e,KI()|0,2)}
function KI (line 31) | function KI(){return 1772}
function XI (line 31) | function XI(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0...
function JI (line 31) | function JI(){var e=0;return c[8008]|0||(QI(10768),e=8008,t[e>>2]=1,t[e+...
function QI (line 31) | function QI(e){e=e|0,Ao(e,ZI()|0,3)}
function ZI (line 31) | function ZI(){return 1784}
function eP (line 31) | function eP(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0...
function tP (line 31) | function tP(){var e=0;return c[8016]|0||(nP(10780),e=8016,t[e>>2]=1,t[e+...
function nP (line 31) | function nP(e){e=e|0,Ao(e,rP()|0,3)}
function rP (line 31) | function rP(){return 1800}
function iP (line 31) | function iP(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=ko(oP()|0)|0,ih(e,sf(0,o|...
function oP (line 31) | function oP(){var e=0;return c[8024]|0||(uP(10792),e=8024,t[e>>2]=1,t[e+...
function uP (line 31) | function uP(e){e=e|0,Ao(e,sP()|0,1)}
function sP (line 31) | function sP(){return 1816}
function lP (line 31) | function lP(){fP(),cP(),aP()}
function fP (line 31) | function fP(){t[2702]=K8(65536)|0}
function cP (line 31) | function cP(){PP(10856)}
function aP (line 31) | function aP(){dP(10816)}
function dP (line 31) | function dP(e){e=e|0,pP(e,5044),hP(e)|0}
function pP (line 31) | function pP(e,n){e=e|0,n=n|0;var r=0;r=a8()|0,t[e>>2]=r,TP(r,n),Cf(t[e>>...
function hP (line 31) | function hP(e){e=e|0;var n=0;return n=t[e>>2]|0,uc(n,mP()|0),e|0}
function mP (line 31) | function mP(){var e=0;return c[8032]|0||(E8(10820),Bt(64,10820,Q|0)|0,e=...
function E8 (line 31) | function E8(e){e=e|0,_P(e),sc(e,25)}
function vP (line 31) | function vP(e){e=e|0,gP(e+24|0)}
function gP (line 31) | function gP(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function _P (line 31) | function _P(e){e=e|0;var n=0;n=An()|0,Nn(e,5,18,n,EP()|0,1),t[e+24>>2]=0...
function yP (line 31) | function yP(e,n){e=e|0,n=n|0,wP(e,n)}
function wP (line 31) | function wP(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;r=h,h=h+16|0,o=r,s=r+4|0,Ml...
function DP (line 31) | function DP(e,n){e=e|0,n=n|0,S8(e+4|0,t[n>>2]|0),c[e+8>>0]=1}
function S8 (line 31) | function S8(e,n){e=e|0,n=n|0,t[e>>2]=n}
function EP (line 31) | function EP(){return 1824}
function SP (line 31) | function SP(e){return e=e|0,CP(e)|0}
function CP (line 31) | function CP(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0;return r=h,h=h+16|0...
function Qo (line 31) | function Qo(e){e=e|0;var n=0,r=0;return e=e+7&-8,(e>>>0<=32768?(n=t[2701...
function TP (line 31) | function TP(e,n){e=e|0,n=n|0,t[e>>2]=xP()|0,t[e+4>>2]=kP()|0,t[e+12>>2]=...
function xP (line 31) | function xP(){return 11744}
function kP (line 31) | function kP(){return 1832}
function AP (line 31) | function AP(){return th()|0}
function OP (line 31) | function OP(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(IP...
function IP (line 31) | function IP(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}
function PP (line 31) | function PP(e){e=e|0,MP(e,5052),FP(e)|0,LP(e,5058,26)|0,RP(e,5069,1)|0,N...
function MP (line 31) | function MP(e,n){e=e|0,n=n|0;var r=0;r=IF()|0,t[e>>2]=r,PF(r,n),Cf(t[e>>...
function FP (line 31) | function FP(e){e=e|0;var n=0;return n=t[e>>2]|0,uc(n,vF()|0),e|0}
function LP (line 31) | function LP(e,n,r){return e=e|0,n=n|0,r=r|0,QM(e,Zn(n)|0,r,0),e|0}
function RP (line 31) | function RP(e,n,r){return e=e|0,n=n|0,r=r|0,BM(e,Zn(n)|0,r,0),e|0}
function NP (line 31) | function NP(e,n,r){return e=e|0,n=n|0,r=r|0,mM(e,Zn(n)|0,r,0),e|0}
function BP (line 31) | function BP(e,n,r){return e=e|0,n=n|0,r=r|0,eM(e,Zn(n)|0,r,0),e|0}
function C8 (line 31) | function C8(e,n){e=e|0,n=n|0;var r=0,o=0;e:for(;;){for(r=t[2703]|0;;){if...
function jP (line 31) | function jP(e,n,r){return e=e|0,n=n|0,r=r|0,UP(e,Zn(n)|0,r,0),e|0}
function UP (line 31) | function UP(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=N...
function N4 (line 31) | function N4(){var e=0,n=0;if(c[8040]|0||(x8(10860),Bt(65,10860,Q|0)|0,n=...
function qP (line 31) | function qP(e){return e=e|0,e|0}
function zP (line 31) | function zP(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,...
function T8 (line 31) | function T8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}
function WP (line 31) | function WP(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0...
function HP (line 31) | function HP(e){return e=e|0,536870911}
function bP (line 31) | function bP(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16...
function GP (line 31) | function GP(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0...
function VP (line 31) | function VP(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(...
function x8 (line 31) | function x8(e){e=e|0,KP(e)}
function YP (line 31) | function YP(e){e=e|0,$P(e+24|0)}
function $P (line 31) | function $P(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function KP (line 31) | function KP(e){e=e|0;var n=0;n=An()|0,Nn(e,1,11,n,XP()|0,2),t[e+24>>2]=0...
function XP (line 31) | function XP(){return 1840}
function JP (line 31) | function JP(e,n,r){e=e|0,n=n|0,r=r|0,ZP(t[(QP(e)|0)>>2]|0,n,r)}
function QP (line 31) | function QP(e){return e=e|0,(t[(N4()|0)+24>>2]|0)+(e<<3)|0}
function ZP (line 31) | function ZP(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;o=h,h=h+16|0,l=o+1|...
function eM (line 31) | function eM(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=B...
function B4 (line 31) | function B4(){var e=0,n=0;if(c[8048]|0||(A8(10896),Bt(66,10896,Q|0)|0,n=...
function tM (line 31) | function tM(e){return e=e|0,e|0}
function nM (line 31) | function nM(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,...
function k8 (line 31) | function k8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}
function rM (line 31) | function rM(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0...
function iM (line 31) | function iM(e){return e=e|0,536870911}
function oM (line 31) | function oM(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16...
function uM (line 31) | function uM(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0...
function sM (line 31) | function sM(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(...
function A8 (line 31) | function A8(e){e=e|0,cM(e)}
function lM (line 31) | function lM(e){e=e|0,fM(e+24|0)}
function fM (line 31) | function fM(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function cM (line 31) | function cM(e){e=e|0;var n=0;n=An()|0,Nn(e,1,11,n,aM()|0,1),t[e+24>>2]=0...
function aM (line 31) | function aM(){return 1852}
function dM (line 31) | function dM(e,n){return e=e|0,n=n|0,hM(t[(pM(e)|0)>>2]|0,n)|0}
function pM (line 31) | function pM(e){return e=e|0,(t[(B4()|0)+24>>2]|0)+(e<<3)|0}
function hM (line 31) | function hM(e,n){e=e|0,n=n|0;var r=0,o=0;return r=h,h=h+16|0,o=r,Ml(o,n)...
function mM (line 31) | function mM(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=j...
function j4 (line 31) | function j4(){var e=0,n=0;if(c[8056]|0||(I8(10932),Bt(67,10932,Q|0)|0,n=...
function vM (line 31) | function vM(e){return e=e|0,e|0}
function gM (line 31) | function gM(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,...
function O8 (line 31) | function O8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}
function _M (line 31) | function _M(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0...
function yM (line 31) | function yM(e){return e=e|0,536870911}
function wM (line 31) | function wM(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16...
function DM (line 31) | function DM(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0...
function EM (line 31) | function EM(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(...
function I8 (line 31) | function I8(e){e=e|0,TM(e)}
function SM (line 31) | function SM(e){e=e|0,CM(e+24|0)}
function CM (line 31) | function CM(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function TM (line 31) | function TM(e){e=e|0;var n=0;n=An()|0,Nn(e,1,7,n,xM()|0,2),t[e+24>>2]=0,...
function xM (line 31) | function xM(){return 1860}
function kM (line 31) | function kM(e,n,r){return e=e|0,n=n|0,r=r|0,OM(t[(AM(e)|0)>>2]|0,n,r)|0}
function AM (line 31) | function AM(e){return e=e|0,(t[(j4()|0)+24>>2]|0)+(e<<3)|0}
function OM (line 31) | function OM(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0;return ...
function IM (line 31) | function IM(e,n){e=e|0,n=n|0}
function PM (line 31) | function PM(e,n,r){e=e|0,n=n|0,r=r|0,FM(e,r)}
function MM (line 31) | function MM(e){return e=e|0,Oi(e)|0}
function FM (line 31) | function FM(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;s=h,h=h+16|0,r=s,o=n,o&1?(L...
function LM (line 31) | function LM(e,n){e=e|0,n=n|0,wd(e,n),t[e+4>>2]=0,c[e+8>>0]=0}
function RM (line 31) | function RM(e,n){e=e|0,n=n|0,t[e>>2]=t[n+4>>2]}
function NM (line 31) | function NM(e){e=e|0,c[e+8>>0]=0}
function BM (line 31) | function BM(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=U...
function U4 (line 31) | function U4(){var e=0,n=0;if(c[8064]|0||(M8(10968),Bt(68,10968,Q|0)|0,n=...
function jM (line 31) | function jM(e){return e=e|0,e|0}
function UM (line 31) | function UM(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,...
function P8 (line 31) | function P8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}
function qM (line 31) | function qM(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0...
function zM (line 31) | function zM(e){return e=e|0,536870911}
function WM (line 31) | function WM(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16...
function HM (line 31) | function HM(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0...
function bM (line 31) | function bM(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(...
function M8 (line 31) | function M8(e){e=e|0,YM(e)}
function GM (line 31) | function GM(e){e=e|0,VM(e+24|0)}
function VM (line 31) | function VM(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function YM (line 31) | function YM(e){e=e|0;var n=0;n=An()|0,Nn(e,1,1,n,$M()|0,5),t[e+24>>2]=0,...
function $M (line 31) | function $M(){return 1872}
function KM (line 31) | function KM(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,JM(t[(XM(e)...
function XM (line 31) | function XM(e){return e=e|0,(t[(U4()|0)+24>>2]|0)+(e<<3)|0}
function JM (line 31) | function JM(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0;var d=0,_=0...
function QM (line 31) | function QM(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=q...
function q4 (line 31) | function q4(){var e=0,n=0;if(c[8072]|0||(L8(11004),Bt(69,11004,Q|0)|0,n=...
function ZM (line 31) | function ZM(e){return e=e|0,e|0}
function eF (line 31) | function eF(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,...
function F8 (line 31) | function F8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}
function tF (line 31) | function tF(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0...
function nF (line 31) | function nF(e){return e=e|0,536870911}
function rF (line 31) | function rF(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16...
function iF (line 31) | function iF(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0...
function oF (line 31) | function oF(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(...
function L8 (line 31) | function L8(e){e=e|0,lF(e)}
function uF (line 31) | function uF(e){e=e|0,sF(e+24|0)}
function sF (line 31) | function sF(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function lF (line 31) | function lF(e){e=e|0;var n=0;n=An()|0,Nn(e,1,12,n,fF()|0,2),t[e+24>>2]=0...
function fF (line 31) | function fF(){return 1896}
function cF (line 31) | function cF(e,n,r){e=e|0,n=n|0,r=r|0,dF(t[(aF(e)|0)>>2]|0,n,r)}
function aF (line 31) | function aF(e){return e=e|0,(t[(q4()|0)+24>>2]|0)+(e<<3)|0}
function dF (line 31) | function dF(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;o=h,h=h+16|0,l=o+4|...
function pF (line 31) | function pF(e,n){e=e|0,n=n|0}
function hF (line 31) | function hF(e,n){return e=e|0,n=n|0,mF(n)|0}
function mF (line 31) | function mF(e){return e=e|0,e|0}
function vF (line 31) | function vF(){var e=0;return c[8080]|0||(R8(11040),Bt(70,11040,Q|0)|0,e=...
function R8 (line 31) | function R8(e){e=e|0,yF(e),sc(e,71)}
function gF (line 31) | function gF(e){e=e|0,_F(e+24|0)}
function _F (line 31) | function _F(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e...
function yF (line 31) | function yF(e){e=e|0;var n=0;n=An()|0,Nn(e,5,7,n,SF()|0,0),t[e+24>>2]=0,...
function wF (line 31) | function wF(e){e=e|0,DF(e)}
function DF (line 31) | function DF(e){e=e|0,EF(e)}
function EF (line 31) | function EF(e){e=e|0,c[e+8>>0]=1}
function SF (line 31) | function SF(){return 1936}
function CF (line 31) | function CF(){return TF()|0}
function TF (line 31) | function TF(){var e=0,n=0,r=0,o=0,s=0,l=0,d=0;return n=h,h=h+16|0,s=n+4|...
function xF (line 31) | function xF(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=Tt(16)|0,t[r+4>>2]=0,t[...
function kF (line 31) | function kF(e){e=e|0,da(e),Ve(e)}
function AF (line 31) | function AF(e){e=e|0,e=t[e+12>>2]|0,e|0&&Ve(e)}
function OF (line 31) | function OF(e){e=e|0,Ve(e)}
function IF (line 31) | function IF(){var e=0;return c[8088]|0||(BF(11076),Bt(25,11076,Q|0)|0,e=...
function PF (line 31) | function PF(e,n){e=e|0,n=n|0,t[e>>2]=MF()|0,t[e+4>>2]=FF()|0,t[e+12>>2]=...
function MF (line 31) | function MF(){return 11745}
function FF (line 31) | function FF(){return 1940}
function LF (line 31) | function LF(){return eh()|0}
function RF (line 31) | function RF(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(NF...
function NF (line 31) | function NF(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}
function BF (line 31) | function BF(e){e=e|0,Ys(e)}
function os (line 31) | function os(e,n){e=e|0,n=n|0,t[e>>2]=n}
function z4 (line 31) | function z4(e){return e=e|0,t[e>>2]|0}
function jF (line 31) | function jF(e){return e=e|0,c[t[e>>2]>>0]|0}
function UF (line 31) | function UF(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,t[o>>2]=t[e>>2...
function qF (line 31) | function qF(e,n){e=e|0,n=n|0;var r=0;return r=zF(t[e>>2]|0,n)|0,n=e+4|0,...
function zF (line 31) | function zF(e,n){e=e|0,n=n|0;var r=0,o=0;return r=h,h=h+16|0,o=r,Zo(o),e...
function Zo (line 31) | function Zo(e){e=e|0,t[e>>2]=t[2701],t[e+4>>2]=t[2703]}
function WF (line 31) | function WF(e,n){e=e|0,n=n|0;var r=0;return r=ko(HF()|0)|0,sf(0,r|0,e|0,...
function eu (line 31) | function eu(e){e=e|0,C8(t[e>>2]|0,t[e+4>>2]|0)}
function HF (line 31) | function HF(){var e=0;return c[8096]|0||(bF(11120),e=8096,t[e>>2]=1,t[e+...
function bF (line 31) | function bF(e){e=e|0,Ao(e,GF()|0,1)}
function GF (line 31) | function GF(){return 1948}
function VF (line 31) | function VF(){YF()}
function YF (line 31) | function YF(){var e=0,n=0,r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we...
function $F (line 31) | function $F(){return 11703}
function KF (line 31) | function KF(e){e=e|0,c[e+40>>0]=0}
function XF (line 31) | function XF(e){return e=e|0,(c[e+40>>0]|0)!=0|0}
function JF (line 31) | function JF(e,n){return e=e|0,n=n|0,n=nL(n)|0,e=t[n>>2]|0,t[n>>2]=t[e>>2...
function QF (line 31) | function QF(e){e=e|0,c[e+40>>0]=1}
function N8 (line 31) | function N8(e){return e=e|0,t[e+20>>2]|0}
function ZF (line 31) | function ZF(e){return e=e|0,t[e+8>>2]|0}
function eL (line 31) |
Copy disabled (too large)
Download .json
Condensed preview — 780 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (14,950K chars).
[
{
"path": "LICENSE",
"chars": 1112,
"preview": "MIT License\n\nCopyright (c) 2021 Panacloud Multi-Cloud Internet-Scale Modern Global Apps\n\nPermission is hereby granted, f"
},
{
"path": "README.md",
"chars": 18455,
"preview": "# Solidity Smart Contracts: Building DeFi DApps and Protocols for the Ethereum Blockchain\n\n### [The Companion Dapp Learn"
},
{
"path": "projects.md",
"chars": 7126,
"preview": "# Projects\n\n## Project 1: Create an ERC20 Token\n\n Create a YourNameCoin e.g. WarisCoin on the Ropsten Test Network. Mint"
},
{
"path": "step00_hardhat_helloworld/.gitignore",
"chars": 50,
"preview": "node_modules\n.env\n\n#Hardhat files\ncache\nartifacts\n"
},
{
"path": "step00_hardhat_helloworld/README.md",
"chars": 1255,
"preview": "# Basic Sample Hardhat Project\n\n[Before starting development please go through the Ethereum Developer Documentation in d"
},
{
"path": "step00_hardhat_helloworld/contracts/Greeter.sol",
"chars": 561,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\ncontract Greeter {\n stri"
},
{
"path": "step00_hardhat_helloworld/hardhat.config.js",
"chars": 572,
"preview": "require(\"@nomiclabs/hardhat-waffle\");\n\n// This is a sample Hardhat task. To learn how to create your own go to\n// https:"
},
{
"path": "step00_hardhat_helloworld/package.json",
"chars": 438,
"preview": "{\n \"name\": \"step00_hardhat_helloworld\",\n \"version\": \"1.0.0\",\n \"description\": \"\",\n \"main\": \"index.js\",\n \"scripts\": {"
},
{
"path": "step00_hardhat_helloworld/scripts/sample-script.js",
"chars": 1102,
"preview": "// We require the Hardhat Runtime Environment explicitly here. This is optional\n// but useful for running the script in "
},
{
"path": "step00_hardhat_helloworld/test/sample-test.js",
"chars": 619,
"preview": "const { expect } = require(\"chai\");\nconst { ethers } = require(\"hardhat\");\n\ndescribe(\"Greeter\", function () {\n it(\"Shou"
},
{
"path": "step01_hardhat_typescript_helloworld/.gitignore",
"chars": 66,
"preview": "node_modules\ndist\ntypechain\n.env\n\n#Hardhat files\ncache\nartifacts\n\n"
},
{
"path": "step01_hardhat_typescript_helloworld/README.md",
"chars": 2190,
"preview": "# Basic Sample Hardhat Typescript Project\n\nNote: You can use this prebuilt [template project](https://github.com/paulrbe"
},
{
"path": "step01_hardhat_typescript_helloworld/contracts/Greeter.sol",
"chars": 562,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\ncontract Greeter {\n str"
},
{
"path": "step01_hardhat_typescript_helloworld/hardhat.config.ts",
"chars": 678,
"preview": "import { task } from \"hardhat/config\";\nimport \"@nomiclabs/hardhat-waffle\";\n\nimport '@typechain/hardhat';\nimport '@nomicl"
},
{
"path": "step01_hardhat_typescript_helloworld/package.json",
"chars": 695,
"preview": "{\n \"name\": \"step00_hardhat_typescript_helloworld\",\n \"version\": \"1.0.0\",\n \"description\": \"\",\n \"main\": \"index.js\",\n \""
},
{
"path": "step01_hardhat_typescript_helloworld/scripts/sample-script.ts",
"chars": 1225,
"preview": "// We require the Hardhat Runtime Environment explicitly here. This is optional\n// but useful for running the script in "
},
{
"path": "step01_hardhat_typescript_helloworld/test/sample-test.ts",
"chars": 620,
"preview": "import { ethers, waffle } from \"hardhat\";\nimport { expect } from \"chai\";\n\n\ndescribe(\"Greeter\", function () {\n it(\"Shoul"
},
{
"path": "step01_hardhat_typescript_helloworld/tsconfig.json",
"chars": 293,
"preview": "{\n \"compilerOptions\": {\n \"target\": \"es2018\",\n \"module\": \"commonjs\",\n \"strict\": true,\n \"esModuleIn"
},
{
"path": "step02_hardhat_simple_storage/.gitignore",
"chars": 66,
"preview": "node_modules\ndist\ntypechain\n.env\n\n#Hardhat files\ncache\nartifacts\n\n"
},
{
"path": "step02_hardhat_simple_storage/README.md",
"chars": 636,
"preview": "# Simple Storage Hardhat Typescript Project\n\nCopy the files from step01_hardhat_typescript_helloworld\n\n\nCreate SimpleSto"
},
{
"path": "step02_hardhat_simple_storage/contracts/SimpleStorage.sol",
"chars": 350,
"preview": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.4;\n\nimport \"hardhat/console.sol\";\n\ncontract SimpleStorage {\n uint "
},
{
"path": "step02_hardhat_simple_storage/hardhat.config.ts",
"chars": 678,
"preview": "import { task } from \"hardhat/config\";\nimport \"@nomiclabs/hardhat-waffle\";\n\nimport '@typechain/hardhat';\nimport '@nomicl"
},
{
"path": "step02_hardhat_simple_storage/package.json",
"chars": 695,
"preview": "{\n \"name\": \"step00_hardhat_typescript_helloworld\",\n \"version\": \"1.0.0\",\n \"description\": \"\",\n \"main\": \"index.js\",\n \""
},
{
"path": "step02_hardhat_simple_storage/scripts/sample-script.ts",
"chars": 1142,
"preview": "// We require the Hardhat Runtime Environment explicitly here. This is optional\n// but useful for running the script in "
},
{
"path": "step02_hardhat_simple_storage/test/sample-test.ts",
"chars": 529,
"preview": "import { ethers, waffle } from \"hardhat\";\nimport { expect } from \"chai\";\n\n\ndescribe(\"SimpleStorage\", function () {\n it("
},
{
"path": "step02_hardhat_simple_storage/tsconfig.json",
"chars": 293,
"preview": "{\n \"compilerOptions\": {\n \"target\": \"es2018\",\n \"module\": \"commonjs\",\n \"strict\": true,\n \"esModuleIn"
},
{
"path": "step03_solidity_tutorial/.gitignore",
"chars": 66,
"preview": "node_modules\ndist\ntypechain\n.env\n\n#Hardhat files\ncache\nartifacts\n\n"
},
{
"path": "step03_solidity_tutorial/README.md",
"chars": 1306,
"preview": "# Learn Solidity using Hardhat and Typescript\n\n[We will follow this Solidity Tutorial in detail](https://www.tutorialspo"
},
{
"path": "step03_solidity_tutorial/contracts/Demo1.sol",
"chars": 710,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\ncontract Demo1 {\n\n uint2"
},
{
"path": "step03_solidity_tutorial/contracts/Greeter.sol",
"chars": 562,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\ncontract Greeter {\n str"
},
{
"path": "step03_solidity_tutorial/contracts/SolidityTest.sol",
"chars": 966,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\ncontract SolidityTest {\n \n"
},
{
"path": "step03_solidity_tutorial/contracts/SolidityTest2.sol",
"chars": 2265,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\ncontract SolidityTest2 {\n\n "
},
{
"path": "step03_solidity_tutorial/contracts/SolidityTest3.sol",
"chars": 527,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\ncontract SolidityTest3 {\n\n\n"
},
{
"path": "step03_solidity_tutorial/contracts/SolidityTest4.sol",
"chars": 1234,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\ncontract SolidityTest4 {\n\n "
},
{
"path": "step03_solidity_tutorial/contracts/SolidityTest5.sol",
"chars": 859,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\ncontract SolidityTest5 {\n\n "
},
{
"path": "step03_solidity_tutorial/contracts/SolidityTest6.sol",
"chars": 1843,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\ncontract SolidityTest7 {\n\n "
},
{
"path": "step03_solidity_tutorial/contracts/SolidityTest7.sol",
"chars": 1417,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\ncontract A {\n //private s"
},
{
"path": "step03_solidity_tutorial/contracts/SolidityTest8.sol",
"chars": 1376,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\ninterface Calculator {\n "
},
{
"path": "step03_solidity_tutorial/contracts/SolidityTest9.sol",
"chars": 1084,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\nlibrary MyMathLib {\n\n fu"
},
{
"path": "step03_solidity_tutorial/hardhat.config.ts",
"chars": 678,
"preview": "import { task } from \"hardhat/config\";\nimport \"@nomiclabs/hardhat-waffle\";\n\nimport '@typechain/hardhat';\nimport '@nomicl"
},
{
"path": "step03_solidity_tutorial/package.json",
"chars": 695,
"preview": "{\n \"name\": \"step00_hardhat_typescript_helloworld\",\n \"version\": \"1.0.0\",\n \"description\": \"\",\n \"main\": \"index.js\",\n \""
},
{
"path": "step03_solidity_tutorial/scripts/deploy.ts",
"chars": 10280,
"preview": "import { BigNumber } from \"ethers\";\nimport { ethers } from \"hardhat\";\nimport { C, ContractMath, ContractMath__factory, C"
},
{
"path": "step03_solidity_tutorial/scripts/sample-script.ts",
"chars": 493,
"preview": "\nimport { run, ethers } from \"hardhat\";\n\nasync function main() {\n\n const Greeter = await ethers.getContractFactory(\"Gre"
},
{
"path": "step03_solidity_tutorial/test/sample-test.ts",
"chars": 620,
"preview": "import { ethers, waffle } from \"hardhat\";\nimport { expect } from \"chai\";\n\n\ndescribe(\"Greeter\", function () {\n it(\"Shoul"
},
{
"path": "step03_solidity_tutorial/tsconfig.json",
"chars": 293,
"preview": "{\n \"compilerOptions\": {\n \"target\": \"es2018\",\n \"module\": \"commonjs\",\n \"strict\": true,\n \"esModuleIn"
},
{
"path": "step04A_chap2_textbook/.commitlintrc.yaml",
"chars": 47,
"preview": "extends:\n - \"@commitlint/config-conventional\"\n"
},
{
"path": "step04A_chap2_textbook/.czrc",
"chars": 42,
"preview": "{\n \"path\": \"cz-conventional-changelog\"\n}\n"
},
{
"path": "step04A_chap2_textbook/.editorconfig",
"chars": 254,
"preview": "# EditorConfig http://EditorConfig.org\n\n# top-most EditorConfig file\nroot = true\n\n# All files\n[*]\ncharset = utf-8\nend_o"
},
{
"path": "step04A_chap2_textbook/.eslintignore",
"chars": 251,
"preview": "# directories\n.yarn/\n**/.coverage_artifacts\n**/.coverage_cache\n**/.coverage_contracts\n**/artifacts\n**/build\n**/cache\n**/"
},
{
"path": "step04A_chap2_textbook/.eslintrc.yaml",
"chars": 536,
"preview": "extends:\n - \"eslint:recommended\"\n - \"plugin:@typescript-eslint/eslint-recommended\"\n - \"plugin:@typescript-eslint/reco"
},
{
"path": "step04A_chap2_textbook/.github/FUNDING.yaml",
"chars": 77,
"preview": "custom: [\"https://gitcoin.co/grants/1657/paulrberg-open-source-engineering\"]\n"
},
{
"path": "step04A_chap2_textbook/.gitignore",
"chars": 326,
"preview": "# directories\n.yarn/*\n!.yarn/patches\n!.yarn/releases\n!.yarn/plugins\n!.yarn/sdks\n!.yarn/versions\n**/artifacts\n**/build\n**"
},
{
"path": "step04A_chap2_textbook/.husky/.gitignore",
"chars": 2,
"preview": "_\n"
},
{
"path": "step04A_chap2_textbook/.husky/commit-msg",
"chars": 72,
"preview": "#!/bin/sh\n. \"$(dirname \"$0\")/_/husky.sh\"\n\nyarn dlx commitlint --edit $1\n"
},
{
"path": "step04A_chap2_textbook/.husky/pre-commit",
"chars": 63,
"preview": "#!/bin/sh\n. \"$(dirname \"$0\")/_/husky.sh\"\n\nyarn dlx lint-staged\n"
},
{
"path": "step04A_chap2_textbook/.lintstagedrc",
"chars": 97,
"preview": "{\n \"*.{js,json,md,sol,ts,yaml,yml}\": [\n \"prettier --config ./.prettierrc.yaml --write\"\n ]\n}\n"
},
{
"path": "step04A_chap2_textbook/.prettierignore",
"chars": 251,
"preview": "# directories\n.yarn/\n**/.coverage_artifacts\n**/.coverage_cache\n**/.coverage_contracts\n**/artifacts\n**/build\n**/cache\n**/"
},
{
"path": "step04A_chap2_textbook/.prettierrc.yaml",
"chars": 184,
"preview": "arrowParens: avoid\nbracketSpacing: true\nendOfLine: auto\nprintWidth: 120\nsingleQuote: false\ntabWidth: 2\ntrailingComma: al"
},
{
"path": "step04A_chap2_textbook/.solcover.js",
"chars": 180,
"preview": "const shell = require(\"shelljs\");\n\nmodule.exports = {\n istanbulReporter: [\"html\", \"lcov\"],\n providerOptions: {\n mne"
},
{
"path": "step04A_chap2_textbook/.solhint.json",
"chars": 517,
"preview": "{\n \"extends\": \"solhint:recommended\",\n \"plugins\": [\"prettier\"],\n \"rules\": {\n \"code-complexity\": [\"error\", 8],\n \""
},
{
"path": "step04A_chap2_textbook/.solhintignore",
"chars": 43,
"preview": "# directories\n**/artifacts\n**/node_modules\n"
},
{
"path": "step04A_chap2_textbook/.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs",
"chars": 889645,
"preview": "/* eslint-disable */\n//prettier-ignore\nmodule.exports = {\nname: \"@yarnpkg/plugin-interactive-tools\",\nfactory: function ("
},
{
"path": "step04A_chap2_textbook/.yarn/releases/yarn-3.1.0.cjs",
"chars": 2196888,
"preview": "#!/usr/bin/env node\n/* eslint-disable */\n//prettier-ignore\n(()=>{var Mfe=Object.create,Vf=Object.defineProperty,Ofe=Obje"
},
{
"path": "step04A_chap2_textbook/.yarnrc.yml",
"chars": 184,
"preview": "nodeLinker: node-modules\n\nplugins:\n - path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs\n spec: \"@yarnpkg/plu"
},
{
"path": "step04A_chap2_textbook/README.md",
"chars": 2213,
"preview": "# Step 04 Getting Started using Textbook\n\n[Clone this template in this directory](https://github.com/paulrberg/solidity-"
},
{
"path": "step04A_chap2_textbook/contracts/ABIEncodeExample.sol",
"chars": 2672,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\n\ncontract ABIEncodeExample "
},
{
"path": "step04A_chap2_textbook/contracts/AcceptEther.sol",
"chars": 255,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\n\n\ncontract AcceptEther {\n "
},
{
"path": "step04A_chap2_textbook/contracts/AcceptEtherWithLog.sol",
"chars": 631,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\n\ncontract AcceptEtherWithLo"
},
{
"path": "step04A_chap2_textbook/contracts/AccountContract.sol",
"chars": 693,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\n\ncontract AccountContract {"
},
{
"path": "step04A_chap2_textbook/contracts/ArraysExample.sol",
"chars": 614,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity 0.8.9;\n\n\ncontract ArraysExample {\n //Dynamic Array\n address[]"
},
{
"path": "step04A_chap2_textbook/contracts/CallExample.sol",
"chars": 779,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\ncontract CallExample {\n "
},
{
"path": "step04A_chap2_textbook/contracts/EnumExample.sol",
"chars": 512,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\ncontract EnumExample {\n\n "
},
{
"path": "step04A_chap2_textbook/contracts/GasExample.sol",
"chars": 1606,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\n\ncontract GasExample {\n "
},
{
"path": "step04A_chap2_textbook/contracts/LoanStruct.sol",
"chars": 387,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\ncontract LoanStruct {\n\n "
},
{
"path": "step04A_chap2_textbook/contracts/MappingExample.sol",
"chars": 675,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\n\ncontract MappingExample {\n"
},
{
"path": "step04A_chap2_textbook/contracts/Migrations.sol",
"chars": 567,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\ncontract Migrations {\n add"
},
{
"path": "step04A_chap2_textbook/contracts/OraclizeService.sol",
"chars": 1786,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\n\ncontract OraclizeService {"
},
{
"path": "step04A_chap2_textbook/contracts/SelectorExample.sol",
"chars": 277,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\n\ncontract SelectorExample {"
},
{
"path": "step04A_chap2_textbook/contracts/SkipContract.sol",
"chars": 1243,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\n\nlibrary ArrayIteratorLib {"
},
{
"path": "step04A_chap2_textbook/contracts/SpecialFunctions.sol",
"chars": 1121,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\ncontract SpecialFunctions {"
},
{
"path": "step04A_chap2_textbook/contracts/StringExample.sol",
"chars": 574,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\n\ncontract StringExample {\n "
},
{
"path": "step04A_chap2_textbook/contracts/ThisExample.sol",
"chars": 2074,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\n\n/**\n * Example contract to"
},
{
"path": "step04A_chap2_textbook/contracts/VariableStorage.sol",
"chars": 186,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\n\ncontract VariableStorage {"
},
{
"path": "step04A_chap2_textbook/hardhat.config.ts",
"chars": 2307,
"preview": "import \"@nomiclabs/hardhat-waffle\";\nimport \"@typechain/hardhat\";\nimport \"hardhat-gas-reporter\";\nimport \"solidity-coverag"
},
{
"path": "step04A_chap2_textbook/package.json",
"chars": 2990,
"preview": "{\n \"name\": \"@paulrberg/solidity-template\",\n \"description\": \"Setup for writing Solidity smart contracts\",\n \"version\": "
},
{
"path": "step04A_chap2_textbook/tasks/accounts.ts",
"chars": 323,
"preview": "import { Signer } from \"@ethersproject/abstract-signer\";\nimport { task } from \"hardhat/config\";\n\ntask(\"accounts\", \"Print"
},
{
"path": "step04A_chap2_textbook/tasks/deploy/greeter.ts",
"chars": 617,
"preview": "import { task } from \"hardhat/config\";\nimport { TaskArguments } from \"hardhat/types\";\n\nimport { Greeter } from \"../../ty"
},
{
"path": "step04A_chap2_textbook/tasks/deploy/index.ts",
"chars": 20,
"preview": "import \"./greeter\";\n"
},
{
"path": "step04A_chap2_textbook/test/greeter/Greeter.behavior.ts",
"chars": 419,
"preview": "import { expect } from \"chai\";\n\nexport function shouldBehaveLikeGreeter(): void {\n it(\"should return the new greeting o"
},
{
"path": "step04A_chap2_textbook/test/greeter/Greeter.ts",
"chars": 920,
"preview": "import hre from \"hardhat\";\nimport { Artifact } from \"hardhat/types\";\nimport { SignerWithAddress } from \"@nomiclabs/hardh"
},
{
"path": "step04A_chap2_textbook/test/types.ts",
"chars": 400,
"preview": "import { SignerWithAddress } from \"@nomiclabs/hardhat-ethers/dist/src/signer-with-address\";\nimport { Fixture } from \"eth"
},
{
"path": "step04A_chap2_textbook/tsconfig.json",
"chars": 580,
"preview": "{\n \"compilerOptions\": {\n \"declaration\": true,\n \"declarationMap\": true,\n \"emitDecoratorMetadata\": true,\n \"es"
},
{
"path": "step04B_chap2_textbook/.eslintignore",
"chars": 38,
"preview": "node_modules\nartifacts\ncache\ncoverage\n"
},
{
"path": "step04B_chap2_textbook/.eslintrc.js",
"chars": 444,
"preview": "module.exports = {\n env: {\n browser: false,\n es2021: true,\n mocha: true,\n node: true,\n },\n plugins: [\"@ty"
},
{
"path": "step04B_chap2_textbook/.gitignore",
"chars": 83,
"preview": "node_modules\n.env\ncoverage\ncoverage.json\ntypechain\n\n#Hardhat files\ncache\nartifacts\n"
},
{
"path": "step04B_chap2_textbook/.npmignore",
"chars": 31,
"preview": "hardhat.config.ts\nscripts\ntest\n"
},
{
"path": "step04B_chap2_textbook/.prettierignore",
"chars": 62,
"preview": "node_modules\nartifacts\ncache\ncoverage*\ngasReporterOutput.json\n"
},
{
"path": "step04B_chap2_textbook/.solhint.json",
"chars": 166,
"preview": "{\n \"extends\": \"solhint:recommended\",\n \"rules\": {\n \"compiler-version\": [\"error\", \"^0.8.0\"],\n \"func-visibility\": ["
},
{
"path": "step04B_chap2_textbook/.solhintignore",
"chars": 13,
"preview": "node_modules\n"
},
{
"path": "step04B_chap2_textbook/README.md",
"chars": 2049,
"preview": "# Advanced Sample Hardhat Project\n\nThis project demonstrates an advanced Hardhat use case, integrating other tools commo"
},
{
"path": "step04B_chap2_textbook/contracts/ABIEncodeExample.sol",
"chars": 2672,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\n\ncontract ABIEncodeExample "
},
{
"path": "step04B_chap2_textbook/contracts/CallFunctionDemo.sol",
"chars": 2127,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\nimport \"./SecondContract.sol"
},
{
"path": "step04B_chap2_textbook/contracts/CallerDemo.sol",
"chars": 769,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\nimport \"./RequestDemo.sol\";\n"
},
{
"path": "step04B_chap2_textbook/contracts/DemoLib.sol",
"chars": 400,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\nimport \"./RequestDemo.sol\";\n"
},
{
"path": "step04B_chap2_textbook/contracts/Greeter.sol",
"chars": 562,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\ncontract Greeter {\n str"
},
{
"path": "step04B_chap2_textbook/contracts/RequestDemo.sol",
"chars": 887,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\ncontract RequestDemo {\n\n "
},
{
"path": "step04B_chap2_textbook/contracts/SecondContract.sol",
"chars": 541,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\ncontract SecondContract {\n"
},
{
"path": "step04B_chap2_textbook/hardhat.config.ts",
"chars": 949,
"preview": "import * as dotenv from \"dotenv\";\n\nimport { HardhatUserConfig, task } from \"hardhat/config\";\nimport \"@nomiclabs/hardhat-"
},
{
"path": "step04B_chap2_textbook/package.json",
"chars": 1312,
"preview": "{\n \"name\": \"demo-hello4\",\n \"version\": \"1.0.0\",\n \"description\": \"\",\n \"main\": \"index.js\",\n \"scripts\": {\n \"test\": \""
},
{
"path": "step04B_chap2_textbook/scripts/deploy.ts",
"chars": 1394,
"preview": "\nimport { ethers } from \"hardhat\";\nimport { CallFunctionDemo, CallFunctionDemo__factory, SecondContract, SecondContract_"
},
{
"path": "step04B_chap2_textbook/scripts/deploy2.ts",
"chars": 715,
"preview": "\nimport { ethers } from \"hardhat\";\nimport { CallerDemo, CallerDemo__factory } from \"../typechain\";\n\nasync function main("
},
{
"path": "step04B_chap2_textbook/scripts/deploy3.ts",
"chars": 1142,
"preview": "\nimport { ethers } from \"hardhat\";\nimport { CallFunctionDemo, CallFunctionDemo__factory, SecondContract, SecondContract_"
},
{
"path": "step04B_chap2_textbook/scripts/deploy4.ts",
"chars": 1150,
"preview": "\nimport { ethers } from \"hardhat\";\nimport { ABIEncodeExample, ABIEncodeExample__factory, CallFunctionDemo, CallFunctionD"
},
{
"path": "step04B_chap2_textbook/test/index.ts",
"chars": 609,
"preview": "import { expect } from \"chai\";\nimport { ethers } from \"hardhat\";\n\ndescribe(\"Greeter\", function () {\n it(\"Should return "
},
{
"path": "step04B_chap2_textbook/tsconfig.json",
"chars": 265,
"preview": "{\n \"compilerOptions\": {\n \"target\": \"es2018\",\n \"module\": \"commonjs\",\n \"strict\": true,\n \"esModuleInterop\": tr"
},
{
"path": "step05A_chap3_textbook/.commitlintrc.yaml",
"chars": 47,
"preview": "extends:\n - \"@commitlint/config-conventional\"\n"
},
{
"path": "step05A_chap3_textbook/.czrc",
"chars": 42,
"preview": "{\n \"path\": \"cz-conventional-changelog\"\n}\n"
},
{
"path": "step05A_chap3_textbook/.editorconfig",
"chars": 254,
"preview": "# EditorConfig http://EditorConfig.org\n\n# top-most EditorConfig file\nroot = true\n\n# All files\n[*]\ncharset = utf-8\nend_o"
},
{
"path": "step05A_chap3_textbook/.eslintignore",
"chars": 251,
"preview": "# directories\n.yarn/\n**/.coverage_artifacts\n**/.coverage_cache\n**/.coverage_contracts\n**/artifacts\n**/build\n**/cache\n**/"
},
{
"path": "step05A_chap3_textbook/.eslintrc.yaml",
"chars": 536,
"preview": "extends:\n - \"eslint:recommended\"\n - \"plugin:@typescript-eslint/eslint-recommended\"\n - \"plugin:@typescript-eslint/reco"
},
{
"path": "step05A_chap3_textbook/.github/FUNDING.yaml",
"chars": 77,
"preview": "custom: [\"https://gitcoin.co/grants/1657/paulrberg-open-source-engineering\"]\n"
},
{
"path": "step05A_chap3_textbook/.gitignore",
"chars": 326,
"preview": "# directories\n.yarn/*\n!.yarn/patches\n!.yarn/releases\n!.yarn/plugins\n!.yarn/sdks\n!.yarn/versions\n**/artifacts\n**/build\n**"
},
{
"path": "step05A_chap3_textbook/.husky/.gitignore",
"chars": 2,
"preview": "_\n"
},
{
"path": "step05A_chap3_textbook/.husky/commit-msg",
"chars": 72,
"preview": "#!/bin/sh\n. \"$(dirname \"$0\")/_/husky.sh\"\n\nyarn dlx commitlint --edit $1\n"
},
{
"path": "step05A_chap3_textbook/.husky/pre-commit",
"chars": 63,
"preview": "#!/bin/sh\n. \"$(dirname \"$0\")/_/husky.sh\"\n\nyarn dlx lint-staged\n"
},
{
"path": "step05A_chap3_textbook/.lintstagedrc",
"chars": 97,
"preview": "{\n \"*.{js,json,md,sol,ts,yaml,yml}\": [\n \"prettier --config ./.prettierrc.yaml --write\"\n ]\n}\n"
},
{
"path": "step05A_chap3_textbook/.prettierignore",
"chars": 251,
"preview": "# directories\n.yarn/\n**/.coverage_artifacts\n**/.coverage_cache\n**/.coverage_contracts\n**/artifacts\n**/build\n**/cache\n**/"
},
{
"path": "step05A_chap3_textbook/.prettierrc.yaml",
"chars": 184,
"preview": "arrowParens: avoid\nbracketSpacing: true\nendOfLine: auto\nprintWidth: 120\nsingleQuote: false\ntabWidth: 2\ntrailingComma: al"
},
{
"path": "step05A_chap3_textbook/.solcover.js",
"chars": 180,
"preview": "const shell = require(\"shelljs\");\n\nmodule.exports = {\n istanbulReporter: [\"html\", \"lcov\"],\n providerOptions: {\n mne"
},
{
"path": "step05A_chap3_textbook/.solhint.json",
"chars": 517,
"preview": "{\n \"extends\": \"solhint:recommended\",\n \"plugins\": [\"prettier\"],\n \"rules\": {\n \"code-complexity\": [\"error\", 8],\n \""
},
{
"path": "step05A_chap3_textbook/.solhintignore",
"chars": 43,
"preview": "# directories\n**/artifacts\n**/node_modules\n"
},
{
"path": "step05A_chap3_textbook/.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs",
"chars": 889645,
"preview": "/* eslint-disable */\n//prettier-ignore\nmodule.exports = {\nname: \"@yarnpkg/plugin-interactive-tools\",\nfactory: function ("
},
{
"path": "step05A_chap3_textbook/.yarn/releases/yarn-3.1.0.cjs",
"chars": 2196888,
"preview": "#!/usr/bin/env node\n/* eslint-disable */\n//prettier-ignore\n(()=>{var Mfe=Object.create,Vf=Object.defineProperty,Ofe=Obje"
},
{
"path": "step05A_chap3_textbook/.yarnrc.yml",
"chars": 184,
"preview": "nodeLinker: node-modules\n\nplugins:\n - path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs\n spec: \"@yarnpkg/plu"
},
{
"path": "step05A_chap3_textbook/README.md",
"chars": 2228,
"preview": "# Step 04 Control Structures and Contracts from Textbook\n\n[Clone this template in this directory](https://github.com/pau"
},
{
"path": "step05A_chap3_textbook/contracts/AbstractDeposit.sol",
"chars": 438,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\n\nabstract contract Abstract"
},
{
"path": "step05A_chap3_textbook/contracts/ConstantExample.sol",
"chars": 285,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\n\ncontract ConstantExample {"
},
{
"path": "step05A_chap3_textbook/contracts/ConstructorExample.sol",
"chars": 527,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\n\ncontract ConstructorExampl"
},
{
"path": "step05A_chap3_textbook/contracts/ControlledAddressList.sol",
"chars": 961,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\nlibrary ControlledAddressLi"
},
{
"path": "step05A_chap3_textbook/contracts/EventExample.sol",
"chars": 861,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\n\ncontract EventExample {\n "
},
{
"path": "step05A_chap3_textbook/contracts/ExampleInterface.sol",
"chars": 464,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\n\ninterface ExampleInterface"
},
{
"path": "step05A_chap3_textbook/contracts/GetterExample.sol",
"chars": 785,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\n\ncontract GetterExample {\n "
},
{
"path": "step05A_chap3_textbook/contracts/InternalConstructor.sol",
"chars": 288,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\n\nabstract contract Internal"
},
{
"path": "step05A_chap3_textbook/contracts/MainContract.sol",
"chars": 1071,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\n\ncontract ChildContract {\n "
},
{
"path": "step05A_chap3_textbook/contracts/Migrations.sol",
"chars": 567,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\ncontract Migrations {\n add"
},
{
"path": "step05A_chap3_textbook/contracts/ModifierExample.sol",
"chars": 648,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\n\ncontract Ownable {\n add"
},
{
"path": "step05A_chap3_textbook/contracts/MultiReturn.sol",
"chars": 689,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\n\ncontract MultiReturn {\n\n "
},
{
"path": "step05A_chap3_textbook/contracts/TokenList.sol",
"chars": 668,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\nimport \"./ControlledAddress"
},
{
"path": "step05A_chap3_textbook/contracts/VisibilityExample.sol",
"chars": 1216,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\n\ncontract SuperContract {\n "
},
{
"path": "step05A_chap3_textbook/contracts/function/FallbackFuncExample.sol",
"chars": 734,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\n\ncontract FallbackFunctionE"
},
{
"path": "step05A_chap3_textbook/contracts/function/FuncOverload.sol",
"chars": 719,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\n\ncontract FuncOverload {\n\n "
},
{
"path": "step05A_chap3_textbook/contracts/function/FuncOverride.sol",
"chars": 486,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\nimport \"@openzeppelin/contr"
},
{
"path": "step05A_chap3_textbook/contracts/function/PureFuncExample.sol",
"chars": 263,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\n\ncontract PureFuncExample {"
},
{
"path": "step05A_chap3_textbook/contracts/function/ViewFuncExample.sol",
"chars": 336,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\n\ncontract ViewFuncExample {"
},
{
"path": "step05A_chap3_textbook/contracts/inheritance/InheritanceExample1.sol",
"chars": 1021,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\n\ncontract Ownable {\n add"
},
{
"path": "step05A_chap3_textbook/contracts/inheritance/InheritanceExample2.sol",
"chars": 1000,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\n\ncontract Ownable {\n add"
},
{
"path": "step05A_chap3_textbook/contracts/inheritance/MyToken.sol",
"chars": 720,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\nimport \"@openzeppelin/contr"
},
{
"path": "step05A_chap3_textbook/hardhat.config.ts",
"chars": 2307,
"preview": "import \"@nomiclabs/hardhat-waffle\";\nimport \"@typechain/hardhat\";\nimport \"hardhat-gas-reporter\";\nimport \"solidity-coverag"
},
{
"path": "step05A_chap3_textbook/package.json",
"chars": 3055,
"preview": "{\n \"name\": \"@paulrberg/solidity-template\",\n \"description\": \"Setup for writing Solidity smart contracts\",\n \"version\": "
},
{
"path": "step05A_chap3_textbook/tasks/accounts.ts",
"chars": 323,
"preview": "import { Signer } from \"@ethersproject/abstract-signer\";\nimport { task } from \"hardhat/config\";\n\ntask(\"accounts\", \"Print"
},
{
"path": "step05A_chap3_textbook/tasks/deploy/greeter.ts",
"chars": 617,
"preview": "import { task } from \"hardhat/config\";\nimport { TaskArguments } from \"hardhat/types\";\n\nimport { Greeter } from \"../../ty"
},
{
"path": "step05A_chap3_textbook/tasks/deploy/index.ts",
"chars": 20,
"preview": "import \"./greeter\";\n"
},
{
"path": "step05A_chap3_textbook/test/greeter/Greeter.behavior.ts",
"chars": 419,
"preview": "import { expect } from \"chai\";\n\nexport function shouldBehaveLikeGreeter(): void {\n it(\"should return the new greeting o"
},
{
"path": "step05A_chap3_textbook/test/greeter/Greeter.ts",
"chars": 920,
"preview": "import hre from \"hardhat\";\nimport { Artifact } from \"hardhat/types\";\nimport { SignerWithAddress } from \"@nomiclabs/hardh"
},
{
"path": "step05A_chap3_textbook/test/types.ts",
"chars": 400,
"preview": "import { SignerWithAddress } from \"@nomiclabs/hardhat-ethers/dist/src/signer-with-address\";\nimport { Fixture } from \"eth"
},
{
"path": "step05A_chap3_textbook/tsconfig.json",
"chars": 580,
"preview": "{\n \"compilerOptions\": {\n \"declaration\": true,\n \"declarationMap\": true,\n \"emitDecoratorMetadata\": true,\n \"es"
},
{
"path": "step05B_chap3_textbook/.eslintignore",
"chars": 38,
"preview": "node_modules\nartifacts\ncache\ncoverage\n"
},
{
"path": "step05B_chap3_textbook/.eslintrc.js",
"chars": 444,
"preview": "module.exports = {\n env: {\n browser: false,\n es2021: true,\n mocha: true,\n node: true,\n },\n plugins: [\"@ty"
},
{
"path": "step05B_chap3_textbook/.gitignore",
"chars": 83,
"preview": "node_modules\n.env\ncoverage\ncoverage.json\ntypechain\n\n#Hardhat files\ncache\nartifacts\n"
},
{
"path": "step05B_chap3_textbook/.npmignore",
"chars": 31,
"preview": "hardhat.config.ts\nscripts\ntest\n"
},
{
"path": "step05B_chap3_textbook/.prettierignore",
"chars": 62,
"preview": "node_modules\nartifacts\ncache\ncoverage*\ngasReporterOutput.json\n"
},
{
"path": "step05B_chap3_textbook/.solhint.json",
"chars": 166,
"preview": "{\n \"extends\": \"solhint:recommended\",\n \"rules\": {\n \"compiler-version\": [\"error\", \"^0.8.0\"],\n \"func-visibility\": ["
},
{
"path": "step05B_chap3_textbook/.solhintignore",
"chars": 13,
"preview": "node_modules\n"
},
{
"path": "step05B_chap3_textbook/README.md",
"chars": 2049,
"preview": "# Advanced Sample Hardhat Project\n\nThis project demonstrates an advanced Hardhat use case, integrating other tools commo"
},
{
"path": "step05B_chap3_textbook/contracts/DemoConstant.sol",
"chars": 405,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\n\ncontract DemoConstant {\n\n uint256 public constant AMO"
},
{
"path": "step05B_chap3_textbook/contracts/DemoInheritance.sol",
"chars": 278,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\n\ncontract DemoInheritance {\n\n string public symbol;\n "
},
{
"path": "step05B_chap3_textbook/contracts/Greeter.sol",
"chars": 562,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\ncontract Greeter {\n str"
},
{
"path": "step05B_chap3_textbook/contracts/ValueStorage.sol",
"chars": 702,
"preview": "//SPDX-License-Identifier: Unlicense\npragma solidity ^0.8.0;\n\n\ncontract ValueStorage {\n\n uint public value = 2;\n\n "
},
{
"path": "step05B_chap3_textbook/hardhat.config.ts",
"chars": 949,
"preview": "import * as dotenv from \"dotenv\";\n\nimport { HardhatUserConfig, task } from \"hardhat/config\";\nimport \"@nomiclabs/hardhat-"
},
{
"path": "step05B_chap3_textbook/package.json",
"chars": 1312,
"preview": "{\n \"name\": \"demo-hello4\",\n \"version\": \"1.0.0\",\n \"description\": \"\",\n \"main\": \"index.js\",\n \"scripts\": {\n \"test\": \""
},
{
"path": "step05B_chap3_textbook/scripts/deploy.ts",
"chars": 656,
"preview": "\nimport { ethers } from \"hardhat\";\nimport { DemoConstant, DemoConstant__factory, Greeter, Greeter__factory } from \"../ty"
},
{
"path": "step05B_chap3_textbook/scripts/deploy2.ts",
"chars": 1649,
"preview": "\nimport { ethers } from \"hardhat\";\nimport { ValueStorage1, ValueStorage1__factory, ValueStorage2, ValueStorage2__factory"
},
{
"path": "step05B_chap3_textbook/test/index.ts",
"chars": 609,
"preview": "import { expect } from \"chai\";\nimport { ethers } from \"hardhat\";\n\ndescribe(\"Greeter\", function () {\n it(\"Should return "
},
{
"path": "step05B_chap3_textbook/tsconfig.json",
"chars": 265,
"preview": "{\n \"compilerOptions\": {\n \"target\": \"es2018\",\n \"module\": \"commonjs\",\n \"strict\": true,\n \"esModuleInterop\": tr"
},
{
"path": "step06A_chap7_erc20_token/.commitlintrc.yaml",
"chars": 47,
"preview": "extends:\n - \"@commitlint/config-conventional\"\n"
},
{
"path": "step06A_chap7_erc20_token/.czrc",
"chars": 42,
"preview": "{\n \"path\": \"cz-conventional-changelog\"\n}\n"
},
{
"path": "step06A_chap7_erc20_token/.editorconfig",
"chars": 254,
"preview": "# EditorConfig http://EditorConfig.org\n\n# top-most EditorConfig file\nroot = true\n\n# All files\n[*]\ncharset = utf-8\nend_o"
},
{
"path": "step06A_chap7_erc20_token/.eslintignore",
"chars": 251,
"preview": "# directories\n.yarn/\n**/.coverage_artifacts\n**/.coverage_cache\n**/.coverage_contracts\n**/artifacts\n**/build\n**/cache\n**/"
},
{
"path": "step06A_chap7_erc20_token/.eslintrc.yaml",
"chars": 536,
"preview": "extends:\n - \"eslint:recommended\"\n - \"plugin:@typescript-eslint/eslint-recommended\"\n - \"plugin:@typescript-eslint/reco"
},
{
"path": "step06A_chap7_erc20_token/.github/FUNDING.yaml",
"chars": 77,
"preview": "custom: [\"https://gitcoin.co/grants/1657/paulrberg-open-source-engineering\"]\n"
},
{
"path": "step06A_chap7_erc20_token/.gitignore",
"chars": 326,
"preview": "# directories\n.yarn/*\n!.yarn/patches\n!.yarn/releases\n!.yarn/plugins\n!.yarn/sdks\n!.yarn/versions\n**/artifacts\n**/build\n**"
},
{
"path": "step06A_chap7_erc20_token/.husky/.gitignore",
"chars": 2,
"preview": "_\n"
},
{
"path": "step06A_chap7_erc20_token/.husky/commit-msg",
"chars": 72,
"preview": "#!/bin/sh\n. \"$(dirname \"$0\")/_/husky.sh\"\n\nyarn dlx commitlint --edit $1\n"
},
{
"path": "step06A_chap7_erc20_token/.husky/pre-commit",
"chars": 63,
"preview": "#!/bin/sh\n. \"$(dirname \"$0\")/_/husky.sh\"\n\nyarn dlx lint-staged\n"
},
{
"path": "step06A_chap7_erc20_token/.lintstagedrc",
"chars": 97,
"preview": "{\n \"*.{js,json,md,sol,ts,yaml,yml}\": [\n \"prettier --config ./.prettierrc.yaml --write\"\n ]\n}\n"
},
{
"path": "step06A_chap7_erc20_token/.prettierignore",
"chars": 251,
"preview": "# directories\n.yarn/\n**/.coverage_artifacts\n**/.coverage_cache\n**/.coverage_contracts\n**/artifacts\n**/build\n**/cache\n**/"
},
{
"path": "step06A_chap7_erc20_token/.prettierrc.yaml",
"chars": 184,
"preview": "arrowParens: avoid\nbracketSpacing: true\nendOfLine: auto\nprintWidth: 120\nsingleQuote: false\ntabWidth: 2\ntrailingComma: al"
},
{
"path": "step06A_chap7_erc20_token/.solcover.js",
"chars": 180,
"preview": "const shell = require(\"shelljs\");\n\nmodule.exports = {\n istanbulReporter: [\"html\", \"lcov\"],\n providerOptions: {\n mne"
},
{
"path": "step06A_chap7_erc20_token/.solhint.json",
"chars": 517,
"preview": "{\n \"extends\": \"solhint:recommended\",\n \"plugins\": [\"prettier\"],\n \"rules\": {\n \"code-complexity\": [\"error\", 8],\n \""
},
{
"path": "step06A_chap7_erc20_token/.solhintignore",
"chars": 43,
"preview": "# directories\n**/artifacts\n**/node_modules\n"
}
]
// ... and 580 more files (download for full content)
About this extraction
This page contains the full source code of the panacloud-modern-global-apps/defi-dapps-solidity-smart-contracts GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 780 files (13.9 MB), approximately 3.7M tokens, and a symbol index with 26966 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.