jumpy-lion 0.0.23 → 0.0.25

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/dist/crawler.js CHANGED
@@ -3,10 +3,12 @@ import CDPBrowserPlugin from './browser-plugin.js';
3
3
  import { CdpLauncher } from './launcher-wrap.js';
4
4
  // Implement the Crawler class with proper typing
5
5
  export default class Crawler extends BrowserCrawler {
6
- constructor(options = {}, config = Configuration.getGlobalConfig()) {
7
- const { launchContext = {}, headless = false, ...browserCrawlerOptions } = options;
6
+ constructor(
7
+ // @ts-expect-error Fix types
8
+ crawlerOptions = {}, config = Configuration.getGlobalConfig()) {
9
+ const { launchContext = {}, headless = false, browserPoolOptions: poolOptions = {}, ...browserCrawlerOptions } = crawlerOptions;
8
10
  const browserPoolOptions = {
9
- ...options.browserPoolOptions,
11
+ ...poolOptions,
10
12
  };
11
13
  if (launchContext.proxyUrl) {
12
14
  throw new Error('CDPCrawlerOptions.launchContext.proxyUrl is not allowed. Use CDPCrawlerOptions.proxyConfiguration instead.');
@@ -23,17 +25,22 @@ export default class Crawler extends BrowserCrawler {
23
25
  launchContext.launchOptions ?? (launchContext.launchOptions = {});
24
26
  launchContext.launchOptions.headless = headless;
25
27
  }
26
- // Set the browser plugin for CDP
28
+ // Update the plugin initialization
27
29
  browserPoolOptions.browserPlugins = [
28
- new CDPBrowserPlugin(new CdpLauncher(), launchContext), // Pass the correct plugin
30
+ new CDPBrowserPlugin(new CdpLauncher(), launchContext), // Temporary type assertion until we fix the underlying types
29
31
  ];
30
32
  if (launchContext.launchOptions?.useExperimentalFingerprints) {
31
33
  browserPoolOptions.useFingerprints = false;
32
34
  }
33
35
  // Pass the options and config to the parent class constructor
34
36
  // @TODO:
35
- // @ts-expect-error Fix types
36
37
  super({ ...browserCrawlerOptions, launchContext, browserPoolOptions }, config);
38
+ Object.defineProperty(this, "crawlerOptions", {
39
+ enumerable: true,
40
+ configurable: true,
41
+ writable: true,
42
+ value: crawlerOptions
43
+ });
37
44
  Object.defineProperty(this, "config", {
38
45
  enumerable: true,
39
46
  configurable: true,
@@ -1 +1 @@
1
- {"version":3,"file":"crawler.js","sourceRoot":"","sources":["../src/crawler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGhE,OAAO,gBAAgB,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAkBjD,iDAAiD;AACjD,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,cAIpC;IACG,YAAY,UAAiC,EAAE,EAAoB,SAAS,aAAa,CAAC,eAAe,EAAE;QACvG,MAAM,EACF,aAAa,GAAG,EAAE,EAClB,QAAQ,GAAG,KAAK,EAChB,GAAG,qBAAqB,EAC3B,GAAG,OAAO,CAAC;QAEZ,MAAM,kBAAkB,GAAG;YACvB,GAAG,OAAO,CAAC,kBAAkB;SAChC,CAAC;QAEF,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,4GAA4G,CAAC,CAAC;QAClI,CAAC;QAED,yDAAyD;QACzD,IAAI,kBAAkB,CAAC,cAAc,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,sFAAsF,CAAC,CAAC;QAC5G,CAAC;QAED,iCAAiC;QACjC,kBAAkB,CAAC,cAAc,GAAG;YAChC,IAAI,gBAAgB,CAAC,IAAI,WAAW,EAAE,CAAC,EAAE,0BAA0B;SACtE,CAAC;QAEF,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACnB,aAAa,CAAC,aAAa,KAA3B,aAAa,CAAC,aAAa,GAAK,EAAE,EAAC;YACnC,aAAa,CAAC,aAAa,CAAC,QAAQ,GAAG,QAAmB,CAAC;QAC/D,CAAC;QAED,iCAAiC;QACjC,kBAAkB,CAAC,cAAc,GAAG;YAChC,IAAI,gBAAgB,CAAC,IAAI,WAAW,EAAE,EAAE,aAAa,CAAC,EAAE,0BAA0B;SACrF,CAAC;QAEF,IAAI,aAAa,CAAC,aAAa,EAAE,2BAA2B,EAAE,CAAC;YAC3D,kBAAkB,CAAC,eAAe,GAAG,KAAK,CAAC;QAC/C,CAAC;QAGD,8DAA8D;QAC9D,SAAS;QACT,6BAA6B;QAC7B,KAAK,CAAC,EAAE,GAAG,qBAAqB,EAAE,aAAa,EAAE,kBAAkB,EAAE,EAAE,MAAM,CAAC,CAAC;QA3ClC;;;;mBAAkB,MAAM;WAAkC;IA4C3G,CAAC;IAED,wEAAwE;IACrD,KAAK,CAAC,kBAAkB,CAAC,eAAmC,EAAE,WAAwB;QACrG,MAAM,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC;QAEjC,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,yBAAyB;IACzF,CAAC;CACJ;AAID,MAAM,UAAU,eAAe,CAG7B,MAAwC;IACtC,OAAO,MAAM,CAAC,MAAM,CAAU,MAAM,CAAC,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"crawler.js","sourceRoot":"","sources":["../src/crawler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGhE,OAAO,gBAAgB,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAgB,MAAM,oBAAoB,CAAC;AA0C/D,iDAAiD;AACjD,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,cAIpC;IACG;IACI,6BAA6B;IACZ,iBAAoC,EAAE,EACrC,SAAS,aAAa,CAAC,eAAe,EAAE;QAE1D,MAAM,EACF,aAAa,GAAG,EAAsB,EACtC,QAAQ,GAAG,KAAK,EAChB,kBAAkB,EAAE,WAAW,GAAG,EAAE,EACpC,GAAG,qBAAqB,EAC3B,GAAG,cAAc,CAAC;QAEnB,MAAM,kBAAkB,GAAG;YACvB,GAAG,WAAW;SACjB,CAAC;QAEF,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,4GAA4G,CAAC,CAAC;QAClI,CAAC;QAED,yDAAyD;QACzD,IAAI,kBAAkB,CAAC,cAAc,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,sFAAsF,CAAC,CAAC;QAC5G,CAAC;QAED,iCAAiC;QACjC,kBAAkB,CAAC,cAAc,GAAG;YAChC,IAAI,gBAAgB,CAAC,IAAI,WAAW,EAAE,CAAC,EAAE,0BAA0B;SACtE,CAAC;QAEF,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACnB,aAAa,CAAC,aAAa,KAA3B,aAAa,CAAC,aAAa,GAAK,EAAE,EAAC;YACnC,aAAa,CAAC,aAAa,CAAC,QAAQ,GAAG,QAAmB,CAAC;QAC/D,CAAC;QAED,mCAAmC;QACnC,kBAAkB,CAAC,cAAc,GAAG;YAChC,IAAI,gBAAgB,CAAC,IAAI,WAAW,EAAE,EAAE,aAAoB,CAAC,EAAE,6DAA6D;SAC/H,CAAC;QAEF,IAAI,aAAa,CAAC,aAAa,EAAE,2BAA2B,EAAE,CAAC;YAC3D,kBAAkB,CAAC,eAAe,GAAG,KAAK,CAAC;QAC/C,CAAC;QAED,8DAA8D;QAC9D,SAAS;QACT,KAAK,CAAC,EAAE,GAAG,qBAAqB,EAAE,aAAa,EAAE,kBAAkB,EAAE,EAAE,MAAM,CAAC,CAAC;QA5C/E;;;;mBAAiB,cAAc;WAAwB;QACvD;;;;mBAAkB,MAAM;WAAkC;IA4C9D,CAAC;IAED,wEAAwE;IACrD,KAAK,CAAC,kBAAkB,CAAC,eAAmC,EAAE,WAAwB;QACrG,MAAM,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC;QAEjC,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,yBAAyB;IACzF,CAAC;CACJ;AAED,MAAM,UAAU,eAAe,CAG7B,MAAwC;IACtC,OAAO,MAAM,CAAC,MAAM,CAAU,MAAM,CAAC,CAAC;AAC1C,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { Options, Client } from "chrome-remote-interface";
2
- import type { CommonPage } from "crawlee";
2
+ import type CdpPage from "./page.js";
3
3
  export interface LaunchReturn extends Client {
4
- newPage: () => Promise<CommonPage>;
4
+ newPage: () => Promise<CdpPage>;
5
5
  }
6
6
  export declare class CdpLauncher {
7
7
  launch(options: Options): Promise<LaunchReturn>;
@@ -1 +1 @@
1
- {"version":3,"file":"launcher-wrap.d.ts","sourceRoot":"","sources":["../src/launcher-wrap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,MAAM,WAAW,YAAa,SAAQ,MAAM;IACxC,OAAO,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;CACtC;AACD,qBAAa,WAAW;IACd,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC;CAOxD;AAED,eAAO,MAAM,WAAW,aAAoB,CAAC"}
1
+ {"version":3,"file":"launcher-wrap.d.ts","sourceRoot":"","sources":["../src/launcher-wrap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAG/D,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AAErC,MAAM,WAAW,YAAa,SAAQ,MAAM;IACxC,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CACnC;AACD,qBAAa,WAAW;IACd,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC;CAOxD;AAED,eAAO,MAAM,WAAW,aAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"launcher-wrap.js","sourceRoot":"","sources":["../src/launcher-wrap.ts"],"names":[],"mappings":"AACA,OAAO,GAAG,MAAM,yBAAyB,CAAC,CAAC,yBAAyB;AAMpE,MAAM,OAAO,WAAW;IACpB,KAAK,CAAC,MAAM,CAAC,OAAgB;QACzB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,gCAAgC;QAChE,oBAAoB;QACpB,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA,CAAC,CAAC,CAAA;QAE7F,OAAO,GAAmB,CAAA;IAC9B,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"launcher-wrap.js","sourceRoot":"","sources":["../src/launcher-wrap.ts"],"names":[],"mappings":"AACA,OAAO,GAAG,MAAM,yBAAyB,CAAC,CAAC,yBAAyB;AAOpE,MAAM,OAAO,WAAW;IACpB,KAAK,CAAC,MAAM,CAAC,OAAgB;QACzB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,gCAAgC;QAChE,oBAAoB;QACpB,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA,CAAC,CAAC,CAAA;QAE7F,OAAO,GAAmB,CAAA;IAC9B,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC"}
package/dist/page.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter } from 'events';
2
- import type CDP from 'chrome-remote-interface';
2
+ import CDP from 'chrome-remote-interface';
3
3
  export interface WaitForResponseOptions {
4
4
  urlPattern: string | RegExp;
5
5
  timeout?: number;
@@ -32,9 +32,14 @@ export interface EvaluateResult {
32
32
  };
33
33
  }
34
34
  export default class CdpPage extends EventEmitter {
35
+ _rawClient: CDP.Client;
35
36
  client: CDP.Client;
36
37
  private loadedUrl;
38
+ isReconnecting: boolean;
39
+ private enabledDomains;
40
+ private connectionMonitor?;
37
41
  constructor(client: CDP.Client);
42
+ private _attachConnectionMonitor;
38
43
  static create(client: CDP.Client): Promise<CdpPage>;
39
44
  private initialize;
40
45
  url(): Promise<string>;
@@ -86,5 +91,11 @@ export default class CdpPage extends EventEmitter {
86
91
  * @returns - The result of the evaluation.
87
92
  */
88
93
  $$eval<T>(selector: string, pageFunction: (elements: HTMLElement[], ...args: any[]) => T, ...args: any[]): Promise<T>;
94
+ /**
95
+ * Enables a CDP domain only if it hasn't been enabled yet
96
+ * @private
97
+ */
98
+ private _enableDomain;
99
+ reconnectSession(retries?: number): Promise<void>;
89
100
  }
90
101
  //# sourceMappingURL=page.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../src/page.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../src/page.ts"],"names":[],"mappings":"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"}
package/dist/page.js CHANGED
@@ -1,9 +1,90 @@
1
1
  import { EventEmitter } from 'events';
2
2
  import { load as cheerioLoad } from 'cheerio';
3
+ import CDP from 'chrome-remote-interface';
4
+ import { log } from 'crawlee';
3
5
  import { PAGE_CLOSED, PAGE_CREATED } from './events.js';
6
+ /**
7
+ * Creates a proxy that wraps CdpPage methods with reconnection logic
8
+ */
9
+ function createReconnectingPageProxy(page) {
10
+ const MAX_RETRIES = 3;
11
+ const INITIAL_BACKOFF = 1000;
12
+ async function executeWithRetries(operation, methodName) {
13
+ let lastError = null;
14
+ for (let attempt = 0; attempt < MAX_RETRIES; attempt++) {
15
+ try {
16
+ // Wait for any ongoing reconnection
17
+ while (page.isReconnecting) {
18
+ await new Promise(resolve => setTimeout(resolve, 100));
19
+ }
20
+ // @ts-expect-error Accessing internal WebSocket
21
+ const ws = page._rawClient._ws;
22
+ // Check connection state before method call
23
+ if (ws && (ws.readyState !== ws.OPEN || ws.readyState === ws.CLOSING)) {
24
+ const backoff = INITIAL_BACKOFF * 2 ** attempt;
25
+ log.info(`WebSocket not connected before ${methodName}, attempting to reconnect... (attempt ${attempt + 1}/${MAX_RETRIES})`);
26
+ try {
27
+ await page.reconnectSession();
28
+ await new Promise(resolve => setTimeout(resolve, backoff));
29
+ }
30
+ catch (reconnectError) {
31
+ const error = reconnectError instanceof Error ? reconnectError : new Error(String(reconnectError));
32
+ log.error('Reconnection failed:', { error });
33
+ continue;
34
+ }
35
+ }
36
+ return await operation();
37
+ }
38
+ catch (error) {
39
+ if (error instanceof Error) {
40
+ lastError = error;
41
+ if (error.message?.includes('WebSocket is not open')) {
42
+ const backoff = INITIAL_BACKOFF * 2 ** attempt;
43
+ log.info(`WebSocket error during ${methodName}, attempting to reconnect... (attempt ${attempt + 1}/${MAX_RETRIES})`);
44
+ try {
45
+ await page.reconnectSession();
46
+ await new Promise(resolve => setTimeout(resolve, backoff));
47
+ continue;
48
+ }
49
+ catch (reconnectError) {
50
+ const reconnectErr = reconnectError instanceof Error ? reconnectError : new Error(String(reconnectError));
51
+ log.error('Reconnection failed:', { error: reconnectErr });
52
+ }
53
+ }
54
+ }
55
+ throw error;
56
+ }
57
+ }
58
+ throw lastError || new Error(`Failed to execute ${methodName} after ${MAX_RETRIES} attempts`);
59
+ }
60
+ return new Proxy(page, {
61
+ get(target, property) {
62
+ const original = target[property];
63
+ const propertyName = String(property);
64
+ // Only proxy public methods that return promises
65
+ if (typeof original === 'function' &&
66
+ !propertyName.startsWith('_') &&
67
+ !propertyName.startsWith('on') &&
68
+ propertyName !== 'emit' &&
69
+ propertyName !== 'addListener' &&
70
+ propertyName !== 'removeListener') {
71
+ return async (...args) => {
72
+ return executeWithRetries(() => original.apply(target, args), propertyName);
73
+ };
74
+ }
75
+ return original;
76
+ },
77
+ });
78
+ }
4
79
  export default class CdpPage extends EventEmitter {
5
80
  constructor(client) {
6
81
  super();
82
+ Object.defineProperty(this, "_rawClient", {
83
+ enumerable: true,
84
+ configurable: true,
85
+ writable: true,
86
+ value: void 0
87
+ });
7
88
  Object.defineProperty(this, "client", {
8
89
  enumerable: true,
9
90
  configurable: true,
@@ -16,19 +97,73 @@ export default class CdpPage extends EventEmitter {
16
97
  writable: true,
17
98
  value: null
18
99
  });
100
+ Object.defineProperty(this, "isReconnecting", {
101
+ enumerable: true,
102
+ configurable: true,
103
+ writable: true,
104
+ value: false
105
+ });
106
+ Object.defineProperty(this, "enabledDomains", {
107
+ enumerable: true,
108
+ configurable: true,
109
+ writable: true,
110
+ value: new Set()
111
+ });
112
+ Object.defineProperty(this, "connectionMonitor", {
113
+ enumerable: true,
114
+ configurable: true,
115
+ writable: true,
116
+ value: void 0
117
+ });
118
+ this._rawClient = client;
19
119
  this.client = client;
20
120
  this.emit(PAGE_CREATED);
121
+ this._attachConnectionMonitor();
122
+ }
123
+ _attachConnectionMonitor() {
124
+ if (this.connectionMonitor) {
125
+ clearInterval(this.connectionMonitor);
126
+ }
127
+ // @ts-expect-error Accessing internal WebSocket
128
+ const ws = this._rawClient._ws;
129
+ if (!ws)
130
+ return;
131
+ ws.on('error', (error) => {
132
+ log.error('WebSocket error occurred:', { error });
133
+ });
134
+ // Only monitor connection health
135
+ this.connectionMonitor = setInterval(() => {
136
+ if (ws.readyState === ws.OPEN) {
137
+ ws.ping(() => { });
138
+ }
139
+ else if (!this.isReconnecting && ws.readyState !== ws.CONNECTING) {
140
+ log.debug('Connection health check failed, clearing monitor');
141
+ if (this.connectionMonitor)
142
+ clearInterval(this.connectionMonitor);
143
+ }
144
+ }, 5000);
145
+ this.once(PAGE_CLOSED, () => {
146
+ if (this.connectionMonitor)
147
+ clearInterval(this.connectionMonitor);
148
+ });
21
149
  }
22
150
  // @TODO: The enabling of API can cause blocking.
23
151
  // We need to discover this more and add options to the crawler.
24
152
  static async create(client) {
25
153
  const page = new CdpPage(client);
26
154
  await page.initialize();
27
- return page;
155
+ const proxiedPage = createReconnectingPageProxy(page);
156
+ log.debug('Created proxied page instance');
157
+ return proxiedPage;
28
158
  }
29
159
  async initialize() {
30
- const { Page, DOM, Network, Runtime } = this.client;
31
- await Promise.all([Page.enable(), DOM.enable(), Network.enable(), Runtime.enable()]);
160
+ const { Page, DOM, Network } = this.client;
161
+ // Enable only essential domains by default
162
+ await Promise.all([
163
+ Page.enable(),
164
+ DOM.enable(),
165
+ Network.enable(),
166
+ ]);
32
167
  }
33
168
  async url() {
34
169
  if (!this.loadedUrl) {
@@ -38,6 +173,11 @@ export default class CdpPage extends EventEmitter {
38
173
  }
39
174
  // Navigation method
40
175
  async goto(url, options) {
176
+ // Enable both Page and Runtime domains for navigation
177
+ await Promise.all([
178
+ this._enableDomain('Page'),
179
+ this._enableDomain('Runtime')
180
+ ]);
41
181
  const { Page, Runtime } = this.client;
42
182
  const timeout = options?.timeout ?? 30000;
43
183
  await Page.navigate({ url });
@@ -63,6 +203,7 @@ export default class CdpPage extends EventEmitter {
63
203
  // Evaluate method
64
204
  // eslint-disable-next-line @typescript-eslint/ban-types
65
205
  async evaluate(pageFunction, ...args) {
206
+ await this._enableDomain('Runtime');
66
207
  const { Runtime } = this.client;
67
208
  let expression;
68
209
  if (typeof pageFunction === 'function') {
@@ -88,8 +229,12 @@ export default class CdpPage extends EventEmitter {
88
229
  }
89
230
  // Click method
90
231
  async click(selector) {
91
- await this.waitForSelector(selector);
232
+ await Promise.all([
233
+ this._enableDomain('DOM'),
234
+ this._enableDomain('Input')
235
+ ]);
92
236
  const { DOM, Input } = this.client;
237
+ await this.waitForSelector(selector);
93
238
  const { nodeId } = await this.getNodeId(selector);
94
239
  const { model } = await DOM.getBoxModel({ nodeId });
95
240
  if (!model) {
@@ -328,5 +473,80 @@ export default class CdpPage extends EventEmitter {
328
473
  return fn(elements, ...innerArgs);
329
474
  }, selector, pageFunction.toString(), ...args);
330
475
  }
476
+ /**
477
+ * Enables a CDP domain only if it hasn't been enabled yet
478
+ * @private
479
+ */
480
+ async _enableDomain(domain) {
481
+ if (this.enabledDomains.has(domain))
482
+ return;
483
+ const domainApi = this.client[domain];
484
+ if (domainApi?.enable) {
485
+ await domainApi.enable();
486
+ this.enabledDomains.add(domain);
487
+ log.debug(`Enabled ${domain} domain`);
488
+ }
489
+ }
490
+ async reconnectSession(retries = 3) {
491
+ if (this.isReconnecting) {
492
+ log.debug('Reconnection already in progress, skipping...');
493
+ return;
494
+ }
495
+ let attempt = 0;
496
+ this.isReconnecting = true;
497
+ try {
498
+ while (attempt < retries) {
499
+ try {
500
+ // Wait with exponential backoff before retrying
501
+ if (attempt > 0) {
502
+ const backoffMs = Math.min(1000 * Math.pow(2, attempt), 10000);
503
+ log.info(`Waiting ${backoffMs}ms before reconnection attempt ${attempt + 1}/${retries}`);
504
+ await new Promise(resolve => setTimeout(resolve, backoffMs));
505
+ }
506
+ // Create a fresh CDP connection
507
+ const newSession = await CDP({
508
+ port: this._rawClient.port,
509
+ local: true,
510
+ });
511
+ // Get available targets
512
+ const { targetInfos } = await newSession.Target.getTargets();
513
+ const pageTarget = targetInfos.find(t => t.type === 'page' && !t.url.includes('chrome://'));
514
+ if (!pageTarget) {
515
+ throw new Error('No valid page target found');
516
+ }
517
+ // Connect to the specific page target
518
+ const pageSession = await CDP({
519
+ target: pageTarget.targetId,
520
+ port: this._rawClient.port,
521
+ local: true,
522
+ });
523
+ // Re-enable only the domains that were previously enabled
524
+ const enablePromises = Array.from(this.enabledDomains).map(domain => pageSession[domain].enable());
525
+ await Promise.all(enablePromises);
526
+ // Update references
527
+ this._rawClient = pageSession;
528
+ this.client = pageSession;
529
+ this._attachConnectionMonitor();
530
+ log.info(`Page session reconnected successfully on attempt ${attempt + 1}`);
531
+ return;
532
+ }
533
+ catch (error) {
534
+ attempt++;
535
+ if (attempt === retries) {
536
+ throw error;
537
+ }
538
+ log.error('Failed to reconnect page session after all attempts', { error });
539
+ }
540
+ }
541
+ }
542
+ catch (error) {
543
+ const err = error instanceof Error ? error : new Error(String(error));
544
+ log.error('Failed to reconnect page session after all attempts', { error: err });
545
+ throw err;
546
+ }
547
+ finally {
548
+ this.isReconnecting = false;
549
+ }
550
+ }
331
551
  }
332
552
  //# sourceMappingURL=page.js.map
package/dist/page.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"page.js","sourceRoot":"","sources":["../src/page.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../src/page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,GAAG,MAAM,yBAAyB,CAAC;AAC1C,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAqCxD;;GAEG;AACH,SAAS,2BAA2B,CAAC,IAAa;IAC9C,MAAM,WAAW,GAAG,CAAC,CAAC;IACtB,MAAM,eAAe,GAAG,IAAI,CAAC;IAE7B,KAAK,UAAU,kBAAkB,CAAC,SAA6B,EAAE,UAAkB;QAC/E,IAAI,SAAS,GAAiB,IAAI,CAAC;QAEnC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;YACrD,IAAI,CAAC;gBACD,oCAAoC;gBACpC,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;oBACzB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC3D,CAAC;gBAED,gDAAgD;gBAChD,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAE/B,4CAA4C;gBAC5C,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,UAAU,KAAK,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,UAAU,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;oBACpE,MAAM,OAAO,GAAG,eAAe,GAAG,CAAC,IAAE,OAAO,CAAC;oBAC7C,GAAG,CAAC,IAAI,CAAC,kCAAkC,UAAU,yCAAyC,OAAO,GAAG,CAAC,IAAI,WAAW,GAAG,CAAC,CAAC;oBAE7H,IAAI,CAAC;wBACD,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;wBAC9B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;oBAC/D,CAAC;oBAAC,OAAO,cAAuB,EAAE,CAAC;wBAC/B,MAAM,KAAK,GAAG,cAAc,YAAY,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;wBACnG,GAAG,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;wBAC7C,SAAS;oBACb,CAAC;gBACL,CAAC;gBAED,OAAO,MAAM,SAAS,EAAE,CAAC;YAC7B,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACtB,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;oBACzB,SAAS,GAAG,KAAK,CAAC;oBAElB,IAAI,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;wBACnD,MAAM,OAAO,GAAG,eAAe,GAAG,CAAC,IAAE,OAAO,CAAC;wBAC7C,GAAG,CAAC,IAAI,CAAC,0BAA0B,UAAU,yCAAyC,OAAO,GAAG,CAAC,IAAI,WAAW,GAAG,CAAC,CAAC;wBAErH,IAAI,CAAC;4BACD,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;4BAC9B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;4BAC3D,SAAS;wBACb,CAAC;wBAAC,OAAO,cAAuB,EAAE,CAAC;4BAC/B,MAAM,YAAY,GAAG,cAAc,YAAY,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;4BAC1G,GAAG,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;wBAC/D,CAAC;oBACL,CAAC;gBACL,CAAC;gBACD,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC;QAED,MAAM,SAAS,IAAI,IAAI,KAAK,CAAC,qBAAqB,UAAU,UAAU,WAAW,WAAW,CAAC,CAAC;IAClG,CAAC;IAED,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE;QACnB,GAAG,CAAC,MAAe,EAAE,QAAyB;YAC1C,MAAM,QAAQ,GAAI,MAAc,CAAC,QAAQ,CAAC,CAAC;YAC3C,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;YAEtC,iDAAiD;YACjD,IAAI,OAAO,QAAQ,KAAK,UAAU;gBAC9B,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC;gBAC7B,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC;gBAC9B,YAAY,KAAK,MAAM;gBACvB,YAAY,KAAK,aAAa;gBAC9B,YAAY,KAAK,gBAAgB,EAAE,CAAC;gBAEpC,OAAO,KAAK,EAAE,GAAG,IAAW,EAAE,EAAE;oBAC5B,OAAO,kBAAkB,CACrB,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,EAClC,YAAY,CACf,CAAC;gBACN,CAAC,CAAC;YACN,CAAC;YAED,OAAO,QAAQ,CAAC;QACpB,CAAC;KACJ,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,YAAY;IAQ7C,YAAY,MAAkB;QAC1B,KAAK,EAAE,CAAC;QARZ;;;;;WAAuB;QACvB;;;;;WAAmB;QACX;;;;mBAA2B,IAAI;WAAC;QACxC;;;;mBAAiB,KAAK;WAAC;QACf;;;;mBAAiB,IAAI,GAAG,EAAU;WAAC;QACnC;;;;;WAAmC;QAIvC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxB,IAAI,CAAC,wBAAwB,EAAE,CAAC;IACpC,CAAC;IAEO,wBAAwB;QAC5B,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC1C,CAAC;QAED,gDAAgD;QAChD,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAC/B,IAAI,CAAC,EAAE;YAAE,OAAO;QAEhB,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;YAC5B,GAAG,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,iCAAiC;QACjC,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;YACtC,IAAI,EAAE,CAAC,UAAU,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;gBAC5B,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YACvB,CAAC;iBAAM,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,UAAU,KAAK,EAAE,CAAC,UAAU,EAAE,CAAC;gBACjE,GAAG,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;gBAC9D,IAAI,IAAI,CAAC,iBAAiB;oBAAE,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACtE,CAAC;QACL,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;YACxB,IAAI,IAAI,CAAC,iBAAiB;gBAAE,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACP,CAAC;IAED,iDAAiD;IACjD,gEAAgE;IAEhE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAkB;QAClC,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxB,MAAM,WAAW,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC;QACtD,GAAG,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC3C,OAAO,WAAW,CAAC;IACvB,CAAC;IAEO,KAAK,CAAC,UAAU;QACpB,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3C,2CAA2C;QAC3C,MAAM,OAAO,CAAC,GAAG,CAAC;YACd,IAAI,CAAC,MAAM,EAAE;YACb,GAAG,CAAC,MAAM,EAAE;YACZ,OAAO,CAAC,MAAM,EAAE;SACnB,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,GAAG;QACL,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAClB,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAA;QACtD,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,oBAAoB;IACpB,KAAK,CAAC,IAAI,CAAC,GAAW,EAAE,OAAqB;QACzC,sDAAsD;QACtD,MAAM,OAAO,CAAC,GAAG,CAAC;YACd,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;YAC1B,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;SAChC,CAAC,CAAC;QAEH,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QACtC,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC;QAE1C,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QAE7B,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,MAAM,CAAC;QAE/C,IAAI,SAAS,CAAC;QACd,QAAQ,SAAS,EAAE,CAAC;YAChB,KAAK,MAAM;gBACP,SAAS,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBACjF,MAAM;YACV,KAAK,kBAAkB;gBACnB,SAAS,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBACvF,MAAM;YACV;gBACI,MAAM,IAAI,KAAK,CAAC,gCAAgC,SAAS,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,OAAO,CAAC,IAAI,CAAC;YACf,SAAS;YACT,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;SACjG,CAAC,CAAC;QAEH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,sBAAsB,EAAE,CAAmB,CAAC;QACpG,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;IAClC,CAAC;IAED,kBAAkB;IAClB,wDAAwD;IACxD,KAAK,CAAC,QAAQ,CAAI,YAA+B,EAAE,GAAG,IAAW;QAC7D,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAEpC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAEhC,IAAI,UAAkB,CAAC;QAEvB,IAAI,OAAO,YAAY,KAAK,UAAU,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC7D,UAAU,GAAG,IAAI,KAAK,KAAK,OAAO,GAAG,CAAC;QAC1C,CAAC;aAAM,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC1C,UAAU,GAAG,YAAY,CAAC;QAC9B,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC/E,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC;YACxD,UAAU;YACV,YAAY,EAAE,IAAI;YAClB,aAAa,EAAE,IAAI;SACtB,CAAmB,CAAC;QAErB,IAAI,gBAAgB,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,sBAAsB,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,MAAM,CAAC,KAAU,CAAC;IAC7B,CAAC;IAED,eAAe;IACf,KAAK,CAAC,KAAK,CAAC,QAAgB;QACxB,MAAM,OAAO,CAAC,GAAG,CAAC;YACd,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;YACzB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;SAC9B,CAAC,CAAC;QAEH,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAEnC,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAErC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAEpD,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,qCAAqC,MAAM,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACpD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAEpD,MAAM,KAAK,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7D,MAAM,KAAK,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9F,MAAM,KAAK,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;IACnG,CAAC;IAED,cAAc;IACd,KAAK,CAAC,IAAI,CAAC,QAAgB,EAAE,IAAY,EAAE,OAA4B;QACnE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAE9B,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAE3B,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACtB,MAAM,KAAK,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9D,MAAM,KAAK,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5D,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACZ,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;YAC/D,CAAC;QACL,CAAC;IACL,CAAC;IAED,eAAe;IACf,KAAK,CAAC,WAAW,CAAC,QAAkB;QAChC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAElC,MAAM,SAAS,CAAC,wBAAwB,CAAC;YACrC,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,iBAAiB,EAAE,CAAC;YACpB,MAAM,EAAE,KAAK;SAChB,CAAC,CAAC;IACP,CAAC;IAED,iBAAiB;IACjB,KAAK,CAAC,YAAY,CAAC,SAAiB;QAChC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAChC,MAAM,OAAO,CAAC,oBAAoB,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,yBAAyB;IACzB,KAAK,CAAC,mBAAmB,CAAC,OAA+B;QACrD,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAChC,MAAM,OAAO,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,oBAAoB;IACpB,KAAK,CAAC,eAAe,CAAC,QAAgB,EAAE,OAA8B;QAClE,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC;QAC1C,MAAM,eAAe,GAAG,GAAG,CAAC;QAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC;QACzD,IAAI,QAAQ,GAAG,CAAC,CAAC;QAEjB,OAAO,QAAQ,GAAG,WAAW,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAClD,IAAI,MAAM,EAAE,CAAC;gBACT,OAAO;YACX,CAAC;YACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;YACrE,QAAQ,EAAE,CAAC;QACf,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,iCAAiC,QAAQ,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,oBAAoB;IACpB,KAAK,CAAC,eAAe,CAAC,OAAe,EAAE,aAAqB,GAAG,EAAE,UAAkB,MAAO;QACtF,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,uCAAuC;QAC3E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,IAAI,KAAqB,CAAC;YAE1B,MAAM,kBAAkB,GAAG,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAA6C,EAAiB,EAAE;gBACnH,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;oBACnE,YAAY,CAAC,KAAK,CAAC,CAAC;oBAEpB,IAAI,CAAC;wBACD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;wBAC1E,OAAO,CAAC;4BACJ,GAAG,QAAQ;4BACX,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;yBACzB,CAAC,CAAC;oBACP,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACX,uCAAuC;wBACvC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;4BAC5C,IAAI,CAAC;gCACD,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gCACnC,MAAM,IAAI,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,UAAU,CAAC,cAAc,EAAE,IAAI,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,sBAAsB;gCAC9G,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;gCAC1E,OAAO,CAAC;oCACJ,GAAG,QAAQ;oCACX,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;iCACzB,CAAC,CAAC;gCACH,OAAO;4BACX,CAAC;4BAAC,OAAO,QAAQ,EAAE,CAAC;gCAChB,IAAI,OAAO,KAAK,CAAC;oCAAE,MAAM,CAAC,IAAI,KAAK,CAAC,qCAAqC,OAAO,WAAW,CAAC,CAAC,CAAC;4BAClG,CAAC;wBACL,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC,CAAC;YACF,6BAA6B;YAC7B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;YAE/D,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBACpB,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,OAAO,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;YACjE,CAAC,EAAE,OAAO,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,oBAAoB;IACpB,KAAK,CAAC,UAAU,CAAC,OAA+C;QAC5D,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAE7B,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;YACpB,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtD,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;QACrF,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAE3C,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;YAChB,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;YAC9B,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,mBAAmB;IACnB,KAAK,CAAC,OAAO;QACT,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACzE,CAAC;IAED;;QAEI;IACJ,KAAK,CAAC,SAAS;QACX,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,MAA4B,CAAC;QACpC,CAAC;IACL,CAAC;IAED,eAAe;IACf,KAAK,CAAC,KAAK;QACP,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7B,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAC1B,CAAC;IAED,0BAA0B;IAC1B,KAAK,CAAC,aAAa,CAAC,QAAgB;QAChC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;IACzF,CAAC;IAED,iCAAiC;IACjC,KAAK,CAAC,cAAc,CAAC,QAAgB;QACjC,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QACrC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAW,EAAE,EAAE;YACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAC5C,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,CAAC,EAAE,QAAQ,CAAC,CAAC;IACjB,CAAC;IAED,mCAAmC;IACnC,KAAK,CAAC,OAAO,CAAC,QAAgB;QAC1B,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QACrC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAW,EAAE,EAAE;YACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAsB,CAAC;YACjE,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACjB,CAAC;IAED,8BAA8B;IAC9B,KAAK,CAAC,cAAc,CAAC,QAAgB;QACjC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAW,EAAE,EAAE;YAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAC5C,IAAI,OAAO,EAAE,CAAC;gBACV,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YACpE,CAAC;QACL,CAAC,EAAE,QAAQ,CAAC,CAAC;IACjB,CAAC;IAED,uCAAuC;IACvC,KAAK,CAAC,aAAa,CAAC,WAAqB;QACrC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAChC,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,OAAO,CAAC,sBAAsB,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAE1E,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC9C,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC7C,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;gBACvD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;YAEH,IAAI,WAAW,EAAE,CAAC;gBACd,MAAM,OAAO,CAAC,0BAA0B,CAAC;oBACrC,cAAc,EAAE,MAAM,CAAC,cAAc;oBACrC,WAAW,EAAE,SAAS;iBACzB,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,MAAM,OAAO,CAAC,0BAA0B,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;YACxF,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,6CAA6C;IACrC,KAAK,CAAC,SAAS,CAAC,QAAgB;QACpC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,MAAM,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,GAAG,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC;QACrE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;QAEjF,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,+BAA+B,QAAQ,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAiB;QAC9B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO;QACX,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;IACL,CAAC;IAED;;;;;;;;;;QAUI;IACJ,KAAK,CAAC,UAAU,CAAC,IAAe;QAC5B,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAEhC,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,OAAO,aAAa,CAAC,OAAO,CAAC;IACjC,CAAC;IAED,wCAAwC;IAExC;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CAAI,QAAgB,EAAE,YAA4D,EAAE,GAAG,IAAW;QAC1G,OAAO,MAAM,IAAI,CAAC,QAAQ,CACtB,CAAC,GAAW,EAAE,KAAa,EAAE,GAAG,SAAc,EAAE,EAAE;YAC9C,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAkB,CAAC;YAC7E,uCAAuC;YACvC,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,UAAU,KAAK,EAAE,CAAC,EAAE,CAAC;YAC7C,OAAO,EAAE,CAAC,QAAQ,EAAE,GAAG,SAAS,CAAC,CAAC;QACtC,CAAC,EACD,QAAQ,EACR,YAAY,CAAC,QAAQ,EAAE,EACvB,GAAG,IAAI,CACV,CAAC;IACN,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,aAAa,CAAC,MAAiC;QACzD,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO;QAE5C,MAAM,SAAS,GAAI,IAAI,CAAC,MAAc,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,SAAS,EAAE,MAAM,EAAE,CAAC;YACpB,MAAM,SAAS,CAAC,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAChC,GAAG,CAAC,KAAK,CAAC,WAAW,MAAM,SAAS,CAAC,CAAC;QAC1C,CAAC;IACL,CAAC;IAEA,KAAK,CAAC,gBAAgB,CAAC,OAAO,GAAG,CAAC;QAC/B,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,GAAG,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;YAC3D,OAAO;QACX,CAAC;QAED,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE3B,IAAI,CAAC;YACD,OAAO,OAAO,GAAG,OAAO,EAAE,CAAC;gBACvB,IAAI,CAAC;oBACD,gDAAgD;oBAChD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;wBACd,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;wBAC/D,GAAG,CAAC,IAAI,CAAC,WAAW,SAAS,kCAAkC,OAAO,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC;wBACzF,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;oBACjE,CAAC;oBAED,gCAAgC;oBAChC,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC;wBACzB,IAAI,EAAG,IAAI,CAAC,UAAkB,CAAC,IAAI;wBACnC,KAAK,EAAE,IAAI;qBACd,CAAC,CAAC;oBAEH,wBAAwB;oBACxB,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;oBAC7D,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACpC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CACpD,CAAC;oBAEF,IAAI,CAAC,UAAU,EAAE,CAAC;wBACd,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;oBAClD,CAAC;oBAED,sCAAsC;oBACtC,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC;wBAC1B,MAAM,EAAE,UAAU,CAAC,QAAQ;wBAC3B,IAAI,EAAG,IAAI,CAAC,UAAkB,CAAC,IAAI;wBACnC,KAAK,EAAE,IAAI;qBACd,CAAC,CAAC;oBAEH,0DAA0D;oBAC1D,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAC/D,WAAmB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CACxC,CAAC;oBACF,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;oBAElC,oBAAoB;oBACpB,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC;oBAC9B,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;oBAC1B,IAAI,CAAC,wBAAwB,EAAE,CAAC;oBAEhC,GAAG,CAAC,IAAI,CAAC,oDAAoD,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC5E,OAAO;gBACX,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,OAAO,EAAE,CAAC;oBACV,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;wBACtB,MAAM,KAAK,CAAC;oBAChB,CAAC;oBACD,GAAG,CAAC,KAAK,CAAC,qDAAqD,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;gBAChF,CAAC;YACL,CAAC;QACL,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACtE,GAAG,CAAC,KAAK,CAAC,qDAAqD,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YACjF,MAAM,GAAG,CAAC;QACd,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAChC,CAAC;IACL,CAAC;CAEJ"}