@netacea/akamai 5.0.50 → 5.0.52

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.0.52 (2023-09-21)
7
+
8
+ **Note:** Version bump only for package @netacea/akamai
9
+
10
+
11
+
12
+
13
+
14
+ ## 5.0.51 (2023-09-21)
15
+
16
+ **Note:** Version bump only for package @netacea/akamai
17
+
18
+
19
+
20
+
21
+
6
22
  ## 5.0.50 (2023-09-15)
7
23
 
8
24
  **Note:** Version bump only for package @netacea/akamai
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@netacea/akamai",
3
- "version": "5.0.50",
3
+ "version": "5.0.52",
4
4
  "description": "Netacea Akamai CDN Integration",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",
@@ -20,7 +20,7 @@
20
20
  },
21
21
  "license": "ISC",
22
22
  "dependencies": {
23
- "@netacea/netaceaintegrationbase": "^1.16.56",
23
+ "@netacea/netaceaintegrationbase": "^1.16.58",
24
24
  "buffer": "^6.0.3",
25
25
  "jssha": "^3.3.0"
26
26
  },
@@ -67,5 +67,5 @@
67
67
  "tslib": "^2.0.3",
68
68
  "typescript": "^4.0.3"
69
69
  },
70
- "gitHead": "c9fda244751fa68f83dfd4b84c61670e4323a265"
70
+ "gitHead": "1e9c733b7c8c7a95bcf92dafdac2fbb57378250f"
71
71
  }
@@ -62,6 +62,8 @@ export default class AkamaiLegacyWorker implements NetaceaWorker<RequestArgs, Re
62
62
  protected useCaptchaRelAssets: boolean;
63
63
  protected netaceaCookieAttributes: string;
64
64
  protected netaceaCaptchaCookieAttributes: string;
65
+ protected netaceaCaptchaPath?: string;
66
+ protected captchaContentNegotiation: boolean;
65
67
  protected logger: Logger;
66
68
  protected httpRequest: AkamaiHttpRequestFn;
67
69
  constructor(config: AkamaiWorkerConfig, deps: InjectedDependencies);
@@ -99,7 +101,7 @@ export default class AkamaiLegacyWorker implements NetaceaWorker<RequestArgs, Re
99
101
  private constructV2WebLog;
100
102
  private constructV1WebLog;
101
103
  protected constructWebLog(args: IngestArgs): WebLog | V2WebLog;
102
- protected check(netaceaCookie: string | undefined, clientIP: string, userAgent: string, captchaCookie?: string): Promise<ComposeResultResponse>;
104
+ protected check(netaceaCookie: string | undefined, clientIP: string, userAgent: string, accept: string, host: string, captchaCookie?: string): Promise<ComposeResultResponse>;
103
105
  private processCaptcha;
104
106
  private getMitataCaptchaFromHeaders;
105
107
  private makeCaptchaAPICall;
@@ -111,7 +113,10 @@ export default class AkamaiLegacyWorker implements NetaceaWorker<RequestArgs, Re
111
113
  protected findBestMitigation(match: number, mitigate: number, captcha: number, isCaptchaPost: boolean): FindBestMitigationResponse;
112
114
  protected APIError(response: APICallResponse): Error;
113
115
  private routeRequestToNetaceaProxy;
114
- protected processMitigateRequest(args: ProcessMitigateRequestArgs): Promise<ComposeResultResponse>;
116
+ protected processMitigateRequest(args: ProcessMitigateRequestArgs & {
117
+ accept: string;
118
+ host: string;
119
+ }): Promise<ComposeResultResponse>;
115
120
  protected setIngestOnlyMitataCookie(userId: string | undefined): Promise<NetaceaResponseBase>;
116
121
  protected processIngest(args: RequestArgs): Promise<NetaceaResponseBase>;
117
122
  }
@@ -4,6 +4,7 @@ import { CachedEncryption } from './CachedEncryption';
4
4
  import * as pack from '../package.json';
5
5
  import { isUrlCaptchaPost, isUrlCaptchaAssetsGet } from './netaceaPaths';
6
6
  import { extractAndRemoveCookieAttr } from './netaceaCookieAttributes';
7
+ import { acceptHeaderToNetaceaContentType, isCaptchaJsonResponse, mitSvcJsonResponseToUrlResponse } from './helpers/captchaContentNegotiation';
7
8
  const ONE_HOUR_IN_SECONDS = 60 * 60;
8
9
  const ONE_DAY_IN_SECONDS = ONE_HOUR_IN_SECONDS * 24;
9
10
  const DEFAULT_MITIGATION_TYPE = NetaceaMitigationType.MITIGATE;
