@pipeline-builder/pipeline-data 3.4.131 → 4.0.2
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 +1 -1
- package/lib/api/access-control-builder.d.ts +58 -15
- package/lib/api/access-control-builder.js +88 -76
- package/lib/api/crud-service.d.ts +3 -3
- package/lib/api/crud-service.js +14 -6
- package/lib/api/query-builders.d.ts +10 -17
- package/lib/api/query-builders.js +13 -20
- package/lib/api/reporting-service.d.ts +2 -0
- package/lib/api/reporting-service.js +9 -5
- package/lib/api/viewer-context.d.ts +29 -0
- package/lib/api/viewer-context.js +63 -0
- package/lib/core/query-filters.d.ts +11 -20
- package/lib/core/query-filters.js +2 -2
- package/lib/database/drizzle-schema.d.ts +12 -91
- package/lib/database/schema/compliance.d.ts +0 -41
- package/lib/database/schema/compliance.js +6 -6
- package/lib/database/schema/dashboard.d.ts +0 -19
- package/lib/database/schema/dashboard.js +1 -8
- package/lib/database/schema/message.d.ts +0 -21
- package/lib/database/schema/message.js +7 -7
- package/lib/database/schema/pipeline-template.d.ts +16 -6
- package/lib/database/schema/pipeline-template.js +21 -6
- package/lib/database/schema/pipeline.d.ts +5 -5
- package/lib/database/schema/pipeline.js +12 -6
- package/lib/database/schema/plugin.d.ts +6 -6
- package/lib/database/schema/plugin.js +13 -7
- package/lib/database/tenancy.d.ts +13 -5
- package/lib/database/tenancy.js +23 -16
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/package.json +2 -2
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/** The viewer fields a per-user predicate reads off a filter. */
|
|
2
|
+
export interface ViewerScopedFilter {
|
|
3
|
+
/** Caller's user id. Compared against the row's per-user column. */
|
|
4
|
+
readonly viewerUserId?: string;
|
|
5
|
+
/** Whether the caller is a platform super-admin (sees every rung). */
|
|
6
|
+
readonly viewerIsSuperAdmin?: boolean;
|
|
7
|
+
}
|
|
8
|
+
/** The current request's user id, or `undefined` outside a tenant scope. */
|
|
9
|
+
export declare function currentViewerUserId(): string | undefined;
|
|
10
|
+
/**
|
|
11
|
+
* Stamp the request's viewer identity onto a filter.
|
|
12
|
+
*
|
|
13
|
+
* An EXPLICIT value on the filter always wins, so a caller that deliberately
|
|
14
|
+
* scopes to a specific user (or a test that fixes the viewer) stays expressible;
|
|
15
|
+
* the context only fills what the caller left blank.
|
|
16
|
+
*
|
|
17
|
+
* Safe against `CrudService.runRead`'s sysadmin widening (the parent-org read
|
|
18
|
+
* path, which re-enters the context with `isSuperAdmin: true`): conditions are
|
|
19
|
+
* always built BEFORE that scope is entered, so the stamp reflects the real
|
|
20
|
+
* caller, never the widened one.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* protected buildConditions(filter, orgId, parentOrgId) {
|
|
25
|
+
* return buildXConditions(withViewerContext(filter), orgId, parentOrgId);
|
|
26
|
+
* }
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export declare function withViewerContext<F extends ViewerScopedFilter>(filter: Partial<F>): Partial<F>;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
// Copyright 2026 Pipeline Builder Contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
/**
|
|
4
|
+
* Viewer identity for app-layer predicates that carry a PER-USER rung.
|
|
5
|
+
*
|
|
6
|
+
* Most visibility predicates are org-grained, which RLS and the shared
|
|
7
|
+
* access-control builder already express. Two entities need finer grain:
|
|
8
|
+
*
|
|
9
|
+
* - **pipeline templates** — the `private` rung is author-only (`created_by`)
|
|
10
|
+
* - **messages** — a per-user targeted row (`recipient_user_id`) is visible
|
|
11
|
+
* only to its target, not to everyone in the recipient org
|
|
12
|
+
*
|
|
13
|
+
* Both need to know WHO is asking, and neither can get it from `CrudService`'s
|
|
14
|
+
* signatures: `writeConditions` (update/delete) builds the read clause from a
|
|
15
|
+
* bare `{ id }` filter and has nowhere to pass a viewer. Hand-threading the
|
|
16
|
+
* viewer through every call site is the alternative, and it fails in practice —
|
|
17
|
+
* it produces parallel `find*Visible*` methods and silently drops the viewer at
|
|
18
|
+
* whichever call site forgets it (an org member then reads a row addressed to
|
|
19
|
+
* someone else).
|
|
20
|
+
*
|
|
21
|
+
* So the viewer travels the same trusted, request-scoped channel as the org
|
|
22
|
+
* stamp: `TenantContext`, set once at the request boundary from the validated
|
|
23
|
+
* JWT. A service opts in by stamping it in ONE place — its `buildConditions`
|
|
24
|
+
* override, which every read and write funnels through, including direct
|
|
25
|
+
* `this.buildConditions(...)` calls.
|
|
26
|
+
*
|
|
27
|
+
* Fails CLOSED everywhere: no tenant scope (background jobs, migrations, the
|
|
28
|
+
* retention sweep) means no viewer, and a viewer-less predicate must match
|
|
29
|
+
* nothing on the per-user rung rather than matching everything.
|
|
30
|
+
*/
|
|
31
|
+
import { getTenantContext } from '../database/tenancy.js';
|
|
32
|
+
/** The current request's user id, or `undefined` outside a tenant scope. */
|
|
33
|
+
export function currentViewerUserId() {
|
|
34
|
+
return getTenantContext()?.userId;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Stamp the request's viewer identity onto a filter.
|
|
38
|
+
*
|
|
39
|
+
* An EXPLICIT value on the filter always wins, so a caller that deliberately
|
|
40
|
+
* scopes to a specific user (or a test that fixes the viewer) stays expressible;
|
|
41
|
+
* the context only fills what the caller left blank.
|
|
42
|
+
*
|
|
43
|
+
* Safe against `CrudService.runRead`'s sysadmin widening (the parent-org read
|
|
44
|
+
* path, which re-enters the context with `isSuperAdmin: true`): conditions are
|
|
45
|
+
* always built BEFORE that scope is entered, so the stamp reflects the real
|
|
46
|
+
* caller, never the widened one.
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```typescript
|
|
50
|
+
* protected buildConditions(filter, orgId, parentOrgId) {
|
|
51
|
+
* return buildXConditions(withViewerContext(filter), orgId, parentOrgId);
|
|
52
|
+
* }
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
export function withViewerContext(filter) {
|
|
56
|
+
const ctx = getTenantContext();
|
|
57
|
+
return {
|
|
58
|
+
...filter,
|
|
59
|
+
viewerUserId: filter.viewerUserId ?? ctx?.userId,
|
|
60
|
+
viewerIsSuperAdmin: filter.viewerIsSuperAdmin ?? ctx?.isSuperAdmin ?? false,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLWNvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBpL3ZpZXdlci1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJCRztBQUVILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBVTFELDRFQUE0RTtBQUM1RSxNQUFNLFVBQVUsbUJBQW1CO0lBQ2pDLE9BQU8sZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLENBQUM7QUFDcEMsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQkc7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQStCLE1BQWtCO0lBQ2hGLE1BQU0sR0FBRyxHQUFHLGdCQUFnQixFQUFFLENBQUM7SUFDL0IsT0FBTztRQUNMLEdBQUcsTUFBTTtRQUNULFlBQVksRUFBRSxNQUFNLENBQUMsWUFBWSxJQUFJLEdBQUcsRUFBRSxNQUFNO1FBQ2hELGtCQUFrQixFQUFFLE1BQU0sQ0FBQyxrQkFBa0IsSUFBSSxHQUFHLEVBQUUsWUFBWSxJQUFJLEtBQUs7S0FDNUUsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuLyoqXG4gKiBWaWV3ZXIgaWRlbnRpdHkgZm9yIGFwcC1sYXllciBwcmVkaWNhdGVzIHRoYXQgY2FycnkgYSBQRVItVVNFUiBydW5nLlxuICpcbiAqIE1vc3QgdmlzaWJpbGl0eSBwcmVkaWNhdGVzIGFyZSBvcmctZ3JhaW5lZCwgd2hpY2ggUkxTIGFuZCB0aGUgc2hhcmVkXG4gKiBhY2Nlc3MtY29udHJvbCBidWlsZGVyIGFscmVhZHkgZXhwcmVzcy4gVHdvIGVudGl0aWVzIG5lZWQgZmluZXIgZ3JhaW46XG4gKlxuICogIC0gKipwaXBlbGluZSB0ZW1wbGF0ZXMqKiDigJQgdGhlIGBwcml2YXRlYCBydW5nIGlzIGF1dGhvci1vbmx5IChgY3JlYXRlZF9ieWApXG4gKiAgLSAqKm1lc3NhZ2VzKiog4oCUIGEgcGVyLXVzZXIgdGFyZ2V0ZWQgcm93IChgcmVjaXBpZW50X3VzZXJfaWRgKSBpcyB2aXNpYmxlXG4gKiAgICBvbmx5IHRvIGl0cyB0YXJnZXQsIG5vdCB0byBldmVyeW9uZSBpbiB0aGUgcmVjaXBpZW50IG9yZ1xuICpcbiAqIEJvdGggbmVlZCB0byBrbm93IFdITyBpcyBhc2tpbmcsIGFuZCBuZWl0aGVyIGNhbiBnZXQgaXQgZnJvbSBgQ3J1ZFNlcnZpY2VgJ3NcbiAqIHNpZ25hdHVyZXM6IGB3cml0ZUNvbmRpdGlvbnNgICh1cGRhdGUvZGVsZXRlKSBidWlsZHMgdGhlIHJlYWQgY2xhdXNlIGZyb20gYVxuICogYmFyZSBgeyBpZCB9YCBmaWx0ZXIgYW5kIGhhcyBub3doZXJlIHRvIHBhc3MgYSB2aWV3ZXIuIEhhbmQtdGhyZWFkaW5nIHRoZVxuICogdmlld2VyIHRocm91Z2ggZXZlcnkgY2FsbCBzaXRlIGlzIHRoZSBhbHRlcm5hdGl2ZSwgYW5kIGl0IGZhaWxzIGluIHByYWN0aWNlIOKAlFxuICogaXQgcHJvZHVjZXMgcGFyYWxsZWwgYGZpbmQqVmlzaWJsZSpgIG1ldGhvZHMgYW5kIHNpbGVudGx5IGRyb3BzIHRoZSB2aWV3ZXIgYXRcbiAqIHdoaWNoZXZlciBjYWxsIHNpdGUgZm9yZ2V0cyBpdCAoYW4gb3JnIG1lbWJlciB0aGVuIHJlYWRzIGEgcm93IGFkZHJlc3NlZCB0b1xuICogc29tZW9uZSBlbHNlKS5cbiAqXG4gKiBTbyB0aGUgdmlld2VyIHRyYXZlbHMgdGhlIHNhbWUgdHJ1c3RlZCwgcmVxdWVzdC1zY29wZWQgY2hhbm5lbCBhcyB0aGUgb3JnXG4gKiBzdGFtcDogYFRlbmFudENvbnRleHRgLCBzZXQgb25jZSBhdCB0aGUgcmVxdWVzdCBib3VuZGFyeSBmcm9tIHRoZSB2YWxpZGF0ZWRcbiAqIEpXVC4gQSBzZXJ2aWNlIG9wdHMgaW4gYnkgc3RhbXBpbmcgaXQgaW4gT05FIHBsYWNlIOKAlCBpdHMgYGJ1aWxkQ29uZGl0aW9uc2BcbiAqIG92ZXJyaWRlLCB3aGljaCBldmVyeSByZWFkIGFuZCB3cml0ZSBmdW5uZWxzIHRocm91Z2gsIGluY2x1ZGluZyBkaXJlY3RcbiAqIGB0aGlzLmJ1aWxkQ29uZGl0aW9ucyguLi4pYCBjYWxscy5cbiAqXG4gKiBGYWlscyBDTE9TRUQgZXZlcnl3aGVyZTogbm8gdGVuYW50IHNjb3BlIChiYWNrZ3JvdW5kIGpvYnMsIG1pZ3JhdGlvbnMsIHRoZVxuICogcmV0ZW50aW9uIHN3ZWVwKSBtZWFucyBubyB2aWV3ZXIsIGFuZCBhIHZpZXdlci1sZXNzIHByZWRpY2F0ZSBtdXN0IG1hdGNoXG4gKiBub3RoaW5nIG9uIHRoZSBwZXItdXNlciBydW5nIHJhdGhlciB0aGFuIG1hdGNoaW5nIGV2ZXJ5dGhpbmcuXG4gKi9cblxuaW1wb3J0IHsgZ2V0VGVuYW50Q29udGV4dCB9IGZyb20gJy4uL2RhdGFiYXNlL3RlbmFuY3kuanMnO1xuXG4vKiogVGhlIHZpZXdlciBmaWVsZHMgYSBwZXItdXNlciBwcmVkaWNhdGUgcmVhZHMgb2ZmIGEgZmlsdGVyLiAqL1xuZXhwb3J0IGludGVyZmFjZSBWaWV3ZXJTY29wZWRGaWx0ZXIge1xuICAvKiogQ2FsbGVyJ3MgdXNlciBpZC4gQ29tcGFyZWQgYWdhaW5zdCB0aGUgcm93J3MgcGVyLXVzZXIgY29sdW1uLiAqL1xuICByZWFkb25seSB2aWV3ZXJVc2VySWQ/OiBzdHJpbmc7XG4gIC8qKiBXaGV0aGVyIHRoZSBjYWxsZXIgaXMgYSBwbGF0Zm9ybSBzdXBlci1hZG1pbiAoc2VlcyBldmVyeSBydW5nKS4gKi9cbiAgcmVhZG9ubHkgdmlld2VySXNTdXBlckFkbWluPzogYm9vbGVhbjtcbn1cblxuLyoqIFRoZSBjdXJyZW50IHJlcXVlc3QncyB1c2VyIGlkLCBvciBgdW5kZWZpbmVkYCBvdXRzaWRlIGEgdGVuYW50IHNjb3BlLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGN1cnJlbnRWaWV3ZXJVc2VySWQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGdldFRlbmFudENvbnRleHQoKT8udXNlcklkO1xufVxuXG4vKipcbiAqIFN0YW1wIHRoZSByZXF1ZXN0J3Mgdmlld2VyIGlkZW50aXR5IG9udG8gYSBmaWx0ZXIuXG4gKlxuICogQW4gRVhQTElDSVQgdmFsdWUgb24gdGhlIGZpbHRlciBhbHdheXMgd2lucywgc28gYSBjYWxsZXIgdGhhdCBkZWxpYmVyYXRlbHlcbiAqIHNjb3BlcyB0byBhIHNwZWNpZmljIHVzZXIgKG9yIGEgdGVzdCB0aGF0IGZpeGVzIHRoZSB2aWV3ZXIpIHN0YXlzIGV4cHJlc3NpYmxlO1xuICogdGhlIGNvbnRleHQgb25seSBmaWxscyB3aGF0IHRoZSBjYWxsZXIgbGVmdCBibGFuay5cbiAqXG4gKiBTYWZlIGFnYWluc3QgYENydWRTZXJ2aWNlLnJ1blJlYWRgJ3Mgc3lzYWRtaW4gd2lkZW5pbmcgKHRoZSBwYXJlbnQtb3JnIHJlYWRcbiAqIHBhdGgsIHdoaWNoIHJlLWVudGVycyB0aGUgY29udGV4dCB3aXRoIGBpc1N1cGVyQWRtaW46IHRydWVgKTogY29uZGl0aW9ucyBhcmVcbiAqIGFsd2F5cyBidWlsdCBCRUZPUkUgdGhhdCBzY29wZSBpcyBlbnRlcmVkLCBzbyB0aGUgc3RhbXAgcmVmbGVjdHMgdGhlIHJlYWxcbiAqIGNhbGxlciwgbmV2ZXIgdGhlIHdpZGVuZWQgb25lLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBwcm90ZWN0ZWQgYnVpbGRDb25kaXRpb25zKGZpbHRlciwgb3JnSWQsIHBhcmVudE9yZ0lkKSB7XG4gKiAgIHJldHVybiBidWlsZFhDb25kaXRpb25zKHdpdGhWaWV3ZXJDb250ZXh0KGZpbHRlciksIG9yZ0lkLCBwYXJlbnRPcmdJZCk7XG4gKiB9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdpdGhWaWV3ZXJDb250ZXh0PEYgZXh0ZW5kcyBWaWV3ZXJTY29wZWRGaWx0ZXI+KGZpbHRlcjogUGFydGlhbDxGPik6IFBhcnRpYWw8Rj4ge1xuICBjb25zdCBjdHggPSBnZXRUZW5hbnRDb250ZXh0KCk7XG4gIHJldHVybiB7XG4gICAgLi4uZmlsdGVyLFxuICAgIHZpZXdlclVzZXJJZDogZmlsdGVyLnZpZXdlclVzZXJJZCA/PyBjdHg/LnVzZXJJZCxcbiAgICB2aWV3ZXJJc1N1cGVyQWRtaW46IGZpbHRlci52aWV3ZXJJc1N1cGVyQWRtaW4gPz8gY3R4Py5pc1N1cGVyQWRtaW4gPz8gZmFsc2UsXG4gIH07XG59XG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { Visibility } from '@pipeline-builder/api-core';
|
|
2
2
|
/**
|
|
3
3
|
* Base filter interface containing common filter properties shared across all entity types.
|
|
4
4
|
*
|
|
@@ -7,7 +7,7 @@ import { AccessModifier } from '@pipeline-builder/api-core';
|
|
|
7
7
|
* const filter: CommonFilter = {
|
|
8
8
|
* id: '123',
|
|
9
9
|
* orgId: 'my-org',
|
|
10
|
-
*
|
|
10
|
+
* visibility: 'public',
|
|
11
11
|
* isDefault: true,
|
|
12
12
|
* isActive: true
|
|
13
13
|
* };
|
|
@@ -19,17 +19,21 @@ export interface CommonFilter {
|
|
|
19
19
|
* Can be a single ID or array of IDs for batch filtering
|
|
20
20
|
*/
|
|
21
21
|
readonly id?: string | string[];
|
|
22
|
+
/** Caller's user id, matched against the entity's per-user column. */
|
|
23
|
+
readonly viewerUserId?: string;
|
|
24
|
+
/** Whether the caller is a platform super-admin (sees every rung). */
|
|
25
|
+
readonly viewerIsSuperAdmin?: boolean;
|
|
22
26
|
/**
|
|
23
27
|
* Organization identifier to filter entities by organization
|
|
24
28
|
* Can be a single org ID or array for multi-org filtering
|
|
25
29
|
*/
|
|
26
30
|
readonly orgId?: string | string[];
|
|
27
31
|
/**
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
* @see
|
|
32
|
+
* Narrow to one rung of the shared three-rung sharing ladder. Applied WITHIN
|
|
33
|
+
* what the caller can already see — never widens it.
|
|
34
|
+
* @see Visibility
|
|
31
35
|
*/
|
|
32
|
-
readonly
|
|
36
|
+
readonly visibility?: Visibility | string;
|
|
33
37
|
/**
|
|
34
38
|
* Filter by default status
|
|
35
39
|
* - true: Only default entities
|
|
@@ -139,9 +143,7 @@ export interface PipelineFilter extends CommonFilter {
|
|
|
139
143
|
*/
|
|
140
144
|
readonly keyword?: string;
|
|
141
145
|
}
|
|
142
|
-
/**
|
|
143
|
-
* Filter interface for pipeline-template queries (golden-path catalog).
|
|
144
|
-
*/
|
|
146
|
+
/** Filter interface for pipeline-template queries (golden-path catalog). */
|
|
145
147
|
export interface PipelineTemplateFilter extends CommonFilter {
|
|
146
148
|
/** Template name (case-insensitive contains). */
|
|
147
149
|
readonly name?: string;
|
|
@@ -172,17 +174,6 @@ export interface MessageFilter extends CommonFilter {
|
|
|
172
174
|
* visibility-scoping variant.
|
|
173
175
|
*/
|
|
174
176
|
readonly recipientUserId?: string | null;
|
|
175
|
-
/**
|
|
176
|
-
* The VIEWER's user ID, used purely to scope visibility of per-user targeted
|
|
177
|
-
* messages — NOT a column filter. When present, the recipient-side visibility
|
|
178
|
-
* branch in `buildMessageConditions` widens to include messages targeted at
|
|
179
|
-
* this user (recipient_user_id = viewerUserId) in addition to org-wide ones
|
|
180
|
-
* (recipient_user_id IS NULL). When absent, only org-wide recipient messages
|
|
181
|
-
* are visible on the recipient side (a user-targeted message stays private to
|
|
182
|
-
* its target, the sender, and the system org). This is how the message read
|
|
183
|
-
* paths thread the authenticated user through the shared CrudService filter.
|
|
184
|
-
*/
|
|
185
|
-
readonly viewerUserId?: string;
|
|
186
177
|
/**
|
|
187
178
|
* Message type filter
|
|
188
179
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
// Copyright 2026 Pipeline Builder Contributors
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3JlL3F1ZXJ5LWZpbHRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IHsgQWNjZXNzTW9kaWZpZXIgfSBmcm9tICdAcGlwZWxpbmUtYnVpbGRlci9hcGktY29yZSc7XG5cbi8qKlxuICogQmFzZSBmaWx0ZXIgaW50ZXJmYWNlIGNvbnRhaW5pbmcgY29tbW9uIGZpbHRlciBwcm9wZXJ0aWVzIHNoYXJlZCBhY3Jvc3MgYWxsIGVudGl0eSB0eXBlcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgZmlsdGVyOiBDb21tb25GaWx0ZXIgPSB7XG4gKiAgIGlkOiAnMTIzJyxcbiAqICAgb3JnSWQ6ICdteS1vcmcnLFxuICogICBhY2Nlc3NNb2RpZmllcjogQWNjZXNzTW9kaWZpZXIuUFVCTElDLFxuICogICBpc0RlZmF1bHQ6IHRydWUsXG4gKiAgIGlzQWN0aXZlOiB0cnVlXG4gKiB9O1xuICogYGBgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tbW9uRmlsdGVyIHtcbiAgLyoqXG4gICAqIFVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgZW50aXR5XG4gICAqIENhbiBiZSBhIHNpbmdsZSBJRCBvciBhcnJheSBvZiBJRHMgZm9yIGJhdGNoIGZpbHRlcmluZ1xuICAgKi9cbiAgcmVhZG9ubHkgaWQ/OiBzdHJpbmcgfCBzdHJpbmdbXTtcblxuICAvKipcbiAgICogT3JnYW5pemF0aW9uIGlkZW50aWZpZXIgdG8gZmlsdGVyIGVudGl0aWVzIGJ5IG9yZ2FuaXphdGlvblxuICAgKiBDYW4gYmUgYSBzaW5nbGUgb3JnIElEIG9yIGFycmF5IGZvciBtdWx0aS1vcmcgZmlsdGVyaW5nXG4gICAqL1xuICByZWFkb25seSBvcmdJZD86IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBY2Nlc3MgbW9kaWZpZXIgdG8gZmlsdGVyIGJ5IHZpc2liaWxpdHkvcGVybWlzc2lvbnNcbiAgICogVXNlIEFjY2Vzc01vZGlmaWVyIGVudW0gZm9yIHR5cGUgc2FmZXR5XG4gICAqIEBzZWUgQWNjZXNzTW9kaWZpZXJcbiAgICovXG4gIHJlYWRvbmx5IGFjY2Vzc01vZGlmaWVyPzogQWNjZXNzTW9kaWZpZXIgfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEZpbHRlciBieSBkZWZhdWx0IHN0YXR1c1xuICAgKiAtIHRydWU6IE9ubHkgZGVmYXVsdCBlbnRpdGllc1xuICAgKiAtIGZhbHNlOiBPbmx5IG5vbi1kZWZhdWx0IGVudGl0aWVzXG4gICAqIC0gdW5kZWZpbmVkOiBBbGwgZW50aXRpZXNcbiAgICovXG4gIHJlYWRvbmx5IGlzRGVmYXVsdD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEZpbHRlciBieSBhY3RpdmUvaW5hY3RpdmUgc3RhdHVzXG4gICAqIC0gdHJ1ZTogT25seSBhY3RpdmUgZW50aXRpZXNcbiAgICogLSBmYWxzZTogT25seSBpbmFjdGl2ZSBlbnRpdGllc1xuICAgKiAtIHVuZGVmaW5lZDogQWxsIGVudGl0aWVzXG4gICAqL1xuICByZWFkb25seSBpc0FjdGl2ZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE51bWJlciBvZiByZXN1bHRzIHRvIHJldHVyblxuICAgKiBAbWluaW11bSAxXG4gICAqIEBtYXhpbXVtIDEwMDBcbiAgICovXG4gIHJlYWRvbmx5IGxpbWl0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgcmVzdWx0cyB0byBza2lwIChmb3IgcGFnaW5hdGlvbilcbiAgICogQG1pbmltdW0gMFxuICAgKi9cbiAgcmVhZG9ubHkgb2Zmc2V0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTb3J0IGZpZWxkIGFuZCBkaXJlY3Rpb25cbiAgICogQGV4YW1wbGUgXCJuYW1lOmFzY1wiLCBcImNyZWF0ZWRBdDpkZXNjXCJcbiAgICovXG4gIHJlYWRvbmx5IHNvcnQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEZpbHRlciBieSBjYXRhbG9nIG93bmVyIChkZXZlbG9wZXItcG9ydGFsIFwibXkgc2VydmljZXNcIiB2aWV3KS5cbiAgICogTWF0Y2hlcyB0aGUgZW50aXR5J3MgYG93bmVySWRgIGV4YWN0bHkgKGEgdXNlciBpZCBvciB0ZWFtIGlkKS5cbiAgICogT25seSBhcHBsaWVkIGJ5IGJ1aWxkZXJzIGZvciBlbnRpdGllcyB0aGF0IGNhcnJ5IGFuIG93bmVyIGNvbHVtblxuICAgKiAocGlwZWxpbmVzLCBwbHVnaW5zKTsgaWdub3JlZCBlbHNld2hlcmUuXG4gICAqL1xuICByZWFkb25seSBvd25lcklkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBGaWx0ZXIgYnkgbGlmZWN5Y2xlIHN0YWdlIChleHBlcmltZW50YWwgfCBwcm9kdWN0aW9uIHwgZGVwcmVjYXRlZCkuXG4gICAqIE9ubHkgYXBwbGllZCBieSBidWlsZGVycyBmb3IgZW50aXRpZXMgdGhhdCBjYXJyeSBhIGxpZmVjeWNsZSBjb2x1bW4uXG4gICAqL1xuICByZWFkb25seSBsaWZlY3ljbGU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogRmlsdGVyIGludGVyZmFjZSBmb3IgcGx1Z2luLXNwZWNpZmljIHByb3BlcnRpZXMuXG4gKiBFeHRlbmRzIENvbW1vbkZpbHRlciB0byBpbmNsdWRlIHBsdWdpbi1yZWxhdGVkIGZpbHRlciBvcHRpb25zLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBmaWx0ZXI6IFBsdWdpbkZpbHRlciA9IHtcbiAqICAgbmFtZTogJ25vZGVqcy1idWlsZCcsXG4gKiAgIHZlcnNpb246ICcxLjAuMCcsXG4gKiAgIGlzQWN0aXZlOiB0cnVlXG4gKiB9O1xuICogYGBgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGx1Z2luRmlsdGVyIGV4dGVuZHMgQ29tbW9uRmlsdGVyIHtcbiAgLyoqXG4gICAqIFBsdWdpbiBuYW1lIHRvIGZpbHRlciBieVxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogUGx1Z2luIHZlcnNpb24gdG8gZmlsdGVyIGJ5XG4gICAqIFN1cHBvcnRzIHNlbWFudGljIHZlcnNpb25pbmdcbiAgICogQGV4YW1wbGUgXCIxLjAuMFwiLCBcIl4yLjAuMFwiLCBcIn4xLjIuM1wiXG4gICAqL1xuICByZWFkb25seSB2ZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBLZXl3b3JkIHRvIHNlYXJjaCB3aXRoaW4gdGhlIGtleXdvcmRzIEpTT05CIGFycmF5IChjYXNlLWluc2Vuc2l0aXZlIGNvbnRhaW5zKVxuICAgKi9cbiAgcmVhZG9ubHkga2V5d29yZD86IHN0cmluZztcblxuICAvKipcbiAgICogUGx1Z2luIGNhdGVnb3J5IHRvIGZpbHRlciBieVxuICAgKiBAZXhhbXBsZSBcImxhbmd1YWdlXCIsIFwic2VjdXJpdHlcIiwgXCJ0ZXN0aW5nXCJcbiAgICovXG4gIHJlYWRvbmx5IGNhdGVnb3J5Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEZpbHRlciBpbnRlcmZhY2UgZm9yIHBpcGVsaW5lLXNwZWNpZmljIHByb3BlcnRpZXMuXG4gKiBFeHRlbmRzIENvbW1vbkZpbHRlciB0byBpbmNsdWRlIHBpcGVsaW5lLXJlbGF0ZWQgZmlsdGVyIG9wdGlvbnMuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGZpbHRlcjogUGlwZWxpbmVGaWx0ZXIgPSB7XG4gKiAgIHByb2plY3Q6ICdteS1hcHAnLFxuICogICBvcmdhbml6YXRpb246ICdteS1vcmcnLFxuICogICBwaXBlbGluZU5hbWU6ICdteS1waXBlbGluZScsXG4gKiAgIGlzQWN0aXZlOiB0cnVlXG4gKiB9O1xuICogYGBgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGlwZWxpbmVGaWx0ZXIgZXh0ZW5kcyBDb21tb25GaWx0ZXIge1xuICAvKipcbiAgICogUHJvamVjdCBuYW1lIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGlwZWxpbmVcbiAgICovXG4gIHJlYWRvbmx5IHByb2plY3Q/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9yZ2FuaXphdGlvbiBuYW1lIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGlwZWxpbmVcbiAgICovXG4gIHJlYWRvbmx5IG9yZ2FuaXphdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogUGlwZWxpbmUgbmFtZSB0byBmaWx0ZXIgYnlcbiAgICovXG4gIHJlYWRvbmx5IHBpcGVsaW5lTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogS2V5d29yZCB0byBzZWFyY2ggd2l0aGluIHRoZSBrZXl3b3JkcyBKU09OQiBhcnJheSAoY2FzZS1pbnNlbnNpdGl2ZSBjb250YWlucylcbiAgICovXG4gIHJlYWRvbmx5IGtleXdvcmQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogRmlsdGVyIGludGVyZmFjZSBmb3IgcGlwZWxpbmUtdGVtcGxhdGUgcXVlcmllcyAoZ29sZGVuLXBhdGggY2F0YWxvZykuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGlwZWxpbmVUZW1wbGF0ZUZpbHRlciBleHRlbmRzIENvbW1vbkZpbHRlciB7XG4gIC8qKiBUZW1wbGF0ZSBuYW1lIChjYXNlLWluc2Vuc2l0aXZlIGNvbnRhaW5zKS4gKi9cbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcbiAgLyoqIENhdGVnb3J5IHRvIGZpbHRlciBieSAoZS5nLiAnbGFuZ3VhZ2UnLCAnZ2VuZXJhbCcpLiAqL1xuICByZWFkb25seSBjYXRlZ29yeT86IHN0cmluZztcbiAgLyoqIEtleXdvcmQgc2VhcmNoIHdpdGhpbiB0aGUga2V5d29yZHMgSlNPTkIgYXJyYXkuICovXG4gIHJlYWRvbmx5IGtleXdvcmQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogRmlsdGVyIGludGVyZmFjZSBmb3IgbWVzc2FnZS1zcGVjaWZpYyBwcm9wZXJ0aWVzLlxuICogRXh0ZW5kcyBDb21tb25GaWx0ZXIgdG8gaW5jbHVkZSBtZXNzYWdlLXJlbGF0ZWQgZmlsdGVyIG9wdGlvbnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZUZpbHRlciBleHRlbmRzIENvbW1vbkZpbHRlciB7XG4gIC8qKlxuICAgKiBUaHJlYWQgSUQgdG8gZmlsdGVyIGJ5IChmb3IgZmV0Y2hpbmcgdGhyZWFkIHJlcGxpZXMpLlxuICAgKiBQYXNzIGBudWxsYCB0byBmaWx0ZXIgZm9yIHJvb3QgbWVzc2FnZXMgb25seSAodGhyZWFkSWQgSVMgTlVMTCkuXG4gICAqL1xuICByZWFkb25seSB0aHJlYWRJZD86IHN0cmluZyB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFJlY2lwaWVudCBvcmdhbml6YXRpb24gSUQgdG8gZmlsdGVyIGJ5XG4gICAqIFVzZSAnKicgZm9yIGJyb2FkY2FzdCBhbm5vdW5jZW1lbnRzXG4gICAqL1xuICByZWFkb25seSByZWNpcGllbnRPcmdJZD86IHN0cmluZztcblxuICAvKipcbiAgICogUmVjaXBpZW50IHVzZXIgSUQgdG8gZmlsdGVyIGJ5IChwZXItdXNlciB0YXJnZXRpbmcgd2l0aGluIHRoZSByZWNpcGllbnRcbiAgICogb3JnKS4gUGFzcyBgbnVsbGAgdG8gbWF0Y2ggb3JnLXdpZGUgbWVzc2FnZXMgb25seSAocmVjaXBpZW50X3VzZXJfaWQgSVNcbiAgICogTlVMTCkuIFJhcmVseSBzZXQgZGlyZWN0bHkgYnkgY2FsbGVycyDigJQgc2VlIGB2aWV3ZXJVc2VySWRgIGZvciB0aGVcbiAgICogdmlzaWJpbGl0eS1zY29waW5nIHZhcmlhbnQuXG4gICAqL1xuICByZWFkb25seSByZWNpcGllbnRVc2VySWQ/OiBzdHJpbmcgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgVklFV0VSJ3MgdXNlciBJRCwgdXNlZCBwdXJlbHkgdG8gc2NvcGUgdmlzaWJpbGl0eSBvZiBwZXItdXNlciB0YXJnZXRlZFxuICAgKiBtZXNzYWdlcyDigJQgTk9UIGEgY29sdW1uIGZpbHRlci4gV2hlbiBwcmVzZW50LCB0aGUgcmVjaXBpZW50LXNpZGUgdmlzaWJpbGl0eVxuICAgKiBicmFuY2ggaW4gYGJ1aWxkTWVzc2FnZUNvbmRpdGlvbnNgIHdpZGVucyB0byBpbmNsdWRlIG1lc3NhZ2VzIHRhcmdldGVkIGF0XG4gICAqIHRoaXMgdXNlciAocmVjaXBpZW50X3VzZXJfaWQgPSB2aWV3ZXJVc2VySWQpIGluIGFkZGl0aW9uIHRvIG9yZy13aWRlIG9uZXNcbiAgICogKHJlY2lwaWVudF91c2VyX2lkIElTIE5VTEwpLiBXaGVuIGFic2VudCwgb25seSBvcmctd2lkZSByZWNpcGllbnQgbWVzc2FnZXNcbiAgICogYXJlIHZpc2libGUgb24gdGhlIHJlY2lwaWVudCBzaWRlIChhIHVzZXItdGFyZ2V0ZWQgbWVzc2FnZSBzdGF5cyBwcml2YXRlIHRvXG4gICAqIGl0cyB0YXJnZXQsIHRoZSBzZW5kZXIsIGFuZCB0aGUgc3lzdGVtIG9yZykuIFRoaXMgaXMgaG93IHRoZSBtZXNzYWdlIHJlYWRcbiAgICogcGF0aHMgdGhyZWFkIHRoZSBhdXRoZW50aWNhdGVkIHVzZXIgdGhyb3VnaCB0aGUgc2hhcmVkIENydWRTZXJ2aWNlIGZpbHRlci5cbiAgICovXG4gIHJlYWRvbmx5IHZpZXdlclVzZXJJZD86IHN0cmluZztcblxuICAvKipcbiAgICogTWVzc2FnZSB0eXBlIGZpbHRlclxuICAgKi9cbiAgcmVhZG9ubHkgbWVzc2FnZVR5cGU/OiAnYW5ub3VuY2VtZW50JyB8ICdjb252ZXJzYXRpb24nO1xuXG4gIC8qKlxuICAgKiBGaWx0ZXIgYnkgcHJpb3JpdHkgbGV2ZWxcbiAgICovXG4gIHJlYWRvbmx5IHByaW9yaXR5PzogJ25vcm1hbCcgfCAnaGlnaCcgfCAndXJnZW50JztcblxuICAvKipcbiAgICogQ2hhbm5lbC9pbmJveC1idWNrZXQgZmlsdGVyIChlLmcuICdzdXBwb3J0JywgJ2hlbHAnKS4gTWF0Y2hlcyByb3dzXG4gICAqIGV4YWN0bHk7IHBhc3MgbnVsbCB0byBtYXRjaCBjaGFubmVsIElTIE5VTEwgKG9yZy10by1vcmcgbWVzc2FnZXMpLlxuICAgKi9cbiAgcmVhZG9ubHkgY2hhbm5lbD86IHN0cmluZyB8IG51bGw7XG5cbiAgLyoqXG4gICAqIEZpbHRlciBieSByZWFkIHN0YXRlIGZvciB0aGUgcmVxdWVzdGluZyBvcmcuXG4gICAqIEltcGxlbWVudGVkIGFzIGEgSlNPTkIga2V5LWV4aXN0ZW5jZSBjaGVjayBhZ2FpbnN0IGBtZXNzYWdlcy5yZWFkX2J5YFxuICAgKiAoYSBgeyBbb3JnSWRdOiBpc29UaW1lc3RhbXAgfWAgbWFwKSwgdXNpbmcgdGhlIG9yZ0lkIHBhc3NlZCB0b1xuICAgKiBgYnVpbGRNZXNzYWdlQ29uZGl0aW9uc2AuXG4gICAqIC0gdHJ1ZSAg4oaSIG9ubHkgbWVzc2FnZXMgdGhlIG9yZyBoYXMgcmVhZCAob3JnSWQga2V5IGV4aXN0cyBpbiByZWFkX2J5KVxuICAgKiAtIGZhbHNlIOKGkiBvbmx5IG1lc3NhZ2VzIHRoZSBvcmcgaGFzIE5PVCByZWFkXG4gICAqIC0gdW5kZWZpbmVkIOKGkiBubyByZWFkLXN0YXRlIGZpbHRlclxuICAgKi9cbiAgcmVhZG9ubHkgaXNSZWFkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRnJlZS10ZXh0IGluYm94IHNlYXJjaC4gQ2FzZS1pbnNlbnNpdGl2ZSBzdWJzdHJpbmcgbWF0Y2ggYWdhaW5zdCB0aGVcbiAgICogbWVzc2FnZSBgc3ViamVjdGAgT1IgYGNvbnRlbnRgIChMSUtFIHdpbGRjYXJkcyBpbiB0aGUgdGVybSBhcmUgZXNjYXBlZCwgc28gYVxuICAgKiBsaXRlcmFsIGAlYC9gX2AgbWF0Y2hlcyBpdHNlbGYpLiBBcHBsaWVkIG9uIHRvcCBvZiB0aGUgdmlzaWJpbGl0eSBzY29wZSwgc29cbiAgICogaXQgbmV2ZXIgd2lkZW5zIHdoYXQgdGhlIGNhbGxlciBjYW4gc2VlLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VhcmNoPzogc3RyaW5nO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb21wbGlhbmNlIEZpbHRlcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBGaWx0ZXIgZm9yIGNvbXBsaWFuY2UgcG9saWNpZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGxpYW5jZVBvbGljeUZpbHRlciBleHRlbmRzIENvbW1vbkZpbHRlciB7XG4gIHJlYWRvbmx5IG5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGlzVGVtcGxhdGU/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEZpbHRlciBmb3IgY29tcGxpYW5jZSBydWxlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21wbGlhbmNlUnVsZUZpbHRlciBleHRlbmRzIENvbW1vbkZpbHRlciB7XG4gIHJlYWRvbmx5IG5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBvbGljeUlkPzogc3RyaW5nO1xuICByZWFkb25seSB0YXJnZXQ/OiAncGx1Z2luJyB8ICdwaXBlbGluZSc7XG4gIHJlYWRvbmx5IGZpZWxkPzogc3RyaW5nO1xuICByZWFkb25seSBzZXZlcml0eT86ICd3YXJuaW5nJyB8ICdlcnJvcicgfCAnY3JpdGljYWwnO1xuICByZWFkb25seSBzY29wZT86ICdvcmcnIHwgJ3B1Ymxpc2hlZCc7XG4gIHJlYWRvbmx5IHRhZz86IHN0cmluZztcbn1cblxuLyoqXG4gKiBGaWx0ZXIgZm9yIGNvbXBsaWFuY2UgZXhlbXB0aW9ucy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21wbGlhbmNlRXhlbXB0aW9uRmlsdGVyIHtcbiAgcmVhZG9ubHkgb3JnSWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHJ1bGVJZD86IHN0cmluZztcbiAgcmVhZG9ubHkgZW50aXR5VHlwZT86ICdwbHVnaW4nIHwgJ3BpcGVsaW5lJztcbiAgcmVhZG9ubHkgZW50aXR5SWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHN0YXR1cz86ICdwZW5kaW5nJyB8ICdhcHByb3ZlZCcgfCAncmVqZWN0ZWQnIHwgJ2V4cGlyZWQnO1xuICByZWFkb25seSBsaW1pdD86IG51bWJlcjtcbiAgcmVhZG9ubHkgb2Zmc2V0PzogbnVtYmVyO1xufVxuXG4vKipcbiAqIEZpbHRlciBmb3IgY29tcGxpYW5jZSBhdWRpdCBsb2cgZW50cmllcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21wbGlhbmNlQXVkaXRGaWx0ZXIge1xuICByZWFkb25seSBvcmdJZD86IHN0cmluZztcbiAgcmVhZG9ubHkgdGFyZ2V0PzogJ3BsdWdpbicgfCAncGlwZWxpbmUnO1xuICByZWFkb25seSBhY3Rpb24/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHJlc3VsdD86ICdwYXNzJyB8ICd3YXJuJyB8ICdibG9jayc7XG4gIHJlYWRvbmx5IHNjYW5JZD86IHN0cmluZztcbiAgcmVhZG9ubHkgZGF0ZUZyb20/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRhdGVUbz86IHN0cmluZztcbiAgcmVhZG9ubHkgbGltaXQ/OiBudW1iZXI7XG4gIHJlYWRvbmx5IG9mZnNldD86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBGaWx0ZXIgZm9yIGNvbXBsaWFuY2Ugc2NhbnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGxpYW5jZVNjYW5GaWx0ZXIge1xuICByZWFkb25seSBvcmdJZD86IHN0cmluZztcbiAgcmVhZG9ubHkgdGFyZ2V0PzogJ3BsdWdpbicgfCAncGlwZWxpbmUnIHwgJ2FsbCc7XG4gIHJlYWRvbmx5IHN0YXR1cz86ICdwZW5kaW5nJyB8ICdydW5uaW5nJyB8ICdjb21wbGV0ZWQnIHwgJ2ZhaWxlZCcgfCAnY2FuY2VsbGVkJztcbiAgcmVhZG9ubHkgdHJpZ2dlcmVkQnk/OiAnbWFudWFsJyB8ICdzY2hlZHVsZWQnIHwgJ3J1bGUtY2hhbmdlJyB8ICdydWxlLWRyeS1ydW4nO1xuICByZWFkb25seSBsaW1pdD86IG51bWJlcjtcbiAgcmVhZG9ubHkgb2Zmc2V0PzogbnVtYmVyO1xufVxuIl19
|
|
3
|
+
export {};
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZmlsdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3JlL3F1ZXJ5LWZpbHRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgdHlwZSB7IFZpc2liaWxpdHkgfSBmcm9tICdAcGlwZWxpbmUtYnVpbGRlci9hcGktY29yZSc7XG5cbi8qKlxuICogQmFzZSBmaWx0ZXIgaW50ZXJmYWNlIGNvbnRhaW5pbmcgY29tbW9uIGZpbHRlciBwcm9wZXJ0aWVzIHNoYXJlZCBhY3Jvc3MgYWxsIGVudGl0eSB0eXBlcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgZmlsdGVyOiBDb21tb25GaWx0ZXIgPSB7XG4gKiAgIGlkOiAnMTIzJyxcbiAqICAgb3JnSWQ6ICdteS1vcmcnLFxuICogICB2aXNpYmlsaXR5OiAncHVibGljJyxcbiAqICAgaXNEZWZhdWx0OiB0cnVlLFxuICogICBpc0FjdGl2ZTogdHJ1ZVxuICogfTtcbiAqIGBgYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbW1vbkZpbHRlciB7XG4gIC8qKlxuICAgKiBVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGVudGl0eVxuICAgKiBDYW4gYmUgYSBzaW5nbGUgSUQgb3IgYXJyYXkgb2YgSURzIGZvciBiYXRjaCBmaWx0ZXJpbmdcbiAgICovXG4gIHJlYWRvbmx5IGlkPzogc3RyaW5nIHwgc3RyaW5nW107XG5cbiAgLy8gLS0tIFZpZXdlciBjb250ZXh0IChzZXJ2ZXItc2V0LCBORVZFUiBjbGllbnQtc3VwcGxpZWQpIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBPbmx5IGVudGl0aWVzIHdob3NlIHZpc2liaWxpdHkgcHJlZGljYXRlIGhhcyBhIFBFUi1VU0VSIHJ1bmcgcmVhZCB0aGVzZSDigJRcbiAgLy8gcGlwZWxpbmUgdGVtcGxhdGVzIChgcHJpdmF0ZWAgaXMgYXV0aG9yLW9ubHkpIGFuZCBtZXNzYWdlcyAoYSBwZXItdXNlclxuICAvLyB0YXJnZXRlZCByb3cgaXMgdmlzaWJsZSBvbmx5IHRvIGl0cyB0YXJnZXQpLiBUaGVpciBzZXJ2aWNlcyBzdGFtcCB0aGVtIGZyb21cbiAgLy8gdGhlIHJlcXVlc3QncyBgVGVuYW50Q29udGV4dGAgdmlhIGB3aXRoVmlld2VyQ29udGV4dGAsIHNvIG5vIHJvdXRlIG9yIHF1ZXJ5XG4gIC8vIHN0cmluZyBjYW4gaW5qZWN0IHRoZW0uIEV2ZXJ5dGhpbmcgZWxzZSBpZ25vcmVzIHRoZW0uXG4gIC8vXG4gIC8vIEJvdGggZmFpbCBDTE9TRUQgd2hlbiBhYnNlbnQ6IG5vIHZpZXdlciBtZWFucyB0aGUgcGVyLXVzZXIgcnVuZyBtYXRjaGVzXG4gIC8vIE5PVEhJTkcsIG5ldmVyIGV2ZXJ5dGhpbmcuXG5cbiAgLyoqIENhbGxlcidzIHVzZXIgaWQsIG1hdGNoZWQgYWdhaW5zdCB0aGUgZW50aXR5J3MgcGVyLXVzZXIgY29sdW1uLiAqL1xuICByZWFkb25seSB2aWV3ZXJVc2VySWQ/OiBzdHJpbmc7XG4gIC8qKiBXaGV0aGVyIHRoZSBjYWxsZXIgaXMgYSBwbGF0Zm9ybSBzdXBlci1hZG1pbiAoc2VlcyBldmVyeSBydW5nKS4gKi9cbiAgcmVhZG9ubHkgdmlld2VySXNTdXBlckFkbWluPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogT3JnYW5pemF0aW9uIGlkZW50aWZpZXIgdG8gZmlsdGVyIGVudGl0aWVzIGJ5IG9yZ2FuaXphdGlvblxuICAgKiBDYW4gYmUgYSBzaW5nbGUgb3JnIElEIG9yIGFycmF5IGZvciBtdWx0aS1vcmcgZmlsdGVyaW5nXG4gICAqL1xuICByZWFkb25seSBvcmdJZD86IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBOYXJyb3cgdG8gb25lIHJ1bmcgb2YgdGhlIHNoYXJlZCB0aHJlZS1ydW5nIHNoYXJpbmcgbGFkZGVyLiBBcHBsaWVkIFdJVEhJTlxuICAgKiB3aGF0IHRoZSBjYWxsZXIgY2FuIGFscmVhZHkgc2VlIOKAlCBuZXZlciB3aWRlbnMgaXQuXG4gICAqIEBzZWUgVmlzaWJpbGl0eVxuICAgKi9cbiAgcmVhZG9ubHkgdmlzaWJpbGl0eT86IFZpc2liaWxpdHkgfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEZpbHRlciBieSBkZWZhdWx0IHN0YXR1c1xuICAgKiAtIHRydWU6IE9ubHkgZGVmYXVsdCBlbnRpdGllc1xuICAgKiAtIGZhbHNlOiBPbmx5IG5vbi1kZWZhdWx0IGVudGl0aWVzXG4gICAqIC0gdW5kZWZpbmVkOiBBbGwgZW50aXRpZXNcbiAgICovXG4gIHJlYWRvbmx5IGlzRGVmYXVsdD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEZpbHRlciBieSBhY3RpdmUvaW5hY3RpdmUgc3RhdHVzXG4gICAqIC0gdHJ1ZTogT25seSBhY3RpdmUgZW50aXRpZXNcbiAgICogLSBmYWxzZTogT25seSBpbmFjdGl2ZSBlbnRpdGllc1xuICAgKiAtIHVuZGVmaW5lZDogQWxsIGVudGl0aWVzXG4gICAqL1xuICByZWFkb25seSBpc0FjdGl2ZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE51bWJlciBvZiByZXN1bHRzIHRvIHJldHVyblxuICAgKiBAbWluaW11bSAxXG4gICAqIEBtYXhpbXVtIDEwMDBcbiAgICovXG4gIHJlYWRvbmx5IGxpbWl0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgcmVzdWx0cyB0byBza2lwIChmb3IgcGFnaW5hdGlvbilcbiAgICogQG1pbmltdW0gMFxuICAgKi9cbiAgcmVhZG9ubHkgb2Zmc2V0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTb3J0IGZpZWxkIGFuZCBkaXJlY3Rpb25cbiAgICogQGV4YW1wbGUgXCJuYW1lOmFzY1wiLCBcImNyZWF0ZWRBdDpkZXNjXCJcbiAgICovXG4gIHJlYWRvbmx5IHNvcnQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEZpbHRlciBieSBjYXRhbG9nIG93bmVyIChkZXZlbG9wZXItcG9ydGFsIFwibXkgc2VydmljZXNcIiB2aWV3KS5cbiAgICogTWF0Y2hlcyB0aGUgZW50aXR5J3MgYG93bmVySWRgIGV4YWN0bHkgKGEgdXNlciBpZCBvciB0ZWFtIGlkKS5cbiAgICogT25seSBhcHBsaWVkIGJ5IGJ1aWxkZXJzIGZvciBlbnRpdGllcyB0aGF0IGNhcnJ5IGFuIG93bmVyIGNvbHVtblxuICAgKiAocGlwZWxpbmVzLCBwbHVnaW5zKTsgaWdub3JlZCBlbHNld2hlcmUuXG4gICAqL1xuICByZWFkb25seSBvd25lcklkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBGaWx0ZXIgYnkgbGlmZWN5Y2xlIHN0YWdlIChleHBlcmltZW50YWwgfCBwcm9kdWN0aW9uIHwgZGVwcmVjYXRlZCkuXG4gICAqIE9ubHkgYXBwbGllZCBieSBidWlsZGVycyBmb3IgZW50aXRpZXMgdGhhdCBjYXJyeSBhIGxpZmVjeWNsZSBjb2x1bW4uXG4gICAqL1xuICByZWFkb25seSBsaWZlY3ljbGU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogRmlsdGVyIGludGVyZmFjZSBmb3IgcGx1Z2luLXNwZWNpZmljIHByb3BlcnRpZXMuXG4gKiBFeHRlbmRzIENvbW1vbkZpbHRlciB0byBpbmNsdWRlIHBsdWdpbi1yZWxhdGVkIGZpbHRlciBvcHRpb25zLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBmaWx0ZXI6IFBsdWdpbkZpbHRlciA9IHtcbiAqICAgbmFtZTogJ25vZGVqcy1idWlsZCcsXG4gKiAgIHZlcnNpb246ICcxLjAuMCcsXG4gKiAgIGlzQWN0aXZlOiB0cnVlXG4gKiB9O1xuICogYGBgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGx1Z2luRmlsdGVyIGV4dGVuZHMgQ29tbW9uRmlsdGVyIHtcbiAgLyoqXG4gICAqIFBsdWdpbiBuYW1lIHRvIGZpbHRlciBieVxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogUGx1Z2luIHZlcnNpb24gdG8gZmlsdGVyIGJ5XG4gICAqIFN1cHBvcnRzIHNlbWFudGljIHZlcnNpb25pbmdcbiAgICogQGV4YW1wbGUgXCIxLjAuMFwiLCBcIl4yLjAuMFwiLCBcIn4xLjIuM1wiXG4gICAqL1xuICByZWFkb25seSB2ZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBLZXl3b3JkIHRvIHNlYXJjaCB3aXRoaW4gdGhlIGtleXdvcmRzIEpTT05CIGFycmF5IChjYXNlLWluc2Vuc2l0aXZlIGNvbnRhaW5zKVxuICAgKi9cbiAgcmVhZG9ubHkga2V5d29yZD86IHN0cmluZztcblxuICAvKipcbiAgICogUGx1Z2luIGNhdGVnb3J5IHRvIGZpbHRlciBieVxuICAgKiBAZXhhbXBsZSBcImxhbmd1YWdlXCIsIFwic2VjdXJpdHlcIiwgXCJ0ZXN0aW5nXCJcbiAgICovXG4gIHJlYWRvbmx5IGNhdGVnb3J5Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEZpbHRlciBpbnRlcmZhY2UgZm9yIHBpcGVsaW5lLXNwZWNpZmljIHByb3BlcnRpZXMuXG4gKiBFeHRlbmRzIENvbW1vbkZpbHRlciB0byBpbmNsdWRlIHBpcGVsaW5lLXJlbGF0ZWQgZmlsdGVyIG9wdGlvbnMuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGZpbHRlcjogUGlwZWxpbmVGaWx0ZXIgPSB7XG4gKiAgIHByb2plY3Q6ICdteS1hcHAnLFxuICogICBvcmdhbml6YXRpb246ICdteS1vcmcnLFxuICogICBwaXBlbGluZU5hbWU6ICdteS1waXBlbGluZScsXG4gKiAgIGlzQWN0aXZlOiB0cnVlXG4gKiB9O1xuICogYGBgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGlwZWxpbmVGaWx0ZXIgZXh0ZW5kcyBDb21tb25GaWx0ZXIge1xuICAvKipcbiAgICogUHJvamVjdCBuYW1lIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGlwZWxpbmVcbiAgICovXG4gIHJlYWRvbmx5IHByb2plY3Q/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9yZ2FuaXphdGlvbiBuYW1lIGFzc29jaWF0ZWQgd2l0aCB0aGUgcGlwZWxpbmVcbiAgICovXG4gIHJlYWRvbmx5IG9yZ2FuaXphdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogUGlwZWxpbmUgbmFtZSB0byBmaWx0ZXIgYnlcbiAgICovXG4gIHJlYWRvbmx5IHBpcGVsaW5lTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogS2V5d29yZCB0byBzZWFyY2ggd2l0aGluIHRoZSBrZXl3b3JkcyBKU09OQiBhcnJheSAoY2FzZS1pbnNlbnNpdGl2ZSBjb250YWlucylcbiAgICovXG4gIHJlYWRvbmx5IGtleXdvcmQ/OiBzdHJpbmc7XG59XG5cbi8qKiBGaWx0ZXIgaW50ZXJmYWNlIGZvciBwaXBlbGluZS10ZW1wbGF0ZSBxdWVyaWVzIChnb2xkZW4tcGF0aCBjYXRhbG9nKS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGlwZWxpbmVUZW1wbGF0ZUZpbHRlciBleHRlbmRzIENvbW1vbkZpbHRlciB7XG4gIC8qKiBUZW1wbGF0ZSBuYW1lIChjYXNlLWluc2Vuc2l0aXZlIGNvbnRhaW5zKS4gKi9cbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcbiAgLyoqIENhdGVnb3J5IHRvIGZpbHRlciBieSAoZS5nLiAnbGFuZ3VhZ2UnLCAnZ2VuZXJhbCcpLiAqL1xuICByZWFkb25seSBjYXRlZ29yeT86IHN0cmluZztcbiAgLyoqIEtleXdvcmQgc2VhcmNoIHdpdGhpbiB0aGUga2V5d29yZHMgSlNPTkIgYXJyYXkuICovXG4gIHJlYWRvbmx5IGtleXdvcmQ/OiBzdHJpbmc7XG4gIC8vIFNoYXJpbmcgcnVuZyArIHZpZXdlciBjb250ZXh0IGFyZSBpbmhlcml0ZWQgZnJvbSBDb21tb25GaWx0ZXIuXG59XG5cbi8qKlxuICogRmlsdGVyIGludGVyZmFjZSBmb3IgbWVzc2FnZS1zcGVjaWZpYyBwcm9wZXJ0aWVzLlxuICogRXh0ZW5kcyBDb21tb25GaWx0ZXIgdG8gaW5jbHVkZSBtZXNzYWdlLXJlbGF0ZWQgZmlsdGVyIG9wdGlvbnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZUZpbHRlciBleHRlbmRzIENvbW1vbkZpbHRlciB7XG4gIC8qKlxuICAgKiBUaHJlYWQgSUQgdG8gZmlsdGVyIGJ5IChmb3IgZmV0Y2hpbmcgdGhyZWFkIHJlcGxpZXMpLlxuICAgKiBQYXNzIGBudWxsYCB0byBmaWx0ZXIgZm9yIHJvb3QgbWVzc2FnZXMgb25seSAodGhyZWFkSWQgSVMgTlVMTCkuXG4gICAqL1xuICByZWFkb25seSB0aHJlYWRJZD86IHN0cmluZyB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFJlY2lwaWVudCBvcmdhbml6YXRpb24gSUQgdG8gZmlsdGVyIGJ5XG4gICAqIFVzZSAnKicgZm9yIGJyb2FkY2FzdCBhbm5vdW5jZW1lbnRzXG4gICAqL1xuICByZWFkb25seSByZWNpcGllbnRPcmdJZD86IHN0cmluZztcblxuICAvKipcbiAgICogUmVjaXBpZW50IHVzZXIgSUQgdG8gZmlsdGVyIGJ5IChwZXItdXNlciB0YXJnZXRpbmcgd2l0aGluIHRoZSByZWNpcGllbnRcbiAgICogb3JnKS4gUGFzcyBgbnVsbGAgdG8gbWF0Y2ggb3JnLXdpZGUgbWVzc2FnZXMgb25seSAocmVjaXBpZW50X3VzZXJfaWQgSVNcbiAgICogTlVMTCkuIFJhcmVseSBzZXQgZGlyZWN0bHkgYnkgY2FsbGVycyDigJQgc2VlIGB2aWV3ZXJVc2VySWRgIGZvciB0aGVcbiAgICogdmlzaWJpbGl0eS1zY29waW5nIHZhcmlhbnQuXG4gICAqL1xuICByZWFkb25seSByZWNpcGllbnRVc2VySWQ/OiBzdHJpbmcgfCBudWxsO1xuXG4gIC8vIE5PVEU6IHRoZSBWSUVXRVIncyB1c2VyIGlkIChgdmlld2VyVXNlcklkYCkgaXMgaW5oZXJpdGVkIGZyb20gQ29tbW9uRmlsdGVyLlxuICAvLyBGb3IgbWVzc2FnZXMgaXQgaXMgTk9UIGEgY29sdW1uIGZpbHRlcjogd2hlbiBwcmVzZW50LCB0aGUgcmVjaXBpZW50LXNpZGVcbiAgLy8gYnJhbmNoIGluIGBidWlsZE1lc3NhZ2VDb25kaXRpb25zYCB3aWRlbnMgdG8gaW5jbHVkZSByb3dzIHRhcmdldGVkIGF0IHRoaXNcbiAgLy8gdXNlciAocmVjaXBpZW50X3VzZXJfaWQgPSB2aWV3ZXJVc2VySWQpIEFMT05HU0lERSBvcmctd2lkZSBvbmVzXG4gIC8vIChyZWNpcGllbnRfdXNlcl9pZCBJUyBOVUxMKS4gV2hlbiBhYnNlbnQsIG9ubHkgb3JnLXdpZGUgcmVjaXBpZW50IHJvd3MgYXJlXG4gIC8vIHZpc2libGUsIHNvIGEgdXNlci10YXJnZXRlZCBtZXNzYWdlIHN0YXlzIHByaXZhdGUgdG8gaXRzIHRhcmdldCwgdGhlIHNlbmRlcixcbiAgLy8gYW5kIHRoZSBzeXN0ZW0gb3JnLiBNZXNzYWdlU2VydmljZSBzdGFtcHMgaXQgZnJvbSB0aGUgdGVuYW50IGNvbnRleHQuXG5cbiAgLyoqXG4gICAqIE1lc3NhZ2UgdHlwZSBmaWx0ZXJcbiAgICovXG4gIHJlYWRvbmx5IG1lc3NhZ2VUeXBlPzogJ2Fubm91bmNlbWVudCcgfCAnY29udmVyc2F0aW9uJztcblxuICAvKipcbiAgICogRmlsdGVyIGJ5IHByaW9yaXR5IGxldmVsXG4gICAqL1xuICByZWFkb25seSBwcmlvcml0eT86ICdub3JtYWwnIHwgJ2hpZ2gnIHwgJ3VyZ2VudCc7XG5cbiAgLyoqXG4gICAqIENoYW5uZWwvaW5ib3gtYnVja2V0IGZpbHRlciAoZS5nLiAnc3VwcG9ydCcsICdoZWxwJykuIE1hdGNoZXMgcm93c1xuICAgKiBleGFjdGx5OyBwYXNzIG51bGwgdG8gbWF0Y2ggY2hhbm5lbCBJUyBOVUxMIChvcmctdG8tb3JnIG1lc3NhZ2VzKS5cbiAgICovXG4gIHJlYWRvbmx5IGNoYW5uZWw/OiBzdHJpbmcgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBGaWx0ZXIgYnkgcmVhZCBzdGF0ZSBmb3IgdGhlIHJlcXVlc3Rpbmcgb3JnLlxuICAgKiBJbXBsZW1lbnRlZCBhcyBhIEpTT05CIGtleS1leGlzdGVuY2UgY2hlY2sgYWdhaW5zdCBgbWVzc2FnZXMucmVhZF9ieWBcbiAgICogKGEgYHsgW29yZ0lkXTogaXNvVGltZXN0YW1wIH1gIG1hcCksIHVzaW5nIHRoZSBvcmdJZCBwYXNzZWQgdG9cbiAgICogYGJ1aWxkTWVzc2FnZUNvbmRpdGlvbnNgLlxuICAgKiAtIHRydWUgIOKGkiBvbmx5IG1lc3NhZ2VzIHRoZSBvcmcgaGFzIHJlYWQgKG9yZ0lkIGtleSBleGlzdHMgaW4gcmVhZF9ieSlcbiAgICogLSBmYWxzZSDihpIgb25seSBtZXNzYWdlcyB0aGUgb3JnIGhhcyBOT1QgcmVhZFxuICAgKiAtIHVuZGVmaW5lZCDihpIgbm8gcmVhZC1zdGF0ZSBmaWx0ZXJcbiAgICovXG4gIHJlYWRvbmx5IGlzUmVhZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEZyZWUtdGV4dCBpbmJveCBzZWFyY2guIENhc2UtaW5zZW5zaXRpdmUgc3Vic3RyaW5nIG1hdGNoIGFnYWluc3QgdGhlXG4gICAqIG1lc3NhZ2UgYHN1YmplY3RgIE9SIGBjb250ZW50YCAoTElLRSB3aWxkY2FyZHMgaW4gdGhlIHRlcm0gYXJlIGVzY2FwZWQsIHNvIGFcbiAgICogbGl0ZXJhbCBgJWAvYF9gIG1hdGNoZXMgaXRzZWxmKS4gQXBwbGllZCBvbiB0b3Agb2YgdGhlIHZpc2liaWxpdHkgc2NvcGUsIHNvXG4gICAqIGl0IG5ldmVyIHdpZGVucyB3aGF0IHRoZSBjYWxsZXIgY2FuIHNlZS5cbiAgICovXG4gIHJlYWRvbmx5IHNlYXJjaD86IHN0cmluZztcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ29tcGxpYW5jZSBGaWx0ZXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogRmlsdGVyIGZvciBjb21wbGlhbmNlIHBvbGljaWVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbXBsaWFuY2VQb2xpY3lGaWx0ZXIgZXh0ZW5kcyBDb21tb25GaWx0ZXIge1xuICByZWFkb25seSBuYW1lPzogc3RyaW5nO1xuICByZWFkb25seSBpc1RlbXBsYXRlPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBGaWx0ZXIgZm9yIGNvbXBsaWFuY2UgcnVsZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGxpYW5jZVJ1bGVGaWx0ZXIgZXh0ZW5kcyBDb21tb25GaWx0ZXIge1xuICByZWFkb25seSBuYW1lPzogc3RyaW5nO1xuICByZWFkb25seSBwb2xpY3lJZD86IHN0cmluZztcbiAgcmVhZG9ubHkgdGFyZ2V0PzogJ3BsdWdpbicgfCAncGlwZWxpbmUnO1xuICByZWFkb25seSBmaWVsZD86IHN0cmluZztcbiAgcmVhZG9ubHkgc2V2ZXJpdHk/OiAnd2FybmluZycgfCAnZXJyb3InIHwgJ2NyaXRpY2FsJztcbiAgcmVhZG9ubHkgc2NvcGU/OiAnb3JnJyB8ICdwdWJsaXNoZWQnO1xuICByZWFkb25seSB0YWc/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogRmlsdGVyIGZvciBjb21wbGlhbmNlIGV4ZW1wdGlvbnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGxpYW5jZUV4ZW1wdGlvbkZpbHRlciB7XG4gIHJlYWRvbmx5IG9yZ0lkPzogc3RyaW5nO1xuICByZWFkb25seSBydWxlSWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGVudGl0eVR5cGU/OiAncGx1Z2luJyB8ICdwaXBlbGluZSc7XG4gIHJlYWRvbmx5IGVudGl0eUlkPzogc3RyaW5nO1xuICByZWFkb25seSBzdGF0dXM/OiAncGVuZGluZycgfCAnYXBwcm92ZWQnIHwgJ3JlamVjdGVkJyB8ICdleHBpcmVkJztcbiAgcmVhZG9ubHkgbGltaXQ/OiBudW1iZXI7XG4gIHJlYWRvbmx5IG9mZnNldD86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBGaWx0ZXIgZm9yIGNvbXBsaWFuY2UgYXVkaXQgbG9nIGVudHJpZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGxpYW5jZUF1ZGl0RmlsdGVyIHtcbiAgcmVhZG9ubHkgb3JnSWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHRhcmdldD86ICdwbHVnaW4nIHwgJ3BpcGVsaW5lJztcbiAgcmVhZG9ubHkgYWN0aW9uPzogc3RyaW5nO1xuICByZWFkb25seSByZXN1bHQ/OiAncGFzcycgfCAnd2FybicgfCAnYmxvY2snO1xuICByZWFkb25seSBzY2FuSWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRhdGVGcm9tPzogc3RyaW5nO1xuICByZWFkb25seSBkYXRlVG8/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxpbWl0PzogbnVtYmVyO1xuICByZWFkb25seSBvZmZzZXQ/OiBudW1iZXI7XG59XG5cbi8qKlxuICogRmlsdGVyIGZvciBjb21wbGlhbmNlIHNjYW5zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbXBsaWFuY2VTY2FuRmlsdGVyIHtcbiAgcmVhZG9ubHkgb3JnSWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHRhcmdldD86ICdwbHVnaW4nIHwgJ3BpcGVsaW5lJyB8ICdhbGwnO1xuICByZWFkb25seSBzdGF0dXM/OiAncGVuZGluZycgfCAncnVubmluZycgfCAnY29tcGxldGVkJyB8ICdmYWlsZWQnIHwgJ2NhbmNlbGxlZCc7XG4gIHJlYWRvbmx5IHRyaWdnZXJlZEJ5PzogJ21hbnVhbCcgfCAnc2NoZWR1bGVkJyB8ICdydWxlLWNoYW5nZScgfCAncnVsZS1kcnktcnVuJztcbiAgcmVhZG9ubHkgbGltaXQ/OiBudW1iZXI7XG4gIHJlYWRvbmx5IG9mZnNldD86IG51bWJlcjtcbn1cbiJdfQ==
|
|
@@ -620,12 +620,12 @@ export declare const schema: {
|
|
|
620
620
|
}, {}, {
|
|
621
621
|
$type: import("@pipeline-builder/api-core").EntityLink[];
|
|
622
622
|
}>;
|
|
623
|
-
|
|
624
|
-
name: "
|
|
623
|
+
visibility: import("drizzle-orm/pg-core").PgColumn<{
|
|
624
|
+
name: "visibility";
|
|
625
625
|
tableName: "plugins";
|
|
626
626
|
dataType: "string";
|
|
627
627
|
columnType: "PgVarchar";
|
|
628
|
-
data:
|
|
628
|
+
data: "org" | "private" | "public";
|
|
629
629
|
driverParam: string;
|
|
630
630
|
notNull: true;
|
|
631
631
|
hasDefault: true;
|
|
@@ -638,7 +638,7 @@ export declare const schema: {
|
|
|
638
638
|
generated: undefined;
|
|
639
639
|
}, {}, {
|
|
640
640
|
length: 10;
|
|
641
|
-
$type:
|
|
641
|
+
$type: "org" | "private" | "public";
|
|
642
642
|
}>;
|
|
643
643
|
isDefault: import("drizzle-orm/pg-core").PgColumn<{
|
|
644
644
|
name: "is_default";
|
|
@@ -1063,12 +1063,12 @@ export declare const schema: {
|
|
|
1063
1063
|
}, {}, {
|
|
1064
1064
|
$type: import("@pipeline-builder/api-core").EntityLink[];
|
|
1065
1065
|
}>;
|
|
1066
|
-
|
|
1067
|
-
name: "
|
|
1066
|
+
visibility: import("drizzle-orm/pg-core").PgColumn<{
|
|
1067
|
+
name: "visibility";
|
|
1068
1068
|
tableName: "pipelines";
|
|
1069
1069
|
dataType: "string";
|
|
1070
1070
|
columnType: "PgVarchar";
|
|
1071
|
-
data:
|
|
1071
|
+
data: "org" | "private" | "public";
|
|
1072
1072
|
driverParam: string;
|
|
1073
1073
|
notNull: true;
|
|
1074
1074
|
hasDefault: true;
|
|
@@ -1081,7 +1081,7 @@ export declare const schema: {
|
|
|
1081
1081
|
generated: undefined;
|
|
1082
1082
|
}, {}, {
|
|
1083
1083
|
length: 10;
|
|
1084
|
-
$type:
|
|
1084
|
+
$type: "org" | "private" | "public";
|
|
1085
1085
|
}>;
|
|
1086
1086
|
isDefault: import("drizzle-orm/pg-core").PgColumn<{
|
|
1087
1087
|
name: "is_default";
|
|
@@ -1506,12 +1506,12 @@ export declare const schema: {
|
|
|
1506
1506
|
}, {}, {
|
|
1507
1507
|
$type: import("@pipeline-builder/api-core").EntityLink[];
|
|
1508
1508
|
}>;
|
|
1509
|
-
|
|
1510
|
-
name: "
|
|
1509
|
+
visibility: import("drizzle-orm/pg-core").PgColumn<{
|
|
1510
|
+
name: "visibility";
|
|
1511
1511
|
tableName: "pipeline_templates";
|
|
1512
1512
|
dataType: "string";
|
|
1513
1513
|
columnType: "PgVarchar";
|
|
1514
|
-
data:
|
|
1514
|
+
data: "org" | "private" | "public";
|
|
1515
1515
|
driverParam: string;
|
|
1516
1516
|
notNull: true;
|
|
1517
1517
|
hasDefault: true;
|
|
@@ -1524,7 +1524,7 @@ export declare const schema: {
|
|
|
1524
1524
|
generated: undefined;
|
|
1525
1525
|
}, {}, {
|
|
1526
1526
|
length: 10;
|
|
1527
|
-
$type:
|
|
1527
|
+
$type: "org" | "private" | "public";
|
|
1528
1528
|
}>;
|
|
1529
1529
|
isDefault: import("drizzle-orm/pg-core").PgColumn<{
|
|
1530
1530
|
name: "is_default";
|
|
@@ -1908,26 +1908,6 @@ export declare const schema: {
|
|
|
1908
1908
|
length: 20;
|
|
1909
1909
|
$type: import("./schema/message.js").MessagePriority;
|
|
1910
1910
|
}>;
|
|
1911
|
-
accessModifier: import("drizzle-orm/pg-core").PgColumn<{
|
|
1912
|
-
name: "access_modifier";
|
|
1913
|
-
tableName: "messages";
|
|
1914
|
-
dataType: "string";
|
|
1915
|
-
columnType: "PgVarchar";
|
|
1916
|
-
data: import("@pipeline-builder/api-core").AccessModifier;
|
|
1917
|
-
driverParam: string;
|
|
1918
|
-
notNull: true;
|
|
1919
|
-
hasDefault: true;
|
|
1920
|
-
isPrimaryKey: false;
|
|
1921
|
-
isAutoincrement: false;
|
|
1922
|
-
hasRuntimeDefault: false;
|
|
1923
|
-
enumValues: [string, ...string[]];
|
|
1924
|
-
baseColumn: never;
|
|
1925
|
-
identity: undefined;
|
|
1926
|
-
generated: undefined;
|
|
1927
|
-
}, {}, {
|
|
1928
|
-
length: 10;
|
|
1929
|
-
$type: import("@pipeline-builder/api-core").AccessModifier;
|
|
1930
|
-
}>;
|
|
1931
1911
|
isDefault: import("drizzle-orm/pg-core").PgColumn<{
|
|
1932
1912
|
name: "is_default";
|
|
1933
1913
|
tableName: "messages";
|
|
@@ -3653,25 +3633,6 @@ export declare const schema: {
|
|
|
3653
3633
|
identity: undefined;
|
|
3654
3634
|
generated: undefined;
|
|
3655
3635
|
}, {}, {}>;
|
|
3656
|
-
vars: import("drizzle-orm/pg-core").PgColumn<{
|
|
3657
|
-
name: "vars";
|
|
3658
|
-
tableName: "dashboard_panels";
|
|
3659
|
-
dataType: "json";
|
|
3660
|
-
columnType: "PgJsonb";
|
|
3661
|
-
data: Record<string, string>;
|
|
3662
|
-
driverParam: unknown;
|
|
3663
|
-
notNull: true;
|
|
3664
|
-
hasDefault: true;
|
|
3665
|
-
isPrimaryKey: false;
|
|
3666
|
-
isAutoincrement: false;
|
|
3667
|
-
hasRuntimeDefault: false;
|
|
3668
|
-
enumValues: undefined;
|
|
3669
|
-
baseColumn: never;
|
|
3670
|
-
identity: undefined;
|
|
3671
|
-
generated: undefined;
|
|
3672
|
-
}, {}, {
|
|
3673
|
-
$type: Record<string, string>;
|
|
3674
|
-
}>;
|
|
3675
3636
|
};
|
|
3676
3637
|
dialect: 'pg';
|
|
3677
3638
|
}>;
|
|
@@ -4398,26 +4359,6 @@ export declare const schema: {
|
|
|
4398
4359
|
identity: undefined;
|
|
4399
4360
|
generated: undefined;
|
|
4400
4361
|
}, {}, {}>;
|
|
4401
|
-
accessModifier: import("drizzle-orm/pg-core").PgColumn<{
|
|
4402
|
-
name: "access_modifier";
|
|
4403
|
-
tableName: "compliance_policies";
|
|
4404
|
-
dataType: "string";
|
|
4405
|
-
columnType: "PgVarchar";
|
|
4406
|
-
data: import("@pipeline-builder/api-core").AccessModifier;
|
|
4407
|
-
driverParam: string;
|
|
4408
|
-
notNull: true;
|
|
4409
|
-
hasDefault: true;
|
|
4410
|
-
isPrimaryKey: false;
|
|
4411
|
-
isAutoincrement: false;
|
|
4412
|
-
hasRuntimeDefault: false;
|
|
4413
|
-
enumValues: [string, ...string[]];
|
|
4414
|
-
baseColumn: never;
|
|
4415
|
-
identity: undefined;
|
|
4416
|
-
generated: undefined;
|
|
4417
|
-
}, {}, {
|
|
4418
|
-
length: 10;
|
|
4419
|
-
$type: import("@pipeline-builder/api-core").AccessModifier;
|
|
4420
|
-
}>;
|
|
4421
4362
|
isDefault: import("drizzle-orm/pg-core").PgColumn<{
|
|
4422
4363
|
name: "is_default";
|
|
4423
4364
|
tableName: "compliance_policies";
|
|
@@ -4943,26 +4884,6 @@ export declare const schema: {
|
|
|
4943
4884
|
length: 5;
|
|
4944
4885
|
$type: import("./schema/compliance.js").RuleConditionMode;
|
|
4945
4886
|
}>;
|
|
4946
|
-
accessModifier: import("drizzle-orm/pg-core").PgColumn<{
|
|
4947
|
-
name: "access_modifier";
|
|
4948
|
-
tableName: "compliance_rules";
|
|
4949
|
-
dataType: "string";
|
|
4950
|
-
columnType: "PgVarchar";
|
|
4951
|
-
data: import("@pipeline-builder/api-core").AccessModifier;
|
|
4952
|
-
driverParam: string;
|
|
4953
|
-
notNull: true;
|
|
4954
|
-
hasDefault: true;
|
|
4955
|
-
isPrimaryKey: false;
|
|
4956
|
-
isAutoincrement: false;
|
|
4957
|
-
hasRuntimeDefault: false;
|
|
4958
|
-
enumValues: [string, ...string[]];
|
|
4959
|
-
baseColumn: never;
|
|
4960
|
-
identity: undefined;
|
|
4961
|
-
generated: undefined;
|
|
4962
|
-
}, {}, {
|
|
4963
|
-
length: 10;
|
|
4964
|
-
$type: import("@pipeline-builder/api-core").AccessModifier;
|
|
4965
|
-
}>;
|
|
4966
4887
|
isDefault: import("drizzle-orm/pg-core").PgColumn<{
|
|
4967
4888
|
name: "is_default";
|
|
4968
4889
|
tableName: "compliance_rules";
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { AccessModifier } from '@pipeline-builder/api-core';
|
|
2
1
|
/**
|
|
3
2
|
* Compliance rule severity levels.
|
|
4
3
|
*/
|
|
@@ -213,26 +212,6 @@ export declare const compliancePolicy: import("drizzle-orm/pg-core").PgTableWith
|
|
|
213
212
|
identity: undefined;
|
|
214
213
|
generated: undefined;
|
|
215
214
|
}, {}, {}>;
|
|
216
|
-
accessModifier: import("drizzle-orm/pg-core").PgColumn<{
|
|
217
|
-
name: "access_modifier";
|
|
218
|
-
tableName: "compliance_policies";
|
|
219
|
-
dataType: "string";
|
|
220
|
-
columnType: "PgVarchar";
|
|
221
|
-
data: AccessModifier;
|
|
222
|
-
driverParam: string;
|
|
223
|
-
notNull: true;
|
|
224
|
-
hasDefault: true;
|
|
225
|
-
isPrimaryKey: false;
|
|
226
|
-
isAutoincrement: false;
|
|
227
|
-
hasRuntimeDefault: false;
|
|
228
|
-
enumValues: [string, ...string[]];
|
|
229
|
-
baseColumn: never;
|
|
230
|
-
identity: undefined;
|
|
231
|
-
generated: undefined;
|
|
232
|
-
}, {}, {
|
|
233
|
-
length: 10;
|
|
234
|
-
$type: AccessModifier;
|
|
235
|
-
}>;
|
|
236
215
|
isDefault: import("drizzle-orm/pg-core").PgColumn<{
|
|
237
216
|
name: "is_default";
|
|
238
217
|
tableName: "compliance_policies";
|
|
@@ -763,26 +742,6 @@ export declare const complianceRule: import("drizzle-orm/pg-core").PgTableWithCo
|
|
|
763
742
|
length: 5;
|
|
764
743
|
$type: RuleConditionMode;
|
|
765
744
|
}>;
|
|
766
|
-
accessModifier: import("drizzle-orm/pg-core").PgColumn<{
|
|
767
|
-
name: "access_modifier";
|
|
768
|
-
tableName: "compliance_rules";
|
|
769
|
-
dataType: "string";
|
|
770
|
-
columnType: "PgVarchar";
|
|
771
|
-
data: AccessModifier;
|
|
772
|
-
driverParam: string;
|
|
773
|
-
notNull: true;
|
|
774
|
-
hasDefault: true;
|
|
775
|
-
isPrimaryKey: false;
|
|
776
|
-
isAutoincrement: false;
|
|
777
|
-
hasRuntimeDefault: false;
|
|
778
|
-
enumValues: [string, ...string[]];
|
|
779
|
-
baseColumn: never;
|
|
780
|
-
identity: undefined;
|
|
781
|
-
generated: undefined;
|
|
782
|
-
}, {}, {
|
|
783
|
-
length: 10;
|
|
784
|
-
$type: AccessModifier;
|
|
785
|
-
}>;
|
|
786
745
|
isDefault: import("drizzle-orm/pg-core").PgColumn<{
|
|
787
746
|
name: "is_default";
|
|
788
747
|
tableName: "compliance_rules";
|