├── .gitignore ├── kolmafia-polyfill.js ├── src ├── familiar │ ├── index.ts │ ├── experienceFamiliars.ts │ ├── constantValueFamiliars.ts │ ├── lib.ts │ ├── freeFightFamiliar.ts │ └── dropFamiliars.ts ├── juneCleaver.ts ├── monster.ts ├── location.ts ├── macro.ts ├── setup.ts ├── engine.ts ├── lib.ts ├── outfit.ts ├── garboValue.ts └── main.ts ├── babel.config.js ├── tsconfig.json ├── LICENSE ├── README.md ├── package.json ├── .github └── workflows │ └── build.yml └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .vscode 3 | dist/scripts/* 4 | node_modules -------------------------------------------------------------------------------- /kolmafia-polyfill.js: -------------------------------------------------------------------------------- 1 | const kolmafia = require("kolmafia"); 2 | export let console = { log: kolmafia.print }; 3 | -------------------------------------------------------------------------------- /src/familiar/index.ts: -------------------------------------------------------------------------------- 1 | export { freeFightFamiliar } from "./freeFightFamiliar"; 2 | export { 3 | canOpenRedPresent, 4 | pocketProfessorLectures, 5 | timeToMeatify, 6 | } from "./lib"; 7 | export type { MenuOptions } from "./lib"; 8 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | /* eslint-env node */ 2 | 3 | /** 4 | * @returns {import("@babel/core").TransformOptions} 5 | */ 6 | module.exports = function (api) { 7 | api.cache(true); 8 | 9 | /** @type {import("@babel/preset-env").Options} */ 10 | const presetEnvConfig = { 11 | targets: { rhino: "1.7.14" }, 12 | }; 13 | 14 | return { 15 | exclude: [], 16 | presets: [ 17 | "@babel/preset-typescript", 18 | ["@babel/preset-env", presetEnvConfig], 19 | ], 20 | }; 21 | }; 22 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "rootDir": "src", 4 | "noEmit": true, 5 | "allowUnreachableCode": false, 6 | "allowUnusedLabels": false, 7 | "declaration": false, 8 | "forceConsistentCasingInFileNames": true, 9 | "lib": ["es2018"], 10 | "module": "commonjs", 11 | "noEmitOnError": true, 12 | "noFallthroughCasesInSwitch": true, 13 | "noImplicitReturns": true, 14 | "pretty": true, 15 | "strict": true, 16 | "target": "es2018" 17 | }, 18 | "include": ["src/**/*.ts", "test/**/*.ts"] 19 | } 20 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2022 Joe Kirchoff 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 14 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 15 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 16 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 17 | DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 18 | OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE 19 | OR OTHER DEALINGS IN THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # locket-collector 2 | 3 | Add monsters to your combat lover's locket. 4 | 5 | To install, run the following command on an up-to-date [KolMafia](https://github.com/kolmafia/kolmafia) version: 6 | 7 | ``` 8 | git checkout loathers/locket-collector release 9 | ``` 10 | 11 | To update, run `git update` or check the "Update installed Git projects on login" box within Mafia preferences. 12 | 13 | ## Running Locko 14 | 15 | To run locko, run the following command in the mafia GCLI: 16 | 17 | `locko monster="MONSTER TO FIND"` 18 | 19 | or 20 | 21 | `locko location="LOCATION TO FIND ALL MONSTERS"` 22 | 23 | You can specify the number of turns to run (use negative numbers for the number of turns remaining) with the turns argument. The following example will use 10 turns. 24 | 25 | `locko monster="rushing bum" turns=10` 26 | 27 | ## Warnings 28 | 29 | * Cannot be used if you don't have any reminisces left, as there tracking the captured monsters is not supported. 30 | * Currently only searches for monsters that always exist in a zone and cannot follow choice adventures. It is possible mafia has bad data and a monster won't be found, but generally it should be correct. 31 | * If a monster is copyable and not locketable, the script should abort after it is encountered, but no guarentee this works and turns could be wasted. This may be due to missing data in mafia and could be reported. 32 | * Various choice adventures are not handled and could cause problems. 33 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "locket-collector", 3 | "version": "0.0.0", 4 | "author": "Joe Kirchoff ", 5 | "homepage": "", 6 | "license": "MIT", 7 | "scripts": { 8 | "build": "node build.mjs", 9 | "format": "prettier --write src/**/*.ts *.{mjs,js,json}", 10 | "lint": "prettier --check src/**/*.ts", 11 | "watch": "node build.mjs --watch", 12 | "install-mafia": "create-kolmafia-script --install" 13 | }, 14 | "dependencies": { 15 | "grimoire-kolmafia": "^0.3.8", 16 | "kolmafia": "latest", 17 | "libram": "^0.7.4" 18 | }, 19 | "devDependencies": { 20 | "@babel/core": "^7.18.10", 21 | "@babel/plugin-proposal-class-properties": "^7.18.6", 22 | "@babel/plugin-proposal-object-rest-spread": "^7.18.9", 23 | "@babel/preset-env": "^7.18.9", 24 | "@babel/preset-typescript": "^7.18.6", 25 | "@trivago/prettier-plugin-sort-imports": "^3.3.0", 26 | "@types/babel__core": "^7.1.19", 27 | "@types/babel__preset-env": "^7.9.2", 28 | "@types/node": "^18.6.3", 29 | "@typescript-eslint/eslint-plugin": "^5.32.0", 30 | "@typescript-eslint/parser": "^5.32.0", 31 | "create-kolmafia-script": "latest", 32 | "esbuild": "^0.14.51", 33 | "esbuild-plugin-babel": "^0.2.3", 34 | "eslint": "^8.21.0", 35 | "eslint-config-prettier": "^8.5.0", 36 | "eslint-plugin-libram": "^0.2.13", 37 | "eslint-plugin-prettier": "^4.2.1", 38 | "prettier": "^2.7.1", 39 | "typescript": "^4.7.4" 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/familiar/experienceFamiliars.ts: -------------------------------------------------------------------------------- 1 | import { GeneralFamiliar } from "./lib"; 2 | import { Familiar } from "kolmafia"; 3 | import { 4 | $familiar, 5 | findLeprechaunMultiplier, 6 | get, 7 | have, 8 | propertyTypes, 9 | } from "libram"; 10 | import { familiar } from "libram/dist/resources/2009/Bandersnatch"; 11 | 12 | type ExperienceFamiliar = { 13 | familiar: Familiar; 14 | used: propertyTypes.BooleanProperty; 15 | useValue: number; 16 | }; 17 | 18 | const experienceFamiliars: ExperienceFamiliar[] = [ 19 | { 20 | familiar: $familiar`Pocket Professor`, 21 | used: "_thesisDelivered", 22 | useValue: 11 * get("valueOfAdventure"), 23 | }, 24 | { 25 | familiar: $familiar`Grey Goose`, 26 | used: "_meatifyMatterUsed", 27 | useValue: 15 ** 4, 28 | }, 29 | ]; 30 | 31 | function valueExperienceFamiliar({ 32 | familiar, 33 | useValue, 34 | }: ExperienceFamiliar): GeneralFamiliar { 35 | const currentExp = 36 | familiar.experience || (have($familiar`Shorter-Order Cook`) ? 100 : 0); 37 | const experienceNeeded = 400 - currentExp; 38 | const estimatedExperience = 3; 39 | return { 40 | familiar, 41 | expectedValue: useValue / (experienceNeeded / estimatedExperience), 42 | leprechaunMultiplier: findLeprechaunMultiplier(familiar), 43 | limit: "experience", 44 | }; 45 | } 46 | 47 | export default function getExperienceFamiliars(): GeneralFamiliar[] { 48 | return experienceFamiliars 49 | .filter( 50 | ({ used, familiar }) => 51 | have(familiar) && !get(used) && familiar.experience < 400 52 | ) 53 | .map(valueExperienceFamiliar); 54 | } 55 | 56 | export function getExperienceFamiliarLimit(fam: Familiar): number { 57 | const target = experienceFamiliars.find(({ familiar }) => familiar === fam); 58 | if (!have(fam) || !target) return 0; 59 | 60 | return (400 - familiar.experience) / 5; 61 | } 62 | -------------------------------------------------------------------------------- /src/juneCleaver.ts: -------------------------------------------------------------------------------- 1 | import { Item } from "kolmafia"; 2 | import { $item, get, JuneCleaver } from "libram"; 3 | 4 | import { garboValue } from "./garboValue"; 5 | import { maxBy } from "./lib"; 6 | 7 | export const juneCleaverChoiceValues = { 8 | 1467: { 9 | 1: 0, 10 | 2: 0, 11 | 3: 5 * get("valueOfAdventure"), 12 | }, 13 | 1468: { 1: 0, 2: 5, 3: 0 }, 14 | 1469: { 1: 0, 2: $item`Dad's brandy`, 3: 1500 }, 15 | 1470: { 1: 0, 2: $item`teacher's pen`, 3: 0 }, 16 | 1471: { 1: $item`savings bond`, 2: 250, 3: 0 }, 17 | 1472: { 18 | 1: $item`trampled ticket stub`, 19 | 2: $item`fire-roasted lake trout`, 20 | 3: 0, 21 | }, 22 | 1473: { 1: $item`gob of wet hair`, 2: 0, 3: 0 }, 23 | 1474: { 1: 0, 2: $item`guilty sprout`, 3: 0 }, 24 | 1475: { 1: $item`mother's necklace`, 2: 0, 3: 0 }, 25 | } as const; 26 | 27 | function valueJuneCleaverOption(result: Item | number): number { 28 | return result instanceof Item ? garboValue(result) : result; 29 | } 30 | 31 | export function bestJuneCleaverOption(id: typeof JuneCleaver.choices[number]): 1 | 2 | 3 { 32 | const options = [1, 2, 3] as const; 33 | return maxBy(options, (option) => valueJuneCleaverOption(juneCleaverChoiceValues[id][option])); 34 | } 35 | 36 | let juneCleaverSkipChoices: typeof JuneCleaver.choices[number][] | null; 37 | function skipJuneCleaverChoices() { 38 | if (!juneCleaverSkipChoices) { 39 | juneCleaverSkipChoices = [...JuneCleaver.choices] 40 | .sort( 41 | (a, b) => 42 | valueJuneCleaverOption(juneCleaverChoiceValues[a][bestJuneCleaverOption(a)]) - 43 | valueJuneCleaverOption(juneCleaverChoiceValues[b][bestJuneCleaverOption(b)]) 44 | ) 45 | .splice(0, 3); 46 | } 47 | 48 | return juneCleaverSkipChoices; 49 | } 50 | 51 | export function shouldSkip(choice: typeof JuneCleaver.choices[number]): boolean { 52 | return JuneCleaver.skipsRemaining() > 0 && skipJuneCleaverChoices().includes(choice); 53 | } 54 | -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | name: Build & Lint 2 | 3 | on: 4 | push: 5 | branches: [main] 6 | pull_request: 7 | branches: [main] 8 | workflow_dispatch: 9 | 10 | env: 11 | node-version: "18" 12 | path: "dist" # The directory where your assets are generated, should match build.mjs 13 | 14 | jobs: 15 | test: 16 | runs-on: ubuntu-latest 17 | steps: 18 | - uses: actions/checkout@v3 19 | 20 | - name: Use Node.js ${{ env.node-version }} 21 | uses: actions/setup-node@v3 22 | with: 23 | node-version: ${{ env.node-version }} 24 | 25 | - name: Install Dependencies 26 | run: yarn install --immutable 27 | 28 | - name: Build 29 | run: yarn run build 30 | 31 | lint: 32 | runs-on: ubuntu-latest 33 | steps: 34 | - uses: actions/checkout@v3 35 | 36 | - name: Use Node.js ${{ env.node-version }} 37 | uses: actions/setup-node@v3 38 | with: 39 | node-version: ${{ env.node-version }} 40 | 41 | - name: Install Dependencies 42 | run: yarn install --immutable 43 | 44 | - name: Prettier 45 | run: yarn run lint 46 | 47 | push: 48 | runs-on: ubuntu-latest 49 | needs: [test, lint] 50 | if: github.ref == 'refs/heads/main' 51 | steps: 52 | - uses: actions/checkout@v3 53 | 54 | - name: Use Node.js ${{ env.node-version }} 55 | uses: actions/setup-node@v3 56 | with: 57 | node-version: ${{ env.node-version }} 58 | 59 | - name: Install Dependencies 60 | run: yarn install --immutable 61 | 62 | - name: Build 63 | run: yarn run build 64 | 65 | - name: Push to Release 66 | uses: s0/git-publish-subdir-action@develop 67 | env: 68 | REPO: self 69 | BRANCH: release 70 | FOLDER: ${{ env.path }} 71 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 72 | MESSAGE: "Build: ({sha}) {msg}" 73 | SKIP_EMPTY_COMMITS: true 74 | -------------------------------------------------------------------------------- /src/monster.ts: -------------------------------------------------------------------------------- 1 | import { 2 | adv1, 3 | appearanceRates, 4 | canAdventure, 5 | Location, 6 | Monster, 7 | toLocation, 8 | toMonster, 9 | } from "kolmafia"; 10 | import { 11 | $item, 12 | $location, 13 | $locations, 14 | CombatLoversLocket, 15 | get, 16 | getKramcoWandererChance, 17 | } from "libram"; 18 | 19 | import { LocketQuest, LocketStrategy } from "./engine"; 20 | import { sober } from "./lib"; 21 | import Macro from "./macro"; 22 | import { chooseQuestOutfit, ifHave } from "./outfit"; 23 | 24 | let lastFoughtMonster: Monster | null = null; 25 | 26 | function monsterComplete(monster: Monster): boolean { 27 | const locketMonsters = CombatLoversLocket.unlockedLocketMonsters(); 28 | if (lastFoughtMonster === monster && !locketMonsters.includes(lastFoughtMonster)) { 29 | throw `${monster} not added to locket successfully, is it invalid?`; 30 | } 31 | 32 | return locketMonsters.includes(monster); 33 | } 34 | 35 | function monsterLocation(monster: Monster): Location { 36 | for (const location of Location.all()) { 37 | if (!canAdventure(location)) continue; 38 | const rates = appearanceRates(location, true); 39 | for (let key in rates) { 40 | if (rates[key] <= 0) continue; 41 | const rateMonster = toMonster(key); 42 | if (!rateMonster.copyable || rateMonster.boss) continue; 43 | if (rateMonster === monster) return location; 44 | } 45 | } 46 | return $location`none`; 47 | } 48 | 49 | export function monsterQuest(monster: Monster): LocketQuest { 50 | if (!monster.copyable || monster.boss) { 51 | throw "You can't locket this monster"; 52 | } 53 | const location = monsterLocation(monster); 54 | return { 55 | name: "Monster", 56 | location, 57 | tasks: [ 58 | { 59 | name: `${monster}`, 60 | ready: () => canAdventure(location), 61 | completed: () => monsterComplete(monster), 62 | do: () => { 63 | if (adv1(location, -1, "")) { 64 | let monster = get("lastCopyableMonster"); 65 | if (monster?.copyable && !monster?.boss) { 66 | lastFoughtMonster = monster; 67 | } 68 | } 69 | }, 70 | outfit: () => { 71 | const drunkSpec = sober() ? {} : { offhand: $item`Drunkula's wineglass` }; 72 | const sausageSpec = 73 | getKramcoWandererChance() >= 1 ? ifHave("offhand", $item`Kramco Sausage-o-Matic™`) : {}; 74 | return chooseQuestOutfit( 75 | { location, isFree: getKramcoWandererChance() >= 1 }, 76 | { acc3: $item`combat lover's locket` }, 77 | sausageSpec, 78 | drunkSpec 79 | ); 80 | }, 81 | combat: new LocketStrategy(Macro.standardCombat()), 82 | sobriety: "either", 83 | }, 84 | ], 85 | }; 86 | } 87 | -------------------------------------------------------------------------------- /src/location.ts: -------------------------------------------------------------------------------- 1 | import { adv1, appearanceRates, canAdventure, Location, Monster, toMonster } from "kolmafia"; 2 | import { $item, CombatLoversLocket, get, getKramcoWandererChance } from "libram"; 3 | 4 | import { LocketQuest, LocketStrategy } from "./engine"; 5 | import { sober } from "./lib"; 6 | import Macro from "./macro"; 7 | import { chooseQuestOutfit, ifHave } from "./outfit"; 8 | 9 | let lastFoughtMonster: Monster | null = null; 10 | 11 | function locationCompleted(location: Location): boolean { 12 | const rates = appearanceRates(location, true); 13 | 14 | const locketMonsters = CombatLoversLocket.unlockedLocketMonsters(); 15 | if (lastFoughtMonster != null && !locketMonsters.includes(lastFoughtMonster)) { 16 | throw `${lastFoughtMonster} not added to locket successfully, is it invalid?`; 17 | } 18 | 19 | for (let key in rates) { 20 | const monster = toMonster(key); 21 | if (rates[key] <= 0) continue; 22 | if (!monster.copyable || monster.boss) continue; 23 | if (!locketMonsters.includes(monster)) { 24 | return false; 25 | } 26 | } 27 | 28 | return true; 29 | } 30 | 31 | export function locationMissing(location: Location): Monster[] { 32 | const monsters = new Array; 33 | const rates = appearanceRates(location, true); 34 | const locketMonsters = CombatLoversLocket.unlockedLocketMonsters(); 35 | for (let key in rates) { 36 | const monster = toMonster(key); 37 | if (rates[key] <= 0) continue; 38 | if (!monster.copyable || monster.boss) continue; 39 | if (!locketMonsters.includes(monster)) { 40 | monsters.push(monster); 41 | } 42 | } 43 | return monsters; 44 | } 45 | 46 | export function locationQuest(location: Location): LocketQuest { 47 | return { 48 | name: "Location", 49 | location, 50 | tasks: [ 51 | { 52 | name: `${location}`, 53 | ready: () => canAdventure(location), 54 | completed: () => locationCompleted(location), 55 | do: () => { 56 | if (adv1(location, -1, "")) { 57 | let monster = get("lastCopyableMonster"); 58 | if (monster?.copyable && !monster?.boss) { 59 | lastFoughtMonster = monster; 60 | } 61 | } 62 | }, 63 | outfit: () => { 64 | const drunkSpec = sober() ? {} : { offhand: $item`Drunkula's wineglass` }; 65 | const sausageSpec = 66 | getKramcoWandererChance() >= 1 ? ifHave("offhand", $item`Kramco Sausage-o-Matic™`) : {}; 67 | return chooseQuestOutfit( 68 | { location, isFree: getKramcoWandererChance() >= 1 }, 69 | { acc3: $item`combat lover's locket` }, 70 | sausageSpec, 71 | drunkSpec 72 | ); 73 | }, 74 | combat: new LocketStrategy(Macro.standardCombat()), 75 | sobriety: "either", 76 | }, 77 | ], 78 | }; 79 | } 80 | -------------------------------------------------------------------------------- /src/familiar/constantValueFamiliars.ts: -------------------------------------------------------------------------------- 1 | import { garboAverageValue, garboValue } from "../garboValue"; 2 | import { GeneralFamiliar, MenuOptions } from "./lib"; 3 | import { Familiar, familiarWeight, weightAdjustment } from "kolmafia"; 4 | import { 5 | $effect, 6 | $familiar, 7 | $item, 8 | $items, 9 | $location, 10 | findLeprechaunMultiplier, 11 | get, 12 | have, 13 | Robortender, 14 | } from "libram"; 15 | 16 | type ConstantValueFamiliar = { 17 | familiar: Familiar; 18 | value: (options: MenuOptions) => number; 19 | }; 20 | 21 | const standardFamiliars: ConstantValueFamiliar[] = [ 22 | { 23 | familiar: $familiar`Obtuse Angel`, 24 | value: () => 0.02 * garboValue($item`time's arrow`), 25 | }, 26 | { 27 | familiar: $familiar`Stocking Mimic`, 28 | value: () => 29 | garboAverageValue(...$items`Polka Pop, BitterSweetTarts, Piddles`) / 6 + 30 | (1 / 3 + (have($effect`Jingle Jangle Jingle`) ? 0.1 : 0)) * 31 | (familiarWeight($familiar`Stocking Mimic`) + weightAdjustment()), 32 | }, 33 | { 34 | familiar: $familiar`Shorter-Order Cook`, 35 | value: () => 36 | garboAverageValue( 37 | ...$items`short beer, short stack of pancakes, short stick of butter, short glass of water, short white` 38 | ) / 11, 39 | }, 40 | { 41 | familiar: $familiar`Robortender`, 42 | value: () => 43 | garboValue($item`elemental sugarcube`) / 5 + 44 | (Robortender.currentDrinks().includes($item`Feliz Navidad`) 45 | ? get("garbo_felizValue", 0) * 0.25 46 | : 0) + 47 | (Robortender.currentDrinks().includes($item`Newark`) 48 | ? get("garbo_newarkValue", 0) * 0.25 49 | : 0), 50 | }, 51 | { 52 | familiar: $familiar`Twitching Space Critter`, 53 | 54 | // Item is ludicrously overvalued and incredibly low-volume. 55 | // We can remove this cap once the price reaches a lower equilibrium 56 | // we probably won't, but we can. 57 | value: () => Math.min(garboValue($item`twitching space egg`) * 0.0002, 690), 58 | }, 59 | { 60 | familiar: $familiar`Hobo Monkey`, 61 | value: () => 75, 62 | }, 63 | { 64 | familiar: $familiar`Red-Nosed Snapper`, 65 | value: ({ location }) => 66 | location === $location`Globe Theatre Main Stage` 67 | ? garboValue($item`human musk`) / 11 68 | : 0, 69 | }, 70 | { 71 | familiar: $familiar`Mosquito`, 72 | // Acts as default familiar. 73 | // Extra roses when using an attacking familiar and everyone has this one 74 | value: () => 1, 75 | }, 76 | ]; 77 | 78 | export default function getConstantValueFamiliars( 79 | options: MenuOptions = {} 80 | ): GeneralFamiliar[] { 81 | return standardFamiliars 82 | .filter(({ familiar }) => have(familiar)) 83 | .map(({ familiar, value }) => ({ 84 | familiar, 85 | expectedValue: value(options), 86 | leprechaunMultiplier: findLeprechaunMultiplier(familiar), 87 | limit: "none", 88 | })); 89 | } 90 | -------------------------------------------------------------------------------- /src/familiar/lib.ts: -------------------------------------------------------------------------------- 1 | import { sober } from "../lib"; 2 | import { 3 | Familiar, 4 | familiarWeight, 5 | Location, 6 | myAdventures, 7 | totalTurnsPlayed, 8 | weightAdjustment, 9 | } from "kolmafia"; 10 | import { $effect, $familiar, $item, get, have } from "libram"; 11 | 12 | export type GeneralFamiliar = { 13 | familiar: Familiar; 14 | expectedValue: number; 15 | leprechaunMultiplier: number; 16 | limit: "drops" | "experience" | "none" | "special"; 17 | }; 18 | 19 | export function timeToMeatify(): boolean { 20 | if (!have($familiar`Grey Goose`) || get("_meatifyMatterUsed") || !sober()) { 21 | return false; 22 | } else if ($familiar`Grey Goose`.experience >= 400) return true; 23 | else if (myAdventures() > 50) return false; 24 | 25 | // Check Wanderers 26 | const totalTurns = totalTurnsPlayed(); 27 | const baseMeat = have($item`SongBoom™ BoomBox`) ? 275 : 250; 28 | const usingLatte = 29 | have($item`latte lovers member's mug`) && 30 | get("latteModifier").split(",").includes("Meat Drop: 40"); 31 | 32 | const nextProtonicGhost = have($item`protonic accelerator pack`) 33 | ? Math.max(1, get("nextParanormalActivity") - totalTurns) 34 | : Infinity; 35 | const nextVoteMonster = 36 | have($item`"I Voted!" sticker`) && get("_voteFreeFights") < 3 37 | ? Math.max(0, ((totalTurns % 11) - 1) % 11) 38 | : Infinity; 39 | const nextVoidMonster = 40 | have($item`cursed magnifying glass`) && 41 | get("_voidFreeFights") < 5 && 42 | get("valueOfFreeFight", 2000) / 13 > baseMeat * (usingLatte ? 0.75 : 0.6) 43 | ? -get("cursedMagnifyingGlassCount") % 13 44 | : Infinity; 45 | 46 | // If any of the above are 0, then 47 | // (1) We should be fighting a free fight 48 | // (2) We meatify if Grey Goose is sufficiently heavy and we don't have another free wanderer in our remaining turns 49 | 50 | const freeFightNow = 51 | get("questPAGhost") !== "unstarted" || 52 | nextVoteMonster === 0 || 53 | nextVoidMonster === 0; 54 | const delay = Math.min( 55 | nextProtonicGhost, 56 | nextVoteMonster === 0 57 | ? get("_voteFreeFights") < 2 58 | ? 11 59 | : Infinity 60 | : nextVoteMonster, 61 | nextVoidMonster === 0 ? 13 : nextVoidMonster 62 | ); 63 | 64 | if (delay < myAdventures()) return false; 65 | // We can wait for the next free fight 66 | else if (freeFightNow || $familiar`Grey Goose`.experience >= 121) return true; 67 | 68 | return false; 69 | } 70 | 71 | export function pocketProfessorLectures(): number { 72 | return ( 73 | 2 + 74 | Math.ceil( 75 | Math.sqrt( 76 | familiarWeight($familiar`Pocket Professor`) + weightAdjustment() 77 | ) 78 | ) 79 | ); 80 | } 81 | 82 | export function canOpenRedPresent(): boolean { 83 | return ( 84 | have($familiar`Crimbo Shrub`) && 85 | !have($effect`Everything Looks Red`) && 86 | get("shrubGifts") === "meat" && 87 | sober() 88 | ); 89 | } 90 | 91 | export type MenuOptions = { 92 | canChooseMacro?: boolean; 93 | location?: Location; 94 | extraFamiliars?: GeneralFamiliar[]; 95 | includeExperienceFamiliars?: boolean; 96 | allowAttackFamiliars?: boolean; 97 | }; 98 | -------------------------------------------------------------------------------- /src/macro.ts: -------------------------------------------------------------------------------- 1 | import { Item, myFamiliar, Skill } from "kolmafia"; 2 | import { 3 | $familiar, 4 | $item, 5 | $items, 6 | $monster, 7 | $skill, 8 | get, 9 | have, 10 | SongBoom, 11 | StrictMacro, 12 | } from "libram"; 13 | 14 | import { canOpenRedPresent, timeToMeatify } from "./familiar"; 15 | import { shouldRedigitize } from "./lib"; 16 | 17 | export default class Macro extends StrictMacro { 18 | tryHaveSkill(skill: Skill): this { 19 | return this.externalIf(have(skill), Macro.trySkill(skill)); 20 | } 21 | 22 | static tryHaveSkill(skill: Skill): Macro { 23 | return new Macro().tryHaveSkill(skill); 24 | } 25 | 26 | tryHaveItem(item: Item): this { 27 | return this.externalIf(have(item), Macro.tryItem(item)); 28 | } 29 | 30 | static tryHaveItem(item: Item): Macro { 31 | return new Macro().tryHaveItem(item); 32 | } 33 | 34 | redigitize(): this { 35 | return this.externalIf( 36 | shouldRedigitize(), 37 | Macro.if_( 38 | get("_sourceTerminalDigitizeMonster") ?? $monster.none, 39 | Macro.skill($skill`Digitize`) 40 | ) 41 | ); 42 | } 43 | 44 | static redigitize(): Macro { 45 | return new Macro().redigitize(); 46 | } 47 | 48 | doItems(): this { 49 | const steps = new Macro(); 50 | const items = 51 | $items`Rain-Doh blue balls, Time-Spinner, Rain-Doh indigo cup, porquoise-handled sixgun`.filter( 52 | (i) => have(i) 53 | ); 54 | if (items.length) { 55 | if (!have($skill`Ambidextrous Funkslinging`)) { 56 | for (const item of items) steps.tryItem(item); 57 | } else { 58 | for (let i = 0; i <= items.length; i += 2) { 59 | const chunk = items.slice(i, i + 2); 60 | if (chunk.length === 2) steps.tryItem(chunk as [Item, Item]); 61 | else steps.tryItem(...chunk); 62 | } 63 | } 64 | } else { 65 | steps.tryHaveItem($item`seal tooth`); 66 | } 67 | return this.step(steps); 68 | } 69 | 70 | standardCombat(): this { 71 | return this.externalIf( 72 | canOpenRedPresent() && myFamiliar() === $familiar`Crimbo Shrub`, 73 | Macro.trySkill($skill`Open a Big Red Present`) 74 | ) 75 | .externalIf( 76 | timeToMeatify() && myFamiliar() === $familiar`Grey Goose`, 77 | Macro.trySkill($skill`Meatify Matter`) 78 | ) 79 | .externalIf( 80 | get("cosmicBowlingBallReturnCombats") < 1, 81 | Macro.trySkill($skill`Bowl Straight Up`) 82 | ) 83 | .tryHaveSkill($skill`Summon Mayfly Swarm`) 84 | .externalIf( 85 | SongBoom.song() === "Total Eclipse of Your Meat", 86 | Macro.tryHaveSkill($skill`Sing Along`) 87 | ) 88 | .tryHaveSkill($skill`Extract`) 89 | .tryHaveSkill($skill`Micrometeorite`) 90 | .doItems() 91 | .tryHaveSkill($skill`Nantlers`) 92 | .tryHaveSkill($skill`Nanoshock`) 93 | .tryHaveSkill($skill`Audioclasm`) 94 | .attack() 95 | .repeat(); 96 | } 97 | 98 | static standardCombat(): Macro { 99 | return new Macro().standardCombat(); 100 | } 101 | } 102 | -------------------------------------------------------------------------------- /src/setup.ts: -------------------------------------------------------------------------------- 1 | import { Quest } from "grimoire-kolmafia"; 2 | import { itemAmount, myHp, myMaxhp, putCloset, runChoice, useSkill, visitUrl } from "kolmafia"; 3 | import { $effect, $effects, $familiar, $item, $skill, get, have, SongBoom, uneffect } from "libram"; 4 | 5 | import { LocketTask } from "./engine"; 6 | 7 | const poisons = $effects`Hardly Poisoned at All, A Little Bit Poisoned, Somewhat Poisoned, Really Quite Poisoned, Majorly Poisoned`; 8 | 9 | export const setup: Quest = { 10 | name: "Setup", 11 | tasks: [ 12 | { 13 | name: "Beaten Up", 14 | completed: () => !have($effect`Beaten Up`), 15 | do: () => { 16 | if (["Poetic Justice", "Lost and Found"].includes(get("lastEncounter"))) { 17 | uneffect($effect`Beaten Up`); 18 | } 19 | if (have($effect`Beaten Up`)) { 20 | throw "Got beaten up for no discernable reason!"; 21 | } 22 | }, 23 | sobriety: "either", 24 | }, 25 | { 26 | name: "Disco Nap", 27 | ready: () => have($skill`Disco Nap`) && have($skill`Adventurer of Leisure`), 28 | completed: () => poisons.every((e) => !have(e)), 29 | do: () => useSkill($skill`Disco Nap`), 30 | sobriety: "either", 31 | }, 32 | { 33 | name: "Antidote", 34 | completed: () => poisons.every((e) => !have(e)), 35 | do: () => poisons.forEach((e) => uneffect(e)), 36 | sobriety: "either", 37 | }, 38 | { 39 | name: "Recover", 40 | ready: () => have($skill`Cannelloni Cocoon`), 41 | completed: () => myHp() / myMaxhp() >= 0.5, 42 | do: () => { 43 | useSkill($skill`Cannelloni Cocoon`); 44 | }, 45 | sobriety: "either", 46 | }, 47 | { 48 | name: "Recover Failed", 49 | completed: () => myHp() / myMaxhp() >= 0.5, 50 | do: () => { 51 | throw "Unable to heal above 50% HP, heal yourself!"; 52 | }, 53 | sobriety: "either", 54 | }, 55 | { 56 | name: "Kgnee", 57 | ready: () => have($familiar`Reagnimated Gnome`), 58 | completed: () => 59 | !have($familiar`Reagnimated Gnome`) || have($item`gnomish housemaid's kgnee`), 60 | do: (): void => { 61 | visitUrl("arena.php"); 62 | runChoice(4); 63 | }, 64 | outfit: { familiar: $familiar`Reagnimated Gnome` }, 65 | sobriety: "sober", 66 | }, 67 | { 68 | name: "Closet Sand Dollars", 69 | completed: () => itemAmount($item`sand dollar`) === 0, 70 | do: () => putCloset(itemAmount($item`sand dollar`), $item`sand dollar`), 71 | sobriety: "either", 72 | }, 73 | { 74 | name: "Closet Hobo Nickels", 75 | completed: () => 76 | itemAmount($item`hobo nickel`) === 0 || 77 | (!have($familiar`Hobo Monkey`) && !have($item`hobo nickel`, 1000)), 78 | do: () => putCloset(itemAmount($item`hobo nickel`), $item`hobo nickel`), 79 | sobriety: "either", 80 | }, 81 | { 82 | name: "Boombox", 83 | completed: () => 84 | !SongBoom.have() || 85 | SongBoom.song() === "Food Vibrations" || 86 | SongBoom.songChangesLeft() === 0, 87 | do: () => SongBoom.setSong("Food Vibrations"), 88 | sobriety: "either", 89 | }, 90 | ], 91 | }; 92 | -------------------------------------------------------------------------------- /src/engine.ts: -------------------------------------------------------------------------------- 1 | import { CombatStrategy, Engine, Outfit, Quest, Task } from "grimoire-kolmafia"; 2 | import { 3 | bjornifyFamiliar, 4 | enthroneFamiliar, 5 | equippedAmount, 6 | Location, 7 | setAutoAttack, 8 | } from "kolmafia"; 9 | import { $item, $slot, CrownOfThrones, get, JuneCleaver, PropertiesManager } from "libram"; 10 | 11 | import { bestJuneCleaverOption, shouldSkip } from "./juneCleaver"; 12 | import { printd, sober } from "./lib"; 13 | import Macro from "./macro"; 14 | 15 | export type LocketTask = Task & { 16 | sobriety: "sober" | "drunk" | "either"; 17 | forced?: boolean; 18 | }; 19 | 20 | export type LocketQuest = Quest & { 21 | location: Location; 22 | }; 23 | 24 | const introAdventures = ["Caldera Air"]; 25 | export class LocketStrategy extends CombatStrategy { 26 | constructor(macro: Macro) { 27 | super(); 28 | this.macro(macro).autoattack(macro); 29 | } 30 | } 31 | 32 | function countAvailableNcForces() { 33 | return (get("_claraBellUsed") ? 0 : 1) + (5 - get("_spikolodonSpikeUses")); 34 | } 35 | 36 | let ncForced = false; 37 | export function resetNcForced() { 38 | printd("Reset NC forcing"); 39 | ncForced = false; 40 | } 41 | CrownOfThrones.createRiderMode("default", () => 0); 42 | const chooseRider = () => CrownOfThrones.pickRider("default"); 43 | export class LocketEngine extends Engine { 44 | available(task: LocketTask): boolean { 45 | const sobriety = 46 | task.sobriety === "either" || 47 | (sober() && task.sobriety === "sober") || 48 | (!sober() && task.sobriety === "drunk"); 49 | 50 | if (task.forced) { 51 | return sobriety && ncForced && super.available(task); 52 | } 53 | return sobriety && super.available(task); 54 | } 55 | 56 | createOutfit(task: LocketTask): Outfit { 57 | const outfit = super.createOutfit(task); 58 | if (outfit.equips.get($slot`hat`) === $item`Crown of Thrones`) { 59 | const choice = chooseRider(); 60 | if (choice) enthroneFamiliar(choice.familiar); 61 | } else if (outfit.equips.get($slot`back`) === $item`Buddy Bjorn`) { 62 | const choice = chooseRider(); 63 | if (choice) bjornifyFamiliar(choice.familiar); 64 | } 65 | return outfit; 66 | } 67 | 68 | execute(task: LocketTask): void { 69 | const ncBefore = countAvailableNcForces(); 70 | super.execute(task); 71 | const ncAfter = countAvailableNcForces(); 72 | 73 | if (ncBefore > ncAfter) { 74 | ncForced = true; 75 | } 76 | } 77 | 78 | setChoices(task: LocketTask, manager: PropertiesManager): void { 79 | super.setChoices(task, manager); 80 | if (equippedAmount($item`June cleaver`) > 0) { 81 | this.propertyManager.setChoices( 82 | Object.fromEntries( 83 | JuneCleaver.choices.map((choice) => [ 84 | choice, 85 | shouldSkip(choice) ? 4 : bestJuneCleaverOption(choice), 86 | ]) 87 | ) 88 | ); 89 | } 90 | this.propertyManager.setChoices({ 955: 2 }); 91 | } 92 | 93 | shouldRepeatAdv(task: LocketTask): boolean { 94 | if (["Poetic Justice", "Lost and Found"].includes(get("lastEncounter"))) { 95 | printd("Skipping repeating Adventure despite free NC (beaten up)"); 96 | return false; 97 | } 98 | if (introAdventures.includes(get("lastEncounter"))) { 99 | printd(`Hit Intro adventure ${get("lastEncounter")} which is a free NC`); 100 | return true; 101 | } 102 | return super.shouldRepeatAdv(task); 103 | } 104 | 105 | print() { 106 | printd(`Task List:`); 107 | for (const task of this.tasks) { 108 | printd(`${task.name}: available:${this.available(task)}`); 109 | } 110 | } 111 | 112 | destruct(): void { 113 | super.destruct(); 114 | setAutoAttack(0); 115 | } 116 | } 117 | -------------------------------------------------------------------------------- /src/familiar/freeFightFamiliar.ts: -------------------------------------------------------------------------------- 1 | import { canOpenRedPresent } from "."; 2 | import { garboValue } from "../garboValue"; 3 | import { sober } from "../lib"; 4 | import getConstantValueFamiliars from "./constantValueFamiliars"; 5 | import getDropFamiliars from "./dropFamiliars"; 6 | import getExperienceFamiliars from "./experienceFamiliars"; 7 | import { GeneralFamiliar, MenuOptions, timeToMeatify } from "./lib"; 8 | import { Familiar, familiarWeight } from "kolmafia"; 9 | import { $familiar, $item, $location, clamp, get, have } from "libram"; 10 | 11 | const DEFAULT_MENU_OPTIONS = { 12 | canChooseMacro: true, 13 | location: $location`none`, 14 | extraFamiliars: [], 15 | includeExperienceFamiliars: true, 16 | allowAttackFamiliars: true, 17 | }; 18 | export function menu(options: MenuOptions = {}): GeneralFamiliar[] { 19 | const { 20 | includeExperienceFamiliars, 21 | canChooseMacro, 22 | location, 23 | extraFamiliars, 24 | allowAttackFamiliars, 25 | } = { 26 | ...DEFAULT_MENU_OPTIONS, 27 | ...options, 28 | }; 29 | const familiarMenu: GeneralFamiliar[] = [ 30 | ...getConstantValueFamiliars(), 31 | ...getDropFamiliars(), 32 | ...(includeExperienceFamiliars ? getExperienceFamiliars() : []), 33 | ...extraFamiliars, 34 | { 35 | familiar: $familiar.none, 36 | expectedValue: 0, 37 | leprechaunMultiplier: 0, 38 | limit: "none", 39 | }, 40 | ]; 41 | 42 | if (canChooseMacro && sober()) { 43 | if (timeToMeatify()) { 44 | familiarMenu.push({ 45 | familiar: $familiar`Grey Goose`, 46 | expectedValue: 47 | (Math.max(familiarWeight($familiar`Grey Goose`) - 5), 0) ** 4, 48 | leprechaunMultiplier: 0, 49 | limit: "experience", 50 | }); 51 | } 52 | 53 | if (canOpenRedPresent()) { 54 | familiarMenu.push({ 55 | familiar: $familiar`Crimbo Shrub`, 56 | expectedValue: 2500, 57 | leprechaunMultiplier: 0, 58 | limit: "special", 59 | }); 60 | } 61 | 62 | if ( 63 | location.zone === "Dinseylandfill" && 64 | have($familiar`Space Jellyfish`) 65 | ) { 66 | familiarMenu.push({ 67 | familiar: $familiar`Space Jellyfish`, 68 | expectedValue: 69 | garboValue($item`stench jelly`) / 70 | (get("_spaceJellyfishDrops") < 5 71 | ? get("_spaceJellyfishDrops") + 1 72 | : 20), 73 | leprechaunMultiplier: 0, 74 | limit: "special", 75 | }); 76 | } 77 | } 78 | 79 | if (!allowAttackFamiliars) { 80 | return familiarMenu.filter( 81 | (fam) => !(fam.familiar.physicalDamage || fam.familiar.elementalDamage) 82 | ); 83 | } 84 | 85 | return familiarMenu; 86 | } 87 | 88 | export function getAllJellyfishDrops(): { 89 | expectedValue: number; 90 | turnsAtValue: number; 91 | }[] { 92 | if (!have($familiar`Space Jellyfish`)) 93 | return [{ expectedValue: 0, turnsAtValue: 0 }]; 94 | 95 | const current = get("_spaceJellyfishDrops"); 96 | const returnValue = []; 97 | 98 | for ( 99 | let dropNumber = clamp(current + 1, 0, 6); 100 | dropNumber <= 6; 101 | dropNumber++ 102 | ) { 103 | returnValue.push({ 104 | expectedValue: 105 | garboValue($item`stench jelly`) / (dropNumber > 5 ? 20 : dropNumber), 106 | turnsAtValue: dropNumber > 5 ? Infinity : dropNumber, 107 | }); 108 | } 109 | 110 | return returnValue; 111 | } 112 | 113 | export function freeFightFamiliarData( 114 | options: MenuOptions = {} 115 | ): GeneralFamiliar { 116 | const compareFamiliars = (a: GeneralFamiliar, b: GeneralFamiliar) => { 117 | if (a.expectedValue === b.expectedValue) { 118 | return a.leprechaunMultiplier > b.leprechaunMultiplier ? a : b; 119 | } 120 | return a.expectedValue > b.expectedValue ? a : b; 121 | }; 122 | 123 | return menu(options).reduce(compareFamiliars); 124 | } 125 | 126 | export function freeFightFamiliar(options: MenuOptions = {}): Familiar { 127 | return freeFightFamiliarData(options).familiar; 128 | } 129 | -------------------------------------------------------------------------------- /src/lib.ts: -------------------------------------------------------------------------------- 1 | import { Args } from "grimoire-kolmafia"; 2 | import { descToItem, inebrietyLimit, isDarkMode, Item, myAdventures, myFamiliar, myInebriety, print, runChoice, visitUrl } from "kolmafia"; 3 | import { $familiar, get, SourceTerminal } from "libram"; 4 | 5 | /** 6 | * Find the best element of an array, where "best" is defined by some given criteria. 7 | * @param array The array to traverse and find the best element of. 8 | * @param optimizer Either a key on the objects we're looking at that corresponds to numerical values, or a function for mapping these objects to numbers. Essentially, some way of assigning value to the elements of the array. 9 | * @param reverse Make this true to find the worst element of the array, and false to find the best. Defaults to false. 10 | */ 11 | export function maxBy( 12 | array: T[] | readonly T[], 13 | optimizer: (element: T) => number, 14 | reverse?: boolean 15 | ): T; 16 | export function maxBy( 17 | array: T[] | readonly T[], 18 | key: S, 19 | reverse?: boolean 20 | ): T; 21 | export function maxBy( 22 | array: T[] | readonly T[], 23 | optimizer: ((element: T) => number) | S, 24 | reverse = false 25 | ): T { 26 | if (typeof optimizer === "function") { 27 | return maxBy( 28 | array.map((key) => ({ key, value: optimizer(key) })), 29 | "value", 30 | reverse 31 | ).key; 32 | } else { 33 | return array.reduce((a, b) => (a[optimizer] > b[optimizer] !== reverse ? a : b)); 34 | } 35 | } 36 | 37 | export function shouldRedigitize(): boolean { 38 | const digitizesLeft = SourceTerminal.getDigitizeUsesRemaining(); 39 | const monsterCount = SourceTerminal.getDigitizeMonsterCount() + 1; 40 | // triangular number * 10 - 3 41 | const digitizeAdventuresUsed = monsterCount * (monsterCount + 1) * 5 - 3; 42 | // Redigitize if fewer adventures than this digitize usage. 43 | return ( 44 | SourceTerminal.have() && 45 | SourceTerminal.canDigitize() && 46 | myAdventures() / 0.96 < digitizesLeft * digitizeAdventuresUsed 47 | ); 48 | } 49 | 50 | const HIGHLIGHT = isDarkMode() ? "yellow" : "blue"; 51 | export function printh(message: string) { 52 | print(message, HIGHLIGHT); 53 | } 54 | 55 | export function printd(message: string) { 56 | if (args.debug) { 57 | print(message, HIGHLIGHT); 58 | } 59 | } 60 | 61 | export function sober() { 62 | return myInebriety() <= inebrietyLimit() + (myFamiliar() === $familiar`Stooper` ? -1 : 0); 63 | } 64 | 65 | export const args = Args.create("chrono", "A script for farming chroner", { 66 | turns: Args.number({ 67 | help: "The number of turns to run (use negative numbers for the number of turns remaining)", 68 | default: Infinity, 69 | }), 70 | monster: Args.string({ 71 | help: "The monster to add to your locket", 72 | default: "", 73 | }), 74 | location: Args.string({ 75 | help: "The location to add all available monsters from to your locket", 76 | default: "", 77 | }), 78 | debug: Args.flag({ 79 | help: "Turn on debug printing", 80 | default: false, 81 | }), 82 | }); 83 | 84 | function getCMCChoices(): { [choice: string]: number } { 85 | const options = visitUrl("campground.php?action=workshed"); 86 | let i = 0; 87 | let match; 88 | const entries: [string, number][] = []; 89 | 90 | const regexp = /descitem\((\d+)\)/g; 91 | while ((match = regexp.exec(options)) !== null) { 92 | entries.push([`${descToItem(match[1])}`, ++i]); 93 | } 94 | return Object.fromEntries(entries); 95 | } 96 | 97 | export function tryGetCMCItem(item: Item): void { 98 | const choice = getCMCChoices()[`${item}`]; 99 | if (choice) { 100 | runChoice(choice); 101 | } 102 | } 103 | 104 | export type CMCEnvironment = "u" | "i"; 105 | export function countEnvironment(environment: CMCEnvironment): number { 106 | return get("lastCombatEnvironments") 107 | .split("") 108 | .filter((e) => e === environment).length; 109 | } 110 | 111 | export type RealmType = "spooky" | "stench" | "hot" | "cold" | "sleaze" | "fantasy" | "pirate"; 112 | export function realmAvailable(identifier: RealmType): boolean { 113 | if (identifier === "fantasy") { 114 | return get(`_frToday`) || get(`frAlways`); 115 | } else if (identifier === "pirate") { 116 | return get(`_prToday`) || get(`prAlways`); 117 | } 118 | return get(`_${identifier}AirportToday`, false) || get(`${identifier}AirportAlways`, false); 119 | } 120 | -------------------------------------------------------------------------------- /src/familiar/dropFamiliars.ts: -------------------------------------------------------------------------------- 1 | import { garboValue } from "../garboValue"; 2 | import { GeneralFamiliar } from "./lib"; 3 | import { Familiar, Item } from "kolmafia"; 4 | import { 5 | $familiar, 6 | $item, 7 | findLeprechaunMultiplier, 8 | get, 9 | have, 10 | propertyTypes, 11 | } from "libram"; 12 | 13 | type StandardDropFamiliar = { 14 | familiar: Familiar; 15 | expected: number[]; 16 | drop: Item; 17 | pref: propertyTypes.NumericProperty; 18 | additionalValue?: () => number; 19 | }; 20 | 21 | function valueStandardDropFamiliar({ 22 | familiar, 23 | expected, 24 | drop, 25 | pref, 26 | additionalValue, 27 | }: StandardDropFamiliar): GeneralFamiliar { 28 | const expectedTurns = expected[get(pref)] || Infinity; 29 | const expectedValue = 30 | garboValue(drop) / expectedTurns + (additionalValue?.() ?? 0); 31 | return { 32 | familiar, 33 | expectedValue, 34 | leprechaunMultiplier: findLeprechaunMultiplier(familiar), 35 | limit: "drops", 36 | }; 37 | } 38 | 39 | const rotatingFamiliars: StandardDropFamiliar[] = [ 40 | { 41 | familiar: $familiar`Fist Turkey`, 42 | expected: [3.91, 4.52, 4.52, 5.29, 5.29], 43 | drop: $item`Ambitious Turkey`, 44 | pref: "_turkeyBooze", 45 | }, 46 | { 47 | familiar: $familiar`Llama Lama`, 48 | expected: [3.42, 3.91, 4.52, 5.29, 5.29], 49 | drop: $item`llama lama gong`, 50 | pref: "_gongDrops", 51 | }, 52 | { 53 | familiar: $familiar`Astral Badger`, 54 | expected: [3.03, 3.42, 3.91, 4.52, 5.29], 55 | drop: $item`astral mushroom`, 56 | pref: "_astralDrops", 57 | }, 58 | { 59 | familiar: $familiar`Li'l Xenomorph`, 60 | expected: [3.03, 3.42, 3.91, 4.52, 5.29], 61 | drop: $item`transporter transponder`, 62 | pref: "_transponderDrops", 63 | }, 64 | { 65 | familiar: $familiar`Rogue Program`, 66 | expected: [3.03, 3.42, 3.91, 4.52, 5.29], 67 | drop: $item`Game Grid token`, 68 | pref: "_tokenDrops", 69 | }, 70 | { 71 | familiar: $familiar`Bloovian Groose`, 72 | expected: [3.03, 3.42, 3.91, 4.52, 5.29], 73 | drop: $item`groose grease`, 74 | pref: "_grooseDrops", 75 | }, 76 | { 77 | familiar: $familiar`Baby Sandworm`, 78 | expected: [3.03, 3.42, 3.91, 4.52, 5.29], 79 | drop: $item`agua de vida`, 80 | pref: "_aguaDrops", 81 | }, 82 | { 83 | familiar: $familiar`Green Pixie`, 84 | expected: [3.03, 3.42, 3.91, 4.52, 5.29], 85 | drop: $item`tiny bottle of absinthe`, 86 | pref: "_absintheDrops", 87 | }, 88 | { 89 | familiar: $familiar`Blavious Kloop`, 90 | expected: [3.03, 3.42, 3.91, 4.52, 5.29], 91 | drop: $item`devilish folio`, 92 | pref: "_kloopDrops", 93 | }, 94 | { 95 | familiar: $familiar`Galloping Grill`, 96 | expected: [3.03, 3.42, 3.91, 4.52, 5.29], 97 | drop: $item`hot ashes`, 98 | pref: "_hotAshesDrops", 99 | }, 100 | { 101 | familiar: $familiar`Grim Brother`, 102 | expected: [3.03, 3.42, 3.91, 4.52, 5.29], 103 | drop: $item`grim fairy tale`, 104 | pref: "_grimFairyTaleDrops", 105 | }, 106 | { 107 | familiar: $familiar`Golden Monkey`, 108 | expected: [3.03, 3.42, 3.91, 4.52, 5.29], 109 | drop: $item`powdered gold`, 110 | pref: "_powderedGoldDrops", 111 | }, 112 | { 113 | familiar: $familiar`Unconscious Collective`, 114 | expected: [3.03, 3.42, 3.91, 4.52, 5.29], 115 | drop: $item`Unconscious Collective Dream Jar`, 116 | pref: "_dreamJarDrops", 117 | }, 118 | { 119 | familiar: $familiar`Ms. Puck Man`, 120 | expected: Array($familiar`Ms. Puck Man`.dropsLimit).fill(12.85), 121 | drop: $item`power pill`, 122 | pref: "_powerPillDrops", 123 | additionalValue: () => garboValue($item`yellow pixel`), 124 | }, 125 | { 126 | familiar: $familiar`Puck Man`, 127 | expected: Array($familiar`Puck Man`.dropsLimit).fill(12.85), 128 | drop: $item`power pill`, 129 | pref: "_powerPillDrops", 130 | additionalValue: () => garboValue($item`yellow pixel`), 131 | }, 132 | { 133 | familiar: $familiar`Adventurous Spelunker`, 134 | expected: [7.0], 135 | drop: $item`Tales of Spelunking`, 136 | pref: "_spelunkingTalesDrops", 137 | }, 138 | { 139 | familiar: $familiar`Angry Jung Man`, 140 | expected: [30.0], 141 | drop: $item`psychoanalytic jar`, 142 | pref: "_jungDrops", 143 | }, 144 | { 145 | familiar: $familiar`Grimstone Golem`, 146 | expected: [45.0], 147 | drop: $item`grimstone mask`, 148 | pref: "_grimstoneMaskDrops", 149 | }, 150 | ]; 151 | 152 | export default function getDropFamiliars(): GeneralFamiliar[] { 153 | return rotatingFamiliars 154 | .map(valueStandardDropFamiliar) 155 | .filter( 156 | ({ familiar, expectedValue, leprechaunMultiplier }) => 157 | have(familiar) && (expectedValue || leprechaunMultiplier) 158 | ); 159 | } 160 | 161 | export function getAllDrops( 162 | fam: Familiar 163 | ): { expectedValue: number; expectedTurns: number }[] { 164 | const target = rotatingFamiliars.find(({ familiar }) => familiar === fam); 165 | if (!have(fam) || !target) return []; 166 | 167 | const current = get(target.pref); 168 | const returnValue = []; 169 | 170 | for (let i = current; i < target.expected.length; i++) { 171 | const turns = target.expected[i]; 172 | returnValue.push({ 173 | expectedValue: 174 | garboValue(target.drop) / turns + (target.additionalValue?.() ?? 0), 175 | expectedTurns: turns, 176 | }); 177 | } 178 | 179 | return returnValue; 180 | } 181 | -------------------------------------------------------------------------------- /src/outfit.ts: -------------------------------------------------------------------------------- 1 | import { freeFightFamiliar, MenuOptions } from "./familiar"; 2 | import { garboAverageValue, garboValue } from "./garboValue"; 3 | import { maxBy, realmAvailable, sober } from "./lib"; 4 | import { OutfitSlot, OutfitSpec } from "grimoire-kolmafia"; 5 | import { 6 | canEquip, 7 | canInteract, 8 | Familiar, 9 | Item, 10 | itemAmount, 11 | Location, 12 | totalTurnsPlayed, 13 | } from "kolmafia"; 14 | import { 15 | $familiar, 16 | $familiars, 17 | $item, 18 | $items, 19 | get, 20 | getKramcoWandererChance, 21 | have, 22 | sumNumbers, 23 | } from "libram"; 24 | 25 | export function ifHave( 26 | slot: OutfitSlot, 27 | item: Item, 28 | condition?: () => boolean 29 | ): OutfitSpec { 30 | return have(item) && canEquip(item) && (condition?.() ?? true) 31 | ? Object.fromEntries([[slot, item]]) 32 | : {}; 33 | } 34 | 35 | function mergeSpecs(...outfits: OutfitSpec[]): OutfitSpec { 36 | return outfits.reduce((current, next) => ({ ...next, ...current }), {}); 37 | } 38 | 39 | const chooseFamiliar = (options: MenuOptions = {}): Familiar => 40 | canInteract() && sober() 41 | ? $familiars`Reagnimated Gnome, Temporal Riftlet`.find((f) => have(f)) ?? 42 | freeFightFamiliar(options) 43 | : freeFightFamiliar(options); 44 | 45 | type TaskOptions = { location: Location; isFree?: boolean }; 46 | export function chooseQuestOutfit( 47 | { location, isFree }: TaskOptions, 48 | ...outfits: OutfitSpec[] 49 | ): OutfitSpec { 50 | const familiar = chooseFamiliar({ location }); 51 | const famEquip = equipmentFamiliars.get(familiar); 52 | 53 | const freeChance = [ 54 | { i: $item`Kramco Sausage-o-Matic™`, p: getKramcoWandererChance() }, 55 | { i: $item`carnivorous potted plant`, p: 0.04 }, 56 | { 57 | i: $item`cursed magnifying glass`, 58 | p: get("_voidFreeFights") < 5 ? 1 / 13 : 0, 59 | }, 60 | ].filter(({ i }) => have(i) && canEquip(i)); 61 | const offhands = freeChance.length 62 | ? { offhand: maxBy(freeChance, "p").i } 63 | : {}; 64 | 65 | const weapons = mergeSpecs( 66 | ifHave("weapon", $item`June cleaver`), 67 | ifHave("weapon", $item`Fourth of May Cosplay Saber`) 68 | ); 69 | 70 | const backs = mergeSpecs( 71 | ifHave( 72 | "back", 73 | $item`protonic accelerator pack`, 74 | () => 75 | get("questPAGhost") === "unstarted" && 76 | get("nextParanormalActivity") <= totalTurnsPlayed() && 77 | sober() 78 | ) 79 | ); 80 | 81 | const spec = mergeSpecs( 82 | ifHave("hat", $item`Crown of Thrones`), 83 | offhands, 84 | weapons, 85 | backs, 86 | { familiar }, 87 | ifHave( 88 | "famequip", 89 | famEquip ?? $item`amulet coin`, 90 | () => famEquip !== undefined 91 | ), 92 | ifHave( 93 | "pants", 94 | $item`designer sweatpants`, 95 | () => 25 * get("_sweatOutSomeBoozeUsed") + get("sweat") < 75 96 | ) 97 | ); 98 | 99 | const bestAccessories = getBestAccessories(isFree); 100 | for (let i = 0; i < 3; i++) { 101 | const accessory = bestAccessories[i]; 102 | if (!accessory) break; 103 | spec[`acc${i + 1}` as OutfitSlot] = accessory; 104 | } 105 | const mergedSpec = mergeSpecs(...outfits, spec); 106 | if ( 107 | !have($item`Crown of Thrones`) && 108 | have($item`Buddy Bjorn`) && 109 | !("back" in mergedSpec) 110 | ) { 111 | mergedSpec.back = $item`Buddy Bjorn`; 112 | } 113 | mergedSpec.modifier = 114 | $familiars`Reagnimated Gnome, Temporal Riftlet`.includes(familiar) 115 | ? "Familiar Weight" 116 | : "Item Drop"; 117 | return mergedSpec; 118 | } 119 | 120 | const equipmentFamiliars = new Map([ 121 | [$familiar`Reagnimated Gnome`, $item`gnomish housemaid's kgnee`], 122 | [$familiar`Shorter-Order Cook`, $item`blue plate`], 123 | [$familiar`Stocking Mimic`, $item`bag of many confections`], 124 | ]); 125 | 126 | function luckyGoldRing() { 127 | // Volcoino has a low drop rate which isn't accounted for here 128 | // Overestimating until it drops is probably fine, don't @ me 129 | const dropValues = [ 130 | 100, // 80 - 120 meat 131 | ...[ 132 | itemAmount($item`hobo nickel`) > 0 ? 100 : 0, // This should be closeted 133 | itemAmount($item`sand dollar`) > 0 ? garboValue($item`sand dollar`) : 0, // This should be closeted 134 | itemAmount($item`Freddy Kruegerand`) > 0 135 | ? garboValue($item`Freddy Kruegerand`) 136 | : 0, 137 | realmAvailable("sleaze") ? garboValue($item`Beach Buck`) : 0, 138 | realmAvailable("spooky") ? garboValue($item`Coinspiracy`) : 0, 139 | realmAvailable("stench") ? garboValue($item`FunFunds™`) : 0, 140 | realmAvailable("hot") && !get("_luckyGoldRingVolcoino") 141 | ? garboValue($item`Volcoino`) 142 | : 0, 143 | realmAvailable("cold") ? garboValue($item`Wal-Mart gift certificate`) : 0, 144 | realmAvailable("fantasy") ? garboValue($item`Rubee™`) : 0, 145 | ].filter((value) => value > 0), 146 | ]; 147 | 148 | // Items drop every ~10 turns 149 | return sumNumbers(dropValues) / dropValues.length / 10; 150 | } 151 | 152 | const accessories = new Map number>([ 153 | [ 154 | $item`mafia thumb ring`, 155 | (isFree?: boolean) => 156 | !isFree ? (1 / 0.96 - 1) * get("valueOfAdventure") : 0, 157 | ], 158 | [$item`lucky gold ring`, luckyGoldRing], 159 | [$item`Mr. Screege's spectacles`, () => 180], 160 | [$item`Mr. Cheeng's spectacles`, () => 220], 161 | ]); 162 | 163 | function getBestAccessories(isFree?: boolean) { 164 | return Array.from(accessories.entries()) 165 | .filter(([item]) => have(item) && canEquip(item)) 166 | .map( 167 | ([item, valueFunction]) => [item, valueFunction(isFree)] as [Item, number] 168 | ) 169 | .sort(([, a], [, b]) => b - a) 170 | .map(([item]) => item) 171 | .splice(0, 3); 172 | } 173 | -------------------------------------------------------------------------------- /src/garboValue.ts: -------------------------------------------------------------------------------- 1 | import { 2 | autosellPrice, 3 | Coinmaster, 4 | historicalAge, 5 | historicalPrice, 6 | Item, 7 | sellPrice, 8 | toInt, 9 | } from "kolmafia"; 10 | import { $item, $items, getSaleValue, sumNumbers } from "libram"; 11 | 12 | function currency(...items: Item[]): () => number { 13 | const unitCost: [Item, number][] = items.map((i) => { 14 | const coinmaster = Coinmaster.all().find((c) => sellPrice(c, i) > 0); 15 | if (!coinmaster) { 16 | throw `Invalid coinmaster item ${i}`; 17 | } else { 18 | return [i, sellPrice(coinmaster, i)]; 19 | } 20 | }); 21 | return () => Math.max(...unitCost.map(([item, cost]) => garboValue(item) / cost)); 22 | } 23 | 24 | function complexCandy(): [Item, () => number][] { 25 | const candies = Item.all().filter((i) => i.candyType === "complex"); 26 | const candyLookup: Item[][] = [[], [], [], [], []]; 27 | 28 | for (const candy of candies) { 29 | const id = toInt(candy) % 5; 30 | if (candy.tradeable) { 31 | candyLookup[id].push(candy); 32 | } 33 | } 34 | const candyIdPrices: [Item, () => number][] = candies 35 | .filter((i) => !i.tradeable) 36 | .map((i) => [i, () => Math.min(...candyLookup[toInt(i) % 5].map((i) => garboValue(i)))]); 37 | return candyIdPrices; 38 | } 39 | 40 | const specialValueLookup = new Map number>([ 41 | [ 42 | $item`Freddy Kruegerand`, 43 | currency(...$items`bottle of Bloodweiser, electric Kool-Aid, Dreadsylvanian skeleton key`), 44 | ], 45 | [$item`Beach Buck`, currency($item`one-day ticket to Spring Break Beach`)], 46 | [$item`Coinspiracy`, currency(...$items`Merc Core deployment orders, karma shawarma`)], 47 | [$item`FunFunds™`, currency($item`one-day ticket to Dinseylandfill`)], 48 | [$item`Volcoino`, currency($item`one-day ticket to That 70s Volcano`)], 49 | [$item`Wal-Mart gift certificate`, currency($item`one-day ticket to The Glaciest`)], 50 | [$item`Rubee™`, currency($item`FantasyRealm guest pass`)], 51 | [$item`Guzzlrbuck`, currency($item`Never Don't Stop Not Striving`)], 52 | ...complexCandy(), 53 | [ 54 | $item`Merc Core deployment orders`, 55 | () => garboValue($item`one-day ticket to Conspiracy Island`), 56 | ], 57 | [ 58 | $item`free-range mushroom`, 59 | () => 60 | 3 * 61 | Math.max( 62 | garboValue($item`mushroom tea`) - garboValue($item`soda water`), 63 | garboValue($item`mushroom whiskey`) - garboValue($item`fermenting powder`), 64 | garboValue($item`mushroom filet`) 65 | ), 66 | ], 67 | [ 68 | $item`little firkin`, 69 | () => 70 | garboAverageValue( 71 | ...$items`martini, screwdriver, strawberry daiquiri, margarita, vodka martini, tequila sunrise, bottle of Amontillado, barrel-aged martini, barrel gun` 72 | ), 73 | ], 74 | [ 75 | $item`normal barrel`, 76 | () => 77 | garboAverageValue( 78 | ...$items`a little sump'm sump'm, pink pony, rockin' wagon, roll in the hay, slip 'n' slide, slap and tickle` 79 | ), 80 | ], 81 | [ 82 | $item`big tun`, 83 | () => 84 | garboAverageValue( 85 | ...$items`gibson, gin and tonic, mimosette, tequila sunset, vodka and tonic, zmobie` 86 | ), 87 | ], 88 | [ 89 | $item`weathered barrel`, 90 | () => garboAverageValue(...$items`bean burrito, enchanted bean burrito, jumping bean burrito`), 91 | ], 92 | [ 93 | $item`dusty barrel`, 94 | () => 95 | garboAverageValue( 96 | ...$items`spicy bean burrito, spicy enchanted bean burrito, spicy jumping bean burrito` 97 | ), 98 | ], 99 | [ 100 | $item`disintegrating barrel`, 101 | () => 102 | garboAverageValue( 103 | ...$items`insanely spicy bean burrito, insanely spicy enchanted bean burrito, insanely spicy jumping bean burrito` 104 | ), 105 | ], 106 | [ 107 | $item`moist barrel`, 108 | () => 109 | garboAverageValue( 110 | ...$items`cast, concentrated magicalness pill, enchanted barbell, giant moxie weed, Mountain Stream soda` 111 | ), 112 | ], 113 | [ 114 | $item`rotting barrel`, 115 | () => 116 | garboAverageValue( 117 | ...$items`Doc Galaktik's Ailment Ointment, extra-strength strongness elixir, jug-o-magicalness, Marquis de Poivre soda, suntan lotion of moxiousness` 118 | ), 119 | ], 120 | [ 121 | $item`mouldering barrel`, 122 | () => 123 | garboAverageValue( 124 | ...$items`creepy ginger ale, haunted battery, scroll of drastic healing, synthetic marrow, the funk` 125 | ), 126 | ], 127 | [ 128 | $item`barnacled barrel`, 129 | () => 130 | garboAverageValue( 131 | ...$items`Alewife™ Ale, bazookafish bubble gum, beefy fish meat, eel battery, glistening fish meat, ink bladder, pufferfish spine, shark cartilage, slick fish meat, slug of rum, slug of shochu, slug of vodka, temporary teardrop tattoo` 132 | ), 133 | ], 134 | [$item`fake hand`, () => 50000], 135 | ]); 136 | 137 | function garboSaleValue(item: Item, useHistorical: boolean): number { 138 | if (useHistorical) { 139 | if (historicalAge(item) <= 7.0 && historicalPrice(item) > 0) { 140 | const isMallMin = historicalPrice(item) === Math.max(100, 2 * autosellPrice(item)); 141 | return isMallMin ? autosellPrice(item) : 0.9 * historicalPrice(item); 142 | } 143 | } 144 | return getSaleValue(item); 145 | } 146 | 147 | const garboRegularValueCache = new Map(); 148 | const garboHistoricalValueCache = new Map(); 149 | export function garboValue(item: Item, useHistorical = false): number { 150 | const cachedValue = 151 | garboRegularValueCache.get(item) ?? 152 | (useHistorical ? garboHistoricalValueCache.get(item) : undefined); 153 | if (cachedValue === undefined) { 154 | const specialValueCompute = specialValueLookup.get(item); 155 | const value = specialValueCompute ? specialValueCompute() : garboSaleValue(item, useHistorical); 156 | (useHistorical ? garboHistoricalValueCache : garboRegularValueCache).set(item, value); 157 | return value; 158 | } 159 | return cachedValue; 160 | } 161 | export function garboAverageValue(...items: Item[]): number { 162 | return sumNumbers(items.map((i) => garboValue(i))) / items.length; 163 | } 164 | -------------------------------------------------------------------------------- /src/main.ts: -------------------------------------------------------------------------------- 1 | import { Args, getTasks, Quest } from "grimoire-kolmafia"; 2 | import { 3 | adv1, 4 | Location, 5 | myAdventures, 6 | myTurncount, 7 | print, 8 | toLocation, 9 | toMonster, 10 | totalTurnsPlayed, 11 | } from "kolmafia"; 12 | import { 13 | $item, 14 | $location, 15 | $skill, 16 | CombatLoversLocket, 17 | Counter, 18 | get, 19 | getKramcoWandererChance, 20 | have, 21 | Session, 22 | sinceKolmafiaRevision, 23 | withProperty, 24 | } from "libram"; 25 | 26 | import { LocketEngine, LocketQuest, LocketStrategy, LocketTask } from "./engine"; 27 | import { args, printh, sober } from "./lib"; 28 | import { locationMissing, locationQuest } from "./location"; 29 | import Macro from "./macro"; 30 | import { monsterQuest } from "./monster"; 31 | import { chooseQuestOutfit, ifHave } from "./outfit"; 32 | import { setup } from "./setup"; 33 | 34 | export default function main(command?: string): void { 35 | Args.fill(args, command); 36 | 37 | if (args.help) { 38 | Args.showHelp(args); 39 | return; 40 | } 41 | 42 | sinceKolmafiaRevision(26834); 43 | 44 | if (!have($item`combat lover's locket`)) { 45 | throw "You don't have a combat lover's locket."; 46 | } 47 | 48 | if (CombatLoversLocket.reminiscesLeft() === 0) { 49 | throw "You don't have any reminisces left, will be unable to detect monster list."; 50 | } 51 | 52 | const turncount = myTurncount(); 53 | const completed = 54 | args.turns > 0 55 | ? () => myTurncount() - turncount >= args.turns || myAdventures() === 0 56 | : () => myAdventures() === -args.turns; 57 | 58 | if (args.location !== "") { 59 | const location = toLocation(args.location); 60 | const missing = locationMissing(location); 61 | if (missing.length === 0) { 62 | print(`No missing monsters in ${location}`); 63 | return; 64 | } 65 | print(`Missing monsters in ${location}:`); 66 | for (const monster of missing) { 67 | print(`* ${monster}`); 68 | } 69 | } 70 | 71 | if (args.monster !== "") { 72 | if (CombatLoversLocket.unlockedLocketMonsters().includes(toMonster(args.monster))) { 73 | print(`${toMonster(args.monster)} is already in your locket`); 74 | return; 75 | } 76 | } 77 | 78 | let digitizes = -1; 79 | 80 | const quest: LocketQuest = 81 | args.location !== "" 82 | ? { ...locationQuest(toLocation(args.location)), completed } 83 | : { ...monsterQuest(toMonster(args.monster)), completed }; 84 | const global: Quest = { 85 | name: "Global", 86 | completed, 87 | tasks: [ 88 | { 89 | name: "Proton Ghost", 90 | ready: () => 91 | have($item`protonic accelerator pack`) && 92 | get("questPAGhost") !== "unstarted" && 93 | !!get("ghostLocation"), 94 | do: (): void => { 95 | const location = get("ghostLocation"); 96 | if (location) { 97 | adv1(location, 0, ""); 98 | } else { 99 | throw "Could not determine Proton Ghost location!"; 100 | } 101 | }, 102 | outfit: () => 103 | chooseQuestOutfit( 104 | { location: quest.location, isFree: true }, 105 | { back: $item`protonic accelerator pack` } 106 | ), 107 | completed: () => get("questPAGhost") === "unstarted", 108 | combat: new LocketStrategy( 109 | Macro.trySkill($skill`Sing Along`) 110 | .trySkill($skill`Shoot Ghost`) 111 | .trySkill($skill`Shoot Ghost`) 112 | .trySkill($skill`Shoot Ghost`) 113 | .trySkill($skill`Trap Ghost`) 114 | ), 115 | sobriety: "sober", 116 | }, 117 | { 118 | name: "Vote Wanderer", 119 | ready: () => 120 | have($item`"I Voted!" sticker`) && 121 | totalTurnsPlayed() % 11 === 1 && 122 | get("lastVoteMonsterTurn") < totalTurnsPlayed() && 123 | get("_voteFreeFights") < 3, 124 | do: (): void => { 125 | adv1(quest.location, -1, ""); 126 | }, 127 | outfit: () => 128 | chooseQuestOutfit( 129 | { location: quest.location, isFree: true }, 130 | { acc3: $item`"I Voted!" sticker` }, 131 | ), 132 | completed: () => get("lastVoteMonsterTurn") === totalTurnsPlayed(), 133 | combat: new LocketStrategy(Macro.redigitize().standardCombat()), 134 | sobriety: "either", 135 | }, 136 | { 137 | name: "Digitize Wanderer", 138 | ready: () => Counter.get("Digitize") <= 0, 139 | outfit: () => 140 | chooseQuestOutfit({ 141 | location: quest.location, 142 | isFree: get("_sourceTerminalDigitizeMonster")?.attributes.includes("FREE"), 143 | }), 144 | completed: () => get("_sourceTerminalDigitizeMonsterCount") !== digitizes, 145 | do: () => { 146 | adv1(quest.location, -1, ""); 147 | digitizes = get("_sourceTerminalDigitizeMonsterCount"); 148 | }, 149 | combat: new LocketStrategy(Macro.redigitize().standardCombat()), 150 | sobriety: "either", 151 | }, 152 | { 153 | name: "Void Monster", 154 | ready: () => 155 | have($item`cursed magnifying glass`) && get("cursedMagnifyingGlassCount") === 13, 156 | completed: () => get("_voidFreeFights") >= 5, 157 | outfit: () => 158 | chooseQuestOutfit( 159 | { location: quest.location, isFree: true }, 160 | { offhand: $item`cursed magnifying glass` } 161 | ), 162 | do: quest.location, 163 | sobriety: "sober", 164 | combat: new LocketStrategy(Macro.standardCombat()), 165 | }, 166 | ], 167 | }; 168 | 169 | const engine = new LocketEngine(getTasks([setup, global, quest])); 170 | engine.print(); 171 | 172 | const locketStart = CombatLoversLocket.unlockedLocketMonsters(); 173 | 174 | withProperty("recoveryScript", "", () => { 175 | try { 176 | engine.run(); 177 | } finally { 178 | engine.destruct(); 179 | } 180 | }); 181 | 182 | printh(`SESSION RESULTS:`); 183 | for (const monster of CombatLoversLocket.unlockedLocketMonsters()) { 184 | if (!locketStart.includes(monster)) { 185 | printh(`MONSTER ${monster}`); 186 | } 187 | } 188 | } 189 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@ampproject/remapping@^2.1.0": 6 | version "2.2.0" 7 | resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz" 8 | integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== 9 | dependencies: 10 | "@jridgewell/gen-mapping" "^0.1.0" 11 | "@jridgewell/trace-mapping" "^0.3.9" 12 | 13 | "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.18.6": 14 | version "7.18.6" 15 | resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz" 16 | integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== 17 | dependencies: 18 | "@babel/highlight" "^7.18.6" 19 | 20 | "@babel/compat-data@^7.17.7", "@babel/compat-data@^7.18.8", "@babel/compat-data@^7.19.0": 21 | version "7.19.0" 22 | resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.0.tgz" 23 | integrity sha512-y5rqgTTPTmaF5e2nVhOxw+Ur9HDJLsWb6U/KpgUzRZEdPfE6VOubXBKLdbcUTijzRptednSBDQbYZBOSqJxpJw== 24 | 25 | "@babel/core@7.17.8": 26 | version "7.17.8" 27 | resolved "https://registry.npmjs.org/@babel/core/-/core-7.17.8.tgz" 28 | integrity sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ== 29 | dependencies: 30 | "@ampproject/remapping" "^2.1.0" 31 | "@babel/code-frame" "^7.16.7" 32 | "@babel/generator" "^7.17.7" 33 | "@babel/helper-compilation-targets" "^7.17.7" 34 | "@babel/helper-module-transforms" "^7.17.7" 35 | "@babel/helpers" "^7.17.8" 36 | "@babel/parser" "^7.17.8" 37 | "@babel/template" "^7.16.7" 38 | "@babel/traverse" "^7.17.3" 39 | "@babel/types" "^7.17.0" 40 | convert-source-map "^1.7.0" 41 | debug "^4.1.0" 42 | gensync "^1.0.0-beta.2" 43 | json5 "^2.1.2" 44 | semver "^6.3.0" 45 | 46 | "@babel/core@^7.18.10": 47 | version "7.19.0" 48 | resolved "https://registry.npmjs.org/@babel/core/-/core-7.19.0.tgz" 49 | integrity sha512-reM4+U7B9ss148rh2n1Qs9ASS+w94irYXga7c2jaQv9RVzpS7Mv1a9rnYYwuDa45G+DkORt9g6An2k/V4d9LbQ== 50 | dependencies: 51 | "@ampproject/remapping" "^2.1.0" 52 | "@babel/code-frame" "^7.18.6" 53 | "@babel/generator" "^7.19.0" 54 | "@babel/helper-compilation-targets" "^7.19.0" 55 | "@babel/helper-module-transforms" "^7.19.0" 56 | "@babel/helpers" "^7.19.0" 57 | "@babel/parser" "^7.19.0" 58 | "@babel/template" "^7.18.10" 59 | "@babel/traverse" "^7.19.0" 60 | "@babel/types" "^7.19.0" 61 | convert-source-map "^1.7.0" 62 | debug "^4.1.0" 63 | gensync "^1.0.0-beta.2" 64 | json5 "^2.2.1" 65 | semver "^6.3.0" 66 | 67 | "@babel/generator@7.17.7", "@babel/generator@^7.17.3", "@babel/generator@^7.17.7": 68 | version "7.17.7" 69 | resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz" 70 | integrity sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w== 71 | dependencies: 72 | "@babel/types" "^7.17.0" 73 | jsesc "^2.5.1" 74 | source-map "^0.5.0" 75 | 76 | "@babel/generator@^7.19.0": 77 | version "7.19.0" 78 | resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.19.0.tgz" 79 | integrity sha512-S1ahxf1gZ2dpoiFgA+ohK9DIpz50bJ0CWs7Zlzb54Z4sG8qmdIrGrVqmy1sAtTVRb+9CU6U8VqT9L0Zj7hxHVg== 80 | dependencies: 81 | "@babel/types" "^7.19.0" 82 | "@jridgewell/gen-mapping" "^0.3.2" 83 | jsesc "^2.5.1" 84 | 85 | "@babel/helper-annotate-as-pure@^7.18.6": 86 | version "7.18.6" 87 | resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz" 88 | integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== 89 | dependencies: 90 | "@babel/types" "^7.18.6" 91 | 92 | "@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6": 93 | version "7.18.9" 94 | resolved "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz" 95 | integrity sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw== 96 | dependencies: 97 | "@babel/helper-explode-assignable-expression" "^7.18.6" 98 | "@babel/types" "^7.18.9" 99 | 100 | "@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.19.0": 101 | version "7.19.0" 102 | resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.0.tgz" 103 | integrity sha512-Ai5bNWXIvwDvWM7njqsG3feMlL9hCVQsPYXodsZyLwshYkZVJt59Gftau4VrE8S9IT9asd2uSP1hG6wCNw+sXA== 104 | dependencies: 105 | "@babel/compat-data" "^7.19.0" 106 | "@babel/helper-validator-option" "^7.18.6" 107 | browserslist "^4.20.2" 108 | semver "^6.3.0" 109 | 110 | "@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.19.0": 111 | version "7.19.0" 112 | resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz" 113 | integrity sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw== 114 | dependencies: 115 | "@babel/helper-annotate-as-pure" "^7.18.6" 116 | "@babel/helper-environment-visitor" "^7.18.9" 117 | "@babel/helper-function-name" "^7.19.0" 118 | "@babel/helper-member-expression-to-functions" "^7.18.9" 119 | "@babel/helper-optimise-call-expression" "^7.18.6" 120 | "@babel/helper-replace-supers" "^7.18.9" 121 | "@babel/helper-split-export-declaration" "^7.18.6" 122 | 123 | "@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.19.0": 124 | version "7.19.0" 125 | resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz" 126 | integrity sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw== 127 | dependencies: 128 | "@babel/helper-annotate-as-pure" "^7.18.6" 129 | regexpu-core "^5.1.0" 130 | 131 | "@babel/helper-define-polyfill-provider@^0.3.2": 132 | version "0.3.2" 133 | resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz" 134 | integrity sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg== 135 | dependencies: 136 | "@babel/helper-compilation-targets" "^7.17.7" 137 | "@babel/helper-plugin-utils" "^7.16.7" 138 | debug "^4.1.1" 139 | lodash.debounce "^4.0.8" 140 | resolve "^1.14.2" 141 | semver "^6.1.2" 142 | 143 | "@babel/helper-environment-visitor@^7.16.7", "@babel/helper-environment-visitor@^7.18.9": 144 | version "7.18.9" 145 | resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz" 146 | integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== 147 | 148 | "@babel/helper-explode-assignable-expression@^7.18.6": 149 | version "7.18.6" 150 | resolved "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz" 151 | integrity sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg== 152 | dependencies: 153 | "@babel/types" "^7.18.6" 154 | 155 | "@babel/helper-function-name@^7.16.7", "@babel/helper-function-name@^7.18.9", "@babel/helper-function-name@^7.19.0": 156 | version "7.19.0" 157 | resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz" 158 | integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== 159 | dependencies: 160 | "@babel/template" "^7.18.10" 161 | "@babel/types" "^7.19.0" 162 | 163 | "@babel/helper-hoist-variables@^7.16.7", "@babel/helper-hoist-variables@^7.18.6": 164 | version "7.18.6" 165 | resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz" 166 | integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== 167 | dependencies: 168 | "@babel/types" "^7.18.6" 169 | 170 | "@babel/helper-member-expression-to-functions@^7.18.9": 171 | version "7.18.9" 172 | resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz" 173 | integrity sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg== 174 | dependencies: 175 | "@babel/types" "^7.18.9" 176 | 177 | "@babel/helper-module-imports@^7.18.6": 178 | version "7.18.6" 179 | resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz" 180 | integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== 181 | dependencies: 182 | "@babel/types" "^7.18.6" 183 | 184 | "@babel/helper-module-transforms@^7.17.7", "@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.19.0": 185 | version "7.19.0" 186 | resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz" 187 | integrity sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ== 188 | dependencies: 189 | "@babel/helper-environment-visitor" "^7.18.9" 190 | "@babel/helper-module-imports" "^7.18.6" 191 | "@babel/helper-simple-access" "^7.18.6" 192 | "@babel/helper-split-export-declaration" "^7.18.6" 193 | "@babel/helper-validator-identifier" "^7.18.6" 194 | "@babel/template" "^7.18.10" 195 | "@babel/traverse" "^7.19.0" 196 | "@babel/types" "^7.19.0" 197 | 198 | "@babel/helper-optimise-call-expression@^7.18.6": 199 | version "7.18.6" 200 | resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz" 201 | integrity sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA== 202 | dependencies: 203 | "@babel/types" "^7.18.6" 204 | 205 | "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": 206 | version "7.19.0" 207 | resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz" 208 | integrity sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw== 209 | 210 | "@babel/helper-remap-async-to-generator@^7.18.6", "@babel/helper-remap-async-to-generator@^7.18.9": 211 | version "7.18.9" 212 | resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz" 213 | integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA== 214 | dependencies: 215 | "@babel/helper-annotate-as-pure" "^7.18.6" 216 | "@babel/helper-environment-visitor" "^7.18.9" 217 | "@babel/helper-wrap-function" "^7.18.9" 218 | "@babel/types" "^7.18.9" 219 | 220 | "@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.18.9": 221 | version "7.18.9" 222 | resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz" 223 | integrity sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ== 224 | dependencies: 225 | "@babel/helper-environment-visitor" "^7.18.9" 226 | "@babel/helper-member-expression-to-functions" "^7.18.9" 227 | "@babel/helper-optimise-call-expression" "^7.18.6" 228 | "@babel/traverse" "^7.18.9" 229 | "@babel/types" "^7.18.9" 230 | 231 | "@babel/helper-simple-access@^7.18.6": 232 | version "7.18.6" 233 | resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz" 234 | integrity sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g== 235 | dependencies: 236 | "@babel/types" "^7.18.6" 237 | 238 | "@babel/helper-skip-transparent-expression-wrappers@^7.18.9": 239 | version "7.18.9" 240 | resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz" 241 | integrity sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw== 242 | dependencies: 243 | "@babel/types" "^7.18.9" 244 | 245 | "@babel/helper-split-export-declaration@^7.16.7", "@babel/helper-split-export-declaration@^7.18.6": 246 | version "7.18.6" 247 | resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz" 248 | integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== 249 | dependencies: 250 | "@babel/types" "^7.18.6" 251 | 252 | "@babel/helper-string-parser@^7.18.10": 253 | version "7.18.10" 254 | resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz" 255 | integrity sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw== 256 | 257 | "@babel/helper-validator-identifier@^7.16.7", "@babel/helper-validator-identifier@^7.18.6": 258 | version "7.18.6" 259 | resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz" 260 | integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g== 261 | 262 | "@babel/helper-validator-option@^7.18.6": 263 | version "7.18.6" 264 | resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz" 265 | integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== 266 | 267 | "@babel/helper-wrap-function@^7.18.9": 268 | version "7.19.0" 269 | resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz" 270 | integrity sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg== 271 | dependencies: 272 | "@babel/helper-function-name" "^7.19.0" 273 | "@babel/template" "^7.18.10" 274 | "@babel/traverse" "^7.19.0" 275 | "@babel/types" "^7.19.0" 276 | 277 | "@babel/helpers@^7.17.8", "@babel/helpers@^7.19.0": 278 | version "7.19.0" 279 | resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz" 280 | integrity sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg== 281 | dependencies: 282 | "@babel/template" "^7.18.10" 283 | "@babel/traverse" "^7.19.0" 284 | "@babel/types" "^7.19.0" 285 | 286 | "@babel/highlight@^7.18.6": 287 | version "7.18.6" 288 | resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz" 289 | integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== 290 | dependencies: 291 | "@babel/helper-validator-identifier" "^7.18.6" 292 | chalk "^2.0.0" 293 | js-tokens "^4.0.0" 294 | 295 | "@babel/parser@7.17.8", "@babel/parser@^7.17.3", "@babel/parser@^7.17.8": 296 | version "7.17.8" 297 | resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.17.8.tgz" 298 | integrity sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ== 299 | 300 | "@babel/parser@^7.1.0", "@babel/parser@^7.18.10", "@babel/parser@^7.19.0": 301 | version "7.19.0" 302 | resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.19.0.tgz" 303 | integrity sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw== 304 | 305 | "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": 306 | version "7.18.6" 307 | resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz" 308 | integrity sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ== 309 | dependencies: 310 | "@babel/helper-plugin-utils" "^7.18.6" 311 | 312 | "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": 313 | version "7.18.9" 314 | resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz" 315 | integrity sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg== 316 | dependencies: 317 | "@babel/helper-plugin-utils" "^7.18.9" 318 | "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" 319 | "@babel/plugin-proposal-optional-chaining" "^7.18.9" 320 | 321 | "@babel/plugin-proposal-async-generator-functions@^7.19.0": 322 | version "7.19.0" 323 | resolved "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.0.tgz" 324 | integrity sha512-nhEByMUTx3uZueJ/QkJuSlCfN4FGg+xy+vRsfGQGzSauq5ks2Deid2+05Q3KhfaUjvec1IGhw/Zm3cFm8JigTQ== 325 | dependencies: 326 | "@babel/helper-environment-visitor" "^7.18.9" 327 | "@babel/helper-plugin-utils" "^7.19.0" 328 | "@babel/helper-remap-async-to-generator" "^7.18.9" 329 | "@babel/plugin-syntax-async-generators" "^7.8.4" 330 | 331 | "@babel/plugin-proposal-class-properties@^7.18.6": 332 | version "7.18.6" 333 | resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz" 334 | integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== 335 | dependencies: 336 | "@babel/helper-create-class-features-plugin" "^7.18.6" 337 | "@babel/helper-plugin-utils" "^7.18.6" 338 | 339 | "@babel/plugin-proposal-class-static-block@^7.18.6": 340 | version "7.18.6" 341 | resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz" 342 | integrity sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw== 343 | dependencies: 344 | "@babel/helper-create-class-features-plugin" "^7.18.6" 345 | "@babel/helper-plugin-utils" "^7.18.6" 346 | "@babel/plugin-syntax-class-static-block" "^7.14.5" 347 | 348 | "@babel/plugin-proposal-dynamic-import@^7.18.6": 349 | version "7.18.6" 350 | resolved "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz" 351 | integrity sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw== 352 | dependencies: 353 | "@babel/helper-plugin-utils" "^7.18.6" 354 | "@babel/plugin-syntax-dynamic-import" "^7.8.3" 355 | 356 | "@babel/plugin-proposal-export-namespace-from@^7.18.9": 357 | version "7.18.9" 358 | resolved "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz" 359 | integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA== 360 | dependencies: 361 | "@babel/helper-plugin-utils" "^7.18.9" 362 | "@babel/plugin-syntax-export-namespace-from" "^7.8.3" 363 | 364 | "@babel/plugin-proposal-json-strings@^7.18.6": 365 | version "7.18.6" 366 | resolved "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz" 367 | integrity sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ== 368 | dependencies: 369 | "@babel/helper-plugin-utils" "^7.18.6" 370 | "@babel/plugin-syntax-json-strings" "^7.8.3" 371 | 372 | "@babel/plugin-proposal-logical-assignment-operators@^7.18.9": 373 | version "7.18.9" 374 | resolved "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz" 375 | integrity sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q== 376 | dependencies: 377 | "@babel/helper-plugin-utils" "^7.18.9" 378 | "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" 379 | 380 | "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": 381 | version "7.18.6" 382 | resolved "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz" 383 | integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== 384 | dependencies: 385 | "@babel/helper-plugin-utils" "^7.18.6" 386 | "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" 387 | 388 | "@babel/plugin-proposal-numeric-separator@^7.18.6": 389 | version "7.18.6" 390 | resolved "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz" 391 | integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== 392 | dependencies: 393 | "@babel/helper-plugin-utils" "^7.18.6" 394 | "@babel/plugin-syntax-numeric-separator" "^7.10.4" 395 | 396 | "@babel/plugin-proposal-object-rest-spread@^7.18.9": 397 | version "7.18.9" 398 | resolved "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz" 399 | integrity sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q== 400 | dependencies: 401 | "@babel/compat-data" "^7.18.8" 402 | "@babel/helper-compilation-targets" "^7.18.9" 403 | "@babel/helper-plugin-utils" "^7.18.9" 404 | "@babel/plugin-syntax-object-rest-spread" "^7.8.3" 405 | "@babel/plugin-transform-parameters" "^7.18.8" 406 | 407 | "@babel/plugin-proposal-optional-catch-binding@^7.18.6": 408 | version "7.18.6" 409 | resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz" 410 | integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw== 411 | dependencies: 412 | "@babel/helper-plugin-utils" "^7.18.6" 413 | "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" 414 | 415 | "@babel/plugin-proposal-optional-chaining@^7.18.9": 416 | version "7.18.9" 417 | resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz" 418 | integrity sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w== 419 | dependencies: 420 | "@babel/helper-plugin-utils" "^7.18.9" 421 | "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" 422 | "@babel/plugin-syntax-optional-chaining" "^7.8.3" 423 | 424 | "@babel/plugin-proposal-private-methods@^7.18.6": 425 | version "7.18.6" 426 | resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz" 427 | integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA== 428 | dependencies: 429 | "@babel/helper-create-class-features-plugin" "^7.18.6" 430 | "@babel/helper-plugin-utils" "^7.18.6" 431 | 432 | "@babel/plugin-proposal-private-property-in-object@^7.18.6": 433 | version "7.18.6" 434 | resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz" 435 | integrity sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw== 436 | dependencies: 437 | "@babel/helper-annotate-as-pure" "^7.18.6" 438 | "@babel/helper-create-class-features-plugin" "^7.18.6" 439 | "@babel/helper-plugin-utils" "^7.18.6" 440 | "@babel/plugin-syntax-private-property-in-object" "^7.14.5" 441 | 442 | "@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": 443 | version "7.18.6" 444 | resolved "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz" 445 | integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w== 446 | dependencies: 447 | "@babel/helper-create-regexp-features-plugin" "^7.18.6" 448 | "@babel/helper-plugin-utils" "^7.18.6" 449 | 450 | "@babel/plugin-syntax-async-generators@^7.8.4": 451 | version "7.8.4" 452 | resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" 453 | integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== 454 | dependencies: 455 | "@babel/helper-plugin-utils" "^7.8.0" 456 | 457 | "@babel/plugin-syntax-class-properties@^7.12.13": 458 | version "7.12.13" 459 | resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" 460 | integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== 461 | dependencies: 462 | "@babel/helper-plugin-utils" "^7.12.13" 463 | 464 | "@babel/plugin-syntax-class-static-block@^7.14.5": 465 | version "7.14.5" 466 | resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz" 467 | integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== 468 | dependencies: 469 | "@babel/helper-plugin-utils" "^7.14.5" 470 | 471 | "@babel/plugin-syntax-dynamic-import@^7.8.3": 472 | version "7.8.3" 473 | resolved "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz" 474 | integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== 475 | dependencies: 476 | "@babel/helper-plugin-utils" "^7.8.0" 477 | 478 | "@babel/plugin-syntax-export-namespace-from@^7.8.3": 479 | version "7.8.3" 480 | resolved "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz" 481 | integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== 482 | dependencies: 483 | "@babel/helper-plugin-utils" "^7.8.3" 484 | 485 | "@babel/plugin-syntax-import-assertions@^7.18.6": 486 | version "7.18.6" 487 | resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz" 488 | integrity sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ== 489 | dependencies: 490 | "@babel/helper-plugin-utils" "^7.18.6" 491 | 492 | "@babel/plugin-syntax-json-strings@^7.8.3": 493 | version "7.8.3" 494 | resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" 495 | integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== 496 | dependencies: 497 | "@babel/helper-plugin-utils" "^7.8.0" 498 | 499 | "@babel/plugin-syntax-logical-assignment-operators@^7.10.4": 500 | version "7.10.4" 501 | resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" 502 | integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== 503 | dependencies: 504 | "@babel/helper-plugin-utils" "^7.10.4" 505 | 506 | "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": 507 | version "7.8.3" 508 | resolved "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" 509 | integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== 510 | dependencies: 511 | "@babel/helper-plugin-utils" "^7.8.0" 512 | 513 | "@babel/plugin-syntax-numeric-separator@^7.10.4": 514 | version "7.10.4" 515 | resolved "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" 516 | integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== 517 | dependencies: 518 | "@babel/helper-plugin-utils" "^7.10.4" 519 | 520 | "@babel/plugin-syntax-object-rest-spread@^7.8.3": 521 | version "7.8.3" 522 | resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" 523 | integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== 524 | dependencies: 525 | "@babel/helper-plugin-utils" "^7.8.0" 526 | 527 | "@babel/plugin-syntax-optional-catch-binding@^7.8.3": 528 | version "7.8.3" 529 | resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" 530 | integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== 531 | dependencies: 532 | "@babel/helper-plugin-utils" "^7.8.0" 533 | 534 | "@babel/plugin-syntax-optional-chaining@^7.8.3": 535 | version "7.8.3" 536 | resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" 537 | integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== 538 | dependencies: 539 | "@babel/helper-plugin-utils" "^7.8.0" 540 | 541 | "@babel/plugin-syntax-private-property-in-object@^7.14.5": 542 | version "7.14.5" 543 | resolved "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz" 544 | integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== 545 | dependencies: 546 | "@babel/helper-plugin-utils" "^7.14.5" 547 | 548 | "@babel/plugin-syntax-top-level-await@^7.14.5": 549 | version "7.14.5" 550 | resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" 551 | integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== 552 | dependencies: 553 | "@babel/helper-plugin-utils" "^7.14.5" 554 | 555 | "@babel/plugin-syntax-typescript@^7.18.6": 556 | version "7.18.6" 557 | resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz" 558 | integrity sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA== 559 | dependencies: 560 | "@babel/helper-plugin-utils" "^7.18.6" 561 | 562 | "@babel/plugin-transform-arrow-functions@^7.18.6": 563 | version "7.18.6" 564 | resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz" 565 | integrity sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ== 566 | dependencies: 567 | "@babel/helper-plugin-utils" "^7.18.6" 568 | 569 | "@babel/plugin-transform-async-to-generator@^7.18.6": 570 | version "7.18.6" 571 | resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz" 572 | integrity sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag== 573 | dependencies: 574 | "@babel/helper-module-imports" "^7.18.6" 575 | "@babel/helper-plugin-utils" "^7.18.6" 576 | "@babel/helper-remap-async-to-generator" "^7.18.6" 577 | 578 | "@babel/plugin-transform-block-scoped-functions@^7.18.6": 579 | version "7.18.6" 580 | resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz" 581 | integrity sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ== 582 | dependencies: 583 | "@babel/helper-plugin-utils" "^7.18.6" 584 | 585 | "@babel/plugin-transform-block-scoping@^7.18.9": 586 | version "7.18.9" 587 | resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz" 588 | integrity sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw== 589 | dependencies: 590 | "@babel/helper-plugin-utils" "^7.18.9" 591 | 592 | "@babel/plugin-transform-classes@^7.19.0": 593 | version "7.19.0" 594 | resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz" 595 | integrity sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A== 596 | dependencies: 597 | "@babel/helper-annotate-as-pure" "^7.18.6" 598 | "@babel/helper-compilation-targets" "^7.19.0" 599 | "@babel/helper-environment-visitor" "^7.18.9" 600 | "@babel/helper-function-name" "^7.19.0" 601 | "@babel/helper-optimise-call-expression" "^7.18.6" 602 | "@babel/helper-plugin-utils" "^7.19.0" 603 | "@babel/helper-replace-supers" "^7.18.9" 604 | "@babel/helper-split-export-declaration" "^7.18.6" 605 | globals "^11.1.0" 606 | 607 | "@babel/plugin-transform-computed-properties@^7.18.9": 608 | version "7.18.9" 609 | resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz" 610 | integrity sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw== 611 | dependencies: 612 | "@babel/helper-plugin-utils" "^7.18.9" 613 | 614 | "@babel/plugin-transform-destructuring@^7.18.13": 615 | version "7.18.13" 616 | resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.13.tgz" 617 | integrity sha512-TodpQ29XekIsex2A+YJPj5ax2plkGa8YYY6mFjCohk/IG9IY42Rtuj1FuDeemfg2ipxIFLzPeA83SIBnlhSIow== 618 | dependencies: 619 | "@babel/helper-plugin-utils" "^7.18.9" 620 | 621 | "@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": 622 | version "7.18.6" 623 | resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz" 624 | integrity sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg== 625 | dependencies: 626 | "@babel/helper-create-regexp-features-plugin" "^7.18.6" 627 | "@babel/helper-plugin-utils" "^7.18.6" 628 | 629 | "@babel/plugin-transform-duplicate-keys@^7.18.9": 630 | version "7.18.9" 631 | resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz" 632 | integrity sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw== 633 | dependencies: 634 | "@babel/helper-plugin-utils" "^7.18.9" 635 | 636 | "@babel/plugin-transform-exponentiation-operator@^7.18.6": 637 | version "7.18.6" 638 | resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz" 639 | integrity sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw== 640 | dependencies: 641 | "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6" 642 | "@babel/helper-plugin-utils" "^7.18.6" 643 | 644 | "@babel/plugin-transform-for-of@^7.18.8": 645 | version "7.18.8" 646 | resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz" 647 | integrity sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ== 648 | dependencies: 649 | "@babel/helper-plugin-utils" "^7.18.6" 650 | 651 | "@babel/plugin-transform-function-name@^7.18.9": 652 | version "7.18.9" 653 | resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz" 654 | integrity sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ== 655 | dependencies: 656 | "@babel/helper-compilation-targets" "^7.18.9" 657 | "@babel/helper-function-name" "^7.18.9" 658 | "@babel/helper-plugin-utils" "^7.18.9" 659 | 660 | "@babel/plugin-transform-literals@^7.18.9": 661 | version "7.18.9" 662 | resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz" 663 | integrity sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg== 664 | dependencies: 665 | "@babel/helper-plugin-utils" "^7.18.9" 666 | 667 | "@babel/plugin-transform-member-expression-literals@^7.18.6": 668 | version "7.18.6" 669 | resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz" 670 | integrity sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA== 671 | dependencies: 672 | "@babel/helper-plugin-utils" "^7.18.6" 673 | 674 | "@babel/plugin-transform-modules-amd@^7.18.6": 675 | version "7.18.6" 676 | resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz" 677 | integrity sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg== 678 | dependencies: 679 | "@babel/helper-module-transforms" "^7.18.6" 680 | "@babel/helper-plugin-utils" "^7.18.6" 681 | babel-plugin-dynamic-import-node "^2.3.3" 682 | 683 | "@babel/plugin-transform-modules-commonjs@^7.18.6": 684 | version "7.18.6" 685 | resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz" 686 | integrity sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q== 687 | dependencies: 688 | "@babel/helper-module-transforms" "^7.18.6" 689 | "@babel/helper-plugin-utils" "^7.18.6" 690 | "@babel/helper-simple-access" "^7.18.6" 691 | babel-plugin-dynamic-import-node "^2.3.3" 692 | 693 | "@babel/plugin-transform-modules-systemjs@^7.19.0": 694 | version "7.19.0" 695 | resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.0.tgz" 696 | integrity sha512-x9aiR0WXAWmOWsqcsnrzGR+ieaTMVyGyffPVA7F8cXAGt/UxefYv6uSHZLkAFChN5M5Iy1+wjE+xJuPt22H39A== 697 | dependencies: 698 | "@babel/helper-hoist-variables" "^7.18.6" 699 | "@babel/helper-module-transforms" "^7.19.0" 700 | "@babel/helper-plugin-utils" "^7.19.0" 701 | "@babel/helper-validator-identifier" "^7.18.6" 702 | babel-plugin-dynamic-import-node "^2.3.3" 703 | 704 | "@babel/plugin-transform-modules-umd@^7.18.6": 705 | version "7.18.6" 706 | resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz" 707 | integrity sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ== 708 | dependencies: 709 | "@babel/helper-module-transforms" "^7.18.6" 710 | "@babel/helper-plugin-utils" "^7.18.6" 711 | 712 | "@babel/plugin-transform-named-capturing-groups-regex@^7.19.0": 713 | version "7.19.0" 714 | resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.0.tgz" 715 | integrity sha512-HDSuqOQzkU//kfGdiHBt71/hkDTApw4U/cMVgKgX7PqfB3LOaK+2GtCEsBu1dL9CkswDm0Gwehht1dCr421ULQ== 716 | dependencies: 717 | "@babel/helper-create-regexp-features-plugin" "^7.19.0" 718 | "@babel/helper-plugin-utils" "^7.19.0" 719 | 720 | "@babel/plugin-transform-new-target@^7.18.6": 721 | version "7.18.6" 722 | resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz" 723 | integrity sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw== 724 | dependencies: 725 | "@babel/helper-plugin-utils" "^7.18.6" 726 | 727 | "@babel/plugin-transform-object-super@^7.18.6": 728 | version "7.18.6" 729 | resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz" 730 | integrity sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA== 731 | dependencies: 732 | "@babel/helper-plugin-utils" "^7.18.6" 733 | "@babel/helper-replace-supers" "^7.18.6" 734 | 735 | "@babel/plugin-transform-parameters@^7.18.8": 736 | version "7.18.8" 737 | resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz" 738 | integrity sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg== 739 | dependencies: 740 | "@babel/helper-plugin-utils" "^7.18.6" 741 | 742 | "@babel/plugin-transform-property-literals@^7.18.6": 743 | version "7.18.6" 744 | resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz" 745 | integrity sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg== 746 | dependencies: 747 | "@babel/helper-plugin-utils" "^7.18.6" 748 | 749 | "@babel/plugin-transform-regenerator@^7.18.6": 750 | version "7.18.6" 751 | resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz" 752 | integrity sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ== 753 | dependencies: 754 | "@babel/helper-plugin-utils" "^7.18.6" 755 | regenerator-transform "^0.15.0" 756 | 757 | "@babel/plugin-transform-reserved-words@^7.18.6": 758 | version "7.18.6" 759 | resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz" 760 | integrity sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA== 761 | dependencies: 762 | "@babel/helper-plugin-utils" "^7.18.6" 763 | 764 | "@babel/plugin-transform-shorthand-properties@^7.18.6": 765 | version "7.18.6" 766 | resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz" 767 | integrity sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw== 768 | dependencies: 769 | "@babel/helper-plugin-utils" "^7.18.6" 770 | 771 | "@babel/plugin-transform-spread@^7.19.0": 772 | version "7.19.0" 773 | resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz" 774 | integrity sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w== 775 | dependencies: 776 | "@babel/helper-plugin-utils" "^7.19.0" 777 | "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" 778 | 779 | "@babel/plugin-transform-sticky-regex@^7.18.6": 780 | version "7.18.6" 781 | resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz" 782 | integrity sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q== 783 | dependencies: 784 | "@babel/helper-plugin-utils" "^7.18.6" 785 | 786 | "@babel/plugin-transform-template-literals@^7.18.9": 787 | version "7.18.9" 788 | resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz" 789 | integrity sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA== 790 | dependencies: 791 | "@babel/helper-plugin-utils" "^7.18.9" 792 | 793 | "@babel/plugin-transform-typeof-symbol@^7.18.9": 794 | version "7.18.9" 795 | resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz" 796 | integrity sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw== 797 | dependencies: 798 | "@babel/helper-plugin-utils" "^7.18.9" 799 | 800 | "@babel/plugin-transform-typescript@^7.18.6": 801 | version "7.19.0" 802 | resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.19.0.tgz" 803 | integrity sha512-DOOIywxPpkQHXijXv+s9MDAyZcLp12oYRl3CMWZ6u7TjSoCBq/KqHR/nNFR3+i2xqheZxoF0H2XyL7B6xeSRuA== 804 | dependencies: 805 | "@babel/helper-create-class-features-plugin" "^7.19.0" 806 | "@babel/helper-plugin-utils" "^7.19.0" 807 | "@babel/plugin-syntax-typescript" "^7.18.6" 808 | 809 | "@babel/plugin-transform-unicode-escapes@^7.18.10": 810 | version "7.18.10" 811 | resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz" 812 | integrity sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ== 813 | dependencies: 814 | "@babel/helper-plugin-utils" "^7.18.9" 815 | 816 | "@babel/plugin-transform-unicode-regex@^7.18.6": 817 | version "7.18.6" 818 | resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz" 819 | integrity sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA== 820 | dependencies: 821 | "@babel/helper-create-regexp-features-plugin" "^7.18.6" 822 | "@babel/helper-plugin-utils" "^7.18.6" 823 | 824 | "@babel/preset-env@^7.18.9": 825 | version "7.19.0" 826 | resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.19.0.tgz" 827 | integrity sha512-1YUju1TAFuzjIQqNM9WsF4U6VbD/8t3wEAlw3LFYuuEr+ywqLRcSXxFKz4DCEj+sN94l/XTDiUXYRrsvMpz9WQ== 828 | dependencies: 829 | "@babel/compat-data" "^7.19.0" 830 | "@babel/helper-compilation-targets" "^7.19.0" 831 | "@babel/helper-plugin-utils" "^7.19.0" 832 | "@babel/helper-validator-option" "^7.18.6" 833 | "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" 834 | "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" 835 | "@babel/plugin-proposal-async-generator-functions" "^7.19.0" 836 | "@babel/plugin-proposal-class-properties" "^7.18.6" 837 | "@babel/plugin-proposal-class-static-block" "^7.18.6" 838 | "@babel/plugin-proposal-dynamic-import" "^7.18.6" 839 | "@babel/plugin-proposal-export-namespace-from" "^7.18.9" 840 | "@babel/plugin-proposal-json-strings" "^7.18.6" 841 | "@babel/plugin-proposal-logical-assignment-operators" "^7.18.9" 842 | "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" 843 | "@babel/plugin-proposal-numeric-separator" "^7.18.6" 844 | "@babel/plugin-proposal-object-rest-spread" "^7.18.9" 845 | "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" 846 | "@babel/plugin-proposal-optional-chaining" "^7.18.9" 847 | "@babel/plugin-proposal-private-methods" "^7.18.6" 848 | "@babel/plugin-proposal-private-property-in-object" "^7.18.6" 849 | "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" 850 | "@babel/plugin-syntax-async-generators" "^7.8.4" 851 | "@babel/plugin-syntax-class-properties" "^7.12.13" 852 | "@babel/plugin-syntax-class-static-block" "^7.14.5" 853 | "@babel/plugin-syntax-dynamic-import" "^7.8.3" 854 | "@babel/plugin-syntax-export-namespace-from" "^7.8.3" 855 | "@babel/plugin-syntax-import-assertions" "^7.18.6" 856 | "@babel/plugin-syntax-json-strings" "^7.8.3" 857 | "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" 858 | "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" 859 | "@babel/plugin-syntax-numeric-separator" "^7.10.4" 860 | "@babel/plugin-syntax-object-rest-spread" "^7.8.3" 861 | "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" 862 | "@babel/plugin-syntax-optional-chaining" "^7.8.3" 863 | "@babel/plugin-syntax-private-property-in-object" "^7.14.5" 864 | "@babel/plugin-syntax-top-level-await" "^7.14.5" 865 | "@babel/plugin-transform-arrow-functions" "^7.18.6" 866 | "@babel/plugin-transform-async-to-generator" "^7.18.6" 867 | "@babel/plugin-transform-block-scoped-functions" "^7.18.6" 868 | "@babel/plugin-transform-block-scoping" "^7.18.9" 869 | "@babel/plugin-transform-classes" "^7.19.0" 870 | "@babel/plugin-transform-computed-properties" "^7.18.9" 871 | "@babel/plugin-transform-destructuring" "^7.18.13" 872 | "@babel/plugin-transform-dotall-regex" "^7.18.6" 873 | "@babel/plugin-transform-duplicate-keys" "^7.18.9" 874 | "@babel/plugin-transform-exponentiation-operator" "^7.18.6" 875 | "@babel/plugin-transform-for-of" "^7.18.8" 876 | "@babel/plugin-transform-function-name" "^7.18.9" 877 | "@babel/plugin-transform-literals" "^7.18.9" 878 | "@babel/plugin-transform-member-expression-literals" "^7.18.6" 879 | "@babel/plugin-transform-modules-amd" "^7.18.6" 880 | "@babel/plugin-transform-modules-commonjs" "^7.18.6" 881 | "@babel/plugin-transform-modules-systemjs" "^7.19.0" 882 | "@babel/plugin-transform-modules-umd" "^7.18.6" 883 | "@babel/plugin-transform-named-capturing-groups-regex" "^7.19.0" 884 | "@babel/plugin-transform-new-target" "^7.18.6" 885 | "@babel/plugin-transform-object-super" "^7.18.6" 886 | "@babel/plugin-transform-parameters" "^7.18.8" 887 | "@babel/plugin-transform-property-literals" "^7.18.6" 888 | "@babel/plugin-transform-regenerator" "^7.18.6" 889 | "@babel/plugin-transform-reserved-words" "^7.18.6" 890 | "@babel/plugin-transform-shorthand-properties" "^7.18.6" 891 | "@babel/plugin-transform-spread" "^7.19.0" 892 | "@babel/plugin-transform-sticky-regex" "^7.18.6" 893 | "@babel/plugin-transform-template-literals" "^7.18.9" 894 | "@babel/plugin-transform-typeof-symbol" "^7.18.9" 895 | "@babel/plugin-transform-unicode-escapes" "^7.18.10" 896 | "@babel/plugin-transform-unicode-regex" "^7.18.6" 897 | "@babel/preset-modules" "^0.1.5" 898 | "@babel/types" "^7.19.0" 899 | babel-plugin-polyfill-corejs2 "^0.3.2" 900 | babel-plugin-polyfill-corejs3 "^0.5.3" 901 | babel-plugin-polyfill-regenerator "^0.4.0" 902 | core-js-compat "^3.22.1" 903 | semver "^6.3.0" 904 | 905 | "@babel/preset-modules@^0.1.5": 906 | version "0.1.5" 907 | resolved "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz" 908 | integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== 909 | dependencies: 910 | "@babel/helper-plugin-utils" "^7.0.0" 911 | "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" 912 | "@babel/plugin-transform-dotall-regex" "^7.4.4" 913 | "@babel/types" "^7.4.4" 914 | esutils "^2.0.2" 915 | 916 | "@babel/preset-typescript@^7.18.6": 917 | version "7.18.6" 918 | resolved "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz" 919 | integrity sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ== 920 | dependencies: 921 | "@babel/helper-plugin-utils" "^7.18.6" 922 | "@babel/helper-validator-option" "^7.18.6" 923 | "@babel/plugin-transform-typescript" "^7.18.6" 924 | 925 | "@babel/runtime-corejs3@^7.17.2": 926 | version "7.19.6" 927 | resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.19.6.tgz#778471a71d915cf3b955a9201bebabfe924f872a" 928 | integrity sha512-oWNn1ZlGde7b4i/3tnixpH9qI0bOAACiUs+KEES4UUCnsPjVWFlWdLV/iwJuPC2qp3EowbAqsm+0XqNwnwYhxA== 929 | dependencies: 930 | core-js-pure "^3.25.1" 931 | regenerator-runtime "^0.13.4" 932 | 933 | "@babel/runtime@^7.12.5", "@babel/runtime@^7.8.4": 934 | version "7.19.0" 935 | resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.0.tgz" 936 | integrity sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA== 937 | dependencies: 938 | regenerator-runtime "^0.13.4" 939 | 940 | "@babel/template@^7.16.7", "@babel/template@^7.18.10": 941 | version "7.18.10" 942 | resolved "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz" 943 | integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA== 944 | dependencies: 945 | "@babel/code-frame" "^7.18.6" 946 | "@babel/parser" "^7.18.10" 947 | "@babel/types" "^7.18.10" 948 | 949 | "@babel/traverse@7.17.3", "@babel/traverse@^7.17.3": 950 | version "7.17.3" 951 | resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz" 952 | integrity sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw== 953 | dependencies: 954 | "@babel/code-frame" "^7.16.7" 955 | "@babel/generator" "^7.17.3" 956 | "@babel/helper-environment-visitor" "^7.16.7" 957 | "@babel/helper-function-name" "^7.16.7" 958 | "@babel/helper-hoist-variables" "^7.16.7" 959 | "@babel/helper-split-export-declaration" "^7.16.7" 960 | "@babel/parser" "^7.17.3" 961 | "@babel/types" "^7.17.0" 962 | debug "^4.1.0" 963 | globals "^11.1.0" 964 | 965 | "@babel/traverse@^7.18.9", "@babel/traverse@^7.19.0": 966 | version "7.19.0" 967 | resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.0.tgz" 968 | integrity sha512-4pKpFRDh+utd2mbRC8JLnlsMUii3PMHjpL6a0SZ4NMZy7YFP9aXORxEhdMVOc9CpWtDF09IkciQLEhK7Ml7gRA== 969 | dependencies: 970 | "@babel/code-frame" "^7.18.6" 971 | "@babel/generator" "^7.19.0" 972 | "@babel/helper-environment-visitor" "^7.18.9" 973 | "@babel/helper-function-name" "^7.19.0" 974 | "@babel/helper-hoist-variables" "^7.18.6" 975 | "@babel/helper-split-export-declaration" "^7.18.6" 976 | "@babel/parser" "^7.19.0" 977 | "@babel/types" "^7.19.0" 978 | debug "^4.1.0" 979 | globals "^11.1.0" 980 | 981 | "@babel/types@7.17.0", "@babel/types@^7.17.0": 982 | version "7.17.0" 983 | resolved "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz" 984 | integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw== 985 | dependencies: 986 | "@babel/helper-validator-identifier" "^7.16.7" 987 | to-fast-properties "^2.0.0" 988 | 989 | "@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.3.0", "@babel/types@^7.4.4": 990 | version "7.19.0" 991 | resolved "https://registry.npmjs.org/@babel/types/-/types-7.19.0.tgz" 992 | integrity sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA== 993 | dependencies: 994 | "@babel/helper-string-parser" "^7.18.10" 995 | "@babel/helper-validator-identifier" "^7.18.6" 996 | to-fast-properties "^2.0.0" 997 | 998 | "@esbuild/linux-loong64@0.14.54": 999 | version "0.14.54" 1000 | resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz#de2a4be678bd4d0d1ffbb86e6de779cde5999028" 1001 | integrity sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw== 1002 | 1003 | "@eslint/eslintrc@^1.3.1": 1004 | version "1.3.1" 1005 | resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.1.tgz" 1006 | integrity sha512-OhSY22oQQdw3zgPOOwdoj01l/Dzl1Z+xyUP33tkSN+aqyEhymJCcPHyXt+ylW8FSe0TfRC2VG+ROQOapD0aZSQ== 1007 | dependencies: 1008 | ajv "^6.12.4" 1009 | debug "^4.3.2" 1010 | espree "^9.4.0" 1011 | globals "^13.15.0" 1012 | ignore "^5.2.0" 1013 | import-fresh "^3.2.1" 1014 | js-yaml "^4.1.0" 1015 | minimatch "^3.1.2" 1016 | strip-json-comments "^3.1.1" 1017 | 1018 | "@humanwhocodes/config-array@^0.10.4": 1019 | version "0.10.4" 1020 | resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.4.tgz" 1021 | integrity sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw== 1022 | dependencies: 1023 | "@humanwhocodes/object-schema" "^1.2.1" 1024 | debug "^4.1.1" 1025 | minimatch "^3.0.4" 1026 | 1027 | "@humanwhocodes/gitignore-to-minimatch@^1.0.2": 1028 | version "1.0.2" 1029 | resolved "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz" 1030 | integrity sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA== 1031 | 1032 | "@humanwhocodes/module-importer@^1.0.1": 1033 | version "1.0.1" 1034 | resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" 1035 | integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== 1036 | 1037 | "@humanwhocodes/object-schema@^1.2.1": 1038 | version "1.2.1" 1039 | resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz" 1040 | integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== 1041 | 1042 | "@jridgewell/gen-mapping@^0.1.0": 1043 | version "0.1.1" 1044 | resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz" 1045 | integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== 1046 | dependencies: 1047 | "@jridgewell/set-array" "^1.0.0" 1048 | "@jridgewell/sourcemap-codec" "^1.4.10" 1049 | 1050 | "@jridgewell/gen-mapping@^0.3.2": 1051 | version "0.3.2" 1052 | resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz" 1053 | integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== 1054 | dependencies: 1055 | "@jridgewell/set-array" "^1.0.1" 1056 | "@jridgewell/sourcemap-codec" "^1.4.10" 1057 | "@jridgewell/trace-mapping" "^0.3.9" 1058 | 1059 | "@jridgewell/resolve-uri@^3.0.3": 1060 | version "3.1.0" 1061 | resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" 1062 | integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== 1063 | 1064 | "@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": 1065 | version "1.1.2" 1066 | resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" 1067 | integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== 1068 | 1069 | "@jridgewell/sourcemap-codec@^1.4.10": 1070 | version "1.4.14" 1071 | resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" 1072 | integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== 1073 | 1074 | "@jridgewell/trace-mapping@^0.3.9": 1075 | version "0.3.15" 1076 | resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz" 1077 | integrity sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g== 1078 | dependencies: 1079 | "@jridgewell/resolve-uri" "^3.0.3" 1080 | "@jridgewell/sourcemap-codec" "^1.4.10" 1081 | 1082 | "@nodelib/fs.scandir@2.1.5": 1083 | version "2.1.5" 1084 | resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" 1085 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== 1086 | dependencies: 1087 | "@nodelib/fs.stat" "2.0.5" 1088 | run-parallel "^1.1.9" 1089 | 1090 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": 1091 | version "2.0.5" 1092 | resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" 1093 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== 1094 | 1095 | "@nodelib/fs.walk@^1.2.3": 1096 | version "1.2.8" 1097 | resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" 1098 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== 1099 | dependencies: 1100 | "@nodelib/fs.scandir" "2.1.5" 1101 | fastq "^1.6.0" 1102 | 1103 | "@trivago/prettier-plugin-sort-imports@^3.3.0": 1104 | version "3.3.0" 1105 | resolved "https://registry.npmjs.org/@trivago/prettier-plugin-sort-imports/-/prettier-plugin-sort-imports-3.3.0.tgz" 1106 | integrity sha512-1y44bVZuIN0RsS3oIiGd5k8Vm3IZXYZnp4VsP2Z/S5L9WAOw43HE2clso66M2S/dDeJ+8sKPqnHsEfh39Vjs3w== 1107 | dependencies: 1108 | "@babel/core" "7.17.8" 1109 | "@babel/generator" "7.17.7" 1110 | "@babel/parser" "7.17.8" 1111 | "@babel/traverse" "7.17.3" 1112 | "@babel/types" "7.17.0" 1113 | javascript-natural-sort "0.7.1" 1114 | lodash "4.17.21" 1115 | 1116 | "@types/babel__core@^7.1.19": 1117 | version "7.1.19" 1118 | resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz" 1119 | integrity sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw== 1120 | dependencies: 1121 | "@babel/parser" "^7.1.0" 1122 | "@babel/types" "^7.0.0" 1123 | "@types/babel__generator" "*" 1124 | "@types/babel__template" "*" 1125 | "@types/babel__traverse" "*" 1126 | 1127 | "@types/babel__generator@*": 1128 | version "7.6.4" 1129 | resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz" 1130 | integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== 1131 | dependencies: 1132 | "@babel/types" "^7.0.0" 1133 | 1134 | "@types/babel__preset-env@^7.9.2": 1135 | version "7.9.2" 1136 | resolved "https://registry.npmjs.org/@types/babel__preset-env/-/babel__preset-env-7.9.2.tgz" 1137 | integrity sha512-epEgKQiqTDZdPgYwtriYK1GVAGcyVZVvvw2UatX3+95mogKGimebApcMEWLF12uhUbNIvX284CSQEavnV/OIgw== 1138 | 1139 | "@types/babel__template@*": 1140 | version "7.4.1" 1141 | resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz" 1142 | integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== 1143 | dependencies: 1144 | "@babel/parser" "^7.1.0" 1145 | "@babel/types" "^7.0.0" 1146 | 1147 | "@types/babel__traverse@*": 1148 | version "7.18.1" 1149 | resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.1.tgz" 1150 | integrity sha512-FSdLaZh2UxaMuLp9lixWaHq/golWTRWOnRsAXzDTDSDOQLuZb1nsdCt6pJSPWSEQt2eFZ2YVk3oYhn+1kLMeMA== 1151 | dependencies: 1152 | "@babel/types" "^7.3.0" 1153 | 1154 | "@types/json-schema@^7.0.9": 1155 | version "7.0.11" 1156 | resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz" 1157 | integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== 1158 | 1159 | "@types/node@^18.6.3": 1160 | version "18.7.16" 1161 | resolved "https://registry.npmjs.org/@types/node/-/node-18.7.16.tgz" 1162 | integrity sha512-EQHhixfu+mkqHMZl1R2Ovuvn47PUw18azMJOTwSZr9/fhzHNGXAJ0ma0dayRVchprpCj0Kc1K1xKoWaATWF1qg== 1163 | 1164 | "@types/yargs-interactive@^2.1.3": 1165 | version "2.1.3" 1166 | resolved "https://registry.npmjs.org/@types/yargs-interactive/-/yargs-interactive-2.1.3.tgz" 1167 | integrity sha512-bYB8ah0JPR6/lpHlxUzeHsrb3RK5OW7N8Hnth2nefnr6zQ5KFoDQ6wM5x58dTLEDYrwikFy3EPTf/O0HKLNaIg== 1168 | dependencies: 1169 | "@types/yargs" "*" 1170 | 1171 | "@types/yargs-parser@*": 1172 | version "21.0.0" 1173 | resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz" 1174 | integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== 1175 | 1176 | "@types/yargs@*": 1177 | version "17.0.12" 1178 | resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.12.tgz" 1179 | integrity sha512-Nz4MPhecOFArtm81gFQvQqdV7XYCrWKx5uUt6GNHredFHn1i2mtWqXTON7EPXMtNi1qjtjEM/VCHDhcHsAMLXQ== 1180 | dependencies: 1181 | "@types/yargs-parser" "*" 1182 | 1183 | "@typescript-eslint/eslint-plugin@^5.32.0": 1184 | version "5.36.2" 1185 | resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.36.2.tgz" 1186 | integrity sha512-OwwR8LRwSnI98tdc2z7mJYgY60gf7I9ZfGjN5EjCwwns9bdTuQfAXcsjSB2wSQ/TVNYSGKf4kzVXbNGaZvwiXw== 1187 | dependencies: 1188 | "@typescript-eslint/scope-manager" "5.36.2" 1189 | "@typescript-eslint/type-utils" "5.36.2" 1190 | "@typescript-eslint/utils" "5.36.2" 1191 | debug "^4.3.4" 1192 | functional-red-black-tree "^1.0.1" 1193 | ignore "^5.2.0" 1194 | regexpp "^3.2.0" 1195 | semver "^7.3.7" 1196 | tsutils "^3.21.0" 1197 | 1198 | "@typescript-eslint/parser@^5.32.0": 1199 | version "5.36.2" 1200 | resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.36.2.tgz" 1201 | integrity sha512-qS/Kb0yzy8sR0idFspI9Z6+t7mqk/oRjnAYfewG+VN73opAUvmYL3oPIMmgOX6CnQS6gmVIXGshlb5RY/R22pA== 1202 | dependencies: 1203 | "@typescript-eslint/scope-manager" "5.36.2" 1204 | "@typescript-eslint/types" "5.36.2" 1205 | "@typescript-eslint/typescript-estree" "5.36.2" 1206 | debug "^4.3.4" 1207 | 1208 | "@typescript-eslint/scope-manager@5.36.2": 1209 | version "5.36.2" 1210 | resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.36.2.tgz" 1211 | integrity sha512-cNNP51L8SkIFSfce8B1NSUBTJTu2Ts4nWeWbFrdaqjmn9yKrAaJUBHkyTZc0cL06OFHpb+JZq5AUHROS398Orw== 1212 | dependencies: 1213 | "@typescript-eslint/types" "5.36.2" 1214 | "@typescript-eslint/visitor-keys" "5.36.2" 1215 | 1216 | "@typescript-eslint/type-utils@5.36.2": 1217 | version "5.36.2" 1218 | resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.36.2.tgz" 1219 | integrity sha512-rPQtS5rfijUWLouhy6UmyNquKDPhQjKsaKH0WnY6hl/07lasj8gPaH2UD8xWkePn6SC+jW2i9c2DZVDnL+Dokw== 1220 | dependencies: 1221 | "@typescript-eslint/typescript-estree" "5.36.2" 1222 | "@typescript-eslint/utils" "5.36.2" 1223 | debug "^4.3.4" 1224 | tsutils "^3.21.0" 1225 | 1226 | "@typescript-eslint/types@5.36.2": 1227 | version "5.36.2" 1228 | resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.36.2.tgz" 1229 | integrity sha512-9OJSvvwuF1L5eS2EQgFUbECb99F0mwq501w0H0EkYULkhFa19Qq7WFbycdw1PexAc929asupbZcgjVIe6OK/XQ== 1230 | 1231 | "@typescript-eslint/typescript-estree@5.36.2": 1232 | version "5.36.2" 1233 | resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.36.2.tgz" 1234 | integrity sha512-8fyH+RfbKc0mTspfuEjlfqA4YywcwQK2Amcf6TDOwaRLg7Vwdu4bZzyvBZp4bjt1RRjQ5MDnOZahxMrt2l5v9w== 1235 | dependencies: 1236 | "@typescript-eslint/types" "5.36.2" 1237 | "@typescript-eslint/visitor-keys" "5.36.2" 1238 | debug "^4.3.4" 1239 | globby "^11.1.0" 1240 | is-glob "^4.0.3" 1241 | semver "^7.3.7" 1242 | tsutils "^3.21.0" 1243 | 1244 | "@typescript-eslint/utils@5.36.2": 1245 | version "5.36.2" 1246 | resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.36.2.tgz" 1247 | integrity sha512-uNcopWonEITX96v9pefk9DC1bWMdkweeSsewJ6GeC7L6j2t0SJywisgkr9wUTtXk90fi2Eljj90HSHm3OGdGRg== 1248 | dependencies: 1249 | "@types/json-schema" "^7.0.9" 1250 | "@typescript-eslint/scope-manager" "5.36.2" 1251 | "@typescript-eslint/types" "5.36.2" 1252 | "@typescript-eslint/typescript-estree" "5.36.2" 1253 | eslint-scope "^5.1.1" 1254 | eslint-utils "^3.0.0" 1255 | 1256 | "@typescript-eslint/visitor-keys@5.36.2": 1257 | version "5.36.2" 1258 | resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.36.2.tgz" 1259 | integrity sha512-BtRvSR6dEdrNt7Net2/XDjbYKU5Ml6GqJgVfXT0CxTCJlnIqK7rAGreuWKMT2t8cFUT2Msv5oxw0GMRD7T5J7A== 1260 | dependencies: 1261 | "@typescript-eslint/types" "5.36.2" 1262 | eslint-visitor-keys "^3.3.0" 1263 | 1264 | abind@^1.0.5: 1265 | version "1.0.5" 1266 | resolved "https://registry.npmjs.org/abind/-/abind-1.0.5.tgz" 1267 | integrity sha512-dbaEZphdPje0ihqSdWg36Sb8S20TuqQomiz2593oIx+enQ9Q4vDZRjIzhnkWltGRKVKqC28kTribkgRLBexWVQ== 1268 | 1269 | acorn-jsx@^5.3.2: 1270 | version "5.3.2" 1271 | resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" 1272 | integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== 1273 | 1274 | acorn@^8.8.0: 1275 | version "8.8.0" 1276 | resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz" 1277 | integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== 1278 | 1279 | ajv@^6.10.0, ajv@^6.12.4: 1280 | version "6.12.6" 1281 | resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" 1282 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== 1283 | dependencies: 1284 | fast-deep-equal "^3.1.1" 1285 | fast-json-stable-stringify "^2.0.0" 1286 | json-schema-traverse "^0.4.1" 1287 | uri-js "^4.2.2" 1288 | 1289 | ansi-escapes@^4.2.1: 1290 | version "4.3.2" 1291 | resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" 1292 | integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== 1293 | dependencies: 1294 | type-fest "^0.21.3" 1295 | 1296 | ansi-regex@^2.1.1: 1297 | version "2.1.1" 1298 | resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" 1299 | integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== 1300 | 1301 | ansi-regex@^4.1.0: 1302 | version "4.1.1" 1303 | resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz" 1304 | integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g== 1305 | 1306 | ansi-regex@^5.0.1: 1307 | version "5.0.1" 1308 | resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" 1309 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 1310 | 1311 | ansi-styles@^3.2.0, ansi-styles@^3.2.1: 1312 | version "3.2.1" 1313 | resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" 1314 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 1315 | dependencies: 1316 | color-convert "^1.9.0" 1317 | 1318 | ansi-styles@^4.1.0: 1319 | version "4.3.0" 1320 | resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" 1321 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 1322 | dependencies: 1323 | color-convert "^2.0.1" 1324 | 1325 | argparse@^2.0.1: 1326 | version "2.0.1" 1327 | resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" 1328 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== 1329 | 1330 | argx@^3.0.0: 1331 | version "3.0.2" 1332 | resolved "https://registry.npmjs.org/argx/-/argx-3.0.2.tgz" 1333 | integrity sha512-PUyi1r14HG1AH6raqPEW8+vKNWfvHrmerdBXnf5iz7JOnO1hRaG1cGsH9eay/y8dUIreN7NxSEfK208UCGd0wQ== 1334 | dependencies: 1335 | iftype "^3.0.0" 1336 | 1337 | argx@^4.0.0, argx@^4.0.2: 1338 | version "4.0.4" 1339 | resolved "https://registry.npmjs.org/argx/-/argx-4.0.4.tgz" 1340 | integrity sha512-XLWeRTNBJRzQkbMweLIxdtnvpE7iYUBraPwrIJX57FjL4D1RHLMJRM1AyEP6KZHgvjW7TSnxF8MpGic7YdTGOA== 1341 | dependencies: 1342 | iftype "^4.0.9" 1343 | 1344 | array-union@^2.1.0: 1345 | version "2.1.0" 1346 | resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" 1347 | integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== 1348 | 1349 | arrayreduce@^2.1.0: 1350 | version "2.1.0" 1351 | resolved "https://registry.npmjs.org/arrayreduce/-/arrayreduce-2.1.0.tgz" 1352 | integrity sha512-I5MwrsPJ4faMuuPXM8+EgEy83G16i+FqegFhhHX3geDJbyaqPDWNrVjkrRg9SZq5mepEZdNg36SDPOhiKPWTLA== 1353 | 1354 | askconfig@^4.0.2: 1355 | version "4.0.4" 1356 | resolved "https://registry.npmjs.org/askconfig/-/askconfig-4.0.4.tgz" 1357 | integrity sha512-fjB/vmAlUKxGVqcz4mLub3xF8m9rkazhqcXRvrDzeey0iaLhcAg2K8bhJL7pKjE2dFP9qDGv3+yXovYMV9XBJQ== 1358 | dependencies: 1359 | argx "^4.0.2" 1360 | cli-color "^1.4.0" 1361 | objnest "^5.0.6" 1362 | 1363 | async@~1.5: 1364 | version "1.5.2" 1365 | resolved "https://registry.npmjs.org/async/-/async-1.5.2.tgz" 1366 | integrity sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w== 1367 | 1368 | babel-plugin-dynamic-import-node@^2.3.3: 1369 | version "2.3.3" 1370 | resolved "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz" 1371 | integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== 1372 | dependencies: 1373 | object.assign "^4.1.0" 1374 | 1375 | babel-plugin-polyfill-corejs2@^0.3.2: 1376 | version "0.3.2" 1377 | resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz" 1378 | integrity sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q== 1379 | dependencies: 1380 | "@babel/compat-data" "^7.17.7" 1381 | "@babel/helper-define-polyfill-provider" "^0.3.2" 1382 | semver "^6.1.1" 1383 | 1384 | babel-plugin-polyfill-corejs3@^0.5.3: 1385 | version "0.5.3" 1386 | resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz" 1387 | integrity sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw== 1388 | dependencies: 1389 | "@babel/helper-define-polyfill-provider" "^0.3.2" 1390 | core-js-compat "^3.21.0" 1391 | 1392 | babel-plugin-polyfill-regenerator@^0.4.0: 1393 | version "0.4.0" 1394 | resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz" 1395 | integrity sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw== 1396 | dependencies: 1397 | "@babel/helper-define-polyfill-provider" "^0.3.2" 1398 | 1399 | babel-runtime@^6.11.6: 1400 | version "6.26.0" 1401 | resolved "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz" 1402 | integrity sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g== 1403 | dependencies: 1404 | core-js "^2.4.0" 1405 | regenerator-runtime "^0.11.0" 1406 | 1407 | balanced-match@^1.0.0: 1408 | version "1.0.2" 1409 | resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" 1410 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 1411 | 1412 | brace-expansion@^1.1.7: 1413 | version "1.1.11" 1414 | resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" 1415 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 1416 | dependencies: 1417 | balanced-match "^1.0.0" 1418 | concat-map "0.0.1" 1419 | 1420 | braces@^3.0.2: 1421 | version "3.0.2" 1422 | resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" 1423 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 1424 | dependencies: 1425 | fill-range "^7.0.1" 1426 | 1427 | browserslist@^4.20.2, browserslist@^4.21.3: 1428 | version "4.21.3" 1429 | resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz" 1430 | integrity sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ== 1431 | dependencies: 1432 | caniuse-lite "^1.0.30001370" 1433 | electron-to-chromium "^1.4.202" 1434 | node-releases "^2.0.6" 1435 | update-browserslist-db "^1.0.5" 1436 | 1437 | call-bind@^1.0.2: 1438 | version "1.0.2" 1439 | resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" 1440 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== 1441 | dependencies: 1442 | function-bind "^1.1.1" 1443 | get-intrinsic "^1.0.2" 1444 | 1445 | callsites@^3.0.0: 1446 | version "3.1.0" 1447 | resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" 1448 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 1449 | 1450 | camelcase@^5.0.0: 1451 | version "5.3.1" 1452 | resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" 1453 | integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== 1454 | 1455 | caniuse-lite@^1.0.30001370: 1456 | version "1.0.30001393" 1457 | resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001393.tgz" 1458 | integrity sha512-N/od11RX+Gsk+1qY/jbPa0R6zJupEa0lxeBG598EbrtblxVCTJsQwbRBm6+V+rxpc5lHKdsXb9RY83cZIPLseA== 1459 | 1460 | chalk@^2.0.0: 1461 | version "2.4.2" 1462 | resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" 1463 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 1464 | dependencies: 1465 | ansi-styles "^3.2.1" 1466 | escape-string-regexp "^1.0.5" 1467 | supports-color "^5.3.0" 1468 | 1469 | chalk@^4, chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: 1470 | version "4.1.2" 1471 | resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" 1472 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== 1473 | dependencies: 1474 | ansi-styles "^4.1.0" 1475 | supports-color "^7.1.0" 1476 | 1477 | chardet@^0.7.0: 1478 | version "0.7.0" 1479 | resolved "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz" 1480 | integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== 1481 | 1482 | cli-color@^1.4.0: 1483 | version "1.4.0" 1484 | resolved "https://registry.npmjs.org/cli-color/-/cli-color-1.4.0.tgz" 1485 | integrity sha512-xu6RvQqqrWEo6MPR1eixqGPywhYBHRs653F9jfXB2Hx4jdM/3WxiNE1vppRmxtMIfl16SFYTpYlrnqH/HsK/2w== 1486 | dependencies: 1487 | ansi-regex "^2.1.1" 1488 | d "1" 1489 | es5-ext "^0.10.46" 1490 | es6-iterator "^2.0.3" 1491 | memoizee "^0.4.14" 1492 | timers-ext "^0.1.5" 1493 | 1494 | cli-cursor@^3.1.0: 1495 | version "3.1.0" 1496 | resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz" 1497 | integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== 1498 | dependencies: 1499 | restore-cursor "^3.1.0" 1500 | 1501 | cli-width@^3.0.0: 1502 | version "3.0.0" 1503 | resolved "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz" 1504 | integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== 1505 | 1506 | cliui@^5.0.0: 1507 | version "5.0.0" 1508 | resolved "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz" 1509 | integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== 1510 | dependencies: 1511 | string-width "^3.1.0" 1512 | strip-ansi "^5.2.0" 1513 | wrap-ansi "^5.1.0" 1514 | 1515 | co@^4.6.0: 1516 | version "4.6.0" 1517 | resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz" 1518 | integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== 1519 | 1520 | color-convert@^1.9.0: 1521 | version "1.9.3" 1522 | resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" 1523 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 1524 | dependencies: 1525 | color-name "1.1.3" 1526 | 1527 | color-convert@^2.0.1: 1528 | version "2.0.1" 1529 | resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" 1530 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 1531 | dependencies: 1532 | color-name "~1.1.4" 1533 | 1534 | color-name@1.1.3: 1535 | version "1.1.3" 1536 | resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" 1537 | integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== 1538 | 1539 | color-name@~1.1.4: 1540 | version "1.1.4" 1541 | resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" 1542 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 1543 | 1544 | concat-map@0.0.1: 1545 | version "0.0.1" 1546 | resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" 1547 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== 1548 | 1549 | convert-source-map@^1.7.0: 1550 | version "1.8.0" 1551 | resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz" 1552 | integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== 1553 | dependencies: 1554 | safe-buffer "~5.1.1" 1555 | 1556 | core-js-compat@^3.21.0, core-js-compat@^3.22.1: 1557 | version "3.25.1" 1558 | resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.25.1.tgz" 1559 | integrity sha512-pOHS7O0i8Qt4zlPW/eIFjwp+NrTPx+wTL0ctgI2fHn31sZOq89rDsmtc/A2vAX7r6shl+bmVI+678He46jgBlw== 1560 | dependencies: 1561 | browserslist "^4.21.3" 1562 | 1563 | core-js-pure@^3.25.1: 1564 | version "3.25.5" 1565 | resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.25.5.tgz#79716ba54240c6aa9ceba6eee08cf79471ba184d" 1566 | integrity sha512-oml3M22pHM+igfWHDfdLVq2ShWmjM2V4L+dQEBs0DWVIqEm9WHCwGAlZ6BmyBQGy5sFrJmcx+856D9lVKyGWYg== 1567 | 1568 | core-js@^2.4.0: 1569 | version "2.6.12" 1570 | resolved "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz" 1571 | integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== 1572 | 1573 | core-js@^3.16.4, core-js@^3.21.0: 1574 | version "3.25.5" 1575 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.25.5.tgz#e86f651a2ca8a0237a5f064c2fe56cef89646e27" 1576 | integrity sha512-nbm6eZSjm+ZuBQxCUPQKQCoUEfFOXjUZ8dTTyikyKaWrTYmAVbykQfwsKE5dBK88u3QCkCrzsx/PPlKfhsvgpw== 1577 | 1578 | create-create-app@^7.3.0: 1579 | version "7.3.0" 1580 | resolved "https://registry.npmjs.org/create-create-app/-/create-create-app-7.3.0.tgz" 1581 | integrity sha512-4BzSuq75JihB3hvFQHu1mqPDLUBcR3u5N9yShG6LSv84O7NjTNc/hE+cgDlSJZzfgr7LRahtI5FwPxLyVi/oPg== 1582 | dependencies: 1583 | "@types/yargs-interactive" "^2.1.3" 1584 | chalk "^4" 1585 | cross-spawn "^7.0.3" 1586 | epicfail "^3.0.0" 1587 | execa "^5" 1588 | gitconfig "^2.0.8" 1589 | globby "^11" 1590 | handlebars "^4.7.7" 1591 | is-utf8 "^0.2.1" 1592 | license.js "^3.1.2" 1593 | slash "^3" 1594 | uuid "^8.3.2" 1595 | yargs-interactive "^3.0.1" 1596 | 1597 | create-kolmafia-script@latest: 1598 | version "0.0.15" 1599 | resolved "https://registry.npmjs.org/create-kolmafia-script/-/create-kolmafia-script-0.0.15.tgz" 1600 | dependencies: 1601 | chalk "^4.1.2" 1602 | create-create-app "^7.3.0" 1603 | yargs-interactive "^3.0.1" 1604 | 1605 | cross-spawn@^7.0.2, cross-spawn@^7.0.3: 1606 | version "7.0.3" 1607 | resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" 1608 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 1609 | dependencies: 1610 | path-key "^3.1.0" 1611 | shebang-command "^2.0.0" 1612 | which "^2.0.1" 1613 | 1614 | d@1, d@^1.0.1: 1615 | version "1.0.1" 1616 | resolved "https://registry.npmjs.org/d/-/d-1.0.1.tgz" 1617 | integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== 1618 | dependencies: 1619 | es5-ext "^0.10.50" 1620 | type "^1.0.1" 1621 | 1622 | debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: 1623 | version "4.3.4" 1624 | resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" 1625 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 1626 | dependencies: 1627 | ms "2.1.2" 1628 | 1629 | decamelize@^1.2.0: 1630 | version "1.2.0" 1631 | resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" 1632 | integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== 1633 | 1634 | deep-is@^0.1.3: 1635 | version "0.1.4" 1636 | resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" 1637 | integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== 1638 | 1639 | define-properties@^1.1.4: 1640 | version "1.1.4" 1641 | resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz" 1642 | integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== 1643 | dependencies: 1644 | has-property-descriptors "^1.0.0" 1645 | object-keys "^1.1.1" 1646 | 1647 | dir-glob@^3.0.1: 1648 | version "3.0.1" 1649 | resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" 1650 | integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== 1651 | dependencies: 1652 | path-type "^4.0.0" 1653 | 1654 | doctrine@^3.0.0: 1655 | version "3.0.0" 1656 | resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" 1657 | integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== 1658 | dependencies: 1659 | esutils "^2.0.2" 1660 | 1661 | electron-to-chromium@^1.4.202: 1662 | version "1.4.244" 1663 | resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.244.tgz" 1664 | integrity sha512-E21saXLt2eTDaTxgUtiJtBUqanF9A32wZasAwDZ8gvrqXoxrBrbwtDCx7c/PQTLp81wj4X0OLDeoGQg7eMo3+w== 1665 | 1666 | emoji-regex@^7.0.1: 1667 | version "7.0.3" 1668 | resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz" 1669 | integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== 1670 | 1671 | emoji-regex@^8.0.0: 1672 | version "8.0.0" 1673 | resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" 1674 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 1675 | 1676 | envinfo@^7.8.1: 1677 | version "7.8.1" 1678 | resolved "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz" 1679 | integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== 1680 | 1681 | epicfail@^3.0.0: 1682 | version "3.0.0" 1683 | resolved "https://registry.npmjs.org/epicfail/-/epicfail-3.0.0.tgz" 1684 | integrity sha512-zf7vvWZ2tI2+P1674dmcyPWopD/0FC2BrAi0DvDY0uKGmrB66rwpRVlOYKFlGwRO4Q6bpkoCTPhjqvi5hMOavQ== 1685 | dependencies: 1686 | chalk "^4.1.2" 1687 | envinfo "^7.8.1" 1688 | node-fetch "^2.6.1" 1689 | pkg-up "^3.1.0" 1690 | 1691 | es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@^0.10.53, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46: 1692 | version "0.10.62" 1693 | resolved "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz" 1694 | integrity sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA== 1695 | dependencies: 1696 | es6-iterator "^2.0.3" 1697 | es6-symbol "^3.1.3" 1698 | next-tick "^1.1.0" 1699 | 1700 | es6-iterator@^2.0.3: 1701 | version "2.0.3" 1702 | resolved "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz" 1703 | integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g== 1704 | dependencies: 1705 | d "1" 1706 | es5-ext "^0.10.35" 1707 | es6-symbol "^3.1.1" 1708 | 1709 | es6-symbol@^3.1.1, es6-symbol@^3.1.3: 1710 | version "3.1.3" 1711 | resolved "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz" 1712 | integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== 1713 | dependencies: 1714 | d "^1.0.1" 1715 | ext "^1.1.2" 1716 | 1717 | es6-weak-map@^2.0.3: 1718 | version "2.0.3" 1719 | resolved "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz" 1720 | integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA== 1721 | dependencies: 1722 | d "1" 1723 | es5-ext "^0.10.46" 1724 | es6-iterator "^2.0.3" 1725 | es6-symbol "^3.1.1" 1726 | 1727 | esbuild-android-64@0.14.54: 1728 | version "0.14.54" 1729 | resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz#505f41832884313bbaffb27704b8bcaa2d8616be" 1730 | integrity sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ== 1731 | 1732 | esbuild-android-arm64@0.14.54: 1733 | version "0.14.54" 1734 | resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz#8ce69d7caba49646e009968fe5754a21a9871771" 1735 | integrity sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg== 1736 | 1737 | esbuild-darwin-64@0.14.54: 1738 | version "0.14.54" 1739 | resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz#24ba67b9a8cb890a3c08d9018f887cc221cdda25" 1740 | integrity sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug== 1741 | 1742 | esbuild-darwin-arm64@0.14.54: 1743 | version "0.14.54" 1744 | resolved "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz" 1745 | integrity sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw== 1746 | 1747 | esbuild-freebsd-64@0.14.54: 1748 | version "0.14.54" 1749 | resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz#09250f997a56ed4650f3e1979c905ffc40bbe94d" 1750 | integrity sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg== 1751 | 1752 | esbuild-freebsd-arm64@0.14.54: 1753 | version "0.14.54" 1754 | resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz#bafb46ed04fc5f97cbdb016d86947a79579f8e48" 1755 | integrity sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q== 1756 | 1757 | esbuild-linux-32@0.14.54: 1758 | version "0.14.54" 1759 | resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz#e2a8c4a8efdc355405325033fcebeb941f781fe5" 1760 | integrity sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw== 1761 | 1762 | esbuild-linux-64@0.14.54: 1763 | version "0.14.54" 1764 | resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz#de5fdba1c95666cf72369f52b40b03be71226652" 1765 | integrity sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg== 1766 | 1767 | esbuild-linux-arm64@0.14.54: 1768 | version "0.14.54" 1769 | resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz#dae4cd42ae9787468b6a5c158da4c84e83b0ce8b" 1770 | integrity sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig== 1771 | 1772 | esbuild-linux-arm@0.14.54: 1773 | version "0.14.54" 1774 | resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz#a2c1dff6d0f21dbe8fc6998a122675533ddfcd59" 1775 | integrity sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw== 1776 | 1777 | esbuild-linux-mips64le@0.14.54: 1778 | version "0.14.54" 1779 | resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz#d9918e9e4cb972f8d6dae8e8655bf9ee131eda34" 1780 | integrity sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw== 1781 | 1782 | esbuild-linux-ppc64le@0.14.54: 1783 | version "0.14.54" 1784 | resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz#3f9a0f6d41073fb1a640680845c7de52995f137e" 1785 | integrity sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ== 1786 | 1787 | esbuild-linux-riscv64@0.14.54: 1788 | version "0.14.54" 1789 | resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz#618853c028178a61837bc799d2013d4695e451c8" 1790 | integrity sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg== 1791 | 1792 | esbuild-linux-s390x@0.14.54: 1793 | version "0.14.54" 1794 | resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz#d1885c4c5a76bbb5a0fe182e2c8c60eb9e29f2a6" 1795 | integrity sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA== 1796 | 1797 | esbuild-netbsd-64@0.14.54: 1798 | version "0.14.54" 1799 | resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz#69ae917a2ff241b7df1dbf22baf04bd330349e81" 1800 | integrity sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w== 1801 | 1802 | esbuild-openbsd-64@0.14.54: 1803 | version "0.14.54" 1804 | resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz#db4c8495287a350a6790de22edea247a57c5d47b" 1805 | integrity sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw== 1806 | 1807 | esbuild-plugin-babel@^0.2.3: 1808 | version "0.2.3" 1809 | resolved "https://registry.npmjs.org/esbuild-plugin-babel/-/esbuild-plugin-babel-0.2.3.tgz" 1810 | integrity sha512-hGLL31n+GvBhkHUpPCt1sU4ynzOH7I1IUkKhera66jigi4mHFPL6dfJo44L6/1rfcZudXx+wGdf9VOifzDPqYQ== 1811 | 1812 | esbuild-sunos-64@0.14.54: 1813 | version "0.14.54" 1814 | resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz#54287ee3da73d3844b721c21bc80c1dc7e1bf7da" 1815 | integrity sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw== 1816 | 1817 | esbuild-windows-32@0.14.54: 1818 | version "0.14.54" 1819 | resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz#f8aaf9a5667630b40f0fb3aa37bf01bbd340ce31" 1820 | integrity sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w== 1821 | 1822 | esbuild-windows-64@0.14.54: 1823 | version "0.14.54" 1824 | resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz#bf54b51bd3e9b0f1886ffdb224a4176031ea0af4" 1825 | integrity sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ== 1826 | 1827 | esbuild-windows-arm64@0.14.54: 1828 | version "0.14.54" 1829 | resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz#937d15675a15e4b0e4fafdbaa3a01a776a2be982" 1830 | integrity sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg== 1831 | 1832 | esbuild@^0.14.51: 1833 | version "0.14.54" 1834 | resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.14.54.tgz" 1835 | integrity sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA== 1836 | optionalDependencies: 1837 | "@esbuild/linux-loong64" "0.14.54" 1838 | esbuild-android-64 "0.14.54" 1839 | esbuild-android-arm64 "0.14.54" 1840 | esbuild-darwin-64 "0.14.54" 1841 | esbuild-darwin-arm64 "0.14.54" 1842 | esbuild-freebsd-64 "0.14.54" 1843 | esbuild-freebsd-arm64 "0.14.54" 1844 | esbuild-linux-32 "0.14.54" 1845 | esbuild-linux-64 "0.14.54" 1846 | esbuild-linux-arm "0.14.54" 1847 | esbuild-linux-arm64 "0.14.54" 1848 | esbuild-linux-mips64le "0.14.54" 1849 | esbuild-linux-ppc64le "0.14.54" 1850 | esbuild-linux-riscv64 "0.14.54" 1851 | esbuild-linux-s390x "0.14.54" 1852 | esbuild-netbsd-64 "0.14.54" 1853 | esbuild-openbsd-64 "0.14.54" 1854 | esbuild-sunos-64 "0.14.54" 1855 | esbuild-windows-32 "0.14.54" 1856 | esbuild-windows-64 "0.14.54" 1857 | esbuild-windows-arm64 "0.14.54" 1858 | 1859 | escalade@^3.1.1: 1860 | version "3.1.1" 1861 | resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" 1862 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 1863 | 1864 | escape-string-regexp@^1.0.5: 1865 | version "1.0.5" 1866 | resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" 1867 | integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== 1868 | 1869 | escape-string-regexp@^4.0.0: 1870 | version "4.0.0" 1871 | resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" 1872 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== 1873 | 1874 | eslint-config-prettier@^8.5.0: 1875 | version "8.5.0" 1876 | resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1" 1877 | integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q== 1878 | 1879 | eslint-plugin-libram@^0.2.13: 1880 | version "0.2.17" 1881 | resolved "https://registry.npmjs.org/eslint-plugin-libram/-/eslint-plugin-libram-0.2.17.tgz" 1882 | integrity sha512-WUDz3af4O5KGxWkm+6mrsqRiDoiu2F1kq5DWyPVMQI+RsifoVZATIJ6785i3rlhCGVSu9X1/NbpOiSrecjv8kg== 1883 | dependencies: 1884 | html-entities "^2.3.2" 1885 | requireindex "~1.1.0" 1886 | 1887 | eslint-plugin-prettier@^4.2.1: 1888 | version "4.2.1" 1889 | resolved "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz" 1890 | integrity sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ== 1891 | dependencies: 1892 | prettier-linter-helpers "^1.0.0" 1893 | 1894 | eslint-scope@^5.1.1: 1895 | version "5.1.1" 1896 | resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" 1897 | integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== 1898 | dependencies: 1899 | esrecurse "^4.3.0" 1900 | estraverse "^4.1.1" 1901 | 1902 | eslint-scope@^7.1.1: 1903 | version "7.1.1" 1904 | resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz" 1905 | integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== 1906 | dependencies: 1907 | esrecurse "^4.3.0" 1908 | estraverse "^5.2.0" 1909 | 1910 | eslint-utils@^3.0.0: 1911 | version "3.0.0" 1912 | resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz" 1913 | integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== 1914 | dependencies: 1915 | eslint-visitor-keys "^2.0.0" 1916 | 1917 | eslint-visitor-keys@^2.0.0: 1918 | version "2.1.0" 1919 | resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" 1920 | integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== 1921 | 1922 | eslint-visitor-keys@^3.3.0: 1923 | version "3.3.0" 1924 | resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz" 1925 | integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== 1926 | 1927 | eslint@^8.21.0: 1928 | version "8.23.0" 1929 | resolved "https://registry.npmjs.org/eslint/-/eslint-8.23.0.tgz" 1930 | integrity sha512-pBG/XOn0MsJcKcTRLr27S5HpzQo4kLr+HjLQIyK4EiCsijDl/TB+h5uEuJU6bQ8Edvwz1XWOjpaP2qgnXGpTcA== 1931 | dependencies: 1932 | "@eslint/eslintrc" "^1.3.1" 1933 | "@humanwhocodes/config-array" "^0.10.4" 1934 | "@humanwhocodes/gitignore-to-minimatch" "^1.0.2" 1935 | "@humanwhocodes/module-importer" "^1.0.1" 1936 | ajv "^6.10.0" 1937 | chalk "^4.0.0" 1938 | cross-spawn "^7.0.2" 1939 | debug "^4.3.2" 1940 | doctrine "^3.0.0" 1941 | escape-string-regexp "^4.0.0" 1942 | eslint-scope "^7.1.1" 1943 | eslint-utils "^3.0.0" 1944 | eslint-visitor-keys "^3.3.0" 1945 | espree "^9.4.0" 1946 | esquery "^1.4.0" 1947 | esutils "^2.0.2" 1948 | fast-deep-equal "^3.1.3" 1949 | file-entry-cache "^6.0.1" 1950 | find-up "^5.0.0" 1951 | functional-red-black-tree "^1.0.1" 1952 | glob-parent "^6.0.1" 1953 | globals "^13.15.0" 1954 | globby "^11.1.0" 1955 | grapheme-splitter "^1.0.4" 1956 | ignore "^5.2.0" 1957 | import-fresh "^3.0.0" 1958 | imurmurhash "^0.1.4" 1959 | is-glob "^4.0.0" 1960 | js-yaml "^4.1.0" 1961 | json-stable-stringify-without-jsonify "^1.0.1" 1962 | levn "^0.4.1" 1963 | lodash.merge "^4.6.2" 1964 | minimatch "^3.1.2" 1965 | natural-compare "^1.4.0" 1966 | optionator "^0.9.1" 1967 | regexpp "^3.2.0" 1968 | strip-ansi "^6.0.1" 1969 | strip-json-comments "^3.1.0" 1970 | text-table "^0.2.0" 1971 | 1972 | espree@^9.4.0: 1973 | version "9.4.0" 1974 | resolved "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz" 1975 | integrity sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw== 1976 | dependencies: 1977 | acorn "^8.8.0" 1978 | acorn-jsx "^5.3.2" 1979 | eslint-visitor-keys "^3.3.0" 1980 | 1981 | esquery@^1.4.0: 1982 | version "1.4.0" 1983 | resolved "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz" 1984 | integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== 1985 | dependencies: 1986 | estraverse "^5.1.0" 1987 | 1988 | esrecurse@^4.3.0: 1989 | version "4.3.0" 1990 | resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" 1991 | integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== 1992 | dependencies: 1993 | estraverse "^5.2.0" 1994 | 1995 | estraverse@^4.1.1: 1996 | version "4.3.0" 1997 | resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" 1998 | integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== 1999 | 2000 | estraverse@^5.1.0, estraverse@^5.2.0: 2001 | version "5.3.0" 2002 | resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" 2003 | integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== 2004 | 2005 | esutils@^2.0.2: 2006 | version "2.0.3" 2007 | resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" 2008 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 2009 | 2010 | event-emitter@^0.3.5: 2011 | version "0.3.5" 2012 | resolved "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz" 2013 | integrity sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA== 2014 | dependencies: 2015 | d "1" 2016 | es5-ext "~0.10.14" 2017 | 2018 | execa@^5: 2019 | version "5.1.1" 2020 | resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" 2021 | integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== 2022 | dependencies: 2023 | cross-spawn "^7.0.3" 2024 | get-stream "^6.0.0" 2025 | human-signals "^2.1.0" 2026 | is-stream "^2.0.0" 2027 | merge-stream "^2.0.0" 2028 | npm-run-path "^4.0.1" 2029 | onetime "^5.1.2" 2030 | signal-exit "^3.0.3" 2031 | strip-final-newline "^2.0.0" 2032 | 2033 | execcli@^5.0.2: 2034 | version "5.0.6" 2035 | resolved "https://registry.npmjs.org/execcli/-/execcli-5.0.6.tgz" 2036 | integrity sha512-du+uy/Ew2P90PKjSHI89u/XuqVaBDzvaJ6ePn40JaOy7owFQNsYDbd5AoR5A559HEAb1i5HO22rJxtgVonf5Bg== 2037 | dependencies: 2038 | argx "^4.0.0" 2039 | arrayreduce "^2.1.0" 2040 | findout "^3.0.2" 2041 | hasbin "^1.2.3" 2042 | stringcase "^4.3.0" 2043 | 2044 | ext@^1.1.2: 2045 | version "1.7.0" 2046 | resolved "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz" 2047 | integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw== 2048 | dependencies: 2049 | type "^2.7.2" 2050 | 2051 | extend@^3.0.2: 2052 | version "3.0.2" 2053 | resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" 2054 | integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== 2055 | 2056 | external-editor@^3.0.3: 2057 | version "3.1.0" 2058 | resolved "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz" 2059 | integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== 2060 | dependencies: 2061 | chardet "^0.7.0" 2062 | iconv-lite "^0.4.24" 2063 | tmp "^0.0.33" 2064 | 2065 | fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: 2066 | version "3.1.3" 2067 | resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" 2068 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== 2069 | 2070 | fast-diff@^1.1.2: 2071 | version "1.2.0" 2072 | resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz" 2073 | integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== 2074 | 2075 | fast-glob@^3.2.9: 2076 | version "3.2.11" 2077 | resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz" 2078 | integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== 2079 | dependencies: 2080 | "@nodelib/fs.stat" "^2.0.2" 2081 | "@nodelib/fs.walk" "^1.2.3" 2082 | glob-parent "^5.1.2" 2083 | merge2 "^1.3.0" 2084 | micromatch "^4.0.4" 2085 | 2086 | fast-json-stable-stringify@^2.0.0: 2087 | version "2.1.0" 2088 | resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" 2089 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 2090 | 2091 | fast-levenshtein@^2.0.6: 2092 | version "2.0.6" 2093 | resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" 2094 | integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== 2095 | 2096 | fastq@^1.6.0: 2097 | version "1.13.0" 2098 | resolved "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz" 2099 | integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== 2100 | dependencies: 2101 | reusify "^1.0.4" 2102 | 2103 | figures@^3.0.0: 2104 | version "3.2.0" 2105 | resolved "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz" 2106 | integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== 2107 | dependencies: 2108 | escape-string-regexp "^1.0.5" 2109 | 2110 | file-entry-cache@^6.0.1: 2111 | version "6.0.1" 2112 | resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" 2113 | integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== 2114 | dependencies: 2115 | flat-cache "^3.0.4" 2116 | 2117 | fill-range@^7.0.1: 2118 | version "7.0.1" 2119 | resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" 2120 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 2121 | dependencies: 2122 | to-regex-range "^5.0.1" 2123 | 2124 | find-up@^3.0.0: 2125 | version "3.0.0" 2126 | resolved "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" 2127 | integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== 2128 | dependencies: 2129 | locate-path "^3.0.0" 2130 | 2131 | find-up@^5.0.0: 2132 | version "5.0.0" 2133 | resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" 2134 | integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== 2135 | dependencies: 2136 | locate-path "^6.0.0" 2137 | path-exists "^4.0.0" 2138 | 2139 | findout@^3.0.2: 2140 | version "3.0.2" 2141 | resolved "https://registry.npmjs.org/findout/-/findout-3.0.2.tgz" 2142 | integrity sha512-eatRX+s8jm8ml/S9Y5NBBjR4W8i7IeEmyddB3Lidak/nPZNfDxGzLEIaMKgeNj5/LHA1i0dC4Gwsb13H1bx+AA== 2143 | 2144 | flat-cache@^3.0.4: 2145 | version "3.0.4" 2146 | resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" 2147 | integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== 2148 | dependencies: 2149 | flatted "^3.1.0" 2150 | rimraf "^3.0.2" 2151 | 2152 | flatted@^3.1.0: 2153 | version "3.2.7" 2154 | resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz" 2155 | integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== 2156 | 2157 | fs.realpath@^1.0.0: 2158 | version "1.0.0" 2159 | resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" 2160 | integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== 2161 | 2162 | function-bind@^1.1.1: 2163 | version "1.1.1" 2164 | resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" 2165 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 2166 | 2167 | functional-red-black-tree@^1.0.1: 2168 | version "1.0.1" 2169 | resolved "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" 2170 | integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== 2171 | 2172 | gensync@^1.0.0-beta.2: 2173 | version "1.0.0-beta.2" 2174 | resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" 2175 | integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== 2176 | 2177 | get-caller-file@^2.0.1: 2178 | version "2.0.5" 2179 | resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" 2180 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== 2181 | 2182 | get-intrinsic@^1.0.2, get-intrinsic@^1.1.1: 2183 | version "1.1.2" 2184 | resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz" 2185 | integrity sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA== 2186 | dependencies: 2187 | function-bind "^1.1.1" 2188 | has "^1.0.3" 2189 | has-symbols "^1.0.3" 2190 | 2191 | get-stream@^6.0.0: 2192 | version "6.0.1" 2193 | resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" 2194 | integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== 2195 | 2196 | gitconfig@^2.0.8: 2197 | version "2.0.8" 2198 | resolved "https://registry.npmjs.org/gitconfig/-/gitconfig-2.0.8.tgz" 2199 | integrity sha512-qOB1QswIHFNKAOPN0pEu7U1iyajLBv3Tz5X630UlkAtKM904I4dO7XIjH84wmR2SUVAgaVR99UC9U4ABJujAJQ== 2200 | dependencies: 2201 | argx "^3.0.0" 2202 | arrayreduce "^2.1.0" 2203 | askconfig "^4.0.2" 2204 | co "^4.6.0" 2205 | execcli "^5.0.2" 2206 | lodash.get "^4.4.2" 2207 | objnest "^5.0.3" 2208 | 2209 | glob-parent@^5.1.2: 2210 | version "5.1.2" 2211 | resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" 2212 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 2213 | dependencies: 2214 | is-glob "^4.0.1" 2215 | 2216 | glob-parent@^6.0.1: 2217 | version "6.0.2" 2218 | resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" 2219 | integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== 2220 | dependencies: 2221 | is-glob "^4.0.3" 2222 | 2223 | glob@^7.1.3: 2224 | version "7.2.3" 2225 | resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" 2226 | integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== 2227 | dependencies: 2228 | fs.realpath "^1.0.0" 2229 | inflight "^1.0.4" 2230 | inherits "2" 2231 | minimatch "^3.1.1" 2232 | once "^1.3.0" 2233 | path-is-absolute "^1.0.0" 2234 | 2235 | globals@^11.1.0: 2236 | version "11.12.0" 2237 | resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" 2238 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== 2239 | 2240 | globals@^13.15.0: 2241 | version "13.17.0" 2242 | resolved "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz" 2243 | integrity sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw== 2244 | dependencies: 2245 | type-fest "^0.20.2" 2246 | 2247 | globby@^11, globby@^11.1.0: 2248 | version "11.1.0" 2249 | resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" 2250 | integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== 2251 | dependencies: 2252 | array-union "^2.1.0" 2253 | dir-glob "^3.0.1" 2254 | fast-glob "^3.2.9" 2255 | ignore "^5.2.0" 2256 | merge2 "^1.4.1" 2257 | slash "^3.0.0" 2258 | 2259 | grapheme-splitter@^1.0.4: 2260 | version "1.0.4" 2261 | resolved "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz" 2262 | integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== 2263 | 2264 | grimoire-kolmafia@^0.3.8: 2265 | version "0.3.8" 2266 | resolved "https://registry.yarnpkg.com/grimoire-kolmafia/-/grimoire-kolmafia-0.3.8.tgz#7711c23ff1b1906d33b4ec3a544f699562a65c59" 2267 | integrity sha512-zApbZGEYl49ePQu3kViprAV6qZaqUk3e8+gvY8yF4ZaH26I6iXmRIQEEKE7hVxwjg5hI2Q4oXGKMfXKlnoU8xA== 2268 | dependencies: 2269 | core-js "^3.16.4" 2270 | 2271 | handlebars@^4.7.7: 2272 | version "4.7.7" 2273 | resolved "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz" 2274 | integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== 2275 | dependencies: 2276 | minimist "^1.2.5" 2277 | neo-async "^2.6.0" 2278 | source-map "^0.6.1" 2279 | wordwrap "^1.0.0" 2280 | optionalDependencies: 2281 | uglify-js "^3.1.4" 2282 | 2283 | has-flag@^3.0.0: 2284 | version "3.0.0" 2285 | resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" 2286 | integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== 2287 | 2288 | has-flag@^4.0.0: 2289 | version "4.0.0" 2290 | resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" 2291 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 2292 | 2293 | has-property-descriptors@^1.0.0: 2294 | version "1.0.0" 2295 | resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" 2296 | integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== 2297 | dependencies: 2298 | get-intrinsic "^1.1.1" 2299 | 2300 | has-symbols@^1.0.3: 2301 | version "1.0.3" 2302 | resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" 2303 | integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== 2304 | 2305 | has@^1.0.3: 2306 | version "1.0.3" 2307 | resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" 2308 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 2309 | dependencies: 2310 | function-bind "^1.1.1" 2311 | 2312 | hasbin@^1.2.3: 2313 | version "1.2.3" 2314 | resolved "https://registry.npmjs.org/hasbin/-/hasbin-1.2.3.tgz" 2315 | integrity sha512-CCd8e/w2w28G8DyZvKgiHnQJ/5XXDz6qiUHnthvtag/6T5acUeN5lqq+HMoBqcmgWueWDhiCplrw0Kb1zDACRg== 2316 | dependencies: 2317 | async "~1.5" 2318 | 2319 | html-entities@^2.3.2: 2320 | version "2.3.3" 2321 | resolved "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz" 2322 | integrity sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA== 2323 | 2324 | human-signals@^2.1.0: 2325 | version "2.1.0" 2326 | resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" 2327 | integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== 2328 | 2329 | iconv-lite@^0.4.24: 2330 | version "0.4.24" 2331 | resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" 2332 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== 2333 | dependencies: 2334 | safer-buffer ">= 2.1.2 < 3" 2335 | 2336 | iftype@^3.0.0: 2337 | version "3.0.2" 2338 | resolved "https://registry.npmjs.org/iftype/-/iftype-3.0.2.tgz" 2339 | integrity sha512-vA/NSyCG3E7XXWC1hmbEDj8WvsduSzLblmj4m2Idywx8YC6CKqGTYzrnoxbMrC+qBcHz85P7uwBwYEY2rX1jvQ== 2340 | dependencies: 2341 | babel-runtime "^6.11.6" 2342 | 2343 | iftype@^4.0.9: 2344 | version "4.0.9" 2345 | resolved "https://registry.npmjs.org/iftype/-/iftype-4.0.9.tgz" 2346 | integrity sha512-01Klo+04dkDzY193D1GVfOdQzmpqaYFJTAlZKRztkT/BOaU7sSnvxGimSln+7DMqLUP4tpDTNFgxqVPLYZVypA== 2347 | 2348 | ignore@^5.2.0: 2349 | version "5.2.0" 2350 | resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz" 2351 | integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== 2352 | 2353 | import-fresh@^3.0.0, import-fresh@^3.2.1: 2354 | version "3.3.0" 2355 | resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" 2356 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== 2357 | dependencies: 2358 | parent-module "^1.0.0" 2359 | resolve-from "^4.0.0" 2360 | 2361 | imurmurhash@^0.1.4: 2362 | version "0.1.4" 2363 | resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" 2364 | integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== 2365 | 2366 | inflight@^1.0.4: 2367 | version "1.0.6" 2368 | resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" 2369 | integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== 2370 | dependencies: 2371 | once "^1.3.0" 2372 | wrappy "1" 2373 | 2374 | inherits@2: 2375 | version "2.0.4" 2376 | resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" 2377 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 2378 | 2379 | inquirer@^7.0.0: 2380 | version "7.3.3" 2381 | resolved "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz" 2382 | integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== 2383 | dependencies: 2384 | ansi-escapes "^4.2.1" 2385 | chalk "^4.1.0" 2386 | cli-cursor "^3.1.0" 2387 | cli-width "^3.0.0" 2388 | external-editor "^3.0.3" 2389 | figures "^3.0.0" 2390 | lodash "^4.17.19" 2391 | mute-stream "0.0.8" 2392 | run-async "^2.4.0" 2393 | rxjs "^6.6.0" 2394 | string-width "^4.1.0" 2395 | strip-ansi "^6.0.0" 2396 | through "^2.3.6" 2397 | 2398 | is-core-module@^2.9.0: 2399 | version "2.10.0" 2400 | resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz" 2401 | integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== 2402 | dependencies: 2403 | has "^1.0.3" 2404 | 2405 | is-extglob@^2.1.1: 2406 | version "2.1.1" 2407 | resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" 2408 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== 2409 | 2410 | is-fullwidth-code-point@^2.0.0: 2411 | version "2.0.0" 2412 | resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" 2413 | integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== 2414 | 2415 | is-fullwidth-code-point@^3.0.0: 2416 | version "3.0.0" 2417 | resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" 2418 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 2419 | 2420 | is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: 2421 | version "4.0.3" 2422 | resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" 2423 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 2424 | dependencies: 2425 | is-extglob "^2.1.1" 2426 | 2427 | is-number@^7.0.0: 2428 | version "7.0.0" 2429 | resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" 2430 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 2431 | 2432 | is-promise@^2.2.2: 2433 | version "2.2.2" 2434 | resolved "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz" 2435 | integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== 2436 | 2437 | is-stream@^2.0.0: 2438 | version "2.0.1" 2439 | resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" 2440 | integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== 2441 | 2442 | is-utf8@^0.2.1: 2443 | version "0.2.1" 2444 | resolved "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz" 2445 | integrity sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q== 2446 | 2447 | isexe@^2.0.0: 2448 | version "2.0.0" 2449 | resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" 2450 | integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== 2451 | 2452 | javascript-natural-sort@0.7.1: 2453 | version "0.7.1" 2454 | resolved "https://registry.npmjs.org/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz" 2455 | integrity sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw== 2456 | 2457 | js-tokens@^4.0.0: 2458 | version "4.0.0" 2459 | resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" 2460 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 2461 | 2462 | js-yaml@^4.1.0: 2463 | version "4.1.0" 2464 | resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" 2465 | integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== 2466 | dependencies: 2467 | argparse "^2.0.1" 2468 | 2469 | jsesc@^2.5.1: 2470 | version "2.5.2" 2471 | resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" 2472 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== 2473 | 2474 | jsesc@~0.5.0: 2475 | version "0.5.0" 2476 | resolved "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" 2477 | integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== 2478 | 2479 | json-schema-traverse@^0.4.1: 2480 | version "0.4.1" 2481 | resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" 2482 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 2483 | 2484 | json-stable-stringify-without-jsonify@^1.0.1: 2485 | version "1.0.1" 2486 | resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" 2487 | integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== 2488 | 2489 | json5@^2.1.2, json5@^2.2.1: 2490 | version "2.2.1" 2491 | resolved "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz" 2492 | integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== 2493 | 2494 | kolmafia@latest: 2495 | version "4.0.1" 2496 | resolved "https://registry.npmjs.org/kolmafia/-/kolmafia-4.0.1.tgz" 2497 | integrity sha512-qH/A3ZwSqVADzLfNmFsNe0vyfnuSi/Ql6ZaWaJ6y6eMasBbcieTL0w3d0bSvbQj9Oe00MsmeZeJNOlV863rxNA== 2498 | 2499 | levn@^0.4.1: 2500 | version "0.4.1" 2501 | resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" 2502 | integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== 2503 | dependencies: 2504 | prelude-ls "^1.2.1" 2505 | type-check "~0.4.0" 2506 | 2507 | libram@^0.7.4: 2508 | version "0.7.4" 2509 | resolved "https://registry.yarnpkg.com/libram/-/libram-0.7.4.tgz#ce3cfb5c52133e161bbf738b490ca576a38e743c" 2510 | integrity sha512-dLTwHVy9DR8nosCrWNijja7B1RTNIJCktAGscMRGPCvz/1ZSXaLjYrSbO72m4TesjzckBAXlVaEfUFgVyZiLug== 2511 | dependencies: 2512 | "@babel/runtime-corejs3" "^7.17.2" 2513 | core-js "^3.21.0" 2514 | lodash "^4.17.21" 2515 | 2516 | license.js@^3.1.2: 2517 | version "3.1.2" 2518 | resolved "https://registry.npmjs.org/license.js/-/license.js-3.1.2.tgz" 2519 | integrity sha512-anbqciJ9HfQVMRicsegiZOJ6nrP93ly24alImDOO7KndNLs3Um861fSEpXpWqGPMOv7PfZTJZL1p4cPq+Au4BQ== 2520 | dependencies: 2521 | pify "^3.0.0" 2522 | 2523 | locate-path@^3.0.0: 2524 | version "3.0.0" 2525 | resolved "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" 2526 | integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== 2527 | dependencies: 2528 | p-locate "^3.0.0" 2529 | path-exists "^3.0.0" 2530 | 2531 | locate-path@^6.0.0: 2532 | version "6.0.0" 2533 | resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" 2534 | integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== 2535 | dependencies: 2536 | p-locate "^5.0.0" 2537 | 2538 | lodash.debounce@^4.0.8: 2539 | version "4.0.8" 2540 | resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" 2541 | integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== 2542 | 2543 | lodash.get@^4.4.2: 2544 | version "4.4.2" 2545 | resolved "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz" 2546 | integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== 2547 | 2548 | lodash.merge@^4.6.2: 2549 | version "4.6.2" 2550 | resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" 2551 | integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== 2552 | 2553 | lodash@4.17.21, lodash@^4.17.19, lodash@^4.17.21: 2554 | version "4.17.21" 2555 | resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" 2556 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 2557 | 2558 | lru-cache@^6.0.0: 2559 | version "6.0.0" 2560 | resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" 2561 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 2562 | dependencies: 2563 | yallist "^4.0.0" 2564 | 2565 | lru-queue@^0.1.0: 2566 | version "0.1.0" 2567 | resolved "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz" 2568 | integrity sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ== 2569 | dependencies: 2570 | es5-ext "~0.10.2" 2571 | 2572 | memoizee@^0.4.14: 2573 | version "0.4.15" 2574 | resolved "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz" 2575 | integrity sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ== 2576 | dependencies: 2577 | d "^1.0.1" 2578 | es5-ext "^0.10.53" 2579 | es6-weak-map "^2.0.3" 2580 | event-emitter "^0.3.5" 2581 | is-promise "^2.2.2" 2582 | lru-queue "^0.1.0" 2583 | next-tick "^1.1.0" 2584 | timers-ext "^0.1.7" 2585 | 2586 | merge-stream@^2.0.0: 2587 | version "2.0.0" 2588 | resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" 2589 | integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== 2590 | 2591 | merge2@^1.3.0, merge2@^1.4.1: 2592 | version "1.4.1" 2593 | resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" 2594 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 2595 | 2596 | micromatch@^4.0.4: 2597 | version "4.0.5" 2598 | resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" 2599 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== 2600 | dependencies: 2601 | braces "^3.0.2" 2602 | picomatch "^2.3.1" 2603 | 2604 | mimic-fn@^2.1.0: 2605 | version "2.1.0" 2606 | resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" 2607 | integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== 2608 | 2609 | minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: 2610 | version "3.1.2" 2611 | resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" 2612 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== 2613 | dependencies: 2614 | brace-expansion "^1.1.7" 2615 | 2616 | minimist@^1.2.5: 2617 | version "1.2.6" 2618 | resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz" 2619 | integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== 2620 | 2621 | ms@2.1.2: 2622 | version "2.1.2" 2623 | resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" 2624 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 2625 | 2626 | mute-stream@0.0.8: 2627 | version "0.0.8" 2628 | resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz" 2629 | integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== 2630 | 2631 | natural-compare@^1.4.0: 2632 | version "1.4.0" 2633 | resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" 2634 | integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== 2635 | 2636 | neo-async@^2.6.0: 2637 | version "2.6.2" 2638 | resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" 2639 | integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== 2640 | 2641 | next-tick@1, next-tick@^1.1.0: 2642 | version "1.1.0" 2643 | resolved "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz" 2644 | integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== 2645 | 2646 | node-fetch@^2.6.1: 2647 | version "2.6.7" 2648 | resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz" 2649 | integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== 2650 | dependencies: 2651 | whatwg-url "^5.0.0" 2652 | 2653 | node-releases@^2.0.6: 2654 | version "2.0.6" 2655 | resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz" 2656 | integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== 2657 | 2658 | npm-run-path@^4.0.1: 2659 | version "4.0.1" 2660 | resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" 2661 | integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== 2662 | dependencies: 2663 | path-key "^3.0.0" 2664 | 2665 | object-keys@^1.1.1: 2666 | version "1.1.1" 2667 | resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" 2668 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== 2669 | 2670 | object.assign@^4.1.0: 2671 | version "4.1.4" 2672 | resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz" 2673 | integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== 2674 | dependencies: 2675 | call-bind "^1.0.2" 2676 | define-properties "^1.1.4" 2677 | has-symbols "^1.0.3" 2678 | object-keys "^1.1.1" 2679 | 2680 | objnest@^5.0.3, objnest@^5.0.6: 2681 | version "5.1.1" 2682 | resolved "https://registry.npmjs.org/objnest/-/objnest-5.1.1.tgz" 2683 | integrity sha512-C4fjNlHhUQbHiiFpgzvZse3/WUHq356Da3P8NZazg9JpPHFiQP2Y9lmYvpLU06midap0YpNz/MuA8GGSL8G0YQ== 2684 | dependencies: 2685 | "@babel/runtime" "^7.12.5" 2686 | abind "^1.0.5" 2687 | extend "^3.0.2" 2688 | 2689 | once@^1.3.0: 2690 | version "1.4.0" 2691 | resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" 2692 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== 2693 | dependencies: 2694 | wrappy "1" 2695 | 2696 | onetime@^5.1.0, onetime@^5.1.2: 2697 | version "5.1.2" 2698 | resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" 2699 | integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== 2700 | dependencies: 2701 | mimic-fn "^2.1.0" 2702 | 2703 | optionator@^0.9.1: 2704 | version "0.9.1" 2705 | resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" 2706 | integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== 2707 | dependencies: 2708 | deep-is "^0.1.3" 2709 | fast-levenshtein "^2.0.6" 2710 | levn "^0.4.1" 2711 | prelude-ls "^1.2.1" 2712 | type-check "^0.4.0" 2713 | word-wrap "^1.2.3" 2714 | 2715 | os-tmpdir@~1.0.2: 2716 | version "1.0.2" 2717 | resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" 2718 | integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== 2719 | 2720 | p-limit@^2.0.0: 2721 | version "2.3.0" 2722 | resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" 2723 | integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== 2724 | dependencies: 2725 | p-try "^2.0.0" 2726 | 2727 | p-limit@^3.0.2: 2728 | version "3.1.0" 2729 | resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" 2730 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== 2731 | dependencies: 2732 | yocto-queue "^0.1.0" 2733 | 2734 | p-locate@^3.0.0: 2735 | version "3.0.0" 2736 | resolved "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" 2737 | integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== 2738 | dependencies: 2739 | p-limit "^2.0.0" 2740 | 2741 | p-locate@^5.0.0: 2742 | version "5.0.0" 2743 | resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" 2744 | integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== 2745 | dependencies: 2746 | p-limit "^3.0.2" 2747 | 2748 | p-try@^2.0.0: 2749 | version "2.2.0" 2750 | resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" 2751 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== 2752 | 2753 | parent-module@^1.0.0: 2754 | version "1.0.1" 2755 | resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" 2756 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== 2757 | dependencies: 2758 | callsites "^3.0.0" 2759 | 2760 | path-exists@^3.0.0: 2761 | version "3.0.0" 2762 | resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" 2763 | integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== 2764 | 2765 | path-exists@^4.0.0: 2766 | version "4.0.0" 2767 | resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" 2768 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 2769 | 2770 | path-is-absolute@^1.0.0: 2771 | version "1.0.1" 2772 | resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" 2773 | integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== 2774 | 2775 | path-key@^3.0.0, path-key@^3.1.0: 2776 | version "3.1.1" 2777 | resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" 2778 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 2779 | 2780 | path-parse@^1.0.7: 2781 | version "1.0.7" 2782 | resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" 2783 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 2784 | 2785 | path-type@^4.0.0: 2786 | version "4.0.0" 2787 | resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" 2788 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== 2789 | 2790 | picocolors@^1.0.0: 2791 | version "1.0.0" 2792 | resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" 2793 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 2794 | 2795 | picomatch@^2.3.1: 2796 | version "2.3.1" 2797 | resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" 2798 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 2799 | 2800 | pify@^3.0.0: 2801 | version "3.0.0" 2802 | resolved "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" 2803 | integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== 2804 | 2805 | pkg-up@^3.1.0: 2806 | version "3.1.0" 2807 | resolved "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz" 2808 | integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== 2809 | dependencies: 2810 | find-up "^3.0.0" 2811 | 2812 | prelude-ls@^1.2.1: 2813 | version "1.2.1" 2814 | resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" 2815 | integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== 2816 | 2817 | prettier-linter-helpers@^1.0.0: 2818 | version "1.0.0" 2819 | resolved "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz" 2820 | integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== 2821 | dependencies: 2822 | fast-diff "^1.1.2" 2823 | 2824 | prettier@^2.7.1: 2825 | version "2.7.1" 2826 | resolved "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz" 2827 | integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== 2828 | 2829 | punycode@^2.1.0: 2830 | version "2.1.1" 2831 | resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" 2832 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 2833 | 2834 | queue-microtask@^1.2.2: 2835 | version "1.2.3" 2836 | resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" 2837 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 2838 | 2839 | regenerate-unicode-properties@^10.0.1: 2840 | version "10.0.1" 2841 | resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz" 2842 | integrity sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw== 2843 | dependencies: 2844 | regenerate "^1.4.2" 2845 | 2846 | regenerate@^1.4.2: 2847 | version "1.4.2" 2848 | resolved "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" 2849 | integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== 2850 | 2851 | regenerator-runtime@^0.11.0: 2852 | version "0.11.1" 2853 | resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz" 2854 | integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== 2855 | 2856 | regenerator-runtime@^0.13.4: 2857 | version "0.13.9" 2858 | resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz" 2859 | integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== 2860 | 2861 | regenerator-transform@^0.15.0: 2862 | version "0.15.0" 2863 | resolved "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz" 2864 | integrity sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg== 2865 | dependencies: 2866 | "@babel/runtime" "^7.8.4" 2867 | 2868 | regexpp@^3.2.0: 2869 | version "3.2.0" 2870 | resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" 2871 | integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== 2872 | 2873 | regexpu-core@^5.1.0: 2874 | version "5.1.0" 2875 | resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz" 2876 | integrity sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA== 2877 | dependencies: 2878 | regenerate "^1.4.2" 2879 | regenerate-unicode-properties "^10.0.1" 2880 | regjsgen "^0.6.0" 2881 | regjsparser "^0.8.2" 2882 | unicode-match-property-ecmascript "^2.0.0" 2883 | unicode-match-property-value-ecmascript "^2.0.0" 2884 | 2885 | regjsgen@^0.6.0: 2886 | version "0.6.0" 2887 | resolved "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz" 2888 | integrity sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA== 2889 | 2890 | regjsparser@^0.8.2: 2891 | version "0.8.4" 2892 | resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz" 2893 | integrity sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA== 2894 | dependencies: 2895 | jsesc "~0.5.0" 2896 | 2897 | require-directory@^2.1.1: 2898 | version "2.1.1" 2899 | resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" 2900 | integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== 2901 | 2902 | require-main-filename@^2.0.0: 2903 | version "2.0.0" 2904 | resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz" 2905 | integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== 2906 | 2907 | requireindex@~1.1.0: 2908 | version "1.1.0" 2909 | resolved "https://registry.npmjs.org/requireindex/-/requireindex-1.1.0.tgz" 2910 | integrity sha512-LBnkqsDE7BZKvqylbmn7lTIVdpx4K/QCduRATpO5R+wtPmky/a8pN1bO2D6wXppn1497AJF9mNjqAXr6bdl9jg== 2911 | 2912 | resolve-from@^4.0.0: 2913 | version "4.0.0" 2914 | resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" 2915 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 2916 | 2917 | resolve@^1.14.2: 2918 | version "1.22.1" 2919 | resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz" 2920 | integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== 2921 | dependencies: 2922 | is-core-module "^2.9.0" 2923 | path-parse "^1.0.7" 2924 | supports-preserve-symlinks-flag "^1.0.0" 2925 | 2926 | restore-cursor@^3.1.0: 2927 | version "3.1.0" 2928 | resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz" 2929 | integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== 2930 | dependencies: 2931 | onetime "^5.1.0" 2932 | signal-exit "^3.0.2" 2933 | 2934 | reusify@^1.0.4: 2935 | version "1.0.4" 2936 | resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" 2937 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 2938 | 2939 | rimraf@^3.0.2: 2940 | version "3.0.2" 2941 | resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" 2942 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== 2943 | dependencies: 2944 | glob "^7.1.3" 2945 | 2946 | run-async@^2.4.0: 2947 | version "2.4.1" 2948 | resolved "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz" 2949 | integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== 2950 | 2951 | run-parallel@^1.1.9: 2952 | version "1.2.0" 2953 | resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" 2954 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 2955 | dependencies: 2956 | queue-microtask "^1.2.2" 2957 | 2958 | rxjs@^6.6.0: 2959 | version "6.6.7" 2960 | resolved "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz" 2961 | integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== 2962 | dependencies: 2963 | tslib "^1.9.0" 2964 | 2965 | safe-buffer@~5.1.1: 2966 | version "5.1.2" 2967 | resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" 2968 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 2969 | 2970 | "safer-buffer@>= 2.1.2 < 3": 2971 | version "2.1.2" 2972 | resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" 2973 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 2974 | 2975 | semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: 2976 | version "6.3.0" 2977 | resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" 2978 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 2979 | 2980 | semver@^7.3.7: 2981 | version "7.3.7" 2982 | resolved "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz" 2983 | integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== 2984 | dependencies: 2985 | lru-cache "^6.0.0" 2986 | 2987 | set-blocking@^2.0.0: 2988 | version "2.0.0" 2989 | resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" 2990 | integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== 2991 | 2992 | shebang-command@^2.0.0: 2993 | version "2.0.0" 2994 | resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" 2995 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 2996 | dependencies: 2997 | shebang-regex "^3.0.0" 2998 | 2999 | shebang-regex@^3.0.0: 3000 | version "3.0.0" 3001 | resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" 3002 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 3003 | 3004 | signal-exit@^3.0.2, signal-exit@^3.0.3: 3005 | version "3.0.7" 3006 | resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" 3007 | integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== 3008 | 3009 | slash@^3, slash@^3.0.0: 3010 | version "3.0.0" 3011 | resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" 3012 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== 3013 | 3014 | source-map@^0.5.0: 3015 | version "0.5.7" 3016 | resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" 3017 | integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== 3018 | 3019 | source-map@^0.6.1: 3020 | version "0.6.1" 3021 | resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" 3022 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 3023 | 3024 | string-width@^3.0.0, string-width@^3.1.0: 3025 | version "3.1.0" 3026 | resolved "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz" 3027 | integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== 3028 | dependencies: 3029 | emoji-regex "^7.0.1" 3030 | is-fullwidth-code-point "^2.0.0" 3031 | strip-ansi "^5.1.0" 3032 | 3033 | string-width@^4.1.0: 3034 | version "4.2.3" 3035 | resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" 3036 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== 3037 | dependencies: 3038 | emoji-regex "^8.0.0" 3039 | is-fullwidth-code-point "^3.0.0" 3040 | strip-ansi "^6.0.1" 3041 | 3042 | stringcase@^4.3.0: 3043 | version "4.3.1" 3044 | resolved "https://registry.npmjs.org/stringcase/-/stringcase-4.3.1.tgz" 3045 | integrity sha512-Ov7McNX1sFaEX9NWijD1hIOVDDhKdnFzN9tvoa1N8xgrclouhsO4kBPVrTPhjO/zP5mn1Ww03uZ2SThNMXS7zg== 3046 | 3047 | strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: 3048 | version "5.2.0" 3049 | resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz" 3050 | integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== 3051 | dependencies: 3052 | ansi-regex "^4.1.0" 3053 | 3054 | strip-ansi@^6.0.0, strip-ansi@^6.0.1: 3055 | version "6.0.1" 3056 | resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" 3057 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 3058 | dependencies: 3059 | ansi-regex "^5.0.1" 3060 | 3061 | strip-final-newline@^2.0.0: 3062 | version "2.0.0" 3063 | resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" 3064 | integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== 3065 | 3066 | strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: 3067 | version "3.1.1" 3068 | resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" 3069 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== 3070 | 3071 | supports-color@^5.3.0: 3072 | version "5.5.0" 3073 | resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" 3074 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 3075 | dependencies: 3076 | has-flag "^3.0.0" 3077 | 3078 | supports-color@^7.1.0: 3079 | version "7.2.0" 3080 | resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" 3081 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 3082 | dependencies: 3083 | has-flag "^4.0.0" 3084 | 3085 | supports-preserve-symlinks-flag@^1.0.0: 3086 | version "1.0.0" 3087 | resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" 3088 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 3089 | 3090 | text-table@^0.2.0: 3091 | version "0.2.0" 3092 | resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" 3093 | integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== 3094 | 3095 | through@^2.3.6: 3096 | version "2.3.8" 3097 | resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz" 3098 | integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== 3099 | 3100 | timers-ext@^0.1.5, timers-ext@^0.1.7: 3101 | version "0.1.7" 3102 | resolved "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz" 3103 | integrity sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ== 3104 | dependencies: 3105 | es5-ext "~0.10.46" 3106 | next-tick "1" 3107 | 3108 | tmp@^0.0.33: 3109 | version "0.0.33" 3110 | resolved "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz" 3111 | integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== 3112 | dependencies: 3113 | os-tmpdir "~1.0.2" 3114 | 3115 | to-fast-properties@^2.0.0: 3116 | version "2.0.0" 3117 | resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" 3118 | integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== 3119 | 3120 | to-regex-range@^5.0.1: 3121 | version "5.0.1" 3122 | resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" 3123 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 3124 | dependencies: 3125 | is-number "^7.0.0" 3126 | 3127 | tr46@~0.0.3: 3128 | version "0.0.3" 3129 | resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" 3130 | integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== 3131 | 3132 | tslib@^1.8.1, tslib@^1.9.0: 3133 | version "1.14.1" 3134 | resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" 3135 | integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== 3136 | 3137 | tsutils@^3.21.0: 3138 | version "3.21.0" 3139 | resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" 3140 | integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== 3141 | dependencies: 3142 | tslib "^1.8.1" 3143 | 3144 | type-check@^0.4.0, type-check@~0.4.0: 3145 | version "0.4.0" 3146 | resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" 3147 | integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== 3148 | dependencies: 3149 | prelude-ls "^1.2.1" 3150 | 3151 | type-fest@^0.20.2: 3152 | version "0.20.2" 3153 | resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" 3154 | integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== 3155 | 3156 | type-fest@^0.21.3: 3157 | version "0.21.3" 3158 | resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" 3159 | integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== 3160 | 3161 | type@^1.0.1: 3162 | version "1.2.0" 3163 | resolved "https://registry.npmjs.org/type/-/type-1.2.0.tgz" 3164 | integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== 3165 | 3166 | type@^2.7.2: 3167 | version "2.7.2" 3168 | resolved "https://registry.npmjs.org/type/-/type-2.7.2.tgz" 3169 | integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw== 3170 | 3171 | typescript@^4.7.4: 3172 | version "4.8.2" 3173 | resolved "https://registry.npmjs.org/typescript/-/typescript-4.8.2.tgz" 3174 | integrity sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw== 3175 | 3176 | uglify-js@^3.1.4: 3177 | version "3.17.0" 3178 | resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.0.tgz" 3179 | integrity sha512-aTeNPVmgIMPpm1cxXr2Q/nEbvkmV8yq66F3om7X3P/cvOXQ0TMQ64Wk63iyT1gPlmdmGzjGpyLh1f3y8MZWXGg== 3180 | 3181 | unicode-canonical-property-names-ecmascript@^2.0.0: 3182 | version "2.0.0" 3183 | resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz" 3184 | integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== 3185 | 3186 | unicode-match-property-ecmascript@^2.0.0: 3187 | version "2.0.0" 3188 | resolved "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz" 3189 | integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== 3190 | dependencies: 3191 | unicode-canonical-property-names-ecmascript "^2.0.0" 3192 | unicode-property-aliases-ecmascript "^2.0.0" 3193 | 3194 | unicode-match-property-value-ecmascript@^2.0.0: 3195 | version "2.0.0" 3196 | resolved "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz" 3197 | integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw== 3198 | 3199 | unicode-property-aliases-ecmascript@^2.0.0: 3200 | version "2.0.0" 3201 | resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz" 3202 | integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ== 3203 | 3204 | update-browserslist-db@^1.0.5: 3205 | version "1.0.7" 3206 | resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.7.tgz" 3207 | integrity sha512-iN/XYesmZ2RmmWAiI4Z5rq0YqSiv0brj9Ce9CfhNE4xIW2h+MFxcgkxIzZ+ShkFPUkjU3gQ+3oypadD3RAMtrg== 3208 | dependencies: 3209 | escalade "^3.1.1" 3210 | picocolors "^1.0.0" 3211 | 3212 | uri-js@^4.2.2: 3213 | version "4.4.1" 3214 | resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" 3215 | integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== 3216 | dependencies: 3217 | punycode "^2.1.0" 3218 | 3219 | uuid@^8.3.2: 3220 | version "8.3.2" 3221 | resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" 3222 | integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== 3223 | 3224 | webidl-conversions@^3.0.0: 3225 | version "3.0.1" 3226 | resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" 3227 | integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== 3228 | 3229 | whatwg-url@^5.0.0: 3230 | version "5.0.0" 3231 | resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" 3232 | integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== 3233 | dependencies: 3234 | tr46 "~0.0.3" 3235 | webidl-conversions "^3.0.0" 3236 | 3237 | which-module@^2.0.0: 3238 | version "2.0.0" 3239 | resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz" 3240 | integrity sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q== 3241 | 3242 | which@^2.0.1: 3243 | version "2.0.2" 3244 | resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" 3245 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 3246 | dependencies: 3247 | isexe "^2.0.0" 3248 | 3249 | word-wrap@^1.2.3: 3250 | version "1.2.3" 3251 | resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" 3252 | integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== 3253 | 3254 | wordwrap@^1.0.0: 3255 | version "1.0.0" 3256 | resolved "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz" 3257 | integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== 3258 | 3259 | wrap-ansi@^5.1.0: 3260 | version "5.1.0" 3261 | resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz" 3262 | integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== 3263 | dependencies: 3264 | ansi-styles "^3.2.0" 3265 | string-width "^3.0.0" 3266 | strip-ansi "^5.0.0" 3267 | 3268 | wrappy@1: 3269 | version "1.0.2" 3270 | resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" 3271 | integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== 3272 | 3273 | y18n@^4.0.0: 3274 | version "4.0.3" 3275 | resolved "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz" 3276 | integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== 3277 | 3278 | yallist@^4.0.0: 3279 | version "4.0.0" 3280 | resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" 3281 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 3282 | 3283 | yargs-interactive@^3.0.1: 3284 | version "3.0.1" 3285 | resolved "https://registry.npmjs.org/yargs-interactive/-/yargs-interactive-3.0.1.tgz" 3286 | integrity sha512-Jnp88uiuz+ZRpM10Lwvs0nRetWPog+6lcgQrhwKsyEanAe3wgTlaPPzcYlZWp53aOMTzOcR5wEpEsFOMOPmLlw== 3287 | dependencies: 3288 | inquirer "^7.0.0" 3289 | yargs "^14.0.0" 3290 | 3291 | yargs-parser@^15.0.1: 3292 | version "15.0.3" 3293 | resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.3.tgz" 3294 | integrity sha512-/MVEVjTXy/cGAjdtQf8dW3V9b97bPN7rNn8ETj6BmAQL7ibC7O1Q9SPJbGjgh3SlwoBNXMzj/ZGIj8mBgl12YA== 3295 | dependencies: 3296 | camelcase "^5.0.0" 3297 | decamelize "^1.2.0" 3298 | 3299 | yargs@^14.0.0: 3300 | version "14.2.3" 3301 | resolved "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz" 3302 | integrity sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg== 3303 | dependencies: 3304 | cliui "^5.0.0" 3305 | decamelize "^1.2.0" 3306 | find-up "^3.0.0" 3307 | get-caller-file "^2.0.1" 3308 | require-directory "^2.1.1" 3309 | require-main-filename "^2.0.0" 3310 | set-blocking "^2.0.0" 3311 | string-width "^3.0.0" 3312 | which-module "^2.0.0" 3313 | y18n "^4.0.0" 3314 | yargs-parser "^15.0.1" 3315 | 3316 | yocto-queue@^0.1.0: 3317 | version "0.1.0" 3318 | resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" 3319 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== 3320 | --------------------------------------------------------------------------------