shufflecom-calculations 1.0.5 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,10 @@
1
+ import BigNumber from 'bignumber.js';
2
+ declare class Mines {
3
+ getResults(hexStr: string[]): number[];
4
+ hitMine: (field: number, results: number[]) => boolean;
5
+ calculateMultiplierBN(diamonds: number, mines: number, edgeBps: number): BigNumber;
6
+ calculateWinChanceBN(diamonds: number, mines: number): BigNumber;
7
+ calculatePayoutBN(amount: BigNumber, multiplier: BigNumber): BigNumber;
8
+ }
9
+ declare const _default: Mines;
10
+ export default _default;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
7
+ const utils_1 = require("../utils");
8
+ const ncr_1 = require("../utils/ncr");
9
+ const BYTE_TOTAL = new bignumber_js_1.default(256);
10
+ const TOTAL_TILES = new bignumber_js_1.default(25);
11
+ class Mines {
12
+ constructor() {
13
+ this.hitMine = (field, results) => {
14
+ return results.some((result) => result === field);
15
+ };
16
+ }
17
+ getResults(hexStr) {
18
+ const results = [];
19
+ const grids = Array.from(Array(TOTAL_TILES.toNumber()).keys());
20
+ hexStr
21
+ .map((hex) => (0, utils_1.hexToBytes)(hex))
22
+ .map((gameResultBytes, counter) => {
23
+ let position = new bignumber_js_1.default(0);
24
+ for (let i = 0; i < 4; i++) {
25
+ const value = gameResultBytes[i];
26
+ position = position.plus(new bignumber_js_1.default(value).dividedBy(BYTE_TOTAL.pow(i + 1)));
27
+ }
28
+ position = position.multipliedBy(TOTAL_TILES.minus(new bignumber_js_1.default(counter))).integerValue(bignumber_js_1.default.ROUND_DOWN);
29
+ results.push(grids.splice(position.toNumber(), 1)[0]);
30
+ });
31
+ return results;
32
+ }
33
+ calculateMultiplierBN(diamonds, mines, edgeBps) {
34
+ return this.calculateWinChanceBN(diamonds, mines).pow(-1).multipliedBy((0, utils_1.calculateEdgeMultiplier)(edgeBps));
35
+ }
36
+ calculateWinChanceBN(diamonds, mines) {
37
+ return (0, ncr_1.nCr)(TOTAL_TILES.minus(mines).toNumber(), diamonds).dividedBy((0, ncr_1.nCr)(TOTAL_TILES.toNumber(), diamonds));
38
+ }
39
+ calculatePayoutBN(amount, multiplier) {
40
+ return amount.multipliedBy(multiplier);
41
+ }
42
+ }
43
+ exports.default = new Mines();
44
+ //# sourceMappingURL=mines.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mines.js","sourceRoot":"","sources":["../../src/games/mines.ts"],"names":[],"mappings":";;;;;AAAA,gEAAqC;AACrC,oCAA+D;AAC/D,sCAAmC;AACnC,MAAM,UAAU,GAAG,IAAI,sBAAS,CAAC,GAAG,CAAC,CAAC;AACtC,MAAM,WAAW,GAAG,IAAI,sBAAS,CAAC,EAAE,CAAC,CAAC;AACtC,MAAM,KAAK;IAAX;QAoBE,YAAO,GAAG,CAAC,KAAa,EAAE,OAAiB,EAAE,EAAE;YAC7C,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC;QACpD,CAAC,CAAC;IAaJ,CAAC;IAlCC,UAAU,CAAC,MAAgB;QACzB,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/D,MAAM;aACH,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAA,kBAAU,EAAC,GAAG,CAAC,CAAC;aAC7B,GAAG,CAAC,CAAC,eAAe,EAAE,OAAO,EAAE,EAAE;YAChC,IAAI,QAAQ,GAAG,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC;YAEhC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC1B,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;gBACjC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,sBAAS,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aACjF;YACD,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,sBAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,sBAAS,CAAC,UAAU,CAAC,CAAC;YAC/G,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEL,OAAO,OAAO,CAAC;IACjB,CAAC;IAMD,qBAAqB,CAAC,QAAgB,EAAE,KAAa,EAAE,OAAe;QACpE,OAAO,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAA,+BAAuB,EAAC,OAAO,CAAC,CAAC,CAAC;IAC3G,CAAC;IAED,oBAAoB,CAAC,QAAgB,EAAE,KAAa;QAClD,OAAO,IAAA,SAAG,EAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,IAAA,SAAG,EAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7G,CAAC;IAED,iBAAiB,CAAC,MAAiB,EAAE,UAAqB;QACxD,OAAO,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;CACF;AAED,kBAAe,IAAI,KAAK,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const mines_1 = __importDefault(require("./mines"));
7
+ const edgeBps = 100;
8
+ const results = [
9
+ { mines: 5, diamonds: 20, multiplier: 52598.7, winChance: 0.00001882 },
10
+ { mines: 4, diamonds: 6, multiplier: 3.231037, winChance: 0.30640316 },
11
+ { mines: 3, diamonds: 10, multiplier: 5.004396, winChance: 0.19782609 },
12
+ { mines: 17, diamonds: 3, multiplier: 40.660714, winChance: 0.02434783 },
13
+ ];
14
+ describe('Mines', () => {
15
+ it('be able to calculate the correct win chances', () => {
16
+ results.forEach((item) => {
17
+ expect(mines_1.default.calculateMultiplierBN(item.diamonds, item.mines, edgeBps).decimalPlaces(6).toNumber()).toBe(item.multiplier);
18
+ });
19
+ results.forEach((item) => {
20
+ expect(mines_1.default.calculateWinChanceBN(item.diamonds, item.mines).decimalPlaces(8).toNumber()).toBe(item.winChance);
21
+ });
22
+ });
23
+ });
24
+ //# sourceMappingURL=mines.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mines.spec.js","sourceRoot":"","sources":["../../src/games/mines.spec.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAE5B,MAAM,OAAO,GAAG,GAAG,CAAC;AACpB,MAAM,OAAO,GAAG;IACd,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE;IACtE,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE;IACtE,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE;IACvE,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE;CACzE,CAAC;AAEF,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACrB,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACvB,MAAM,CAAC,eAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5H,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACvB,MAAM,CAAC,eAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACjH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import BigNumber from "bignumber.js";
2
+ export declare enum PlinkoRiskLevel {
3
+ LOW_RISK = "LOW_RISK",
4
+ MEDIUM_RISK = "MEDIUM_RISK",
5
+ HIGH_RISK = "HIGH_RISK"
6
+ }
7
+ interface PlinkConfig {
8
+ rows: number;
9
+ payout: Record<PlinkoRiskLevel, number[]>;
10
+ }
11
+ declare class Plinko {
12
+ configs(): PlinkConfig[];
13
+ calculateChance(rows: number, position: number): BigNumber;
14
+ calculateChances(rows: number): BigNumber[];
15
+ }
16
+ declare const _default: Plinko;
17
+ export default _default;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.PlinkoRiskLevel = void 0;
7
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
+ const ncr_1 = require("../utils/ncr");
9
+ var PlinkoRiskLevel;
10
+ (function (PlinkoRiskLevel) {
11
+ PlinkoRiskLevel["LOW_RISK"] = "LOW_RISK";
12
+ PlinkoRiskLevel["MEDIUM_RISK"] = "MEDIUM_RISK";
13
+ PlinkoRiskLevel["HIGH_RISK"] = "HIGH_RISK";
14
+ })(PlinkoRiskLevel = exports.PlinkoRiskLevel || (exports.PlinkoRiskLevel = {}));
15
+ const plinkoConfigs = [
16
+ {
17
+ rows: 8,
18
+ payout: {
19
+ [PlinkoRiskLevel.LOW_RISK]: [5.6, 2.1, 1.1, 1, 0.5, 1, 1.1, 2.1, 5.6],
20
+ [PlinkoRiskLevel.MEDIUM_RISK]: [13, 3, 1.3, 0.7, 0.4, 0.7, 1.3, 3, 13],
21
+ [PlinkoRiskLevel.HIGH_RISK]: [29, 4, 1.5, 0.3, 0.2, 0.3, 1.5, 4, 29]
22
+ }
23
+ },
24
+ {
25
+ rows: 9,
26
+ payout: {
27
+ [PlinkoRiskLevel.LOW_RISK]: [5.6, 2, 1.6, 1, 0.7, 0.7, 1, 1.6, 2, 5.6],
28
+ [PlinkoRiskLevel.MEDIUM_RISK]: [18, 4, 1.7, 0.9, 0.5, 0.5, 0.9, 1.7, 4, 18],
29
+ [PlinkoRiskLevel.HIGH_RISK]: [43, 7, 2, 0.6, 0.2, 0.2, 0.6, 2, 7, 43]
30
+ }
31
+ }
32
+ ];
33
+ class Plinko {
34
+ configs() {
35
+ return plinkoConfigs;
36
+ }
37
+ calculateChance(rows, position) {
38
+ const possibleOutcomes = (0, ncr_1.nCr)(rows, position);
39
+ const sampleSpace = new bignumber_js_1.default(2).pow(rows);
40
+ return possibleOutcomes.dividedBy(sampleSpace);
41
+ }
42
+ calculateChances(rows) {
43
+ return [...Array(rows + 1).keys()].map((position) => this.calculateChance(rows, position));
44
+ }
45
+ }
46
+ exports.default = new Plinko();
47
+ //# sourceMappingURL=plinko.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plinko.js","sourceRoot":"","sources":["../../src/games/plinko.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;AACrC,sCAAkC;AAElC,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,wCAAqB,CAAA;IACrB,8CAA2B,CAAA;IAC3B,0CAAuB,CAAA;AACzB,CAAC,EAJW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAI1B;AAOD,MAAM,aAAa,GAAkB;IACnC;QACE,IAAI,EAAE,CAAC;QACP,MAAM,EAAE;YACN,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;YACrE,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YACtE,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;SACrE;KACF;IACD;QACE,IAAI,EAAE,CAAC;QACP,MAAM,EAAE;YACN,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC;YACtE,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3E,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;SACtE;KACF;CACF,CAAA;AAED,MAAM,MAAM;IACV,OAAO;QACL,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,eAAe,CAAC,IAAY,EAAE,QAAgB;QAC5C,MAAM,gBAAgB,GAAG,IAAA,SAAG,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE/C,OAAO,gBAAgB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC;IAED,gBAAgB,CAAC,IAAY;QAC3B,OAAO,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7F,CAAC;CACF;AAED,kBAAe,IAAI,MAAM,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
7
+ const plinko_1 = __importDefault(require("./plinko"));
8
+ const edgeBps = 100;
9
+ const thresholdBps = 20;
10
+ const upperThreshold = edgeBps + thresholdBps;
11
+ const lowerThreshold = edgeBps - thresholdBps;
12
+ describe('Plinko', () => {
13
+ it('ensure we we maintain enough edge', () => {
14
+ plinko_1.default.configs().forEach(({ rows, payout }) => {
15
+ Object.entries(payout).forEach(([riskLevel, riskPayout]) => {
16
+ if (riskPayout.length !== rows + 1) {
17
+ throw new Error(`rows: ${rows} riskLevel: ${riskLevel} has too many or too few payout options`);
18
+ }
19
+ let expectedPayout = new bignumber_js_1.default(0);
20
+ Object.values(riskPayout).forEach((payoutValue, position) => {
21
+ const chance = plinko_1.default.calculateChance(rows, position);
22
+ expectedPayout = expectedPayout.plus(chance.multipliedBy(payoutValue));
23
+ });
24
+ const riskLevelEdge = new bignumber_js_1.default(1).minus(expectedPayout).multipliedBy(10000).toNumber();
25
+ if (riskLevelEdge < lowerThreshold || riskLevelEdge > upperThreshold) {
26
+ throw new Error(`rows: ${rows} riskLevel: ${riskLevel} exceeding edge threshold. Currently at ${riskLevelEdge}% edge`);
27
+ }
28
+ });
29
+ });
30
+ });
31
+ });
32
+ //# sourceMappingURL=plinko.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plinko.spec.js","sourceRoot":"","sources":["../../src/games/plinko.spec.ts"],"names":[],"mappings":";;;;;AAAA,gEAAqC;AACrC,sDAA8B;AAE9B,MAAM,OAAO,GAAG,GAAG,CAAC;AAEpB,MAAM,YAAY,GAAG,EAAE,CAAC;AAExB,MAAM,cAAc,GAAG,OAAO,GAAG,YAAY,CAAC;AAC9C,MAAM,cAAc,GAAG,OAAO,GAAG,YAAY,CAAC;AAE9C,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACtB,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,gBAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE;YAC5C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,EAAE;gBACzD,IAAI,UAAU,CAAC,MAAM,KAAK,IAAI,GAAG,CAAC,EAAE;oBAClC,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,eAAe,SAAS,yCAAyC,CAAC,CAAA;iBAChG;gBAED,IAAI,cAAc,GAAG,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC;gBACtC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,EAAE;oBAC1D,MAAM,MAAM,GAAG,gBAAM,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;oBAEtD,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAA;gBACxE,CAAC,CAAC,CAAA;gBAEF,MAAM,aAAa,GAAG,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,YAAY,CAAC,KAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAE7F,IAAI,aAAa,GAAG,cAAc,IAAI,aAAa,GAAG,cAAc,EAAE;oBACpE,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,eAAe,SAAS,2CAA2C,aAAa,QAAQ,CAAC,CAAA;iBACvH;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC,CAAC"}
package/lib/index.d.ts CHANGED
@@ -2,3 +2,5 @@ export { default as dice } from './games/dice';
2
2
  export * from './regex';
3
3
  export { Chain } from './enums/chain';
4
4
  export * from './utils';
5
+ export { default as mines } from './games/mines';
6
+ export { default as plinko } from './games/plinko';
package/lib/index.js CHANGED
@@ -17,11 +17,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
17
17
  return (mod && mod.__esModule) ? mod : { "default": mod };
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.Chain = exports.dice = void 0;
20
+ exports.plinko = exports.mines = exports.Chain = exports.dice = void 0;
21
21
  var dice_1 = require("./games/dice");
22
22
  Object.defineProperty(exports, "dice", { enumerable: true, get: function () { return __importDefault(dice_1).default; } });
23
23
  __exportStar(require("./regex"), exports);
24
24
  var chain_1 = require("./enums/chain");
25
25
  Object.defineProperty(exports, "Chain", { enumerable: true, get: function () { return chain_1.Chain; } });
26
26
  __exportStar(require("./utils"), exports);
