@d-zero/beholder 0.1.3 → 0.1.5
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.
- package/CHANGELOG.md +8 -0
- package/dist/beholder.d.ts +1 -0
- package/dist/beholder.js +1 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +67 -0
- package/dist/dom-evaluation.d.ts +27 -0
- package/dist/dom-evaluation.js +33 -0
- package/dist/fetch-destination.d.ts +6 -0
- package/dist/fetch-destination.js +12 -0
- package/dist/get-classes.d.ts +2 -0
- package/dist/get-classes.js +15 -0
- package/dist/get-links.d.ts +5 -0
- package/dist/get-links.js +13 -0
- package/dist/keyword-check.d.ts +5 -0
- package/dist/keyword-check.js +5 -0
- package/dist/scraper.js +5 -0
- package/dist/sub-process-runner.js +1 -1
- package/dist/utils.d.ts +17 -0
- package/dist/utils.js +17 -0
- package/package.json +6 -5
- package/src/dom-evaluation.ts +33 -0
- package/src/fetch-destination.ts +12 -0
- package/src/keyword-check.ts +5 -0
- package/src/scraper.ts +5 -0
- package/src/sub-process-runner.ts +1 -1
- package/src/utils.ts +17 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/dist/network.d.ts +0 -2
- package/dist/network.js +0 -132
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [0.1.5](https://github.com/d-zero-dev/tools/compare/@d-zero/beholder@0.1.3...@d-zero/beholder@0.1.5) (2025-03-05)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @d-zero/beholder
|
|
9
|
+
|
|
10
|
+
## [0.1.4](https://github.com/d-zero-dev/tools/compare/@d-zero/beholder@0.1.3...@d-zero/beholder@0.1.4) (2024-10-30)
|
|
11
|
+
|
|
12
|
+
**Note:** Version bump only for package @d-zero/beholder
|
|
13
|
+
|
|
6
14
|
## [0.1.3](https://github.com/d-zero-dev/tools/compare/@d-zero/beholder@0.1.2...@d-zero/beholder@0.1.3) (2024-10-03)
|
|
7
15
|
|
|
8
16
|
**Note:** Version bump only for package @d-zero/beholder
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/beholder.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/cli.d.ts
ADDED
package/dist/cli.js
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import fs from 'node:fs/promises';
|
|
3
|
+
import { deal } from '@d-zero/puppeteer-dealer';
|
|
4
|
+
import { beforePageScan, defaultSizes, pageScanListener, } from '@d-zero/puppeteer-page-scan';
|
|
5
|
+
import { readList } from '@d-zero/readtext/list';
|
|
6
|
+
import { pathComparator } from '@d-zero/shared/sort/path';
|
|
7
|
+
import c from 'ansi-colors';
|
|
8
|
+
import meow from 'meow';
|
|
9
|
+
import { getClasses } from './get-classes.js';
|
|
10
|
+
// import { getLinks } from './get-links.js';
|
|
11
|
+
const cli = meow(``, {
|
|
12
|
+
importMeta: import.meta,
|
|
13
|
+
flags: {
|
|
14
|
+
file: {
|
|
15
|
+
type: 'string',
|
|
16
|
+
shortFlag: 'f',
|
|
17
|
+
isRequired: true,
|
|
18
|
+
},
|
|
19
|
+
verbose: {
|
|
20
|
+
type: 'boolean',
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
const classMap = new Map();
|
|
25
|
+
async function main() {
|
|
26
|
+
const list = await readList(cli.flags.file);
|
|
27
|
+
const sizes = {
|
|
28
|
+
desktop: defaultSizes.desktop,
|
|
29
|
+
mobile: defaultSizes.mobile,
|
|
30
|
+
};
|
|
31
|
+
await deal(list.map((url) => ({ id: null, url })), (_, done, total) => {
|
|
32
|
+
return `${c.bold.bgBlack('👁️ Beholder scans%dots%')} ${done}/${total}`;
|
|
33
|
+
}, {
|
|
34
|
+
async deal(page, _, url, logger) {
|
|
35
|
+
for (const [name, size] of Object.entries(sizes)) {
|
|
36
|
+
const sizeLabel = c.bgMagenta(` ${name} `);
|
|
37
|
+
await beforePageScan(page, url, {
|
|
38
|
+
name,
|
|
39
|
+
...size,
|
|
40
|
+
listener: pageScanListener(logger),
|
|
41
|
+
});
|
|
42
|
+
logger(`${sizeLabel} Scanning%dots%`);
|
|
43
|
+
// await getLinks(page);
|
|
44
|
+
const classes = await getClasses(page, '[data-bgb]', (className) => {
|
|
45
|
+
return !/^bg[bt]-/i.test(className);
|
|
46
|
+
});
|
|
47
|
+
classMap.set(url, classes.toSorted());
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
}, cli.flags);
|
|
51
|
+
const allClassSet = new Set();
|
|
52
|
+
for (const classes of classMap.values()) {
|
|
53
|
+
for (const className of classes) {
|
|
54
|
+
allClassSet.add(className);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
const allClasses = [...allClassSet].toSorted();
|
|
58
|
+
const tableHeader = ['URL', ...allClasses];
|
|
59
|
+
const urlClassList = [...classMap.entries()].toSorted(([urlA], [urlB]) => pathComparator(urlA, urlB));
|
|
60
|
+
const tableBody = urlClassList.map(([url, classes]) => {
|
|
61
|
+
return [url, ...allClasses.map((className) => (classes.includes(className) ? 1 : 0))];
|
|
62
|
+
});
|
|
63
|
+
const table = [tableHeader, ...tableBody];
|
|
64
|
+
process.stdout.write('Output results\n');
|
|
65
|
+
await fs.writeFile('./output.csv', table.map((row) => row.join(',')).join('\n'), 'utf8');
|
|
66
|
+
}
|
|
67
|
+
await main();
|
package/dist/dom-evaluation.d.ts
CHANGED
|
@@ -1,9 +1,36 @@
|
|
|
1
1
|
import type { AnchorData, ImageElement, ParseURLOptions } from './types.js';
|
|
2
2
|
import type { ElementHandle, Page } from 'puppeteer';
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
* @param $el
|
|
6
|
+
* @param propName
|
|
7
|
+
* @param fallback
|
|
8
|
+
*/
|
|
3
9
|
export declare function getProp<T>($el: ElementHandle<Element>, propName: string, fallback: T): Promise<T>;
|
|
10
|
+
/**
|
|
11
|
+
*
|
|
12
|
+
* @param page
|
|
13
|
+
* @param selector
|
|
14
|
+
* @param propName
|
|
15
|
+
* @param fallback
|
|
16
|
+
*/
|
|
4
17
|
export declare function getPropBySelector<T>(page: Page, selector: string, propName: string, fallback: T): Promise<T>;
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @param page
|
|
21
|
+
* @param viewportWidth
|
|
22
|
+
*/
|
|
5
23
|
export declare function getImageList(page: Page, viewportWidth: number): Promise<ImageElement[]>;
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @param page
|
|
27
|
+
* @param options
|
|
28
|
+
*/
|
|
6
29
|
export declare function getAnchorList(page: Page, options?: ParseURLOptions): Promise<AnchorData[]>;
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* @param page
|
|
33
|
+
*/
|
|
7
34
|
export declare function getMeta(page: Page): Promise<{
|
|
8
35
|
title: string;
|
|
9
36
|
lang: string;
|
package/dist/dom-evaluation.js
CHANGED
|
@@ -3,12 +3,24 @@ import { parseUrl } from './utils.js';
|
|
|
3
3
|
const pid = `${process.pid}`;
|
|
4
4
|
const log = domLog.extend(pid);
|
|
5
5
|
const dLog = domDetailsLog.extend(pid);
|
|
6
|
+
/**
|
|
7
|
+
*
|
|
8
|
+
* @param $el
|
|
9
|
+
* @param propName
|
|
10
|
+
* @param fallback
|
|
11
|
+
*/
|
|
6
12
|
export async function getProp($el, propName, fallback) {
|
|
7
13
|
return Promise.race([
|
|
8
14
|
_getProp($el, propName, fallback),
|
|
9
15
|
new Promise((res) => setTimeout(() => res(fallback), 10 * 1000)),
|
|
10
16
|
]);
|
|
11
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @param $el
|
|
21
|
+
* @param propName
|
|
22
|
+
* @param fallback
|
|
23
|
+
*/
|
|
12
24
|
async function _getProp($el, propName, fallback) {
|
|
13
25
|
try {
|
|
14
26
|
const prop = await $el.getProperty(propName);
|
|
@@ -22,6 +34,13 @@ async function _getProp($el, propName, fallback) {
|
|
|
22
34
|
return fallback;
|
|
23
35
|
}
|
|
24
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
*
|
|
39
|
+
* @param page
|
|
40
|
+
* @param selector
|
|
41
|
+
* @param propName
|
|
42
|
+
* @param fallback
|
|
43
|
+
*/
|
|
25
44
|
export async function getPropBySelector(page, selector, propName, fallback) {
|
|
26
45
|
const $el = await page.$(selector);
|
|
27
46
|
if (!$el) {
|
|
@@ -29,6 +48,11 @@ export async function getPropBySelector(page, selector, propName, fallback) {
|
|
|
29
48
|
}
|
|
30
49
|
return getProp($el, propName, fallback);
|
|
31
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
*
|
|
53
|
+
* @param page
|
|
54
|
+
* @param viewportWidth
|
|
55
|
+
*/
|
|
32
56
|
export async function getImageList(page, viewportWidth) {
|
|
33
57
|
log('Getting images (Viewport: %dpx)', viewportWidth);
|
|
34
58
|
const $images = await page.$$('img');
|
|
@@ -62,6 +86,11 @@ export async function getImageList(page, viewportWidth) {
|
|
|
62
86
|
dLog('Images are: %O', imageList.map((i) => i.src));
|
|
63
87
|
return imageList;
|
|
64
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
*
|
|
91
|
+
* @param page
|
|
92
|
+
* @param options
|
|
93
|
+
*/
|
|
65
94
|
export async function getAnchorList(page, options) {
|
|
66
95
|
log('Getting anchors');
|
|
67
96
|
const $anchors = await page.$$('a[href], area[href]');
|
|
@@ -86,6 +115,10 @@ export async function getAnchorList(page, options) {
|
|
|
86
115
|
dLog('Anchors are: %O', anchorList.map((a) => a.href.href));
|
|
87
116
|
return anchorList;
|
|
88
117
|
}
|
|
118
|
+
/**
|
|
119
|
+
*
|
|
120
|
+
* @param page
|
|
121
|
+
*/
|
|
89
122
|
export async function getMeta(page) {
|
|
90
123
|
log('Getting Meta');
|
|
91
124
|
const robotsVal = await getPropBySelector(page, 'meta[name="robots"]', 'content', '');
|
|
@@ -2,6 +2,12 @@ import { delay } from '@d-zero/shared/delay';
|
|
|
2
2
|
import redirects from 'follow-redirects';
|
|
3
3
|
import NetTimeoutError from './net-timeout-error.js';
|
|
4
4
|
const cacheMap = new Map();
|
|
5
|
+
/**
|
|
6
|
+
*
|
|
7
|
+
* @param url
|
|
8
|
+
* @param isExternal
|
|
9
|
+
* @param method
|
|
10
|
+
*/
|
|
5
11
|
export async function fetchDestination(url, isExternal, method = 'HEAD') {
|
|
6
12
|
if (cacheMap.has(url.withoutHash)) {
|
|
7
13
|
const cache = cacheMap.get(url.withoutHash);
|
|
@@ -23,6 +29,12 @@ export async function fetchDestination(url, isExternal, method = 'HEAD') {
|
|
|
23
29
|
}
|
|
24
30
|
return result;
|
|
25
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
*
|
|
34
|
+
* @param url
|
|
35
|
+
* @param isExternal
|
|
36
|
+
* @param method
|
|
37
|
+
*/
|
|
26
38
|
async function _fetchHead(url, isExternal, method) {
|
|
27
39
|
return new Promise((resolve, reject) => {
|
|
28
40
|
const request = {
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export async function getClasses(page, selector = '*', filter = () => true) {
|
|
2
|
+
const classes = await page.evaluate(() => {
|
|
3
|
+
const allElements = [...document.querySelectorAll(selector)];
|
|
4
|
+
const classes = new Set();
|
|
5
|
+
for (const el of allElements) {
|
|
6
|
+
for (const className of el.classList) {
|
|
7
|
+
if (filter(className)) {
|
|
8
|
+
classes.add(`.${className}`);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
return [...classes];
|
|
13
|
+
});
|
|
14
|
+
return classes;
|
|
15
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export async function getLinks(page) {
|
|
2
|
+
const links = await page.evaluate(() => {
|
|
3
|
+
const anchors = [
|
|
4
|
+
...document.querySelectorAll('a[href], area[href]'),
|
|
5
|
+
];
|
|
6
|
+
return anchors.map((anchor) => {
|
|
7
|
+
const href = anchor.href;
|
|
8
|
+
const text = anchor.textContent?.trim() ?? '';
|
|
9
|
+
return { href, text };
|
|
10
|
+
});
|
|
11
|
+
});
|
|
12
|
+
return links;
|
|
13
|
+
}
|
package/dist/keyword-check.d.ts
CHANGED
package/dist/keyword-check.js
CHANGED
package/dist/scraper.js
CHANGED
|
@@ -5,7 +5,7 @@ import { TypedAwaitEventEmitter } from '@d-zero/shared/typed-await-event-emitter
|
|
|
5
5
|
import { isType } from 'typescript-fsa';
|
|
6
6
|
import { scraperLog } from './debug.js';
|
|
7
7
|
import { scraperEvent, subProcessEvent } from './events.js';
|
|
8
|
-
const __filename = new
|
|
8
|
+
const __filename = new globalThis.URL(import.meta.url).pathname;
|
|
9
9
|
const __dirname = path.dirname(__filename);
|
|
10
10
|
const SUB_PROCESS_PATH = path.resolve(__dirname, 'sub-process');
|
|
11
11
|
export default class SubProcessRunner extends TypedAwaitEventEmitter {
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
import type { CDNType, CompressType, ParseURLOptions, ExURL } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* @param url
|
|
5
|
+
* @param options
|
|
6
|
+
*/
|
|
2
7
|
export declare function parseUrl(url: string | ExURL, options?: ParseURLOptions): ExURL | null;
|
|
8
|
+
/**
|
|
9
|
+
*
|
|
10
|
+
* @param status
|
|
11
|
+
*/
|
|
3
12
|
export declare function isError(status: number): boolean;
|
|
13
|
+
/**
|
|
14
|
+
*
|
|
15
|
+
* @param headers
|
|
16
|
+
*/
|
|
4
17
|
export declare function detectCompress(headers: Record<string, string | string[] | undefined>): false | CompressType;
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* @param headers
|
|
21
|
+
*/
|
|
5
22
|
export declare function detectCDN(headers: Record<string, string | string[] | undefined>): false | CDNType;
|
package/dist/utils.js
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import Path from 'node:path';
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* @param url
|
|
5
|
+
* @param options
|
|
6
|
+
*/
|
|
2
7
|
export function parseUrl(url, options) {
|
|
3
8
|
if (typeof url !== 'string') {
|
|
4
9
|
return url;
|
|
@@ -83,9 +88,17 @@ export function parseUrl(url, options) {
|
|
|
83
88
|
return null;
|
|
84
89
|
}
|
|
85
90
|
}
|
|
91
|
+
/**
|
|
92
|
+
*
|
|
93
|
+
* @param status
|
|
94
|
+
*/
|
|
86
95
|
export function isError(status) {
|
|
87
96
|
return !(200 <= status && status < 400);
|
|
88
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
*
|
|
100
|
+
* @param headers
|
|
101
|
+
*/
|
|
89
102
|
export function detectCompress(headers) {
|
|
90
103
|
const enc = 'content-encoding' in headers && typeof headers['content-encoding'] === 'string'
|
|
91
104
|
? headers['content-encoding']
|
|
@@ -119,6 +132,10 @@ export function detectCompress(headers) {
|
|
|
119
132
|
}
|
|
120
133
|
return false;
|
|
121
134
|
}
|
|
135
|
+
/**
|
|
136
|
+
*
|
|
137
|
+
* @param headers
|
|
138
|
+
*/
|
|
122
139
|
export function detectCDN(headers) {
|
|
123
140
|
if ('X-Akamai-Transformed' in headers) {
|
|
124
141
|
return 'Akamai';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@d-zero/beholder",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"description": "The tool for scraping and recording web pages",
|
|
5
5
|
"author": "D-ZERO",
|
|
6
6
|
"license": "MIT",
|
|
@@ -17,18 +17,19 @@
|
|
|
17
17
|
},
|
|
18
18
|
"scripts": {
|
|
19
19
|
"build": "tsc",
|
|
20
|
+
"watch": "tsc --watch",
|
|
20
21
|
"clean": "tsc --build --clean"
|
|
21
22
|
},
|
|
22
23
|
"dependencies": {
|
|
23
|
-
"@d-zero/shared": "0.
|
|
24
|
-
"debug": "4.
|
|
24
|
+
"@d-zero/shared": "0.7.0",
|
|
25
|
+
"debug": "4.4.0",
|
|
25
26
|
"follow-redirects": "1.15.9",
|
|
26
|
-
"puppeteer": "23.
|
|
27
|
+
"puppeteer": "23.7.1",
|
|
27
28
|
"typescript-fsa": "3.0.0"
|
|
28
29
|
},
|
|
29
30
|
"devDependencies": {
|
|
30
31
|
"@types/debug": "4.1.12",
|
|
31
32
|
"@types/follow-redirects": "1.14.4"
|
|
32
33
|
},
|
|
33
|
-
"gitHead": "
|
|
34
|
+
"gitHead": "e4fd17857e31022d121527b00fd7f009dbdb2142"
|
|
34
35
|
}
|
package/src/dom-evaluation.ts
CHANGED
|
@@ -8,6 +8,12 @@ const pid = `${process.pid}`;
|
|
|
8
8
|
const log = domLog.extend(pid);
|
|
9
9
|
const dLog = domDetailsLog.extend(pid);
|
|
10
10
|
|
|
11
|
+
/**
|
|
12
|
+
*
|
|
13
|
+
* @param $el
|
|
14
|
+
* @param propName
|
|
15
|
+
* @param fallback
|
|
16
|
+
*/
|
|
11
17
|
export async function getProp<T>(
|
|
12
18
|
$el: ElementHandle<Element>,
|
|
13
19
|
propName: string,
|
|
@@ -19,6 +25,12 @@ export async function getProp<T>(
|
|
|
19
25
|
]);
|
|
20
26
|
}
|
|
21
27
|
|
|
28
|
+
/**
|
|
29
|
+
*
|
|
30
|
+
* @param $el
|
|
31
|
+
* @param propName
|
|
32
|
+
* @param fallback
|
|
33
|
+
*/
|
|
22
34
|
async function _getProp<T>($el: ElementHandle<Element>, propName: string, fallback: T) {
|
|
23
35
|
try {
|
|
24
36
|
const prop = await $el.getProperty(propName);
|
|
@@ -32,6 +44,13 @@ async function _getProp<T>($el: ElementHandle<Element>, propName: string, fallba
|
|
|
32
44
|
}
|
|
33
45
|
}
|
|
34
46
|
|
|
47
|
+
/**
|
|
48
|
+
*
|
|
49
|
+
* @param page
|
|
50
|
+
* @param selector
|
|
51
|
+
* @param propName
|
|
52
|
+
* @param fallback
|
|
53
|
+
*/
|
|
35
54
|
export async function getPropBySelector<T>(
|
|
36
55
|
page: Page,
|
|
37
56
|
selector: string,
|
|
@@ -46,6 +65,11 @@ export async function getPropBySelector<T>(
|
|
|
46
65
|
return getProp($el, propName, fallback);
|
|
47
66
|
}
|
|
48
67
|
|
|
68
|
+
/**
|
|
69
|
+
*
|
|
70
|
+
* @param page
|
|
71
|
+
* @param viewportWidth
|
|
72
|
+
*/
|
|
49
73
|
export async function getImageList(
|
|
50
74
|
page: Page,
|
|
51
75
|
viewportWidth: number,
|
|
@@ -99,6 +123,11 @@ export async function getImageList(
|
|
|
99
123
|
return imageList;
|
|
100
124
|
}
|
|
101
125
|
|
|
126
|
+
/**
|
|
127
|
+
*
|
|
128
|
+
* @param page
|
|
129
|
+
* @param options
|
|
130
|
+
*/
|
|
102
131
|
export async function getAnchorList(page: Page, options?: ParseURLOptions) {
|
|
103
132
|
log('Getting anchors');
|
|
104
133
|
|
|
@@ -130,6 +159,10 @@ export async function getAnchorList(page: Page, options?: ParseURLOptions) {
|
|
|
130
159
|
return anchorList;
|
|
131
160
|
}
|
|
132
161
|
|
|
162
|
+
/**
|
|
163
|
+
*
|
|
164
|
+
* @param page
|
|
165
|
+
*/
|
|
133
166
|
export async function getMeta(page: Page) {
|
|
134
167
|
log('Getting Meta');
|
|
135
168
|
|
package/src/fetch-destination.ts
CHANGED
|
@@ -9,6 +9,12 @@ import NetTimeoutError from './net-timeout-error.js';
|
|
|
9
9
|
|
|
10
10
|
const cacheMap = new Map<string, PageData | Error>();
|
|
11
11
|
|
|
12
|
+
/**
|
|
13
|
+
*
|
|
14
|
+
* @param url
|
|
15
|
+
* @param isExternal
|
|
16
|
+
* @param method
|
|
17
|
+
*/
|
|
12
18
|
export async function fetchDestination(
|
|
13
19
|
url: ExURL,
|
|
14
20
|
isExternal: boolean,
|
|
@@ -38,6 +44,12 @@ export async function fetchDestination(
|
|
|
38
44
|
return result;
|
|
39
45
|
}
|
|
40
46
|
|
|
47
|
+
/**
|
|
48
|
+
*
|
|
49
|
+
* @param url
|
|
50
|
+
* @param isExternal
|
|
51
|
+
* @param method
|
|
52
|
+
*/
|
|
41
53
|
async function _fetchHead(url: ExURL, isExternal: boolean, method: string) {
|
|
42
54
|
return new Promise<PageData>((resolve, reject) => {
|
|
43
55
|
const request: RequestOptions = {
|
package/src/keyword-check.ts
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { strToRegex } from '@d-zero/shared/str-to-regex';
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
* @param html
|
|
6
|
+
* @param excludeKeywords
|
|
7
|
+
*/
|
|
3
8
|
export function keywordCheck(html: string, excludeKeywords: string[]) {
|
|
4
9
|
for (const keyword of excludeKeywords) {
|
|
5
10
|
const pattern = strToRegex(keyword);
|
package/src/scraper.ts
CHANGED
|
@@ -698,6 +698,11 @@ export default class Scraper extends TypedAwaitEventEmitter<ScrapeEventTypes> {
|
|
|
698
698
|
}
|
|
699
699
|
}
|
|
700
700
|
|
|
701
|
+
/**
|
|
702
|
+
*
|
|
703
|
+
* @param page
|
|
704
|
+
* @param height
|
|
705
|
+
*/
|
|
701
706
|
async function autoScroll(page: Page, height: number) {
|
|
702
707
|
await page.evaluate(async (height: number) => {
|
|
703
708
|
/* global window */
|
|
@@ -12,7 +12,7 @@ import { isType } from 'typescript-fsa';
|
|
|
12
12
|
import { scraperLog } from './debug.js';
|
|
13
13
|
import { scraperEvent, subProcessEvent } from './events.js';
|
|
14
14
|
|
|
15
|
-
const __filename = new
|
|
15
|
+
const __filename = new globalThis.URL(import.meta.url).pathname;
|
|
16
16
|
const __dirname = path.dirname(__filename);
|
|
17
17
|
const SUB_PROCESS_PATH = path.resolve(__dirname, 'sub-process');
|
|
18
18
|
|
package/src/utils.ts
CHANGED
|
@@ -2,6 +2,11 @@ import type { CDNType, CompressType, ParseURLOptions, ExURL } from './types.js';
|
|
|
2
2
|
|
|
3
3
|
import Path from 'node:path';
|
|
4
4
|
|
|
5
|
+
/**
|
|
6
|
+
*
|
|
7
|
+
* @param url
|
|
8
|
+
* @param options
|
|
9
|
+
*/
|
|
5
10
|
export function parseUrl(url: string | ExURL, options?: ParseURLOptions): ExURL | null {
|
|
6
11
|
if (typeof url !== 'string') {
|
|
7
12
|
return url;
|
|
@@ -94,10 +99,18 @@ export function parseUrl(url: string | ExURL, options?: ParseURLOptions): ExURL
|
|
|
94
99
|
}
|
|
95
100
|
}
|
|
96
101
|
|
|
102
|
+
/**
|
|
103
|
+
*
|
|
104
|
+
* @param status
|
|
105
|
+
*/
|
|
97
106
|
export function isError(status: number) {
|
|
98
107
|
return !(200 <= status && status < 400);
|
|
99
108
|
}
|
|
100
109
|
|
|
110
|
+
/**
|
|
111
|
+
*
|
|
112
|
+
* @param headers
|
|
113
|
+
*/
|
|
101
114
|
export function detectCompress(
|
|
102
115
|
headers: Record<string, string | string[] | undefined>,
|
|
103
116
|
): false | CompressType {
|
|
@@ -142,6 +155,10 @@ export function detectCompress(
|
|
|
142
155
|
return false;
|
|
143
156
|
}
|
|
144
157
|
|
|
158
|
+
/**
|
|
159
|
+
*
|
|
160
|
+
* @param headers
|
|
161
|
+
*/
|
|
145
162
|
export function detectCDN(
|
|
146
163
|
headers: Record<string, string | string[] | undefined>,
|
|
147
164
|
): false | CDNType {
|
package/tsconfig.tsbuildinfo
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"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.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.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.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.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.es2019.intl.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.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../node_modules/typescript/lib/lib.esnext.array.d.ts","../../../node_modules/typescript/lib/lib.esnext.collection.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/typescript/lib/lib.esnext.string.d.ts","../../../node_modules/typescript/lib/lib.esnext.promise.d.ts","../../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../../node_modules/typescript/lib/lib.esnext.object.d.ts","../../../node_modules/typescript/lib/lib.esnext.regexp.d.ts","../../../node_modules/typescript/lib/lib.esnext.iterator.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","./src/debug.ts","../../../node_modules/typescript-fsa/lib/index.d.ts","./src/types.ts","../../../node_modules/@types/node/ts5.6/globals.typedarray.d.ts","../../../node_modules/@types/node/ts5.6/buffer.buffer.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.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/dom-events.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/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/sqlite.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/test.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/ts5.6/index.d.ts","../../../node_modules/typed-query-selector/parser.d.ts","../../../node_modules/devtools-protocol/types/protocol.d.ts","../../../node_modules/devtools-protocol/types/protocol-mapping.d.ts","../../../node_modules/chromium-bidi/lib/cjs/protocol/generated/webdriver-bidi.d.ts","../../../node_modules/chromium-bidi/lib/cjs/protocol/cdp.d.ts","../../../node_modules/chromium-bidi/lib/cjs/protocol/generated/webdriver-bidi-bluetooth.d.ts","../../../node_modules/chromium-bidi/lib/cjs/protocol/generated/webdriver-bidi-permissions.d.ts","../../../node_modules/chromium-bidi/lib/cjs/protocol/chromium-bidi.d.ts","../../../node_modules/chromium-bidi/lib/cjs/protocol/errorresponse.d.ts","../../../node_modules/chromium-bidi/lib/cjs/protocol/protocol.d.ts","../../../node_modules/puppeteer/lib/types.d.ts","./src/utils.ts","./src/dom-evaluation.ts","./src/events.ts","../../../node_modules/@types/follow-redirects/index.d.ts","../shared/dist/delay.d.ts","./src/net-timeout-error.ts","./src/fetch-destination.ts","../shared/dist/retry.d.ts","../shared/dist/typed-await-event-emitter.d.ts","../shared/dist/str-to-regex.d.ts","./src/keyword-check.ts","./src/scraper.ts","./src/sub-process-runner.ts","./src/index.ts","./src/sub-process.ts","../../../node_modules/@types/conventional-commits-parser/index.d.ts","../../../node_modules/@types/diff/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/unist/index.d.ts","../../../node_modules/@types/hast/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/mdast/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/form-data/index.d.ts","../../../node_modules/@types/node-fetch/externals.d.ts","../../../node_modules/@types/node-fetch/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/pixelmatch/index.d.ts","../../../node_modules/@types/pngjs/index.d.ts","../../../node_modules/@types/yauzl/index.d.ts"],"fileIdsList":[[81,124,156,175],[75,81,124],[81,124],[81,124,139,141,156,167,175],[81,124,205],[81,124,139,167,175,211,212],[81,82,124],[81,123,124],[81,124,129,159],[81,124,125,130,136,137,144,156,167],[81,124,125,126,136,144],[81,124,127,168],[81,124,128,129,137,145],[81,124,129,156,164],[81,124,130,132,136,144],[81,123,124,131],[81,124,132,133],[81,124,136],[81,124,134,136],[81,123,124,136],[81,124,136,137,138,156,167],[81,124,136,137,138,151,156,159],[81,121,124,172],[81,121,124,132,136,139,144,156,167],[81,124,136,137,139,140,144,156,164,167],[81,124,139,141,156,164,167],[81,124,136,142],[81,124,143,167,172],[81,124,132,136,144,156],[81,124,145],[81,124,146],[81,123,124,147],[81,82,83,123,124,125,126,127,128,129,130,131,132,133,134,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173],[81,124,149],[81,124,150],[81,124,136,151,152],[81,124,151,153,168,170],[81,124,136,156,157,158,159],[81,124,156,158],[81,124,156,157],[81,124,159],[81,124,160],[81,82,124,156],[81,124,136,162,163],[81,124,162,163],[81,124,129,144,156,164],[81,124,165],[124],[80,81,82,83,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174],[81,124,144,166],[81,124,139,150,167],[81,124,129,168],[81,124,156,169],[81,124,143,170],[81,124,171],[81,124,129,136,138,147,156,167,170,172],[81,124,156,173],[81,124,175],[81,124,156,173,175],[81,124,136,156,175],[81,124,177,178,179],[81,124,179,180,181,182],[81,124,179],[81,124,179,180,181,182,183,184],[81,124,177],[81,124,139,156,175],[81,124,125,156,175,176,177,178,185],[81,93,97,124,167],[81,93,124,156,167],[81,88,124],[81,90,93,124,164,167],[81,124,144,164],[81,88,124,175],[81,90,93,124,144,167],[81,85,86,89,92,124,136,156,167],[81,93,100,124],[81,85,91,124],[81,93,114,115,124],[81,89,93,124,159,167,175],[81,114,124,175],[81,87,88,124,175],[81,93,124],[81,87,88,89,90,91,92,93,94,95,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,115,116,117,118,119,120,124],[81,93,108,124],[81,93,100,101,124],[81,91,93,101,102,124],[81,92,124],[81,85,88,93,124],[81,93,97,101,102,124],[81,97,124],[81,91,93,96,124,167],[81,85,90,93,100,124],[81,124,156],[81,88,93,114,124,172,175],[76,81,124],[77,79,81,124,186,187],[78,79,81,124],[79,81,124,139,190,191,192],[79,81,124,189,198,199],[81,124,196],[77,79,81,124,186,187,188,193,194,195,197],[77,78,79,81,124,125,146,189,191,195,198],[77,78,81,124,189,198],[78,81,124],[79,81,124,146]],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"abee51ebffafd50c07d76be5848a34abfe4d791b5745ef1e5648718722fab924","impliedFormat":1},{"version":"9e8ca8ed051c2697578c023d9c29d6df689a083561feba5c14aedee895853999","affectsGlobalScope":true,"impliedFormat":1},{"version":"69e65d976bf166ce4a9e6f6c18f94d2424bf116e90837ace179610dbccad9b42","affectsGlobalScope":true,"impliedFormat":1},{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"45d8ccb3dfd57355eb29749919142d4321a0aa4df6acdfc54e30433d7176600a","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1a94697425a99354df73d9c8291e2ecd4dddd370aed4023c2d6dee6cccb32666","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3f9fc0ec0b96a9e642f11eda09c0be83a61c7b336977f8b9fdb1e9788e925fe","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"479553e3779be7d4f68e9f40cdb82d038e5ef7592010100410723ceced22a0f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"d3d7b04b45033f57351c8434f60b6be1ea71a2dfec2d0a0c3c83badbb0e3e693","affectsGlobalScope":true,"impliedFormat":1},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true,"impliedFormat":1},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true,"impliedFormat":1},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true,"impliedFormat":1},{"version":"15c1c3d7b2e46e0025417ed6d5f03f419e57e6751f87925ca19dc88297053fe6","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"9d540251809289a05349b70ab5f4b7b99f922af66ab3c39ba56a475dcf95d5ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"0b11f3ca66aa33124202c80b70cd203219c3d4460cfc165e0707aa9ec710fc53","affectsGlobalScope":true,"impliedFormat":1},{"version":"6a3f5a0129cc80cf439ab71164334d649b47059a4f5afca90282362407d0c87f","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"61d6a2092f48af66dbfb220e31eea8b10bc02b6932d6e529005fd2d7b3281290","affectsGlobalScope":true,"impliedFormat":1},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"68cc8d6fcc2f270d7108f02f3ebc59480a54615be3e09a47e14527f349e9d53e","impliedFormat":1},{"version":"3eb11dbf3489064a47a2e1cf9d261b1f100ef0b3b50ffca6c44dd99d6dd81ac1","impliedFormat":1},{"version":"4115e9ccaeee6fe5d0b7cf8b5c29848949b0526c18e1ae469b399b510c6cef60","signature":"cf1c3a57b9e7045967afd7d3505fe1ea48748a4ce7a6d0c13a18452df934aa4f","impliedFormat":99},{"version":"24368caa7fecdc4056f20e571b3b4bb7b69f797ed74fa67ae03326c5f862660e","impliedFormat":1},{"version":"ffb9e48be363d8883e69654bc926cbafd4e966972c775b65b3976e98f76a447e","signature":"8a72a6bca4b2acaca43e9f2aedf26dfeddb4404ed77c94d50b02909a54db8d33","impliedFormat":99},{"version":"613b21ccdf3be6329d56e6caa13b258c842edf8377be7bc9f014ed14cdcfc308","affectsGlobalScope":true,"impliedFormat":1},{"version":"2d1319e6b5d0efd8c5eae07eb864a00102151e8b9afddd2d45db52e9aae002c4","affectsGlobalScope":true,"impliedFormat":1},{"version":"f6114eb1e8f70ec08816bdaa6ec740a0a7a01f25743e36f655f00157be394374","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"4d2b0eb911816f66abe4970898f97a2cfc902bcd743cbfa5017fad79f7ef90d8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"24b8685c62562f5d98615c5a0c1d05f297cf5065f15246edfe99e81ec4c0e011","impliedFormat":1},{"version":"93507c745e8f29090efb99399c3f77bec07db17acd75634249dc92f961573387","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"bb2cd9339d0201e7e78ccb6ff2f71aac103934bf35eaaa37e139ac2b68af0db8","affectsGlobalScope":true,"impliedFormat":1},{"version":"76103716ba397bbb61f9fa9c9090dca59f39f9047cb1352b2179c5d8e7f4e8d0","impliedFormat":1},{"version":"53eac70430b30089a3a1959d8306b0f9cfaf0de75224b68ef25243e0b5ad1ca3","affectsGlobalScope":true,"impliedFormat":1},{"version":"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","impliedFormat":1},{"version":"115971d64632ea4742b5b115fb64ed04bcaae2c3c342f13d9ba7e3f9ee39c4e7","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"46e07db372dd75edc1a26e68f16d1b7ffb34b7ab3db5cdb3e391a3604ad7bb7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"24642567d3729bcc545bacb65ee7c0db423400c7f1ef757cab25d05650064f98","impliedFormat":1},{"version":"e6f5a38687bebe43a4cef426b69d34373ef68be9a6b1538ec0a371e69f309354","impliedFormat":1},{"version":"a6bf63d17324010ca1fbf0389cab83f93389bb0b9a01dc8a346d092f65b3605f","impliedFormat":1},{"version":"e009777bef4b023a999b2e5b9a136ff2cde37dc3f77c744a02840f05b18be8ff","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"f501a53b94ba382d9ba396a5c486969a3abc68309828fa67f916035f5d37fe2b","affectsGlobalScope":true,"impliedFormat":1},{"version":"c956ba45704d4a97f7a96923a307a6203bc0e7c4c532930d4c8ca261eaaff32a","impliedFormat":1},{"version":"ab0e88d33ccf15d8b3c891038b5a16094b0dd7e860ab0e2ba08da4384afce02b","impliedFormat":1},{"version":"954580f86c8e2a4abd5dcd1bcdf1a4c7e012495f1c39e058dc738bc93024642a","impliedFormat":1},{"version":"fa56be9b96f747e93b895d8dc2aa4fb9f0816743e6e2abb9d60705e88d4743a2","impliedFormat":1},{"version":"8257c55ff6bff6169142a35fce6811b511d857b4ae4f522cdb6ce20fd2116b2c","impliedFormat":1},{"version":"6d386bc0d7f3afa1d401afc3e00ed6b09205a354a9795196caed937494a713e6","impliedFormat":1},{"version":"3a9e5dddbd6ca9507d0c06a557535ba2224a94a2b0f3e146e8215f93b7e5b3a8","affectsGlobalScope":true,"impliedFormat":1},{"version":"d8b56de03a9f79f3fc1ac3a01a0d63bb48cc15f95a6b95549b4fb420e6030973","impliedFormat":1},{"version":"b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"3c36ab47df4668254ccc170fc42e7d5116fd86a7e408d8dc220e559837cd2bbb","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f6abdaf8764ef01a552a958f45e795b5e79153b87ddad3af5264b86d2681b72","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"c6b4e0a02545304935ecbf7de7a8e056a31bb50939b5b321c9d50a405b5a0bba","impliedFormat":1},{"version":"c86b9afa9b39b12db8e877d23b48888d80f26e1fe72a95f58552746a6e1fa4fe","impliedFormat":1},{"version":"e432b0e3761ca9ba734bdd41e19a75fec1454ca8e9769bfdf8b31011854cf06a","impliedFormat":1},{"version":"e1120271ebbc9952fdc7b2dd3e145560e52e06956345e6fdf91d70ca4886464f","impliedFormat":1},{"version":"15c5e91b5f08be34a78e3d976179bf5b7a9cc28dc0ef1ffebffeb3c7812a2dca","impliedFormat":1},{"version":"a8f06c2382a30b7cb89ad2dfc48fc3b2b490f3dafcd839dadc008e4e5d57031d","impliedFormat":1},{"version":"07b9d3b7204d931acc29269c98ac3aac87ebcba6e05141552d42a4c17f895aa4","impliedFormat":1},{"version":"269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"1425f76ac97ce8617d1e2fa79e9a14e0fd1cfdaa155e13d4e92403a468177bc2","affectsGlobalScope":true,"impliedFormat":1},{"version":"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada","impliedFormat":1},{"version":"cca97c55398b8699fa3a96ef261b01d200ed2a44d2983586ab1a81d7d7b23cd9","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef91efa0baea5d0e0f0f27b574a8bc100ce62a6d7e70220a0d58af6acab5e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"f59493f68eade5200559e5016b5855f7d12e6381eb6cab9ad8a379af367b3b2d","impliedFormat":1},{"version":"125e3472965f529de239d2bc85b54579fed8e0b060d1d04de6576fb910a6ec7f","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"18f5c7c4ad71748cffdd42e829398acdfd2d150a887e5f07aae4f2acab68e71b","affectsGlobalScope":true,"impliedFormat":1},{"version":"72ed3074450a4a315063278f046637afdeea90aa72b2292a7976958ceafc344a","affectsGlobalScope":true,"impliedFormat":1},{"version":"a5c09990a37469b0311a92ce8feeb8682e83918723aedbd445bd7a0f510eaaa3","impliedFormat":1},{"version":"6b29aea17044029b257e5bd4e3e4f765cd72b8d3c11c753f363ab92cc3f9f947","impliedFormat":1},{"version":"ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a","impliedFormat":1},{"version":"d008cf1330c86b37a8128265c80795397c287cecff273bc3ce3a4883405f5112","affectsGlobalScope":true,"impliedFormat":1},{"version":"78dc0513cc4f1642906b74dda42146bcbd9df7401717d6e89ea6d72d12ecb539","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"f2b6058d3dd78c1b4dafc97083c5d44bdfbf4155194044bd17b8fcca554e766a","impliedFormat":1},{"version":"f21ce049835dad382b22691fb6b34076d0717307d46d92320893765be010cd56","impliedFormat":1},{"version":"12e2327fc792aaaba346532e2a0ab8c3775f05036cb104b6b8ae039eb908f845","impliedFormat":1},{"version":"fe27b2227e2475fbbae63ae17eaaa10fb2712b79fa09d45b643050815733b696","impliedFormat":1},{"version":"9e0b32490ca0fba1a956d520d6abb4108e54d00a31d31f57c98e73ea1f0ac35a","impliedFormat":1},{"version":"1da2c4e9e5b0ef664830fc51e7f528782c00adf719e6bc3b46b7ab9b0907a996","impliedFormat":1},{"version":"9561c3c2dc48c6b43537b214455ef4fa4d4dc62338674f97832d4a46e2283b6c","impliedFormat":1},{"version":"665f83fc3e9992c7a5e15a470e4b9e10e8b588c35593b0058c8d1a9eca487c56","impliedFormat":1},{"version":"5b4840b3bfc255c8ad79603df24a2bca9fa1be24d75cf26234449d3bdcaf1fa5","impliedFormat":1},{"version":"da362b7f98497abb765d4ce3970ba009dd8dc1911de9e448cd1c2b3b45d1d320","impliedFormat":1},{"version":"d064b43717b5b5dfca0d6cd738022ab377c90e45f05edbcd5a0c8753e6627d88","impliedFormat":1},{"version":"9e00b5a406f9ead0181a4a524d0d8693101277853717ec3d061ec4cae8da7a56","impliedFormat":1},{"version":"8b8e0c8be5c37e99a23393f8d1b207b9621306047cfb35f9074399bac4ed18c0","signature":"21fd6c1b04fe9184a62ef8f76345bea0b23c9a7259b82193426e077f2490b778","impliedFormat":99},{"version":"00768142bac20ef993704f0838eb09c58fe950a5129186144e56871743b42da0","signature":"b28b16cf402814facd872b441dbc88f3fb8c252dd0d16ccdb1c6034966c646cc","impliedFormat":99},{"version":"d2db665091c168ec7ff412bd2f403c9bcf030ee8f7a98b5a7c07a6da798cb0ef","signature":"ea859a1e65184b6c43234db74c7058f32e06a12c8341f3261f74fd483bb36edb","impliedFormat":99},{"version":"fc235bce306cfc1b1a1a0848d551501709389ecd8fa12baa6bc156904763315a","impliedFormat":1},{"version":"e0f30c89a2825ea029c9e58ce8333673b8030e0b90cb3482353a8bb531004ed3","impliedFormat":99},{"version":"41e59397e33c7a784b1310c0259bc5de62560b1bd96cb856e39c59401af75f28","signature":"a348f64af9e5246712b837fcf4cd250ebcce7c389073d955b4c5bb1c8e187fe6","impliedFormat":99},{"version":"3763bc9ec2779607b38017cd2e6848ac18ff1e272bb1cfe4cf0e18eb037e7dd6","signature":"f13a392cb16e49be7a50ad3c6ca6adc439594c36eb4ef40b7625bf1cdf2e07be","impliedFormat":99},{"version":"dc87f485b2d0f71f7c6632de26b748e343057947ff0de723e0b30c575d05116f","impliedFormat":99},{"version":"36446af271d4e72b694e554d75d57e20e3a9a9900a314303587c9c39a0c0221e","impliedFormat":99},{"version":"2eedc38105cd54d97db7a8074c59e83b275deb1662eead35ffcea0fd4f71dd93","impliedFormat":99},{"version":"876e80f4656e98aefc63ea0c6d2e06f706eb39a45106150f08ee56f01c6ca61a","signature":"d5a191a83b67363c316687604a39774fac1e6662ba5e7e1864f559ae2e2d67f8","impliedFormat":99},{"version":"565fa5bae4ccefd2d00188cb6415e4377a3ef7f1f43a4a8af8f5ca4bf3a2b52c","signature":"8964c9e0d184af1f6dfcab3ec8f4c26934428b0c5ea49b244922af587af4b06a","impliedFormat":99},{"version":"8336a997db7be56d7664dbd78fa7aaa318a53754eeb20672f4d03c27e97cfb77","signature":"1d710714e62fa6abf8894c227a735e12bf025aac3592c9c110cd3bfe5aaefc69","impliedFormat":99},{"version":"540281f2da10251b5df468221097b06d502e75a2d7a2dac8ca90796ee45275fd","impliedFormat":99},{"version":"bbae5f667cb01c5c5cb62f3f347c785401be6b5507450754406788eb831868ed","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":99},{"version":"f96f3c445afc7d65d4790386e37c5b57f095f285cc89b8315b209fe0c81837c1","impliedFormat":1},{"version":"ce2c3310622f7633719754a980ee6a1c46bd6cf3a4db15ae79d15461a9410ff5","impliedFormat":1},{"version":"785b9d575b49124ce01b46f5b9402157c7611e6532effa562ac6aebec0074dfc","impliedFormat":1},{"version":"6d09838b65c3c780513878793fc394ae29b8595d9e4729246d14ce69abc71140","impliedFormat":1},{"version":"fefa1d4c62ddb09c78d9f46e498a186e72b5e7aeb37093aa6b2c321b9d6ecd14","impliedFormat":1},{"version":"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","impliedFormat":1},{"version":"202f8582ee3cd89e06c4a17d8aabb925ff8550370559c771d1cc3ec3934071c2","impliedFormat":1},{"version":"8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","impliedFormat":1},{"version":"fbca5ffaebf282ec3cdac47b0d1d4a138a8b0bb32105251a38acb235087d3318","impliedFormat":1},{"version":"736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","impliedFormat":1},{"version":"4340936f4e937c452ae783514e7c7bbb7fc06d0c97993ff4865370d0962bb9cf","impliedFormat":1},{"version":"5fc6e6b8232254d80ed6b802372dba7f426f0a596f5fe26b7773acfdc8232926","impliedFormat":1},{"version":"22293bd6fa12747929f8dfca3ec1684a3fe08638aa18023dd286ab337e88a592","impliedFormat":1},{"version":"4434e0c629742ef41c1a8d3cb7dc00fa71bf013b77071ba3c659ed8ef232d2e0","impliedFormat":1},{"version":"90ac19cb97ae85c7ccfd0c04322b02ce088bda9de7b42cc081cbb3674fe5446d","impliedFormat":1},{"version":"74d5a87c3616cd5d8691059d531504403aa857e09cbaecb1c64dfb9ace0db185","impliedFormat":1}],"root":[77,79,[187,189],192,193,[197,201]],"options":{"allowUnreachableCode":false,"allowUnusedLabels":false,"checkJs":true,"composite":true,"esModuleInterop":true,"exactOptionalPropertyTypes":false,"module":199,"noFallthroughCasesInSwitch":true,"noImplicitOverride":true,"noImplicitReturns":true,"noPropertyAccessFromIndexSignature":false,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./dist","rootDir":"./src","skipLibCheck":true,"strict":true,"target":9},"referencedMap":[[202,1],[76,2],[203,3],[204,3],[190,4],[206,5],[207,3],[208,5],[209,3],[210,3],[75,3],[212,3],[213,6],[82,7],[83,7],[123,8],[124,9],[125,10],[126,11],[127,12],[128,13],[129,14],[130,15],[131,16],[132,17],[133,17],[135,18],[134,19],[136,20],[137,21],[138,22],[122,23],[174,3],[139,24],[140,25],[141,26],[142,27],[143,28],[144,29],[145,30],[146,31],[147,32],[148,33],[149,34],[150,35],[151,36],[152,36],[153,37],[154,3],[155,3],[156,38],[158,39],[157,40],[159,41],[160,42],[161,43],[162,44],[163,45],[164,46],[165,47],[81,48],[80,3],[175,49],[166,50],[167,51],[168,52],[169,53],[170,54],[171,55],[172,56],[173,57],[214,3],[215,58],[216,59],[205,3],[217,60],[84,3],[180,61],[183,62],[184,63],[181,3],[182,3],[179,3],[185,64],[178,65],[177,3],[211,66],[186,67],[176,3],[78,3],[73,3],[74,3],[12,3],[13,3],[15,3],[14,3],[2,3],[16,3],[17,3],[18,3],[19,3],[20,3],[21,3],[22,3],[23,3],[3,3],[24,3],[4,3],[25,3],[29,3],[26,3],[27,3],[28,3],[30,3],[31,3],[32,3],[5,3],[33,3],[34,3],[35,3],[36,3],[6,3],[40,3],[37,3],[38,3],[39,3],[41,3],[7,3],[42,3],[47,3],[48,3],[43,3],[44,3],[45,3],[46,3],[8,3],[52,3],[49,3],[50,3],[51,3],[53,3],[9,3],[54,3],[55,3],[56,3],[59,3],[57,3],[58,3],[60,3],[61,3],[10,3],[62,3],[1,3],[63,3],[64,3],[11,3],[69,3],[66,3],[65,3],[72,3],[70,3],[68,3],[71,3],[67,3],[100,68],[110,69],[99,68],[120,70],[91,71],[90,72],[119,58],[113,73],[118,74],[93,75],[107,76],[92,77],[116,78],[88,79],[87,58],[117,80],[89,81],[94,82],[95,3],[98,82],[85,3],[121,83],[111,84],[102,85],[103,86],[105,87],[101,88],[104,89],[114,58],[96,90],[97,91],[106,92],[86,93],[109,84],[108,82],[112,3],[115,94],[77,95],[188,96],[189,97],[193,98],[200,99],[197,100],[192,3],[198,101],[199,102],[201,103],[79,104],[187,105],[191,3],[194,3],[196,3],[195,3]],"latestChangedDtsFile":"./dist/sub-process.d.ts","version":"5.6.2"}
|
|
1
|
+
{"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.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.es2024.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.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.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.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.es2019.intl.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.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2024.collection.d.ts","../../../node_modules/typescript/lib/lib.es2024.object.d.ts","../../../node_modules/typescript/lib/lib.es2024.promise.d.ts","../../../node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2024.string.d.ts","../../../node_modules/typescript/lib/lib.esnext.array.d.ts","../../../node_modules/typescript/lib/lib.esnext.collection.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/typescript/lib/lib.esnext.promise.d.ts","../../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../../node_modules/typescript/lib/lib.esnext.iterator.d.ts","../../../node_modules/typescript/lib/lib.esnext.float16.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","./src/debug.ts","../../../node_modules/typescript-fsa/lib/index.d.ts","./src/types.ts","../../../node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.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/dom-events.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/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/sqlite.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/test.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/index.d.ts","../../../node_modules/typed-query-selector/parser.d.ts","../../../node_modules/devtools-protocol/types/protocol.d.ts","../../../node_modules/devtools-protocol/types/protocol-mapping.d.ts","../../../node_modules/chromium-bidi/lib/cjs/protocol/generated/webdriver-bidi.d.ts","../../../node_modules/chromium-bidi/lib/cjs/protocol/cdp.d.ts","../../../node_modules/chromium-bidi/lib/cjs/protocol/generated/webdriver-bidi-bluetooth.d.ts","../../../node_modules/chromium-bidi/lib/cjs/protocol/generated/webdriver-bidi-permissions.d.ts","../../../node_modules/chromium-bidi/lib/cjs/protocol/chromium-bidi.d.ts","../../../node_modules/chromium-bidi/lib/cjs/protocol/errorresponse.d.ts","../../../node_modules/chromium-bidi/lib/cjs/protocol/protocol.d.ts","../../../node_modules/puppeteer/lib/types.d.ts","./src/utils.ts","./src/dom-evaluation.ts","./src/events.ts","../../../node_modules/@types/follow-redirects/index.d.ts","../shared/dist/delay.d.ts","./src/net-timeout-error.ts","./src/fetch-destination.ts","../shared/dist/retry.d.ts","../shared/dist/typed-await-event-emitter.d.ts","../shared/dist/str-to-regex.d.ts","./src/keyword-check.ts","./src/scraper.ts","./src/sub-process-runner.ts","./src/index.ts","./src/sub-process.ts","../../../node_modules/@types/conventional-commits-parser/index.d.ts","../../../node_modules/@types/diff/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/unist/index.d.ts","../../../node_modules/@types/hast/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/mdast/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/form-data/index.d.ts","../../../node_modules/@types/node-fetch/externals.d.ts","../../../node_modules/@types/node-fetch/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/pixelmatch/index.d.ts","../../../node_modules/@types/pngjs/index.d.ts","../../../node_modules/@types/yauzl/index.d.ts"],"fileIdsList":[[91,134,166,184],[81,91,134],[91,134],[91,134,149,151,166,177,184],[91,134,214],[91,134,149,177,184,221,222],[91,131,134],[91,133,134],[134],[91,134,139,169],[91,134,135,140,146,147,154,166,177],[91,134,135,136,146,154],[86,87,88,91,134],[91,134,137,178],[91,134,138,139,147,155],[91,134,139,166,174],[91,134,140,142,146,154],[91,133,134,141],[91,134,142,143],[91,134,146],[91,134,144,146],[91,133,134,146],[91,134,146,147,148,166,177],[91,134,146,147,148,161,166,169],[91,129,134,182],[91,129,134,142,146,149,154,166,177],[91,134,146,147,149,150,154,166,174,177],[91,134,149,151,166,174,177],[89,90,91,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[91,134,146,152],[91,134,153,177],[91,134,142,146,154,166],[91,134,155],[91,134,156],[91,133,134,157],[91,131,132,133,134,135,136,137,138,139,140,141,142,143,144,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[91,134,159],[91,134,160],[91,134,146,161,162],[91,134,161,163,178,180],[91,134,146,166,167,169],[91,134,166,168],[91,134,166,167],[91,134,169],[91,134,170],[91,131,134,166],[91,134,146,172,173],[91,134,172,173],[91,134,139,154,166,174],[91,134,175],[91,134,154,176],[91,134,149,160,177],[91,134,139,178],[91,134,166,179],[91,134,153,180],[91,134,181],[91,134,139,146,148,157,166,177,180,182],[91,134,166,183],[91,134,184],[91,134,166,183,184],[91,134,146,166,184],[91,134,186,187,188],[91,134,188,189,190,191],[91,134,188],[91,134,188,189,190,191,192,193],[91,134,186],[91,134,149,166,184],[91,134,135,166,184,185,186,187,194],[91,101,105,134,177],[91,101,134,166,177],[91,96,134],[91,98,101,134,174,177],[91,134,154,174],[91,96,134,184],[91,98,101,134,154,177],[91,93,94,97,100,134,146,166,177],[91,101,108,134],[91,93,99,134],[91,101,122,123,134],[91,97,101,134,169,177,184],[91,122,134,184],[91,95,96,134,184],[91,101,134],[91,95,96,97,98,99,100,101,102,103,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,123,124,125,126,127,128,134],[91,101,116,134],[91,101,108,109,134],[91,99,101,109,110,134],[91,100,134],[91,93,96,101,134],[91,101,105,109,110,134],[91,105,134],[91,99,101,104,134,177],[91,93,98,101,108,134],[91,134,166],[91,96,101,122,134,182,184],[82,91,134],[83,85,91,134,195,196],[84,85,91,134],[85,91,134,149,199,200,201],[85,91,134,198,207,208],[91,134,205],[83,85,91,134,195,196,197,202,203,204,206],[83,84,85,91,134,135,156,198,200,204,207],[83,84,91,134,198,207],[84,91,134],[85,91,134,156]],"fileInfos":[{"version":"69684132aeb9b5642cbcd9e22dff7818ff0ee1aa831728af0ecf97d3364d5546","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"8fd575e12870e9944c7e1d62e1f5a73fcf23dd8d3a321f2a2c74c20d022283fe","impliedFormat":1},{"version":"8bf8b5e44e3c9c36f98e1007e8b7018c0f38d8adc07aecef42f5200114547c70","impliedFormat":1},{"version":"092c2bfe125ce69dbb1223c85d68d4d2397d7d8411867b5cc03cec902c233763","affectsGlobalScope":true,"impliedFormat":1},{"version":"07f073f19d67f74d732b1adea08e1dc66b1b58d77cb5b43931dee3d798a2fd53","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"b5ce7a470bc3628408429040c4e3a53a27755022a32fd05e2cb694e7015386c7","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"df83c2a6c73228b625b0beb6669c7ee2a09c914637e2d35170723ad49c0f5cd4","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"87dc0f382502f5bbce5129bdc0aea21e19a3abbc19259e0b43ae038a9fc4e326","affectsGlobalScope":true,"impliedFormat":1},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ece9f17b3866cc077099c73f4983bddbcb1dc7ddb943227f1ec070f529dedd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1c9319a09485199c1f7b0498f2988d6d2249793ef67edda49d1e584746be9032","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3a2a0cee0f03ffdde24d89660eba2685bfbdeae955a6c67e8c4c9fd28928eeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"60037901da1a425516449b9a20073aa03386cce92f7a1fd902d7602be3a7c2e9","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"22adec94ef7047a6c9d1af3cb96be87a335908bf9ef386ae9fd50eeb37f44c47","affectsGlobalScope":true,"impliedFormat":1},{"version":"4245fee526a7d1754529d19227ecbf3be066ff79ebb6a380d78e41648f2f224d","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb893a0dfc3c9fb0f9ca93d0648694dd95f33cbad2c0f2c629f842981dfd4e2e","impliedFormat":1},{"version":"3eb11dbf3489064a47a2e1cf9d261b1f100ef0b3b50ffca6c44dd99d6dd81ac1","impliedFormat":1},{"version":"4115e9ccaeee6fe5d0b7cf8b5c29848949b0526c18e1ae469b399b510c6cef60","signature":"cf1c3a57b9e7045967afd7d3505fe1ea48748a4ce7a6d0c13a18452df934aa4f","impliedFormat":99},{"version":"24368caa7fecdc4056f20e571b3b4bb7b69f797ed74fa67ae03326c5f862660e","impliedFormat":1},{"version":"ffb9e48be363d8883e69654bc926cbafd4e966972c775b65b3976e98f76a447e","signature":"8a72a6bca4b2acaca43e9f2aedf26dfeddb4404ed77c94d50b02909a54db8d33","impliedFormat":99},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"030e350db2525514580ed054f712ffb22d273e6bc7eddc1bb7eda1e0ba5d395e","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"8fa51737611c21ba3a5ac02c4e1535741d58bec67c9bdf94b1837a31c97a2263","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"d2bc987ae352271d0d615a420dcf98cc886aa16b87fb2b569358c1fe0ca0773d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4f0539c58717cbc8b73acb29f9e992ab5ff20adba5f9b57130691c7f9b186a4d","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"76103716ba397bbb61f9fa9c9090dca59f39f9047cb1352b2179c5d8e7f4e8d0","impliedFormat":1},{"version":"f9677e434b7a3b14f0a9367f9dfa1227dfe3ee661792d0085523c3191ae6a1a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","impliedFormat":1},{"version":"115971d64632ea4742b5b115fb64ed04bcaae2c3c342f13d9ba7e3f9ee39c4e7","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"86956cc2eb9dd371d6fab493d326a574afedebf76eef3fa7833b8e0d9b52d6f1","affectsGlobalScope":true,"impliedFormat":1},{"version":"19d5f8d3930e9f99aa2c36258bf95abbe5adf7e889e6181872d1cdba7c9a7dd5","impliedFormat":1},{"version":"e6f5a38687bebe43a4cef426b69d34373ef68be9a6b1538ec0a371e69f309354","impliedFormat":1},{"version":"a6bf63d17324010ca1fbf0389cab83f93389bb0b9a01dc8a346d092f65b3605f","impliedFormat":1},{"version":"e009777bef4b023a999b2e5b9a136ff2cde37dc3f77c744a02840f05b18be8ff","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"88bc59b32d0d5b4e5d9632ac38edea23454057e643684c3c0b94511296f2998c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ff5a53a58e756d2661b73ba60ffe274231a4432d21f7a2d0d9e4f6aa99f4283","impliedFormat":1},{"version":"1e289f30a48126935a5d408a91129a13a59c9b0f8c007a816f9f16ef821e144e","impliedFormat":1},{"version":"2ea254f944dfe131df1264d1fb96e4b1f7d110195b21f1f5dbb68fdd394e5518","impliedFormat":1},{"version":"5135bdd72cc05a8192bd2e92f0914d7fc43ee077d1293dc622a049b7035a0afb","impliedFormat":1},{"version":"4f80de3a11c0d2f1329a72e92c7416b2f7eab14f67e92cac63bb4e8d01c6edc8","impliedFormat":1},{"version":"6d386bc0d7f3afa1d401afc3e00ed6b09205a354a9795196caed937494a713e6","impliedFormat":1},{"version":"b11cb909327c874a4e81bfb390bf0d231e5bf9439052689ab80ba8afa50da17b","affectsGlobalScope":true,"impliedFormat":1},{"version":"23459c1915878a7c1e86e8bdb9c187cddd3aea105b8b1dfce512f093c969bc7e","impliedFormat":1},{"version":"b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"1dc73f8854e5c4506131c4d95b3a6c24d0c80336d3758e95110f4c7b5cb16397","affectsGlobalScope":true,"impliedFormat":1},{"version":"5f6f1d54779d0b9ed152b0516b0958cd34889764c1190434bbf18e7a8bb884cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"c6b4e0a02545304935ecbf7de7a8e056a31bb50939b5b321c9d50a405b5a0bba","impliedFormat":1},{"version":"fab29e6d649aa074a6b91e3bdf2bff484934a46067f6ee97a30fcd9762ae2213","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"e1120271ebbc9952fdc7b2dd3e145560e52e06956345e6fdf91d70ca4886464f","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"f7b1df115dbd1b8522cba4f404a9f4fdcd5169e2137129187ffeee9d287e4fd1","impliedFormat":1},{"version":"c878f74b6d10b267f6075c51ac1d8becd15b4aa6a58f79c0cfe3b24908357f60","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"fbf68fc8057932b1c30107ebc37420f8d8dc4bef1253c4c2f9e141886c0df5ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada","impliedFormat":1},{"version":"993985beef40c7d113f6dd8f0ba26eed63028b691fbfeb6a5b63f26408dd2c6d","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef91efa0baea5d0e0f0f27b574a8bc100ce62a6d7e70220a0d58af6acab5e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"282fd2a1268a25345b830497b4b7bf5037a5e04f6a9c44c840cb605e19fea841","impliedFormat":1},{"version":"5360a27d3ebca11b224d7d3e38e3e2c63f8290cb1fcf6c3610401898f8e68bc3","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"7d6ff413e198d25639f9f01f16673e7df4e4bd2875a42455afd4ecc02ef156da","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb094bb347d7df3380299eb69836c2c8758626ecf45917577707c03cf816b6f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"f689c4237b70ae6be5f0e4180e8833f34ace40529d1acc0676ab8fb8f70457d7","impliedFormat":1},{"version":"b02784111b3fc9c38590cd4339ff8718f9329a6f4d3fd66e9744a1dcd1d7e191","impliedFormat":1},{"version":"ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a","impliedFormat":1},{"version":"52a8e7e8a1454b6d1b5ad428efae3870ffc56f2c02d923467f2940c454aa9aec","affectsGlobalScope":true,"impliedFormat":1},{"version":"78dc0513cc4f1642906b74dda42146bcbd9df7401717d6e89ea6d72d12ecb539","impliedFormat":1},{"version":"ad90122e1cb599b3bc06a11710eb5489101be678f2920f2322b0ac3e195af78d","impliedFormat":1},{"version":"f21ce049835dad382b22691fb6b34076d0717307d46d92320893765be010cd56","impliedFormat":1},{"version":"da458754b1a7a8bb142db6c5c22e07ac96c41763a9a6fb17db9c28158944fe3b","impliedFormat":1},{"version":"ab3456979856c94cf85871c3ff86d68e8744f67be4d241c8adc83338ccf795b7","impliedFormat":1},{"version":"9e0b32490ca0fba1a956d520d6abb4108e54d00a31d31f57c98e73ea1f0ac35a","impliedFormat":1},{"version":"1da2c4e9e5b0ef664830fc51e7f528782c00adf719e6bc3b46b7ab9b0907a996","impliedFormat":1},{"version":"9561c3c2dc48c6b43537b214455ef4fa4d4dc62338674f97832d4a46e2283b6c","impliedFormat":1},{"version":"665f83fc3e9992c7a5e15a470e4b9e10e8b588c35593b0058c8d1a9eca487c56","impliedFormat":1},{"version":"5b4840b3bfc255c8ad79603df24a2bca9fa1be24d75cf26234449d3bdcaf1fa5","impliedFormat":1},{"version":"da362b7f98497abb765d4ce3970ba009dd8dc1911de9e448cd1c2b3b45d1d320","impliedFormat":1},{"version":"d064b43717b5b5dfca0d6cd738022ab377c90e45f05edbcd5a0c8753e6627d88","impliedFormat":1},{"version":"24d70ceee5a3ca31a48dec636a381c346bdeff08caabd0f7867b2f3234782864","impliedFormat":1},{"version":"36a88dae3769a2ac98cc0614f7f2eac9a3161a1a3d0c7a6123d6600b5fb40f47","signature":"6262a003d39c5289000218aa2c0dd14c07a3d3e2232cee71284b0d29d6c08900","impliedFormat":99},{"version":"7e3f5487cd3ea69084a873c792a038933ea9182b2244d1a4747874801e5654a0","signature":"6918e64aef4c8914756e4a255914a787dc2e4b74144f02816d676242300a2a70","impliedFormat":99},{"version":"d2db665091c168ec7ff412bd2f403c9bcf030ee8f7a98b5a7c07a6da798cb0ef","signature":"ea859a1e65184b6c43234db74c7058f32e06a12c8341f3261f74fd483bb36edb","impliedFormat":99},{"version":"fc235bce306cfc1b1a1a0848d551501709389ecd8fa12baa6bc156904763315a","impliedFormat":1},{"version":"82d95359c72f59da52a029c735309bbcf1f7b109d95fef0ed1c6b0a9d0b0b77e","impliedFormat":99},{"version":"41e59397e33c7a784b1310c0259bc5de62560b1bd96cb856e39c59401af75f28","signature":"a348f64af9e5246712b837fcf4cd250ebcce7c389073d955b4c5bb1c8e187fe6","impliedFormat":99},{"version":"c056482d6690fa4826c726882f6d8fab571a7756ab9e1528382b8e49daa32069","signature":"f75823a703c3c435691faade1a8cbbe1b357b375f5e5262a5cbb95a36d7db103","impliedFormat":99},{"version":"e3409ad3af32d569715e957695085bf3f2a391def5b6a760fa15b8698e332a2d","impliedFormat":99},{"version":"c4b7f9d8ba3e3ef99fb003715b98fcfc26ae7de4c2d04243f1972d300431413d","impliedFormat":99},{"version":"0c114992fe460c5d1bccacd65a9be1e5ab80aa0f585077a682479a1b5629095b","impliedFormat":99},{"version":"9cd4d19e254aa2fad3f3e0c4b9a623aa40db83cf8876186842b73554038bc526","signature":"cdf55badae69975394813cdc1da2840544d3632ccc950c437b7f936ae3b15dc8","impliedFormat":99},{"version":"9d05ec3879f2c25b0bcc248ded6266557c57d2e45c48235add14b1a9042e8cfc","signature":"8964c9e0d184af1f6dfcab3ec8f4c26934428b0c5ea49b244922af587af4b06a","impliedFormat":99},{"version":"d7ca0a778f0ef8a6a79143954aee0069995c5e411d58f95766ed68acdc2d39f8","signature":"1d710714e62fa6abf8894c227a735e12bf025aac3592c9c110cd3bfe5aaefc69","impliedFormat":99},{"version":"540281f2da10251b5df468221097b06d502e75a2d7a2dac8ca90796ee45275fd","impliedFormat":99},{"version":"bbae5f667cb01c5c5cb62f3f347c785401be6b5507450754406788eb831868ed","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":99},{"version":"f96f3c445afc7d65d4790386e37c5b57f095f285cc89b8315b209fe0c81837c1","impliedFormat":1},{"version":"4c23fc6ea1461b4715f375307224c8a89f6d9d546582471f1ae6e4e6139cb5a9","impliedFormat":1},{"version":"785b9d575b49124ce01b46f5b9402157c7611e6532effa562ac6aebec0074dfc","impliedFormat":1},{"version":"6d09838b65c3c780513878793fc394ae29b8595d9e4729246d14ce69abc71140","impliedFormat":1},{"version":"fefa1d4c62ddb09c78d9f46e498a186e72b5e7aeb37093aa6b2c321b9d6ecd14","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","impliedFormat":1},{"version":"202f8582ee3cd89e06c4a17d8aabb925ff8550370559c771d1cc3ec3934071c2","impliedFormat":1},{"version":"8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","impliedFormat":1},{"version":"fbca5ffaebf282ec3cdac47b0d1d4a138a8b0bb32105251a38acb235087d3318","impliedFormat":1},{"version":"736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","impliedFormat":1},{"version":"4340936f4e937c452ae783514e7c7bbb7fc06d0c97993ff4865370d0962bb9cf","impliedFormat":1},{"version":"b70c7ea83a7d0de17a791d9b5283f664033a96362c42cc4d2b2e0bdaa65ef7d1","impliedFormat":1},{"version":"22293bd6fa12747929f8dfca3ec1684a3fe08638aa18023dd286ab337e88a592","impliedFormat":1},{"version":"4434e0c629742ef41c1a8d3cb7dc00fa71bf013b77071ba3c659ed8ef232d2e0","impliedFormat":1},{"version":"90ac19cb97ae85c7ccfd0c04322b02ce088bda9de7b42cc081cbb3674fe5446d","impliedFormat":1},{"version":"74d5a87c3616cd5d8691059d531504403aa857e09cbaecb1c64dfb9ace0db185","impliedFormat":1}],"root":[83,85,[196,198],201,202,[206,210]],"options":{"allowUnreachableCode":false,"allowUnusedLabels":false,"checkJs":true,"composite":true,"esModuleInterop":true,"exactOptionalPropertyTypes":false,"module":199,"noFallthroughCasesInSwitch":true,"noImplicitOverride":true,"noImplicitReturns":true,"noPropertyAccessFromIndexSignature":false,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./dist","rootDir":"./src","skipLibCheck":true,"strict":true,"target":9},"referencedMap":[[211,1],[82,2],[212,3],[213,3],[199,4],[215,5],[216,3],[217,3],[218,5],[219,3],[220,3],[81,3],[222,3],[223,6],[131,7],[132,7],[133,8],[91,9],[134,10],[135,11],[136,12],[86,3],[89,13],[87,3],[88,3],[137,14],[138,15],[139,16],[140,17],[141,18],[142,19],[143,19],[145,20],[144,21],[146,22],[147,23],[148,24],[130,25],[90,3],[149,26],[150,27],[151,28],[184,29],[152,30],[153,31],[154,32],[155,33],[156,34],[157,35],[158,36],[159,37],[160,38],[161,39],[162,39],[163,40],[164,3],[165,3],[166,41],[168,42],[167,43],[169,44],[170,45],[171,46],[172,47],[173,48],[174,49],[175,50],[176,51],[177,52],[178,53],[179,54],[180,55],[181,56],[182,57],[183,58],[224,3],[225,59],[226,60],[214,3],[227,61],[92,3],[189,62],[192,63],[193,64],[190,3],[191,3],[188,3],[194,65],[187,66],[186,3],[221,67],[195,68],[185,3],[84,3],[79,3],[80,3],[13,3],[14,3],[16,3],[15,3],[2,3],[17,3],[18,3],[19,3],[20,3],[21,3],[22,3],[23,3],[24,3],[3,3],[25,3],[26,3],[4,3],[27,3],[31,3],[28,3],[29,3],[30,3],[32,3],[33,3],[34,3],[5,3],[35,3],[36,3],[37,3],[38,3],[6,3],[42,3],[39,3],[40,3],[41,3],[43,3],[7,3],[44,3],[49,3],[50,3],[45,3],[46,3],[47,3],[48,3],[8,3],[54,3],[51,3],[52,3],[53,3],[55,3],[9,3],[56,3],[57,3],[58,3],[60,3],[59,3],[61,3],[62,3],[10,3],[63,3],[64,3],[65,3],[11,3],[66,3],[67,3],[68,3],[69,3],[70,3],[1,3],[71,3],[72,3],[12,3],[76,3],[74,3],[78,3],[73,3],[77,3],[75,3],[108,69],[118,70],[107,69],[128,71],[99,72],[98,73],[127,59],[121,74],[126,75],[101,76],[115,77],[100,78],[124,79],[96,80],[95,59],[125,81],[97,82],[102,83],[103,3],[106,83],[93,3],[129,84],[119,85],[110,86],[111,87],[113,88],[109,89],[112,90],[122,59],[104,91],[105,92],[114,93],[94,94],[117,85],[116,83],[120,3],[123,95],[83,96],[197,97],[198,98],[202,99],[209,100],[206,101],[201,3],[207,102],[208,103],[210,104],[85,105],[196,106],[200,3],[203,3],[205,3],[204,3]],"latestChangedDtsFile":"./dist/sub-process.d.ts","version":"5.8.2"}
|
package/dist/network.d.ts
DELETED
package/dist/network.js
DELETED
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import { delay } from '@d-zero/shared/delay';
|
|
2
|
-
import redirects from 'follow-redirects';
|
|
3
|
-
import NetTimeoutError from './net-timeout-error.js';
|
|
4
|
-
const cacheMap = new Map();
|
|
5
|
-
export async function fetchDestination(url, isExternal, method = 'HEAD') {
|
|
6
|
-
if (cacheMap.has(url.withoutHash)) {
|
|
7
|
-
const cache = cacheMap.get(url.withoutHash);
|
|
8
|
-
if (cache instanceof Error) {
|
|
9
|
-
throw cache;
|
|
10
|
-
}
|
|
11
|
-
return cache;
|
|
12
|
-
}
|
|
13
|
-
const result = await Promise.race([
|
|
14
|
-
_fetchHead(url, isExternal, method).catch((error) => new Error(error)),
|
|
15
|
-
(async () => {
|
|
16
|
-
await delay(10 * 1000);
|
|
17
|
-
return new NetTimeoutError();
|
|
18
|
-
})(),
|
|
19
|
-
]);
|
|
20
|
-
cacheMap.set(url.withoutHash, result);
|
|
21
|
-
if (result instanceof Error) {
|
|
22
|
-
throw result;
|
|
23
|
-
}
|
|
24
|
-
return result;
|
|
25
|
-
}
|
|
26
|
-
async function _fetchHead(url, isExternal, method) {
|
|
27
|
-
return new Promise((resolve, reject) => {
|
|
28
|
-
const request = {
|
|
29
|
-
protocol: url.protocol,
|
|
30
|
-
host: url.hostname,
|
|
31
|
-
path: url.pathname,
|
|
32
|
-
method,
|
|
33
|
-
headers: {
|
|
34
|
-
host: url.hostname,
|
|
35
|
-
Connection: 'keep-alive',
|
|
36
|
-
Pragma: 'no-cache',
|
|
37
|
-
'Cache-Control': 'no-cache',
|
|
38
|
-
'Upgrade-Insecure-Requests': 1,
|
|
39
|
-
// TODO: 'User-Agent': userAgent,
|
|
40
|
-
Accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
|
|
41
|
-
'Accept-Encoding': 'gzip, deflate',
|
|
42
|
-
'Accept-Language': 'ja,en;q=0.9,zh;q=0.8,en-US;q=0.7,pl;q=0.6,de;q=0.5,zh-CN;q=0.4,zh-TW;q=0.3,th;q=0.2,ko;q=0.1,fr;q=0.1',
|
|
43
|
-
},
|
|
44
|
-
};
|
|
45
|
-
if (url.username && url.password) {
|
|
46
|
-
request.auth = `${url.username}:${url.password}`;
|
|
47
|
-
}
|
|
48
|
-
let req;
|
|
49
|
-
const response = (res) => {
|
|
50
|
-
res.on('data', () => { });
|
|
51
|
-
res.on('end', async () => {
|
|
52
|
-
const redirectPaths = res.redirects.map((r) => r.url);
|
|
53
|
-
const _contentLength = Number.parseInt(res.headers['content-length'] || '');
|
|
54
|
-
const contentLength = Number.isFinite(_contentLength) ? _contentLength : null;
|
|
55
|
-
let rep = {
|
|
56
|
-
url,
|
|
57
|
-
isTarget: !isExternal,
|
|
58
|
-
isExternal,
|
|
59
|
-
redirectPaths,
|
|
60
|
-
status: res.statusCode || 0,
|
|
61
|
-
statusText: res.statusMessage || '',
|
|
62
|
-
contentType: res.headers['content-type']?.split(';')[0] || null,
|
|
63
|
-
contentLength,
|
|
64
|
-
responseHeaders: res.headers,
|
|
65
|
-
meta: {
|
|
66
|
-
title: '',
|
|
67
|
-
},
|
|
68
|
-
imageList: [],
|
|
69
|
-
anchorList: [],
|
|
70
|
-
html: '',
|
|
71
|
-
isSkipped: false,
|
|
72
|
-
};
|
|
73
|
-
if (rep.status === 405) {
|
|
74
|
-
if (method === 'GET') {
|
|
75
|
-
reject(`Method Not Allowed: ${url} ${rep.statusText}`);
|
|
76
|
-
return;
|
|
77
|
-
}
|
|
78
|
-
const rr = await fetchDestination(url, isExternal, 'GET').catch((error) => error);
|
|
79
|
-
if (rr) {
|
|
80
|
-
rep = rr;
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
reject(rr);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
if (rep.status === 501) {
|
|
87
|
-
if (method === 'GET') {
|
|
88
|
-
reject(`Method Not Implemented: ${url} ${rep.statusText}`);
|
|
89
|
-
return;
|
|
90
|
-
}
|
|
91
|
-
await delay(5 * 1000);
|
|
92
|
-
const rr = await fetchDestination(url, isExternal, 'GET').catch((error) => error);
|
|
93
|
-
if (rr) {
|
|
94
|
-
rep = rr;
|
|
95
|
-
}
|
|
96
|
-
else {
|
|
97
|
-
reject(rr);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
if (rep.status === 503) {
|
|
101
|
-
if (method === 'GET') {
|
|
102
|
-
reject(`Retrying failed: ${url} ${rep.statusText}`);
|
|
103
|
-
return;
|
|
104
|
-
}
|
|
105
|
-
await delay(5 * 1000);
|
|
106
|
-
const rr = await fetchDestination(url, isExternal, 'GET').catch((error) => error);
|
|
107
|
-
if (rr) {
|
|
108
|
-
rep = rr;
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
reject(rr);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
resolve(rep);
|
|
115
|
-
});
|
|
116
|
-
};
|
|
117
|
-
if (url.protocol === 'https:') {
|
|
118
|
-
req = redirects.https.request({
|
|
119
|
-
...request,
|
|
120
|
-
rejectUnauthorized: false,
|
|
121
|
-
}, response);
|
|
122
|
-
}
|
|
123
|
-
else {
|
|
124
|
-
req = redirects.http.request(request, response);
|
|
125
|
-
}
|
|
126
|
-
req.on('error', (error) => {
|
|
127
|
-
reject(error);
|
|
128
|
-
});
|
|
129
|
-
req.write('head');
|
|
130
|
-
req.end();
|
|
131
|
-
});
|
|
132
|
-
}
|