@netacea/cloudflare 5.1.16 → 5.1.18

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 CHANGED
@@ -3,6 +3,22 @@
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
+ ## 5.1.18 (2023-05-11)
7
+
8
+ **Note:** Version bump only for package @netacea/cloudflare
9
+
10
+
11
+
12
+
13
+
14
+ ## 5.1.17 (2023-05-04)
15
+
16
+ **Note:** Version bump only for package @netacea/cloudflare
17
+
18
+
19
+
20
+
21
+
6
22
  ## 5.1.16 (2023-04-28)
7
23
 
8
24
  **Note:** Version bump only for package @netacea/cloudflare
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@netacea/cloudflare",
3
- "version": "5.1.16",
3
+ "version": "5.1.18",
4
4
  "description": "Netacea Cloudflare CDN Integration",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",
@@ -16,7 +16,8 @@
16
16
  },
17
17
  "license": "ISC",
18
18
  "dependencies": {
19
- "@netacea/netaceaintegrationbase": "^1.16.14",
19
+ "@netacea/kinesisingest": "^1.4.17",
20
+ "@netacea/netaceaintegrationbase": "^1.16.16",
20
21
  "jose": "^4.11.2"
21
22
  },
22
23
  "devDependencies": {
@@ -33,5 +34,5 @@
33
34
  "tsconfig-paths": "^3.9.0",
34
35
  "typescript": "^3.9.7"
35
36
  },
36
- "gitHead": "77763642370beabc8669a9cb95996b2c0beecb00"
37
+ "gitHead": "418ad84288b37cc1c65423485badb55d64e894d0"
37
38
  }
@@ -1,10 +1,29 @@
1
- import NetaceaBase, { InjectResponse, MakeRequestArgs, MakeRequestResponse, MitigateResponse, NetaceaBaseArgs } from '@netacea/netaceaintegrationbase';
1
+ import { APICallResponse, ComposeResultResponse, FindBestMitigationResponse, IngestArgs, InjectResponse, MakeRequestArgs, MakeRequestResponse, MitigateResponse, NetaceaBaseArgs, NetaceaIngestType, NetaceaLogVersion, NetaceaMitigationResponse, NetaceaMitigationType, NetaceaResponseBase, ProcessMitigateRequestArgs, V2WebLog, WebLog } from '@netacea/netaceaintegrationbase';
2
+ import NetaceaKinesis from '@netacea/kinesisingest';
2
3
  export declare type CloudflareConstructorArgs = NetaceaBaseArgs & {
3
4
  cookieEncryptionKey?: string;
5
+ enableDynamicCaptchaContentType?: boolean | string;
4
6
  };
5
7
  declare type CloudflareMitigateResponse = MitigateResponse<Response>;
