@cap-ts/soap-adapter 0.3.0-beta.4 โ 0.4.0
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/README.md +121 -53
- package/index.cds +7 -8
- package/package.json +1 -1
- package/src/_license/index.js +1 -1
- package/src/index.js +1 -1
- package/src/lib/_base/index.js +1 -1
- package/src/lib/_builder/index.js +1 -1
- package/src/lib/_client/index.js +1 -1
- package/src/lib/_loader/index.js +1 -1
- package/src/lib/_log/index.js +1 -1
- package/src/lib/_orchestrator/index.js +1 -1
- package/src/lib/_read/index.js +1 -1
- package/src/lib/_request/index.js +1 -1
- package/src/lib/_util/entity.js +1 -1
- package/src/lib/index.js +1 -1
- package/types/index.d.ts +8 -9
- package/types/lib/index.d.ts +64 -178
package/README.md
CHANGED
|
@@ -7,12 +7,12 @@
|
|
|
7
7
|
|
|
8
8
|
## ๐ฆ About
|
|
9
9
|
|
|
10
|
-
`@cap-ts/soap-adapter` turns a WSDL operation into a CAP entity: consumers declare the entity in `.cds` with a small set of `@Soap.*` annotations, ship an adapter subclass that shapes the SOAP request/response, and the plugin does the rest โ CSRF-safe HTTP routing (`/soap/**`), destination + JWT propagation, filter push-down, XML build/parse, response flattening, and an OData-style JSON response (`@odata.context`, `@odata.count`, `@odata.nextLink`). It is read only: writes are rejected with 405.
|
|
10
|
+
`@cap-ts/soap-adapter` turns a WSDL operation into a CAP entity: consumers declare the entity in `.cds` with a small set of `@Soap.*` annotations, ship an adapter class (the CAP service of the SOAP service, a subclass of `soap.Service`) that shapes the SOAP request/response, and the plugin does the rest โ CSRF-safe HTTP routing (`/soap/**`), destination + JWT propagation, filter push-down, XML build/parse, response flattening, and an OData-style JSON response (`@odata.context`, `@odata.count`, `@odata.nextLink`). It is read only: writes are rejected with 405.
|
|
11
11
|
|
|
12
12
|
| Area | Features |
|
|
13
13
|
| --- | --- |
|
|
14
14
|
| Model | Seven typed CDS annotations (`@Soap`, `@Soap.operation`, `@Soap.binding`, `@Soap.rootResponse`, `@Soap.path`, `@Soap.filterRestriction`, `@Soap.adapter`), checked by `cds compile` |
|
|
15
|
-
| Adapter
|
|
15
|
+
| Adapter class | A CAP service per SOAP service (`soap.Service`), found next to its `.cds` file (also in a `cds build` output), through `@Soap.adapter` or `cds.requires.<Service>.impl`; hooks `header()` (SOAP headers), `request()` (input message, push-down sentinels), `response()` (raw rows), `mock()` (offline), plus CAP's `before` / `on` / `after` |
|
|
16
16
|
| HTTP | `GET /soap/<path>/<Entity>` and `/<Entity>/<key>` with `$select`, `$filter`, `$orderby`, `$top`, `$skip` / `$skiptoken`, `$count`; OData-style JSON; `@requires` enforced |
|
|
17
17
|
| Queries | Fail-closed `$filter` parser, mandatory filter fields, one SOAP call per key value (`multipleSelection: false`), push-down or bounded in-memory evaluation with `@odata.nextLink` |
|
|
18
18
|
| In process | The SOAP service is a CAP service: other services read it with `srv.run(SELECT ...)` or `soap.read(...)` (e.g. `@cap-ts/remote-service-adapter`) |
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
๐ [CDS annotation reference (`@Soap.*`)](#-cds-annotation-reference-soap)\
|
|
30
30
|
๐ [HTTP endpoints and query options](#-http-endpoints-and-query-options)\
|
|
31
31
|
๐ [Using SOAP entities from other services](#-using-soap-entities-from-other-services)\
|
|
32
|
-
๐ [Adapter class API (`soap.
|
|
32
|
+
๐ [Adapter class API (`soap.Service`)](#-adapter-class-api-soapservice)\
|
|
33
33
|
๐งฐ [Utility API (`soap.*`)](#-utility-api-soap)\
|
|
34
34
|
โ๏ธ [Configuration (`cds.env.query.soap.*`)](#๏ธ-configuration-cdsenvquerysoap)\
|
|
35
35
|
๐ข [Multi-tenant destinations & JWT propagation](#-multi-tenant-destinations--jwt-propagation)\
|
|
@@ -97,12 +97,13 @@ Optional but recommended:
|
|
|
97
97
|
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
98
98
|
โ โ โ
|
|
99
99
|
โ โผ โ
|
|
100
|
-
โ Consumer srv/lib/BP.js (extends soap.
|
|
100
|
+
โ Consumer srv/lib/BP.js (class BP extends soap.Service) โ
|
|
101
101
|
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
102
|
-
โ โ init() {
|
|
102
|
+
โ โ async init() { โ โ
|
|
103
103
|
โ โ this.header(BusinessPartner, req => ({ Authorization: โฆ })); โ โ
|
|
104
104
|
โ โ this.request(BusinessPartner, (req, payload) => โฆ); โ โ
|
|
105
105
|
โ โ this.response(BusinessPartner, (req, rows) => rows.map(โฆ)); โ โ
|
|
106
|
+
โ โ await super.init(); โ โ
|
|
106
107
|
โ โ } โ โ
|
|
107
108
|
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
|
|
108
109
|
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
@@ -116,7 +117,7 @@ Optional but recommended:
|
|
|
116
117
|
OData-style GET endpoint at `/soap/<service path>/<Entity>`
|
|
117
118
|
```
|
|
118
119
|
|
|
119
|
-
Two-word summary: **annotate + subclass**. The plugin needs both โ the annotations tell it *what* to route, the subclass tells it *how* to marshal.
|
|
120
|
+
Two-word summary: **annotate + subclass**. The plugin needs both โ the annotations tell it *what* to route, the subclass tells it *how* to marshal. The subclass is the CAP service of the SOAP service: one instance, constructed at boot.
|
|
120
121
|
|
|
121
122
|
---
|
|
122
123
|
|
|
@@ -131,7 +132,7 @@ srv/
|
|
|
131
132
|
external/
|
|
132
133
|
BP.cds โ SOAP service model
|
|
133
134
|
lib/
|
|
134
|
-
BP.js โ adapter
|
|
135
|
+
BP.js โ adapter class (extends soap.Service)
|
|
135
136
|
wsdl/
|
|
136
137
|
BP.wsdl โ WSDL cached locally
|
|
137
138
|
package.json
|
|
@@ -180,13 +181,13 @@ service BP {
|
|
|
180
181
|
}
|
|
181
182
|
```
|
|
182
183
|
|
|
183
|
-
**3. Ship
|
|
184
|
+
**3. Ship the adapter class at `srv/external/lib/BP.js`** (`.ts` works too; see [Finding the adapter class](#finding-the-adapter-class)).
|
|
184
185
|
|
|
185
186
|
```js
|
|
186
187
|
const { soap } = require('@cap-ts/soap-adapter');
|
|
187
188
|
|
|
188
|
-
class BP extends soap.
|
|
189
|
-
init() {
|
|
189
|
+
class BP extends soap.Service {
|
|
190
|
+
async init() {
|
|
190
191
|
const { BusinessPartner } = this.entities;
|
|
191
192
|
|
|
192
193
|
this.request(BusinessPartner, (req, payload) => {
|
|
@@ -199,12 +200,14 @@ class BP extends soap.ApplicationService {
|
|
|
199
200
|
// Rows are the raw entries under `rootResponse`; `@Soap.path` mapping runs after this hook.
|
|
200
201
|
return rows.filter(r => r != null);
|
|
201
202
|
});
|
|
203
|
+
|
|
204
|
+
await super.init(); // registers the SOAP READ pipeline
|
|
202
205
|
}
|
|
203
206
|
}
|
|
204
207
|
module.exports = BP;
|
|
205
208
|
```
|
|
206
209
|
|
|
207
|
-
**4. Start `cds watch`.** The loader mounts GET routes under `/soap` + the service's `@path`, or, without `@path`,
|
|
210
|
+
**4. Start `cds watch`.** The boot line names the class it found (`serving BP { at: ['/soap/bp'], decl: 'srv/external/BP.cds:3', impl: 'srv/external/lib/BP.js' }`). The loader mounts GET routes under `/soap` + the service's `@path`, or, without `@path`,
|
|
208
211
|
its short name in lower case:
|
|
209
212
|
|
|
210
213
|
- `/soap/bp/BusinessPartner` โ the entity set (`$select`, `$count`, `$filter`, `$orderby`, `$top`, `$skip`; any other
|
|
@@ -227,7 +230,7 @@ Details: [HTTP endpoints and query options](#-http-endpoints-and-query-options).
|
|
|
227
230
|
| `@Soap.rootResponse: '<path>'` | entity | No | Same as `binding.rootResponse`, takes precedence. Default `<operation>Response`. |
|
|
228
231
|
| `@Soap.path: '<dot.path>'` | element | No | Where the element's value sits in one response entry. Default: the element name. |
|
|
229
232
|
| `@Soap.filterRestriction: { mandatoryFields, multipleSelection }` | entity | No | Fields `$filter` must contain (400 otherwise); `multipleSelection: false` = one SOAP call per key value. |
|
|
230
|
-
| `@Soap.adapter: '<
|
|
233
|
+
| `@Soap.adapter: '<module>'` | service | No | Adapter module (a path relative to the project root, or a package), instead of `cds.requires.<Service>.impl` or the file convention. |
|
|
231
234
|
|
|
232
235
|
All seven annotations (`@Soap` and the six `@Soap.*` below) are declared in the package's `index.cds` under the single canonical top-level namespace. `@Soap` (Boolean) only marks a service in the model; what makes a service SOAP-backed at runtime is `kind: "soap"` in `cds.requires`. They are real CDS typed annotations, so `cds compile` type-checks consumer usage โ typos and shape mismatches surface at build time, not at first request.
|
|
233
236
|
|
|
@@ -296,62 +299,116 @@ entity BusinessPartner { โฆ }
|
|
|
296
299
|
|
|
297
300
|
See ยง [Filter push-down & `filterRestriction`](#-filter-push-down--filterrestriction) below.
|
|
298
301
|
|
|
299
|
-
### `@Soap.adapter` *(scalar,
|
|
302
|
+
### `@Soap.adapter` *(scalar, service-level)* โ optional
|
|
300
303
|
|
|
301
|
-
|
|
304
|
+
The module of the service's adapter class: a path relative to the project root (with or without `./`, without
|
|
305
|
+
extension), or a package specifier resolved from the project root.
|
|
302
306
|
|
|
303
307
|
```cds
|
|
304
|
-
@Soap.adapter : '@my-org/bp-adapter'
|
|
308
|
+
@Soap.adapter : '@my-org/bp-adapter' // sibling package
|
|
305
309
|
service BP { โฆ }
|
|
306
310
|
|
|
307
|
-
//
|
|
308
|
-
|
|
309
|
-
entity BusinessPartner { โฆ }
|
|
311
|
+
@Soap.adapter : 'srv/adapters/BusinessPartner' // <root>/srv/adapters/BusinessPartner.{js,ts}
|
|
312
|
+
service BP2 { โฆ }
|
|
310
313
|
```
|
|
311
314
|
|
|
312
|
-
|
|
315
|
+
The adapter class is the service, so `@Soap.adapter` belongs on the service. On an entity it stops the start
|
|
316
|
+
(`@Soap.adapter on entity "<Entity>" is not supported since @cap-ts/soap-adapter 0.4`): register the entity's hooks in
|
|
317
|
+
the service class instead.
|
|
318
|
+
|
|
319
|
+
#### Finding the adapter class
|
|
313
320
|
|
|
314
|
-
|
|
315
|
-
2. Service-level `@Soap.adapter` (if set).
|
|
316
|
-
3. Filesystem convention: `<dir-of-the-.cds-file>/lib/<ServiceShortName>.{ts,js}`.
|
|
321
|
+
At startup the plugin looks for the class of each SOAP service, in this order:
|
|
317
322
|
|
|
318
|
-
|
|
323
|
+
1. `@Soap.adapter` on the service.
|
|
324
|
+
2. `impl` in the service's configuration (`cds.requires.<Service>.impl`, CAP's key for a service implementation). Same
|
|
325
|
+
values as `@Soap.adapter`; profiles apply (`"[production]": { "impl": "โฆ" }`).
|
|
326
|
+
3. The file convention: `<Service>.ts` or `<Service>.js` (`.ts` first) in the folder of the `.cds` file that declares
|
|
327
|
+
the service, in its `lib/` sub-folder, or in its `handlers/` sub-folder (the folders CAP searches as well).
|
|
319
328
|
|
|
320
|
-
|
|
329
|
+
The folder of rule 3 comes from the service's `@source`, which `cds build` writes into `csn.json`. So the same project
|
|
330
|
+
works under `cds watch` (the `.ts` file next to the `.cds` sources) and when it is served from the build output, e.g.
|
|
331
|
+
`gen/srv` on Cloud Foundry (the compiled `.js` file next to the compiled `.cds` folders).
|
|
321
332
|
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
333
|
+
A configured value that does not resolve is logged as an error and the next source is tried. The class must extend
|
|
334
|
+
`soap.Service`; a class of an earlier version stops the start with a [migration message](#migrating-from-03).
|
|
335
|
+
|
|
336
|
+
The boot line shows the result:
|
|
337
|
+
|
|
338
|
+
```text
|
|
339
|
+
serving BP {
|
|
340
|
+
at: ['/soap/bp'],
|
|
341
|
+
decl: 'srv/external/BP.cds:3',
|
|
342
|
+
impl: 'srv/external/lib/BP.js'
|
|
343
|
+
}
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
When nothing is found, the service still starts, its READs answer `501`, and a warning lists what was tried:
|
|
347
|
+
|
|
348
|
+
```text
|
|
349
|
+
[soap] no adapter class for BP; tried: @Soap.adapter (none), cds.requires.BP.impl (none), srv/external/{,lib/,handlers/}BP.{ts,js}. Its READs answer 501.
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
With `"strict": true` in `cds.requires.<Service>` (or `cds.env.features.strict`), a missing class stops the start
|
|
353
|
+
instead, so a broken build is caught at deployment and not at the first request.
|
|
325
354
|
|
|
326
355
|
---
|
|
327
356
|
|
|
328
|
-
## ๐ Adapter class API (`soap.
|
|
357
|
+
## ๐ Adapter class API (`soap.Service`)
|
|
329
358
|
|
|
330
359
|
[โ Table of Contents](#-table-of-contents)
|
|
331
360
|
|
|
332
|
-
Every SOAP-backed service ships an adapter class that extends `soap.
|
|
361
|
+
Every SOAP-backed service ships an adapter class that extends `soap.Service`. `soap.Service` is a CAP service
|
|
362
|
+
(`cds.Service`): the plugin constructs the class **once per service** at boot, like CAP constructs any service
|
|
363
|
+
(`new BP(name, model, options)`), and awaits its `init()`. Register the hooks in `init()` and end it with
|
|
364
|
+
`await super.init()`, which registers the SOAP READ pipeline.
|
|
333
365
|
|
|
334
366
|
```js
|
|
335
367
|
const { soap } = require('@cap-ts/soap-adapter');
|
|
336
368
|
|
|
337
|
-
class BP extends soap.
|
|
338
|
-
init() {
|
|
369
|
+
class BP extends soap.Service {
|
|
370
|
+
async init() {
|
|
339
371
|
const { BusinessPartner } = this.entities;
|
|
340
372
|
// register hooks โฆ
|
|
373
|
+
await super.init();
|
|
341
374
|
}
|
|
342
375
|
}
|
|
343
376
|
module.exports = BP;
|
|
344
377
|
```
|
|
345
378
|
|
|
346
|
-
|
|
379
|
+
- **No request state on `this`.** One instance serves every request; each hook gets the current request as `req`.
|
|
380
|
+
- **CAP handlers work as usual.** `this.before`, `this.on` and `this.after` registered before `await super.init()`
|
|
381
|
+
run around the pipeline; an `on('READ', โฆ)` handler runs instead of it unless it calls `next()`.
|
|
382
|
+
- **CAP can construct it too.** The plugin registers `kind: 'soap'` with CAP (`cds.requires.kinds.soap`), so a
|
|
383
|
+
`cds.connect.to('<Service>')` before the plugin started the service, or a mocked service under `cds watch`, works.
|
|
347
384
|
|
|
348
|
-
|
|
385
|
+
### Service properties
|
|
386
|
+
|
|
387
|
+
Available inside `init()` and the hooks via `this.*` (CAP's service API):
|
|
349
388
|
|
|
350
389
|
| Property | Type | Description |
|
|
351
390
|
| -------- | ---- | ----------- |
|
|
391
|
+
| `this.name` | `string` | The service name. |
|
|
352
392
|
| `this.entities` | `Record<string, Csn.Entity>` | CSN entity definitions for the service, keyed by entity short name. |
|
|
353
|
-
| `this.model` | `Csn.Model` | Full CSN model
|
|
354
|
-
| `this.options` | `object` |
|
|
393
|
+
| `this.model` | `Csn.Model` | Full CSN model. |
|
|
394
|
+
| `this.options` | `object` | The service's `cds.requires.<ServiceName>` entry (wsdl path, credentials, โฆ). |
|
|
395
|
+
|
|
396
|
+
### Migrating from 0.3
|
|
397
|
+
|
|
398
|
+
0.3 constructed `soap.ApplicationService` per request. Since 0.4 the class is the service:
|
|
399
|
+
|
|
400
|
+
| 0.3 | 0.4 |
|
|
401
|
+
| --- | --- |
|
|
402
|
+
| `class BP extends soap.ApplicationService` | `class BP extends soap.Service` |
|
|
403
|
+
| `init() { โฆ }` | `async init() { โฆ; await super.init(); }` |
|
|
404
|
+
| `this.req`, `this.entity`, `this.traceContext` | the `req` argument of the hook (`req.target`, `req.context.id`) |
|
|
405
|
+
| `@Soap.adapter` on an entity | `@Soap.adapter` on the service, or `cds.requires.<Service>.impl` |
|
|
406
|
+
| `soap.ApplicationService.stripSensitiveHeaders` / `.FORBIDDEN_SOAP_HEADERS` | `soap.Service.stripSensitiveHeaders` / `.FORBIDDEN_SOAP_HEADERS` |
|
|
407
|
+
|
|
408
|
+
A class that does not extend `soap.Service` stops the start with `the adapter class of SOAP service "<Service>" (<file>)
|
|
409
|
+
does not extend soap.Service`, followed by these steps. An `init()` that does not call `await super.init()` stops the
|
|
410
|
+
start as well (`init() of the adapter class of SOAP service "<Service>" (<file>) does not call "await super.init()"`):
|
|
411
|
+
without it the service has no READ pipeline.
|
|
355
412
|
|
|
356
413
|
### `this.header(entity, fn)` โ outbound HTTP headers
|
|
357
414
|
|
|
@@ -456,14 +513,14 @@ this.response(BusinessPartner, (req, rows) => {
|
|
|
456
513
|
- Several `response()` hooks run in registration order, each receiving the previous result. Always return an array:
|
|
457
514
|
a hook that returns `undefined` yields an empty result.
|
|
458
515
|
|
|
459
|
-
### `soap.
|
|
516
|
+
### `soap.Service.stripSensitiveHeaders(headers)` โ static helper
|
|
460
517
|
|
|
461
518
|
Returns a copy of a header map without the entries that must never reach a backend (auth tokens, session cookies, SAP passport, trace/correlation identifiers). Use it when a `header()` hook builds SOAP headers from a map it did not write itself, such as the inbound request headers:
|
|
462
519
|
|
|
463
520
|
```js
|
|
464
521
|
this.header(BusinessPartner, (req) => ({
|
|
465
522
|
// Everything from the inbound request except credentials, cookies and trace ids.
|
|
466
|
-
...soap.
|
|
523
|
+
...soap.Service.stripSensitiveHeaders(req.http?.req?.headers ?? {}),
|
|
467
524
|
TraceID: req.id
|
|
468
525
|
}));
|
|
469
526
|
```
|
|
@@ -497,17 +554,17 @@ Removed header names (case-insensitive):
|
|
|
497
554
|
| `sec-websocket-key` | WebSocket |
|
|
498
555
|
| `sec-websocket-accept` | WebSocket |
|
|
499
556
|
|
|
500
|
-
The full list is exposed as the frozen constant `soap.
|
|
557
|
+
The full list is exposed as the frozen constant `soap.Service.FORBIDDEN_SOAP_HEADERS` (a `readonly string[]`). Consumers can inspect or extend it:
|
|
501
558
|
|
|
502
559
|
```js
|
|
503
560
|
const { soap } = require('@cap-ts/soap-adapter');
|
|
504
561
|
|
|
505
562
|
// Inspect the built-in list
|
|
506
|
-
console.log(soap.
|
|
563
|
+
console.log(soap.Service.FORBIDDEN_SOAP_HEADERS);
|
|
507
564
|
|
|
508
565
|
// Extend with your own headers (create a new Set โ do not mutate the frozen array)
|
|
509
566
|
const myForbidden = new Set([
|
|
510
|
-
...soap.
|
|
567
|
+
...soap.Service.FORBIDDEN_SOAP_HEADERS,
|
|
511
568
|
'x-my-internal-token',
|
|
512
569
|
]);
|
|
513
570
|
const withoutForbidden = (headers) =>
|
|
@@ -522,7 +579,7 @@ this.header(BusinessPartner, (req) => withoutForbidden(req.http?.req?.headers ??
|
|
|
522
579
|
|
|
523
580
|
[โ Table of Contents](#-table-of-contents)
|
|
524
581
|
|
|
525
|
-
Beyond `
|
|
582
|
+
Beyond `Service`, the package exports a set of standalone utilities available directly on the `soap` namespace. These cover the low-level primitives the orchestrator uses internally โ consumers can call them directly when building advanced adapters, testing utilities, or routing logic.
|
|
526
583
|
|
|
527
584
|
```js
|
|
528
585
|
const { soap } = require('@cap-ts/soap-adapter');
|
|
@@ -567,7 +624,7 @@ One-shot SOAP read: assemble headers, build a real `cds.Request`, dispatch, and
|
|
|
567
624
|
|
|
568
625
|
```js
|
|
569
626
|
const rows = await soap.read(
|
|
570
|
-
srv, //
|
|
627
|
+
srv, // the SOAP service, e.g. cds.services.BP
|
|
571
628
|
'BusinessPartner', // entity short name (key into srv.entities)
|
|
572
629
|
req, // inbound CAP request (source of user, params, headers)
|
|
573
630
|
req.query, // CQN SELECT query
|
|
@@ -582,7 +639,7 @@ const rows = await soap.read(
|
|
|
582
639
|
|
|
583
640
|
| Parameter | Type | Required | Description |
|
|
584
641
|
| --------- | ---- | -------- | ----------- |
|
|
585
|
-
| `srv` | `
|
|
642
|
+
| `srv` | `soap.SoapService` | Yes | The SOAP service (`cds.services.<Name>`, an instance of its adapter class). |
|
|
586
643
|
| `entity` | `string` | Yes | Unqualified entity short name, e.g. `'BusinessPartner'`. |
|
|
587
644
|
| `req` | `cds.Request` | Yes | Source of `user`, `params`, and `headers`. |
|
|
588
645
|
| `query` | `object` | Yes | CQN SELECT query passed to `createRequest`. |
|
|
@@ -649,14 +706,17 @@ Everything the package exposes, values and types, lives under the single `soap`
|
|
|
649
706
|
import { soap } from '@cap-ts/soap-adapter';
|
|
650
707
|
|
|
651
708
|
const opts: soap.ReadOptions = { headers: {} };
|
|
652
|
-
class BP extends soap.
|
|
653
|
-
init(): void {
|
|
709
|
+
class BP extends soap.Service {
|
|
710
|
+
async init(): Promise<void> {
|
|
654
711
|
this.header('BusinessPartner', (req): soap.SoapHeaderObject => ({ value: {} }));
|
|
712
|
+
await super.init();
|
|
655
713
|
}
|
|
656
714
|
}
|
|
657
715
|
```
|
|
658
716
|
|
|
659
|
-
Available types: `soap.ReadOptions`, `soap.SoapService`, `soap.CdsEntityDef`, `soap.CsnEntityDefinition`, `soap.CreateRequestOptions`, `soap.CdsEntity`, `soap.CdsEntityElement`, `soap.SoapBindingConfig`, `soap.SoapHeaderObject`, `soap.
|
|
717
|
+
Available types: `soap.ReadOptions`, `soap.SoapService`, `soap.CdsEntityDef`, `soap.CsnEntityDefinition`, `soap.CreateRequestOptions`, `soap.CdsEntity`, `soap.CdsEntityElement`, `soap.SoapBindingConfig`, `soap.SoapHeaderObject`, `soap.HookTarget` (what a hook is registered for: an entity name, or an
|
|
718
|
+
object with a `name` such as an entity of `this.entities`). `soap.Service` brings CAP's service types (`this.on`,
|
|
719
|
+
`this.entities`, ...) from `@cap-js/cds-types`. There is no top-level export besides `soap`.
|
|
660
720
|
|
|
661
721
|
---
|
|
662
722
|
|
|
@@ -706,6 +766,8 @@ Per-service configuration lives in `cds.requires.<ServiceName>`:
|
|
|
706
766
|
| `wsdl` | `string` | **Yes** | Path to the WSDL file, relative to `cds.root`. |
|
|
707
767
|
| `credentials.destination` | `string` | **Yes** | Destination name, resolved via `@sap-cloud-sdk/connectivity` (BTP destination service, or the `destinations` environment variable locally). Without it the service fails with `No 'credentials.destination' configured`. |
|
|
708
768
|
| `credentials.path` | `string` | No | Path appended to the destination URL to form the SOAP endpoint. |
|
|
769
|
+
| `impl` | `string` | No | Module of the adapter class: a path relative to the project root, or a package. See [Finding the adapter class](#finding-the-adapter-class). |
|
|
770
|
+
| `strict` | `boolean` | No | `true`: a missing adapter class stops the start instead of a warning and 501 answers. |
|
|
709
771
|
|
|
710
772
|
The service is looked up in `cds.requires` by its **short name** (the last segment of the service name).
|
|
711
773
|
|
|
@@ -964,7 +1026,8 @@ Error bodies are `{ "error": { "code", "message", "@Common.numericSeverity": 4 }
|
|
|
964
1026
|
| `@requires` set and no authenticated user / user without the role | 401 / 403 |
|
|
965
1027
|
| Read by key without a row | 404 `Entity instance not found.` |
|
|
966
1028
|
| CREATE / UPDATE / DELETE | 405 |
|
|
967
|
-
| No adapter class
|
|
1029
|
+
| No adapter class found for the service | 501 `No adapter class for SOAP service "<Service>" (entity "<Entity>"): see the "[soap] no adapter class" warning in the startup log` |
|
|
1030
|
+
| A hook rejects with `req.reject(<status>, <message>)` | that status; the message for 4xx and 501, `SOAP integration call failed` for other 5xx |
|
|
968
1031
|
| SOAP fault, network or destination error, any other failure | 500 `SOAP integration call failed` (details only in the redacted log) |
|
|
969
1032
|
| One fan-out call fails | the whole request fails |
|
|
970
1033
|
| Empty answer | `value: []` (`@odata.count: 0` with `$count`) |
|
|
@@ -988,13 +1051,15 @@ grace period is over. Contact SAP-Code-World for a new token. See [Licence](#lic
|
|
|
988
1051
|
|
|
989
1052
|
**Symptom:** `GET /soap/bp/BusinessPartner` returns `404` (no route) or `501` (no adapter class).
|
|
990
1053
|
|
|
991
|
-
**Cause:** The loader skips entities without `@Soap.operation`, and a request fails with 501 when no adapter class was found for the
|
|
1054
|
+
**Cause:** The loader skips entities without `@Soap.operation`, and a request fails with 501 when no adapter class was found for the service. The startup log says what was searched (`[soap] no adapter class for <Service>; tried: โฆ`), and the boot line shows `impl: 'undefined'`. Check that:
|
|
992
1055
|
|
|
993
1056
|
1. The entity has `@Soap.operation: '<WsdlOperationName>'` in its `.cds` model.
|
|
994
1057
|
2. The service is declared with `kind: "soap"` in `cds.requires`.
|
|
995
1058
|
3. The `.cds` file is reachable from `cds.model` (i.e., it is `using`-imported somewhere in the model graph).
|
|
996
1059
|
4. The URL uses the service's `@path`, or its short name in lower case.
|
|
997
|
-
5. The adapter class resolves (see [Adapter class not loaded](#adapter-class-not-
|
|
1060
|
+
5. The adapter class resolves (see [Adapter class not found or not loaded](#adapter-class-not-found-or-not-loaded)). An
|
|
1061
|
+
application served from a build output (`gen/srv`) needs the compiled `.js` file in one of the searched folders of
|
|
1062
|
+
the compiled `.cds` folder structure, or `impl` / `@Soap.adapter` pointing to it.
|
|
998
1063
|
|
|
999
1064
|
---
|
|
1000
1065
|
|
|
@@ -1016,7 +1081,7 @@ grace period is over. Contact SAP-Code-World for a new token. See [Licence](#lic
|
|
|
1016
1081
|
|
|
1017
1082
|
**Cause:** You are reading `entity['@Soap.binding']` directly. The CDS compiler serialises struct annotations as **flat leaf CSN keys** (`entity['@Soap.binding.rootRequest']`), not as a nested object. The loader's `readSoapStructAnnotation` helper reassembles these โ but only after the `served` event fires.
|
|
1018
1083
|
|
|
1019
|
-
**Fix:** Read
|
|
1084
|
+
**Fix:** Read the binding after `cds.on('served', โฆ)`, e.g. from `this.entities` inside a hook (at request time).
|
|
1020
1085
|
|
|
1021
1086
|
---
|
|
1022
1087
|
|
|
@@ -1032,13 +1097,16 @@ node -e "const cds = require('@sap/cds'); console.log(cds.root)"
|
|
|
1032
1097
|
|
|
1033
1098
|
---
|
|
1034
1099
|
|
|
1035
|
-
### Adapter class not
|
|
1100
|
+
### Adapter class not found or not loaded
|
|
1036
1101
|
|
|
1037
|
-
**Symptom:** Boot logs `adapter
|
|
1102
|
+
**Symptom:** Boot logs `[soap] no adapter class for <Service>`, `adapter "โฆ" of @Soap.adapter could not be resolved`,
|
|
1103
|
+
`Failed to load adapter at "โฆ"`, or stops with `โฆ does not extend soap.Service`.
|
|
1038
1104
|
|
|
1039
1105
|
**Fix checklist:**
|
|
1040
1106
|
|
|
1041
|
-
1. The module
|
|
1107
|
+
1. The module must export the class as `module.exports` or `default` (not `exports.MyClass`), the class must
|
|
1108
|
+
extend `soap.Service`, and its `init()` must end with `await super.init()` (see
|
|
1109
|
+
[Migrating from 0.3](#migrating-from-03)).
|
|
1042
1110
|
2. If using TypeScript, something must load `.ts`: `cds watch` / `cds-tsx`, `tsx`, Node 22.18 or later, or `ts-node`
|
|
1043
1111
|
(`npm i -D ts-node`). The `Failed to load adapter` error of a `.ts` adapter lists these options.
|
|
1044
1112
|
3. For monorepo sibling packages, ensure the package is listed in `dependencies` and `npm install` has run.
|
package/index.cds
CHANGED
|
@@ -53,13 +53,12 @@ annotation Soap.filterRestriction {
|
|
|
53
53
|
};
|
|
54
54
|
|
|
55
55
|
/**
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
* `<cds-dir>/lib/<ServiceShortName>.{ts,js}`.
|
|
56
|
+
* Service only: the module of the service's adapter class (a subclass of
|
|
57
|
+
* `soap.Service`), as a path relative to the project root (with or without
|
|
58
|
+
* `./`, without extension) or a package specifier resolved from the project
|
|
59
|
+
* root. It comes before `cds.requires.<Service>.impl` and the file
|
|
60
|
+
* convention `<Service>.{ts,js}` in the folder of the service's `.cds` file
|
|
61
|
+
* (`@source` of a compiled model), its `lib/` or its `handlers/` folder.
|
|
62
|
+
* On an entity it stops the start: the adapter class is the service.
|
|
64
63
|
*/
|
|
65
64
|
annotation Soap.adapter : String;
|
package/package.json
CHANGED
package/src/_license/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var _0x36c312=_0x4584;function _0x17ec(){var _0x4fd064=['mCocW5a','bY/cJCkdBqVcUmoSsq5l','qmogWOK/WQC','aCo3sSoObLFcPgmCla','WRikW6uWgCkhaG','WO7cLSo9W7pdLCkns8kCWPm','jaRcRSkSqq','WQjEW53dQ1FcL8k3W5nBWQ3cIZFdVujtWP0GWQlcSGxcNSkNW54pWR1KW6K3W6ddVSo2WRvRW5C','BeDDkedcH28VW6/cKmkcmGJdHa','W5BcU8kOwmkFWOS','amo+WQddQCoWW7HJz8omWRikca','zeZdTSo+ha3cR8onxdnU','k2/dOa','nJRcMs3cSXr+','iZWstWtcJ8oNwCo5rqxcK8oqWPa6W593','WPRcMbFcOaldQa','WRNcGuddNuf7','W6ldNSkgwSke','eCkmW4C','WRqVyY0RWPy/WP0PrK7cIcVdIIRdUSobW4BcJSkO','Emk2WRRcIapdSuD0W6VdJcPp','zSoPWRFdTmk5','mHtcQCkGvIVcGSoRztr9W5NdMYu','W5q0i8oPW40TbmomW7y','WOhdJmket8oE','WPFcRWpdTwee','WPKPtYPx','wu93WQOG','WOBdSCoqW7XfgtNcG2qtW6JcKxNcRmozy8omuSkz','gSkbW5PqWP/dGG','W50kk8kLbG','hHGSW7D1W5hdL2FcO8k7WOhcQG','W4FdLGLVwHJcTG','WQxcOv7dTe4','e8oSs8oO','omodW4hcRmkk','sSoYWPSVWOpdIa','FrOcFHpdKcPYW7pdVmk3hMC','najlDaxcNJD4W6pdVmk1ecVdMSkIogldUCoFu8oLc8kE','WQCaW7O9hSkbbq','e8ojl3BcMJ4','W4pcPSkLwmkF','W4pdIWK8qb/cTSksf0ddJJnmDCoojCkxjmkIc1W2W5VdKqzwWQ03','W4ZdJr95srm','WQZcVmomW5NdOSkrESkVWQeijfhdMCkUW4jjhhldSq','WOyQqa1UoJ4CW4hcRa','cCklWOi','W6tdLYnLyq','b8oGv8oLfu0','ydJcHXdcTW','WPlcRXxdQa','v2XVW6pcVa','W4pcMSoKWOtdI8k7W4Pa','WPRcSG0','kComjwxcVq','WODgrW','umkuWOdcTJ/dMwa','a8odW4lcQIa','tSo7WO4sWOFdLSom','W4VcIbHCs1hcIgnZW7xcLLW6WPfTWPKDtGa8WOpcPSke','W4/cSmkPftVcPWb7','WQZdLmoYW41gkWW','ysSEybG','aCoWW6BcRCk5','tSkBWOtcUq','W57dTSkfCZVcVcilW7NcOIuBeNGpiSozWRldGsexeNyzb8oPsbhcUgJdLGGKWO96','sCkiWPNcSYBdK3a','W5DmW57dRSkGzmo0xH4tb8o7Bq','mmo/lwpcVr3dU8oXuG3cNYVdH8odx1zKbmk1jmkIWRJdSmkTA1efW6tcKHhcMqq6lf1OhK0XW7pcLCkHpbJdJCoyAwhdKeFcNdVcNh7cPJODaulcSa','oK8nW6O7WRVcVq','WRJcLdNdGfS4zNpdPSkHW6hdQsKB','e07dGSkWW68','yY8nybi5','WRHpWQG6AW','W7niWPjuWQi','swXWW4xcR3O','W6y7pmkleKxcVGqBWPVdNmorWPW','jmkgWORdSmkzW6tcIwddSCkoy1StrXRdQaqCiCoTtSoOjSkMW4zBarVcQSo4WP1hWOxcSYLYWPK','xIOLmCkd','W4jZW6nSC8kAWRHzm8os','EeHJWOuX','WPNdP8kEbYBcUsi','W6FdKbRdGwDgWQFdKCod','WQWAWReRd8onWOHynSoJe8kr','WRikW6uWgCklh1y','WOFcQbG','mHNcNCod','rhvZW6pcQNed','Dt/cPJZcVa','nauQBWtdNYa','WRpdUCoKoGhdKYlcPa','ymo8WRG1WR8','iXm0Bba','WOZcPY7dRKu','fmkCWOy','aINcKCoJWP4','tWdcHXhcIa','WR/cLWRdKveVWRZdICoSWPtdRmkspHddOv3dGLhcKrtdV2hdTG','wCo/WOG1WOS','hM1AWRG','W4VcGqLpr03cJNvZW7pcI1W','jCk7WRZdRCku','WPJcKbblsW','W77cVCoKqmktWPPAWOz/WOldQ2vSt1e','WOGwWO3cTq','WPimWORcRSo1','o8kGWPTAWP7dNrxcOa','pmohW5tcMXtdVHe','W5ZcT8kQs8koWPe','bCkBWQddImkH','WR/cKgVdILbUWQC','r8kfWO3dP8kDW6NcNIxcGG','WPiwW5ekkG','nbhcUmkAqG','jMupWPVdLa','WR3cQCkCW7G7uSkJWPaUW6/dG2STra8','WOFcRrBdRge','W7BcJ8ozwmote8oCwSkC','fSk+WQ3dQ0W','WPRcGaZcQGK','wtSHDb8','W7FcJ8oIWQxdMG','DJ7cLaVcOa','omoKeL3cRrxdVCoIwg3cHXxdImo9rvnqlmkh','BctcKXa','rYGsWRvky8olt8ogWPFdIufPiuZdQ8oQefCoWQ5bWQxdTSk/WR8','h8opb1RcNq','wYKUoW','nY/cTmoaWOe','amkBWOxdP8kD','WR1jW75Vv8khWRLiF8oymCoO','eZ/cICkoCqtcS8o4sWvzW7tdRr8/D29M','WPFcLSk3W484','tcKzkSkdW75FW7S','bmogW5ldNG','WRZdVCoKoG','WQBdNCkpqCokomoCymkQhdZcNYBdKW','hCkAW5rEWO/dLbvF','uwnpcvJcNCkrCSokzXtcJCo6','WOJdSSkBrSoP','WO8dW5yueW','W5OUsxqA','mM/dQmkOW4C','WPpcVrxcUY8','WO3cLH5s','aSoqW47cI8oKWPaGW5S','n8kfWPPmWRG','WORcJ8oRW4xdLG','W7OKDG','rSouWRWkWRG','WQlcQr3cMca','qmoQW5OIWOhdNSoAj8kyw3hcJ8kLW442n3Su','W4tcHComWRtdOCk3W5DwxtyT','WQxcHKBdNuf7WPldJ8o6WP/dPSoblW','WPmQvt1toda','WRLDWQm1vq','pmkfW7PvWPG','fSo3rmoVfG','W5biW53dQCkPgCkbwYyOeW','bmkgW5HwWO/dKWq','WOtcNYH5xrpcPSoCaLZdNMffpmojl8kCnmoNsW','kv4jWQNdTq','f8kyW5zBWPFdGW','hSoqi33cKJ8','jCkMWORdN2C','W5JdL8kUWQpcImo6fCk8WQywh3tdHa','lmodr8k3W4afc8kuWQukxMjoWOm','WQ3dMSkdtCohkq','WQBcKuxdNfDSWQO','aSoWrW','W6FcUCoiWPhdHG','pH3cQCkJuW','qJiYfSk3','WOaNreLzotqqW4lcRcO1jSobW5pdL8oQwSkRkmoMW5zZWOzxpHiAkIaZW4Cjumo3smoiW4tcQmoL','kmohW4y','t8o3WPyYWOVdIq','sSkpWPq','W4xdRuZcTIWGzuxdG8kOW7q','sZyMn8kf','vbNcGHBcTW','peGE','n3JdQmkS','W5lcI8o2WOlcMmoqW5zwwa','fZWzCZS','W7ZcO8ogWQldOmk3W6z7FqSzWO92WRu','qCktWQxcNsK','fXNcRSk/ctZcLmkiAsrX','bmk+WOldJKe','lIOwwqK','DGJcGtpcQq','WRxcQCkAW7OW','W43dJrT/vG','WQpcPHFcPYe','W5BcJ8oKWPpdM8kwW4zx','W5ZdKrzPEq','wtmgWQLFzmogySoFWR3cNW','vmo0WPhdISowW5LYCCkfWRmd','WQVdLSkkrmoroCoPyq','ACkEaSoOWPbpC8ooWQqaCvzA','W58ucCkHp2VcNW','WRldI8kPfGhcHWj0W5dcMrqXlKqPtCoPWPJdUq','BsVcHJdcSHm','WRXUymoXvCobDmoLWQbUD8kAWQC','uGxcTbFcSa','BbdcRq7cKW','xt46mCkdW6nc','WRj+WO/dS0S','r8o8WPW','smkOpCo3WP4','WRFcNcRdKuy0B2xdRmk3W7ZdRYKwh8kRjSkStrOV','W5mTimoLWOL8aG','WOtcRXxdOwaivW','WRpdGSoKptG','Fe0qWRddQ2BdLG','W6pcPColWOZdIG','WOiuWORcS8o9iq','ytGdDrq7F2G','WPSKW5Cbha','rSoPWR3dVmoJW68','WP08uG','W4DVWRXDWPvN','W4dcMmoQWOpdM8khW5C','qaCpqZu','W4pcNSoKWPpdIW','WR3dT8o0jW','WPhcG8o9W4BdNa','WQxdMSoXpdK','uSkFWO/cPa','WOxcJCo/W7xdNSk7qmkCWQy/c2ZdOSkBW7G','jbu7EZxdO8o1AColEsdcOSoSW68rW6XjcG','W5FcT8kWEmktWPrA','jmkfWOVdSCkCWQFcUY/dL8kHvWqPca3dVuGOkW','WPNcLSoZW7tdHCkRuq','D8o9WO/dVCoJ','WOJcIJtcOci','zmouWOVdRmov','FGuRWQhdKNFdJ3e','W6tcGSoGW4C','W6fgWQbTw8ouqL1ztbzCCG','WQHoWO7cReFdLSk0W45pW63cGJRcVLbuWPOTWQldRGVcLmo1WOSeWQ5RW6SWW6lcU8k9WQr6WPldQ8oBmmo+acxdKrToW7Osp8oiWQeOW7BdOLHqD3xcN2WMkmopW4LKEdVcSmoKcmk2gmoBWQddOmoQjW','ySovW4dcICoP','ASkpfSk5','W4rwWRTcWRW','umkoW5BcVIdcKgPqW57cQW48ECo1W4KAnqb8WR3cPSkmiL3cLSoJWOtcUCozW6pdO2bZWQDgW61tW6Clhe/dRmkyDhxcHCoYWP3dLZ3dGwNdLw5dCSoBWQBdVSkvoW','gSkBW4a','W5/cMmoI','WQ/dGmoJW5b5iXlcUW','WR7cVSkvW74HuW','emo9BSobga','yJ4nzXG','CcNdISkAW5BdM8o+W5G','mKKO','WQxcL0VdILz8WONdJ8oTWPi','yHbrW4/cSeRdQNXUW4JcVCktWPtdJmowW5KIWP7dNZRcTdlcOw8','WPhcKXDyra','W5JdL8kSW6NdTCkbxmkpWRO','W6C3hmkqgW','k8oaW67cICk7WOuQ','xmkcWOy','f8kvW4CFWO7dGW','ieG+W7eNWR0','ms4nAG53DN5JWPvyWPWjWR3dJuG3CKrkW7VcNqars8oRcSouW6RcUZhdOIXeW4KcW4ddSmotfMFcRCoqWPa','W5vpW5VcQSoNhmkxEHm','iapcL8ko','WOtcHrBcUGxdOCkg','WP47sa','WQBdM8o8oai'];_0x17ec=function(){return _0x4fd064;};return _0x17ec();}(function(_0x586215,_0x52cba1){var _0x2d5391=_0x4584,_0x3bb9e4=_0x586215();while(!![]){try{var _0x5a14f5=-parseInt(_0x2d5391(0x28f,'eSpf'))/0x1*(-parseInt(_0x2d5391(0x1d2,'Q47F'))/0x2)+-parseInt(_0x2d5391(0x2c6,'Q47F'))/0x3*(-parseInt(_0x2d5391(0x27b,'j6cd'))/0x4)+parseInt(_0x2d5391(0x1ec,'eSpf'))/0x5*(-parseInt(_0x2d5391(0x1fc,'9wg&'))/0x6)+-parseInt(_0x2d5391(0x1d4,'aU0g'))/0x7+-parseInt(_0x2d5391(0x1f9,'6EGX'))/0x8+parseInt(_0x2d5391(0x244,'Qa5z'))/0x9*(-parseInt(_0x2d5391(0x1e5,'FRiu'))/0xa)+-parseInt(_0x2d5391(0x297,'yFG)'))/0xb*(-parseInt(_0x2d5391(0x22d,'PpUn'))/0xc);if(_0x5a14f5===_0x52cba1)break;else _0x3bb9e4['push'](_0x3bb9e4['shift']());}catch(_0x4b5872){_0x3bb9e4['push'](_0x3bb9e4['shift']());}}}(_0x17ec,0xb77dd),(Object[_0x36c312(0x279,'fQhC')](exports,_0x36c312(0x240,'Qa5z'),{'value':!0x0}),exports[_0x36c312(0x1f2,'9wg&')]=exports[_0x36c312(0x2bb,'S1h^')]=exports[_0x36c312(0x237,'E2Y#')]=exports[_0x36c312(0x2b9,'PpUn')]=exports[_0x36c312(0x26c,'#DrJ')]=exports[_0x36c312(0x274,'9wg&')]=exports['ALL_PACKAGES']=void 0x0,exports[_0x36c312(0x207,'9wg&')]=enforceLicense,exports['grants']=grants,exports[_0x36c312(0x1ca,'FRiu')]=licensedFeature,exports[_0x36c312(0x21e,'REDa')]=readTokens,exports[_0x36c312(0x28a,'$gBM')]=selectLicense,exports[_0x36c312(0x2b7,'yFG)')]=verifyLicense));let crypto=require(_0x36c312(0x20a,'E2Y#')),LICENSE_ISSUER=_0x36c312(0x1e9,'x1ZC'),PACKAGE_SCOPE=(exports[_0x36c312(0x2a9,'U5Yx')]=LICENSE_ISSUER,_0x36c312(0x282,'Ri8F')),ALL_PACKAGES=(exports[_0x36c312(0x23d,'f)sU')]=PACKAGE_SCOPE,'@cap-ts/*'),ESI_PACKAGE=(exports[_0x36c312(0x205,'AMZm')]=ALL_PACKAGES,_0x36c312(0x2ab,'9wg&')),EXPIRY_WARNING_DAYS=0x1e,DEFAULT_GRACE_DAYS=(exports[_0x36c312(0x21d,'FRiu')]=EXPIRY_WARNING_DAYS,0x1e),CONFIG_HINT=(exports[_0x36c312(0x1cb,'j6cd')]=DEFAULT_GRACE_DAYS,_0x36c312(0x1d5,'(xgt')),CONTACT=_0x36c312(0x23e,'7LMA'),DAY_MS=0x5265c00,PUBLIC_KEYS=Object[_0x36c312(0x21c,'C2f@')]({'cap-ts-2026-09':[_0x36c312(0x26e,'2MMK'),_0x36c312(0x235,'#DrJ'),_0x36c312(0x1e3,'Q47F')][_0x36c312(0x1c6,')Fok')]('\x0a')}),LICENSE_ERROR_CODES=(exports['PUBLIC_KEYS']=PUBLIC_KEYS,Object[_0x36c312(0x2cd,'fxpv')]({'missing':'CAPTS_LICENSE_MISSING','invalid':_0x36c312(0x2c2,'E2Y#'),'expired':'CAPTS_LICENSE_EXPIRED'}));function grants(_0x2ba2b2,_0x145665){var _0x3c5917=_0x36c312;return _0x2ba2b2=Array[_0x3c5917(0x24a,'6EGX')](_0x2ba2b2)?_0x2ba2b2:[_0x2ba2b2],_0x2ba2b2[_0x3c5917(0x27a,'x1ZC')](_0x145665)||_0x145665[_0x3c5917(0x1e2,'$gBM')](PACKAGE_SCOPE)&&_0x2ba2b2[_0x3c5917(0x2b6,'fQhC')](ALL_PACKAGES);}function invalid(_0x2c6b4e,_0x3b75e4,_0x443f2c){var _0xe5b714=_0x36c312,_0x5613c9={'cDFnY':_0xe5b714(0x2b8,'f)sU')};return{'state':_0x5613c9[_0xe5b714(0x271,'TIE8')],'product':_0x2c6b4e,'reason':_0x3b75e4,'claims':_0x443f2c};}function decodeSegment(_0x55a778){var _0x566eb7=_0x36c312,_0x3e7a72={'czUJp':_0x566eb7(0x1d7,'yFG)')};return JSON[_0x566eb7(0x22f,'(A7y')](Buffer[_0x566eb7(0x281,'Iy]b')](_0x55a778,_0x566eb7(0x208,'&ZYw'))[_0x566eb7(0x276,'CF@(')](_0x3e7a72['czUJp']));}function verifySignature(_0x48e5bd,_0x1e81a3,_0x1c9c81){var _0x4b781a=_0x36c312,_0x5cdcf9={'IbBsQ':_0x4b781a(0x2a7,'U5Yx')};try{return crypto[_0x4b781a(0x221,'50ll')](null,Buffer[_0x4b781a(0x247,'TIE8')](_0x48e5bd),_0x1c9c81,Buffer[_0x4b781a(0x223,'E2Y#')](_0x1e81a3,_0x5cdcf9[_0x4b781a(0x24c,'zuax')]));}catch{return!0x1;}}function checkBinding(_0x1c68b0,_0x12d728){var _0x515dde=_0x36c312,_0x52b90c={'KExQL':_0x515dde(0x1ff,'j6cd'),'SmuTZ':function(_0x1c984d,_0x5878f6){return _0x1c984d+_0x5878f6;}},_0x13e506,_0x5410be,_0x2676f0;for([_0x13e506,_0x5410be,_0x2676f0]of[[_0x1c68b0?.[_0x515dde(0x1db,'U5Yx')],_0x12d728?.[_0x515dde(0x264,'PQf!')],_0x52b90c[_0x515dde(0x287,'UNid')]],[_0x1c68b0?.[_0x515dde(0x1f7,'9wg&')],_0x12d728?.[_0x515dde(0x225,'U5Yx')],_0x515dde(0x1cd,'7LMA')]])if(Array[_0x515dde(0x1e7,'Ri8F')](_0x13e506)&&0x0!==_0x13e506[_0x515dde(0x25d,'2^Q)')]&&(!_0x5410be||!_0x13e506['includes'](_0x5410be)))return _0x52b90c[_0x515dde(0x22a,'ig4&')](_0x515dde(0x252,'$gBM'),_0x2676f0);}function _0x4584(_0x52482f,_0x11b517){_0x52482f=_0x52482f-0x1c5;var _0x17ec1a=_0x17ec();var _0x4584f7=_0x17ec1a[_0x52482f];if(_0x4584['CfWOOj']===undefined){var _0x369831=function(_0x1c6803){var _0x3aa4d4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x1f511b='',_0x267696='';for(var _0x1c0e47=0x0,_0x146e3d,_0x873e52,_0x590841=0x0;_0x873e52=_0x1c6803['charAt'](_0x590841++);~_0x873e52&&(_0x146e3d=_0x1c0e47%0x4?_0x146e3d*0x40+_0x873e52:_0x873e52,_0x1c0e47++%0x4)?_0x1f511b+=String['fromCharCode'](0xff&_0x146e3d>>(-0x2*_0x1c0e47&0x6)):0x0){_0x873e52=_0x3aa4d4['indexOf'](_0x873e52);}for(var _0x317c08=0x0,_0x8f504a=_0x1f511b['length'];_0x317c08<_0x8f504a;_0x317c08++){_0x267696+='%'+('00'+_0x1f511b['charCodeAt'](_0x317c08)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x267696);};var _0x122397=function(_0xc62652,_0x128980){var _0x16cc53=[],_0x4c0ad5=0x0,_0x5a4fd8,_0xd10f19='';_0xc62652=_0x369831(_0xc62652);var _0x5c7a4c;for(_0x5c7a4c=0x0;_0x5c7a4c<0x100;_0x5c7a4c++){_0x16cc53[_0x5c7a4c]=_0x5c7a4c;}for(_0x5c7a4c=0x0;_0x5c7a4c<0x100;_0x5c7a4c++){_0x4c0ad5=(_0x4c0ad5+_0x16cc53[_0x5c7a4c]+_0x128980['charCodeAt'](_0x5c7a4c%_0x128980['length']))%0x100,_0x5a4fd8=_0x16cc53[_0x5c7a4c],_0x16cc53[_0x5c7a4c]=_0x16cc53[_0x4c0ad5],_0x16cc53[_0x4c0ad5]=_0x5a4fd8;}_0x5c7a4c=0x0,_0x4c0ad5=0x0;for(var _0x573302=0x0;_0x573302<_0xc62652['length'];_0x573302++){_0x5c7a4c=(_0x5c7a4c+0x1)%0x100,_0x4c0ad5=(_0x4c0ad5+_0x16cc53[_0x5c7a4c])%0x100,_0x5a4fd8=_0x16cc53[_0x5c7a4c],_0x16cc53[_0x5c7a4c]=_0x16cc53[_0x4c0ad5],_0x16cc53[_0x4c0ad5]=_0x5a4fd8,_0xd10f19+=String['fromCharCode'](_0xc62652['charCodeAt'](_0x573302)^_0x16cc53[(_0x16cc53[_0x5c7a4c]+_0x16cc53[_0x4c0ad5])%0x100]);}return _0xd10f19;};_0x4584['JNzOaZ']=_0x122397,_0x4584['MpMmSO']={},_0x4584['CfWOOj']=!![];}var _0x40d3be=_0x17ec1a[0x0];_0x4584['uRTrIH']!==_0x40d3be&&(_0x4584['MpMmSO']={},_0x4584['uRTrIH']=_0x40d3be);var _0x191e8a=_0x4584['MpMmSO'][_0x52482f];return _0x191e8a===undefined?(_0x4584['umpcnb']===undefined&&(_0x4584['umpcnb']=!![]),_0x4584f7=_0x4584['JNzOaZ'](_0x4584f7,_0x11b517),_0x4584['MpMmSO'][_0x52482f]=_0x4584f7):_0x4584f7=_0x191e8a,_0x4584f7;}function verifyLicense(_0x1ee8c6,_0x4402fd){var _0x4195bc=_0x36c312,_0x49a775={'RUKlM':_0x4195bc(0x1ea,'%KxE'),'oJFLV':'missing','qCaqO':function(_0x392c44,_0x5d7cb5){return _0x392c44!==_0x5d7cb5;},'iXsyI':function(_0x5a1c08,_0x57c92d,_0x198ec1){return _0x5a1c08(_0x57c92d,_0x198ec1);},'VBcMF':_0x4195bc(0x1d9,'AMZm'),'PwdFI':function(_0x12f2d1,_0x3796c6){return _0x12f2d1(_0x3796c6);},'fcuKh':'its\x20header\x20or\x20payload\x20is\x20not\x20valid\x20JSON','RdzSF':_0x4195bc(0x261,'aU0g'),'eKbzS':function(_0x1d684a,_0x92dbf0,_0x40dc72){return _0x1d684a(_0x92dbf0,_0x40dc72);},'vnluJ':function(_0xaa834f,_0x3e3613){return _0xaa834f(_0x3e3613);},'WSMvh':function(_0x2ecd20,_0x27c2ef){return _0x2ecd20+_0x27c2ef;},'LVBXw':_0x4195bc(0x1f8,'(xgt'),'JJrnM':function(_0x2a07e1,_0x12e135,_0x4a494d,_0x168fd9){return _0x2a07e1(_0x12e135,_0x4a494d,_0x168fd9);},'GegBt':function(_0x25f604,_0x385f22){return _0x25f604+_0x385f22;},'xiSJz':function(_0x157562,_0x42dd04){return _0x157562!=_0x42dd04;},'TpgqB':_0x4195bc(0x201,'$gBM'),'CCIVp':function(_0x213043,_0x58accf,_0x22bc3d){return _0x213043(_0x58accf,_0x22bc3d);},'QSwir':function(_0x57fc73,_0x54ed69){return _0x57fc73!==_0x54ed69;},'hmQqt':function(_0x4a2408,_0x3602a6){return _0x4a2408===_0x3602a6;},'igflw':function(_0x787b20,_0x5c05b5){return _0x787b20!=_0x5c05b5;},'NhYyR':_0x4195bc(0x20e,'x1ZC'),'SONkd':function(_0x8d58ae,_0x415f56,_0x2f2423){return _0x8d58ae(_0x415f56,_0x2f2423);},'xgaVl':_0x4195bc(0x29e,'REDa'),'WOAhu':_0x4195bc(0x288,'zuax'),'zwfgj':function(_0x5a03f7,_0x4728de){return _0x5a03f7==_0x4728de;},'kpTeU':function(_0x65e1d1,_0x384cb4){return _0x65e1d1<_0x384cb4;},'eMKus':function(_0x3762e4,_0x3e7b9a){return _0x3762e4*_0x3e7b9a;},'cVYWs':_0x4195bc(0x217,'6EGX'),'CjDvH':function(_0x350b24,_0x39c638){return _0x350b24*_0x39c638;},'Nzkci':function(_0x304aad,_0x3cb1a6,_0x427e08){return _0x304aad(_0x3cb1a6,_0x427e08);},'dKjBC':function(_0x4dead1,_0x3167db){return _0x4dead1*_0x3167db;},'WfWdz':function(_0x5e913d,_0x48498c){return _0x5e913d==_0x48498c;},'zQprC':function(_0x3107da,_0x2fefc8){return _0x3107da<=_0x2fefc8;},'YnWQD':function(_0x4e2c5e,_0x4f7582){return _0x4e2c5e*_0x4f7582;},'iZXqV':function(_0x568b4c,_0x140e61){return _0x568b4c-_0x140e61;},'EMLVm':function(_0x10c1ac,_0x42bc25){return _0x10c1ac<_0x42bc25;},'wsgfZ':'expiring','Ctmgz':function(_0x73bcc1,_0x254e54){return _0x73bcc1<_0x254e54;},'ztxHF':'grace','fJTFv':'expired'},_0x4cdee8=_0x4402fd[_0x4195bc(0x233,'AMZm')];if(_0x49a775['RUKlM']!=typeof _0x1ee8c6||''===_0x1ee8c6['trim']())return{'state':_0x49a775[_0x4195bc(0x286,'zuax')],'product':_0x4cdee8};var _0x180234=_0x4402fd[_0x4195bc(0x278,')Fok')]??PUBLIC_KEYS,_0x5cedee=(_0x4402fd[_0x4195bc(0x1da,'x1ZC')]??new Date())[_0x4195bc(0x22b,'zuax')](),_0x1ee8c6=_0x1ee8c6['trim']()[_0x4195bc(0x265,'E2Y#')]('.');if(_0x49a775['qCaqO'](0x3,_0x1ee8c6[_0x4195bc(0x1dd,'PQf!')]))return _0x49a775[_0x4195bc(0x1f3,'zuax')](invalid,_0x4cdee8,_0x49a775[_0x4195bc(0x250,'TIE8')]);let _0x19959d,_0x4dbddc;try{_0x19959d=decodeSegment(_0x1ee8c6[0x0]),_0x4dbddc=_0x49a775['PwdFI'](decodeSegment,_0x1ee8c6[0x1]);}catch{return _0x49a775[_0x4195bc(0x263,'Q47F')](invalid,_0x4cdee8,_0x49a775[_0x4195bc(0x292,'Q47F')]);}if(_0x49a775[_0x4195bc(0x1f0,')Fok')](_0x49a775['RdzSF'],_0x19959d?.[_0x4195bc(0x1f1,'ig4&')]))return _0x49a775[_0x4195bc(0x1d8,'fxpv')](invalid,_0x4cdee8,'its\x20algorithm\x20'+_0x49a775[_0x4195bc(0x2b3,'C2f@')](String,_0x19959d?.['alg'])+'\x20is\x20not\x20EdDSA');var _0x1bd6f5=String(_0x19959d[_0x4195bc(0x228,'S1h^')]);if(!Object[_0x4195bc(0x2ba,'Tn#z')](_0x180234,_0x1bd6f5))return invalid(_0x4cdee8,_0x49a775[_0x4195bc(0x29b,'U5Yx')](_0x49a775[_0x4195bc(0x2ca,'aU0g')],_0x1bd6f5));if(!_0x49a775[_0x4195bc(0x2a8,'6EGX')](verifySignature,_0x49a775[_0x4195bc(0x26a,'U5Yx')](_0x49a775[_0x4195bc(0x2c1,'yFG)')](_0x1ee8c6[0x0],'.'),_0x1ee8c6[0x1]),_0x1ee8c6[0x2],_0x180234[_0x1bd6f5]))return _0x49a775[_0x4195bc(0x283,'nBby')](invalid,_0x4cdee8,_0x4195bc(0x21b,'C2f@'));if(null===_0x4dbddc||_0x49a775[_0x4195bc(0x2aa,'AMZm')](_0x49a775[_0x4195bc(0x227,'#DrJ')],typeof _0x4dbddc))return _0x49a775[_0x4195bc(0x24d,'j6cd')](invalid,_0x4cdee8,'its\x20payload\x20is\x20not\x20an\x20object');if(_0x49a775[_0x4195bc(0x2a4,'Tn#z')](_0x4dbddc['iss'],LICENSE_ISSUER))return _0x49a775[_0x4195bc(0x230,'Ri8F')](invalid,_0x4cdee8,'its\x20issuer\x20'+String(_0x4dbddc[_0x4195bc(0x2cc,'REDa')])+'\x20is\x20not\x20'+LICENSE_ISSUER);if(_0x49a775[_0x4195bc(0x23b,'fxpv')]!=typeof _0x4dbddc[_0x4195bc(0x2a1,'AMZm')]||_0x49a775['hmQqt']('',_0x4dbddc['sub'])||_0x49a775[_0x4195bc(0x238,'YG57')]!=typeof _0x4dbddc['jti']||_0x49a775['hmQqt']('',_0x4dbddc['jti'])||_0x49a775[_0x4195bc(0x29c,'9wg&')](_0x49a775[_0x4195bc(0x27e,'qVFL')],typeof _0x4dbddc[_0x4195bc(0x1e8,'AMZm')]))return _0x49a775[_0x4195bc(0x2c7,'U5Yx')](invalid,_0x4cdee8,_0x49a775[_0x4195bc(0x1c7,'FRiu')]);if(!grants(_0x4dbddc[_0x4195bc(0x1e1,'%KxE')],_0x4cdee8))return _0x49a775[_0x4195bc(0x2b1,'UNid')](invalid,_0x4cdee8,_0x49a775['WSMvh'](_0x49a775[_0x4195bc(0x2bc,'Tn#z')],_0x4cdee8),_0x4dbddc);if(_0x49a775[_0x4195bc(0x1e4,'Iy]b')](_0x49a775[_0x4195bc(0x220,'C2f@')],typeof _0x4dbddc[_0x4195bc(0x2c0,'zuax')])&&_0x49a775[_0x4195bc(0x20f,'f)sU')](_0x5cedee,_0x49a775['eMKus'](0x3e8,_0x4dbddc[_0x4195bc(0x285,'qVFL')])))return _0x49a775[_0x4195bc(0x251,'Tn#z')](invalid,_0x4cdee8,_0x49a775['cVYWs']+new Date(_0x49a775['CjDvH'](0x3e8,_0x4dbddc[_0x4195bc(0x21f,'7LMA')]))[_0x4195bc(0x289,'U5Yx')](),_0x4dbddc);_0x1ee8c6=_0x49a775[_0x4195bc(0x2ad,'j6cd')](checkBinding,_0x4dbddc[_0x4195bc(0x213,'50ll')],_0x4402fd[_0x4195bc(0x2a6,'YG57')]);if(_0x1ee8c6)return _0x49a775[_0x4195bc(0x27c,'fQhC')](invalid,_0x4cdee8,_0x1ee8c6,_0x4dbddc);_0x180234=new Date(_0x49a775[_0x4195bc(0x295,'6hFt')](0x3e8,_0x4dbddc[_0x4195bc(0x203,'x1ZC')])),_0x1bd6f5=_0x49a775[_0x4195bc(0x1cf,'Qv1w')](_0x4195bc(0x219,'#DrJ'),typeof _0x4dbddc[_0x4195bc(0x272,'7LMA')])&&_0x49a775[_0x4195bc(0x280,'UNid')](0x0,_0x4dbddc['grace'])?_0x4dbddc[_0x4195bc(0x2b0,'C2f@')]:DEFAULT_GRACE_DAYS,_0x4402fd=new Date(_0x49a775[_0x4195bc(0x267,'6hFt')](_0x180234[_0x4195bc(0x242,'PpUn')](),_0x49a775['YnWQD'](_0x1bd6f5,DAY_MS))),_0x1ee8c6=Math[_0x4195bc(0x23f,'CF@(')](_0x49a775[_0x4195bc(0x2bd,'Tn#z')](_0x180234[_0x4195bc(0x28b,'REDa')](),_0x5cedee)/DAY_MS);let _0x1ea4d1;return{'state':_0x1ea4d1=_0x49a775[_0x4195bc(0x275,'PQf!')](_0x5cedee,_0x180234[_0x4195bc(0x1cc,'2^Q)')]())?_0x1ee8c6<EXPIRY_WARNING_DAYS?_0x49a775[_0x4195bc(0x23a,'gJI9')]:_0x4195bc(0x20c,'hgjc'):_0x49a775[_0x4195bc(0x209,'fQhC')](_0x5cedee,_0x4402fd['getTime']())?_0x49a775[_0x4195bc(0x29d,'CF@(')]:_0x49a775['fJTFv'],'product':_0x4cdee8,'claims':_0x4dbddc,'expires':_0x180234,'graceEnds':_0x4402fd,'daysLeft':_0x1ee8c6};}function readTokens(_0xd1b41b){var _0xb5bf2=_0x36c312;return(Array[_0xb5bf2(0x236,'%KxE')](_0xd1b41b)?_0xd1b41b:[_0xd1b41b])[_0xb5bf2(0x1fa,'2^Q)')](_0x195847=>_0xb5bf2(0x200,'UNid')==typeof _0x195847)[_0xb5bf2(0x22e,')XDK')](_0x2a7578=>_0x2a7578[_0xb5bf2(0x2a3,'CF@(')](/[\s,]+/))[_0xb5bf2(0x2a0,'zuax')](Boolean);}exports[_0x36c312(0x20d,')XDK')]=LICENSE_ERROR_CODES;let STATE_RANK=Object[_0x36c312(0x2cb,'Qv1w')]({'missing':0x0,'invalid':0x1,'expired':0x2,'grace':0x3,'expiring':0x4,'valid':0x5});function selectLicense(_0x2e7acf,_0x358a28){var _0x4b7531=_0x36c312,_0x32c27f={'UofKR':_0x4b7531(0x211,'C2f@'),'afQiN':function(_0x2f3dd3,_0xcc209d,_0x4b1487){return _0x2f3dd3(_0xcc209d,_0x4b1487);},'BRXil':function(_0xf64474,_0x59256e){return _0xf64474>_0x59256e;}};let _0x1f7796={'state':_0x32c27f['UofKR'],'product':_0x358a28[_0x4b7531(0x2ce,'U5Yx')]};for(var _0x432c68 of _0x2e7acf){_0x432c68=_0x32c27f[_0x4b7531(0x1d0,'UNid')](verifyLicense,_0x432c68,_0x358a28),_0x32c27f[_0x4b7531(0x256,'7LMA')](STATE_RANK[_0x432c68[_0x4b7531(0x1df,'(A7y')]],STATE_RANK[_0x1f7796[_0x4b7531(0x1c5,'U5Yx')]])&&(_0x1f7796=_0x432c68);}return _0x1f7796;}function licensedFeature(_0x316730,_0x5ce0a7){var _0x570e3f=_0x36c312,_0x227f3c={'mfnCm':function(_0x382cca,_0x3d4ae7){return _0x382cca===_0x3d4ae7;},'WfxFu':_0x570e3f(0x224,'oW5l'),'lLrsP':_0x570e3f(0x245,'aU0g'),'bsENb':function(_0x5cd52e,_0xdf2f3b){return _0x5cd52e===_0xdf2f3b;},'puSCy':_0x570e3f(0x2af,'PQf!')};if(_0x227f3c[_0x570e3f(0x20b,'REDa')](_0x227f3c[_0x570e3f(0x241,'hgjc')],_0x316730[_0x570e3f(0x26b,'Tn#z')])||_0x227f3c['lLrsP']===_0x316730[_0x570e3f(0x257,'Iy]b')]||_0x227f3c[_0x570e3f(0x26f,'#DrJ')](_0x227f3c[_0x570e3f(0x249,'Tn#z')],_0x316730[_0x570e3f(0x25a,'eSpf')]))return _0x316730[_0x570e3f(0x293,'x1ZC')][_0x570e3f(0x2b2,'U5Yx')]?.[_0x316730[_0x570e3f(0x2c4,'E2Y#')]]?.[_0x5ce0a7];}function readVcap(){var _0x11e350=_0x36c312,_0x54b490=process.env.VCAP_APPLICATION;if(_0x54b490)try{return JSON[_0x11e350(0x253,'zuax')](_0x54b490);}catch{}}function isProduction(_0x572b44){var _0x5227a7=_0x36c312,_0xbdc588={'dZytu':_0x5227a7(0x1f4,'50ll'),'xzTkP':function(_0x42a2c1,_0x6655a2){return _0x42a2c1(_0x6655a2);}};return _0x572b44=_0x572b44?.[_0x5227a7(0x2c9,'(A7y')],Array[_0x5227a7(0x25f,'$gBM')](_0x572b44)&&_0x572b44[_0x5227a7(0x25b,'nBby')](_0xbdc588[_0x5227a7(0x2c5,')Fok')])||_0xbdc588[_0x5227a7(0x24e,'E2Y#')](Boolean,process.env.VCAP_APPLICATION);}function isUsedThroughEsi(_0x39f865){var _0x2e7262=_0x36c312,_0x510065={'YWrqp':_0x2e7262(0x298,'fQhC'),'kHGvP':function(_0x5095ce,_0x480a88){return _0x5095ce!==_0x480a88;}};return _0x39f865=_0x39f865?.['plugins'],_0x510065['YWrqp']==typeof _0x39f865&&_0x510065['kHGvP'](null,_0x39f865)&&Object[_0x2e7262(0x23c,'oW5l')](_0x39f865,ESI_PACKAGE);}function day(_0x57d65f){var _0x17c0db=_0x36c312;return _0x57d65f[_0x17c0db(0x2b5,'Qv1w')]()[_0x17c0db(0x268,'UNid')](0x0,0xa);}function describeFailure(_0x378bca){var _0x54644c=_0x36c312,_0x2d0b1c={'HqMgb':function(_0x122b19,_0x3a6045){return _0x122b19===_0x3a6045;},'zpnWC':_0x54644c(0x1ee,'UNid'),'yTrqo':function(_0x21b70b,_0x451e84){return _0x21b70b+_0x451e84;},'XqCMx':function(_0xeb0a98,_0x348950){return _0xeb0a98(_0x348950);},'DOSuL':function(_0x46039c,_0x120536){return _0x46039c(_0x120536);}};return _0x2d0b1c[_0x54644c(0x269,'(A7y')](_0x2d0b1c[_0x54644c(0x214,'Ri8F')],_0x378bca['state'])?_0x54644c(0x258,'2^Q)')+_0x378bca[_0x54644c(0x218,'aU0g')]+_0x54644c(0x204,'qVFL')+CONFIG_HINT+_0x54644c(0x232,'PpUn'):_0x2d0b1c[_0x54644c(0x28d,'x1ZC')](_0x54644c(0x229,'AMZm'),_0x378bca[_0x54644c(0x1c5,'U5Yx')])?_0x54644c(0x277,'ig4&')+_0x378bca[_0x54644c(0x290,'x1ZC')]+_0x54644c(0x22c,'Iy]b')+_0x378bca[_0x54644c(0x239,'(A7y')]+'.':_0x2d0b1c[_0x54644c(0x2bf,'(xgt')](_0x54644c(0x1d3,'U5Yx')+_0x378bca[_0x54644c(0x1ce,'FRiu')]+'\x20licence\x20'+_0x378bca[_0x54644c(0x2c8,'eSpf')][_0x54644c(0x1ef,'REDa')]+_0x54644c(0x1d6,'Ri8F')+_0x378bca[_0x54644c(0x215,'zuax')][_0x54644c(0x24f,'7LMA')]+_0x54644c(0x273,'Qa5z'),_0x2d0b1c[_0x54644c(0x27d,'aU0g')](day,_0x378bca[_0x54644c(0x2c3,'&ZYw')])+'\x20and\x20its\x20grace\x20period\x20ended\x20on\x20'+_0x2d0b1c[_0x54644c(0x1d1,'Qv1w')](day,_0x378bca[_0x54644c(0x1f6,'FRiu')])+'.');}function enforceLicense(_0x132e3d){var _0xf5616e=_0x36c312,_0x14d368={'ckwUf':function(_0x5ddd19,_0x49f650){return _0x5ddd19(_0x49f650);},'ESbSe':_0xf5616e(0x1dc,')XDK'),'sBtLl':function(_0x42ab84,_0x3e4e3f){return _0x42ab84+_0x3e4e3f;},'QMcPH':function(_0x2a3054,_0x4eebf8){return _0x2a3054(_0x4eebf8);},'rBlut':_0xf5616e(0x28e,'50ll'),'brDLY':function(_0x5176c8,_0x3ee236){return _0x5176c8(_0x3ee236);},'axKMk':_0xf5616e(0x259,'eSpf'),'XyBWr':_0xf5616e(0x231,'AMZm'),'dfaLB':'\x20Running\x20in\x20evaluation\x20mode\x20because\x20this\x20is\x20not\x20a\x20production\x20environment.'},{product:_0x41a878,env:_0x1b82f5,log:_0x5b45b3}=_0x132e3d,_0x5012b4=selectLicense(_0x14d368[_0xf5616e(0x284,'FRiu')](readTokens,_0x1b82f5?.['capts']?.[_0xf5616e(0x25c,'ig4&')]),{'product':_0x41a878,'keys':_0x132e3d[_0xf5616e(0x1c9,'AMZm')],'now':_0x132e3d[_0xf5616e(0x226,'E2Y#')],'vcap':readVcap()}),_0x3abe83=_0x5012b4[_0xf5616e(0x294,'#DrJ')];switch(_0x5012b4[_0xf5616e(0x27f,'YG57')]){case _0xf5616e(0x28c,'gJI9'):return _0x5b45b3[_0xf5616e(0x26d,'Tn#z')](_0x41a878+_0xf5616e(0x216,'6EGX')+_0x3abe83[_0xf5616e(0x246,'E2Y#')]+'\x20until\x20'+day(_0x5012b4['expires'])+'\x20(licence\x20'+_0x3abe83[_0xf5616e(0x1fd,'YG57')]+')'),_0x5012b4;case _0x14d368[_0xf5616e(0x2ac,'6hFt')]:return _0x5b45b3['warn'](_0x14d368[_0xf5616e(0x212,'$gBM')](_0xf5616e(0x254,'2MMK')+_0x41a878+'\x20licence\x20'+_0x3abe83['jti']+_0xf5616e(0x202,'fQhC')+_0x3abe83[_0xf5616e(0x2a5,'Q47F')]+_0xf5616e(0x255,'Iy]b')+_0x14d368[_0xf5616e(0x1e6,'f)sU')](day,_0x5012b4[_0xf5616e(0x1f5,'aU0g')])+'\x20','('+_0x5012b4[_0xf5616e(0x24b,')Fok')]+_0xf5616e(0x1eb,'(A7y'))),_0x5012b4;case _0x14d368[_0xf5616e(0x1c8,')Fok')]:return _0x5b45b3[_0xf5616e(0x222,'Tn#z')](_0x14d368['sBtLl'](_0xf5616e(0x1ed,'TIE8')+_0x41a878+_0xf5616e(0x260,'7LMA')+_0x3abe83[_0xf5616e(0x29f,'Ri8F')]+'\x20for\x20'+_0x3abe83[_0xf5616e(0x29a,'50ll')]+_0xf5616e(0x1fb,'Qv1w')+_0x14d368[_0xf5616e(0x25e,'7LMA')](day,_0x5012b4[_0xf5616e(0x248,'oW5l')])+'.\x20',_0xf5616e(0x206,'Qv1w')+_0x14d368[_0xf5616e(0x262,'9wg&')](day,_0x5012b4['graceEnds'])+'\x20the\x20application\x20no\x20longer\x20starts\x20with\x20'+_0x41a878+_0xf5616e(0x291,'C2f@'))),_0x5012b4;default:var _0x1cca37,_0x17bf2=_0x14d368[_0xf5616e(0x2cf,'(A7y')](describeFailure,_0x5012b4)+'\x20'+CONTACT;if(isProduction(_0x1b82f5))throw(_0x1cca37=new Error(_0x17bf2))[_0xf5616e(0x270,'CF@(')]=LICENSE_ERROR_CODES[_0x5012b4[_0xf5616e(0x21a,'2^Q)')]],_0x1cca37[_0xf5616e(0x299,'$gBM')]=_0x41a878,_0x1cca37;return _0x5b45b3[isUsedThroughEsi(_0x1b82f5)?_0x14d368[_0xf5616e(0x1de,'50ll')]:_0x14d368['XyBWr']](_0x14d368[_0xf5616e(0x2ae,'Tn#z')](_0x17bf2,_0x14d368['dfaLB'])),_0x5012b4;}}module[_0x36c312(0x2be,'CF@(')]={'ALL_PACKAGES':ALL_PACKAGES,'DEFAULT_GRACE_DAYS':DEFAULT_GRACE_DAYS,'enforceLicense':enforceLicense,'EXPIRY_WARNING_DAYS':EXPIRY_WARNING_DAYS,'grants':grants,'LICENSE_ERROR_CODES':LICENSE_ERROR_CODES,'LICENSE_ISSUER':LICENSE_ISSUER,'licensedFeature':licensedFeature,'PACKAGE_SCOPE':PACKAGE_SCOPE,'PUBLIC_KEYS':PUBLIC_KEYS,'readTokens':readTokens,'selectLicense':selectLicense,'verifyLicense':verifyLicense,'__test':{'checkBinding':checkBinding,'isProduction':isProduction,'readVcap':readVcap}};
|
|
1
|
+
var _0x40a972=_0x172b;function _0x172b(_0x1fd5ac,_0x4b63d7){_0x1fd5ac=_0x1fd5ac-0x1a1;var _0x30f2dc=_0x30f2();var _0x172b35=_0x30f2dc[_0x1fd5ac];if(_0x172b['pOFwdA']===undefined){var _0x41557f=function(_0x1efd34){var _0x532487='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x4ca75e='',_0x4923fc='';for(var _0x9608fc=0x0,_0x4924e8,_0x37ee39,_0x143499=0x0;_0x37ee39=_0x1efd34['charAt'](_0x143499++);~_0x37ee39&&(_0x4924e8=_0x9608fc%0x4?_0x4924e8*0x40+_0x37ee39:_0x37ee39,_0x9608fc++%0x4)?_0x4ca75e+=String['fromCharCode'](0xff&_0x4924e8>>(-0x2*_0x9608fc&0x6)):0x0){_0x37ee39=_0x532487['indexOf'](_0x37ee39);}for(var _0x57dfa5=0x0,_0x5a8e97=_0x4ca75e['length'];_0x57dfa5<_0x5a8e97;_0x57dfa5++){_0x4923fc+='%'+('00'+_0x4ca75e['charCodeAt'](_0x57dfa5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4923fc);};var _0x48a372=function(_0x2f515c,_0x2293f6){var _0x199084=[],_0x5d4cb3=0x0,_0x464f8e,_0x21e079='';_0x2f515c=_0x41557f(_0x2f515c);var _0x8cd0f5;for(_0x8cd0f5=0x0;_0x8cd0f5<0x100;_0x8cd0f5++){_0x199084[_0x8cd0f5]=_0x8cd0f5;}for(_0x8cd0f5=0x0;_0x8cd0f5<0x100;_0x8cd0f5++){_0x5d4cb3=(_0x5d4cb3+_0x199084[_0x8cd0f5]+_0x2293f6['charCodeAt'](_0x8cd0f5%_0x2293f6['length']))%0x100,_0x464f8e=_0x199084[_0x8cd0f5],_0x199084[_0x8cd0f5]=_0x199084[_0x5d4cb3],_0x199084[_0x5d4cb3]=_0x464f8e;}_0x8cd0f5=0x0,_0x5d4cb3=0x0;for(var _0x27f36b=0x0;_0x27f36b<_0x2f515c['length'];_0x27f36b++){_0x8cd0f5=(_0x8cd0f5+0x1)%0x100,_0x5d4cb3=(_0x5d4cb3+_0x199084[_0x8cd0f5])%0x100,_0x464f8e=_0x199084[_0x8cd0f5],_0x199084[_0x8cd0f5]=_0x199084[_0x5d4cb3],_0x199084[_0x5d4cb3]=_0x464f8e,_0x21e079+=String['fromCharCode'](_0x2f515c['charCodeAt'](_0x27f36b)^_0x199084[(_0x199084[_0x8cd0f5]+_0x199084[_0x5d4cb3])%0x100]);}return _0x21e079;};_0x172b['xyIfIU']=_0x48a372,_0x172b['ZjLUFs']={},_0x172b['pOFwdA']=!![];}var _0x308f82=_0x30f2dc[0x0];_0x172b['HFbceZ']!==_0x308f82&&(_0x172b['ZjLUFs']={},_0x172b['HFbceZ']=_0x308f82);var _0xa58a0c=_0x172b['ZjLUFs'][_0x1fd5ac];return _0xa58a0c===undefined?(_0x172b['MrxGYt']===undefined&&(_0x172b['MrxGYt']=!![]),_0x172b35=_0x172b['xyIfIU'](_0x172b35,_0x4b63d7),_0x172b['ZjLUFs'][_0x1fd5ac]=_0x172b35):_0x172b35=_0xa58a0c,_0x172b35;}(function(_0x4ce0d2,_0x153512){var _0x15648f=_0x172b,_0x3bacc3=_0x4ce0d2();while(!![]){try{var _0x598959=parseInt(_0x15648f(0x1d4,'AA%K'))/0x1+-parseInt(_0x15648f(0x28c,'DjR%'))/0x2+parseInt(_0x15648f(0x27d,'EFL3'))/0x3*(-parseInt(_0x15648f(0x1b2,'(f^w'))/0x4)+-parseInt(_0x15648f(0x27c,'[Eu0'))/0x5*(parseInt(_0x15648f(0x285,'#*k8'))/0x6)+-parseInt(_0x15648f(0x251,'[Eu0'))/0x7*(-parseInt(_0x15648f(0x292,'DjR%'))/0x8)+-parseInt(_0x15648f(0x1f5,'a%t8'))/0x9*(-parseInt(_0x15648f(0x20b,'&W&P'))/0xa)+parseInt(_0x15648f(0x280,'8YIT'))/0xb*(-parseInt(_0x15648f(0x1c4,'#hSp'))/0xc);if(_0x598959===_0x153512)break;else _0x3bacc3['push'](_0x3bacc3['shift']());}catch(_0x3c4526){_0x3bacc3['push'](_0x3bacc3['shift']());}}}(_0x30f2,0xc28b9),(Object['defineProperty'](exports,_0x40a972(0x25f,'&c1!'),{'value':!0x0}),exports[_0x40a972(0x253,'CdTG')]=exports[_0x40a972(0x290,'a%t8')]=exports[_0x40a972(0x249,'%mT#')]=exports['LICENSE_ERROR_CODES']=exports['EXPIRY_WARNING_DAYS']=exports[_0x40a972(0x234,'KUX&')]=exports[_0x40a972(0x26e,'K!Of')]=void 0x0,exports[_0x40a972(0x215,'H3Y%')]=enforceLicense,exports[_0x40a972(0x1f3,'va#*')]=grants,exports[_0x40a972(0x24a,'ovUo')]=licensedFeature,exports[_0x40a972(0x1ad,'K5g@')]=readTokens,exports['selectLicense']=selectLicense,exports[_0x40a972(0x276,'#hSp')]=verifyLicense));let crypto=require(_0x40a972(0x1c2,'J[Ik')),LICENSE_ISSUER=_0x40a972(0x247,'gUD6'),PACKAGE_SCOPE=(exports[_0x40a972(0x1b5,'xaSs')]=LICENSE_ISSUER,_0x40a972(0x1e7,'vT]V')),ALL_PACKAGES=(exports[_0x40a972(0x261,'oyxP')]=PACKAGE_SCOPE,_0x40a972(0x209,'ky#R')),ESI_PACKAGE=(exports[_0x40a972(0x286,'ryHT')]=ALL_PACKAGES,_0x40a972(0x211,'va#*')),EXPIRY_WARNING_DAYS=0x1e,DEFAULT_GRACE_DAYS=(exports['EXPIRY_WARNING_DAYS']=EXPIRY_WARNING_DAYS,0x1e),CONFIG_HINT=(exports['DEFAULT_GRACE_DAYS']=DEFAULT_GRACE_DAYS,_0x40a972(0x272,'hk#j')),CONTACT=_0x40a972(0x1ce,'COJ#'),DAY_MS=0x5265c00,PUBLIC_KEYS=Object[_0x40a972(0x255,'N8MD')]({'cap-ts-2026-09':['-----BEGIN\x20PUBLIC\x20KEY-----',_0x40a972(0x2a8,'Ah6L'),_0x40a972(0x219,'6gz%')][_0x40a972(0x242,'B*A(')]('\x0a')}),LICENSE_ERROR_CODES=(exports['PUBLIC_KEYS']=PUBLIC_KEYS,Object[_0x40a972(0x297,'J[Ik')]({'missing':'CAPTS_LICENSE_MISSING','invalid':_0x40a972(0x29b,'&c1!'),'expired':_0x40a972(0x298,'CdTG')}));function grants(_0x11c952,_0x5361eb){var _0x38e74b=_0x40a972;return _0x11c952=Array[_0x38e74b(0x257,'a%t8')](_0x11c952)?_0x11c952:[_0x11c952],_0x11c952[_0x38e74b(0x2a1,'8YIT')](_0x5361eb)||_0x5361eb['startsWith'](PACKAGE_SCOPE)&&_0x11c952[_0x38e74b(0x1a7,'DjR%')](ALL_PACKAGES);}function invalid(_0x4aa026,_0x240b9d,_0x369575){var _0x5a36f2=_0x40a972;return{'state':_0x5a36f2(0x225,'&c1!'),'product':_0x4aa026,'reason':_0x240b9d,'claims':_0x369575};}function decodeSegment(_0xbb5bbb){var _0x21f5ee=_0x40a972,_0xb01930={'fzAoY':'base64url','rNkjn':'utf8'};return JSON[_0x21f5ee(0x27a,'Ah6L')](Buffer[_0x21f5ee(0x203,'Q#Nq')](_0xbb5bbb,_0xb01930[_0x21f5ee(0x208,'EFL3')])[_0x21f5ee(0x1c9,'%mT#')](_0xb01930[_0x21f5ee(0x1b4,'ckUC')]));}function _0x30f2(){var _0x3750db=['mCkWWRJcKSkt','jatcTc89','vCoBCW3cRq','u8kwgJ88WQPdW5y','cWe9g8kY','jbNcQZaAhNa','W6NcVmoUqW','WQNcRmoUWQhdOW12psBdUW','Amk3BCkg','ld3dGbRdQmojW4qLa8k6WRHIW5G','kttcTSk5sa','fd14mmoy','W6nQWQrprW','WP3cRCk2W7ZdRw0HW6vSW7jkih8','WOZdJCoXWQpcUZv4W6GhW6H+uw85WQtdGCktAZbcWRlcTu7cKN4tzmkDWO8/aLG2dKb6WPenW4K7WOhdHWVdHCkKWQvoWOuVWP7cR8oDyuVdSxP/AZ/cSSo6W4rEhSo4W65aW6aOdbRcH1e','zmk+WPi','W53cKaJdM8oO','mmkNW5m5CXpcSSoK','bXpcRqbC','hZ3cJGSv','zSkQWRP5mG1+WPe','juBdGLBcGmob','CSo7ud3cJ8o9WPGKW54UBCk2','qbFcRamD','WQzjW4icW4TwnG','fSoSW47dOG','wCkCcN0QWQ9wW5hdJIlcPCkEWOOdWPlcP8krW45WBvbHfCo8abRcKsy4W5KyW4ikwG3dS1uQW7vEy8khW44tx341ECkoWQLUhMJcVWxcPs4VW6/dKN7dJNJcO8osBCoKWPxdG8kUCmk2kSky','WQPwa8kVWQC','ivFcPW','W6ZcQ8oUrZ0','WQJdLrq9WPf9vNlcTuNdHSk0va','WQ1SgCoiW4/dUSkhW5m','bCo4W6GFfG','eX/cTdC+','emoRW6Gdaq','eSo9W58wfW','W77cRSkjysess3PeqvaZ','lmkus8kRW7eFsG','W6iKcmoNWR8','EmkRj8kMWRfhBW','m8opsSosjhFcM8kD','zmkxySofeLy','WRRdP8ommei','dCkJWRy','W5tdImkNW4K','EHldUIxdR8oFfdew','mCoJWOJcTmo3WQ3dKKvLW6hcICkz','W6Oek8o/WPi','aSo0W5zOWP8ofW','W4uyfSoUWQ4','WQNdIIG','ECkCWR7cH8kC','p8oZW49wkL9eW5FcQWjYW7q','W53dMmkIW4fyhq','ASkRWOituaj0W7K','W4LKng4','gLpdMZhdRfRcP0tcKbLxWQCW','jM3cMmoCW6i','nSkFWQWfrqvI','ocOAaCkh','W4ddJCknW4ji','W5FcTCofzqa','W75qWQboBW','W58TcGtdQg0','oYhcRmkxwmkAx8k0sCkmWQiXd03cGZCCW5BdOqdcLq','vCkClSoGWQGB','WQG8WR5KCZHQemkgqqfoC8k3mNBcQde9fG','WRxcSSoBWOBdVt1EaqNdM8kttSohWQNcL24IW6G0WODY','WPVdHCk2Crq','iLdcVq','W7fgx8kSWOxcUeq','pMpcGW','b8ocWOVcQmoM','A8kqBCoDaKdcJ8k3','dthcGa8M','EGlcM1FcKmo8W4L6W7S','weJcKmkQAmkGFCkEB8oP','cbpdIGldPSoDW7uioCkxWPa','f8kYW7mwDq','kMlcR8kWW5/cRmoh','lCojW7uhjGO2h8kjW7RcLXT+wCoyldhcGCoZb8oSW4BdQWXkEZyhCZWDW6RdJ1hdUttdS8okcvCzW7esBe5dE0VdRCkrodJdP8oaWOpdNstcRSk3W6C','dvFcQ8k/W5q','WQ/cVCo6sG8I','pMddSrC','i3/cSCk+W5NcOq','W69OWP8HDtH8vmkxw0qbBCo+ixlcVZ43wtRdMCkKpaNcSJ/dLNGrg8oDWOy3WPDqWPtcTtG','i1ldNhVcKSoD','W4X3k3Cy','z8kKWPGmAqn3W74','q8ofCWBcQSoFWQ8','WRFdHeyWWPHHAtVcUepdNmoNvGRdM8o+F8kz','bCoYW6OzfJ4C','cmoUW4XKWO4F','oN7cP8kqW5u','vmknpCoTWPitW7tdOdtdKW','W6yryCojWPerF8kbW4q0euTlW7zL','xmkmWP/dSZu','W5SClmorWPW','x8k0WQldNIW','WQ4EfCoMW5NdOrhcS8oTWPfdW6/cIG','ASkTFmosdq','WOhdPmkuDZG','vmoYkxldMCopzSomfCkqoSoOW61H','WOGFl8obW5GBBSkCWOC2q0XhW6fLWQ4WW6CCa8osfMddUr0iWOenWPyjbq','W48BnCoXWPeFFW','qG3cSHSoACo9W5u','bSkenCoQWQmsW7ZdOhO','pcqvgCklpG','WQbcgSk8WPjb','jSo4W6VdTSodWPpcTceTl8kqW6O2','qCksyCoeeWtcRmkRW60zxe4hiCoRWQP4','kfFdGvlcIG','lGlcUsaw','bCo/W77dOCk1','EYVcReZcMYxcTehcPJ1lWQ8','W5OTfHhdPMC','rmkBWRqtrq','W6ZcH1zSW4u9kg7cPehdHSkQza','WRTmW4qwW4TwiG','WPSNAteEWONdImkMiCky','e8oszblcTSooWR4CWR8grSof','W7Wwjmkf','pr/cIZCbgxNdRW','oqlcTYCge2m','DCofCW/dVW','W5fDWOPZza','emk1WRhcT8kH','hcCAbmkhlNiLD8o/WRJdUmoCpwtcPuxdJw5VW4D/W7JcOmogWO7dI8o7WQCrWQCwWQaCWP8juq','W6pdQSotWQ7cRW','mCkNWQJdUSk3qtS','W6ZcR8oJwIW','kSkKW7mOzc3cOG','l8kiWPpcHSkkW5TBwNldU2JdIHpdJXinumkywa','WPLmC8kuW4bdlCkfW6WIA3Xr','W6TuW55rW5zqnmolyaFdQSoBsgXknMFdLLVcJsW4bmoFWQ3cHCoytmkEWOuRA8khWP1b','W5BdSSk8W5vC','lKVdN13cL8oAW4XR','WOGskmogWP0CECkkWOC','W7TkwmklWOxcU0y','gqtdSW','W6FcUmoOFaTSW4n/qmk7xu/cVcldJCoTA1eufqtdTGeQFriAW7tcSb/dGe7dIeldO11gWP05W7K+v0C7','ACkVp8kBWRW','jrHWpG','W5tcGSkAW57dPY/dOmoBWPJcQmkG','W7RcPt3dOCoM','fIRdQIldGG','WPpcUCoisrS','WQ/dJs1yv8kAxriO','W5ZdQmkdW710','CgNcJmofW6/dI8kGWPZdSmkqWQWo','dW3cS8kasG','bSkCnmoSW6yDW6/dTtBdICkXWOhdHqiLWQ/cSwhcUmoqW4NdQCkVywtcM8kQzrFdHrmNWQ/cQ13dQCofdHi','vmkSWRRcVSoCW57dTxS','oXxcUtaChG','W4VdRCoLWQ7cSa','pmk2WRu','nCksWP3cPCk1','lrhcRdiJ','W5LXbSk4W64','qG3cSH0oDmoG','WPXPe8kqcW','W4tdSmonWQhcLW','WO7cV8ohWP3dNa','WRbEpCkjga','W5mCW7jYW4SO','qmocFG','FIpcQKJdMhRcOg7cPsi','W5pdJ8khBt82smosm8otWRhcVq','fmooWRdcMSo3','kMlcR8kWW5/cRmoq','W4BdICoTWR7cVG','W6v7EmkTWOO','WQhdI2XsqCo/xrKVW54Zh00XWQlcJLJcSMVcQ8o6BSkwbX1aW7RcSSkPWQy9tmoqz8o7baBcS8oGdCkWEWOYiNH5ydlcImk4WPm7WQPZFSoxstK5W6y','dWJdOIxdJa','BCkRgJu7','WPqBW71OW5y3W4i','WRnWW6iWW48','q8kTWRNcOmkHW6z9ybC','W6PEWP1rsq','z8k5WROsBGzR','W6T3bCkf','WR5fgmk6WOjqW6O','WOVdPCopWOJcNW','WR9iW5rr','iWtcSq','ECkSxSkhW7i','sCk5WQNdILTlWOX3nG','A0/cPYxdV8o+hcjAWO7cHeraW40CW5yqW7ddNb7dJSocWPO','W7NcJN0oaSkMqa8YWPGD','WRJdJsnFr8k8rX80WPa','W4ddTSoNWQJcUY9Z','aCoGW4D1WQakfa','WQxdGCotjN4','gSkuedaSWQbvW4ddMsZcVCkyW4K','W7qnW7jSWPiVWPfTq8ksEG','Bmk7mq','W40gmComWOOxAq','i8o0WRDjlG17WRRcGCoMWRG','WQlcSSoVAGOVW4Pwt8kSeq/dRXu','dSo4W5uHWP4ca8kNW7pcUmohWOXDWQqaqtJdS8k7WOWqWO8ZW4JcHK7dUfe','F8k7WQtdKXi','lmkAWOZcQ8kOW4JdTG','FshdMCkyWQVdVmklWRZdSmkVWPDSW7ddJLldNwX+W5LWW4tcISoACW','pgRcVSk6W4G','WQjuW4jrW4TliSkEArZcQq','WR9iW5rrW4fummkcyr3cQConu20dnNNdJvNdIcn2gCkqWR3dNCoAcCkCWPiNpCkqWPWEW5/dN8kSWQyg','W4NcPtBdPCoy','mSkvWPRcUCkh','W5tcISkyW5/dO2pdKCoXWOJcGSknW5y','c8ooW5DrWRK','bmoDW6pdO8ky','oGxcUG','lwddUrNdIa','B8owjxtdLG','WP/cNCo9WRpdGGT2','W6PGhSk8W4JdUmkw','lqpcLHuf','lXxcUtCgaNldUW','lfhcRYxdVW','ghNdOcRdOq','lSkSWPqspa','gb5ZCq','bSkTW70Izq','rbNcOXSrCW','W5FcGSksW5ldOMhcOCoyWQVcH8kFW6NdNa','W4KTaaxdP2VcKG','h8oDWQm','cHZcTZyxufhdP8oTgs1rW5i6WPuXWPeBWOK','WQfuW5G','c1/cMCkyW7JcHCo3W5FcHCkWW5ZcNSkCetr9W4FcPW','nSkLW6S0tG','C8k6mWqT','WOZdTSo3W63cTJn4W6LoW6zLa28RW6VcJCk1BZal','W5BcLCoKWQdcJG','owlcGSouW6RdKmkH','vWFcRrqvBmo2W4e','jxtdG3ZcTa','WQXsW5asW4D9p8kpFW','lY0Ne8kO','W6uniSo1WPy','W58lW6PV','DCkJWRW','WRVdIZ5sxmk4','trRcQXW','fcjsg8oU','BSk4WQBdIXC','vCkCpCo9WQm','WRvEWRHcrX9P','W7ZcVSo/hIXs','W6RcU8o3EIa','btNcMWy9i1ldL8orjbP2W65i','l8k+W5e/Ed/cVSoKjrSWpCoVWQqW','W63cJmoKDb0','W5S2aqu','W7ZcLtJdUCo5','WQ7cR8oiDWOTW5y','jX9Y','WR/dPCovmwbeFq','W7VcOmkkyYmsoLXqsNe8WPe','Amk4WP4fzGi','kdxcVSkpqSkgtmk2t8kqWR8','WP/cH8o4W7ldNGnRjcxdV8k5pCoRWOxdVK4BW51yWQ9ytMVdGCkkWQeyca','mmkWWRNdI8kKsq','msBcKGWP','i2hdMqJdN3ZcMW'];_0x30f2=function(){return _0x3750db;};return _0x30f2();}function verifySignature(_0xce54a3,_0x4cbbfc,_0x5e1dbe){var _0x224130=_0x40a972,_0x4984f7={'nRKYO':'base64url'};try{return crypto['verify'](null,Buffer[_0x224130(0x28f,'*@(w')](_0xce54a3),_0x5e1dbe,Buffer[_0x224130(0x284,'r&(8')](_0x4cbbfc,_0x4984f7[_0x224130(0x1e3,'r&(8')]));}catch{return!0x1;}}function checkBinding(_0x283cb8,_0x111970){var _0x2f1a22=_0x40a972,_0x4aa46f={'XKnaW':_0x2f1a22(0x1bd,'8YIT'),'WAfry':_0x2f1a22(0x232,'%mT#'),'sbmtd':function(_0x2c346d,_0x6289ae){return _0x2c346d!==_0x6289ae;},'RkxPL':function(_0x3d8943,_0x5b6ee5){return _0x3d8943+_0x5b6ee5;},'MscPn':'it\x20is\x20bound\x20to\x20another\x20'},_0x38586b,_0x11e213,_0x53fe48;for([_0x38586b,_0x11e213,_0x53fe48]of[[_0x283cb8?.[_0x2f1a22(0x231,'ryHT')],_0x111970?.['organization_id'],_0x4aa46f[_0x2f1a22(0x263,'1xFM')]],[_0x283cb8?.[_0x2f1a22(0x21a,'KUX&')],_0x111970?.[_0x2f1a22(0x269,'ovUo')],_0x4aa46f[_0x2f1a22(0x1cc,'OO%S')]]])if(Array[_0x2f1a22(0x1d2,'ovUo')](_0x38586b)&&_0x4aa46f[_0x2f1a22(0x1b0,'AA%K')](0x0,_0x38586b['length'])&&(!_0x11e213||!_0x38586b[_0x2f1a22(0x25b,'hk#j')](_0x11e213)))return _0x4aa46f[_0x2f1a22(0x22a,'a%t8')](_0x4aa46f[_0x2f1a22(0x23e,'AA%K')],_0x53fe48);}function verifyLicense(_0x2abbd3,_0x43c589){var _0x2bfa2a=_0x40a972,_0x25869a={'rwEfs':_0x2bfa2a(0x299,'K5g@'),'QTJzC':function(_0x58aa9e,_0x3a63c3){return _0x58aa9e===_0x3a63c3;},'gbnqa':function(_0x5bbdb9,_0x583131){return _0x5bbdb9!==_0x583131;},'xPSAm':_0x2bfa2a(0x1fb,'&W&P'),'jVisk':function(_0x253647,_0x4c59e4){return _0x253647(_0x4c59e4);},'yTTrf':function(_0xd239a0,_0x515f6f,_0x24d1c2){return _0xd239a0(_0x515f6f,_0x24d1c2);},'dRTVZ':_0x2bfa2a(0x1a4,'OO%S'),'BzjZj':_0x2bfa2a(0x268,'Gazd'),'lBqPT':function(_0x4a7f19,_0x4b5a4d,_0xc6895e){return _0x4a7f19(_0x4b5a4d,_0xc6895e);},'datqP':function(_0x38c9f8,_0x36b993){return _0x38c9f8+_0x36b993;},'nVdcH':'it\x20is\x20signed\x20with\x20the\x20unknown\x20key\x20','mSeIm':function(_0x1b05e2,_0x1b65c4,_0x33ac4a,_0x1affd3){return _0x1b05e2(_0x1b65c4,_0x33ac4a,_0x1affd3);},'BMtfy':_0x2bfa2a(0x216,'IQJE'),'OuWcz':function(_0x1ef500,_0x2ddc2c){return _0x1ef500!=_0x2ddc2c;},'bQqiO':_0x2bfa2a(0x1ab,'IQJE'),'IBJWd':_0x2bfa2a(0x254,'&c1!'),'jRPhN':function(_0x24d4c5,_0x277b6d){return _0x24d4c5(_0x277b6d);},'nKcMf':function(_0xb27356,_0x5571d6){return _0xb27356!=_0x5571d6;},'cdnfo':function(_0x2c5ea8,_0x3e9d51){return _0x2c5ea8===_0x3e9d51;},'tVEhx':function(_0x195273,_0x4c2c18){return _0x195273!=_0x4c2c18;},'udxIx':_0x2bfa2a(0x1bb,'EU$M'),'WScfr':_0x2bfa2a(0x21c,'4AgI'),'VMVHf':function(_0xaef936,_0x23b693,_0x58fb96){return _0xaef936(_0x23b693,_0x58fb96);},'TtlPO':function(_0x45762e,_0x2ff6f3,_0x5708d2,_0x2901b8){return _0x45762e(_0x2ff6f3,_0x5708d2,_0x2901b8);},'AREVM':_0x2bfa2a(0x1a9,'#hSp'),'VSMfq':function(_0x39c6dd,_0xa09024){return _0x39c6dd<_0xa09024;},'xvIpK':function(_0x3de2bb,_0x1f9710){return _0x3de2bb*_0x1f9710;},'GXdDF':function(_0x2cbd4a,_0x3379d6,_0xae8f61,_0x15c52c){return _0x2cbd4a(_0x3379d6,_0xae8f61,_0x15c52c);},'yEhcK':function(_0x3c7d1e,_0x2287a3){return _0x3c7d1e+_0x2287a3;},'DAXLU':'it\x20is\x20not\x20valid\x20before\x20','dsNVv':function(_0x26206f,_0x371988){return _0x26206f*_0x371988;},'VnjdZ':function(_0xe623,_0x11518c){return _0xe623==_0x11518c;},'XpofO':function(_0x363718,_0x333c50){return _0x363718<=_0x333c50;},'zDHba':function(_0x2e7dfb,_0x3d6938){return _0x2e7dfb*_0x3d6938;},'QQzmq':function(_0x4385fe,_0xf586fc){return _0x4385fe/_0xf586fc;},'urYnX':function(_0x39a69d,_0x56ea07){return _0x39a69d-_0x56ea07;},'EzOxs':function(_0x433ac6,_0x51f24a){return _0x433ac6<_0x51f24a;},'evHNZ':_0x2bfa2a(0x291,'6gz%'),'CRHnu':_0x2bfa2a(0x1e9,'WVpQ'),'UrFzX':_0x2bfa2a(0x2a7,'KUX&')},_0x46c304=_0x43c589['product'];if(_0x25869a[_0x2bfa2a(0x27b,'Ah6L')]!=typeof _0x2abbd3||_0x25869a[_0x2bfa2a(0x21e,'Ew]8')]('',_0x2abbd3[_0x2bfa2a(0x1a2,'a%t8')]()))return{'state':_0x2bfa2a(0x270,'4AgI'),'product':_0x46c304};var _0x2684d8=_0x43c589[_0x2bfa2a(0x271,'2s1o')]??PUBLIC_KEYS,_0x467c33=(_0x43c589[_0x2bfa2a(0x29f,'6gz%')]??new Date())[_0x2bfa2a(0x1d9,'(f^w')](),_0x2abbd3=_0x2abbd3['trim']()[_0x2bfa2a(0x1d1,'gUD6')]('.');if(_0x25869a[_0x2bfa2a(0x293,'COJ#')](0x3,_0x2abbd3[_0x2bfa2a(0x1a3,'KUX&')]))return invalid(_0x46c304,_0x25869a[_0x2bfa2a(0x1ff,'4AgI')]);let _0x2d96ea,_0x1febc2;try{_0x2d96ea=_0x25869a[_0x2bfa2a(0x20f,'[Eu0')](decodeSegment,_0x2abbd3[0x0]),_0x1febc2=_0x25869a[_0x2bfa2a(0x1f9,'WVpQ')](decodeSegment,_0x2abbd3[0x1]);}catch{return _0x25869a['yTTrf'](invalid,_0x46c304,_0x25869a['dRTVZ']);}if(_0x25869a[_0x2bfa2a(0x244,'ky#R')](_0x25869a[_0x2bfa2a(0x287,'AA%K')],_0x2d96ea?.['alg']))return _0x25869a[_0x2bfa2a(0x201,'OO%S')](invalid,_0x46c304,'its\x20algorithm\x20'+_0x25869a[_0x2bfa2a(0x1e0,'oyxP')](String,_0x2d96ea?.[_0x2bfa2a(0x240,'vT]V')])+'\x20is\x20not\x20EdDSA');var _0x5d90bb=String(_0x2d96ea[_0x2bfa2a(0x24f,'1xFM')]);if(!Object[_0x2bfa2a(0x1a1,'H3Y%')](_0x2684d8,_0x5d90bb))return _0x25869a[_0x2bfa2a(0x1fa,'(f^w')](invalid,_0x46c304,_0x25869a[_0x2bfa2a(0x1f7,'ryHT')](_0x25869a[_0x2bfa2a(0x205,'[g!5')],_0x5d90bb));if(!_0x25869a[_0x2bfa2a(0x28b,'vT]V')](verifySignature,_0x25869a[_0x2bfa2a(0x1ec,'%mT#')](_0x25869a[_0x2bfa2a(0x24d,'Gazd')](_0x2abbd3[0x0],'.'),_0x2abbd3[0x1]),_0x2abbd3[0x2],_0x2684d8[_0x5d90bb]))return _0x25869a['yTTrf'](invalid,_0x46c304,_0x25869a[_0x2bfa2a(0x2a9,'KUX&')]);if(null===_0x1febc2||_0x25869a[_0x2bfa2a(0x1cf,'WVpQ')](_0x25869a[_0x2bfa2a(0x1df,'Gazd')],typeof _0x1febc2))return _0x25869a[_0x2bfa2a(0x220,'IQJE')](invalid,_0x46c304,_0x25869a[_0x2bfa2a(0x236,'hk#j')]);if(_0x25869a[_0x2bfa2a(0x26f,'B*A(')](_0x1febc2[_0x2bfa2a(0x29d,'#*k8')],LICENSE_ISSUER))return invalid(_0x46c304,_0x2bfa2a(0x21b,'4AgI')+_0x25869a['jRPhN'](String,_0x1febc2['iss'])+_0x2bfa2a(0x277,'Q#Nq')+LICENSE_ISSUER);if(_0x25869a['nKcMf'](_0x2bfa2a(0x241,'&W&P'),typeof _0x1febc2[_0x2bfa2a(0x1f4,'K!Of')])||_0x25869a[_0x2bfa2a(0x262,'CdTG')]('',_0x1febc2[_0x2bfa2a(0x222,'%mT#')])||_0x25869a[_0x2bfa2a(0x294,'r&(8')]!=typeof _0x1febc2['jti']||_0x25869a[_0x2bfa2a(0x1be,'X91x')]('',_0x1febc2[_0x2bfa2a(0x1ea,'N8MD')])||_0x25869a['tVEhx'](_0x25869a[_0x2bfa2a(0x1ac,'KUX&')],typeof _0x1febc2[_0x2bfa2a(0x1da,'oyxP')]))return invalid(_0x46c304,_0x25869a[_0x2bfa2a(0x1fd,'hk#j')]);if(!_0x25869a[_0x2bfa2a(0x26b,'%mT#')](grants,_0x1febc2[_0x2bfa2a(0x28a,'&W&P')],_0x46c304))return _0x25869a[_0x2bfa2a(0x1ed,'Q#Nq')](invalid,_0x46c304,_0x25869a[_0x2bfa2a(0x273,'EU$M')](_0x25869a['AREVM'],_0x46c304),_0x1febc2);if(_0x25869a[_0x2bfa2a(0x248,'gUD6')]==typeof _0x1febc2['nbf']&&_0x25869a[_0x2bfa2a(0x1eb,'Ew]8')](_0x467c33,_0x25869a[_0x2bfa2a(0x1c0,'2s1o')](0x3e8,_0x1febc2[_0x2bfa2a(0x283,'Ew]8')])))return _0x25869a['GXdDF'](invalid,_0x46c304,_0x25869a[_0x2bfa2a(0x1f2,'TwND')](_0x25869a[_0x2bfa2a(0x2a2,'%mT#')],new Date(_0x25869a[_0x2bfa2a(0x227,'%mT#')](0x3e8,_0x1febc2['nbf']))[_0x2bfa2a(0x2a5,'oyxP')]()),_0x1febc2);_0x2abbd3=_0x25869a[_0x2bfa2a(0x221,'2s1o')](checkBinding,_0x1febc2[_0x2bfa2a(0x24c,'J[Ik')],_0x43c589[_0x2bfa2a(0x25e,'gUD6')]);if(_0x2abbd3)return _0x25869a['TtlPO'](invalid,_0x46c304,_0x2abbd3,_0x1febc2);_0x2684d8=new Date(0x3e8*_0x1febc2['exp']),_0x5d90bb=_0x25869a[_0x2bfa2a(0x1b1,'ky#R')](_0x2bfa2a(0x26d,'X91x'),typeof _0x1febc2[_0x2bfa2a(0x223,'a%t8')])&&_0x25869a['XpofO'](0x0,_0x1febc2['grace'])?_0x1febc2[_0x2bfa2a(0x1bf,'%mT#')]:DEFAULT_GRACE_DAYS,_0x43c589=new Date(_0x2684d8[_0x2bfa2a(0x1b7,'AA%K')]()+_0x25869a['zDHba'](_0x5d90bb,DAY_MS)),_0x2abbd3=Math[_0x2bfa2a(0x25a,'K!Of')](_0x25869a[_0x2bfa2a(0x21d,'Gazd')](_0x25869a[_0x2bfa2a(0x235,'ovUo')](_0x2684d8[_0x2bfa2a(0x226,'Q#Nq')](),_0x467c33),DAY_MS));let _0x2fd16e;return{'state':_0x2fd16e=_0x25869a['VSMfq'](_0x467c33,_0x2684d8[_0x2bfa2a(0x1d0,'N8MD')]())?_0x25869a[_0x2bfa2a(0x22d,'ovUo')](_0x2abbd3,EXPIRY_WARNING_DAYS)?'expiring':_0x25869a[_0x2bfa2a(0x264,'OO%S')]:_0x25869a['EzOxs'](_0x467c33,_0x43c589[_0x2bfa2a(0x27f,'4R9p')]())?_0x25869a['CRHnu']:_0x25869a[_0x2bfa2a(0x1ef,'TwND')],'product':_0x46c304,'claims':_0x1febc2,'expires':_0x2684d8,'graceEnds':_0x43c589,'daysLeft':_0x2abbd3};}function readTokens(_0x25eed2){var _0x53ea01=_0x40a972;return(Array[_0x53ea01(0x202,'DjR%')](_0x25eed2)?_0x25eed2:[_0x25eed2])[_0x53ea01(0x281,'8YIT')](_0x30290d=>'string'==typeof _0x30290d)[_0x53ea01(0x20e,'IQJE')](_0x3f1e93=>_0x3f1e93['split'](/[\s,]+/))['filter'](Boolean);}exports[_0x40a972(0x1d3,'Ew]8')]=LICENSE_ERROR_CODES;let STATE_RANK=Object[_0x40a972(0x252,'DjR%')]({'missing':0x0,'invalid':0x1,'expired':0x2,'grace':0x3,'expiring':0x4,'valid':0x5});function selectLicense(_0x40fc7b,_0x4837c7){var _0x3eddbb=_0x40a972,_0x573b6b={'XTDJa':_0x3eddbb(0x29e,'(f^w'),'PEKVr':function(_0x5543c4,_0x56bb64,_0x24b653){return _0x5543c4(_0x56bb64,_0x24b653);},'ZoltM':function(_0x59832c,_0x1ab06e){return _0x59832c>_0x1ab06e;}};let _0x3b8a6b={'state':_0x573b6b[_0x3eddbb(0x243,'1xFM')],'product':_0x4837c7[_0x3eddbb(0x204,'EU$M')]};for(var _0xb64446 of _0x40fc7b){_0xb64446=_0x573b6b['PEKVr'](verifyLicense,_0xb64446,_0x4837c7),_0x573b6b[_0x3eddbb(0x279,'%mT#')](STATE_RANK[_0xb64446['state']],STATE_RANK[_0x3b8a6b['state']])&&(_0x3b8a6b=_0xb64446);}return _0x3b8a6b;}function licensedFeature(_0x41730f,_0x272bc1){var _0x3eaef5=_0x40a972,_0x47742d={'upveW':function(_0x331647,_0x18b4ec){return _0x331647===_0x18b4ec;},'fggTw':_0x3eaef5(0x217,'ky#R'),'dHtqg':_0x3eaef5(0x1b8,'B*A('),'rSkGE':function(_0x57049f,_0x5be519){return _0x57049f===_0x5be519;}};if(_0x47742d[_0x3eaef5(0x282,'[Eu0')](_0x47742d['fggTw'],_0x41730f[_0x3eaef5(0x245,'K5g@')])||_0x47742d['upveW'](_0x47742d[_0x3eaef5(0x1d6,'r&(8')],_0x41730f[_0x3eaef5(0x1fc,'oyxP')])||_0x47742d[_0x3eaef5(0x24b,'gUD6')]('grace',_0x41730f['state']))return _0x41730f[_0x3eaef5(0x22e,'B*A(')][_0x3eaef5(0x228,'%mT#')]?.[_0x41730f[_0x3eaef5(0x1a8,'K!Of')]]?.[_0x272bc1];}function readVcap(){var _0x350ad8=process.env.VCAP_APPLICATION;if(_0x350ad8)try{return JSON['parse'](_0x350ad8);}catch{}}function isProduction(_0x22c519){var _0x44eec3=_0x40a972,_0x459c77={'xVJOZ':_0x44eec3(0x20c,'&W&P'),'peScN':function(_0x4802dd,_0x3cdd6a){return _0x4802dd(_0x3cdd6a);}};return _0x22c519=_0x22c519?.[_0x44eec3(0x23a,'B*A(')],Array[_0x44eec3(0x24e,'H3Y%')](_0x22c519)&&_0x22c519['includes'](_0x459c77[_0x44eec3(0x256,'%mT#')])||_0x459c77[_0x44eec3(0x23d,'COJ#')](Boolean,process.env.VCAP_APPLICATION);}function isUsedThroughEsi(_0x306a38){var _0x5b9074=_0x40a972,_0xcb9cd1={'RqhQW':function(_0x5843ad,_0x5c0bf9){return _0x5843ad==_0x5c0bf9;},'JQOsY':_0x5b9074(0x28d,'r&(8'),'nGlHQ':function(_0x40e765,_0x4bc546){return _0x40e765!==_0x4bc546;}};return _0x306a38=_0x306a38?.[_0x5b9074(0x1c5,'4AgI')],_0xcb9cd1[_0x5b9074(0x258,'Ew]8')](_0xcb9cd1[_0x5b9074(0x1c3,'DjR%')],typeof _0x306a38)&&_0xcb9cd1[_0x5b9074(0x23b,'X91x')](null,_0x306a38)&&Object[_0x5b9074(0x1a5,'X91x')](_0x306a38,ESI_PACKAGE);}function day(_0xd887a8){var _0x2b76b4=_0x40a972;return _0xd887a8[_0x2b76b4(0x214,'Vr*4')]()['slice'](0x0,0xa);}function describeFailure(_0x178706){var _0x1d616f=_0x40a972,_0x360c85={'hoIlB':function(_0x41b938,_0x6a139d){return _0x41b938===_0x6a139d;},'HjJVX':_0x1d616f(0x25d,'%mT#'),'UVWIC':function(_0x68dc63,_0x9f71db){return _0x68dc63+_0x9f71db;},'qFHuV':function(_0x1a8052,_0x2fc5e6){return _0x1a8052(_0x2fc5e6);}};return _0x360c85[_0x1d616f(0x1f0,'WVpQ')](_0x360c85[_0x1d616f(0x295,'gUD6')],_0x178706['state'])?_0x1d616f(0x1ae,'AA%K')+_0x178706[_0x1d616f(0x230,'J[Ik')]+_0x1d616f(0x237,'WVpQ')+CONFIG_HINT+_0x1d616f(0x1d5,'4AgI'):_0x360c85[_0x1d616f(0x29c,'ckUC')](_0x1d616f(0x239,'6gz%'),_0x178706[_0x1d616f(0x1cd,'Ew]8')])?_0x1d616f(0x22c,'1xFM')+_0x178706[_0x1d616f(0x1ca,'%mT#')]+_0x1d616f(0x20a,'#*k8')+_0x178706[_0x1d616f(0x1e8,'%mT#')]+'.':_0x360c85[_0x1d616f(0x1af,'ky#R')](_0x1d616f(0x1c8,'AA%K')+_0x178706[_0x1d616f(0x250,'[Eu0')]+_0x1d616f(0x1d8,'AA%K')+_0x178706['claims'][_0x1d616f(0x233,'4AgI')]+_0x1d616f(0x238,'&c1!')+_0x178706['claims']['sub']+_0x1d616f(0x1f6,'ckUC'),day(_0x178706[_0x1d616f(0x1aa,'Ah6L')])+_0x1d616f(0x1b6,'AA%K')+_0x360c85['qFHuV'](day,_0x178706[_0x1d616f(0x23c,'4AgI')])+'.');}function enforceLicense(_0x46ae45){var _0x5842db=_0x40a972,_0x1dde27={'JZIBG':function(_0x38a4be,_0x5e25e2,_0x66c9bb){return _0x38a4be(_0x5e25e2,_0x66c9bb);},'TeALc':function(_0x570359,_0x18db48){return _0x570359(_0x18db48);},'wmOCA':function(_0x1fa4ef,_0x4efdce){return _0x1fa4ef(_0x4efdce);},'SumdJ':_0x5842db(0x1d7,'X91x'),'xLLOr':function(_0x318ebf,_0x234dc9){return _0x318ebf+_0x234dc9;},'SQoIr':_0x5842db(0x229,'#*k8'),'mtllN':function(_0x414532,_0x3974ce){return _0x414532+_0x3974ce;},'hSzkN':function(_0x2ea264,_0xcc2a1e){return _0x2ea264(_0xcc2a1e);},'TIIkT':_0x5842db(0x1dd,'1xFM'),'hSrcz':'warn','WFvaX':function(_0x8c960b,_0x2713b9){return _0x8c960b+_0x2713b9;},'mfWKV':_0x5842db(0x266,'WVpQ')},{product:_0x2871ab,env:_0x3bda5c,log:_0x9a6569}=_0x46ae45,_0x5282c1=_0x1dde27[_0x5842db(0x27e,'AA%K')](selectLicense,_0x1dde27['TeALc'](readTokens,_0x3bda5c?.[_0x5842db(0x1a6,'*@(w')]?.[_0x5842db(0x20d,'WVpQ')]),{'product':_0x2871ab,'keys':_0x46ae45[_0x5842db(0x23f,'va#*')],'now':_0x46ae45['now'],'vcap':readVcap()}),_0x176075=_0x5282c1[_0x5842db(0x1ba,'COJ#')];switch(_0x5282c1[_0x5842db(0x275,'gUD6')]){case _0x5842db(0x1dc,'4R9p'):return _0x9a6569['info'](_0x2871ab+_0x5842db(0x210,'hk#j')+_0x176075[_0x5842db(0x212,'4R9p')]+_0x5842db(0x1fe,'va#*')+_0x1dde27[_0x5842db(0x224,'xaSs')](day,_0x5282c1[_0x5842db(0x288,'IQJE')])+_0x5842db(0x2a4,'CdTG')+_0x176075[_0x5842db(0x207,'%mT#')]+')'),_0x5282c1;case _0x1dde27['SumdJ']:return _0x9a6569[_0x5842db(0x260,'EFL3')](_0x1dde27[_0x5842db(0x296,'OO%S')](_0x5842db(0x206,'4AgI')+_0x2871ab+_0x5842db(0x200,'Ew]8')+_0x176075[_0x5842db(0x274,'#*k8')]+_0x5842db(0x26a,'B*A(')+_0x176075['sub']+_0x5842db(0x1c7,'K!Of')+_0x1dde27[_0x5842db(0x1e1,'H3Y%')](day,_0x5282c1[_0x5842db(0x1f8,'KUX&')])+'\x20','('+_0x5282c1[_0x5842db(0x28e,'DjR%')]+_0x5842db(0x1db,'H3Y%'))),_0x5282c1;case _0x1dde27['SQoIr']:return _0x9a6569[_0x5842db(0x278,'Ah6L')](_0x1dde27[_0x5842db(0x1f1,'&c1!')]('the\x20'+_0x2871ab+_0x5842db(0x1b9,'K5g@')+_0x176075[_0x5842db(0x267,'DjR%')]+_0x5842db(0x22b,'DjR%')+_0x176075['sub']+_0x5842db(0x1e4,'6gz%')+day(_0x5282c1[_0x5842db(0x213,'AA%K')])+'.\x20',_0x5842db(0x1cb,'K!Of')+_0x1dde27[_0x5842db(0x2a0,'ryHT')](day,_0x5282c1[_0x5842db(0x1e2,'&W&P')])+_0x5842db(0x1e6,'K5g@')+_0x2871ab+_0x5842db(0x29a,'OO%S'))),_0x5282c1;default:var _0x2ab021,_0x28f0e7=_0x1dde27[_0x5842db(0x259,'%mT#')](_0x1dde27['hSzkN'](describeFailure,_0x5282c1),'\x20')+CONTACT;if(_0x1dde27[_0x5842db(0x1e5,'CdTG')](isProduction,_0x3bda5c))throw(_0x2ab021=new Error(_0x28f0e7))['code']=LICENSE_ERROR_CODES[_0x5282c1['state']],_0x2ab021['product']=_0x2871ab,_0x2ab021;return _0x9a6569[_0x1dde27[_0x5842db(0x2a6,'ovUo')](isUsedThroughEsi,_0x3bda5c)?_0x1dde27[_0x5842db(0x25c,'COJ#')]:_0x1dde27[_0x5842db(0x1b3,'8YIT')]](_0x1dde27['WFvaX'](_0x28f0e7,_0x1dde27[_0x5842db(0x289,'AA%K')])),_0x5282c1;}}module[_0x40a972(0x1ee,'B*A(')]={'ALL_PACKAGES':ALL_PACKAGES,'DEFAULT_GRACE_DAYS':DEFAULT_GRACE_DAYS,'enforceLicense':enforceLicense,'EXPIRY_WARNING_DAYS':EXPIRY_WARNING_DAYS,'grants':grants,'LICENSE_ERROR_CODES':LICENSE_ERROR_CODES,'LICENSE_ISSUER':LICENSE_ISSUER,'licensedFeature':licensedFeature,'PACKAGE_SCOPE':PACKAGE_SCOPE,'PUBLIC_KEYS':PUBLIC_KEYS,'readTokens':readTokens,'selectLicense':selectLicense,'verifyLicense':verifyLicense,'__test':{'checkBinding':checkBinding,'isProduction':isProduction,'readVcap':readVcap}};
|
package/src/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
var _0x5c96fe=_0x388a;function _0x388a(_0x4b07f5,_0x9b11c4){_0x4b07f5=_0x4b07f5-0x153;var _0x646357=_0x6463();var _0x388a40=_0x646357[_0x4b07f5];if(_0x388a['FshHgb']===undefined){var _0x4f7b86=function(_0x387b2a){var _0x3f0709='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x21ecaf='',_0x2ece14='';for(var _0x33c691=0x0,_0x3a1f28,_0x34e768,_0x269e69=0x0;_0x34e768=_0x387b2a['charAt'](_0x269e69++);~_0x34e768&&(_0x3a1f28=_0x33c691%0x4?_0x3a1f28*0x40+_0x34e768:_0x34e768,_0x33c691++%0x4)?_0x21ecaf+=String['fromCharCode'](0xff&_0x3a1f28>>(-0x2*_0x33c691&0x6)):0x0){_0x34e768=_0x3f0709['indexOf'](_0x34e768);}for(var _0x7134ac=0x0,_0x21986d=_0x21ecaf['length'];_0x7134ac<_0x21986d;_0x7134ac++){_0x2ece14+='%'+('00'+_0x21ecaf['charCodeAt'](_0x7134ac)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2ece14);};var _0x2a8503=function(_0x58951b,_0x579633){var _0x512021=[],_0x4c2397=0x0,_0x2338f4,_0x1cb8ef='';_0x58951b=_0x4f7b86(_0x58951b);var _0x2db5f5;for(_0x2db5f5=0x0;_0x2db5f5<0x100;_0x2db5f5++){_0x512021[_0x2db5f5]=_0x2db5f5;}for(_0x2db5f5=0x0;_0x2db5f5<0x100;_0x2db5f5++){_0x4c2397=(_0x4c2397+_0x512021[_0x2db5f5]+_0x579633['charCodeAt'](_0x2db5f5%_0x579633['length']))%0x100,_0x2338f4=_0x512021[_0x2db5f5],_0x512021[_0x2db5f5]=_0x512021[_0x4c2397],_0x512021[_0x4c2397]=_0x2338f4;}_0x2db5f5=0x0,_0x4c2397=0x0;for(var _0x2ff91a=0x0;_0x2ff91a<_0x58951b['length'];_0x2ff91a++){_0x2db5f5=(_0x2db5f5+0x1)%0x100,_0x4c2397=(_0x4c2397+_0x512021[_0x2db5f5])%0x100,_0x2338f4=_0x512021[_0x2db5f5],_0x512021[_0x2db5f5]=_0x512021[_0x4c2397],_0x512021[_0x4c2397]=_0x2338f4,_0x1cb8ef+=String['fromCharCode'](_0x58951b['charCodeAt'](_0x2ff91a)^_0x512021[(_0x512021[_0x2db5f5]+_0x512021[_0x4c2397])%0x100]);}return _0x1cb8ef;};_0x388a['wcfvIW']=_0x2a8503,_0x388a['zklWxR']={},_0x388a['FshHgb']=!![];}var _0x26611d=_0x646357[0x0];_0x388a['GggVjE']!==_0x26611d&&(_0x388a['zklWxR']={},_0x388a['GggVjE']=_0x26611d);var _0x360d7f=_0x388a['zklWxR'][_0x4b07f5];return _0x360d7f===undefined?(_0x388a['LqhtFc']===undefined&&(_0x388a['LqhtFc']=!![]),_0x388a40=_0x388a['wcfvIW'](_0x388a40,_0x9b11c4),_0x388a['zklWxR'][_0x4b07f5]=_0x388a40):_0x388a40=_0x360d7f,_0x388a40;}function _0x6463(){var _0x58f80b=['d8oHv8oyWPNcGxFcSWNdGCoGn30+','qCojW6yRuKmfp8kB','iINdJCoIh3i8d8kiWOZdSNO','qmo/emk+WP5SeSkgWR9dW6NcI8om','W5qWW7tdImosnCkPpdC','hdZdIdWLiCklFCkJWPi','A8kmW6CMmbRcKxVdU8oUC8oX','W7hdQaza','m8kcW57dV17dVeBcRWjsAce','eCkrWPCKWQPMwmo8','kGRdGY1XWPFdOeWMb8ohCa','WPnNWOf7WRPtemk8WRNdIgH4qW','WRPbWORcQXfiWOlcU27dOSoBl8oL','rsS8W40uWOqEpa','WPK+baOcW5SgpxNcU8keuq','CcbVW7GuWOtdK09LWRSrW40','WPtcTmkqW4fwdwZdMxNdKmohBG','lSoeW7rnW4XTW40','WO/dOcRcM0hcUSk6l8owWRmha8kn','udj9W4lcQW','W61zhc4','qmo7f8k0WPbVeSk3WQzeW47cGmoj','W6e2W7pdLWZcPu0'];_0x6463=function(){return _0x58f80b;};return _0x6463();}(function(_0x306be2,_0x2c6010){var _0x32141d=_0x388a,_0x28c533=_0x306be2();while(!![]){try{var _0x39ed96=-parseInt(_0x32141d(0x15a,'&40h'))/0x1+parseInt(_0x32141d(0x158,'yI0T'))/0x2*(parseInt(_0x32141d(0x163,'xkq4'))/0x3)+-parseInt(_0x32141d(0x161,'sMN)'))/0x4*(-parseInt(_0x32141d(0x15b,'5SzD'))/0x5)+parseInt(_0x32141d(0x160,'vady'))/0x6+-parseInt(_0x32141d(0x15d,'1aRg'))/0x7+-parseInt(_0x32141d(0x164,'*XfQ'))/0x8+-parseInt(_0x32141d(0x155,'j]sj'))/0x9*(-parseInt(_0x32141d(0x153,'uA*1'))/0xa);if(_0x39ed96===_0x2c6010)break;else _0x28c533['push'](_0x28c533['shift']());}catch(_0x16d16a){_0x28c533['push'](_0x28c533['shift']());}}}(_0x6463,0x668fe),(Object[_0x5c96fe(0x169,'ioCo')](exports,_0x5c96fe(0x157,'SNOT'),{'value':!0x0}),exports[_0x5c96fe(0x159,']ezY')]=void 0x0,exports[_0x5c96fe(0x166,'7RjY')]=require(_0x5c96fe(0x165,'HI2g'))));
|