@@ -16,7 +17,7 @@ export default class AkamaiLegacyWorker {
16
17
  this.encryptedCookies = [];
17
18
  this.httpRequest = deps.httpRequest;
18
19
  this.logger = deps.logger;
19
- const { apiKey, captchaSecretKey, captchaSiteKey, cookieEncryptionKey, enableIngestProxyPass = true, enableMitigationProxyPass = true, ingestServiceUrl = 'https://ingest.netacea.net', ingestType = NetaceaIngestType.HTTP, kinesis, logVersion, mitigationServiceUrl = 'https://mitigations.netacea.net', mitigationType = NetaceaMitigationType.INGEST, netaceaCaptchaCookieAttributes, netaceaCaptchaCookieName, netaceaCookieAttributes, netaceaCookieExpirySeconds, netaceaCookieName, secretKey, timeout = 3000, useCaptchaRelAssets = false } = config;
20
+ const { apiKey, captchaSecretKey, captchaSiteKey, cookieEncryptionKey, enableIngestProxyPass = true, enableMitigationProxyPass = true, ingestServiceUrl = 'https://ingest.netacea.net', ingestType = NetaceaIngestType.HTTP, kinesis, logVersion, mitigationServiceUrl = 'https://mitigations.netacea.net', mitigationType = NetaceaMitigationType.INGEST, netaceaCaptchaCookieAttributes, netaceaCaptchaCookieName, netaceaCookieAttributes, netaceaCookieExpirySeconds, netaceaCookieName, netaceaCaptchaPath, secretKey, captchaContentNegotiation, timeout = 3000, useCaptchaRelAssets = false } = config;
20
21
  this.netaceaCookieAttributes = netaceaCookieAttributes;
21
22
  this.netaceaCaptchaCookieAttributes = netaceaCaptchaCookieAttributes;
22
23
  this.enableMitigationProxyPass = enableMitigationProxyPass;
@@ -44,6 +45,8 @@ export default class AkamaiLegacyWorker {
44
45
  this.timeout = correctTimeout(timeout);
45
46
  this.netaceaCookieName = netaceaCookieName ?? '_mitata';
46
47
  this.netaceaCaptchaCookieName = netaceaCaptchaCookieName ?? '_mitatacaptcha';
48
+ this.netaceaCaptchaPath = netaceaCaptchaPath;
49
+ this.captchaContentNegotiation = captchaContentNegotiation ?? false;
47
50
  this.encryptedCookies = [
48
51
  this.netaceaCookieName,
49
52
  this.netaceaCaptchaCookieName
@@ -111,6 +114,9 @@ export default class AkamaiLegacyWorker {
111
114
  request.setVariable(protoMitataVariableName, protoMitataJson);
112
115
  }
113
116
  const body = mitResult.response?.body ?? '';
117
+ if (isCaptchaJsonResponse(body)) {
118
+ headers['content-type'] = 'application/json';
119
+ }
114
120
  request.respondWith(status, headers, body);
115
121
  }
116
122
  else {
@@ -333,6 +339,7 @@ export default class AkamaiLegacyWorker {
333
339
  const mitataCaptcha = await this.readCookie(this.netaceaCaptchaCookieName, cookies);
334
340
  const clientIp = this.getIP(request);
335
341
  const userAgent = this.getHeaderValueOrDefault(request, 'user-agent');
342
+ const accept = this.getHeaderValueOrDefault(request, 'accept', 'text/html');
336
343
  return await this.processMitigateRequest({
337
344
  clientIp,
338
345
  getBodyFn: async () => '',
@@ -340,7 +347,9 @@ export default class AkamaiLegacyWorker {
340
347
  mitata: mitataCookie,
341
348
  mitataCaptcha,
342
349
  url: request.path,
343
- userAgent
350
+ userAgent,
351
+ accept,
352
+ host: request.host
344
353
  });
345
354
  }
346
355
  async getMitHeaders(request, mitSvcResponse) {
@@ -601,14 +610,14 @@ export default class AkamaiLegacyWorker {
601
610
  }
602
611
  return this.constructV1WebLog(args);
603
612
  }
604
- async check(netaceaCookie, clientIP, userAgent, captchaCookie) {
613
+ async check(netaceaCookie, clientIP, userAgent, accept, host, captchaCookie) {
605
614
  let status, match, mitigate, captcha, body, setCookie, eventId;
606
615
  if (this.secretKey === undefined) {
607
616
  throw new Error('Secret key is required to mitigate');
608
617
  }
609
618
  const cookieInfo = await checkMitataCookie(netaceaCookie, clientIP, this.secretKey);
610
619
  if (!cookieInfo.isPrimaryHashValid || cookieInfo.requiresReissue) {
611
- const result = await this.makeMitigateAPICall(cookieInfo.mitata?.userId, clientIP, userAgent, captchaCookie);
620
+ const result = await this.makeMitigateAPICall(cookieInfo.mitata?.userId, clientIP, userAgent, captchaCookie, accept, host);
612
621
  status = result.status;
613
622
  match = result.match;
614
623
  mitigate = result.mitigate;
@@ -717,7 +726,7 @@ export default class AkamaiLegacyWorker {
717
726
  }
718
727
  return cookiestr;
719
728
  }
720
- async makeMitigateAPICall(userId, clientIP, userAgent, captchaCookie) {
729
+ async makeMitigateAPICall(userId, clientIP, userAgent, captchaCookie, accept, host) {
721
730
  const headers = {
722
731
  'X-Netacea-API-Key': this.apiKey,
723
732
  'X-Netacea-Client-IP': clientIP,
@@ -733,6 +742,10 @@ export default class AkamaiLegacyWorker {
733
742
  headers['X-Netacea-Captcha-Site-Key'] = this.captchaSiteKey;
734
743
  headers['X-Netacea-Captcha-Secret-Key'] = this.captchaSecretKey;
735
744
  }
745
+ if (this.captchaContentNegotiation && this.netaceaCaptchaPath !== undefined) {
746
+ headers['X-Netacea-Captcha-Content-Type'] = acceptHeaderToNetaceaContentType(accept);
747
+ }
748
+ const isJsonRequest = headers['X-Netacea-Captcha-Content-Type'] === 'application/json';
736
749
  const res = await this.makeRequest({
737
750
  host: this.mitigationServiceUrl,
738
751
  path: '/',
@@ -740,6 +753,9 @@ export default class AkamaiLegacyWorker {
740
753
  method: 'GET',
741
754
  timeout: this.timeout
742
755
  });
756
+ if (isJsonRequest && this.netaceaCaptchaPath !== undefined) {
757
+ res.body = mitSvcJsonResponseToUrlResponse(res.body, host, this.netaceaCaptchaPath);
758
+ }
743
759
  return await this.getApiCallResponseFromResponse(res, userId, clientIP);
744
760
  }
745
761
  composeResult(body, setCookie, status, match, mitigate, captcha, isCaptchaPost, eventId) {
@@ -830,7 +846,7 @@ export default class AkamaiLegacyWorker {
830
846
  const isCaptchaPost = isUrlCaptchaPost(args.url, args.method);
831
847
  return await (isCaptchaPost
832
848
  ? this.processCaptcha(args.mitata, args.clientIp, args.userAgent, await args.getBodyFn())
833
- : this.check(args.mitata, args.clientIp, args.userAgent, args.mitataCaptcha));
849
+ : this.check(args.mitata, args.clientIp, args.userAgent, args.accept, args.host, args.mitataCaptcha));
834
850
  }
835
851
  async setIngestOnlyMitataCookie(userId) {
836
852
  const mitataCookie = await this.createMitata(ingestIgnoredIpValue, userId, 0, 0, 0, ONE_DAY_IN_SECONDS);
@@ -1 +1 @@
1
- {"version":3,"file":"AkamaiV1.js","sourceRoot":"","sources":["../../src/AkamaiV1.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AkamaiV1.js","sourceRoot":"","sources":["../../src/AkamaiV1.ts"],"names":[],"mappings":"AACA,OAAO,EAOL,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EAGd,UAAU,EAIV,YAAY,EAKZ,oBAAoB,EAIrB,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,UAAU,EACX,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,gBAAgB,EACjB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAA;AACvC,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,0BAA0B,EAC3B,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACL,gCAAgC,EAChC,qBAAqB,EACrB,+BAA+B,EAChC,MAAM,qCAAqC,CAAA;AAM5C,MAAM,mBAAmB,GAAG,EAAE,GAAG,EAAE,CAAA;AACnC,MAAM,kBAAkB,GAAG,mBAAmB,GAAG,EAAE,CAAA;AAEnD,MAAM,uBAAuB,GAA0B,qBAAqB,CAAC,QAAQ,CAAA;AACrF,MAAM,mBAAmB,GAAsB,iBAAiB,CAAC,IAAI,CAAA;AAErE,MAAM,eAAe,GAAW,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAA;AACjF,MAAM,uBAAuB,GAAW,UAAU,CAAC,cAAc,CAAC,OAAO,CAAA;AAkCzE,MAAM,uBAAuB,GAAG,6BAA6B,CAAA;AAuB7D,MAAM,CAAC,OAAO,OAAO,kBAAkB;IAsCrC,YAAa,MAA0B,EAAE,IAA0B;QAZzD,qBAAgB,GAAa,EAAE,CAAA;QAavC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;QACnC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAEzB,MAAM,EACJ,MAAM,EACN,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,qBAAqB,GAAG,IAAI,EAC5B,yBAAyB,GAAG,IAAI,EAChC,gBAAgB,GAAG,4BAA4B,EAC/C,UAAU,GAAG,iBAAiB,CAAC,IAAI,EACnC,OAAO,EACP,UAAU,EACV,oBAAoB,GAAG,iCAAiC,EACxD,cAAc,GAAG,qBAAqB,CAAC,MAAM,EAC7C,8BAA8B,EAC9B,wBAAwB,EACxB,uBAAuB,EACvB,0BAA0B,EAC1B,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,yBAAyB,EACzB,OAAO,GAAG,IAAI,EACd,mBAAmB,GAAG,KAAK,EAC5B,GAAG,MAAM,CAAA;QAEV,IAAI,CAAC,uBAAuB,GAAG,uBAAuB,CAAA;QACtD,IAAI,CAAC,8BAA8B,GAAG,8BAA8B,CAAA;QAEpE,IAAI,CAAC,yBAAyB,GAAG,yBAAyB,CAAA;QAC1D,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAA;QAElD,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,EAAE,CAAA;QAC1B,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,EAAE,CAAA;QAChC,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAA;QAC9C,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAA;QAChD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QACxC,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAA;QAC9C,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,iBAAiB,CAAC,IAAI,CAAA;QACtD,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,iBAAiB,CAAC,EAAE,CAAA;QACpD,IAAI,IAAI,CAAC,UAAU,KAAK,iBAAiB,CAAC,OAAO,EAAE;YACjD,IAAI,OAAO,KAAK,SAAS,EAAE;gBAEzB,OAAO,CAAC,IAAI,CAAC,8DAA8D,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;aAC9F;iBAAM;aAKN;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,cAAc,CAAC,OAAO,CAAC,CAAA;QAEtC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,IAAI,SAAS,CAAA;QACvD,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,IAAI,gBAAgB,CAAA;QAC5E,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAA;QAC5C,IAAI,CAAC,yBAAyB,GAAG,yBAAyB,IAAI,KAAK,CAAA;QAEnE,IAAI,CAAC,gBAAgB,GAAG;YACtB,IAAI,CAAC,iBAAiB;YACtB,IAAI,CAAC,wBAAwB;SAC9B,CAAA;QAED,IAAI,0BAA0B,KAAK,SAAS,EAAE;YAC5C,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;SACpE;QAED,IAAI,CAAC,0BAA0B,GAAG,0BAA0B,CAAA;QAE5D,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,uBAAuB,CAAA;QACtE,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,mBAAmB,CAAA;IAC5D,CAAC;IAOM,KAAK,CAAC,cAAc,CAAE,OAAgC;QAC3D,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;QAE/B,IAAI,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE;YAClD,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;SAClC;aAAM,IAAI,qBAAqB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,EAAE;YACxF,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAA;SACzC;aAAM;YACL,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;SACpC;QAED,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;IACrC,CAAC;IAEO,KAAK,CAAC,eAAe,CAAE,OAAgC;QAE7D,IAAI;YACF,MAAM,WAAW,GAAG,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAA;YAE9D,MAAM,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;YACpE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAA;YAChF,MAAM,UAAU,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAA;YAElD,MAAM,MAAM,GAAG,WAAW,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,IAAI,EAAE,CAAA;YAC9D,MAAM,KAAK,GAAG,WAAW,EAAE,KAAK,IAAI,UAAU,EAAE,KAAK,IAAI,CAAC,CAAA;YAC1D,MAAM,QAAQ,GAAG,WAAW,EAAE,QAAQ,IAAI,UAAU,EAAE,QAAQ,IAAI,CAAC,CAAA;YACnE,MAAM,OAAO,GAAG,WAAW,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,IAAI,CAAC,CAAA;YAEhE,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAC/C,KAAK,EACL,QAAQ,EACR,OAAO,EACP,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAC/C,CAAA;YAGD,MAAM,kBAAkB,GAAG;gBACzB,MAAM;gBACN,aAAa;gBACb,IAAI,CAAC,OAAO;aACb,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAEX,OAAO,CAAC,WAAW,CAAC,iCAAiC,EAAE,kBAAkB,CAAC,CAAA;SAC3E;QAAC,OAAO,CAAC,EAAE;YAEV,IAAI,CAAC,QAAQ,CAAC,iDAAiD,CAAC,EAAE,CAAC,CAAA;SACpE;IACH,CAAC;IAEO,iBAAiB,CAAE,OAAgC;QACzD,IAAI,IAAI,CAAC,mBAAmB,KAAK,SAAS,IAAI,IAAI,CAAC,mBAAmB,KAAK,EAAE,EAAE;YAC7E,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC;gBAC3C,aAAa,EAAE,IAAI,CAAC,mBAAmB,IAAI,EAAE;aAC9C,CAAC,CAAA;SACH;IACH,CAAC;IAEO,KAAK,CAAC,eAAe,CAAE,OAAgC;QAC7D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QACnD,IAAI,SAAS,KAAK,SAAS,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;SAC1E;QACD,MAAM,gBAAgB,GAAG,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAA;QAEvD,IAAI,gBAAgB,KAAK,OAAO,IAAI,gBAAgB,KAAK,SAAS,EAAE;YAClE,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,CAAA;YAEhD,MAAM,OAAO,GAAG,EAAE,CAAA;YAClB,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;YACnF,IAAI,eAAe,KAAK,SAAS,EAAE;gBACjC,OAAO,CAAC,WAAW,CAAC,uBAAuB,EAAE,eAAe,CAAC,CAAA;aAC9D;YAED,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAA;YAE3C,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE;gBAC/B,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAA;aAC7C;YAGD,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;SAC3C;aAAM;YACL,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;SACnD;IACH,CAAC;IAEM,KAAK,CAAC,MAAM,CAAE,OAAgC;QACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAA;QACxD,MAAM,eAAe,GAA2B,EAAE,CAAA;QAClD,eAAe,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC3D,OAAO;YACL,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,QAAQ,EAAE;gBACR,OAAO,EAAE,eAAe;aACzB;SACF,CAAA;IACH,CAAC;IAES,KAAK,CAAC,QAAQ,CAAE,OAAgC;QACxD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAA;QACxD,MAAM,eAAe,GAA2B,EAAE,CAAA;QAClD,IAAI,IAAI,CAAA;QACR,IAAI,MAAM,CAAA;QACV,IAAI,MAAM,CAAC,SAAS,EAAE;YACpB,IAAI,GAAG,MAAM,CAAA;YACb,MAAM,GAAG,GAAG,CAAA;YACZ,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE;gBACnC,eAAe,CAAC,cAAc,CAAC,GAAG,0BAA0B,CAAA;gBAC5D,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;aACnB;iBAAM;gBAEL,IAAI,GAAG,WAAW,CAAA;aACnB;SACF;QAED,OAAO;YACL,QAAQ,EAAE;gBACR,IAAI;gBACJ,MAAM;gBACN,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE;gBAC9B,OAAO,EAAE,eAAe;gBACxB,UAAU,EAAE,MAAM,CAAC,UAAU;aAC9B;YACD,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAA;IACH,CAAC;IAGM,KAAK,CAAC,MAAM,CAAC,OAAgC,EAAE,QAAiC;QACrF,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,CAAA;QACxD,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,KAAK,CAAC;YACzC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC;YACvB,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QACnD,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,IAAI,EAAE,CAAA;QAC9E,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,EAAE,EAAE;YACzC,MAAM,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;YACpE,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,IAAI,EAAE,CAAA;SAC3E;QAED,MAAM,EACJ,KAAK,EACL,QAAQ,EACR,OAAO,EACR,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI;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,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAC/C,CAAA;QAED,IAAI;YACF,IAAI,CAAC,UAAU,CAAC;gBACd,SAAS,EAAE,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,GAAG,CAAC;gBACxE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;gBACvB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,IAAI,EAAE,OAAO,CAAC,GAAG;gBACjB,QAAQ,EAAE,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC;gBACvE,OAAO,EAAE,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC;gBAC7D,WAAW,EAAE,GAAG;gBAChB,aAAa;gBACb,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC/B,SAAS,EAAE,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,CAAC;gBACnE,YAAY,EAAE,MAAM;gBACpB,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;gBACnD,kBAAkB,EAAE,IAAI,CAAC,OAAO;aACjC,CAAC,CAAA;SACH;QAAC,OAAO,CAAC,EAAE;YAEV,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAA;SAC7C;IACH,CAAC;IAEM,QAAQ,CAAE,GAAW;QAC1B,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;YAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;SACrB;IACH,CAAC;IAES,KAAK,CAAC,WAAW,CAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAmB;QAIjF,MAAM,6BAA6B,GAAG,CACpC,IAAI,CAAC,yBAAyB;YAC9B,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAC7B,CAAA;QACD,MAAM,wBAAwB,GAAG,CAC/B,IAAI,CAAC,qBAAqB;YAC1B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACxB,CAAA;QAED,IAAI,IAAI,CAAC,yBAAyB,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAChE,IAAI,CAAC,6BAA6B,IAAI,CAAC,wBAAwB,EAAE;gBAC/D,MAAM,KAAK,CAAC,oFAAoF,CAAC,CAAA;aAClG;SACF;QAED,IAAI,GAAG,CAAA;QACP,IAAI,6BAA6B,EAAE;YACjC,OAAO,CAAC,qBAAqB,CAAC,GAAG,YAAY,CAAA;YAC7C,GAAG,GAAG,IAAI,CAAA;SACX;aAAM,IAAI,wBAAwB,EAAE;YACnC,OAAO,CAAC,qBAAqB,CAAC,GAAG,QAAQ,CAAA;YACzC,GAAG,GAAG,IAAI,CAAA;SACX;aAAM;YAEL,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACtB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;aACzB;YAED,GAAG,GAAG,IAAI,GAAG,IAAI,CAAA;SAClB;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE;YAC3C,IAAI;YACJ,OAAO;YACP,MAAM;YACN,OAAO,EAAE,IAAI;SACd,CAAC,CAAA;QAEF,OAAO;YACL,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,IAAI,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE;YAC3B,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC;SAC3C,CAAA;IACH,CAAC;IAEO,kBAAkB,CAAE,QAAsB;QAChD,MAAM,sBAAsB,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAA;QACpE,MAAM,eAAe,GAA8B,EAAE,CAAA;QACrD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,sBAAsB,EAAE;YACjD,eAAe,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;SAChC;QACD,OAAO,eAAe,CAAA;IACxB,CAAC;IAEM,eAAe,CAAE,IAA6B;QACnD,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACtC,CAAC;IAEO,4BAA4B,CAClC,OAAgC;QAEhC,MAAM,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAA;QAGtE,IAAI,iBAAiB,KAAK,SAAS,IAAI,iBAAiB,KAAK,EAAE,EAAE;YAC/D,OAAO,SAAS,CAAA;SACjB;QAED,IAAI;YACF,OAAO,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;SACrC;QAAC,MAAM;YACN,OAAO,SAAS,CAAA;SACjB;IACH,CAAC;IAEO,kCAAkC,CACxC,OAAgC,EAChC,QAAiC;QAEjC,MAAM,sBAAsB,GAAG,CAAC,UAAkB,EAAE,YAAoB,EAAU,EAAE;YAClF,OAAO,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAA;QACpE,CAAC,CAAA;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAC9D,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,EAAE,EAAE;YAClE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;SAC/D;QAED,MAAM,MAAM,GAAW,OAAO,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAEvE,OAAO;YACL,QAAQ;YACR,MAAM,EAAE,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE;YAC7C,KAAK,EAAE,sBAAsB,CAAC,iBAAiB,EAAE,CAAC,CAAC;YACnD,QAAQ,EAAE,sBAAsB,CAAC,oBAAoB,EAAE,CAAC,CAAC;YACzD,OAAO,EAAE,sBAAsB,CAAC,mBAAmB,EAAE,CAAC,CAAC;YACvD,YAAY,EAAE,sBAAsB,CAAC,yBAAyB,EAAE,KAAK,CAAC;SACvE,CAAA;IACH,CAAC;IAEM,KAAK,CAAC,eAAe,CAC1B,OAAgC,EAChC,QAAiC;QAEjC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;QAE/B,IAAI,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE;YAClD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,SAAS,CAAA;YAEtE,QAAQ,CAAC,YAAY,CAAC,YAAY,CAAC,CAAA;YAMnC,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;gBAC3B,MAAM,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAA;gBAC9D,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;gBAO9C,MAAM,aAAa,GAAG,QAAQ,CAAC,SAAS,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;gBACtE,IAAI,aAAa,KAAK,eAAe,EAAE;oBACrC,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAA;iBACtB;aACF;SACF;aAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,CAAC,EAAE;YACzF,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;SAC/C;QAED,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAA;QAEnC,IAAI,IAAI,CAAC,UAAU,KAAK,iBAAiB,CAAC,IAAI,EAAE;YAC9C,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;SACrC;IACH,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,SAA8D,EAC9D,OAAgC;QAEhC,IAAI,aAAa,GAAG,EAAE,CAAA;QACtB,IAAI,SAAS,EAAE,SAAS,KAAK,SAAS,EAAE;YAEtC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;YAC/E,IAAI,WAAW,KAAK,SAAS,EAAE;gBAC7B,OAAO,CAAC,WAAW,CAAC,uBAAuB,EAAE,WAAW,CAAC,CAAA;aAC1D;SACF;QACD,IAAI,IAAI,CAAC,cAAc,KAAK,qBAAqB,CAAC,MAAM,EAAE;YACxD,MAAM,MAAM,GAAG,SAA2B,CAAA;YAC1C,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,EAAE,CAAA;SAC3C;QACD,IAAI,UAAU,GAAG,EAAE,CAAA;QACnB,IAAI,IAAI,CAAC,UAAU,KAAK,iBAAiB,CAAC,MAAM,EAAE;YAChD,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;SAC1D;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,aAAa,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE;YAC9E,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,KAAY,CAAC,CAAA;SACrC;IACH,CAAC;IAEO,uBAAuB,CAC7B,QAA0E,EAC1E,GAAW,EACX,UAAU,GAAG,EAAE;QAEf,MAAM,MAAM,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;QAE1D,OAAO,MAAM,IAAI,UAAU,CAAA;IAC7B,CAAC;IAEO,KAAK,CAAE,OAAgC;QAC7C,OAAO,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAA;IACtD,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAE,OAAgC;QACnE,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QAC/D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,IAAI,EAAE,CAAA;QACjF,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAA;QACnF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;QACrE,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;QAC3E,OAAO,MAAM,IAAI,CAAC,sBAAsB,CAAC;YACvC,QAAQ;YACR,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE;YACzB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,YAAY;YACpB,aAAa;YACb,GAAG,EAAE,OAAO,CAAC,IAAI;YACjB,SAAS;YACT,MAAM;YACN,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC,CAAA;IACJ,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,OAAgC,EAChC,cAAoE;QAGpE,MAAM,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QAEpE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,IAAI,EAAE,CAAA;QACtF,MAAM,MAAM,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAA;QAG9C,MAAM,WAAW,GAAG,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAA;QAE9D,MAAM,EACJ,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EACjC,GAAG,WAAW,IAAI,MAAM,IAAI;YAC3B,KAAK,EAAE,CAAC;YACR,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,CAAC;YACV,MAAM,EAAE,EAAE;SACX,CAAA;QACD,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAC/C,KAAK,EACL,QAAQ,EACR,OAAO,EACP,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAC/C,CAAA;QACD,OAAO;YACL,kBAAkB,EAAE,MAAM;YAC1B,mBAAmB,EAAE,aAAa;YAClC,4BAA4B,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;YAChE,+BAA+B,EAAE,IAAI,CAAC,OAAO;SAC9C,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,QAAgB,EAChB,MAA0B,EAC1B,KAAa,EACb,QAAgB,EAChB,OAAe,EACf,MAAM,GAAG,KAAK,EACd,SAA6B,SAAS;QAGtC,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,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAA;QACvG,MAAM,YAAY,GAAG,MAAM,IAAI,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,MAAM,kBAAkB,CAC1C,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;IAGS,KAAK,CAAC,YAAY,CAC1B,QAAgB,EAChB,MAA0B,EAC1B,KAAa,EACb,QAAgB,EAChB,OAAe,EACf,MAAM,GAAG,KAAK,EACd,SAA6B,SAAS;QAEtC,MAAM,eAAe,GAAG;YACtB,QAAQ;YACR,MAAM,EAAE,MAAM,IAAI,UAAU,EAAE;YAC9B,KAAK;YACL,QAAQ;YACR,OAAO;YACP,YAAY,EAAE,MAAM;SACrB,CAAA;QACD,OAAO,iBAAiB,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CAAA;IAC3D,CAAC;IAES,KAAK,CAAC,aAAa,CAAE,OAAgC;QAC7D,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAA;QACxD,OAAO,CAAC,SAAS,CAAC,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QACnD,OAAO,CAAC,SAAS,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAA;QAE5C,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QAC/D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,IAAI,EAAE,CAAA;QAEjF,IAAI,MAAM,GAAG,EAAE,CAAA;QACf,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,YAAY,EAAE,EAAE,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAA;QAClF,IAAI,UAAU,CAAC,kBAAkB,EAAE;YACjC,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAA;SACzC;QACD,OAAO,CAAC,SAAS,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAA;QAC7C,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAA;IAC1C,CAAC;IAES,KAAK,CAAC,gBAAgB,CAC9B,OAAgC,EAChC,QAAiC;QAEjC,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC;YAChE,CAAC,CAAC,IAAI,CAAC,kCAAkC,CAAC,OAAO,EAAE,QAAQ,CAAC;YAC5D,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAA;QAE9C,IAAI,WAAW,KAAK,SAAS,EAAE;YAC7B,IAAI,UAA8B,CAAA;YAElC,IAAI,IAAI,CAAC,uBAAuB,KAAK,EAAE,EAAE;gBACvC,MAAM,EACJ,kBAAkB,EAAE,YAAY,EAChC,gBAAgB,EACjB,GAAG,0BAA0B,CAAC,IAAI,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAA;gBACvE,UAAU,GAAG,YAAY,CAAA;gBACzB,IAAI,CAAC,uBAAuB,GAAG,gBAAgB,CAAA;aAChD;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAC1C,WAAW,CAAC,QAAQ,EACpB,WAAW,CAAC,MAAM,EAClB,WAAW,CAAC,KAAK,EACjB,WAAW,CAAC,QAAQ,EACpB,WAAW,CAAC,OAAO,EACnB,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,CACzE,CAAA;YAED,MAAM,eAAe,GAAG,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,CAAA;YAC9D,QAAQ,CAAC,SAAS,CAAC,YAAY,EAAE;gBAC/B,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;gBAC/D,IAAI,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,MAAM;aAC5F,CAAC,CAAA;SACH;IACH,CAAC;IAES,KAAK,CAAC,uBAAuB,CACrC,QAAiC,EACjC,gBAAsC;QAEtC,MAAM,mBAAmB,GAAuB,gBAAgB;YAC9D,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAA;QAExD,IAAI,mBAAmB,KAAK,SAAS,EAAE;YACrC,MAAM,gBAAgB,GAAG,mBAAmB;iBACzC,KAAK,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;YAE9C,IAAI,CAAC,kBAAkB,EAAE,GAAG,UAAU,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAEvE,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE;gBACvC,kBAAkB,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAA;aAC7E;YAED,IAAI,aAAa,GAAG;gBAClB,GAAG,IAAI,CAAC,wBAAwB,IAAI,kBAAkB,EAAE;gBACxD,GAAG,UAAU;aACd,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAEZ,IAAI,IAAI,CAAC,8BAA8B,KAAK,EAAE,EAAE;gBAC9C,MAAM,EACJ,kBAAkB,EAAE,eAAe,EACnC,gBAAgB,EACjB,GAAG,0BAA0B,CAAC,IAAI,CAAC,8BAA8B,EAAE,SAAS,CAAC,CAAA;gBAC9E,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,GAAG,CAAC,0BAA0B,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,CAAA;gBACpG,IAAI,CAAC,8BAA8B,GAAG,gBAAgB,CAAA;gBAEtD,IAAI,eAAe,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS,EAAE;oBAChE,aAAa,CAAC,OAAO,CAAC,WAAW,aAAa,EAAE,EAAE,WAAW,eAAe,EAAE,CAAC,CAAA;oBAC/E,aAAa,GAAG,GAAG,aAAa,KAAK,gBAAgB,EAAE,CAAA;iBACxD;qBAAM;oBACL,aAAa,GAAG,GAAG,aAAa,KAAK,gBAAgB,EAAE,CAAA;iBACxD;aACF;YAED,QAAQ,CAAC,SAAS,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA;SAChD;IACH,CAAC;IAES,oBAAoB,CAAE,QAAiC;QAC/D,QAAQ,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAA;QACxC,QAAQ,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAA;QAC3C,QAAQ,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAA;QAC1C,QAAQ,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAA;QAChD,QAAQ,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAA;QAC/C,QAAQ,CAAC,YAAY,CAAC,gCAAgC,CAAC,CAAA;QACvD,QAAQ,CAAC,YAAY,CAAC,+BAA+B,CAAC,CAAA;QACtD,QAAQ,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAA;IAC7C,CAAC;IAES,KAAK,CAAC,kBAAkB,CAAE,WAAmB;QACrD,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE;YACvC,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;SACxD;QACD,OAAO,WAAW,CAAA;IACpB,CAAC;IAES,KAAK,CAAC,kBAAkB,CAAE,oBAA4B;QAC9D,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE;YACvC,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAA;SACjE;QACD,OAAO,oBAAoB,CAAA;IAC7B,CAAC;IAKM,KAAK,CAAC,aAAa,CAAE,IAAiB;QAC3C,IAAI;YACF,QAAQ,IAAI,CAAC,cAAc,EAAE;gBAC3B,KAAK,qBAAqB,CAAC,QAAQ;oBACjC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;gBAClC,KAAK,qBAAqB,CAAC,MAAM;oBAC/B,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBAChC,KAAK,qBAAqB,CAAC,MAAM;oBAC/B,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;gBACvC;oBAEE,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,CAAC,cAAc,iBAAiB,CAAC,CAAA;aAC1F;SACF;QAAC,OAAO,CAAC,EAAE;YAEV,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;IAWS,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;YAE5B,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,iBAAiB,CAAC,OAAO,EAAE;SAelD;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;QAEtB,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,GAAG,iBAAiB,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;QACtD,MAAM,GAAG,GAAa;YACpB,MAAM;YACN,MAAM;YACN,YAAY,EAAE,YAAY,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,IAAI,EAAE,IAAI,QAAQ,EAAE;YACpE,cAAc,EAAE,YAAY,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;YAE7B,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,EAAE,QAAQ,EAAE;YACpC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE;YAChC,OAAO,EAAE,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO;YACvC,mBAAmB,EAAE,YAAY,IAAI,EAAE;YACvC,wBAAwB,EAAE,aAAa,IAAI,EAAE;YAC7C,eAAe,EAAE,eAAe,IAAI,EAAE;YACtC,kBAAkB,EAAE,kBAAkB,IAAI,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,iBAAiB,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,MAAc,EACd,IAAY,EACZ,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,MAAM,iBAAiB,CAAC,aAAa,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QACnF,IAAI,CAAC,UAAU,CAAC,kBAAkB,IAAI,UAAU,CAAC,eAAe,EAAE;YAEhE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAC3C,UAAU,CAAC,MAAM,EAAE,MAAM,EACzB,QAAQ,EACR,SAAS,EACT,aAAa,EACb,MAAM,EACN,IAAI,CACL,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,EAAE,UAAU,CAAC,MAAM,EAAE,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;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,UAAU,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE;YAC1F,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,aAAa,CAAC,CAAA;YACtE,MAAM,mBAAmB,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,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,iBAAiB,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,EAAE,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,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAA;QACzE,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC/E,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAA;QAE7E,IAAI,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,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,UAAU,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,MAAc,EACd,IAAY;QAEZ,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,yBAAyB,IAAI,IAAI,CAAC,kBAAkB,KAAK,SAAS,EAAE;YAC3E,OAAO,CAAC,gCAAgC,CAAC,GAAG,gCAAgC,CAAC,MAAM,CAAC,CAAA;SACrF;QAED,MAAM,aAAa,GAAG,OAAO,CAAC,gCAAgC,CAAC,KAAK,kBAAkB,CAAA;QACtF,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,IAAI,aAAa,IAAI,IAAI,CAAC,kBAAkB,KAAK,SAAS,EAAE;YAC1D,GAAG,CAAC,IAAI,GAAG,+BAA+B,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAA;SACpF;QAED,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,UAAU,CAAC,eAAe,CAAC,KAAK;gBAChC,UAAU,CAAC,eAAe,CAAC,OAAO;gBAClC,UAAU,CAAC,eAAe,CAAC,WAAW;aACvC,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC;SACtC,CAAA;QACD,IAAI,IAAI,CAAC,cAAc,KAAK,qBAAqB,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,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,CAAA;QACjE,aAAa,IAAI,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAA;QAC5D,IAAI,UAAU,GAAG,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;QACvD,IAAI,OAAO,KAAK,CAAC,EAAE;YACjB,aAAa,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,CAAA;YAClE,MAAM,qBAAqB,GAAG,UAAU,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,qBAAqB,CAAC,MAAM,EAAE;YACxD,UAAU,GAAG,UAAU,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;IAEO,0BAA0B,CAAE,OAAgC;QAClE,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAA;IAC1C,CAAC;IAES,KAAK,CAAC,sBAAsB,CACpC,IAAmE;QAEnE,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAC7D,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,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CACrG,CAAA;IACH,CAAC;IAES,KAAK,CAAC,yBAAyB,CACvC,MAA0B;QAE1B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAC1C,oBAAoB,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,MAAM,iBAAiB,CAAC,aAAa,EAAE,oBAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QAC/F,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,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;SACvE;QAED,OAAO;YACL,aAAa,EAAE,EAAE;YACjB,SAAS,EAAE,EAAE;SACd,CAAA;IACH,CAAC;CAKF"}
@@ -4,9 +4,10 @@ import { logger } from 'log';
4
4
  import { NetaceaIngestType } from '@netacea/netaceaintegrationbase';
5
5
  import ConfigLoader from './ConfigLoader';
6
6
  import { isUrlCaptchaGet } from './netaceaPaths';
7
- import { createMitata, handleCaptchaGet } from './captchaGet';
7
+ import { handleCaptchaGet } from './captchaGet';
8
8
  import { ingest } from './ingest/ingest';
9
9
  import { logToDataStream } from './helpers/logToDataStream';
10
+ import { createMitataFromProtoMitata } from './helpers/createMitataFromProtoMitata';
10
11
  export default class Akamai {
11
12
  constructor(defaultConfig) {
12
13
  this.configLoader = new ConfigLoader(defaultConfig);
@@ -26,7 +27,7 @@ export default class Akamai {
26
27
  async responseHandler(request, response) {
27
28
  const config = this.configLoader.loadConfig(request);
28
29
  if (isUrlCaptchaGet(request.path, request.method, config.netaceaCaptchaPath)) {
29
- await createMitata(request, response, config);
30
+ await createMitataFromProtoMitata(request, response, config);
30
31
  if (config.ingestType === NetaceaIngestType.HTTP) {
31
32
  await ingest(request, response, config);
32
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AkamaiV2.js","sourceRoot":"","sources":["../../src/AkamaiV2.ts"],"names":[],"mappings":"AAAA,OAAO,kBAEN,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAA;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,MAAM,CAAC,OAAO,OAAO,MAAM;IAGzB,YAAa,aAA0C;QACrD,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,aAAa,CAAC,CAAA;IACrD,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,OAAgC;QAEhC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QAEpD,IAAI,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,kBAAkB,CAAC,EAAE;YAC5E,MAAM,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;YACvC,OAAO,MAAM,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;SAC9C;QAED,MAAM,YAAY,GAAG,IAAI,kBAAkB,CAAC,MAAM,EAAE;YAClD,WAAW;YACX,MAAM;SACP,CAAC,CAAA;QAEF,OAAO,MAAM,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IACnD,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,OAAgC,EAChC,QAAiC;QAEjC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QAEpD,IAAI,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,kBAAkB,CAAC,EAAE;YAC5E,MAAM,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;YAE7C,IAAI,MAAM,CAAC,UAAU,KAAK,iBAAiB,CAAC,IAAI,EAAE;gBAChD,MAAM,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;aACxC;YAED,OAAM;SACP;QAED,MAAM,YAAY,GAAG,IAAI,kBAAkB,CAAC,MAAM,EAAE;YAClD,WAAW;YACX,MAAM;SACP,CAAC,CAAA;QAEF,OAAO,MAAM,YAAY,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC9D,CAAC;CACF"}
1
+ {"version":3,"file":"AkamaiV2.js","sourceRoot":"","sources":["../../src/AkamaiV2.ts"],"names":[],"mappings":"AAAA,OAAO,kBAEN,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAA;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAA;AAEnF,MAAM,CAAC,OAAO,OAAO,MAAM;IAGzB,YAAa,aAA0C;QACrD,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,aAAa,CAAC,CAAA;IACrD,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,OAAgC;QAEhC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QAEpD,IAAI,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,kBAAkB,CAAC,EAAE;YAC5E,MAAM,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;YACvC,OAAO,MAAM,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;SAC9C;QAED,MAAM,YAAY,GAAG,IAAI,kBAAkB,CAAC,MAAM,EAAE;YAClD,WAAW;YACX,MAAM;SACP,CAAC,CAAA;QAEF,OAAO,MAAM,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;IACnD,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,OAAgC,EAChC,QAAiC;QAEjC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QAEpD,IAAI,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,kBAAkB,CAAC,EAAE;YAC5E,MAAM,2BAA2B,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;YAE5D,IAAI,MAAM,CAAC,UAAU,KAAK,iBAAiB,CAAC,IAAI,EAAE;gBAChD,MAAM,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;aACxC;YAED,OAAM;SACP;QAED,MAAM,YAAY,GAAG,IAAI,kBAAkB,CAAC,MAAM,EAAE;YAClD,WAAW;YACX,MAAM;SACP,CAAC,CAAA;QAEF,OAAO,MAAM,YAAY,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC9D,CAAC;CACF"}
@@ -50,9 +50,11 @@ export default class ConfigLoader {
50
50
  netaceaCookieExpirySeconds: configureMitataExpiry(this.defaults, mitigationType),
51
51
  netaceaCookieName: vL.getString('COOKIE_NAME', this.defaults.netaceaCookieName),
52
52
  netaceaCaptchaPath,
53
+ captchaContentNegotiation: vL.getBoolean('CAPT_CONTENT_NGT', false),
53
54
  secretKey: vL.getString('SECRET_KEY', this.defaults.secretKey),
54
55
  useCaptchaRelAssets: vL.getBoolean('CAPT_REL_ASSETS', this.defaults.useCaptchaRelAssets) ?? false,
55
- protoMitataVariableName: 'PMUSER_NETACEA_PROTO_MITATA'
56
+ protoMitataVariableName: 'PMUSER_NETACEA_PROTO_MITATA',
57
+ encryptedCookieNames: []
56
58
  };
57
59
  const mitigationServiceUrlVar = vL.getString('MITIGATION_URL');
58
60
  if (mitigationServiceUrlVar !== undefined) {
@@ -70,6 +72,12 @@ export default class ConfigLoader {
70
72
  else {
71
73
  config.ingestServiceUrl = this.defaults.ingestServiceUrl ?? 'https://ingest.netacea.net';
72
74
  }
75
+ if (config.netaceaCookieName !== undefined) {
76
+ config.encryptedCookieNames.push(config.netaceaCookieName);
77
+ }
78
+ if (config.netaceaCaptchaCookieName !== undefined) {
79
+ config.encryptedCookieNames.push(config.netaceaCaptchaCookieName);
80
+ }
73
81
  return config;
74
82
  }
75
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigLoader.js","sourceRoot":"","sources":["../../src/ConfigLoader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConfigLoader.js","sourceRoot":"","sources":["../../src/ConfigLoader.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
1
  /// <reference types="akamai-edgeworkers" />
2
2
  import type { AkamaiWorkerConfig } from './types';
3
3
  export declare function handleCaptchaGet(request: EW.IngressClientRequest, config: Readonly<AkamaiWorkerConfig>): Promise<void>;
4
- export declare function createMitata(request: EW.IngressClientRequest, response: EW.EgressClientResponse, config: Readonly<AkamaiWorkerConfig>): Promise<void>;
@@ -4,8 +4,6 @@ import { getHeaderValueOrDefault } from './helpers/getHeaderValueOrDefault';
4
4
  import { getVariableOrDefault } from './helpers/getVariable';
5
5
  import { checkMitataCookie } from './mitataCookie';
6
6
  import { getQuery } from './helpers/getQuery';
7
- import { extractAndRemoveCookieAttr } from './netaceaCookieAttributes';
8
- import { createAkamaiMitata } from './helpers/createMitata';
9
7
  export async function handleCaptchaGet(request, config) {
10
8
  const cookies = getHeaderValueOrDefault(request, 'cookie');
11
9
  const mitataCookie = await readCookie(config.netaceaCookieName, cookies, config);
@@ -21,7 +19,9 @@ export async function handleCaptchaGet(request, config) {
21
19
  captchaCookie: mitataCaptcha,
22
20
  trackingId: getQuery(request.query, 'trackingId'),
23
21
  captchaSiteKey: config.captchaSiteKey,
24
- captchaSecretKey: config.captchaSecretKey
22
+ captchaSecretKey: config.captchaSecretKey,
23
+ accept: getHeaderValueOrDefault(request, 'accept', 'text/html'),
24
+ host: request.host
25
25
  }, config, {
26
26
  match: 0,
27
27
  mitigate: 0,
@@ -33,31 +33,4 @@ export async function handleCaptchaGet(request, config) {
33
33
  }
34
34
  request.respondWith(403, {}, captchaGetResponse.body);
35
35
  }
36
- export async function createMitata(request, response, config) {
37
- const protoMitataJson = getVariableOrDefault(request, config.protoMitataVariableName);
38
- const protoMitata = JSON.parse(protoMitataJson);
39
- if (protoMitata !== undefined) {
40
- let cookieAttributes = '';
41
- let maxAge = config.netaceaCookieExpirySeconds ?? 86400;
42
- if (config.netaceaCookieAttributes !== '') {
43
- const result = extractAndRemoveCookieAttr(config.netaceaCookieAttributes, 'Max-Age');
44
- maxAge = typeof result.extractedAttribute === 'string' ? parseInt(result.extractedAttribute, 10) : maxAge;
45
- cookieAttributes = result.cookieAttributes;
46
- }
47
- const cookie = await createAkamaiMitata({
48
- clientIP: protoMitata.clientIP,
49
- userId: protoMitata.userId,
50
- match: protoMitata.match,
51
- mitigate: protoMitata.mitigate,
52
- captcha: protoMitata.captcha,
53
- maxAge,
54
- config
55
- });
56
- const responseCookies = response.getHeader('set-cookie') ?? [];
57
- response.setHeader('set-cookie', [
58
- ...responseCookies.filter(c => !c.startsWith('_proto-mitata=')),
59
- cookieAttributes !== '' ? `${cookie}; ${cookieAttributes}` : cookie
60
- ]);
61
- }
62
- }
63
36
  //# sourceMappingURL=captchaGet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"captchaGet.js","sourceRoot":"","sources":["../../src/captchaGet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"captchaGet.js","sourceRoot":"","sources":["../../src/captchaGet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAA;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAG7C,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAgC,EAChC,MAAoC;IAEpC,MAAM,OAAO,GAAG,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC1D,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,iBAA2B,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;IAC1F,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,wBAAkC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;IAClG,MAAM,QAAQ,GAAG,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAA;IAClE,MAAM,SAAS,GAAG,uBAAuB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;IAChE,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAA;IAE1F,MAAM,kBAAkB,GAAG,MAAM,iBAAiB,CAChD;QACE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE;QAC3B,QAAQ;QACR,SAAS;QACT,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM;QACjC,aAAa,EAAE,aAAa;QAC5B,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC;QACjD,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,MAAM,EAAE,uBAAuB,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC;QAC/D,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,EACD,MAAM,EACN;QACE,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;KACX,CACF,CAAA;IAED,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,eAAe,EAAE,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IAC3F,IAAI,WAAW,KAAK,SAAS,EAAE;QAC7B,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,uBAAuB,EAAE,WAAW,CAAC,CAAA;KACjE;IAED,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAA;AACvD,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function acceptHeaderToNetaceaContentType(accept?: string): string;
2
+ export declare function isCaptchaJsonResponse(body: string): boolean;
3
+ export declare function mitSvcJsonResponseToUrlResponse(body: unknown, host: string, captchaPath: string): string;
@@ -0,0 +1,40 @@
1
+ export function acceptHeaderToNetaceaContentType(accept) {
2
+ const acceptLowerCase = accept?.toLowerCase() ?? 'text/html';
3
+ const acceptsHtml = acceptLowerCase?.includes('text/html') || acceptLowerCase?.includes('application/html');
4
+ const acceptsJson = acceptLowerCase?.includes('application/json');
5
+ if (acceptsJson && !acceptsHtml) {
6
+ return 'application/json';
7
+ }
8
+ return 'text/html';
9
+ }
10
+ export function isCaptchaJsonResponse(body) {
11
+ return body.includes('captchaRelativeURL') && body.includes('captchaAbsoluteURL');
12
+ }
13
+ function isMitSvcJsonResponse(body) {
14
+ if (body === null || body === undefined) {
15
+ return false;
16
+ }
17
+ const mitSvcJsonBody = body;
18
+ return mitSvcJsonBody?.captchaSiteKey !== undefined &&
19
+ mitSvcJsonBody?.trackingId !== undefined &&
20
+ mitSvcJsonBody?.captchaURL !== undefined;
21
+ }
22
+ export function mitSvcJsonResponseToUrlResponse(body, host, captchaPath) {
23
+ let parsedBody;
24
+ if (body === undefined || body === '') {
25
+ return '';
26
+ }
27
+ if (typeof body === 'string') {
28
+ parsedBody = JSON.parse(body);
29
+ }
30
+ if (!isMitSvcJsonResponse(parsedBody)) {
31
+ throw new Error('Body is not a Mitigation Service JSON response!');
32
+ }
33
+ const captchaRelativeURL = `${captchaPath}?trackingId=${parsedBody.trackingId}`;
34
+ const captchaAbsoluteURL = `https://${host}${captchaRelativeURL}`;
35
+ return JSON.stringify({
36
+ captchaRelativeURL,
37
+ captchaAbsoluteURL
38
+ });
39
+ }
40
+ //# sourceMappingURL=captchaContentNegotiation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"captchaContentNegotiation.js","sourceRoot":"","sources":["../../../src/helpers/captchaContentNegotiation.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,gCAAgC,CAAE,MAAe;IAC/D,MAAM,eAAe,GAAG,MAAM,EAAE,WAAW,EAAE,IAAI,WAAW,CAAA;IAC5D,MAAM,WAAW,GAAG,eAAe,EAAE,QAAQ,CAAC,WAAW,CAAC,IAAI,eAAe,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAA;IAC3G,MAAM,WAAW,GAAG,eAAe,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAA;IAEjE,IAAI,WAAW,IAAI,CAAC,WAAW,EAAE;QAC/B,OAAO,kBAAkB,CAAA;KAC1B;IAED,OAAO,WAAW,CAAA;AACpB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAE,IAAY;IACjD,OAAO,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAA;AACnF,CAAC;AAED,SAAS,oBAAoB,CAAE,IAAa;IAC1C,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE;QACvC,OAAO,KAAK,CAAA;KACb;IAED,MAAM,cAAc,GAAG,IAAsB,CAAA;IAE7C,OAAO,cAAc,EAAE,cAAc,KAAK,SAAS;QACjD,cAAc,EAAE,UAAU,KAAK,SAAS;QACxC,cAAc,EAAE,UAAU,KAAK,SAAS,CAAA;AAC5C,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAE,IAAa,EAAE,IAAY,EAAE,WAAmB;IAC/F,IAAI,UAAU,CAAA;IAEd,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,EAAE;QACrC,OAAO,EAAE,CAAA;KACV;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC5B,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;KAC9B;IAED,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,EAAE;QACrC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;KACnE;IAED,MAAM,kBAAkB,GAAG,GAAG,WAAW,eAAe,UAAU,CAAC,UAAU,EAAE,CAAA;IAC/E,MAAM,kBAAkB,GAAG,WAAW,IAAI,GAAG,kBAAkB,EAAE,CAAA;IAEjE,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,kBAAkB;QAClB,kBAAkB;KACnB,CAAC,CAAA;AACJ,CAAC"}
@@ -9,5 +9,5 @@ interface CreateMitataOptions {
9
9
  expiry?: number;
10
10
  config: Readonly<AkamaiWorkerConfig>;
11
11
  }
12
- export declare function createAkamaiMitata({ clientIP, userId, match, mitigate, captcha, maxAge, expiry, config }: CreateMitataOptions): Promise<string>;
12
+ export declare function createMitata({ clientIP, userId, match, mitigate, captcha, maxAge, expiry, config }: CreateMitataOptions): Promise<string>;
13
13
  export {};
@@ -1,6 +1,6 @@
1
1
  import { buildCookieFromValues } from './buildCookieFromValues';
2
2
  import { createMitataCookie } from '../mitataCookie';
3
- export async function createAkamaiMitata({ clientIP, userId, match, mitigate, captcha, maxAge = 86400, expiry = undefined, config }) {
3
+ export async function createMitata({ clientIP, userId, match, mitigate, captcha, maxAge = 86400, expiry = undefined, config }) {
4
4
  const expirySeconds = config.netaceaCookieExpirySeconds;
5
5
  const isCaptchaServe = [1, 3, 5].includes(captcha);
6
6
  const expiryDelta = isCaptchaServe ? -expirySeconds : expirySeconds;
@@ -1 +1 @@
1
- {"version":3,"file":"createMitata.js","sourceRoot":"","sources":["../../../src/helpers/createMitata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAcpD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAE,EACxC,QAAQ,EACR,MAAM,EACN,KAAK,EACL,QAAQ,EACR,OAAO,EACP,MAAM,GAAG,KAAK,EACd,MAAM,GAAG,SAAS,EAClB,MAAM,EACc;IAEpB,MAAM,aAAa,GAAG,MAAM,CAAC,0BAAoC,CAAA;IACjE,MAAM,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAClD,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAA;IACnE,MAAM,YAAY,GAAG,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,WAAW,CAAA;IAE1E,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE;QAClC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;KAC3D;IACD,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACtD,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAC1C,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,MAAM,CAAC,SAAS,EAChB,UAAU,CACX,CAAA;IACD,OAAO,MAAM,qBAAqB,CAChC,MAAM,CAAC,iBAA2B,EAClC,WAAW,EACX,MAAM,EACN,MAAM,CACP,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"createMitata.js","sourceRoot":"","sources":["../../../src/helpers/createMitata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAcpD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAE,EAClC,QAAQ,EACR,MAAM,EACN,KAAK,EACL,QAAQ,EACR,OAAO,EACP,MAAM,GAAG,KAAK,EACd,MAAM,GAAG,SAAS,EAClB,MAAM,EACc;IAEpB,MAAM,aAAa,GAAG,MAAM,CAAC,0BAAoC,CAAA;IACjE,MAAM,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAClD,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAA;IACnE,MAAM,YAAY,GAAG,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,WAAW,CAAA;IAE1E,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE;QAClC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;KAC3D;IACD,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACtD,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAC1C,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,MAAM,CAAC,SAAS,EAChB,UAAU,CACX,CAAA;IACD,OAAO,MAAM,qBAAqB,CAChC,MAAM,CAAC,iBAA2B,EAClC,WAAW,EACX,MAAM,EACN,MAAM,CACP,CAAA;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ /// <reference types="akamai-edgeworkers" />
2
+ import type { AkamaiWorkerConfig } from '../types';
3
+ export declare function createMitataFromProtoMitata(request: EW.IngressClientRequest, response: EW.EgressClientResponse, config: Readonly<AkamaiWorkerConfig>): Promise<void>;
@@ -0,0 +1,31 @@
1
+ import { getVariableOrDefault } from './getVariable';
2
+ import { extractAndRemoveCookieAttr } from '../netaceaCookieAttributes';
3
+ import { createMitata } from './createMitata';
4
+ export async function createMitataFromProtoMitata(request, response, config) {
5
+ const protoMitataJson = getVariableOrDefault(request, config.protoMitataVariableName);
6
+ const protoMitata = JSON.parse(protoMitataJson);
7
+ if (protoMitata !== undefined) {
8
+ let cookieAttributes = '';
9
+ let maxAge = config.netaceaCookieExpirySeconds ?? 86400;
10
+ if (config.netaceaCookieAttributes !== '') {
11
+ const result = extractAndRemoveCookieAttr(config.netaceaCookieAttributes, 'Max-Age');
12
+ maxAge = typeof result.extractedAttribute === 'string' ? parseInt(result.extractedAttribute, 10) : maxAge;
13
+ cookieAttributes = result.cookieAttributes;
14
+ }
15
+ const cookie = await createMitata({
16
+ clientIP: protoMitata.clientIP,
17
+ userId: protoMitata.userId,
18
+ match: protoMitata.match,
19
+ mitigate: protoMitata.mitigate,
20
+ captcha: protoMitata.captcha,
21
+ maxAge,
22
+ config
23
+ });
24
+ const responseCookies = response.getHeader('set-cookie') ?? [];
25
+ response.setHeader('set-cookie', [
26
+ ...responseCookies.filter(c => !c.startsWith('_proto-mitata=')),
27
+ cookieAttributes !== '' ? `${cookie}; ${cookieAttributes}` : cookie
28
+ ]);
29
+ }
30
+ }
31
+ //# sourceMappingURL=createMitataFromProtoMitata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createMitataFromProtoMitata.js","sourceRoot":"","sources":["../../../src/helpers/createMitataFromProtoMitata.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,OAAgC,EAChC,QAAiC,EACjC,MAAoC;IAEpC,MAAM,eAAe,GAAG,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,uBAAuB,CAAC,CAAA;IACrF,MAAM,WAAW,GAAgB,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;IAE5D,IAAI,WAAW,KAAK,SAAS,EAAE;QAC7B,IAAI,gBAAgB,GAAG,EAAE,CAAA;QACzB,IAAI,MAAM,GAAG,MAAM,CAAC,0BAA0B,IAAI,KAAK,CAAA;QAEvD,IAAI,MAAM,CAAC,uBAAuB,KAAK,EAAE,EAAE;YACzC,MAAM,MAAM,GAAG,0BAA0B,CAAC,MAAM,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAA;YACpF,MAAM,GAAG,OAAO,MAAM,CAAC,kBAAkB,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;YACzG,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAA;SAC3C;QAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;YAChC,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,MAAM;YACN,MAAM;SACP,CAAC,CAAA;QAEF,MAAM,eAAe,GAAG,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,CAAA;QAC9D,QAAQ,CAAC,SAAS,CAAC,YAAY,EAAE;YAC/B,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;YAC/D,gBAAgB,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,gBAAgB,EAAE,CAAC,CAAC,CAAC,MAAM;SACpE,CAAC,CAAA;KACH;AACH,CAAC"}
@@ -12,7 +12,7 @@ export async function readCookie(cookieName, cookies, config) {
12
12
  const trimmedCookie = cookie.split(';')[0].trimStart();
13
13
  if (trimmedCookie.startsWith(valuePrefix)) {
14
14
  const cookieValue = trimmedCookie.slice(valuePrefix.length);
15
- if (isJweEncrypted(cookieName)) {
15
+ if (config.encryptedCookieNames.includes(cookieName) && isJweEncrypted(cookieValue)) {
16
16
  try {
17
17
  return await CachedEncryption.getInstance(config).decrypt(cookieValue);
18
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"readCookie.js","sourceRoot":"","sources":["../../../src/helpers/readCookie.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,UAAkB,EAClB,OAA6C,EAC7C,MAAoC;IAEpC,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE;QAC7C,OAAO,SAAS,CAAA;KACjB;IAED,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC/B,OAAO,MAAM,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAA;KAChE;IAED,MAAM,WAAW,GAAG,GAAG,UAAU,GAAG,CAAA;IACpC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAE5B,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;QAEtD,IAAI,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;YACzC,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;YAE3D,IAAI,cAAc,CAAC,UAAU,CAAC,EAAE;gBAC9B,IAAI;oBACF,OAAO,MAAM,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;iBACvE;gBAAC,OAAO,EAAE,EAAE;oBACX,OAAO,SAAS,CAAA;iBACjB;aACF;YAED,OAAO,WAAW,CAAA;SACnB;KACF;IAED,OAAO,SAAS,CAAA;AAClB,CAAC"}
1
+ {"version":3,"file":"readCookie.js","sourceRoot":"","sources":["../../../src/helpers/readCookie.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,UAAkB,EAClB,OAA6C,EAC7C,MAAoC;IAEpC,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE;QAC7C,OAAO,SAAS,CAAA;KACjB;IAED,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC/B,OAAO,MAAM,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAA;KAChE;IAED,MAAM,WAAW,GAAG,GAAG,UAAU,GAAG,CAAA;IACpC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAE5B,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAA;QAEtD,IAAI,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;YACzC,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;YAE3D,IAAI,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,cAAc,CAAC,WAAW,CAAC,EAAE;gBACnF,IAAI;oBACF,OAAO,MAAM,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;iBACvE;gBAAC,OAAO,EAAE,EAAE;oBACX,OAAO,SAAS,CAAA;iBACjB;aACF;YAED,OAAO,WAAW,CAAA;SACnB;KACF;IAED,OAAO,SAAS,CAAA;AAClB,CAAC"}
@@ -1,5 +1,5 @@
1
- import { MakeMitigateAPICallResponse } from '@netacea/netaceaintegrationbase';
2
- import { AkamaiWorkerConfig, CookieCodes } from '../types';
1
+ import type { MakeMitigateAPICallResponse } from '@netacea/netaceaintegrationbase';
2
+ import type { AkamaiWorkerConfig, CookieCodes } from '../types';
3
3
  interface MitigationAPICallOptions {
4
4
  apiKey: string;
5
5
  userId: string | undefined;
@@ -9,6 +9,8 @@ interface MitigationAPICallOptions {
9
9
  captchaSiteKey: string | undefined;
10
10
  captchaSecretKey: string | undefined;
11
11
  trackingId: string | undefined;
12
+ accept: string | undefined;
13
+ host: string | undefined;
12
14
  }
13
15
  export declare function captchaGetAPICall(opts: MitigationAPICallOptions, config: Readonly<AkamaiWorkerConfig>, defaultMitataCodes?: CookieCodes): Promise<MakeMitigateAPICallResponse>;
14
16
  export declare function mitigationAPICall(opts: MitigationAPICallOptions, config: Readonly<AkamaiWorkerConfig>): Promise<MakeMitigateAPICallResponse>;
@@ -1,6 +1,7 @@
1
1
  import { makeRequest } from '../helpers/makeRequest';
2
2
  import { buildCookieHeader } from '../helpers/buildCookieHeader';
3
3
  import { getApiCallResponseFromResponse } from './getApiCallResponseFromResponse';
4
+ import { acceptHeaderToNetaceaContentType, mitSvcJsonResponseToUrlResponse } from '../helpers/captchaContentNegotiation';
4
5
  export async function captchaGetAPICall(opts, config, defaultMitataCodes) {
5
6
  const trackingIdQuery = opts.trackingId !== undefined ? `?trackingId=${opts.trackingId}` : '';
6
7
  return await mitigationAPICallBase(`/captcha${trackingIdQuery}`, 'GET', opts, config, defaultMitataCodes);
@@ -9,22 +10,27 @@ export async function mitigationAPICall(opts, config) {
9
10
  return await mitigationAPICallBase('/', 'GET', opts, config);
10
11
  }
11
12
  async function mitigationAPICallBase(path, method, opts, config, defaultMitataCodes) {
12
- const { userId, clientIP } = opts;
13
+ const { userId, clientIP, host } = opts;
13
14
  const { mitigationServiceUrl, timeout } = config;
14
15
  if (mitigationServiceUrl === undefined) {
15
16
  throw new Error('Mitigation Service URL is not defined!');
16
17
  }
18
+ const headers = composeHeaders(opts, config);
19
+ const isJsonRequest = headers['X-Netacea-Captcha-Content-Type'] === 'application/json';
17
20
  const res = await makeRequest({
18
21
  host: mitigationServiceUrl,
19
22
  path,
20
- headers: composeHeaders(opts),
23
+ headers,
21
24
  method,
22
25
  timeout
23
26
  }, config);
27
+ if (isJsonRequest && config.netaceaCaptchaPath !== undefined && host !== undefined) {
28
+ res.body = mitSvcJsonResponseToUrlResponse(res.body, host, config.netaceaCaptchaPath);
29
+ }
24
30
  return await getApiCallResponseFromResponse(res, userId, clientIP, config, defaultMitataCodes);
25
31
  }
26
- function composeHeaders(opts) {
27
- const { apiKey, userId, userAgent, captchaCookie, clientIP, captchaSiteKey, captchaSecretKey } = opts;
32
+ function composeHeaders(opts, config) {
33
+ const { apiKey, userId, userAgent, captchaCookie, clientIP, captchaSiteKey, captchaSecretKey, accept } = opts;
28
34
  const headers = {
29
35
  'X-Netacea-API-Key': apiKey,
30
36
  'X-Netacea-Client-IP': clientIP,
@@ -40,6 +46,9 @@ function composeHeaders(opts) {
40
46
  headers['X-Netacea-Captcha-Site-Key'] = captchaSiteKey;
41
47
  headers['X-Netacea-Captcha-Secret-Key'] = captchaSecretKey;
42
48
  }
49
+ if (config.captchaContentNegotiation && config.netaceaCaptchaPath !== undefined) {
50
+ headers['X-Netacea-Captcha-Content-Type'] = acceptHeaderToNetaceaContentType(accept);
51
+ }
43
52
  return headers;
44
53
  }
45
54
  //# sourceMappingURL=mitigationApiCall.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mitigationApiCall.js","sourceRoot":"","sources":["../../../src/mitigation/mitigationApiCall.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAEhE,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAA;AAajF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAA8B,EAC9B,MAAoC,EACpC,kBAAgC;IAEhC,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7F,OAAO,MAAM,qBAAqB,CAAC,WAAW,eAAe,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAA;AAC3G,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAA8B,EAC9B,MAAoC;IAEpC,OAAO,MAAM,qBAAqB,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;AAC9D,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,IAAY,EACZ,MAAyC,EACzC,IAA8B,EAC9B,MAAoC,EACpC,kBAAgC;IAEhC,MAAM,EACJ,MAAM,EACN,QAAQ,EACT,GAAG,IAAI,CAAA;IACR,MAAM,EAAE,oBAAoB,EAAE,OAAO,EAAE,GAAG,MAAM,CAAA;IAEhD,IAAI,oBAAoB,KAAK,SAAS,EAAE;QACtC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;KAC1D;IAED,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC;QAC5B,IAAI,EAAE,oBAAoB;QAC1B,IAAI;QACJ,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC;QAC7B,MAAM;QACN,OAAO;KACR,EAAE,MAAM,CAAC,CAAA;IAEV,OAAO,MAAM,8BAA8B,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAA;AAChG,CAAC;AAED,SAAS,cAAc,CACrB,IAA8B;IAE9B,MAAM,EACJ,MAAM,EACN,MAAM,EACN,SAAS,EACT,aAAa,EACb,QAAQ,EACR,cAAc,EACd,gBAAgB,EACjB,GAAG,IAAI,CAAA;IAER,MAAM,OAAO,GAA4B;QACvC,mBAAmB,EAAE,MAAM;QAC3B,qBAAqB,EAAE,QAAQ;QAC/B,YAAY,EAAE,SAAS;QACvB,QAAQ,EAAE,iBAAiB,CAAC;YAC1B,cAAc,EAAE,aAAa;SAC9B,CAAC;KACH,CAAA;IAED,IAAI,MAAM,KAAK,SAAS,EAAE;QACxB,OAAO,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAA;KACrC;IAED,IAAI,cAAc,KAAK,SAAS,IAAI,gBAAgB,KAAK,SAAS,EAAE;QAClE,OAAO,CAAC,4BAA4B,CAAC,GAAG,cAAc,CAAA;QACtD,OAAO,CAAC,8BAA8B,CAAC,GAAG,gBAAgB,CAAA;KAC3D;IAED,OAAO,OAAO,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"mitigationApiCall.js","sourceRoot":"","sources":["../../../src/mitigation/mitigationApiCall.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,8 @@ export interface AkamaiWorkerConfig extends LegacyAkamaiConstructorArgs {
9
9
  netaceaCaptchaCookieAttributes: string;
10
10
  netaceaCaptchaPath?: string;
11
11
  protoMitataVariableName: string;
12
+ captchaContentNegotiation: boolean;
13
+ encryptedCookieNames: string[];
12
14
  }
13
15
  export interface CookieCodes {
14
16
  match: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@netacea/akamai",
3
- "version": "5.0.50",
3
+ "version": "5.0.52",
4
4
  "description": "Netacea Akamai CDN Integration",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",
@@ -20,7 +20,7 @@
20
20
  },
21
21
  "license": "ISC",
22
22
  "dependencies": {
23
- "@netacea/netaceaintegrationbase": "^1.16.56",
23
+ "@netacea/netaceaintegrationbase": "^1.16.58",
24
24
  "buffer": "^6.0.3",
25
25
  "jssha": "^3.3.0"
26
26
  },
@@ -67,5 +67,5 @@
67
67
  "tslib": "^2.0.3",
68
68
  "typescript": "^4.0.3"
69
69
  },
70
- "gitHead": "c9fda244751fa68f83dfd4b84c61670e4323a265"
70
+ "gitHead": "1e9c733b7c8c7a95bcf92dafdac2fbb57378250f"
71
71
  }