6
- export default class Cloudflare extends NetaceaBase<Request, Response> {
8
+ declare type RequestArgs = Request;
9
+ export default class Cloudflare {
10
+ protected mitataCookieExpirySeconds: number;
11
+ protected apiKey: string;
12
+ protected secretKey?: string;
13
+ protected mitigationServiceUrl: string;
14
+ protected ingestServiceUrl: string;
15
+ protected readonly timeout: number;
16
+ protected readonly captchaSiteKey?: string;
17
+ protected readonly captchaSecretKey?: string;
18
+ protected readonly ingestType: NetaceaIngestType;
19
+ protected readonly logVersion: NetaceaLogVersion;
20
+ protected readonly kinesis?: NetaceaKinesis;
21
+ protected readonly mitigationType: NetaceaMitigationType;
22
+ protected readonly encryptedCookies: string[];
23
+ protected readonly netaceaCookieName: string;
24
+ protected readonly netaceaCaptchaCookieName: string;
7
25
  private readonly cookieEncryptionKey;
26
+ private readonly enableDynamicCaptchaContentType;
8
27
  constructor(args: CloudflareConstructorArgs);
9
28
  /**
10
29
  *
@@ -27,5 +46,42 @@ export default class Cloudflare extends NetaceaBase<Request, Response> {
27
46
  getCookieHeader(args: Request): string | null | undefined;
28
47
  protected encryptCookieValue(cookieValue: string): Promise<string>;
29
48
  protected decryptCookieValue(encryptedCookieValue: string): Promise<string>;
49
+ /**
50
+ * START -- NETACEA BASE METHODS
51
+ */
52
+ runMitigation(args: RequestArgs): Promise<NetaceaMitigationResponse<Response>>;
53
+ /**
54
+ * Returns the value of the cookie with the given name from a string or list of cookies.
55
+ * If the cookie name is included in the encryptedCookies class property,
56
+ * then the cookie value will be decrypted automatically.
57
+ * The method may operate of either the HTTP Cookie or Set-Cookie headers.
58
+ * @param cookieName the name of the cookie to find.
59
+ * @param cookies the full list of cookies, either as a string or an array of strings.
60
+ * @returns the value of the cookie, if found.
61
+ */
62
+ protected readCookie(cookieName: string, cookies: string | string[] | null | undefined): Promise<string | undefined>;
63
+ protected callIngest(args: IngestArgs): Promise<void>;
64
+ private makeIngestApiCall;
65
+ private constructV2WebLog;
66
+ private constructV1WebLog;
67
+ protected constructWebLog(args: IngestArgs): WebLog | V2WebLog;
68
+ protected check(netaceaCookie: string | undefined, clientIP: string, userAgent: string, captchaPageContentType: string, captchaCookie?: string): Promise<ComposeResultResponse>;
69
+ protected createMitata(clientIP: string, userId: string | undefined, match: number, mitigate: number, captcha: number, maxAge?: number, expiry?: number | undefined): Promise<string>;
70
+ private processCaptcha;
71
+ private getMitataCaptchaFromHeaders;
72
+ private makeCaptchaAPICall;
73
+ private getApiCallResponseFromResponse;
74
+ private buildCookieFromValues;
75
+ private buildCookieHeader;
76
+ private makeMitigateAPICall;
77
+ private composeResult;
78
+ protected findBestMitigation(match: number, mitigate: number, captcha: number, isCaptchaPost: boolean): FindBestMitigationResponse;
79
+ protected APIError(response: APICallResponse): Error;
80
+ protected isUrlCaptchaPost(url: string, method: string): boolean;
81
+ protected processMitigateRequest(args: ProcessMitigateRequestArgs & {
82
+ captchaPageContentType: string;
83
+ }): Promise<ComposeResultResponse>;
84
+ protected setIngestOnlyMitataCookie(userId: string | undefined): Promise<NetaceaResponseBase>;
85
+ protected processIngest(args: RequestArgs): Promise<NetaceaResponseBase>;
30
86
  }
31
87
  export {};
@@ -1,14 +1,62 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ /* eslint-disable max-lines */
3
4
  const netaceaintegrationbase_1 = require("@netacea/netaceaintegrationbase");
5
+ const kinesisingest_1 = require("@netacea/kinesisingest");
4
6
  const pack = require("../package.json");
5
7
  const cookieEncryption_1 = require("./cookieEncryption");
6
- class Cloudflare extends netaceaintegrationbase_1.default {
7
- // Lint rule disables as it is disabled, but we want to always use cloudflareConstructorArgs interface
8
- // eslint-disable-next-line @typescript-eslint/no-useless-constructor
8
+ const checkCaptchaContentType_1 = require("./checkCaptchaContentType");
9
+ const ONE_HOUR_IN_SECONDS = 60 * 60;
10
+ const ONE_DAY_IN_SECONDS = ONE_HOUR_IN_SECONDS * 24;
11
+ function configureMitataExpiry(mitigationType, expirySeconds) {
12
+ if (expirySeconds === undefined) {
13
+ return mitigationType === netaceaintegrationbase_1.NetaceaMitigationType.INGEST ? ONE_HOUR_IN_SECONDS : 60;
14
+ }
15
+ return expirySeconds;
16
+ }
17
+ class Cloudflare {
18
+ // eslint-disable-next-line complexity, max-lines-per-function
9
19
  constructor(args) {
10
- super(args);
20
+ this.encryptedCookies = [];
21
+ const { apiKey, secretKey, timeout = 3000, mitigationServiceUrl = 'https://mitigations.netacea.net', ingestServiceUrl = 'https://ingest.netacea.net', mitigationType = netaceaintegrationbase_1.NetaceaMitigationType.INGEST, captchaSiteKey, captchaSecretKey, ingestType = netaceaintegrationbase_1.NetaceaIngestType.HTTP, kinesis, logVersion, mitataCookieExpirySeconds, netaceaCookieExpirySeconds, netaceaCookieName, netaceaCaptchaCookieName, enableDynamicCaptchaContentType = false } = args;
22
+ if (apiKey === null || apiKey === undefined) {
23
+ throw new Error('apiKey is a required parameter');
24
+ }
25
+ this.apiKey = apiKey;
26
+ this.secretKey = secretKey;
27
+ this.mitigationServiceUrl = mitigationServiceUrl;
28
+ this.ingestServiceUrl = ingestServiceUrl;
29
+ this.mitigationType = mitigationType;
30
+ this.ingestType = ingestType !== null && ingestType !== void 0 ? ingestType : netaceaintegrationbase_1.NetaceaIngestType.HTTP;
31
+ this.logVersion = logVersion !== null && logVersion !== void 0 ? logVersion : netaceaintegrationbase_1.NetaceaLogVersion.V1;
32
+ if (this.ingestType === netaceaintegrationbase_1.NetaceaIngestType.KINESIS) {
33
+ if (kinesis === undefined) {
34
+ // eslint-disable-next-line no-console
35
+ console.warn(`NETACEA WARN: no kinesis args provided, when ingestType is ${this.ingestType}`);
36
+ }
37
+ else {
38
+ this.kinesis = new kinesisingest_1.default({
39
+ ...kinesis,
40
+ apiKey: this.apiKey
41
+ });
42
+ }
43
+ }
44
+ if (captchaSiteKey !== undefined || captchaSecretKey !== undefined) {
45
+ this.captchaSiteKey = captchaSiteKey;
46
+ this.captchaSecretKey = captchaSecretKey;
47
+ }
48
+ this.timeout = netaceaintegrationbase_1.correctTimeout(timeout);
49
+ this.netaceaCookieName = netaceaCookieName !== null && netaceaCookieName !== void 0 ? netaceaCookieName : '_mitata';
50
+ this.netaceaCaptchaCookieName = netaceaCaptchaCookieName !== null && netaceaCaptchaCookieName !== void 0 ? netaceaCaptchaCookieName : '_mitatacaptcha';
51
+ this.encryptedCookies = [
52
+ this.netaceaCookieName,
53
+ this.netaceaCaptchaCookieName
54
+ ];
55
+ this.mitataCookieExpirySeconds = configureMitataExpiry(mitigationType, netaceaCookieExpirySeconds !== null && netaceaCookieExpirySeconds !== void 0 ? netaceaCookieExpirySeconds : mitataCookieExpirySeconds);
11
56
  this.cookieEncryptionKey = args.cookieEncryptionKey;
57
+ this.enableDynamicCaptchaContentType = typeof enableDynamicCaptchaContentType === 'boolean'
58
+ ? enableDynamicCaptchaContentType
59
+ : enableDynamicCaptchaContentType === 'true';
12
60
  }
13
61
  /**
14
62
  *
@@ -162,12 +210,14 @@ class Cloudflare extends netaceaintegrationbase_1.default {
162
210
  return (_a = headers.get(key)) !== null && _a !== void 0 ? _a : defaultVal;
163
211
  }
164
212
  async getMitigationResponse(request) {
165
- var _a, _b, _c;
213
+ var _a, _b, _c, _d;
166
214
  const cookies = request.headers.get('cookie');
167
215
  const mitataCookie = (_a = await this.readCookie(this.netaceaCookieName, cookies)) !== null && _a !== void 0 ? _a : '';
168
216
  const mitataCaptcha = await this.readCookie(this.netaceaCaptchaCookieName, cookies);
169
217
  const clientIp = (_b = request.headers.get('cf-connecting-ip')) !== null && _b !== void 0 ? _b : '';
170
218
  const userAgent = (_c = request.headers.get('user-agent')) !== null && _c !== void 0 ? _c : '';
219
+ const accept = (_d = request.headers.get('Accept')) !== null && _d !== void 0 ? _d : '';
220
+ const captchaPageContentType = await checkCaptchaContentType_1.getCaptchaPageContentType(accept);
171
221
  return await this.processMitigateRequest({
172
222
  clientIp,
173
223
  getBodyFn: async () => await Promise.resolve(request.body),
@@ -175,7 +225,8 @@ class Cloudflare extends netaceaintegrationbase_1.default {
175
225
  mitata: mitataCookie,
176
226
  mitataCaptcha,
177
227
  url: request.url,
178
- userAgent
228
+ userAgent,
229
+ captchaPageContentType
179
230
  });
180
231
  }
181
232
  async timeoutCheck(promise, timeout) {
@@ -198,6 +249,447 @@ class Cloudflare extends netaceaintegrationbase_1.default {
198
249
  }
199
250
  return encryptedCookieValue;
200
251
  }
252
+ /**
253
+ * START -- NETACEA BASE METHODS
254
+ */
255
+ async runMitigation(args) {
256
+ try {
257
+ switch (this.mitigationType) {
258
+ case netaceaintegrationbase_1.NetaceaMitigationType.MITIGATE:
259
+ return await this.mitigate(args);
260
+ case netaceaintegrationbase_1.NetaceaMitigationType.INJECT:
261
+ return await this.inject(args);
262
+ case netaceaintegrationbase_1.NetaceaMitigationType.INGEST:
263
+ return await this.processIngest(args);
264
+ default:
265
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
266
+ throw new Error(`Netacea Error: Mitigation type ${this.mitigationType} not recognised`);
267
+ }
268
+ }
269
+ catch (e) {
270
+ // eslint-disable-next-line no-console
271
+ console.error('Netacea FAILOPEN Error:', e);
272
+ return {
273
+ injectHeaders: {
274
+ 'x-netacea-captcha': '0',
275
+ 'x-netacea-match': '0',
276
+ 'x-netacea-mitigate': '0'
277
+ },
278
+ sessionStatus: ''
279
+ };
280
+ }
281
+ }
282
+ /**
283
+ * Returns the value of the cookie with the given name from a string or list of cookies.
284
+ * If the cookie name is included in the encryptedCookies class property,
285
+ * then the cookie value will be decrypted automatically.
286
+ * The method may operate of either the HTTP Cookie or Set-Cookie headers.
287
+ * @param cookieName the name of the cookie to find.
288
+ * @param cookies the full list of cookies, either as a string or an array of strings.
289
+ * @returns the value of the cookie, if found.
290
+ */
291
+ async readCookie(cookieName, cookies) {
292
+ if (cookies === null || cookies === undefined) {
293
+ return undefined;
294
+ }
295
+ if (typeof cookies === 'string') {
296
+ return await this.readCookie(cookieName, cookies.split(';'));
297
+ }
298
+ const valuePrefix = `${cookieName}=`;
299
+ for (const cookie of cookies) {
300
+ // split again on ; to handle Set-Cookie header format.
301
+ const trimmedCookie = cookie.split(';')[0].trimStart();
302
+ if (trimmedCookie.startsWith(valuePrefix)) {
303
+ const cookieValue = trimmedCookie.slice(valuePrefix.length);
304
+ if (this.encryptedCookies.includes(cookieName)) {
305
+ try {
306
+ return await this.decryptCookieValue(cookieValue);
307
+ }
308
+ catch (_e) {
309
+ return undefined;
310
+ }
311
+ }
312
+ return cookieValue;
313
+ }
314
+ }
315
+ return undefined;
316
+ }
317
+ async callIngest(args) {
318
+ const body = this.constructWebLog(args);
319
+ if (this.ingestType === netaceaintegrationbase_1.NetaceaIngestType.KINESIS) {
320
+ if (this.kinesis === undefined) {
321
+ // eslint-disable-next-line no-console
322
+ console.error('Netacea Error: Unable to log as Kinesis has not been defined.');
323
+ return;
324
+ }
325
+ try {
326
+ await this.kinesis.ingest({
327
+ ...body,
328
+ apiKey: this.apiKey
329
+ }, this.makeRequest);
330
+ }
331
+ catch (e) {
332
+ // eslint-disable-next-line no-console
333
+ console.error('NETACEA Error: ', e.message);
334
+ }
335
+ }
336
+ else {
337
+ const headers = {
338
+ 'X-Netacea-API-Key': this.apiKey,
339
+ 'content-type': 'application/json'
340
+ };
341
+ const res = await this.makeIngestApiCall(headers, body);
342
+ if (res.status !== 200) {
343
+ throw this.APIError(res);
344
+ }
345
+ }
346
+ }
347
+ async makeIngestApiCall(headers, body) {
348
+ return await this.makeRequest({
349
+ host: this.ingestServiceUrl,
350
+ method: 'POST',
351
+ path: '/',
352
+ headers,
353
+ body: JSON.stringify(body),
354
+ timeout: this.timeout
355
+ });
356
+ }
357
+ constructV2WebLog({ ip, userAgent, status, method, path, protocol, referer, bytesSent, requestTime, mitataCookie, sessionStatus, integrationType, integrationVersion }) {
358
+ var _a;
359
+ const now = new Date();
360
+ // Paths must be prefixed with '/'
361
+ if (path[0] !== '/') {
362
+ path = `/${path}`;
363
+ }
364
+ let actualQuery;
365
+ const splitPath = path.split('?');
366
+ if (splitPath.length > 1) {
367
+ actualQuery = `?${splitPath[1]}`;
368
+ }
369
+ const actualPath = splitPath[0];
370
+ const userId = (_a = netaceaintegrationbase_1.matchMitataCookie(mitataCookie)) === null || _a === void 0 ? void 0 : _a.userId;
371
+ const log = {
372
+ status,
373
+ method,
374
+ 'bytes_sent': netaceaintegrationbase_1.safeParseInt(bytesSent),
375
+ 'referrer': referer === '' ? undefined : referer,
376
+ 'request': `${method} ${actualPath}${actualQuery !== null && actualQuery !== void 0 ? actualQuery : ''} ${protocol}`,
377
+ 'request_time': netaceaintegrationbase_1.safeParseInt(requestTime),
378
+ 'integration_type': integrationType,
379
+ 'integration_version': integrationVersion,
380
+ 'client': ip,
381
+ 'user_agent': userAgent,
382
+ 'bc_type': sessionStatus === '' ? undefined : sessionStatus,
383
+ 'hour': now.getUTCHours(),
384
+ 'minute': now.getUTCMinutes(),
385
+ // '2021-08-04T14:22:41.155Z' = toISOString()
386
+ '@timestamp': now.toISOString().replace('Z', '+00:00'),
387
+ 'path': actualPath,
388
+ protocol,
389
+ 'query': actualQuery,
390
+ 'user_id': userId
391
+ };
392
+ return log;
393
+ }
394
+ constructV1WebLog({ ip, userAgent, status, method, path, protocol, referer, bytesSent, requestTime, mitataCookie, sessionStatus, integrationType, integrationVersion }) {
395
+ const timestamp = new Date().toUTCString();
396
+ return {
397
+ Request: `${method} ${path} ${protocol}`,
398
+ TimeLocal: timestamp,
399
+ RealIp: ip,
400
+ UserAgent: userAgent,
401
+ Status: status,
402
+ RequestTime: requestTime === null || requestTime === void 0 ? void 0 : requestTime.toString(),
403
+ BytesSent: bytesSent === null || bytesSent === void 0 ? void 0 : bytesSent.toString(),
404
+ Referer: referer === '' ? '-' : referer,
405
+ NetaceaUserIdCookie: mitataCookie !== null && mitataCookie !== void 0 ? mitataCookie : '',
406
+ NetaceaMitigationApplied: sessionStatus !== null && sessionStatus !== void 0 ? sessionStatus : '',
407
+ IntegrationType: integrationType !== null && integrationType !== void 0 ? integrationType : '',
408
+ IntegrationVersion: integrationVersion !== null && integrationVersion !== void 0 ? integrationVersion : ''
409
+ };
410
+ }
411
+ constructWebLog(args) {
412
+ args.bytesSent = args.bytesSent === '' ? '0' : args.bytesSent;
413
+ if (this.logVersion === netaceaintegrationbase_1.NetaceaLogVersion.V2) {
414
+ return this.constructV2WebLog(args);
415
+ }
416
+ return this.constructV1WebLog(args);
417
+ }
418
+ async check(netaceaCookie, clientIP, userAgent, captchaPageContentType, captchaCookie) {
419
+ var _a, _b;
420
+ let status, match, mitigate, captcha, body, setCookie, eventId;
421
+ if (this.secretKey === undefined) {
422
+ throw new Error('Secret key is required to mitigate');
423
+ }
424
+ const cookieInfo = netaceaintegrationbase_1.checkMitataCookie(netaceaCookie, clientIP, this.secretKey);
425
+ if (!cookieInfo.isPrimaryHashValid || cookieInfo.requiresReissue) {
426
+ // Get latest mitigation information
427
+ const result = await this.makeMitigateAPICall((_a = cookieInfo.mitata) === null || _a === void 0 ? void 0 : _a.userId, clientIP, userAgent, captchaCookie, captchaPageContentType);
428
+ status = result.status;
429
+ match = result.match;
430
+ mitigate = result.mitigate;
431
+ captcha = result.captcha;
432
+ body = result.body;
433
+ setCookie = [
434
+ await this.createMitata(clientIP, (_b = cookieInfo.mitata) === null || _b === void 0 ? void 0 : _b.userId, match, mitigate, captcha, result.mitataMaxAge)
435
+ ];
436
+ eventId = result.eventId;
437
+ }
438
+ else {
439
+ status = -1;
440
+ match = cookieInfo.match;
441
+ mitigate = cookieInfo.mitigate;
442
+ captcha = cookieInfo.captcha;
443
+ body = undefined;
444
+ setCookie = [];
445
+ }
446
+ return this.composeResult(body, setCookie, status, match, mitigate, captcha, false, eventId);
447
+ }
448
+ async createMitata(clientIP, userId, match, mitigate, captcha, maxAge = 86400, expiry = undefined) {
449
+ // serve, fail, cookiefail
450
+ const isCaptchaServe = [1, 3, 5].includes(captcha);
451
+ const expiryDelta = isCaptchaServe ? -this.mitataCookieExpirySeconds : this.mitataCookieExpirySeconds;
452
+ const mitataExpiry = expiry !== null && expiry !== void 0 ? expiry : Math.floor(Date.now() / 1000) + expiryDelta;
453
+ if (this.secretKey === undefined) {
454
+ throw new Error('Cannot build cookie without secret key.');
455
+ }
456
+ const mitataCode = [match, mitigate, captcha].join('');
457
+ const mitataValue = netaceaintegrationbase_1.createMitataCookie(clientIP, userId, mitataExpiry, this.secretKey, mitataCode);
458
+ return await this.buildCookieFromValues(this.netaceaCookieName, mitataValue, maxAge, '/');
459
+ }
460
+ async processCaptcha(netaceaCookie, clientIP, userAgent, captchaData) {
461
+ const { status, match, mitigate, captcha, body, setCookie } = await this.makeCaptchaAPICall(netaceaCookie, clientIP, userAgent, captchaData);
462
+ return this.composeResult(body, setCookie, status, match, mitigate, captcha, true);
463
+ }
464
+ async getMitataCaptchaFromHeaders(headers) {
465
+ if (Object.prototype.hasOwnProperty.call(headers, netaceaintegrationbase_1.dictionary.netaceaHeaders.mitataCaptcha)) {
466
+ const mitataCaptcha = headers[netaceaintegrationbase_1.dictionary.netaceaHeaders.mitataCaptcha];
467
+ const mitataCaptchaExpiry = parseInt(headers[netaceaintegrationbase_1.dictionary.netaceaHeaders.mitataCaptchaExpiry]);
468
+ const mitataCaptchaCookie = await this.buildCookieFromValues(this.netaceaCaptchaCookieName, mitataCaptcha, mitataCaptchaExpiry);
469
+ if (mitataCaptchaCookie !== undefined) {
470
+ return mitataCaptchaCookie;
471
+ }
472
+ }
473
+ return undefined;
474
+ }
475
+ async makeCaptchaAPICall(netaceaCookie, clientIP, userAgent, captchaData) {
476
+ const headers = {
477
+ 'X-Netacea-API-Key': this.apiKey,
478
+ 'X-Netacea-Client-IP': clientIP,
479
+ 'user-agent': userAgent,
480
+ 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
481
+ };
482
+ const mitata = netaceaintegrationbase_1.matchMitataCookie(netaceaCookie);
483
+ if (mitata !== undefined) {
484
+ headers['X-Netacea-UserId'] = mitata.userId;
485
+ }
486
+ if (this.captchaSiteKey !== undefined && this.captchaSecretKey !== undefined) {
487
+ headers['X-Netacea-Captcha-Site-Key'] = this.captchaSiteKey;
488
+ headers['X-Netacea-Captcha-Secret-Key'] = this.captchaSecretKey;
489
+ }
490
+ const res = await this.makeRequest({
491
+ host: this.mitigationServiceUrl,
492
+ path: '/AtaVerifyCaptcha',
493
+ headers,
494
+ method: 'POST',
495
+ body: captchaData,
496
+ timeout: this.timeout
497
+ });
498
+ return await this.getApiCallResponseFromResponse(res, mitata === null || mitata === void 0 ? void 0 : mitata.userId, clientIP);
499
+ }
500
+ async getApiCallResponseFromResponse(response, userId, clientIP) {
501
+ if (response.status !== 200) {
502
+ throw this.APIError(response);
503
+ }
504
+ const match = parseInt(response.headers[netaceaintegrationbase_1.dictionary.netaceaHeaders.match]);
505
+ const mitigate = parseInt(response.headers[netaceaintegrationbase_1.dictionary.netaceaHeaders.mitigate]);
506
+ const captcha = parseInt(response.headers[netaceaintegrationbase_1.dictionary.netaceaHeaders.captcha]);
507
+ let mitataMaxAge = parseInt(response.headers[netaceaintegrationbase_1.dictionary.netaceaHeaders.mitataExpiry]);
508
+ if (isNaN(mitataMaxAge)) {
509
+ mitataMaxAge = 86400;
510
+ }
511
+ const mitata = await this.createMitata(clientIP, userId, match, mitigate, captcha);
512
+ const mitataCaptcha = await this.getMitataCaptchaFromHeaders(response.headers);
513
+ const setCookie = [
514
+ mitata,
515
+ mitataCaptcha
516
+ ].filter(c => c !== undefined);
517
+ const eventId = response.headers[netaceaintegrationbase_1.dictionary.netaceaHeaders.eventId];
518
+ return {
519
+ status: response.status,
520
+ match,
521
+ mitigate,
522
+ captcha,
523
+ setCookie,
524
+ body: response.body,
525
+ eventId,
526
+ mitataMaxAge
527
+ };
528
+ }
529
+ async buildCookieFromValues(cookieName, value, maxAge, path = '/') {
530
+ if (this.encryptedCookies.includes(cookieName)) {
531
+ const encyptedValue = await this.encryptCookieValue(value);
532
+ return `${cookieName}=${encyptedValue}; Max-Age=${maxAge}; Path=${path}`;
533
+ }
534
+ return `${cookieName}=${value}; Max-Age=${maxAge}; Path=${path}`;
535
+ }
536
+ buildCookieHeader(cookies) {
537
+ let cookiestr = '';
538
+ let separator = '';
539
+ for (const cookie in cookies) {
540
+ const cookieValue = cookies[cookie];
541
+ if (cookieValue !== undefined) {
542
+ cookiestr = `${cookiestr}${separator}${cookie}=${cookieValue}`;
543
+ separator = '; ';
544
+ }
545
+ }
546
+ return cookiestr;
547
+ }
548
+ async makeMitigateAPICall(userId, clientIP, userAgent, captchaCookie, captchaPageContentType) {
549
+ const headers = {
550
+ 'X-Netacea-API-Key': this.apiKey,
551
+ 'X-Netacea-Client-IP': clientIP,
552
+ 'user-agent': userAgent,
553
+ 'cookie': this.buildCookieHeader({
554
+ _mitatacaptcha: captchaCookie
555
+ })
556
+ };
557
+ if (userId !== undefined) {
558
+ headers['X-Netacea-UserId'] = userId;
559
+ }
560
+ if (this.captchaSiteKey !== undefined && this.captchaSecretKey !== undefined) {
561
+ headers['X-Netacea-Captcha-Site-Key'] = this.captchaSiteKey;
562
+ headers['X-Netacea-Captcha-Secret-Key'] = this.captchaSecretKey;
563
+ }
564
+ if (this.enableDynamicCaptchaContentType) {
565
+ headers['X-Netacea-Captcha-Content-Type'] = captchaPageContentType;
566
+ }
567
+ const res = await this.makeRequest({
568
+ host: this.mitigationServiceUrl,
569
+ path: '/',
570
+ headers,
571
+ method: 'GET',
572
+ timeout: this.timeout
573
+ });
574
+ return await this.getApiCallResponseFromResponse(res, userId, clientIP);
575
+ }
576
+ composeResult(body, setCookie, status, match, mitigate, captcha, isCaptchaPost, eventId) {
577
+ const bestMitigation = this.findBestMitigation(match, mitigate, captcha, isCaptchaPost);
578
+ const result = {
579
+ body,
580
+ apiCallStatus: status,
581
+ setCookie,
582
+ sessionStatus: bestMitigation.sessionStatus,
583
+ mitigation: bestMitigation.mitigation,
584
+ mitigated: [
585
+ netaceaintegrationbase_1.dictionary.mitigationTypes.block,
586
+ netaceaintegrationbase_1.dictionary.mitigationTypes.captcha,
587
+ netaceaintegrationbase_1.dictionary.mitigationTypes.captchaPass
588
+ ].includes(bestMitigation.mitigation)
589
+ };
590
+ if (this.mitigationType === netaceaintegrationbase_1.NetaceaMitigationType.INJECT) {
591
+ const injectHeaders = {
592
+ 'x-netacea-match': bestMitigation.parts.match.toString(),
593
+ 'x-netacea-mitigate': bestMitigation.parts.mitigate.toString(),
594
+ 'x-netacea-captcha': bestMitigation.parts.captcha.toString()
595
+ };
596
+ if (eventId !== undefined) {
597
+ injectHeaders['x-netacea-event-id'] = eventId;
598
+ }
599
+ result.injectHeaders = injectHeaders;
600
+ }
601
+ return result;
602
+ }
603
+ findBestMitigation(match, mitigate, captcha, isCaptchaPost) {
604
+ var _a, _b, _c;
605
+ const UNKNOWN = 'unknown';
606
+ if (!isCaptchaPost) {
607
+ if (captcha === 2) {
608
+ captcha = 4;
609
+ }
610
+ else if (captcha === 3) {
611
+ captcha = 5;
612
+ }
613
+ }
614
+ let sessionStatus = (_a = netaceaintegrationbase_1.dictionary.matchMap[match]) !== null && _a !== void 0 ? _a : (UNKNOWN + '_');
615
+ sessionStatus += (_b = netaceaintegrationbase_1.dictionary.mitigateMap[mitigate]) !== null && _b !== void 0 ? _b : UNKNOWN;
616
+ let mitigation = netaceaintegrationbase_1.dictionary.bestMitigationMap[mitigate];
617
+ if (captcha !== 0) {
618
+ sessionStatus += ',' + ((_c = netaceaintegrationbase_1.dictionary.captchaMap[captcha]) !== null && _c !== void 0 ? _c : UNKNOWN);
619
+ const bestCaptchaMitigation = netaceaintegrationbase_1.dictionary.bestMitigationCaptchaMap[captcha];
620
+ if (bestCaptchaMitigation !== undefined) {
621
+ mitigation = bestCaptchaMitigation;
622
+ }
623
+ }
624
+ if (this.mitigationType === netaceaintegrationbase_1.NetaceaMitigationType.INJECT) {
625
+ mitigation = netaceaintegrationbase_1.dictionary.mitigationTypes.none;
626
+ }
627
+ return {
628
+ sessionStatus,
629
+ mitigation,
630
+ parts: {
631
+ match,
632
+ mitigate,
633
+ captcha
634
+ }
635
+ };
636
+ }
637
+ APIError(response) {
638
+ let message = 'Unknown error';
639
+ switch (response.status) {
640
+ case 403:
641
+ message = 'Invalid credentials';
642
+ break;
643
+ case 500:
644
+ message = 'Server error';
645
+ break;
646
+ case 502:
647
+ message = 'Bad Gateway';
648
+ break;
649
+ case 503:
650
+ message = 'Service Unavailable';
651
+ break;
652
+ case 400:
653
+ message = 'Invalid request';
654
+ break;
655
+ }
656
+ return new Error(`Error reaching Netacea API (${message}), status: ${response.status}`);
657
+ }
658
+ isUrlCaptchaPost(url, method) {
659
+ return url.includes('/AtaVerifyCaptcha') && method.toLowerCase() === 'post';
660
+ }
661
+ async processMitigateRequest(args) {
662
+ const isCaptchaPost = this.isUrlCaptchaPost(args.url, args.method);
663
+ return await (isCaptchaPost
664
+ ? this.processCaptcha(args.mitata, args.clientIp, args.userAgent, await args.getBodyFn())
665
+ : this.check(args.mitata, args.clientIp, args.userAgent, args.captchaPageContentType, args.mitataCaptcha));
666
+ }
667
+ async setIngestOnlyMitataCookie(userId) {
668
+ const mitataCookie = await this.createMitata(netaceaintegrationbase_1.ingestIgnoredIpValue, userId, 0, 0, 0, ONE_DAY_IN_SECONDS);
669
+ return {
670
+ sessionStatus: '',
671
+ setCookie: [mitataCookie]
672
+ };
673
+ }
674
+ async processIngest(args) {
675
+ var _a;
676
+ if (this.secretKey === undefined) {
677
+ throw new Error('Secret key is required for ingest');
678
+ }
679
+ const cookies = this.getCookieHeader(args);
680
+ const netaceaCookie = await this.readCookie(this.netaceaCookieName, cookies);
681
+ const cookieInfo = netaceaintegrationbase_1.checkMitataCookie(netaceaCookie, netaceaintegrationbase_1.ingestIgnoredIpValue, this.secretKey);
682
+ if (!cookieInfo.isPrimaryHashValid) {
683
+ return await this.setIngestOnlyMitataCookie(undefined);
684
+ }
685
+ if (cookieInfo.requiresReissue) {
686
+ return await this.setIngestOnlyMitataCookie((_a = cookieInfo.mitata) === null || _a === void 0 ? void 0 : _a.userId);
687
+ }
688
+ return {
689
+ sessionStatus: '',
690
+ setCookie: []
691
+ };
692
+ }
201
693
  }
202
694
  exports.default = Cloudflare;
203
695
  //# sourceMappingURL=Cloudflare.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Cloudflare.js","sourceRoot":"","sources":["../../src/Cloudflare.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Cloudflare.js","sourceRoot":"","sources":["../../src/Cloudflare.ts"],"names":[],"mappings":";;AAAA,8BAA8B;AAC9B,4EA4BwC;AACxC,0DAAmD;AACnD,wCAAuC;AAEvC,yDAAqD;AACrD,uEAAqE;AAOrE,MAAM,mBAAmB,GAAG,EAAE,GAAG,EAAE,CAAA;AACnC,MAAM,kBAAkB,GAAG,mBAAmB,GAAG,EAAE,CAAA;AAEnD,SAAS,qBAAqB,CAC5B,cAAqC,EACrC,aAAiC;IAEjC,IAAI,aAAa,KAAK,SAAS,EAAE;QAC/B,OAAO,cAAc,KAAK,8CAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAA;KAClF;IACD,OAAO,aAAa,CAAA;AACtB,CAAC;AAID,MAAqB,UAAU;IAwB7B,8DAA8D;IAC9D,YAAa,IAA+B;QATzB,qBAAgB,GAAa,EAAE,CAAA;QAUhD,MAAM,EACJ,MAAM,EACN,SAAS,EACT,OAAO,GAAG,IAAI,EACd,oBAAoB,GAAG,iCAAiC,EACxD,gBAAgB,GAAG,4BAA4B,EAC/C,cAAc,GAAG,8CAAqB,CAAC,MAAM,EAC7C,cAAc,EACd,gBAAgB,EAChB,UAAU,GAAG,0CAAiB,CAAC,IAAI,EACnC,OAAO,EACP,UAAU,EACV,yBAAyB,EACzB,0BAA0B,EAC1B,iBAAiB,EACjB,wBAAwB,EACxB,+BAA+B,GAAG,KAAK,EACxC,GAAG,IAAI,CAAA;QAER,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE;YAC3C,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;SAClD;QACD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAA;QAChD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QACxC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,CAAC,UAAU,GAAG,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,0CAAiB,CAAC,IAAI,CAAA;QACtD,IAAI,CAAC,UAAU,GAAG,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,0CAAiB,CAAC,EAAE,CAAA;QACpD,IAAI,IAAI,CAAC,UAAU,KAAK,0CAAiB,CAAC,OAAO,EAAE;YACjD,IAAI,OAAO,KAAK,SAAS,EAAE;gBACzB,sCAAsC;gBACtC,OAAO,CAAC,IAAI,CAAC,8DAA8D,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;aAC9F;iBAAM;gBACL,IAAI,CAAC,OAAO,GAAG,IAAI,uBAAc,CAAC;oBAChC,GAAG,OAAO;oBACV,MAAM,EAAE,IAAI,CAAC,MAAM;iBACpB,CAAC,CAAA;aACH;SACF;QACD,IAAI,cAAc,KAAK,SAAS,IAAI,gBAAgB,KAAK,SAAS,EAAE;YAClE,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;YACpC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;SACzC;QACD,IAAI,CAAC,OAAO,GAAG,uCAAc,CAAC,OAAO,CAAC,CAAA;QAEtC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,aAAjB,iBAAiB,cAAjB,iBAAiB,GAAI,SAAS,CAAA;QACvD,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,aAAxB,wBAAwB,cAAxB,wBAAwB,GAAI,gBAAgB,CAAA;QAE5E,IAAI,CAAC,gBAAgB,GAAG;YACtB,IAAI,CAAC,iBAAiB;YACtB,IAAI,CAAC,wBAAwB;SAC9B,CAAA;QAED,IAAI,CAAC,yBAAyB,GAAG,qBAAqB,CACpD,cAAc,EACd,0BAA0B,aAA1B,0BAA0B,cAA1B,0BAA0B,GAAI,yBAAyB,CACxD,CAAA;QAED,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAA;QAEnD,IAAI,CAAC,+BAA+B,GAAG,OAAO,+BAA+B,KAAK,SAAS;YACzF,CAAC,CAAC,+BAA+B;YACjC,CAAC,CAAC,+BAA+B,KAAK,MAAM,CAAA;IAChD,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,GAAG,CACd,KAAiB,EACjB,iBAA0D;QAE1D,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAC9F,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,aAAa,EAAE,iBAAiB,CAAC,CAAA;IACnF,CAAC;IAED,YAAY;IACL,KAAK,CAAC,MAAM,CAAE,OAAgB;QACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAA;QACxD,OAAO;YACL,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAA;IACH,CAAC;IAES,KAAK,CAAC,QAAQ,CAAE,OAAgB;QACxC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAA;QACxD,IAAI,MAAM,CAAC,SAAS,EAAE;YACpB,MAAM,eAAe,GAAG,IAAI,OAAO,EAAE,CAAA;YACrC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,SAAS,EAAE;gBACrC,eAAe,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;aAC7C;YACD,IAAI,IAAI,GAAG,WAAW,CAAA;YACtB,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE;gBACnC,eAAe,CAAC,MAAM,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAA;gBAClE,IAAI,GAAG,MAAM,CAAC,IAAc,CAAA;aAC7B;YAED,OAAO;gBACL,QAAQ,EAAE,IAAI,QAAQ,CAAC,IAAI,EAAE;oBAC3B,MAAM,EAAE,GAAG;oBACX,UAAU,EAAE,WAAW;oBACvB,OAAO,EAAE,eAAe;iBACzB,CAAC;gBACF,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,aAAa,EAAE,MAAM,CAAC,aAAa;aACpC,CAAA;SACF;QACD,OAAO;YACL,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,aAAa,EAAE,MAAM,CAAC,aAAa;SACpC,CAAA;IACH,CAAC;IAEM,KAAK,CAAC,MAAM,CAAE,OAAgB,EAAE,QAAkB;;QACvD,MAAM,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;QAC9E,MAAM,YAAY,GAAG,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QAC3G,IAAI,MAAM,SAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,mCAAI,EAAE,CAAA;QAC9E,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,EAAE,EAAE;YACzC,MAAM,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;YAC5E,MAAM,SAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,mCAAI,EAAE,CAAA;SAC3E;QAED,MAAM,EACJ,KAAK,EAAE,QAAQ,EAAE,OAAO,EACzB,SAAG,0CAAiB,CAAC,MAAM,CAAC,mCAAI;YAC/B,KAAK,EAAE,CAAC;YACR,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,CAAC;SACX,CAAA;QAED,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAC/C,KAAK,EACL,QAAQ,EACR,OAAO,EACP,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CACnD,CAAA;QAED,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC;YAC3B,SAAS,EAAE,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,CAAC;YAChF,EAAE,EAAE,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,OAAO,EAAE,kBAAkB,EAAE,EAAE,CAAC;YACzE,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,IAAI,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ;YACnC,QAAQ,EAAE,OAAC,OAAO,CAAC,EAAE,mCAAI,EAAE,CAAC,CAAC,YAAY;YACzC,OAAO,EAAE,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC;YACrE,WAAW,EAAE,GAAG;YAChB,aAAa;YACb,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE;YAClC,SAAS,EAAE,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,CAAC;YAC3E,YAAY,EAAE,MAAM;YACpB,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;YACnD,kBAAkB,EAAE,IAAI,CAAC,OAAO;SACjC,CAAC,CAAA;IACJ,CAAC;IAES,KAAK,CAAC,WAAW,CAAE,EAC3B,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,OAAO,EACP,IAAI,EACY;QAChB,MAAM,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,EAAE,CAAA;QAC5B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;YAC/B,MAAM,EAAE,IAAI,EAAE,OAAO;SACtB,CAAC,CAAA;QACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAC1C,MAAM,eAAe,GAA8B,EAAE,CAAA;QACrD,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE;YAC3C,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAC7C,IAAI,SAAS,KAAK,IAAI,EAAE;gBACtB,eAAe,CAAC,KAAK,CAAC,GAAG,SAAS,CAAA;aACnC;SACF;QACD,OAAO;YACL,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,IAAI,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE;YAC3B,OAAO,EAAE,eAAe;SACzB,CAAA;IACH,CAAC;IAED,UAAU;IACF,oBAAoB,CAAE,QAAkB,EAAE,aAAkD;;QAClG,IAAI,aAAa,KAAK,SAAS,EAAE;YAC/B,OAAO,QAAQ,CAAA;SAChB;QACD,MAAM,iBAAiB,SAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,mCAAI,EAAE,CAAA;QAClE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAC7C,IAAI,aAAa,CAAC,SAAS,KAAK,SAAS,EAAE;YACzC,KAAK,MAAM,MAAM,IAAI,aAAa,CAAC,SAAS,EAAE;gBAC5C,qFAAqF;gBACrF,qEAAqE;gBACrE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;oBACrD,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;iBACrC;aACF;SACF;QACD,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE;YACjC,OAAO;YACP,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;SAChC,CAAC,CAAA;IACJ,CAAC;IAEO,mBAAmB,CAAE,OAAgB,EAAE,aAA6B;QAC1E,IACE,aAAa,CAAC,aAAa,KAAK,SAAS,EACzC;YACA,OAAO,OAAO,CAAA;SACf;QACD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC5C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE;YACtE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;SACxB;QACD,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE;YAC1B,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,OAAgB,EAChB,aAAkD,EAClD,iBAA0D;QAE1D,IAAI,aAAa,KAAK,SAAS,EAAE;YAC/B,IAAI,IAAI,CAAC,cAAc,KAAK,8CAAqB,CAAC,QAAQ,EAAE;gBAC1D,aAAa,GAAG,aAA2C,CAAA;gBAC3D,IAAI,aAAa,CAAC,QAAQ,KAAK,SAAS,EAAE;oBACxC,OAAO,aAAa,CAAC,QAAQ,CAAA;iBAC9B;aACF;iBAAM,IAAI,IAAI,CAAC,cAAc,KAAK,8CAAqB,CAAC,MAAM,EAAE;gBAC/D,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAA+B,CAAC,CAAA;aAC7E;SACF;QAED,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAA;QACjD,OAAO,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAA;IAC3D,CAAC;IAEO,uBAAuB,CAAE,OAAgB,EAAE,GAAW,EAAE,aAAqB,EAAE;;QACrF,aAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,mCAAI,UAAU,CAAA;IACvC,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAE,OAAgB;;QACnD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC7C,MAAM,YAAY,SAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,mCAAI,EAAE,CAAA;QACjF,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAA;QACnF,MAAM,QAAQ,SAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,mCAAI,EAAE,CAAA;QAC9D,MAAM,SAAS,SAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,mCAAI,EAAE,CAAA;QACzD,MAAM,MAAM,SAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,mCAAI,EAAE,CAAA;QAClD,MAAM,sBAAsB,GAAG,MAAM,mDAAyB,CAAC,MAAM,CAAC,CAAA;QAEtE,OAAO,MAAM,IAAI,CAAC,sBAAsB,CAAC;YACvC,QAAQ;YACR,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;YAC1D,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,YAAY;YACpB,aAAa;YACb,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,SAAS;YACT,sBAAsB;SACvB,CAAC,CAAA;IACJ,CAAC;IAEO,KAAK,CAAC,YAAY,CAAE,OAAqD,EAAE,OAAe;QAChG,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAClE,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAA;YAC/C,CAAC,CAAC,CAAC,CAAC,CAAA;IACN,CAAC;IAEM,eAAe,CAAE,IAAa;QACnC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC;IAES,KAAK,CAAC,kBAAkB,CAAE,WAAmB;QACrD,IAAI,IAAI,CAAC,mBAAmB,KAAK,SAAS,EAAE;YAC1C,OAAO,MAAM,0BAAO,CAAC,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAA;SAC5D;QACD,OAAO,WAAW,CAAA;IACpB,CAAC;IAES,KAAK,CAAC,kBAAkB,CAAE,oBAA4B;QAC9D,IAAI,IAAI,CAAC,mBAAmB,KAAK,SAAS,EAAE;YAC1C,OAAO,MAAM,0BAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAA;SACrE;QACD,OAAO,oBAAoB,CAAA;IAC7B,CAAC;IAED;;OAEG;IAEI,KAAK,CAAC,aAAa,CAAE,IAAiB;QAC3C,IAAI;YACF,QAAQ,IAAI,CAAC,cAAc,EAAE;gBAC3B,KAAK,8CAAqB,CAAC,QAAQ;oBACjC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;gBAClC,KAAK,8CAAqB,CAAC,MAAM;oBAC/B,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBAChC,KAAK,8CAAqB,CAAC,MAAM;oBAC/B,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;gBACvC;oBACE,4EAA4E;oBAC5E,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,CAAC,cAAc,iBAAiB,CAAC,CAAA;aAC1F;SACF;QAAC,OAAO,CAAC,EAAE;YACV,sCAAsC;YACtC,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAA;YAC3C,OAAO;gBACL,aAAa,EAAE;oBACb,mBAAmB,EAAE,GAAG;oBACxB,iBAAiB,EAAE,GAAG;oBACtB,oBAAoB,EAAE,GAAG;iBAC1B;gBACD,aAAa,EAAE,EAAE;aAClB,CAAA;SACF;IACH,CAAC;IAED;;;;;;;;OAQG;IACO,KAAK,CAAC,UAAU,CACxB,UAAkB,EAClB,OAA6C;QAE7C,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE;YAC7C,OAAO,SAAS,CAAA;SACjB;QAED,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC/B,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;SAC7D;QAED,MAAM,WAAW,GAAG,GAAG,UAAU,GAAG,CAAA;QACpC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,uDAAuD;YACvD,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;YAEtD,IAAI,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;gBACzC,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;gBAE3D,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;oBAC9C,IAAI;wBACF,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAA;qBAClD;oBAAC,OAAO,EAAE,EAAE;wBACX,OAAO,SAAS,CAAA;qBACjB;iBACF;gBAED,OAAO,WAAW,CAAA;aACnB;SACF;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAES,KAAK,CAAC,UAAU,CAAE,IAAgB;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;QACvC,IAAI,IAAI,CAAC,UAAU,KAAK,0CAAiB,CAAC,OAAO,EAAE;YACjD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;gBAC9B,sCAAsC;gBACtC,OAAO,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAA;gBAC9E,OAAM;aACP;YACD,IAAI;gBACF,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;oBACxB,GAAG,IAAI;oBACP,MAAM,EAAE,IAAI,CAAC,MAAM;iBACpB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;aACrB;YAAC,OAAO,CAAC,EAAE;gBACV,sCAAsC;gBACtC,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAG,CAAW,CAAC,OAAO,CAAC,CAAA;aACvD;SACF;aAAM;YACL,MAAM,OAAO,GAAG;gBACd,mBAAmB,EAAE,IAAI,CAAC,MAAM;gBAChC,cAAc,EAAE,kBAAkB;aACnC,CAAA;YACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;YACvD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;gBACtB,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;aACzB;SACF;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAE,OAAkC,EAAE,IAAuB;QAC1F,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC;YAC5B,IAAI,EAAE,IAAI,CAAC,gBAAgB;YAC3B,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,GAAG;YACT,OAAO;YACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC1B,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAA;IACJ,CAAC;IAEO,iBAAiB,CAAE,EACzB,EAAE,EACF,SAAS,EACT,MAAM,EACN,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,SAAS,EACT,WAAW,EACX,YAAY,EACZ,aAAa,EACb,eAAe,EACf,kBAAkB,EACP;;QACX,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;QACtB,kCAAkC;QAClC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YACnB,IAAI,GAAG,IAAI,IAAI,EAAE,CAAA;SAClB;QACD,IAAI,WAA+B,CAAA;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACjC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACxB,WAAW,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAA;SACjC;QACD,MAAM,UAAU,GAAW,SAAS,CAAC,CAAC,CAAC,CAAA;QACvC,MAAM,MAAM,SAAG,0CAAiB,CAAC,YAAY,CAAC,0CAAE,MAAM,CAAA;QACtD,MAAM,GAAG,GAAa;YACpB,MAAM;YACN,MAAM;YACN,YAAY,EAAE,qCAAY,CAAC,SAAS,CAAC;YACrC,UAAU,EAAE,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;YAChD,SAAS,EAAE,GAAG,MAAM,IAAI,UAAU,GAAG,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EAAE,IAAI,QAAQ,EAAE;YACpE,cAAc,EAAE,qCAAY,CAAC,WAAW,CAAC;YACzC,kBAAkB,EAAE,eAAe;YACnC,qBAAqB,EAAE,kBAAkB;YACzC,QAAQ,EAAE,EAAE;YACZ,YAAY,EAAE,SAAS;YACvB,SAAS,EAAE,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa;YAC3D,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE;YACzB,QAAQ,EAAE,GAAG,CAAC,aAAa,EAAE;YAC7B,6CAA6C;YAC7C,YAAY,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC;YACtD,MAAM,EAAE,UAAU;YAClB,QAAQ;YACR,OAAO,EAAE,WAAW;YACpB,SAAS,EAAE,MAAM;SAClB,CAAA;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAEO,iBAAiB,CAAE,EACzB,EAAE,EACF,SAAS,EACT,MAAM,EACN,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,SAAS,EACT,WAAW,EACX,YAAY,EACZ,aAAa,EACb,eAAe,EACf,kBAAkB,EACP;QACX,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;QAC1C,OAAO;YACL,OAAO,EAAE,GAAG,MAAM,IAAI,IAAI,IAAI,QAAQ,EAAE;YACxC,SAAS,EAAE,SAAS;YACpB,MAAM,EAAE,EAAE;YACV,SAAS,EAAE,SAAS;YACpB,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,EAAE;YACpC,SAAS,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,EAAE;YAChC,OAAO,EAAE,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO;YACvC,mBAAmB,EAAE,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,EAAE;YACvC,wBAAwB,EAAE,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,EAAE;YAC7C,eAAe,EAAE,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,EAAE;YACtC,kBAAkB,EAAE,kBAAkB,aAAlB,kBAAkB,cAAlB,kBAAkB,GAAI,EAAE;SAC7C,CAAA;IACH,CAAC;IAES,eAAe,CAAE,IAAgB;QACzC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAA;QAC7D,IAAI,IAAI,CAAC,UAAU,KAAK,0CAAiB,CAAC,EAAE,EAAE;YAC5C,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;SACpC;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC;IAES,KAAK,CAAC,KAAK,CACnB,aAAiC,EACjC,QAAgB,EAChB,SAAiB,EACjB,sBAA8B,EAC9B,aAAsB;;QAEtB,IAAI,MAAc,EAAE,KAAa,EAAE,QAAgB,EAAE,OAAe,EAClE,IAAwB,EAAE,SAAmB,EAAE,OAA2B,CAAA;QAC5E,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;SACtD;QACD,MAAM,UAAU,GAAG,0CAAiB,CAAC,aAAa,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QAC7E,IAAI,CAAC,UAAU,CAAC,kBAAkB,IAAI,UAAU,CAAC,eAAe,EAAE;YAChE,oCAAoC;YACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,OAC3C,UAAU,CAAC,MAAM,0CAAE,MAAM,EACzB,QAAQ,EACR,SAAS,EACT,aAAa,EACb,sBAAsB,CACvB,CAAA;YACD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;YACtB,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;YACpB,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;YAC1B,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;YACxB,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;YAClB,SAAS,GAAG;gBACV,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,QAAE,UAAU,CAAC,MAAM,0CAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC;aAC5G,CAAA;YACD,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;SACzB;aAAM;YACL,MAAM,GAAG,CAAC,CAAC,CAAA;YACX,KAAK,GAAG,UAAU,CAAC,KAAK,CAAA;YACxB,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAA;YAC9B,OAAO,GAAG,UAAU,CAAC,OAAO,CAAA;YAC5B,IAAI,GAAG,SAAS,CAAA;YAChB,SAAS,GAAG,EAAE,CAAA;SACf;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;IAC9F,CAAC;IAES,KAAK,CAAC,YAAY,CAC1B,QAAgB,EAChB,MAA0B,EAC1B,KAAa,EACb,QAAgB,EAChB,OAAe,EACf,MAAM,GAAG,KAAK,EACd,SAA6B,SAAS;QAEtC,0BAA0B;QAC1B,MAAM,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAClD,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAA;QACrG,MAAM,YAAY,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,WAAW,CAAA;QAE1E,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;SAC3D;QACD,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACtD,MAAM,WAAW,GAAG,2CAAkB,CACpC,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,IAAI,CAAC,SAAS,EACd,UAAU,CACX,CAAA;QACD,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,iBAAiB,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3F,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,aAAiC,EACjC,QAAgB,EAChB,SAAiB,EACjB,WAAgB;QAEhB,MAAM,EACJ,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAClD,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAA;QAClF,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;IACpF,CAAC;IAEO,KAAK,CAAC,2BAA2B,CAAE,OAAkC;QAC3E,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,mCAAU,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE;YAC1F,MAAM,aAAa,GAAG,OAAO,CAAC,mCAAU,CAAC,cAAc,CAAC,aAAa,CAAC,CAAA;YACtE,MAAM,mBAAmB,GAAG,QAAQ,CAAC,OAAO,CAAC,mCAAU,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,CAAA;YAC5F,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAC1D,IAAI,CAAC,wBAAwB,EAC7B,aAAa,EACb,mBAAmB,CACpB,CAAA;YAED,IAAI,mBAAmB,KAAK,SAAS,EAAE;gBACrC,OAAO,mBAAmB,CAAA;aAC3B;SACF;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,aAAiC,EACjC,QAAgB,EAChB,SAAiB,EACjB,WAAgB;QAEhB,MAAM,OAAO,GAA8B;YACzC,mBAAmB,EAAE,IAAI,CAAC,MAAM;YAChC,qBAAqB,EAAE,QAAQ;YAC/B,YAAY,EAAE,SAAS;YACvB,cAAc,EAAE,kDAAkD;SACnE,CAAA;QAED,MAAM,MAAM,GAAG,0CAAiB,CAAC,aAAa,CAAC,CAAA;QAC/C,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,OAAO,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAA;SAC5C;QAED,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE;YAC5E,OAAO,CAAC,4BAA4B,CAAC,GAAG,IAAI,CAAC,cAAc,CAAA;YAC3D,OAAO,CAAC,8BAA8B,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAA;SAChE;QAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;YACjC,IAAI,EAAE,IAAI,CAAC,oBAAoB;YAC/B,IAAI,EAAE,mBAAmB;YACzB,OAAO;YACP,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAA;QACF,OAAO,MAAM,IAAI,CAAC,8BAA8B,CAAC,GAAG,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IACjF,CAAC;IAEO,KAAK,CAAC,8BAA8B,CAC1C,QAA6B,EAC7B,MAA0B,EAC1B,QAAgB;QAEhB,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;YAC3B,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;SAC9B;QACD,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,mCAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;QACzE,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,mCAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC/E,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,mCAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAA;QAE7E,IAAI,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,mCAAU,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAA;QACrF,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE;YACvB,YAAY,GAAG,KAAK,CAAA;SACrB;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;QAClF,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAE9E,MAAM,SAAS,GAAG;YAChB,MAAM;YACN,aAAa;SACd,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,SAAS,CAAa,CAAA;QAE1C,MAAM,OAAO,GAAuB,QAAQ,CAAC,OAAO,CAAC,mCAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;QACvF,OAAO;YACL,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,KAAK;YACL,QAAQ;YACR,OAAO;YACP,SAAS;YACT,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,OAAO;YACP,YAAY;SACb,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,UAAkB,EAClB,KAAa,EACb,MAAc,EACd,IAAI,GAAG,GAAG;QAEV,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YAC9C,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;YAC1D,OAAO,GAAG,UAAU,IAAI,aAAa,aAAa,MAAM,UAAU,IAAI,EAAE,CAAA;SACzE;QACD,OAAO,GAAG,UAAU,IAAI,KAAK,aAAa,MAAM,UAAU,IAAI,EAAE,CAAA;IAClE,CAAC;IAEO,iBAAiB,CAAE,OAA8C;QACvE,IAAI,SAAS,GAAG,EAAE,CAAA;QAClB,IAAI,SAAS,GAAG,EAAE,CAAA;QAClB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;YACnC,IAAI,WAAW,KAAK,SAAS,EAAE;gBAC7B,SAAS,GAAG,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,IAAI,WAAW,EAAE,CAAA;gBAC9D,SAAS,GAAG,IAAI,CAAA;aACjB;SACF;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,MAA0B,EAC1B,QAAgB,EAChB,SAAiB,EACjB,aAAiC,EACjC,sBAA8B;QAE9B,MAAM,OAAO,GAA8B;YACzC,mBAAmB,EAAE,IAAI,CAAC,MAAM;YAChC,qBAAqB,EAAE,QAAQ;YAC/B,YAAY,EAAE,SAAS;YACvB,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC;gBAC/B,cAAc,EAAE,aAAa;aAC9B,CAAC;SACH,CAAA;QAED,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,OAAO,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAA;SACrC;QAED,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE;YAC5E,OAAO,CAAC,4BAA4B,CAAC,GAAG,IAAI,CAAC,cAAc,CAAA;YAC3D,OAAO,CAAC,8BAA8B,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAA;SAChE;QAED,IAAI,IAAI,CAAC,+BAA+B,EAAE;YACxC,OAAO,CAAC,gCAAgC,CAAC,GAAG,sBAAsB,CAAA;SACnE;QAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;YACjC,IAAI,EAAE,IAAI,CAAC,oBAAoB;YAC/B,IAAI,EAAE,GAAG;YACT,OAAO;YACP,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAA;QAEF,OAAO,MAAM,IAAI,CAAC,8BAA8B,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;IACzE,CAAC;IAEO,aAAa,CAAE,IAAwB,EAC7C,SAAmB,EACnB,MAAc,EACd,KAAa,EACb,QAAgB,EAChB,OAAe,EACf,aAAsB,EACtB,OAAgB;QAEhB,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA;QACvF,MAAM,MAAM,GAA0B;YACpC,IAAI;YACJ,aAAa,EAAE,MAAM;YACrB,SAAS;YACT,aAAa,EAAE,cAAc,CAAC,aAAa;YAC3C,UAAU,EAAE,cAAc,CAAC,UAAU;YACrC,SAAS,EAAE;gBACT,mCAAU,CAAC,eAAe,CAAC,KAAK;gBAChC,mCAAU,CAAC,eAAe,CAAC,OAAO;gBAClC,mCAAU,CAAC,eAAe,CAAC,WAAW;aACvC,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC;SACtC,CAAA;QACD,IAAI,IAAI,CAAC,cAAc,KAAK,8CAAqB,CAAC,MAAM,EAAE;YACxD,MAAM,aAAa,GAAkB;gBACnC,iBAAiB,EAAE,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE;gBACxD,oBAAoB,EAAE,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBAC9D,mBAAmB,EAAE,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE;aAC7D,CAAA;YACD,IAAI,OAAO,KAAK,SAAS,EAAE;gBACzB,aAAa,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAA;aAC9C;YACD,MAAM,CAAC,aAAa,GAAG,aAAa,CAAA;SACrC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAES,kBAAkB,CAAE,KAAa,EACzC,QAAgB,EAChB,OAAe,EACf,aAAsB;;QAEtB,MAAM,OAAO,GAAG,SAAS,CAAA;QACzB,IAAI,CAAC,aAAa,EAAE;YAClB,IAAI,OAAO,KAAK,CAAC,EAAE;gBACjB,OAAO,GAAG,CAAC,CAAA;aACZ;iBAAM,IAAI,OAAO,KAAK,CAAC,EAAE;gBACxB,OAAO,GAAG,CAAC,CAAA;aACZ;SACF;QAED,IAAI,aAAa,SAAG,mCAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,mCAAI,CAAC,OAAO,GAAG,GAAG,CAAC,CAAA;QACjE,aAAa,UAAI,mCAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,mCAAI,OAAO,CAAA;QAC5D,IAAI,UAAU,GAAG,mCAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;QACvD,IAAI,OAAO,KAAK,CAAC,EAAE;YACjB,aAAa,IAAI,GAAG,GAAG,OAAC,mCAAU,CAAC,UAAU,CAAC,OAAO,CAAC,mCAAI,OAAO,CAAC,CAAA;YAClE,MAAM,qBAAqB,GAAG,mCAAU,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAA;YAC1E,IAAI,qBAAqB,KAAK,SAAS,EAAE;gBACvC,UAAU,GAAG,qBAAqB,CAAA;aACnC;SACF;QACD,IAAI,IAAI,CAAC,cAAc,KAAK,8CAAqB,CAAC,MAAM,EAAE;YACxD,UAAU,GAAG,mCAAU,CAAC,eAAe,CAAC,IAAI,CAAA;SAC7C;QACD,OAAO;YACL,aAAa;YACb,UAAU;YACV,KAAK,EAAE;gBACL,KAAK;gBACL,QAAQ;gBACR,OAAO;aACR;SACF,CAAA;IACH,CAAC;IAES,QAAQ,CAAE,QAAyB;QAC3C,IAAI,OAAO,GAAG,eAAe,CAAA;QAC7B,QAAQ,QAAQ,CAAC,MAAM,EAAE;YACvB,KAAK,GAAG;gBACN,OAAO,GAAG,qBAAqB,CAAA;gBAC/B,MAAK;YACP,KAAK,GAAG;gBACN,OAAO,GAAG,cAAc,CAAA;gBACxB,MAAK;YACP,KAAK,GAAG;gBACN,OAAO,GAAG,aAAa,CAAA;gBACvB,MAAK;YACP,KAAK,GAAG;gBACN,OAAO,GAAG,qBAAqB,CAAA;gBAC/B,MAAK;YACP,KAAK,GAAG;gBACN,OAAO,GAAG,iBAAiB,CAAA;gBAC3B,MAAK;SACR;QACD,OAAO,IAAI,KAAK,CAAC,+BAA+B,OAAO,cAAc,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;IACzF,CAAC;IAES,gBAAgB,CAAE,GAAW,EAAE,MAAc;QACrD,OAAO,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,MAAM,CAAA;IAC7E,CAAC;IAES,KAAK,CAAC,sBAAsB,CACpC,IAAqE;QAErE,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAClE,OAAO,MAAM,CAAC,aAAa;YACzB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACzF,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,aAAa,CAAC,CAC1G,CAAA;IACH,CAAC;IAES,KAAK,CAAC,yBAAyB,CACvC,MAA0B;QAE1B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAC1C,6CAAoB,EACpB,MAAM,EACN,CAAC,EAAE,CAAC,EAAE,CAAC,EACP,kBAAkB,CACnB,CAAA;QAED,OAAO;YACL,aAAa,EAAE,EAAE;YACjB,SAAS,EAAE,CAAC,YAAY,CAAC;SAC1B,CAAA;IACH,CAAC;IAES,KAAK,CAAC,aAAa,CAAE,IAAiB;;QAC9C,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;SACrD;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;QAC1C,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAA;QAE5E,MAAM,UAAU,GAAG,0CAAiB,CAAC,aAAa,EAAE,6CAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QACzF,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE;YAClC,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAA;SACvD;QAED,IAAI,UAAU,CAAC,eAAe,EAAE;YAC9B,OAAO,MAAM,IAAI,CAAC,yBAAyB,OAAC,UAAU,CAAC,MAAM,0CAAE,MAAM,CAAC,CAAA;SACvE;QAED,OAAO;YACL,aAAa,EAAE,EAAE;YACjB,SAAS,EAAE,EAAE;SACd,CAAA;IACH,CAAC;CAKF;AAn5BD,6BAm5BC"}
@@ -0,0 +1 @@
1
+ export declare function getCaptchaPageContentType(acceptHeader: string): Promise<string>;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCaptchaPageContentType = void 0;
4
+ async function getCaptchaPageContentType(acceptHeader) {
5
+ const acceptedContetType = acceptHeader.toLowerCase();
6
+ const acceptsHtml = acceptedContetType.includes('application/html') || acceptedContetType.includes('text/html');
7
+ const acceptsJson = acceptedContetType.includes('application/json');
8
+ return !acceptsHtml && acceptsJson ? 'application/json' : 'text/html';
9
+ }
10
+ exports.getCaptchaPageContentType = getCaptchaPageContentType;
11
+ //# sourceMappingURL=checkCaptchaContentType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkCaptchaContentType.js","sourceRoot":"","sources":["../../src/checkCaptchaContentType.ts"],"names":[],"mappings":";;;AAAO,KAAK,UAAU,yBAAyB,CAAE,YAAoB;IACnE,MAAM,kBAAkB,GAAG,YAAY,CAAC,WAAW,EAAE,CAAA;IACrD,MAAM,WAAW,GAAG,kBAAkB,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;IAC/G,MAAM,WAAW,GAAG,kBAAkB,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAA;IACnE,OAAO,CAAC,WAAW,IAAI,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAA;AACvE,CAAC;AALD,8DAKC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@netacea/cloudflare",
3
- "version": "5.1.16",
3
+ "version": "5.1.18",
4
4
  "description": "Netacea Cloudflare CDN Integration",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",
@@ -16,7 +16,8 @@
16
16
  },
17
17
  "license": "ISC",
18
18
  "dependencies": {
19
- "@netacea/netaceaintegrationbase": "^1.16.14",
19
+ "@netacea/kinesisingest": "^1.4.17",
20
+ "@netacea/netaceaintegrationbase": "^1.16.16",
20
21
  "jose": "^4.11.2"
21
22
  },
22
23
  "devDependencies": {
@@ -33,5 +34,5 @@
33
34
  "tsconfig-paths": "^3.9.0",
34
35
  "typescript": "^3.9.7"
35
36
  },
36
- "gitHead": "77763642370beabc8669a9cb95996b2c0beecb00"
37
+ "gitHead": "418ad84288b37cc1c65423485badb55d64e894d0"
37
38
  }