27
+ var mines_1 = require("./games/mines");
28
+ Object.defineProperty(exports, "mines", { enumerable: true, get: function () { return __importDefault(mines_1).default; } });
29
+ var plinko_1 = require("./games/plinko");
30
+ Object.defineProperty(exports, "plinko", { enumerable: true, get: function () { return __importDefault(plinko_1).default; } });
27
31
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,qCAA8C;AAArC,6GAAA,OAAO,OAAQ;AACxB,0CAAwB;AACxB,uCAAsC;AAA7B,8FAAA,KAAK,OAAA;AACd,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,qCAA+C;AAAtC,6GAAA,OAAO,OAAQ;AACxB,0CAAwB;AACxB,uCAAsC;AAA7B,8FAAA,KAAK,OAAA;AACd,0CAAwB;AACxB,uCAAiD;AAAxC,+GAAA,OAAO,OAAS;AACzB,yCAAmD;AAA1C,iHAAA,OAAO,OAAU"}
@@ -1 +1 @@
1
- {"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.full.d.ts","../../../node_modules/bignumber.js/bignumber.d.ts","../src/utils/edge.ts","../src/utils/hex-to-bytes.ts","../src/games/dice.ts","../src/regex/index.ts","../src/enums/chain.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/bn.js/index.d.ts","../../../node_modules/web3-utils/types/index.d.ts","../src/utils/is-valid-address.ts","../../../node_modules/@types/uuid/index.d.ts","../src/utils/generate-concurrency-id.ts","../src/utils/index.ts","../src/index.ts","../src/games/dice.spec.ts","../src/regex/regex.spec.ts","../../../node_modules/@types/accepts/index.d.ts","../../../node_modules/@babel/types/lib/index.d.ts","../../../node_modules/@types/babel__generator/index.d.ts","../../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../../node_modules/@types/babel__template/index.d.ts","../../../node_modules/@types/babel__traverse/index.d.ts","../../../node_modules/@types/babel__core/index.d.ts","../../../node_modules/@types/bcryptjs/index.d.ts","../../../node_modules/@types/connect/index.d.ts","../../../node_modules/@types/body-parser/index.d.ts","../../../node_modules/ioredis/built/types.d.ts","../../../node_modules/ioredis/built/Command.d.ts","../../../node_modules/ioredis/built/ScanStream.d.ts","../../../node_modules/ioredis/built/utils/RedisCommander.d.ts","../../../node_modules/ioredis/built/transaction.d.ts","../../../node_modules/ioredis/built/utils/Commander.d.ts","../../../node_modules/ioredis/built/connectors/AbstractConnector.d.ts","../../../node_modules/ioredis/built/connectors/ConnectorConstructor.d.ts","../../../node_modules/ioredis/built/connectors/SentinelConnector/types.d.ts","../../../node_modules/ioredis/built/connectors/SentinelConnector/SentinelIterator.d.ts","../../../node_modules/ioredis/built/connectors/SentinelConnector/index.d.ts","../../../node_modules/ioredis/built/connectors/StandaloneConnector.d.ts","../../../node_modules/ioredis/built/redis/RedisOptions.d.ts","../../../node_modules/ioredis/built/cluster/util.d.ts","../../../node_modules/ioredis/built/cluster/ClusterOptions.d.ts","../../../node_modules/ioredis/built/cluster/index.d.ts","../../../node_modules/ioredis/built/Redis.d.ts","../../../node_modules/ioredis/built/Pipeline.d.ts","../../../node_modules/ioredis/built/index.d.ts","../../../node_modules/@types/bull/index.d.ts","../../../node_modules/@types/cache-manager/index.d.ts","../../../node_modules/@types/cache-manager-redis-store/node_modules/@types/redis/index.d.ts","../../../node_modules/@types/cache-manager-redis-store/node_modules/@types/cache-manager/index.d.ts","../../../node_modules/@types/cache-manager-redis-store/index.d.ts","../../../node_modules/keyv/src/index.d.ts","../../../node_modules/@types/http-cache-semantics/index.d.ts","../../../node_modules/@types/responselike/index.d.ts","../../../node_modules/@types/cacheable-request/index.d.ts","../../../node_modules/@types/content-disposition/index.d.ts","../../../node_modules/@types/cookiejar/index.d.ts","../../../node_modules/@types/keygrip/index.d.ts","../../../node_modules/@types/range-parser/index.d.ts","../../../node_modules/@types/qs/index.d.ts","../../../node_modules/@types/express-serve-static-core/index.d.ts","../../../node_modules/@types/mime/index.d.ts","../../../node_modules/@types/serve-static/index.d.ts","../../../node_modules/@types/express/index.d.ts","../../../node_modules/@types/cookies/index.d.ts","../../../node_modules/@types/cors/index.d.ts","../../../node_modules/@types/crypto-js/index.d.ts","../../../node_modules/@types/eslint/helpers.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/eslint/index.d.ts","../../../node_modules/@types/eslint-scope/index.d.ts","../../../node_modules/@types/fs-capacitor/index.d.ts","../../../node_modules/@types/graceful-fs/index.d.ts","../../../node_modules/graphql/version.d.ts","../../../node_modules/graphql/jsutils/Maybe.d.ts","../../../node_modules/graphql/language/source.d.ts","../../../node_modules/graphql/jsutils/ObjMap.d.ts","../../../node_modules/graphql/jsutils/Path.d.ts","../../../node_modules/graphql/jsutils/PromiseOrValue.d.ts","../../../node_modules/graphql/language/kinds.d.ts","../../../node_modules/graphql/language/tokenKind.d.ts","../../../node_modules/graphql/language/ast.d.ts","../../../node_modules/graphql/language/location.d.ts","../../../node_modules/graphql/error/GraphQLError.d.ts","../../../node_modules/graphql/language/directiveLocation.d.ts","../../../node_modules/graphql/type/directives.d.ts","../../../node_modules/graphql/type/schema.d.ts","../../../node_modules/graphql/type/definition.d.ts","../../../node_modules/graphql/execution/execute.d.ts","../../../node_modules/graphql/graphql.d.ts","../../../node_modules/graphql/type/scalars.d.ts","../../../node_modules/graphql/type/introspection.d.ts","../../../node_modules/graphql/type/validate.d.ts","../../../node_modules/graphql/type/assertName.d.ts","../../../node_modules/graphql/type/index.d.ts","../../../node_modules/graphql/language/printLocation.d.ts","../../../node_modules/graphql/language/lexer.d.ts","../../../node_modules/graphql/language/parser.d.ts","../../../node_modules/graphql/language/printer.d.ts","../../../node_modules/graphql/language/visitor.d.ts","../../../node_modules/graphql/language/predicates.d.ts","../../../node_modules/graphql/language/index.d.ts","../../../node_modules/graphql/execution/subscribe.d.ts","../../../node_modules/graphql/execution/values.d.ts","../../../node_modules/graphql/execution/index.d.ts","../../../node_modules/graphql/subscription/index.d.ts","../../../node_modules/graphql/utilities/TypeInfo.d.ts","../../../node_modules/graphql/validation/ValidationContext.d.ts","../../../node_modules/graphql/validation/validate.d.ts","../../../node_modules/graphql/validation/specifiedRules.d.ts","../../../node_modules/graphql/validation/rules/ExecutableDefinitionsRule.d.ts","../../../node_modules/graphql/validation/rules/FieldsOnCorrectTypeRule.d.ts","../../../node_modules/graphql/validation/rules/FragmentsOnCompositeTypesRule.d.ts","../../../node_modules/graphql/validation/rules/KnownArgumentNamesRule.d.ts","../../../node_modules/graphql/validation/rules/KnownDirectivesRule.d.ts","../../../node_modules/graphql/validation/rules/KnownFragmentNamesRule.d.ts","../../../node_modules/graphql/validation/rules/KnownTypeNamesRule.d.ts","../../../node_modules/graphql/validation/rules/LoneAnonymousOperationRule.d.ts","../../../node_modules/graphql/validation/rules/NoFragmentCyclesRule.d.ts","../../../node_modules/graphql/validation/rules/NoUndefinedVariablesRule.d.ts","../../../node_modules/graphql/validation/rules/NoUnusedFragmentsRule.d.ts","../../../node_modules/graphql/validation/rules/NoUnusedVariablesRule.d.ts","../../../node_modules/graphql/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts","../../../node_modules/graphql/validation/rules/PossibleFragmentSpreadsRule.d.ts","../../../node_modules/graphql/validation/rules/ProvidedRequiredArgumentsRule.d.ts","../../../node_modules/graphql/validation/rules/ScalarLeafsRule.d.ts","../../../node_modules/graphql/validation/rules/SingleFieldSubscriptionsRule.d.ts","../../../node_modules/graphql/validation/rules/UniqueArgumentNamesRule.d.ts","../../../node_modules/graphql/validation/rules/UniqueDirectivesPerLocationRule.d.ts","../../../node_modules/graphql/validation/rules/UniqueFragmentNamesRule.d.ts","../../../node_modules/graphql/validation/rules/UniqueInputFieldNamesRule.d.ts","../../../node_modules/graphql/validation/rules/UniqueOperationNamesRule.d.ts","../../../node_modules/graphql/validation/rules/UniqueVariableNamesRule.d.ts","../../../node_modules/graphql/validation/rules/ValuesOfCorrectTypeRule.d.ts","../../../node_modules/graphql/validation/rules/VariablesAreInputTypesRule.d.ts","../../../node_modules/graphql/validation/rules/VariablesInAllowedPositionRule.d.ts","../../../node_modules/graphql/validation/rules/LoneSchemaDefinitionRule.d.ts","../../../node_modules/graphql/validation/rules/UniqueOperationTypesRule.d.ts","../../../node_modules/graphql/validation/rules/UniqueTypeNamesRule.d.ts","../../../node_modules/graphql/validation/rules/UniqueEnumValueNamesRule.d.ts","../../../node_modules/graphql/validation/rules/UniqueFieldDefinitionNamesRule.d.ts","../../../node_modules/graphql/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts","../../../node_modules/graphql/validation/rules/UniqueDirectiveNamesRule.d.ts","../../../node_modules/graphql/validation/rules/PossibleTypeExtensionsRule.d.ts","../../../node_modules/graphql/validation/rules/custom/NoDeprecatedCustomRule.d.ts","../../../node_modules/graphql/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts","../../../node_modules/graphql/validation/index.d.ts","../../../node_modules/graphql/error/syntaxError.d.ts","../../../node_modules/graphql/error/locatedError.d.ts","../../../node_modules/graphql/error/index.d.ts","../../../node_modules/graphql/utilities/getIntrospectionQuery.d.ts","../../../node_modules/graphql/utilities/getOperationAST.d.ts","../../../node_modules/graphql/utilities/getOperationRootType.d.ts","../../../node_modules/graphql/utilities/introspectionFromSchema.d.ts","../../../node_modules/graphql/utilities/buildClientSchema.d.ts","../../../node_modules/graphql/utilities/buildASTSchema.d.ts","../../../node_modules/graphql/utilities/extendSchema.d.ts","../../../node_modules/graphql/utilities/lexicographicSortSchema.d.ts","../../../node_modules/graphql/utilities/printSchema.d.ts","../../../node_modules/graphql/utilities/typeFromAST.d.ts","../../../node_modules/graphql/utilities/valueFromAST.d.ts","../../../node_modules/graphql/utilities/valueFromASTUntyped.d.ts","../../../node_modules/graphql/utilities/astFromValue.d.ts","../../../node_modules/graphql/utilities/coerceInputValue.d.ts","../../../node_modules/graphql/utilities/concatAST.d.ts","../../../node_modules/graphql/utilities/separateOperations.d.ts","../../../node_modules/graphql/utilities/stripIgnoredCharacters.d.ts","../../../node_modules/graphql/utilities/typeComparators.d.ts","../../../node_modules/graphql/utilities/assertValidName.d.ts","../../../node_modules/graphql/utilities/findBreakingChanges.d.ts","../../../node_modules/graphql/utilities/typedQueryDocumentNode.d.ts","../../../node_modules/graphql/utilities/index.d.ts","../../../node_modules/graphql/index.d.ts","../../../node_modules/@types/http-assert/index.d.ts","../../../node_modules/@types/http-errors/index.d.ts","../../../node_modules/@types/koa-compose/index.d.ts","../../../node_modules/@types/koa/index.d.ts","../../../node_modules/@types/graphql-upload/index.d.ts","../../../node_modules/@types/ioredis/index.d.ts","../../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../node_modules/@types/istanbul-lib-report/index.d.ts","../../../node_modules/@types/istanbul-reports/index.d.ts","../../../node_modules/chalk/index.d.ts","../../../node_modules/@types/jest/node_modules/jest-diff/build/cleanupSemantic.d.ts","../../../node_modules/@types/jest/node_modules/pretty-format/build/types.d.ts","../../../node_modules/@types/jest/node_modules/pretty-format/build/index.d.ts","../../../node_modules/@types/jest/node_modules/jest-diff/build/types.d.ts","../../../node_modules/@types/jest/node_modules/jest-diff/build/diffLines.d.ts","../../../node_modules/@types/jest/node_modules/jest-diff/build/printDiffs.d.ts","../../../node_modules/@types/jest/node_modules/jest-diff/build/index.d.ts","../../../node_modules/@types/jest/node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts","../../../node_modules/@types/js-yaml/index.d.ts","../../../node_modules/@types/json-buffer/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/jsonwebtoken/index.d.ts","../../../node_modules/@types/keyv/index.d.ts","../../../node_modules/@types/lodash/common/common.d.ts","../../../node_modules/@types/lodash/common/array.d.ts","../../../node_modules/@types/lodash/common/collection.d.ts","../../../node_modules/@types/lodash/common/date.d.ts","../../../node_modules/@types/lodash/common/function.d.ts","../../../node_modules/@types/lodash/common/lang.d.ts","../../../node_modules/@types/lodash/common/math.d.ts","../../../node_modules/@types/lodash/common/number.d.ts","../../../node_modules/@types/lodash/common/object.d.ts","../../../node_modules/@types/lodash/common/seq.d.ts","../../../node_modules/@types/lodash/common/string.d.ts","../../../node_modules/@types/lodash/common/util.d.ts","../../../node_modules/@types/lodash/index.d.ts","../../../node_modules/@types/long/index.d.ts","../../../node_modules/@types/md5/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/parse-json/index.d.ts","../../../node_modules/@types/passport/index.d.ts","../../../node_modules/@types/passport-http/index.d.ts","../../../node_modules/@types/pbkdf2/index.d.ts","../../../node_modules/@types/prettier/index.d.ts","../../../node_modules/@types/randomstring/index.d.ts","../../../node_modules/@types/secp256k1/index.d.ts","../../../node_modules/@types/stack-utils/index.d.ts","../../../node_modules/@types/string-hash/index.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/@types/superagent/index.d.ts","../../../node_modules/@types/supertest/index.d.ts","../../../node_modules/@types/ua-parser-js/index.d.ts","../../../node_modules/@types/ws/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts","../../../node_modules/@types/zen-observable/index.d.ts"],"fileInfos":[{"version":"f5c28122bee592cfaf5c72ed7bcc47f453b79778ffa6e301f45d21a0970719d4","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"3f149f903dd20dfeb7c80e228b659f0e436532de772469980dbd00702cc05cc1","affectsGlobalScope":true},{"version":"1272277fe7daa738e555eb6cc45ded42cc2d0f76c07294142283145d49e96186","affectsGlobalScope":true},{"version":"7fac8cb5fc820bc2a59ae11ef1c5b38d3832c6d0dfaec5acdb5569137d09a481","affectsGlobalScope":true},{"version":"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"cd483c056da900716879771893a3c9772b66c3c88f8943b4205aec738a94b1d0","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"c37f8a49593a0030eecb51bbfa270e709bec9d79a6cc3bb851ef348d4e6b26f8","affectsGlobalScope":true},"d2f31f19e1ba6ed59be9259d660a239d9a3fcbbc8e038c6b2009bde34b175fed","1d7d9e42cb2cc36dfc7ce35755ce67d5ff0f4a2ef72d3019f4c461bfd22123da",{"version":"a3096c0c6bae10e4c01909148699775ad57fb676045b85ed2e7785f12dd8f7fa","signature":"724e6328e3980096541d73f8e0cf9c6f593d214fc78867c1ac2b7981b39061ac"},{"version":"6bbfb17fb632a92070f6f22e23377ff6a6f7145e17a5b08aee70377b9b4d628b","signature":"7e5acc3b9b6966fd7cb109a7a03224e9d95cfe1c8204cbc464ec870a48e0e924"},{"version":"0f139bbe519f09e58300f029a1f86f293017816a46bc460f3e69f52017441a9c","signature":"e4368c029db19a984108ddd1b065f0a01969d7b10944005ec23268decce7e6bf"},{"version":"08db75c4a711a4bce64d1ad4003e7eca672a61066b880e8de499e42927658c0d","signature":"a77969f22bf1c0bc4809db2fdd5fbebeb65d74fd8b9b0c77eedac4f3c4f4f766"},{"version":"25860c1ffa232236c1d99d9e732c5b43deedb3a7d8beb51db44e62320d57edb0","signature":"b683004b52fe44eb31193a4757cde82b89167717fac9354fe826dc4e59a5b9b5"},"0d5a2ee1fdfa82740e0103389b9efd6bfe145a20018a2da3c02b89666181f4d9","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"2f6c9750131d5d2fdaba85c164a930dc07d2d7e7e8970b89d32864aa6c72620c","affectsGlobalScope":true},"56d13f223ab40f71840795f5bef2552a397a70666ee60878222407f3893fb8d0",{"version":"aeeee3998c5a730f8689f04038d41cf4245c9edbf6ef29a698e45b36e399b8ed","affectsGlobalScope":true},"95843d5cfafced8f3f8a5ce57d2335f0bcd361b9483587d12a25e4bd403b8216","afc6e96061af46bcff47246158caee7e056f5288783f2d83d6858cd25be1c565",{"version":"34f5bcac12b36d70304b73de5f5aab3bb91bd9919f984be80579ebcad03a624e","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","086983043967fe6da2d3d0dfc188b7a5e26605f6746676adbe962ce2f781ccc1","f50c975ab7b50e25a69e3d8a3773894125b44e9698924105f23b812bf7488baf","c993aac3b6d4a4620ef9651497069eb84806a131420e4f158ea9396fb8eb9b8c","76650408392bf49a8fbf3e2b6b302712a92d76af77b06e2da1cc8077359c4409","0af3121e68297b2247dd331c0d24dba599e50736a7517a5622d5591aae4a3122","06ccebc2c2db57d6bdbca63b71c4ae5e6ddc42d972fd8f122d4c1a28aa111b25",{"version":"81e8508d1e82278f5d3fee936f267e00c308af36219bfcee2631f9513c9c4017","affectsGlobalScope":true},"413a4be7f94f631235bbc83dad36c4d15e5a2ff02bca1efdbd03636d6454631b","b65ccbecbe24e77d40875a59c209fbb9b866518acca742d2c27b91b034e5ff18","e3b886bacdd1fbf1f72e654596c80a55c7bc1d10bdf464aaf52f45ecd243862f","d2f5c67858e65ebb932c2f4bd2af646f5764e8ad7f1e4fbe942a0b5ea05dc0e7","4b9a003b5c556c96784132945bb41c655ea11273b1917f5c8d0c154dd5fd20dd","7f249c599e7a9335dd8e94a4bfe63f00e911756c3c23f77cdb6ef0ec4d479e4a",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"2cabc86ea4f972f2c8386903eccb8c19e2f2370fb9808b66dd8759c1f2ab30c7","abc1c425b2ad6720433f40f1877abfa4223f0f3dd486c9c28c492179ca183cb6","0e1b73efb8ce3afd418f04f59e26134f46418d2033dff332446fe0ee762b884a","10c39ce1df102994b47d4bc0c71aa9a6aea76f4651a5ec51914431f50bc883a1",{"version":"8207e7e6db9aa5fc7e61c8f17ba74cf9c115d26f51f91ee93f790815a7ea9dfb","affectsGlobalScope":true},"9f1069b9e2c051737b1f9b4f1baf50e4a63385a6a89c32235549ae87fc3d5492","ee18f2da7a037c6ceeb112a084e485aead9ea166980bf433474559eac1b46553","29c2706fa0cc49a2bd90c83234da33d08bb9554ecec675e91c1f85087f5a5324","0acbf26bf958f9e80c1ffa587b74749d2697b75b484062d36e103c137c562bc3","02b3239cf1b1ff8737e383ed5557f0247499d15f5bd21ab849b1a24687b6100c","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"33eee034727baf564056b4ea719075c23d3b4767d0b5f9c6933b81f3d77774d2","c33a6ea7147af60d8e98f1ac127047f4b0d4e2ce28b8f08ff3de07ca7cc00637",{"version":"aee7013623e7632fba449d4df1da92925b27d9b816cb05546044dbfe54c88ef4","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","f6b2d700c02c818151361abb13737527e8bc0aab9b7065b662b25d9eaba4c5de","998a3de5237518c0b3ac00a11b3b4417affb008aa20aedee52f3fdae3cb86151","ad41008ffe077206e1811fc873f4d9005b5fd7f6ab52bb6118fef600815a5cb4",{"version":"1aad825534c73852a1f3275e527d729a2c0640f539198fdfdfeb83b839851910","affectsGlobalScope":true},"badae0df9a8016ac36994b0a0e7b82ba6aaa3528e175a8c3cb161e4683eec03e","c3db860bcaaaeb3bbc23f353bbda1f8ab82756c8d5e973bebb3953cb09ea68f2","235a53595bd20b0b0eeb1a29cb2887c67c48375e92f03749b2488fbd46d0b1a0","bc09393cd4cd13f69cf1366d4236fbae5359bb550f0de4e15767e9a91d63dfb1","9c266243b01545e11d2733a55ad02b4c00ecdbda99c561cd1674f96e89cdc958","c71155c05fc76ff948a4759abc1cb9feec036509f500174bc18dad4c7827a60c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"1503a452a67127e5c2da794d1c7c44344d5038373aae16c9b03ac964db159edd","cdac7e46e615e1fdcca7c3a2aab2fbd19085443048733cf239a090f7a17efa27","0f1bda4af281bf548c03ca9f2f76de68eb52679fae8c3667c9bd50ad73a8ac2e",{"version":"651315db3005075578458b7e4151f113b18237a52bcfad6f18c46a858d3c0212","signature":"9c16779c2138d123a32bc85da42091a88bb5f5918e67d8740a11bb4f7d674b4a"},"fab58e600970e66547644a44bc9918e3223aa2cbd9e8763cec004b2cfb48827e",{"version":"312523393713d4336c29827d2ad6abefb4dadfee098cc8be278582b7947775af","signature":"e2356f008376645c5e99576133b6799b58d7984a88d4616d60ee1ab35ff2c102"},"2235a731b3ac14fa37d36740751c2c2f202f0997150965e670049d95d6f89c19",{"version":"667e041142e9e382f7682ed19201f87c7aec0ab911b17c25debbefda8216c03f","signature":"5d356b0a4ce987a6f085f2f9fadc9a9f9067c290a64dd84913288e20f9e9b590"},{"version":"f41a2985a985546b1979da3068fd46ffdc442e9396173119aa3afb1be655f041","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a2d23935eda59207d8b5fbc3781a84c81c1645b3368d27c9d410be03a8d4793b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"6738101ae8e56cd3879ab3f99630ada7d78097fc9fd334df7e766216778ca219","67633388f50fe010a7b4d892721437d0fac88a282ef46217137d263a8a6651ed","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","a46a2e69d12afe63876ec1e58d70e5dbee6d3e74132f4468f570c3d69f809f1c","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","fc72135da24040641388fb5f2c2a7a99aa5b962c0fa125bd96fabeec63dd2e63","5426e62886b7be7806312d31a00e8f7dccd6fe63ba9bbefe99ee2eab29cc48a3","9dfe431ab1485e17a6055e186c49da9d23af74b965f2e99f8acc6c958778608f","6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","afc559c1b93df37c25aef6b3dfa2d64325b0e112e887ee18bf7e6f4ec383fc90","e8a5beb73e49b5a4899f12b21fa436f4088f5c6b22ed3e6718fcdf526539d851","c8aed2bb932133d6efcb263994d5b79462286625d4a2dc4ee976d309fa31f77d","4dc4b3976fb0b4629ac500a529427958b96e76093c25a2cd7d59fac9f5ce82ea","26b01d0e77b8bd6106c1544ad9fe499816748a6bfcd58c502a9b7a5abc186795","29994a97447d10d003957bcc0c9355c272d8cf0f97143eb1ade331676e860945","6865b4ef724cb739f8f1511295f7ce77c52c67ff4af27e07b61471d81de8ecfc","9cddf06f2bc6753a8628670a737754b5c7e93e2cfe982a300a0b43cf98a7d032","3f8e68bd94e82fe4362553aa03030fcf94c381716ce3599d242535b0d9953e49","63e628515ec7017458620e1624c594c9bd76382f606890c8eebf2532bcab3b7c","355d5e2ba58012bc059e347a70aa8b72d18d82f0c3491e9660adaf852648f032","0c543e751bbd130170ed4efdeca5ff681d06a99f70b5d6fe7defad449d08023d","6a488b1d0c9e7fb85040bdfff94181d47972f0c9998897702df874c76a53d36d","236c2990d130b924b4442194bdafefa400fcbd0c125a5e2c3e106a0dbe43eaad","ded3d0fb8ac3980ae7edcc723cc2ad35da1798d52cceff51c92abe320432ceeb","fbb60baf8c207f19aa1131365e57e1c7974a4f7434c1f8d12e13508961fb20ec","00011159f97bde4bdb1913f30ef185e6948b8d7ad022b1f829284dfc78feaabf","15ab2b66a08d2b8306a82fabd673aa9b23b22824d5360b1f1302508c03735a2b","34d206f6ba993e601dade2791944bdf742ab0f7a8caccc661106c87438f4f904","fc807ff0403dceb2c57f7ad902d32f48dfa9108b74f4de89d8eda16194dac245","dd122fcdd4acbee2a2b14f74c8208dae9d832d533996d74d4ab884d48665bc3d","04cd7c4aa64164f5eb753ec4671f1f87742f9f0473f13f20a0b272606ab2f660","1746ef6931d8b4739de3cd6c82d09f5b8edfef49825e1fb5e88b93c52df3fecd","4f18ea6ed3d10d398417dc47fad2ad62b46d34759ec9b939464f5b1034ed792c","701b9d5386b2c9a86a023617d5c98002436ec00846038b843aecb5f4d1794fea","739549074c075146aadf2d6786e249665d6917d567856bf76c82a7332c63a33e","cab425b5559edac18327eb2c3c0f47e7e9f71b667290b7689faafd28aac69eae","3cfb0cb51cc2c2e1b313d7c4df04dbf7e5bda0a133c6b309bf6af77cf614b971","f992cd6cc0bcbaa4e6c810468c90f2d8595f8c6c3cf050c806397d3de8585562","204dbe6c72467fb14bbe8f06510b11fb541b6ce29580c6e10ebd3bdb2eb0c1f9","8d48b8f8a377ade8dd1f000625bc276eea067f2529cc9cafdf082d17142107d6","ce013414484233b24f42c0fcfca48a60bb66ab4e13c82953662305e8f1ee4925","16d51f964ec125ad2024cf03f0af444b3bc3ec3614d9345cc54d09bab45c9a4c","ba601641fac98c229ccd4a303f747de376d761babb33229bb7153bed9356c9cc",{"version":"101eb8b4e972b9326f39591e2e40e967e3331e8d960f81248daeb266ea1affec","affectsGlobalScope":true},"84e3bbd6f80983d468260fdbfeeb431cc81f7ea98d284d836e4d168e36875e86","0b85cb069d0e427ba946e5eb2d86ef65ffd19867042810516d16919f6c1a5aec","15c88bfd1b8dc7231ff828ae8df5d955bae5ebca4cf2bcb417af5821e52299ae","eb96a2321f717bccc3e49e104e299152984b927ea4546b559ae631c06565819c","6fbd58e4015b9ae31ea977d4d549eb24a1102cc798b57ec5d70868b542c06612",{"version":"4f9362850bb427525ba05c0e861dae06d9918bd16ccb38d504cb7294f69e8496","affectsGlobalScope":true},{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"946bd1737d9412395a8f24414c70f18660b84a75a12b0b448e6eb1a2161d06dd","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","c6297435733f252a9c0e2297fab3b58014b8fde5fa097a4102dae4e12522bccd","e050a0afcdbb269720a900c85076d18e0c1ab73e580202a2bf6964978181222a","ca106dc27136bcfabaf1e0b261e9721e7c8119c7ff9dfd5c96ec2211cff926bd","3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba","78647004e18e4c16b8a2e8345fca9267573d1c5a29e11ddfee71858fd077ef6e","0804044cd0488cb7212ddbc1d0f8e1a5bd32970335dbfc613052304a1b0318f9","b725acb041d2a18fde8f46c48a1408418489c4aa222f559b1ef47bf267cb4be0","85084ae98c1d319e38ef99b1216d3372a9afd7a368022c01c3351b339d52cb58","898ec2410fae172e0a9416448b0838bed286322a5c0c8959e8e39400cd4c5697","692345a43bac37c507fa7065c554258435ab821bbe4fb44b513a70063e932b45","f473be7c909dbd10c40f013e70da40f24648b2abb01025436fe0a0eecd0e83be","c98583f02275727ead0256c97298c15fb77a1c1e473b03c3b61291c63c66d385","9a7904e39add402d71343ac8de5303e990d9abb1fc703c64991c655b718267a5","522edc786ed48304671b935cf7d3ed63acc6636ab9888c6e130b97a6aea92b46","1e1ed5600d80406a10428e349af8b6f09949cd5054043ea8588903e8f9e8d705","7920b8aa27a7b6a90bf9f5dc21eedac7f38ca8717ebe70495ab616eb52b3247b","a53039ba614075aeb702271701981babbd0d4f4dcbf319ddee4c08fb8196cc7a","6758f7b72fa4d38f4f4b865516d3d031795c947a45cc24f2cfba43c91446d678","da679a5bb46df3c6d84f637f09e6689d6c2d07e907ea16adc161e4529a4954d6","dc1a664c33f6ddd2791569999db2b3a476e52c5eeb5474768ffa542b136d78c0","bdf7abbd7df4f29b3e0728684c790e80590b69d92ed8d3bf8e66d4bd713941fe","8decb32fc5d44b403b46c3bb4741188df4fbc3c66d6c65669000c5c9cd506523","391d72e39677e72ba87f890f7a6e53a1830a07bf3fdd6128fe59ac028d7817a1","c26dd198f2793bbdcc55103823a2767d6223a7fdb92486c18b86deaf63208354","93551b302a808f226f0846ad8012354f2d53d6dedc33b540d6ca69836781a574","f0ff1c010d5046af3874d3b4df746c6f3921e4b3fbdec61dee0792fc0cb36ccd","778b684ebc6b006fcffeab77d25b34bf6e400100e0ec0c76056e165c6399ab05","463851fa993af55fb0296e0d6afa27407ef91bf6917098dd665aba1200d250c7","0a13027e3939d08a00e8bf5a99500c9bcafed3d58d7da856093af83add1fb102","be8f369f8d7e887eab87a3e4e41f1afcf61bf06056801383152aa83bda1f6a72","352bfb5f3a9d8a9c2464ad2dc0b2dc56a8212650a541fb550739c286dd341de1","a5aae636d9afdacb22d98e4242487436d8296e5a345348325ccc68481fe1b690","d007c769e33e72e51286b816d82cd7c3a280cba714e7f958691155068bd7150a","c62947664e97a5f6502834551b0a66873f5580019e1a00500fa02c2f52ef3d0e","b04cf223c338c09285010f5308b980ee6d8bfa203824ed2537516f15e92e8c43","4b387f208d1e468193a45a51005b1ed5b666010fc22a15dc1baf4234078b636e","70441eda704feffd132be0c1541f2c7f6bbaafce25cb9b54b181e26af3068e79","d1addb12403afea87a1603121396261a45190886c486c88e1a5d456be17c2049","15d43873064dc8787ca1e4c39149be59183c404d48a8cd5a0ea019bb5fdf8d58","ea4b5d319625203a5a96897b057fddf6017d0f9a902c16060466fe69cc007243","3d06897c536b4aad2b2b015d529270439f2cadd89ca2ff7bd8898ee84898dd88","ab01d8fcb89fae8eda22075153053fefac69f7d9571a389632099e7a53f1922d","bac0ec1f4c61abc7c54ccebb0f739acb0cdbc22b1b19c91854dc142019492961","566b0806f9016fa067b7fecf3951fcc295c30127e5141223393bde16ad04aa4a","8e801abfeda45b1b93e599750a0a8d25074d30d4cc01e3563e56c0ff70edeb68","902997f91b09620835afd88e292eb217fbd55d01706b82b9a014ff408f357559","a3727a926e697919fb59407938bd8573964b3bf543413b685996a47df5645863","83f36c0792d352f641a213ee547d21ea02084a148355aa26b6ef82c4f61c1280","dce7d69c17a438554c11bbf930dec2bee5b62184c0494d74da336daee088ab69","1e8f2cda9735002728017933c54ccea7ebee94b9c68a59a4aac1c9a58aa7da7d","e327a2b222cf9e5c93d7c1ed6468ece2e7b9d738e5da04897f1a99f49d42cca1","65165246b59654ec4e1501dd87927a0ef95d57359709e00e95d1154ad8443bc7","f1bacba19e2fa2eb26c499e36b5ab93d6764f2dba44be3816f12d2bc9ac9a35b","bce38da5fd851520d0cb4d1e6c3c04968cec2faa674ed321c118e97e59872edc","3398f46037f21fb6c33560ceca257259bd6d2ea03737179b61ea9e17cbe07455","6e14fc6c27cb2cb203fe1727bb3a923588f0be8c2604673ad9f879182548daca","12b9bcf8395d33837f301a8e6d545a24dfff80db9e32f8e8e6cf4b11671bb442","04295cc38689e32a4ea194c954ea6604e6afb6f1c102104f74737cb8cf744422","7418f434c136734b23f634e711cf44613ca4c74e63a5ae7429acaee46c7024c8","27d40290b7caba1c04468f2b53cf7112f247f8acdd7c20589cd7decf9f762ad0","2608b8b83639baf3f07316df29202eead703102f1a7e32f74a1b18cf1eee54b5","c93657567a39bd589effe89e863aaadbc339675fca6805ae4d97eafbcce0a05d","909d5db5b3b19f03dfb4a8f1d00cf41d2f679857c28775faf1f10794cbbe9db9","e4504bffce13574bab83ab900b843590d85a0fd38faab7eff83d84ec55de4aff","8ab707f3c833fc1e8a51106b8746c8bc0ce125083ea6200ad881625ae35ce11e","730ddc2386276ac66312edbcc60853fedbb1608a99cb0b1ff82ebf26911dba1f","c1b3fa201aa037110c43c05ea97800eb66fea3f2ecc5f07c6fd47f2b6b5b21d2","636b44188dc6eb326fd566085e6c1c6035b71f839d62c343c299a35888c6f0a9","3b2105bf9823b53c269cabb38011c5a71360c8daabc618fec03102c9514d230c","f96e63eb56e736304c3aef6c745b9fe93db235ddd1fec10b45319c479de1a432","acb4f3cee79f38ceba975e7ee3114eb5cd96ccc02742b0a4c7478b4619f87cd6","cfc85d17c1493b6217bad9052a8edc332d1fde81a919228edab33c14aa762939","eebda441c4486c26de7a8a7343ebbc361d2b0109abff34c2471e45e34a93020a","727b4b8eb62dd98fa4e3a0937172c1a0041eb715b9071c3de96dad597deddcab","708e2a347a1b9868ccdb48f3e43647c6eccec47b8591b220afcafc9e7eeb3784","6bb598e2d45a170f302f113a5b68e518c8d7661ae3b59baf076be9120afa4813","c28e058db8fed2c81d324546f53d2a7aaefff380cbe70f924276dbad89acd7d1","ebe8f07bb402102c5a764b0f8e34bd92d6f50bd7ac61a2452e76b80e02f9bb4b","826a98cb79deab45ccc4e5a8b90fa64510b2169781a7cbb83c4a0a8867f4cc58","618189f94a473b7fdc5cb5ba8b94d146a0d58834cd77cd24d56995f41643ccd5","5baadaca408128671536b3cb77fea44330e169ada70ce50b902c8d992fe64cf1","a4cc469f3561ea3edc57e091f4c9dcaf7485a70d3836be23a6945db46f0acd0b","91b0965538a5eaafa8c09cf9f62b46d6125aa1b3c0e0629dce871f5f41413f90","2978e33a00b4b5fb98337c5e473ab7337030b2f69d1480eccef0290814af0d51","ba71e9777cb5460e3278f0934fd6354041cb25853feca542312807ce1f18e611","608dbaf8c8bb64f4024013e73d7107c16dba4664999a8c6e58f3e71545e48f66","61937cefd7f4d6fa76013d33d5a3c5f9b0fc382e90da34790764a0d17d6277fb","af7db74826f455bfef6a55a188eb6659fd85fdc16f720a89a515c48724ee4c42","d6ce98a960f1b99a72de771fb0ba773cb202c656b8483f22d47d01d68f59ea86","2a47dc4a362214f31689870f809c7d62024afb4297a37b22cb86f679c4d04088","42d907ac511459d7c4828ee4f3f81cc331a08dc98d7b3cb98e3ff5797c095d2e","63d010bff70619e0cdf7900e954a7e188d3175461182f887b869c312a77ecfbd","1452816d619e636de512ca98546aafb9a48382d570af1473f0432a9178c4b1ff","9e3e3932fe16b9288ec8c948048aef4edf1295b09a5412630d63f4a42265370e","8bdba132259883bac06056f7bacd29a4dcf07e3f14ce89edb022fe9b78dcf9b3","5a5406107d9949d83e1225273bcee1f559bb5588942907d923165d83251a0e37","ca0ca4ca5ad4772161ee2a99741d616fea780d777549ba9f05f4a24493ab44e1","e7ee7be996db0d7cce41a85e4cae3a5fc86cf26501ad94e0a20f8b6c1c55b2d4","72263ae386d6a49392a03bde2f88660625da1eca5df8d95120d8ccf507483d20","b498375d015f01585269588b6221008aae6f0c0dc53ead8796ace64bdfcf62ea","08b603e3737ff32a685eefca3e7f21324b8b868f3322416cef759f8a54d234ef","34534c0ead52cc753bdfdd486430ef67f615ace54a4c0e5a3652b4116af84d6d","a1079b54643537f75fa4f4bb963d787a302bddbe3a6001c4b0a524b746e6a9de","7fc9b18b6aafa8a1fc1441670c6c9da63e3d7942c7f451300c48bafd988545e9","e98185f4249720ace1921d59c1ff4612fa5c633a183fc9bf28e2e7b8e3c7fd51","6168414aa12d33d0fcfac4f9870aa81ce27e136db6faf182001a5f3792e1d720","5006668996956580886022c05108e32c742823e1b5652aff7914917233731518","3a9b877f47119ac64aab98c61cae91a304ddeb6e8285ccd824a6aa665ffaeb95","32c82ad8bb67e92ab093e6fb20dbd84e3c3dcf1737645c9612035d41e17ce334","be00321090ed100e3bd1e566c0408004137e73feb19d6380eba57d68519ff6c5","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","462bccdf75fcafc1ae8c30400c9425e1a4681db5d605d1a0edb4f990a54d8094","5923d8facbac6ecf7c84739a5c701a57af94a6f6648d6229a6c768cf28f0f8cb","7adecb2c3238794c378d336a8182d4c3dd2c4fa6fa1785e2797a3db550edea62","dc12dc0e5aa06f4e1a7692149b78f89116af823b9e1f1e4eae140cd3e0e674e6","1bfc6565b90c8771615cd8cfcf9b36efc0275e5e83ac7d9181307e96eb495161","8a8a96898906f065f296665e411f51010b51372fa260d5373bf9f64356703190","7f82ef88bdb67d9a850dd1c7cd2d690f33e0f0acd208e3c9eba086f3670d4f73",{"version":"d9c72b150926b750036b66118dd22fdb76d6d29e977f8314c49880644e23650b","affectsGlobalScope":true},"686e548ae30250d62532c8cacb43fccc922b693408371bd3503563c4a0f28eed","75bdc1b420f0ffc6cc6fd0b6694d89f5072bf755b4e6c7e65a2fda797ca0bb8a","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","e5dd317ef2c7a2882b152337b03d592fafa8351b40351849a16a908b198bd3b5","fec943fdb3275eb6e006b35e04a8e2e99e9adf3f4b969ddf15315ac7575a93e4","675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","fe4a2042d087990ebfc7dc0142d5aaf5a152e4baea86b45f283f103ec1e871ea","d70c026dd2eeaa974f430ea229230a1897fdb897dc74659deebe2afd4feeb08f","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","ca59fe42b81228a317812e95a2e72ccc8c7f1911b5f0c2a032adf41a0161ec5d","9364c7566b0be2f7b70ff5285eb34686f83ccb01bda529b82d23b2a844653bfb","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","ae9930989ed57478eb03b9b80ad3efa7a3eacdfeff0f78ecf7894c4963a64f93","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3e59f00ab03c33717b3130066d4debb272da90eeded4935ff0604c2bc25a5cae","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9",{"version":"f2eff8704452659641164876c1ef0df4174659ce7311b0665798ea3f556fa9ad","affectsGlobalScope":true},"0e60e0cbf2283adfd5a15430ae548cd2f662d581b5da6ecd98220203e7067c70","b018b6d2766bca990a7aaf5dc8cb741cb93d7c3ca10643fd996b24a42f298a26","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b",{"version":"1092b8751d211e30b883907031c513244753594b7781c33dbb6409c7c4de77e2","affectsGlobalScope":true},"1e23915482078e1d3a7cc45bbf311e6112f2ec74d8de77a70ab7eec518f765bd","a73a445c1e0a6d0f8b48e8eb22dc9d647896783a7f8991cbbc31c0d94bf1f5a2","f1d8b21cdf08726021c8cce0cd6159486236cf1d633eeabbc435b5b2e5869c2e",{"version":"4698841dc5a91fe716dd41ec7136867bbde9a274ce21031e5ef6ce2d8a552ceb","affectsGlobalScope":true},"3dce33e7eb25594863b8e615f14a45ab98190d85953436750644212d8a18c066","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","780054ba9913c3d8ccfcb1e71a2c4523e2dff46395ac6cd2553c919c5198066a","8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","31c502014e5ba046d5cb060136929b73fd53f0f989aa37b2b0424644cb0d93ef","76232dbb982272b182a76ad8745a9b02724dc9896e2328ce360e2c56c64c9778","c5e775cc64dcc3b16c41f28b9aee23bb2854792114ea49a8b2bdc35dc9549ca0","b4358a89fcd9c579f84a6c68e2ce44ca91b07e4db3f8f403c2b7a72c1a1e04b6","70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","105b9a2234dcb06ae922f2cd8297201136d416503ff7d16c72bfc8791e9895c1",{"version":"09bba86d90385c19f2b69c0bf72d447ef6e5738964e3a344cb1f9e0270632be8","affectsGlobalScope":true}],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"module":1,"noFallthroughCasesInSwitch":false,"noImplicitAny":true,"outDir":"./","removeComments":true,"skipLibCheck":true,"sourceMap":true,"strictNullChecks":false,"target":4},"fileIdsList":[[95,113],[95],[70,95,102],[95,113,114,115,116,117],[95,113,115],[95,102],[70,95,102,120],[67,95,140],[95,143,144,145],[67,84,95,102],[67,70,94,95,102,146,147,148],[70,95,102,120,152,158],[70,95],[95,163,165],[95,162,163,164],[67,70,95,102,153,154],[95,121,154,155,157],[68,95,102],[70,95,158,167,268,272],[67,84,91,95,102],[95,275],[95,276],[95,281,286],[95,279,282],[95,279,282,283,284],[95,281],[95,278,285],[95,280],[67,95,102],[95,272],[67,70,71,75,81,94,95,102,112,150,152,159,269,270,271],[95,293,295,296,297,298,299,300,301,302,303,304,305],[95,293,294,296,297,298,299,300,301,302,303,304,305],[95,294,295,296,297,298,299,300,301,302,303,304,305],[95,293,294,295,297,298,299,300,301,302,303,304,305],[95,293,294,295,296,298,299,300,301,302,303,304,305],[95,293,294,295,296,297,299,300,301,302,303,304,305],[95,293,294,295,296,297,298,300,301,302,303,304,305],[95,293,294,295,296,297,298,299,301,302,303,304,305],[95,293,294,295,296,297,298,299,300,302,303,304,305],[95,293,294,295,296,297,298,299,300,301,303,304,305],[95,293,294,295,296,297,298,299,300,301,302,304,305],[95,293,294,295,296,297,298,299,300,301,302,303,305],[95,293,294,295,296,297,298,299,300,301,302,303,304],[52,95],[55,95],[56,61,95],[57,67,68,75,84,94,95],[57,58,67,75,95],[59,95],[60,61,68,76,95],[61,84,91,95],[62,64,67,75,95],[63,95],[64,65,95],[66,67,95],[67,95],[67,68,69,84,94,95],[67,68,69,84,95],[70,75,84,94,95],[67,68,70,71,75,84,91,94,95],[70,72,84,91,94,95],[52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101],[67,73,95],[74,94,95],[64,67,75,84,95],[76,95],[77,95],[55,78,95],[79,93,95,99],[80,95],[81,95],[67,82,95],[82,83,95,97],[67,84,85,86,95],[84,86,95],[84,85,95],[87,95],[88,95],[67,89,90,95],[89,90,95],[61,75,91,95],[92,95],[75,93,95],[56,70,81,94,95],[61,95],[84,95,96],[95,97],[95,98],[56,61,67,69,78,84,94,95,97,99],[84,95,100],[95,158,312],[70,95,158],[70,84,95,102],[70,95,102,156],[56,68,70,84,95,102,151],[95,321],[67,70,72,84,91,94,95,100,102],[95,325],[95,170,171,177,178],[95,179,243,244],[95,170,177,179],[95,171,179],[95,170,172,173,174,177,179,182,183],[95,173,184,198,199],[95,170,177,182,183,184],[95,170,172,177,179,181,182,183],[95,170,171,182,183,184],[95,169,185,190,197,200,201,242,245,267],[95,170],[95,171,175,176],[95,171,175,176,177,178,180,191,192,193,194,195,196],[95,171,176,177],[95,171],[95,170,171,176,177,179,192],[95,177],[95,171,177,178],[95,175,177],[95,184,198],[95,170,172,173,174,177,182],[95,170,177,180,183],[95,173,181,182,183,186,187,188,189],[95,183],[95,170,172,177,179,181,183],[95,179,182],[95,170,177,181,182,183,195],[95,179],[95,170,177,183],[95,171,177,182,193],[95,182,246],[95,179,183],[95,177,182],[95,182],[95,170,180],[95,170,177],[95,177,182,183],[95,202,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266],[95,182,183],[95,172,177],[95,170,172,177,183],[95,170,172,177],[95,170,177,179,181,182,183,195,202],[95,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241],[95,195,203],[95,203],[95,170,177,179,182,202,203],[95,102,122],[95,123,127,137,138],[67,95,102,122,123,124,126,127,134,137],[84,95,102],[64,95,102,127,134,135],[67,95,102,122,123,124,126,127,135,136,138],[64,95,102],[95,122],[95,128],[95,130],[67,91,95,102,122,128,130,131,136],[95,134],[75,91,95,102,122,128],[95,122,123,124,125,128,132,133,134,135,136,137,138,139],[95,127,129,132,133],[95,125],[75,91,95,102],[95,122,123,125],[95,103],[49,95],[46,47,48,95],[49,50,51,95,108],[50,95],[46,95],[95,106],[47,48,95,105,107],[51,95,104],[46],[49,50,51,108],[51]],"referencedMap":[[115,1],[113,2],[112,3],[118,4],[114,1],[116,5],[117,1],[119,2],[103,6],[121,7],[141,8],[145,9],[144,2],[143,10],[142,2],[149,11],[120,3],[150,2],[151,2],[159,12],[160,13],[161,2],[166,14],[162,2],[165,15],[163,2],[155,16],[158,17],[167,18],[168,18],[273,19],[269,2],[147,2],[270,2],[274,20],[275,2],[276,21],[277,22],[287,23],[279,2],[283,24],[285,25],[284,24],[282,26],[286,27],[281,28],[280,2],[288,2],[289,2],[164,2],[290,2],[291,6],[152,2],[292,29],[271,30],[272,31],[294,32],[295,33],[293,34],[296,35],[297,36],[298,37],[299,38],[300,39],[301,40],[302,41],[303,42],[304,43],[305,44],[306,2],[307,2],[156,2],[308,2],[309,2],[52,45],[53,45],[55,46],[56,47],[57,48],[58,49],[59,50],[60,51],[61,52],[62,53],[63,54],[64,55],[65,55],[66,56],[67,57],[68,58],[69,59],[54,2],[101,2],[70,60],[71,61],[72,62],[102,63],[73,64],[74,65],[75,66],[76,67],[77,68],[78,69],[79,70],[80,71],[81,72],[82,73],[83,74],[84,75],[86,76],[85,77],[87,78],[88,79],[89,80],[90,81],[91,82],[92,83],[93,84],[94,85],[95,86],[96,87],[97,88],[98,89],[99,90],[100,91],[310,2],[311,2],[313,92],[312,93],[314,6],[315,2],[154,2],[316,2],[153,2],[148,94],[317,6],[157,95],[318,2],[319,2],[321,96],[322,97],[323,2],[106,2],[324,98],[325,2],[326,99],[327,2],[46,2],[320,2],[278,2],[179,100],[245,101],[244,102],[243,103],[184,104],[200,105],[198,106],[199,107],[185,108],[268,109],[170,2],[172,2],[173,110],[174,2],[177,111],[180,2],[197,112],[175,2],[192,113],[178,114],[193,115],[196,116],[191,117],[194,116],[171,2],[176,2],[195,118],[201,119],[189,2],[183,120],[181,121],[190,122],[187,123],[186,123],[182,124],[188,125],[202,126],[264,127],[258,128],[251,129],[250,130],[259,131],[260,116],[252,132],[265,133],[246,134],[247,135],[248,136],[267,137],[249,130],[253,133],[254,138],[261,139],[262,114],[263,138],[255,136],[266,116],[256,140],[257,141],[203,142],[242,143],[206,144],[207,144],[208,144],[209,144],[210,144],[211,144],[212,144],[213,144],[232,144],[214,144],[215,144],[216,144],[217,144],[218,144],[219,144],[239,144],[220,144],[221,144],[222,144],[237,144],[223,144],[238,144],[224,144],[235,144],[236,144],[225,144],[226,144],[227,144],[233,144],[234,144],[228,144],[229,144],[230,144],[231,144],[240,144],[241,144],[205,145],[204,146],[169,2],[123,147],[139,148],[138,149],[124,150],[136,151],[137,152],[135,153],[128,154],[129,155],[131,156],[132,157],[130,158],[133,159],[140,160],[134,161],[126,162],[122,163],[127,164],[125,147],[146,57],[8,2],[9,2],[13,2],[12,2],[2,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[3,2],[4,2],[45,2],[25,2],[22,2],[23,2],[24,2],[26,2],[27,2],[28,2],[5,2],[29,2],[30,2],[31,2],[32,2],[6,2],[33,2],[34,2],[35,2],[36,2],[7,2],[37,2],[42,2],[43,2],[38,2],[39,2],[40,2],[41,2],[1,2],[44,2],[11,2],[10,2],[104,165],[51,2],[110,166],[49,167],[109,168],[50,2],[111,169],[47,170],[107,171],[48,2],[108,172],[105,173]],"exportedModulesMap":[[115,1],[113,2],[112,3],[118,4],[114,1],[116,5],[117,1],[119,2],[103,6],[121,7],[141,8],[145,9],[144,2],[143,10],[142,2],[149,11],[120,3],[150,2],[151,2],[159,12],[160,13],[161,2],[166,14],[162,2],[165,15],[163,2],[155,16],[158,17],[167,18],[168,18],[273,19],[269,2],[147,2],[270,2],[274,20],[275,2],[276,21],[277,22],[287,23],[279,2],[283,24],[285,25],[284,24],[282,26],[286,27],[281,28],[280,2],[288,2],[289,2],[164,2],[290,2],[291,6],[152,2],[292,29],[271,30],[272,31],[294,32],[295,33],[293,34],[296,35],[297,36],[298,37],[299,38],[300,39],[301,40],[302,41],[303,42],[304,43],[305,44],[306,2],[307,2],[156,2],[308,2],[309,2],[52,45],[53,45],[55,46],[56,47],[57,48],[58,49],[59,50],[60,51],[61,52],[62,53],[63,54],[64,55],[65,55],[66,56],[67,57],[68,58],[69,59],[54,2],[101,2],[70,60],[71,61],[72,62],[102,63],[73,64],[74,65],[75,66],[76,67],[77,68],[78,69],[79,70],[80,71],[81,72],[82,73],[83,74],[84,75],[86,76],[85,77],[87,78],[88,79],[89,80],[90,81],[91,82],[92,83],[93,84],[94,85],[95,86],[96,87],[97,88],[98,89],[99,90],[100,91],[310,2],[311,2],[313,92],[312,93],[314,6],[315,2],[154,2],[316,2],[153,2],[148,94],[317,6],[157,95],[318,2],[319,2],[321,96],[322,97],[323,2],[106,2],[324,98],[325,2],[326,99],[327,2],[46,2],[320,2],[278,2],[179,100],[245,101],[244,102],[243,103],[184,104],[200,105],[198,106],[199,107],[185,108],[268,109],[170,2],[172,2],[173,110],[174,2],[177,111],[180,2],[197,112],[175,2],[192,113],[178,114],[193,115],[196,116],[191,117],[194,116],[171,2],[176,2],[195,118],[201,119],[189,2],[183,120],[181,121],[190,122],[187,123],[186,123],[182,124],[188,125],[202,126],[264,127],[258,128],[251,129],[250,130],[259,131],[260,116],[252,132],[265,133],[246,134],[247,135],[248,136],[267,137],[249,130],[253,133],[254,138],[261,139],[262,114],[263,138],[255,136],[266,116],[256,140],[257,141],[203,142],[242,143],[206,144],[207,144],[208,144],[209,144],[210,144],[211,144],[212,144],[213,144],[232,144],[214,144],[215,144],[216,144],[217,144],[218,144],[219,144],[239,144],[220,144],[221,144],[222,144],[237,144],[223,144],[238,144],[224,144],[235,144],[236,144],[225,144],[226,144],[227,144],[233,144],[234,144],[228,144],[229,144],[230,144],[231,144],[240,144],[241,144],[205,145],[204,146],[169,2],[123,147],[139,148],[138,149],[124,150],[136,151],[137,152],[135,153],[128,154],[129,155],[131,156],[132,157],[130,158],[133,159],[140,160],[134,161],[126,162],[122,163],[127,164],[125,147],[146,57],[8,2],[9,2],[13,2],[12,2],[2,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[3,2],[4,2],[45,2],[25,2],[22,2],[23,2],[24,2],[26,2],[27,2],[28,2],[5,2],[29,2],[30,2],[31,2],[32,2],[6,2],[33,2],[34,2],[35,2],[36,2],[7,2],[37,2],[42,2],[43,2],[38,2],[39,2],[40,2],[41,2],[1,2],[44,2],[11,2],[10,2],[104,165],[49,174],[109,175],[47,174],[108,172],[105,176]],"semanticDiagnosticsPerFile":[115,113,112,118,114,116,117,119,103,121,141,145,144,143,142,149,120,150,151,159,160,161,166,162,165,163,155,158,167,168,273,269,147,270,274,275,276,277,287,279,283,285,284,282,286,281,280,288,289,164,290,291,152,292,271,272,294,295,293,296,297,298,299,300,301,302,303,304,305,306,307,156,308,309,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,54,101,70,71,72,102,73,74,75,76,77,78,79,80,81,82,83,84,86,85,87,88,89,90,91,92,93,94,95,96,97,98,99,100,310,311,313,312,314,315,154,316,153,148,317,157,318,319,321,322,323,106,324,325,326,327,46,320,278,179,245,244,243,184,200,198,199,185,268,170,172,173,174,177,180,197,175,192,178,193,196,191,194,171,176,195,201,189,183,181,190,187,186,182,188,202,264,258,251,250,259,260,252,265,246,247,248,267,249,253,254,261,262,263,255,266,256,257,203,242,206,207,208,209,210,211,212,213,232,214,215,216,217,218,219,239,220,221,222,237,223,238,224,235,236,225,226,227,233,234,228,229,230,231,240,241,205,204,169,123,139,138,124,136,137,135,128,129,131,132,130,133,140,134,126,122,127,125,146,8,9,13,12,2,14,15,16,17,18,19,20,21,3,4,45,25,22,23,24,26,27,28,5,29,30,31,32,6,33,34,35,36,7,37,42,43,38,39,40,41,1,44,11,10,104,51,110,49,109,50,111,47,107,48,108,105]},"version":"4.7.4"}
1
+ {"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.full.d.ts","../../../node_modules/bignumber.js/bignumber.d.ts","../src/utils/edge.ts","../src/utils/hex-to-bytes.ts","../src/games/dice.ts","../src/regex/index.ts","../src/enums/chain.ts","../../../node_modules/@types/node/ts4.8/assert.d.ts","../../../node_modules/@types/node/ts4.8/assert/strict.d.ts","../../../node_modules/@types/node/ts4.8/globals.d.ts","../../../node_modules/@types/node/ts4.8/async_hooks.d.ts","../../../node_modules/@types/node/ts4.8/buffer.d.ts","../../../node_modules/@types/node/ts4.8/child_process.d.ts","../../../node_modules/@types/node/ts4.8/cluster.d.ts","../../../node_modules/@types/node/ts4.8/console.d.ts","../../../node_modules/@types/node/ts4.8/constants.d.ts","../../../node_modules/@types/node/ts4.8/crypto.d.ts","../../../node_modules/@types/node/ts4.8/dgram.d.ts","../../../node_modules/@types/node/ts4.8/diagnostics_channel.d.ts","../../../node_modules/@types/node/ts4.8/dns.d.ts","../../../node_modules/@types/node/ts4.8/dns/promises.d.ts","../../../node_modules/@types/node/ts4.8/domain.d.ts","../../../node_modules/@types/node/ts4.8/dom-events.d.ts","../../../node_modules/@types/node/ts4.8/events.d.ts","../../../node_modules/@types/node/ts4.8/fs.d.ts","../../../node_modules/@types/node/ts4.8/fs/promises.d.ts","../../../node_modules/@types/node/ts4.8/http.d.ts","../../../node_modules/@types/node/ts4.8/http2.d.ts","../../../node_modules/@types/node/ts4.8/https.d.ts","../../../node_modules/@types/node/ts4.8/inspector.d.ts","../../../node_modules/@types/node/ts4.8/module.d.ts","../../../node_modules/@types/node/ts4.8/net.d.ts","../../../node_modules/@types/node/ts4.8/os.d.ts","../../../node_modules/@types/node/ts4.8/path.d.ts","../../../node_modules/@types/node/ts4.8/perf_hooks.d.ts","../../../node_modules/@types/node/ts4.8/process.d.ts","../../../node_modules/@types/node/ts4.8/punycode.d.ts","../../../node_modules/@types/node/ts4.8/querystring.d.ts","../../../node_modules/@types/node/ts4.8/readline.d.ts","../../../node_modules/@types/node/ts4.8/readline/promises.d.ts","../../../node_modules/@types/node/ts4.8/repl.d.ts","../../../node_modules/@types/node/ts4.8/stream.d.ts","../../../node_modules/@types/node/ts4.8/stream/promises.d.ts","../../../node_modules/@types/node/ts4.8/stream/consumers.d.ts","../../../node_modules/@types/node/ts4.8/stream/web.d.ts","../../../node_modules/@types/node/ts4.8/string_decoder.d.ts","../../../node_modules/@types/node/ts4.8/test.d.ts","../../../node_modules/@types/node/ts4.8/timers.d.ts","../../../node_modules/@types/node/ts4.8/timers/promises.d.ts","../../../node_modules/@types/node/ts4.8/tls.d.ts","../../../node_modules/@types/node/ts4.8/trace_events.d.ts","../../../node_modules/@types/node/ts4.8/tty.d.ts","../../../node_modules/@types/node/ts4.8/url.d.ts","../../../node_modules/@types/node/ts4.8/util.d.ts","../../../node_modules/@types/node/ts4.8/v8.d.ts","../../../node_modules/@types/node/ts4.8/vm.d.ts","../../../node_modules/@types/node/ts4.8/wasi.d.ts","../../../node_modules/@types/node/ts4.8/worker_threads.d.ts","../../../node_modules/@types/node/ts4.8/zlib.d.ts","../../../node_modules/@types/node/ts4.8/globals.global.d.ts","../../../node_modules/@types/node/ts4.8/index.d.ts","../../../node_modules/@types/bn.js/index.d.ts","../../../node_modules/web3-utils/types/index.d.ts","../src/utils/is-valid-address.ts","../../../node_modules/@types/uuid/index.d.ts","../src/utils/generate-concurrency-id.ts","../src/utils/index.ts","../src/utils/factorial.ts","../src/utils/ncr.ts","../src/games/mines.ts","../src/games/plinko.ts","../src/index.ts","../src/games/dice.spec.ts","../src/games/mines.spec.ts","../src/games/plinko.spec.ts","../src/regex/regex.spec.ts","../src/utils/factorial.spec.ts","../src/utils/ncr.spec.ts","../../../node_modules/@types/accepts/index.d.ts","../../../node_modules/@babel/types/lib/index.d.ts","../../../node_modules/@types/babel__generator/index.d.ts","../../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../../node_modules/@types/babel__template/index.d.ts","../../../node_modules/@types/babel__traverse/index.d.ts","../../../node_modules/@types/babel__core/index.d.ts","../../../node_modules/@types/bcryptjs/index.d.ts","../../../node_modules/@types/connect/index.d.ts","../../../node_modules/@types/body-parser/index.d.ts","../../../node_modules/ioredis/built/types.d.ts","../../../node_modules/ioredis/built/Command.d.ts","../../../node_modules/ioredis/built/ScanStream.d.ts","../../../node_modules/ioredis/built/utils/RedisCommander.d.ts","../../../node_modules/ioredis/built/transaction.d.ts","../../../node_modules/ioredis/built/utils/Commander.d.ts","../../../node_modules/ioredis/built/connectors/AbstractConnector.d.ts","../../../node_modules/ioredis/built/connectors/ConnectorConstructor.d.ts","../../../node_modules/ioredis/built/connectors/SentinelConnector/types.d.ts","../../../node_modules/ioredis/built/connectors/SentinelConnector/SentinelIterator.d.ts","../../../node_modules/ioredis/built/connectors/SentinelConnector/index.d.ts","../../../node_modules/ioredis/built/connectors/StandaloneConnector.d.ts","../../../node_modules/ioredis/built/redis/RedisOptions.d.ts","../../../node_modules/ioredis/built/cluster/util.d.ts","../../../node_modules/ioredis/built/cluster/ClusterOptions.d.ts","../../../node_modules/ioredis/built/cluster/index.d.ts","../../../node_modules/ioredis/built/Redis.d.ts","../../../node_modules/ioredis/built/Pipeline.d.ts","../../../node_modules/ioredis/built/index.d.ts","../../../node_modules/@types/bull/index.d.ts","../../../node_modules/@types/cache-manager/index.d.ts","../../../node_modules/@types/cache-manager-redis-store/node_modules/@types/redis/index.d.ts","../../../node_modules/@types/cache-manager-redis-store/node_modules/@types/cache-manager/index.d.ts","../../../node_modules/@types/cache-manager-redis-store/index.d.ts","../../../node_modules/keyv/src/index.d.ts","../../../node_modules/@types/http-cache-semantics/index.d.ts","../../../node_modules/@types/responselike/index.d.ts","../../../node_modules/@types/cacheable-request/index.d.ts","../../../node_modules/@types/content-disposition/index.d.ts","../../../node_modules/@types/cookiejar/index.d.ts","../../../node_modules/@types/keygrip/index.d.ts","../../../node_modules/@types/range-parser/index.d.ts","../../../node_modules/@types/qs/index.d.ts","../../../node_modules/@types/express-serve-static-core/index.d.ts","../../../node_modules/@types/mime/Mime.d.ts","../../../node_modules/@types/mime/index.d.ts","../../../node_modules/@types/serve-static/index.d.ts","../../../node_modules/@types/express/index.d.ts","../../../node_modules/@types/cookies/index.d.ts","../../../node_modules/@types/cors/index.d.ts","../../../node_modules/@types/crypto-js/index.d.ts","../../../node_modules/@types/eslint/helpers.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/eslint/index.d.ts","../../../node_modules/@types/eslint-scope/index.d.ts","../../../node_modules/@types/fs-capacitor/index.d.ts","../../../node_modules/@types/graceful-fs/index.d.ts","../../../node_modules/graphql/version.d.ts","../../../node_modules/graphql/jsutils/Maybe.d.ts","../../../node_modules/graphql/language/source.d.ts","../../../node_modules/graphql/jsutils/ObjMap.d.ts","../../../node_modules/graphql/jsutils/Path.d.ts","../../../node_modules/graphql/jsutils/PromiseOrValue.d.ts","../../../node_modules/graphql/language/kinds.d.ts","../../../node_modules/graphql/language/tokenKind.d.ts","../../../node_modules/graphql/language/ast.d.ts","../../../node_modules/graphql/language/location.d.ts","../../../node_modules/graphql/error/GraphQLError.d.ts","../../../node_modules/graphql/language/directiveLocation.d.ts","../../../node_modules/graphql/type/directives.d.ts","../../../node_modules/graphql/type/schema.d.ts","../../../node_modules/graphql/type/definition.d.ts","../../../node_modules/graphql/execution/execute.d.ts","../../../node_modules/graphql/graphql.d.ts","../../../node_modules/graphql/type/scalars.d.ts","../../../node_modules/graphql/type/introspection.d.ts","../../../node_modules/graphql/type/validate.d.ts","../../../node_modules/graphql/type/assertName.d.ts","../../../node_modules/graphql/type/index.d.ts","../../../node_modules/graphql/language/printLocation.d.ts","../../../node_modules/graphql/language/lexer.d.ts","../../../node_modules/graphql/language/parser.d.ts","../../../node_modules/graphql/language/printer.d.ts","../../../node_modules/graphql/language/visitor.d.ts","../../../node_modules/graphql/language/predicates.d.ts","../../../node_modules/graphql/language/index.d.ts","../../../node_modules/graphql/execution/subscribe.d.ts","../../../node_modules/graphql/execution/values.d.ts","../../../node_modules/graphql/execution/index.d.ts","../../../node_modules/graphql/subscription/index.d.ts","../../../node_modules/graphql/utilities/TypeInfo.d.ts","../../../node_modules/graphql/validation/ValidationContext.d.ts","../../../node_modules/graphql/validation/validate.d.ts","../../../node_modules/graphql/validation/specifiedRules.d.ts","../../../node_modules/graphql/validation/rules/ExecutableDefinitionsRule.d.ts","../../../node_modules/graphql/validation/rules/FieldsOnCorrectTypeRule.d.ts","../../../node_modules/graphql/validation/rules/FragmentsOnCompositeTypesRule.d.ts","../../../node_modules/graphql/validation/rules/KnownArgumentNamesRule.d.ts","../../../node_modules/graphql/validation/rules/KnownDirectivesRule.d.ts","../../../node_modules/graphql/validation/rules/KnownFragmentNamesRule.d.ts","../../../node_modules/graphql/validation/rules/KnownTypeNamesRule.d.ts","../../../node_modules/graphql/validation/rules/LoneAnonymousOperationRule.d.ts","../../../node_modules/graphql/validation/rules/NoFragmentCyclesRule.d.ts","../../../node_modules/graphql/validation/rules/NoUndefinedVariablesRule.d.ts","../../../node_modules/graphql/validation/rules/NoUnusedFragmentsRule.d.ts","../../../node_modules/graphql/validation/rules/NoUnusedVariablesRule.d.ts","../../../node_modules/graphql/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts","../../../node_modules/graphql/validation/rules/PossibleFragmentSpreadsRule.d.ts","../../../node_modules/graphql/validation/rules/ProvidedRequiredArgumentsRule.d.ts","../../../node_modules/graphql/validation/rules/ScalarLeafsRule.d.ts","../../../node_modules/graphql/validation/rules/SingleFieldSubscriptionsRule.d.ts","../../../node_modules/graphql/validation/rules/UniqueArgumentNamesRule.d.ts","../../../node_modules/graphql/validation/rules/UniqueDirectivesPerLocationRule.d.ts","../../../node_modules/graphql/validation/rules/UniqueFragmentNamesRule.d.ts","../../../node_modules/graphql/validation/rules/UniqueInputFieldNamesRule.d.ts","../../../node_modules/graphql/validation/rules/UniqueOperationNamesRule.d.ts","../../../node_modules/graphql/validation/rules/UniqueVariableNamesRule.d.ts","../../../node_modules/graphql/validation/rules/ValuesOfCorrectTypeRule.d.ts","../../../node_modules/graphql/validation/rules/VariablesAreInputTypesRule.d.ts","../../../node_modules/graphql/validation/rules/VariablesInAllowedPositionRule.d.ts","../../../node_modules/graphql/validation/rules/LoneSchemaDefinitionRule.d.ts","../../../node_modules/graphql/validation/rules/UniqueOperationTypesRule.d.ts","../../../node_modules/graphql/validation/rules/UniqueTypeNamesRule.d.ts","../../../node_modules/graphql/validation/rules/UniqueEnumValueNamesRule.d.ts","../../../node_modules/graphql/validation/rules/UniqueFieldDefinitionNamesRule.d.ts","../../../node_modules/graphql/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts","../../../node_modules/graphql/validation/rules/UniqueDirectiveNamesRule.d.ts","../../../node_modules/graphql/validation/rules/PossibleTypeExtensionsRule.d.ts","../../../node_modules/graphql/validation/rules/custom/NoDeprecatedCustomRule.d.ts","../../../node_modules/graphql/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts","../../../node_modules/graphql/validation/index.d.ts","../../../node_modules/graphql/error/syntaxError.d.ts","../../../node_modules/graphql/error/locatedError.d.ts","../../../node_modules/graphql/error/index.d.ts","../../../node_modules/graphql/utilities/getIntrospectionQuery.d.ts","../../../node_modules/graphql/utilities/getOperationAST.d.ts","../../../node_modules/graphql/utilities/getOperationRootType.d.ts","../../../node_modules/graphql/utilities/introspectionFromSchema.d.ts","../../../node_modules/graphql/utilities/buildClientSchema.d.ts","../../../node_modules/graphql/utilities/buildASTSchema.d.ts","../../../node_modules/graphql/utilities/extendSchema.d.ts","../../../node_modules/graphql/utilities/lexicographicSortSchema.d.ts","../../../node_modules/graphql/utilities/printSchema.d.ts","../../../node_modules/graphql/utilities/typeFromAST.d.ts","../../../node_modules/graphql/utilities/valueFromAST.d.ts","../../../node_modules/graphql/utilities/valueFromASTUntyped.d.ts","../../../node_modules/graphql/utilities/astFromValue.d.ts","../../../node_modules/graphql/utilities/coerceInputValue.d.ts","../../../node_modules/graphql/utilities/concatAST.d.ts","../../../node_modules/graphql/utilities/separateOperations.d.ts","../../../node_modules/graphql/utilities/stripIgnoredCharacters.d.ts","../../../node_modules/graphql/utilities/typeComparators.d.ts","../../../node_modules/graphql/utilities/assertValidName.d.ts","../../../node_modules/graphql/utilities/findBreakingChanges.d.ts","../../../node_modules/graphql/utilities/typedQueryDocumentNode.d.ts","../../../node_modules/graphql/utilities/index.d.ts","../../../node_modules/graphql/index.d.ts","../../../node_modules/@types/http-assert/index.d.ts","../../../node_modules/@types/http-errors/index.d.ts","../../../node_modules/@types/koa-compose/index.d.ts","../../../node_modules/@types/koa/index.d.ts","../../../node_modules/@types/graphql-upload/index.d.ts","../../../node_modules/@types/ioredis/index.d.ts","../../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../node_modules/@types/istanbul-lib-report/index.d.ts","../../../node_modules/@types/istanbul-reports/index.d.ts","../../../node_modules/@jest/expect-utils/build/index.d.ts","../../../node_modules/chalk/index.d.ts","../../../node_modules/@sinclair/typebox/typebox.d.ts","../../../node_modules/@jest/schemas/build/index.d.ts","../../../node_modules/pretty-format/build/index.d.ts","../../../node_modules/jest-diff/build/index.d.ts","../../../node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/expect/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts","../../../node_modules/@types/js-yaml/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/jsonwebtoken/index.d.ts","../../../node_modules/@types/keyv/index.d.ts","../../../node_modules/@types/linkify-it/index.d.ts","../../../node_modules/@types/lodash/common/common.d.ts","../../../node_modules/@types/lodash/common/array.d.ts","../../../node_modules/@types/lodash/common/collection.d.ts","../../../node_modules/@types/lodash/common/date.d.ts","../../../node_modules/@types/lodash/common/function.d.ts","../../../node_modules/@types/lodash/common/lang.d.ts","../../../node_modules/@types/lodash/common/math.d.ts","../../../node_modules/@types/lodash/common/number.d.ts","../../../node_modules/@types/lodash/common/object.d.ts","../../../node_modules/@types/lodash/common/seq.d.ts","../../../node_modules/@types/lodash/common/string.d.ts","../../../node_modules/@types/lodash/common/util.d.ts","../../../node_modules/@types/lodash/index.d.ts","../../../node_modules/@types/long/index.d.ts","../../../node_modules/@types/mdurl/encode.d.ts","../../../node_modules/@types/mdurl/decode.d.ts","../../../node_modules/@types/mdurl/parse.d.ts","../../../node_modules/@types/mdurl/format.d.ts","../../../node_modules/@types/mdurl/index.d.ts","../../../node_modules/@types/markdown-it/lib/common/utils.d.ts","../../../node_modules/@types/markdown-it/lib/token.d.ts","../../../node_modules/@types/markdown-it/lib/rules_inline/state_inline.d.ts","../../../node_modules/@types/markdown-it/lib/helpers/parse_link_label.d.ts","../../../node_modules/@types/markdown-it/lib/helpers/parse_link_destination.d.ts","../../../node_modules/@types/markdown-it/lib/helpers/parse_link_title.d.ts","../../../node_modules/@types/markdown-it/lib/helpers/index.d.ts","../../../node_modules/@types/markdown-it/lib/ruler.d.ts","../../../node_modules/@types/markdown-it/lib/rules_block/state_block.d.ts","../../../node_modules/@types/markdown-it/lib/parser_block.d.ts","../../../node_modules/@types/markdown-it/lib/rules_core/state_core.d.ts","../../../node_modules/@types/markdown-it/lib/parser_core.d.ts","../../../node_modules/@types/markdown-it/lib/parser_inline.d.ts","../../../node_modules/@types/markdown-it/lib/renderer.d.ts","../../../node_modules/@types/markdown-it/lib/index.d.ts","../../../node_modules/@types/markdown-it/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/parse-json/index.d.ts","../../../node_modules/@types/passport/index.d.ts","../../../node_modules/@types/passport-http/index.d.ts","../../../node_modules/@types/pbkdf2/index.d.ts","../../../node_modules/@types/prettier/index.d.ts","../../../node_modules/@types/randomstring/index.d.ts","../../../node_modules/@types/secp256k1/index.d.ts","../../../node_modules/@types/stack-utils/index.d.ts","../../../node_modules/@types/string-hash/index.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/@types/superagent/index.d.ts","../../../node_modules/@types/supertest/index.d.ts","../../../node_modules/@types/ua-parser-js/index.d.ts","../../../node_modules/@types/ws/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts","../../../node_modules/@types/zen-observable/index.d.ts"],"fileInfos":[{"version":"f20c05dbfe50a208301d2a1da37b9931bce0466eb5a1f4fe240971b4ecc82b67","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"9b087de7268e4efc5f215347a62656663933d63c0b1d7b624913240367b999ea","affectsGlobalScope":true},{"version":"3260e3386d9535b804205bdddb5618a9a27735bd22927f48ad54363abcd23d45","affectsGlobalScope":true},{"version":"7fac8cb5fc820bc2a59ae11ef1c5b38d3832c6d0dfaec5acdb5569137d09a481","affectsGlobalScope":true},{"version":"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"55f400eec64d17e888e278f4def2f254b41b89515d3b88ad75d5e05f019daddd","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"775d9c9fd150d5de79e0450f35bc8b8f94ae64e3eb5da12725ff2a649dccc777","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},"d2f31f19e1ba6ed59be9259d660a239d9a3fcbbc8e038c6b2009bde34b175fed","333f6612b9bacf74de9c232ee7a2efab5f10cee0cf90cdd0f27aa71c346f1a14",{"version":"a3096c0c6bae10e4c01909148699775ad57fb676045b85ed2e7785f12dd8f7fa","signature":"724e6328e3980096541d73f8e0cf9c6f593d214fc78867c1ac2b7981b39061ac"},{"version":"6bbfb17fb632a92070f6f22e23377ff6a6f7145e17a5b08aee70377b9b4d628b","signature":"7e5acc3b9b6966fd7cb109a7a03224e9d95cfe1c8204cbc464ec870a48e0e924"},{"version":"0f139bbe519f09e58300f029a1f86f293017816a46bc460f3e69f52017441a9c","signature":"e4368c029db19a984108ddd1b065f0a01969d7b10944005ec23268decce7e6bf"},{"version":"08db75c4a711a4bce64d1ad4003e7eca672a61066b880e8de499e42927658c0d","signature":"a77969f22bf1c0bc4809db2fdd5fbebeb65d74fd8b9b0c77eedac4f3c4f4f766"},{"version":"25860c1ffa232236c1d99d9e732c5b43deedb3a7d8beb51db44e62320d57edb0","signature":"b683004b52fe44eb31193a4757cde82b89167717fac9354fe826dc4e59a5b9b5"},"9122ed7070e054b73ebab37c2373a196def2d90e7d1a9a7fcd9d46b0e51fae78","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"02873d070f9cb79f50833fbf4a9a27ac578a2edf8ddb8421eba1b37faba83bfb","affectsGlobalScope":true},"21a167fec8f933752fb8157f06d28fab6817af3ad9b0bdb1908a10762391eab9",{"version":"e9d541cf4452ff2a5543c2d8a220f645b094b5e2b6cf7c5dd2a8cb54e8731f31","affectsGlobalScope":true},"0c0cee62cb619aed81133b904f644515ba3064487002a7da83fd8aa07b1b4abd","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","93a195fae9f7275e1a0631acffdfae49bb285d96fc8f7f606cb6eb7516dd03f5","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","75ecef44f126e2ae018b4abbd85b6e8a2e2ba1638ebec56cc64274643ce3567b","f30bb836526d930a74593f7b0f5c1c46d10856415a8f69e5e2fc3db80371e362","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"9b4e8e95e480a6ef470e0b0e1eaea9d986011d4dc05267dcc9edfaa6d22e7cd1","affectsGlobalScope":true},{"version":"816ad2e607a96de5bcac7d437f843f5afd8957f1fa5eefa6bba8e4ed7ca8fd84","affectsGlobalScope":true},"cec36af22f514322f870e81d30675c78df82ae8bf4863f5fd4e4424c040c678d","d903fafe96674bc0b2ac38a5be4a8fc07b14c2548d1cdb165a80ea24c44c0c54","fa68e523cb5d3c2f1f02a94ea8ba2a61a9d1c88dc3c163e411311a826be1f9f3","04eb6578a588d6a46f50299b55f30e3a04ef27d0c5a46c57d8fcc211cd530faa","dbe5aa5a5dd8bd1c6a8d11b1310c3f0cdabaacc78a37b394a8c7b14faeb5fb84","2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"d4ac44f01d42f541631c5fc88d0ed8efac29a3a3ad9a745d9fd58f8b61ed132e","7c013aa892414a7fdcfd861ae524a668eaa3ede8c7c0acafaf611948122c8d93","b0973c3cbcdc59b37bf477731d468696ecaf442593ec51bab497a613a580fe30",{"version":"4989e92ba5b69b182d2caaea6295af52b7dc73a4f7a2e336a676722884e7139d","affectsGlobalScope":true},{"version":"b3624aed92dab6da8484280d3cb3e2f4130ec3f4ef3f8201c95144ae9e898bb6","affectsGlobalScope":true},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","d1a78a3c5708807e8de3e399f91df4797c62e44b02195eefc2209b2e713e54ee","36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","3163f47436da41706c6e2b3c1511f3b7cce9f9f3905b2f3e01246c48b4ba7d14","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","69ee23dd0d215b09907ad30d23f88b7790c93329d1faf31d7835552a10cf7cbf","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","24ad30a03d6c9266b63540956868dd70fa2dc523d60d780d6586eb0c281946bc",{"version":"970a90f76d4d219ad60819d61f5994514087ba94c985647a3474a5a3d12714ed","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","4c8525f256873c7ba3135338c647eaf0ca7115a1a2805ae2d0056629461186ce","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"f0900cd5d00fe1263ff41201fb8073dbeb984397e4af3b8002a5c207a30bdc33","affectsGlobalScope":true},{"version":"f7db71191aa7aac5d6bc927ed6e7075c2763d22c7238227ec0c63c8cf5cb6a8b","affectsGlobalScope":true},"06d7c42d256f0ce6afe1b2b6cfbc97ab391f29dadb00dd0ae8e8f23f5bc916c3","ec4bd1b200670fb567920db572d6701ed42a9641d09c4ff6869768c8f81b404c","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa",{"version":"da26af7362f53d122283bc69fed862b9a9fe27e01bc6a69d1d682e0e5a4df3e6","affectsGlobalScope":true},"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"652ee9c5103e89102d87bc20d167a02a0e3e5e53665674466c8cfea8a9e418c7","01f7828047b5c6703d3c601473618b448f5506a88fcac852638b0715c3abf4eb","6aa5fdfff96c112d37fdee50d1bb82bdfc9247420fc76128e81b28fbd29c28a2",{"version":"651315db3005075578458b7e4151f113b18237a52bcfad6f18c46a858d3c0212","signature":"9c16779c2138d123a32bc85da42091a88bb5f5918e67d8740a11bb4f7d674b4a"},"fab58e600970e66547644a44bc9918e3223aa2cbd9e8763cec004b2cfb48827e",{"version":"312523393713d4336c29827d2ad6abefb4dadfee098cc8be278582b7947775af","signature":"e2356f008376645c5e99576133b6799b58d7984a88d4616d60ee1ab35ff2c102"},"2235a731b3ac14fa37d36740751c2c2f202f0997150965e670049d95d6f89c19",{"version":"57a2a641e6e764aa6da3d48c7c5a18ab7f95cb076e2d348e33bbc0c987aac500","signature":"98a8a90ccf56b2a53559095e343ffd9c074a0a98f32f3b9a6db4aa9f1e402a53"},{"version":"6a708775fffafcfc32a67b8ce2ace010998dea65d302ea4e59e34b60b67ed9e9","signature":"2a9674d8dbac04a8e6df46ebe7e7d4cc4ab215774cb0f0a46a3fce66fb6fc056"},{"version":"16a1c3c2f82ac46761cde53a321de81abc95ea279ab41b31a8adde0a2bc94894","signature":"c3462af94b3554101c3013ccae456adcc523fd0e44899e29c391b6c32e999601"},{"version":"43c591f399b1fa5d7c70c0e900446144573437ec5e0ea09668b40ae4bd2778df","signature":"691d608c7cdd5eff309ffc7cf27296c2e6876d8d9ec566c5004474ff07d96110"},"6b6b41f7a9c4700ae2fc1a9a986b6736c2f402c1826b2e9759d7e2a3717bb2db",{"version":"f41a2985a985546b1979da3068fd46ffdc442e9396173119aa3afb1be655f041","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1057f6071eba563327dfd8497fa4165509f1e752c1bf19d1e295720f03cf5f31","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"df93d96c60185f7b37cba4839487015d4fe22cd7e772ab5dc444b783848dfeb2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a2d23935eda59207d8b5fbc3781a84c81c1645b3368d27c9d410be03a8d4793b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"33a8750de76e12d2bcf9181538363b4b6e844b3c7d01c09f096a8aff9a24d434","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"683a0ef9d230e75539794a27c524a638e9e078692fd41d85a8f4355b4500b2ab","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"6738101ae8e56cd3879ab3f99630ada7d78097fc9fd334df7e766216778ca219","760cb9b76ab53a2f704ee0e731e162bcfc6af609f5e400a668efe2cc7923e4f4","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","7ec238b220ea991b6643e24191b1f552a65956d5f6de4c6144e700b9985265d8","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","dae3d1adc67ac3dbd1cd471889301339ec439837b5df565982345be20c8fca9a","5426e62886b7be7806312d31a00e8f7dccd6fe63ba9bbefe99ee2eab29cc48a3","9dfe431ab1485e17a6055e186c49da9d23af74b965f2e99f8acc6c958778608f","6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","afc559c1b93df37c25aef6b3dfa2d64325b0e112e887ee18bf7e6f4ec383fc90","e8a5beb73e49b5a4899f12b21fa436f4088f5c6b22ed3e6718fcdf526539d851","c8aed2bb932133d6efcb263994d5b79462286625d4a2dc4ee976d309fa31f77d","4dc4b3976fb0b4629ac500a529427958b96e76093c25a2cd7d59fac9f5ce82ea","4fc05cd35f313ea6bc2cd52bfd0d3d1a79c894aeaeffd7c285153cb7d243f19b","29994a97447d10d003957bcc0c9355c272d8cf0f97143eb1ade331676e860945","6865b4ef724cb739f8f1511295f7ce77c52c67ff4af27e07b61471d81de8ecfc","9cddf06f2bc6753a8628670a737754b5c7e93e2cfe982a300a0b43cf98a7d032","3f8e68bd94e82fe4362553aa03030fcf94c381716ce3599d242535b0d9953e49","63e628515ec7017458620e1624c594c9bd76382f606890c8eebf2532bcab3b7c","355d5e2ba58012bc059e347a70aa8b72d18d82f0c3491e9660adaf852648f032","0c543e751bbd130170ed4efdeca5ff681d06a99f70b5d6fe7defad449d08023d","6a488b1d0c9e7fb85040bdfff94181d47972f0c9998897702df874c76a53d36d","236c2990d130b924b4442194bdafefa400fcbd0c125a5e2c3e106a0dbe43eaad","ded3d0fb8ac3980ae7edcc723cc2ad35da1798d52cceff51c92abe320432ceeb","fbb60baf8c207f19aa1131365e57e1c7974a4f7434c1f8d12e13508961fb20ec","00011159f97bde4bdb1913f30ef185e6948b8d7ad022b1f829284dfc78feaabf","15ab2b66a08d2b8306a82fabd673aa9b23b22824d5360b1f1302508c03735a2b","34d206f6ba993e601dade2791944bdf742ab0f7a8caccc661106c87438f4f904","fc807ff0403dceb2c57f7ad902d32f48dfa9108b74f4de89d8eda16194dac245","396c1f27066cd81b03d39d508664d6d22c98539a7dec04691bc2e32747da5ff0","04cd7c4aa64164f5eb753ec4671f1f87742f9f0473f13f20a0b272606ab2f660","1746ef6931d8b4739de3cd6c82d09f5b8edfef49825e1fb5e88b93c52df3fecd","ba2bdf62a7b378b13d6d4fcedeeb1f5b27b566bec665eda53ff97ae72dc9b7d1","701b9d5386b2c9a86a023617d5c98002436ec00846038b843aecb5f4d1794fea","a7d9d2a35530516e191ade6dc804d7de42d45ff6620c0319cfb4469dbdbd8044","cab425b5559edac18327eb2c3c0f47e7e9f71b667290b7689faafd28aac69eae","3cfb0cb51cc2c2e1b313d7c4df04dbf7e5bda0a133c6b309bf6af77cf614b971","f992cd6cc0bcbaa4e6c810468c90f2d8595f8c6c3cf050c806397d3de8585562","204dbe6c72467fb14bbe8f06510b11fb541b6ce29580c6e10ebd3bdb2eb0c1f9","8d48b8f8a377ade8dd1f000625bc276eea067f2529cc9cafdf082d17142107d6","ce013414484233b24f42c0fcfca48a60bb66ab4e13c82953662305e8f1ee4925","16d51f964ec125ad2024cf03f0af444b3bc3ec3614d9345cc54d09bab45c9a4c","ba601641fac98c229ccd4a303f747de376d761babb33229bb7153bed9356c9cc",{"version":"ae3fe461989bbd951344efc1f1fe932360ce7392e6126bdb225a82a1bbaf15ee","affectsGlobalScope":true},"5b9ecf7da4d71cf3832dbb8336150fa924631811f488ad4690c2dfec2b4fb1d7","951c85f75aac041dddbedfedf565886a7b494e29ec1532e2a9b4a6180560b50e","f47887b61c6cf2f48746980390d6cb5b8013518951d912cfb37fe748071942be","15c88bfd1b8dc7231ff828ae8df5d955bae5ebca4cf2bcb417af5821e52299ae","eb96a2321f717bccc3e49e104e299152984b927ea4546b559ae631c06565819c","6fbd58e4015b9ae31ea977d4d549eb24a1102cc798b57ec5d70868b542c06612",{"version":"4f9362850bb427525ba05c0e861dae06d9918bd16ccb38d504cb7294f69e8496","affectsGlobalScope":true},{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"946bd1737d9412395a8f24414c70f18660b84a75a12b0b448e6eb1a2161d06dd","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","c84d0f714fe122193c21c0f0917e873beb3a03fa3422ceb2fbd1ebc0558790a0","e050a0afcdbb269720a900c85076d18e0c1ab73e580202a2bf6964978181222a","ca106dc27136bcfabaf1e0b261e9721e7c8119c7ff9dfd5c96ec2211cff926bd","3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba","78647004e18e4c16b8a2e8345fca9267573d1c5a29e11ddfee71858fd077ef6e","0804044cd0488cb7212ddbc1d0f8e1a5bd32970335dbfc613052304a1b0318f9","b725acb041d2a18fde8f46c48a1408418489c4aa222f559b1ef47bf267cb4be0","85084ae98c1d319e38ef99b1216d3372a9afd7a368022c01c3351b339d52cb58","898ec2410fae172e0a9416448b0838bed286322a5c0c8959e8e39400cd4c5697","692345a43bac37c507fa7065c554258435ab821bbe4fb44b513a70063e932b45","cddd50d7bd9d7fddda91a576db9f61655d1a55e2d870f154485812f6e39d4c15","0539583b089247b73a21eb4a5f7e43208a129df6300d6b829dc1039b79b6c8c4","7aba43bc7764fcd02232382c780c3e99ef8dbfdac3c58605a0b3781fab3d8044","522edc786ed48304671b935cf7d3ed63acc6636ab9888c6e130b97a6aea92b46","1e1ed5600d80406a10428e349af8b6f09949cd5054043ea8588903e8f9e8d705","de21641eb8edcbc08dd0db4ee70eea907cd07fe72267340b5571c92647f10a77","a53039ba614075aeb702271701981babbd0d4f4dcbf319ddee4c08fb8196cc7a","6758f7b72fa4d38f4f4b865516d3d031795c947a45cc24f2cfba43c91446d678","da679a5bb46df3c6d84f637f09e6689d6c2d07e907ea16adc161e4529a4954d6","dc1a664c33f6ddd2791569999db2b3a476e52c5eeb5474768ffa542b136d78c0","bdf7abbd7df4f29b3e0728684c790e80590b69d92ed8d3bf8e66d4bd713941fe","8decb32fc5d44b403b46c3bb4741188df4fbc3c66d6c65669000c5c9cd506523","4beaf337ee755b8c6115ff8a17e22ceab986b588722a52c776b8834af64e0f38","c26dd198f2793bbdcc55103823a2767d6223a7fdb92486c18b86deaf63208354","93551b302a808f226f0846ad8012354f2d53d6dedc33b540d6ca69836781a574","f0ff1c010d5046af3874d3b4df746c6f3921e4b3fbdec61dee0792fc0cb36ccd","778b684ebc6b006fcffeab77d25b34bf6e400100e0ec0c76056e165c6399ab05","463851fa993af55fb0296e0d6afa27407ef91bf6917098dd665aba1200d250c7","67c6de7a9c490bda48eb401bea93904b6bbfc60e47427e887e6a3da6195540be","be8f369f8d7e887eab87a3e4e41f1afcf61bf06056801383152aa83bda1f6a72","352bfb5f3a9d8a9c2464ad2dc0b2dc56a8212650a541fb550739c286dd341de1","a5aae636d9afdacb22d98e4242487436d8296e5a345348325ccc68481fe1b690","d007c769e33e72e51286b816d82cd7c3a280cba714e7f958691155068bd7150a","764150c107451d2fd5b6de305cff0a9dcecf799e08e6f14b5a6748724db46d8a","b04cf223c338c09285010f5308b980ee6d8bfa203824ed2537516f15e92e8c43","4b387f208d1e468193a45a51005b1ed5b666010fc22a15dc1baf4234078b636e","70441eda704feffd132be0c1541f2c7f6bbaafce25cb9b54b181e26af3068e79","d1addb12403afea87a1603121396261a45190886c486c88e1a5d456be17c2049","15d43873064dc8787ca1e4c39149be59183c404d48a8cd5a0ea019bb5fdf8d58","ea4b5d319625203a5a96897b057fddf6017d0f9a902c16060466fe69cc007243","3d06897c536b4aad2b2b015d529270439f2cadd89ca2ff7bd8898ee84898dd88","ab01d8fcb89fae8eda22075153053fefac69f7d9571a389632099e7a53f1922d","bac0ec1f4c61abc7c54ccebb0f739acb0cdbc22b1b19c91854dc142019492961","566b0806f9016fa067b7fecf3951fcc295c30127e5141223393bde16ad04aa4a","8e801abfeda45b1b93e599750a0a8d25074d30d4cc01e3563e56c0ff70edeb68","902997f91b09620835afd88e292eb217fbd55d01706b82b9a014ff408f357559","a3727a926e697919fb59407938bd8573964b3bf543413b685996a47df5645863","83f36c0792d352f641a213ee547d21ea02084a148355aa26b6ef82c4f61c1280","dce7d69c17a438554c11bbf930dec2bee5b62184c0494d74da336daee088ab69","1e8f2cda9735002728017933c54ccea7ebee94b9c68a59a4aac1c9a58aa7da7d","e327a2b222cf9e5c93d7c1ed6468ece2e7b9d738e5da04897f1a99f49d42cca1","65165246b59654ec4e1501dd87927a0ef95d57359709e00e95d1154ad8443bc7","f1bacba19e2fa2eb26c499e36b5ab93d6764f2dba44be3816f12d2bc9ac9a35b","bce38da5fd851520d0cb4d1e6c3c04968cec2faa674ed321c118e97e59872edc","3398f46037f21fb6c33560ceca257259bd6d2ea03737179b61ea9e17cbe07455","6e14fc6c27cb2cb203fe1727bb3a923588f0be8c2604673ad9f879182548daca","12b9bcf8395d33837f301a8e6d545a24dfff80db9e32f8e8e6cf4b11671bb442","04295cc38689e32a4ea194c954ea6604e6afb6f1c102104f74737cb8cf744422","7418f434c136734b23f634e711cf44613ca4c74e63a5ae7429acaee46c7024c8","27d40290b7caba1c04468f2b53cf7112f247f8acdd7c20589cd7decf9f762ad0","2608b8b83639baf3f07316df29202eead703102f1a7e32f74a1b18cf1eee54b5","c93657567a39bd589effe89e863aaadbc339675fca6805ae4d97eafbcce0a05d","909d5db5b3b19f03dfb4a8f1d00cf41d2f679857c28775faf1f10794cbbe9db9","e4504bffce13574bab83ab900b843590d85a0fd38faab7eff83d84ec55de4aff","8ab707f3c833fc1e8a51106b8746c8bc0ce125083ea6200ad881625ae35ce11e","730ddc2386276ac66312edbcc60853fedbb1608a99cb0b1ff82ebf26911dba1f","c1b3fa201aa037110c43c05ea97800eb66fea3f2ecc5f07c6fd47f2b6b5b21d2","636b44188dc6eb326fd566085e6c1c6035b71f839d62c343c299a35888c6f0a9","3b2105bf9823b53c269cabb38011c5a71360c8daabc618fec03102c9514d230c","f96e63eb56e736304c3aef6c745b9fe93db235ddd1fec10b45319c479de1a432","acb4f3cee79f38ceba975e7ee3114eb5cd96ccc02742b0a4c7478b4619f87cd6","cfc85d17c1493b6217bad9052a8edc332d1fde81a919228edab33c14aa762939","eebda441c4486c26de7a8a7343ebbc361d2b0109abff34c2471e45e34a93020a","727b4b8eb62dd98fa4e3a0937172c1a0041eb715b9071c3de96dad597deddcab","708e2a347a1b9868ccdb48f3e43647c6eccec47b8591b220afcafc9e7eeb3784","6bb598e2d45a170f302f113a5b68e518c8d7661ae3b59baf076be9120afa4813","c28e058db8fed2c81d324546f53d2a7aaefff380cbe70f924276dbad89acd7d1","ebe8f07bb402102c5a764b0f8e34bd92d6f50bd7ac61a2452e76b80e02f9bb4b","826a98cb79deab45ccc4e5a8b90fa64510b2169781a7cbb83c4a0a8867f4cc58","618189f94a473b7fdc5cb5ba8b94d146a0d58834cd77cd24d56995f41643ccd5","5baadaca408128671536b3cb77fea44330e169ada70ce50b902c8d992fe64cf1","a4cc469f3561ea3edc57e091f4c9dcaf7485a70d3836be23a6945db46f0acd0b","91b0965538a5eaafa8c09cf9f62b46d6125aa1b3c0e0629dce871f5f41413f90","2978e33a00b4b5fb98337c5e473ab7337030b2f69d1480eccef0290814af0d51","ba71e9777cb5460e3278f0934fd6354041cb25853feca542312807ce1f18e611","608dbaf8c8bb64f4024013e73d7107c16dba4664999a8c6e58f3e71545e48f66","61937cefd7f4d6fa76013d33d5a3c5f9b0fc382e90da34790764a0d17d6277fb","af7db74826f455bfef6a55a188eb6659fd85fdc16f720a89a515c48724ee4c42","d6ce98a960f1b99a72de771fb0ba773cb202c656b8483f22d47d01d68f59ea86","2a47dc4a362214f31689870f809c7d62024afb4297a37b22cb86f679c4d04088","42d907ac511459d7c4828ee4f3f81cc331a08dc98d7b3cb98e3ff5797c095d2e","63d010bff70619e0cdf7900e954a7e188d3175461182f887b869c312a77ecfbd","1452816d619e636de512ca98546aafb9a48382d570af1473f0432a9178c4b1ff","9e3e3932fe16b9288ec8c948048aef4edf1295b09a5412630d63f4a42265370e","8bdba132259883bac06056f7bacd29a4dcf07e3f14ce89edb022fe9b78dcf9b3","5a5406107d9949d83e1225273bcee1f559bb5588942907d923165d83251a0e37","ca0ca4ca5ad4772161ee2a99741d616fea780d777549ba9f05f4a24493ab44e1","e7ee7be996db0d7cce41a85e4cae3a5fc86cf26501ad94e0a20f8b6c1c55b2d4","72263ae386d6a49392a03bde2f88660625da1eca5df8d95120d8ccf507483d20","b498375d015f01585269588b6221008aae6f0c0dc53ead8796ace64bdfcf62ea","c37aa3657fa4d1e7d22565ae609b1370c6b92bafb8c92b914403d45f0e610ddc","34534c0ead52cc753bdfdd486430ef67f615ace54a4c0e5a3652b4116af84d6d","a1079b54643537f75fa4f4bb963d787a302bddbe3a6001c4b0a524b746e6a9de","7fc9b18b6aafa8a1fc1441670c6c9da63e3d7942c7f451300c48bafd988545e9","e98185f4249720ace1921d59c1ff4612fa5c633a183fc9bf28e2e7b8e3c7fd51","6168414aa12d33d0fcfac4f9870aa81ce27e136db6faf182001a5f3792e1d720","5006668996956580886022c05108e32c742823e1b5652aff7914917233731518","3a9b877f47119ac64aab98c61cae91a304ddeb6e8285ccd824a6aa665ffaeb95","32c82ad8bb67e92ab093e6fb20dbd84e3c3dcf1737645c9612035d41e17ce334","be00321090ed100e3bd1e566c0408004137e73feb19d6380eba57d68519ff6c5","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","a7321c0e96eecb19dcbf178493836474cef21ee3f9345384ce9d74e4be31228d","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","776bb20d045af25df4f1b85a5e0c8bcc19d5ec1d653594b297e52e89ee7924e4","427ce5854885cfc34387e09de05c1d5c1acf94c2143e1693f1d9ff54880573e7","bed2c4f96fab3348be4a34d88dcb12578c1b2475b07c6acd369e99e227718d81","e3ba509d3dce019b3190ceb2f3fc88e2610ab717122dabd91a9efaa37804040d","cda0cb09b995489b7f4c57f168cd31b83dcbaa7aad49612734fb3c9c73f6e4f2","ac127e4c6f2b5220b293cc9d2e64ba49781225b792a51cda50f3db8eafba550c",{"version":"a2b95a93a5926d6d54fbf6b29533f0e3e9f75ca6d6b6a1a94eec7b34ac7890bf","affectsGlobalScope":true},"686e548ae30250d62532c8cacb43fccc922b693408371bd3503563c4a0f28eed","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","e5dd317ef2c7a2882b152337b03d592fafa8351b40351849a16a908b198bd3b5","fec943fdb3275eb6e006b35e04a8e2e99e9adf3f4b969ddf15315ac7575a93e4","6503fb6addf62f9b10f8564d9869ad824565a914ec1ac3dd7d13da14a3f57036","675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","fe4a2042d087990ebfc7dc0142d5aaf5a152e4baea86b45f283f103ec1e871ea","d70c026dd2eeaa974f430ea229230a1897fdb897dc74659deebe2afd4feeb08f","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","98f9d826db9cd99d27a01a59ee5f22863df00ccf1aaf43e1d7db80ebf716f7c3","0aaef8cded245bf5036a7a40b65622dd6c4da71f7a35343112edbe112b348a1e","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","7a79ca84e4370ed2e1afaa99ff7d25194901916b7672e977d16f77af3b71342f","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3cf0d343c2276842a5b617f22ba82af6322c7cfe8bb52238ffc0c491a3c21019","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9",{"version":"f2eff8704452659641164876c1ef0df4174659ce7311b0665798ea3f556fa9ad","affectsGlobalScope":true},"0e60e0cbf2283adfd5a15430ae548cd2f662d581b5da6ecd98220203e7067c70","f313731860257325f13351575f381fef333d4dfe30daf5a2e72f894208feea08","951b37f7d86f6012f09e6b35f1de57c69d75f16908cb0adaa56b93675ea0b853","3816fc03ffd9cbd1a7a3362a264756a4a1d547caabea50ca68303046be40e376","0c417b4ec46b88fb62a43ec00204700b560d01eb5677c7faa8ecd34610f096a8","13d29cdeb64e8496424edf42749bbb47de5e42d201cf958911a4638cbcffbd3f","0f9e381eecc5860f693c31fe463b3ca20a64ca9b8db0cf6208cd4a053f064809","95902d5561c6aac5dfc40568a12b0aca324037749dcd32a81f23423bfde69bab","5dfb2aca4136abdc5a2740f14be8134a6e6b66fd53470bb2e954e40f8abfaf3e","577463167dd69bd81f76697dfc3f7b22b77a6152f60a602a9218e52e3183ad67","b8396e9024d554b611cbe31a024b176ba7116063d19354b5a02dccd8f0118989","4b28e1c5bf88d891e07a1403358b81a51b3ba2eae1ffada51cca7476b5ac6407","7150ad575d28bf98fae321a1c0f10ad17b127927811f488ded6ff1d88d4244e5","8b155c4757d197969553de3762c8d23d5866710301de41e1b66b97c9ed867003","93733466609dd8bf72eace502a24ca7574bd073d934216e628f1b615c8d3cb3c","45e9228761aabcadb79c82fb3008523db334491525bdb8e74e0f26eaf7a4f7f4","aeacac2778c9821512b6b889da79ac31606a863610c8f28da1e483579627bf90","569fdb354062fc098a6a3ba93a029edf22d6fe480cf72b231b3c07832b2e7c97","bf9876e62fb7f4237deafab8c7444770ef6e82b4cad2d5dc768664ff340feeb2","6cf60e76d37faf0fbc2f80a873eab0fd545f6b1bf300e7f0823f956ddb3083e9","6adaa6103086f931e3eee20f0987e86e8879e9d13aa6bd6075ccfc58b9c5681c","ee0af0f2b8d3b4d0baf669f2ff6fcef4a8816a473c894cc7c905029f7505fed0","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b",{"version":"d9aa2c3d6bb462015bb36be4282ec9dfeca33d687aae1b7d726c6c9543165dd1","affectsGlobalScope":true},"1e23915482078e1d3a7cc45bbf311e6112f2ec74d8de77a70ab7eec518f765bd","a73a445c1e0a6d0f8b48e8eb22dc9d647896783a7f8991cbbc31c0d94bf1f5a2","93c4fc5b5237c09bc9ed65cb8f0dc1d89034406ab40500b89701341994897142",{"version":"4698841dc5a91fe716dd41ec7136867bbde9a274ce21031e5ef6ce2d8a552ceb","affectsGlobalScope":true},"3dce33e7eb25594863b8e615f14a45ab98190d85953436750644212d8a18c066","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","780054ba9913c3d8ccfcb1e71a2c4523e2dff46395ac6cd2553c919c5198066a","8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","31c502014e5ba046d5cb060136929b73fd53f0f989aa37b2b0424644cb0d93ef","76232dbb982272b182a76ad8745a9b02724dc9896e2328ce360e2c56c64c9778","c5e775cc64dcc3b16c41f28b9aee23bb2854792114ea49a8b2bdc35dc9549ca0","b4358a89fcd9c579f84a6c68e2ce44ca91b07e4db3f8f403c2b7a72c1a1e04b6","70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","28288f5e5f8b7b895ed2abe6359c1da3e0d14a64b5aef985071285671f347c01",{"version":"09bba86d90385c19f2b69c0bf72d447ef6e5738964e3a344cb1f9e0270632be8","affectsGlobalScope":true}],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"module":1,"noFallthroughCasesInSwitch":false,"noImplicitAny":true,"outDir":"./","removeComments":true,"skipLibCheck":true,"sourceMap":true,"strictBindCallApply":false,"strictNullChecks":false,"target":4},"fileIdsList":[[98,124],[98],[98,292],[71,98,105],[98,124,125,126,127,128],[98,124,126],[98,105],[71,98,105,131],[68,98,151],[98,154,155,156],[68,86,98,105],[68,71,97,98,105,157,158,159],[71,98,105,131,163,170],[71,98],[98,175,177],[98,174,175,176],[68,71,98,105,164,165],[98,132,165,166,169],[69,98,105],[71,98,170,179,280,284],[68,86,94,98,105],[98,287],[98,288],[98,294,297],[68,98,105],[98,284],[68,71,72,76,82,97,98,105,123,161,163,171,281,282,283],[98,304,306,307,308,309,310,311,312,313,314,315,316],[98,304,305,307,308,309,310,311,312,313,314,315,316],[98,305,306,307,308,309,310,311,312,313,314,315,316],[98,304,305,306,308,309,310,311,312,313,314,315,316],[98,304,305,306,307,309,310,311,312,313,314,315,316],[98,304,305,306,307,308,310,311,312,313,314,315,316],[98,304,305,306,307,308,309,311,312,313,314,315,316],[98,304,305,306,307,308,309,310,312,313,314,315,316],[98,304,305,306,307,308,309,310,311,313,314,315,316],[98,304,305,306,307,308,309,310,311,312,314,315,316],[98,304,305,306,307,308,309,310,311,312,313,315,316],[98,304,305,306,307,308,309,310,311,312,313,314,316],[98,304,305,306,307,308,309,310,311,312,313,314,315],[98,337],[98,322],[98,326,327,328],[98,325],[98,327],[98,303,323,324,329,332,334,335,336],[98,324,330,331,337],[98,330,333],[98,324,325,330,337],[98,324,337],[98,318,319,320,321],[98,168],[98,167],[52,98],[55,98],[56,61,89,98],[57,68,69,76,86,97,98],[57,58,68,76,98],[59,98],[60,61,69,77,98],[61,86,94,98],[62,64,68,76,98],[63,98],[64,65,98],[68,98],[66,68,98],[68,69,70,86,97,98],[68,69,70,83,86,89,98],[98,102],[71,76,86,97,98],[68,69,71,72,76,86,94,97,98],[71,73,86,94,97,98],[52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104],[68,74,98],[75,97,98],[64,68,76,86,98],[77,98],[78,98],[55,79,98],[80,96,98,102],[81,98],[82,98],[68,83,84,98],[83,85,98,100],[56,68,86,87,88,89,98],[56,86,88,98],[86,87,98],[89,98],[90,98],[68,92,93,98],[92,93,98],[61,76,86,94,98],[95,98],[76,96,98],[56,71,82,97,98],[61,98],[86,98,99],[98,100],[98,101],[56,61,68,70,79,86,97,98,100,102],[86,98,103],[98,170,343],[71,98,170],[71,86,98,105],[71,98,105,168],[56,69,71,86,98,105,162],[98,352],[68,71,73,86,94,97,98,103,105],[98,356],[98,290,296],[98,182,183,189,190],[98,191,255,256],[98,182,189,191],[98,183,191],[98,182,184,185,186,189,191,194,195],[98,185,196,210,211],[98,182,189,194,195,196],[98,182,184,189,191,193,194,195],[98,182,183,194,195,196],[98,181,197,202,209,212,213,254,257,279],[98,182],[98,183,187,188],[98,183,187,188,189,190,192,203,204,205,206,207,208],[98,183,188,189],[98,183],[98,182,183,188,189,191,204],[98,189],[98,183,189,190],[98,187,189],[98,196,210],[98,182,184,185,186,189,194],[98,182,189,192,195],[98,185,193,194,195,198,199,200,201],[98,195],[98,182,184,189,191,193,195],[98,191,194],[98,182,189,193,194,195,207],[98,191],[98,182,189,195],[98,183,189,194,205],[98,194,258],[98,191,195],[98,189,194],[98,194],[98,182,192],[98,182,189],[98,189,194,195],[98,214,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278],[98,194,195],[98,184,189],[98,182,184,189,195],[98,182,184,189],[98,182,189,191,193,194,195,207,214],[98,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253],[98,207,215],[98,215],[98,182,189,191,194,214,215],[98,105,133],[98,134,138,148,149],[68,98,105,133,134,135,137,138,145,148],[86,98,105],[64,98,105,138,145,146],[68,98,105,133,134,135,137,138,146,147,149],[64,98,105],[98,133],[98,139],[98,141],[68,94,98,105,133,139,141,142,147],[98,145],[76,94,98,105,133,139],[98,133,134,135,136,139,143,144,145,146,147,148,149,150],[98,138,140,143,144],[98,136],[76,94,98,105],[98,133,134,136],[98,294],[98,291,295],[98,293],[98,106],[49,98],[46,47,48,98],[98,114],[46,98,111,113],[46,98,115],[46,98,113],[49,50,51,98,111,114,115],[50,98],[46,98],[98,112],[98,109],[47,48,98,108,110],[51,98,107],[98,113],[46,98,112],[46],[51]],"referencedMap":[[126,1],[124,2],[290,2],[293,3],[292,2],[123,4],[129,5],[125,1],[127,6],[128,1],[130,2],[106,7],[132,8],[152,9],[156,10],[155,2],[154,11],[153,2],[160,12],[131,4],[161,2],[162,2],[171,13],[172,14],[173,2],[178,15],[174,2],[177,16],[175,2],[166,17],[170,18],[179,19],[180,19],[285,20],[281,2],[158,2],[282,2],[286,21],[287,2],[288,22],[289,23],[298,24],[299,2],[176,2],[300,2],[301,7],[163,2],[302,25],[283,26],[284,27],[303,2],[305,28],[306,29],[304,30],[307,31],[308,32],[309,33],[310,34],[311,35],[312,36],[313,37],[314,38],[315,39],[316,40],[317,2],[338,41],[323,42],[329,43],[327,2],[326,44],[328,45],[337,46],[332,47],[334,48],[335,49],[336,50],[330,2],[331,50],[333,50],[325,50],[324,2],[319,2],[318,2],[321,42],[322,51],[320,42],[167,52],[168,53],[339,2],[340,2],[52,54],[53,54],[55,55],[56,56],[57,57],[58,58],[59,59],[60,60],[61,61],[62,62],[63,63],[64,64],[65,64],[67,65],[66,66],[68,65],[69,67],[70,68],[54,69],[104,2],[71,70],[72,71],[73,72],[105,73],[74,74],[75,75],[76,76],[77,77],[78,78],[79,79],[80,80],[81,81],[82,82],[83,83],[84,83],[85,84],[86,85],[88,86],[87,87],[89,88],[90,89],[91,2],[92,90],[93,91],[94,92],[95,93],[96,94],[97,95],[98,96],[99,97],[100,98],[101,99],[102,100],[103,101],[341,2],[342,2],[344,102],[343,103],[345,7],[346,2],[165,2],[347,2],[164,2],[159,104],[348,7],[169,105],[349,2],[350,2],[352,106],[353,107],[354,2],[109,2],[355,108],[356,2],[357,109],[358,2],[46,2],[351,2],[291,2],[297,110],[191,111],[257,112],[256,113],[255,114],[196,115],[212,116],[210,117],[211,118],[197,119],[280,120],[182,2],[184,2],[185,121],[186,2],[189,122],[192,2],[209,123],[187,2],[204,124],[190,125],[205,126],[208,127],[203,128],[206,127],[183,2],[188,2],[207,129],[213,130],[201,2],[195,131],[193,132],[202,133],[199,134],[198,134],[194,135],[200,136],[214,137],[276,138],[270,139],[263,140],[262,141],[271,142],[272,127],[264,143],[277,144],[258,145],[259,146],[260,147],[279,148],[261,141],[265,144],[266,149],[273,150],[274,125],[275,149],[267,147],[278,127],[268,151],[269,152],[215,153],[254,154],[218,155],[219,155],[220,155],[221,155],[222,155],[223,155],[224,155],[225,155],[244,155],[226,155],[227,155],[228,155],[229,155],[230,155],[231,155],[251,155],[232,155],[233,155],[234,155],[249,155],[235,155],[250,155],[236,155],[247,155],[248,155],[237,155],[238,155],[239,155],[245,155],[246,155],[240,155],[241,155],[242,155],[243,155],[252,155],[253,155],[217,156],[216,157],[181,2],[134,158],[150,159],[149,160],[135,161],[147,162],[148,163],[146,164],[139,165],[140,166],[142,167],[143,168],[141,169],[144,170],[151,171],[145,172],[137,173],[133,174],[138,175],[136,158],[295,176],[296,177],[157,65],[294,178],[8,2],[9,2],[13,2],[12,2],[2,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[3,2],[4,2],[45,2],[25,2],[22,2],[23,2],[24,2],[26,2],[27,2],[28,2],[5,2],[29,2],[30,2],[31,2],[32,2],[6,2],[33,2],[34,2],[35,2],[36,2],[7,2],[37,2],[42,2],[43,2],[38,2],[39,2],[40,2],[41,2],[1,2],[44,2],[11,2],[10,2],[107,179],[51,2],[117,180],[49,181],[118,182],[114,183],[119,184],[115,185],[116,186],[50,2],[120,187],[47,188],[121,189],[112,188],[110,190],[48,2],[111,191],[108,192],[122,193],[113,194]],"exportedModulesMap":[[126,1],[124,2],[290,2],[293,3],[292,2],[123,4],[129,5],[125,1],[127,6],[128,1],[130,2],[106,7],[132,8],[152,9],[156,10],[155,2],[154,11],[153,2],[160,12],[131,4],[161,2],[162,2],[171,13],[172,14],[173,2],[178,15],[174,2],[177,16],[175,2],[166,17],[170,18],[179,19],[180,19],[285,20],[281,2],[158,2],[282,2],[286,21],[287,2],[288,22],[289,23],[298,24],[299,2],[176,2],[300,2],[301,7],[163,2],[302,25],[283,26],[284,27],[303,2],[305,28],[306,29],[304,30],[307,31],[308,32],[309,33],[310,34],[311,35],[312,36],[313,37],[314,38],[315,39],[316,40],[317,2],[338,41],[323,42],[329,43],[327,2],[326,44],[328,45],[337,46],[332,47],[334,48],[335,49],[336,50],[330,2],[331,50],[333,50],[325,50],[324,2],[319,2],[318,2],[321,42],[322,51],[320,42],[167,52],[168,53],[339,2],[340,2],[52,54],[53,54],[55,55],[56,56],[57,57],[58,58],[59,59],[60,60],[61,61],[62,62],[63,63],[64,64],[65,64],[67,65],[66,66],[68,65],[69,67],[70,68],[54,69],[104,2],[71,70],[72,71],[73,72],[105,73],[74,74],[75,75],[76,76],[77,77],[78,78],[79,79],[80,80],[81,81],[82,82],[83,83],[84,83],[85,84],[86,85],[88,86],[87,87],[89,88],[90,89],[91,2],[92,90],[93,91],[94,92],[95,93],[96,94],[97,95],[98,96],[99,97],[100,98],[101,99],[102,100],[103,101],[341,2],[342,2],[344,102],[343,103],[345,7],[346,2],[165,2],[347,2],[164,2],[159,104],[348,7],[169,105],[349,2],[350,2],[352,106],[353,107],[354,2],[109,2],[355,108],[356,2],[357,109],[358,2],[46,2],[351,2],[291,2],[297,110],[191,111],[257,112],[256,113],[255,114],[196,115],[212,116],[210,117],[211,118],[197,119],[280,120],[182,2],[184,2],[185,121],[186,2],[189,122],[192,2],[209,123],[187,2],[204,124],[190,125],[205,126],[208,127],[203,128],[206,127],[183,2],[188,2],[207,129],[213,130],[201,2],[195,131],[193,132],[202,133],[199,134],[198,134],[194,135],[200,136],[214,137],[276,138],[270,139],[263,140],[262,141],[271,142],[272,127],[264,143],[277,144],[258,145],[259,146],[260,147],[279,148],[261,141],[265,144],[266,149],[273,150],[274,125],[275,149],[267,147],[278,127],[268,151],[269,152],[215,153],[254,154],[218,155],[219,155],[220,155],[221,155],[222,155],[223,155],[224,155],[225,155],[244,155],[226,155],[227,155],[228,155],[229,155],[230,155],[231,155],[251,155],[232,155],[233,155],[234,155],[249,155],[235,155],[250,155],[236,155],[247,155],[248,155],[237,155],[238,155],[239,155],[245,155],[246,155],[240,155],[241,155],[242,155],[243,155],[252,155],[253,155],[217,156],[216,157],[181,2],[134,158],[150,159],[149,160],[135,161],[147,162],[148,163],[146,164],[139,165],[140,166],[142,167],[143,168],[141,169],[144,170],[151,171],[145,172],[137,173],[133,174],[138,175],[136,158],[295,176],[296,177],[157,65],[294,178],[8,2],[9,2],[13,2],[12,2],[2,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[3,2],[4,2],[45,2],[25,2],[22,2],[23,2],[24,2],[26,2],[27,2],[28,2],[5,2],[29,2],[30,2],[31,2],[32,2],[6,2],[33,2],[34,2],[35,2],[36,2],[7,2],[37,2],[42,2],[43,2],[38,2],[39,2],[40,2],[41,2],[1,2],[44,2],[11,2],[10,2],[107,179],[49,195],[114,195],[115,195],[116,186],[47,195],[112,195],[111,191],[108,196],[113,195]],"semanticDiagnosticsPerFile":[126,124,290,293,292,123,129,125,127,128,130,106,132,152,156,155,154,153,160,131,161,162,171,172,173,178,174,177,175,166,170,179,180,285,281,158,282,286,287,288,289,298,299,176,300,301,163,302,283,284,303,305,306,304,307,308,309,310,311,312,313,314,315,316,317,338,323,329,327,326,328,337,332,334,335,336,330,331,333,325,324,319,318,321,322,320,167,168,339,340,52,53,55,56,57,58,59,60,61,62,63,64,65,67,66,68,69,70,54,104,71,72,73,105,74,75,76,77,78,79,80,81,82,83,84,85,86,88,87,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,341,342,344,343,345,346,165,347,164,159,348,169,349,350,352,353,354,109,355,356,357,358,46,351,291,297,191,257,256,255,196,212,210,211,197,280,182,184,185,186,189,192,209,187,204,190,205,208,203,206,183,188,207,213,201,195,193,202,199,198,194,200,214,276,270,263,262,271,272,264,277,258,259,260,279,261,265,266,273,274,275,267,278,268,269,215,254,218,219,220,221,222,223,224,225,244,226,227,228,229,230,231,251,232,233,234,249,235,250,236,247,248,237,238,239,245,246,240,241,242,243,252,253,217,216,181,134,150,149,135,147,148,146,139,140,142,143,141,144,151,145,137,133,138,136,295,296,157,294,8,9,13,12,2,14,15,16,17,18,19,20,21,3,4,45,25,22,23,24,26,27,28,5,29,30,31,32,6,33,34,35,36,7,37,42,43,38,39,40,41,1,44,11,10,107,51,117,49,118,114,119,115,116,50,120,47,121,112,110,48,111,108,122,113]},"version":"4.8.4"}
@@ -0,0 +1,2 @@
1
+ import BigNumber from 'bignumber.js';
2
+ export declare function factorial(num: number): BigNumber;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.factorial = void 0;
7
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
+ const cache = [new bignumber_js_1.default(1)];
9
+ function factorial(num) {
10
+ if (!Number.isInteger(num) || num < 0) {
11
+ throw new Error(`Factorial: <${num}> should be an integer greater or equal to 0`);
12
+ }
13
+ const numBN = new bignumber_js_1.default(num);
14
+ if (!cache[num]) {
15
+ cache[num] = numBN.multipliedBy(factorial(num - 1));
16
+ }
17
+ return cache[num];
18
+ }
19
+ exports.factorial = factorial;
20
+ //# sourceMappingURL=factorial.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factorial.js","sourceRoot":"","sources":["../../src/utils/factorial.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;AAErC,MAAM,KAAK,GAAG,CAAC,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACjC,SAAgB,SAAS,CAAC,GAAW;IACnC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE;QACrC,MAAM,IAAI,KAAK,CAAC,eAAe,GAAG,8CAA8C,CAAC,CAAA;KAClF;IAED,MAAM,KAAK,GAAG,IAAI,sBAAS,CAAC,GAAG,CAAC,CAAC;IAEjC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;QACf,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;KACrD;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;AACpB,CAAC;AAXD,8BAWC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const factorial_1 = require("../utils/factorial");
4
+ const testData = [
5
+ { input: 0, output: '1' },
6
+ { input: 1, output: '1' },
7
+ { input: 2, output: '2' },
8
+ { input: 5, output: '120' },
9
+ { input: 10, output: '3628800' },
10
+ { input: 25, output: '15511210043330985984000000' },
11
+ ];
12
+ describe('factorial', () => {
13
+ it('be able to calculate factorial correctly', () => {
14
+ testData.forEach((item) => {
15
+ expect((0, factorial_1.factorial)(item.input).toFixed()).toBe(item.output);
16
+ });
17
+ });
18
+ });
19
+ //# sourceMappingURL=factorial.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factorial.spec.js","sourceRoot":"","sources":["../../src/utils/factorial.spec.ts"],"names":[],"mappings":";;AAAA,kDAA+C;AAC/C,MAAM,QAAQ,GAAG;IACf,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE;IACzB,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE;IACzB,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE;IACzB,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE;IAC3B,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;IAChC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,4BAA4B,EAAE;CACpD,CAAC;AACF,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACxB,MAAM,CAAC,IAAA,qBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import BigNumber from 'bignumber.js';
2
+ export declare function nCr(n: number, r: number): BigNumber;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.nCr = void 0;
7
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
+ const factorial_1 = require("./factorial");
9
+ function nCr(n, r) {
10
+ return (0, factorial_1.factorial)(n)
11
+ .dividedBy((0, factorial_1.factorial)(r))
12
+ .dividedBy((0, factorial_1.factorial)(new bignumber_js_1.default(n).minus(r).toNumber()));
13
+ }
14
+ exports.nCr = nCr;
15
+ //# sourceMappingURL=ncr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ncr.js","sourceRoot":"","sources":["../../src/utils/ncr.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;AACrC,2CAAwC;AAExC,SAAgB,GAAG,CAAC,CAAS,EAAE,CAAS;IACtC,OAAO,IAAA,qBAAS,EAAC,CAAC,CAAC;SAChB,SAAS,CAAC,IAAA,qBAAS,EAAC,CAAC,CAAC,CAAC;SACvB,SAAS,CAAC,IAAA,qBAAS,EAAC,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AAChE,CAAC;AAJD,kBAIC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const ncr_1 = require("./ncr");
4
+ const testData = [
5
+ { input: [0, 0], output: '1' },
6
+ { input: [1, 1], output: '1' },
7
+ { input: [25, 1], output: '25' },
8
+ { input: [25, 4], output: '12650' },
9
+ { input: [25, 24], output: '25' },
10
+ { input: [10, 3], output: '120' },
11
+ { input: [15, 6], output: '5005' },
12
+ { input: [20, 12], output: '125970' },
13
+ ];
14
+ describe('factorial', () => {
15
+ it('be able to calculate factorial correctly', () => {
16
+ testData.forEach((item) => {
17
+ expect((0, ncr_1.nCr)(item.input[0], item.input[1]).toFixed()).toBe(item.output);
18
+ });
19
+ });
20
+ });
21
+ //# sourceMappingURL=ncr.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ncr.spec.js","sourceRoot":"","sources":["../../src/utils/ncr.spec.ts"],"names":[],"mappings":";;AAAA,+BAA4B;AAC5B,MAAM,QAAQ,GAAG;IACf,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE;IAC9B,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE;IAC9B,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE;IAChC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE;IACnC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE;IACjC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE;IACjC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE;IAClC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE;CACtC,CAAC;AACF,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACxB,MAAM,CAAC,IAAA,SAAG,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shufflecom-calculations",
3
- "version": "1.0.5",
3
+ "version": "1.0.7",
4
4
  "description": "",
5
5
  "types": "lib/index.d.ts",
6
6
  "main": "lib/index.js",
@@ -9,7 +9,7 @@
9
9
  },
10
10
  "author": "",
11
11
  "license": "ISC",
12
- "gitHead": "299cb372a9830a6a51e98da9c134e953beaa8265",
12
+ "gitHead": "22691d71f947d50e828da44605e9fb78d59b66e6",
13
13
  "dependencies": {
14
14
  "uuid": "^8.3.2"
15
15
  }
@@ -0,0 +1,21 @@
1
+ import mines from './mines';
2
+
3
+ const edgeBps = 100;
4
+ const results = [
5
+ { mines: 5, diamonds: 20, multiplier: 52598.7, winChance: 0.00001882 },
6
+ { mines: 4, diamonds: 6, multiplier: 3.231037, winChance: 0.30640316 },
7
+ { mines: 3, diamonds: 10, multiplier: 5.004396, winChance: 0.19782609 },
8
+ { mines: 17, diamonds: 3, multiplier: 40.660714, winChance: 0.02434783 },
9
+ ];
10
+
11
+ describe('Mines', () => {
12
+ it('be able to calculate the correct win chances', () => {
13
+ results.forEach((item) => {
14
+ expect(mines.calculateMultiplierBN(item.diamonds, item.mines, edgeBps).decimalPlaces(6).toNumber()).toBe(item.multiplier);
15
+ });
16
+
17
+ results.forEach((item) => {
18
+ expect(mines.calculateWinChanceBN(item.diamonds, item.mines).decimalPlaces(8).toNumber()).toBe(item.winChance);
19
+ });
20
+ });
21
+ });
@@ -0,0 +1,43 @@
1
+ import BigNumber from 'bignumber.js';
2
+ import { calculateEdgeMultiplier, hexToBytes } from '../utils';
3
+ import { nCr } from '../utils/ncr';
4
+ const BYTE_TOTAL = new BigNumber(256);
5
+ const TOTAL_TILES = new BigNumber(25);
6
+ class Mines {
7
+ getResults(hexStr: string[]): number[] {
8
+ const results: number[] = [];
9
+ const grids = Array.from(Array(TOTAL_TILES.toNumber()).keys());
10
+ hexStr
11
+ .map((hex) => hexToBytes(hex))
12
+ .map((gameResultBytes, counter) => {
13
+ let position = new BigNumber(0);
14
+ // Only use the first 4
15
+ for (let i = 0; i < 4; i++) {
16
+ const value = gameResultBytes[i];
17
+ position = position.plus(new BigNumber(value).dividedBy(BYTE_TOTAL.pow(i + 1)));
18
+ }
19
+ position = position.multipliedBy(TOTAL_TILES.minus(new BigNumber(counter))).integerValue(BigNumber.ROUND_DOWN);
20
+ results.push(grids.splice(position.toNumber(), 1)[0]);
21
+ });
22
+
23
+ return results;
24
+ }
25
+
26
+ hitMine = (field: number, results: number[]) => {
27
+ return results.some((result) => result === field);
28
+ };
29
+
30
+ calculateMultiplierBN(diamonds: number, mines: number, edgeBps: number) {
31
+ return this.calculateWinChanceBN(diamonds, mines).pow(-1).multipliedBy(calculateEdgeMultiplier(edgeBps));
32
+ }
33
+
34
+ calculateWinChanceBN(diamonds: number, mines: number) {
35
+ return nCr(TOTAL_TILES.minus(mines).toNumber(), diamonds).dividedBy(nCr(TOTAL_TILES.toNumber(), diamonds));
36
+ }
37
+
38
+ calculatePayoutBN(amount: BigNumber, multiplier: BigNumber) {
39
+ return amount.multipliedBy(multiplier);
40
+ }
41
+ }
42
+
43
+ export default new Mines();
@@ -0,0 +1,35 @@
1
+ import BigNumber from 'bignumber.js';
2
+ import plinko from './plinko';
3
+
4
+ const edgeBps = 100; // 1%
5
+
6
+ const thresholdBps = 20;
7
+
8
+ const upperThreshold = edgeBps + thresholdBps;
9
+ const lowerThreshold = edgeBps - thresholdBps;
10
+
11
+ describe('Plinko', () => {
12
+ it('ensure we we maintain enough edge', () => {
13
+ plinko.configs().forEach(({ rows, payout }) => {
14
+ Object.entries(payout).forEach(([riskLevel, riskPayout]) => {
15
+ if (riskPayout.length !== rows + 1) {
16
+ throw new Error(`rows: ${rows} riskLevel: ${riskLevel} has too many or too few payout options`)
17
+ }
18
+
19
+ let expectedPayout = new BigNumber(0);
20
+ Object.values(riskPayout).forEach((payoutValue, position) => {
21
+ const chance = plinko.calculateChance(rows, position);
22
+
23
+ expectedPayout = expectedPayout.plus(chance.multipliedBy(payoutValue))
24
+ })
25
+
26
+ const riskLevelEdge = new BigNumber(1).minus(expectedPayout).multipliedBy(10_000).toNumber();
27
+
28
+ if (riskLevelEdge < lowerThreshold || riskLevelEdge > upperThreshold) {
29
+ throw new Error(`rows: ${rows} riskLevel: ${riskLevel} exceeding edge threshold. Currently at ${riskLevelEdge}% edge`)
30
+ }
31
+ })
32
+ })
33
+ });
34
+
35
+ });
@@ -0,0 +1,52 @@
1
+ import BigNumber from "bignumber.js";
2
+ import { nCr } from "../utils/ncr"
3
+
4
+ export enum PlinkoRiskLevel {
5
+ LOW_RISK = 'LOW_RISK',
6
+ MEDIUM_RISK = 'MEDIUM_RISK',
7
+ HIGH_RISK = 'HIGH_RISK'
8
+ }
9
+
10
+ interface PlinkConfig {
11
+ rows: number,
12
+ payout: Record<PlinkoRiskLevel, number[]>
13
+ }
14
+
15
+ const plinkoConfigs: PlinkConfig[] = [
16
+ {
17
+ rows: 8,
18
+ payout: {
19
+ [PlinkoRiskLevel.LOW_RISK]: [5.6, 2.1, 1.1, 1, 0.5, 1, 1.1, 2.1, 5.6],
20
+ [PlinkoRiskLevel.MEDIUM_RISK]: [13, 3, 1.3, 0.7, 0.4, 0.7, 1.3, 3, 13],
21
+ [PlinkoRiskLevel.HIGH_RISK]: [29, 4, 1.5, 0.3, 0.2, 0.3, 1.5, 4, 29]
22
+ }
23
+ },
24
+ {
25
+ rows: 9,
26
+ payout: {
27
+ [PlinkoRiskLevel.LOW_RISK]: [5.6, 2, 1.6, 1, 0.7, 0.7, 1, 1.6, 2, 5.6],
28
+ [PlinkoRiskLevel.MEDIUM_RISK]: [18, 4, 1.7, 0.9, 0.5, 0.5, 0.9, 1.7, 4, 18],
29
+ [PlinkoRiskLevel.HIGH_RISK]: [43, 7, 2, 0.6, 0.2, 0.2, 0.6, 2, 7, 43]
30
+ }
31
+ }
32
+ ]
33
+
34
+ class Plinko {
35
+ configs(): PlinkConfig[] {
36
+ return plinkoConfigs;
37
+ }
38
+
39
+ calculateChance(rows: number, position: number): BigNumber {
40
+ const possibleOutcomes = nCr(rows, position);
41
+ const sampleSpace = new BigNumber(2).pow(rows);
42
+
43
+ return possibleOutcomes.dividedBy(sampleSpace);
44
+ }
45
+
46
+ calculateChances(rows: number): BigNumber[] {
47
+ return [...Array(rows + 1).keys()].map((position) => this.calculateChance(rows, position));
48
+ }
49
+ }
50
+
51
+ export default new Plinko();
52
+
package/src/index.ts CHANGED
@@ -1,4 +1,6 @@
1
- export { default as dice } from './games/dice'
1
+ export { default as dice } from './games/dice';
2
2
  export * from './regex';
3
3
  export { Chain } from './enums/chain';
4
- export * from './utils';
4
+ export * from './utils';
5
+ export { default as mines } from './games/mines';
6
+ export { default as plinko } from './games/plinko';
@@ -0,0 +1,16 @@
1
+ import { factorial } from '../utils/factorial';
2
+ const testData = [
3
+ { input: 0, output: '1' },
4
+ { input: 1, output: '1' },
5
+ { input: 2, output: '2' },
6
+ { input: 5, output: '120' },
7
+ { input: 10, output: '3628800' },
8
+ { input: 25, output: '15511210043330985984000000' },
9
+ ];
10
+ describe('factorial', () => {
11
+ it('be able to calculate factorial correctly', () => {
12
+ testData.forEach((item) => {
13
+ expect(factorial(item.input).toFixed()).toBe(item.output);
14
+ });
15
+ });
16
+ });
@@ -0,0 +1,15 @@
1
+ import BigNumber from 'bignumber.js';
2
+
3
+ const cache = [new BigNumber(1)];
4
+ export function factorial(num: number): BigNumber {
5
+ if (!Number.isInteger(num) || num < 0) {
6
+ throw new Error(`Factorial: <${num}> should be an integer greater or equal to 0`)
7
+ }
8
+
9
+ const numBN = new BigNumber(num);
10
+
11
+ if (!cache[num]) {
12
+ cache[num] = numBN.multipliedBy(factorial(num - 1));
13
+ }
14
+ return cache[num];
15
+ }
@@ -0,0 +1,18 @@
1
+ import { nCr } from './ncr';
2
+ const testData = [
3
+ { input: [0, 0], output: '1' },
4
+ { input: [1, 1], output: '1' },
5
+ { input: [25, 1], output: '25' },
6
+ { input: [25, 4], output: '12650' },
7
+ { input: [25, 24], output: '25' },
8
+ { input: [10, 3], output: '120' },
9
+ { input: [15, 6], output: '5005' },
10
+ { input: [20, 12], output: '125970' },
11
+ ];
12
+ describe('factorial', () => {
13
+ it('be able to calculate factorial correctly', () => {
14
+ testData.forEach((item) => {
15
+ expect(nCr(item.input[0], item.input[1]).toFixed()).toBe(item.output);
16
+ });
17
+ });
18
+ });
@@ -0,0 +1,8 @@
1
+ import BigNumber from 'bignumber.js';
2
+ import { factorial } from './factorial';
3
+
4
+ export function nCr(n: number, r: number): BigNumber {
5
+ return factorial(n)
6
+ .dividedBy(factorial(r))
7
+ .dividedBy(factorial(new BigNumber(n).minus(r).toNumber()));
8
+ }