@pipeline-builder/pipeline-data 4.3.10 → 4.3.12

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.
@@ -0,0 +1,102 @@
1
+ // Copyright 2026 Pipeline Builder Contributors
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import { sql } from 'drizzle-orm';
4
+ import { boolean, varchar, pgTable, text, timestamp, uuid, index, check } from 'drizzle-orm/pg-core';
5
+ /**
6
+ * One row per release. Release versions are plain `X.Y.Z` — a managed name
7
+ * refuses prerelease uploads, so a dev build can never become a release.
8
+ *
9
+ * @table toolchain_release
10
+ */
11
+ export const toolchainRelease = pgTable('toolchain_release', {
12
+ releaseVersion: varchar('release_version', { length: 50 }).primaryKey(),
13
+ releaseNotes: text('release_notes'),
14
+ createdAt: timestamp('created_at', { withTimezone: true }).defaultNow().notNull(),
15
+ createdBy: text('created_by').notNull(),
16
+ }, (table) => ({
17
+ versionCheck: check('toolchain_release_version_check', sql `${table.releaseVersion} ~ '^[0-9]+\.[0-9]+\.[0-9]+$'`),
18
+ }));
19
+ /**
20
+ * THE platform default — at most one row (the boolean PK can only hold `true`).
21
+ * The referenced release can't be deleted while it is the default.
22
+ *
23
+ * @table toolchain_platform_default
24
+ */
25
+ export const toolchainPlatformDefault = pgTable('toolchain_platform_default', {
26
+ singleton: boolean('singleton').primaryKey().default(true),
27
+ releaseVersion: varchar('release_version', { length: 50 }).notNull()
28
+ .references(() => toolchainRelease.releaseVersion, { onDelete: 'restrict' }),
29
+ setAt: timestamp('set_at', { withTimezone: true }).defaultNow().notNull(),
30
+ setBy: text('set_by').notNull(),
31
+ }, (table) => ({
32
+ singletonCheck: check('toolchain_platform_default_singleton_check', sql `${table.singleton}`),
33
+ }));
34
+ /**
35
+ * Every platform-default change. No FK on the versions: history outlives a
36
+ * deleted release.
37
+ *
38
+ * @table toolchain_default_history
39
+ */
40
+ export const toolchainDefaultHistory = pgTable('toolchain_default_history', {
41
+ id: uuid('id').primaryKey().defaultRandom(),
42
+ releaseVersion: varchar('release_version', { length: 50 }).notNull(),
43
+ previousReleaseVersion: varchar('previous_release_version', { length: 50 }),
44
+ setBy: text('set_by').notNull(),
45
+ setAt: timestamp('set_at', { withTimezone: true }).defaultNow().notNull(),
46
+ reason: text('reason'),
47
+ kind: varchar('kind', { length: 16 }).$type().notNull(),
48
+ }, (table) => ({
49
+ setAtIdx: index('toolchain_default_history_set_at_idx').on(table.setAt.desc()),
50
+ kindCheck: check('toolchain_default_history_kind_check', sql `${table.kind} IN ('set', 'initial', 'restore')`),
51
+ }));
52
+ /**
53
+ * Canary membership: ONE release per org. `orgId` is a MEMBER (the org the
54
+ * canary applies to), not an owner — rows are written by the system org, and a
55
+ * member org can't read them.
56
+ *
57
+ * @table toolchain_rollout
58
+ */
59
+ export const toolchainRollout = pgTable('toolchain_rollout', {
60
+ orgId: varchar('org_id', { length: 255 }).primaryKey(),
61
+ releaseVersion: varchar('release_version', { length: 50 }).notNull()
62
+ .references(() => toolchainRelease.releaseVersion, { onDelete: 'restrict' }),
63
+ addedBy: text('added_by').notNull(),
64
+ addedAt: timestamp('added_at', { withTimezone: true }).defaultNow().notNull(),
65
+ }, (table) => ({
66
+ releaseIdx: index('toolchain_rollout_release_idx').on(table.releaseVersion),
67
+ }));
68
+ /**
69
+ * An org's override of the platform default (one per org). "Follow platform
70
+ * default" deletes the row. Team inheritance is resolved in the resolver, not
71
+ * by RLS.
72
+ *
73
+ * @table org_toolchain_default
74
+ */
75
+ export const orgToolchainDefault = pgTable('org_toolchain_default', {
76
+ orgId: varchar('org_id', { length: 255 }).primaryKey(),
77
+ releaseVersion: varchar('release_version', { length: 50 }).notNull()
78
+ .references(() => toolchainRelease.releaseVersion, { onDelete: 'restrict' }),
79
+ setBy: text('set_by').notNull(),
80
+ setAt: timestamp('set_at', { withTimezone: true }).defaultNow().notNull(),
81
+ reason: text('reason'),
82
+ }, (table) => ({
83
+ releaseIdx: index('org_toolchain_default_release_idx').on(table.releaseVersion),
84
+ }));
85
+ /**
86
+ * An org's override changes, append-only for the org. `releaseVersion` is
87
+ * `null` for a clear (back to the platform default). No FK: history outlives a
88
+ * deleted release.
89
+ *
90
+ * @table org_toolchain_default_history
91
+ */
92
+ export const orgToolchainDefaultHistory = pgTable('org_toolchain_default_history', {
93
+ id: uuid('id').primaryKey().defaultRandom(),
94
+ orgId: varchar('org_id', { length: 255 }).notNull(),
95
+ releaseVersion: varchar('release_version', { length: 50 }),
96
+ setBy: text('set_by').notNull(),
97
+ setAt: timestamp('set_at', { withTimezone: true }).defaultNow().notNull(),
98
+ reason: text('reason'),
99
+ }, (table) => ({
100
+ orgIdx: index('org_toolchain_default_history_org_idx').on(table.orgId, table.setAt.desc()),
101
+ }));
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGNoYWluLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGF0YWJhc2Uvc2NoZW1hL3Rvb2xjaGFpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQXNCckc7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsbUJBQW1CLEVBQUU7SUFDM0QsY0FBYyxFQUFFLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFVBQVUsRUFBRTtJQUN2RSxZQUFZLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUNuQyxTQUFTLEVBQUUsU0FBUyxDQUFDLFlBQVksRUFBRSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLE9BQU8sRUFBRTtJQUNqRixTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLE9BQU8sRUFBRTtDQUN4QyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2IsWUFBWSxFQUFFLEtBQUssQ0FBQyxpQ0FBaUMsRUFBRSxHQUFHLENBQUEsR0FBRyxLQUFLLENBQUMsY0FBYywrQkFBK0IsQ0FBQztDQUNsSCxDQUFDLENBQUMsQ0FBQztBQUVKOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsT0FBTyxDQUFDLDRCQUE0QixFQUFFO0lBQzVFLFNBQVMsRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsT0FBTyxD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QU8sRUFBRTtJQUNuRCxjQUFjLEVBQUUsT0FBTyxDQUFDLGlCQUFpQixFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQzFELEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxFQUFFO0lBQy9CLEtBQUssRUFBRSxTQUFTLENBQUMsUUFBUSxFQUFFLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsT0FBTyxFQUFFO0lBQ3pFLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDO0NBQ3ZCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDYixNQUFNLEVBQUUsS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztDQUMzRixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgeyBzcWwgfSBmcm9tICdkcml6emxlLW9ybSc7XG5pbXBvcnQgeyBib29sZWFuLCB2YXJjaGFyLCBwZ1RhYmxlLCB0ZXh0LCB0aW1lc3RhbXAsIHV1aWQsIGluZGV4LCBjaGVjayB9IGZyb20gJ2RyaXp6bGUtb3JtL3BnLWNvcmUnO1xuXG4vKipcbiAqIE1hbmFnZWQgdG9vbGNoYWluIHJlbGVhc2VzIChkb2NzL3BsYW5zL2Jvb3RzdHJhcC1pbWFnZS12ZXJzaW9uaW5nLm1kIMKnMSwgwqc1KS5cbiAqXG4gKiBgcGlwZWxpbmUtYm9vdHN0cmFwQFZgIGFuZCBgY2RrLXN5bnRoQFZgIGFyZSB0d28gc3lzdGVtLW9yZyBwbHVnaW4gcm93cyB0aGF0XG4gKiBzaGFyZSBPTkUgcmVsZWFzZSB2ZXJzaW9uIGBWYC4gVGhlc2UgdGFibGVzIGhvbGQgdGhlIHJlbGVhc2UtbGV2ZWwgc3RhdGUgdGhlXG4gKiBwbHVnaW4gcm93cyBkb24ndDogd2hpY2ggcmVsZWFzZXMgZXhpc3QsIFRIRSBwbGF0Zm9ybSBkZWZhdWx0LCB0aGUgY2FuYXJ5XG4gKiBjb2hvcnQsIGVhY2ggb3JnJ3Mgb3ZlcnJpZGUsIGFuZCB0aGUgaGlzdG9yeSBvZiBldmVyeSBjaGFuZ2UuIE1hbmFnZWQgcGx1Z2luXG4gKiByb3dzIG5ldmVyIHVzZSBgcGx1Z2lucy5pc19kZWZhdWx0YC5cbiAqXG4gKiBSTFMgKHBvc3RncmVzLWluaXQuc3FsLCBkZWRpY2F0ZWQgcG9saWNpZXMg4oCUIE5PVCB0aGUgZ2VuZXJpYyBvcmcgbG9vcCk6IHRoZVxuICogZmlyc3QgZm91ciBhcmUgc3lzdGVtLW9yZyBvbmx5IChzeXNhZG1pbiBzY29wZSBvciB0aGUgc3lzdGVtIG9yZydzIG93biBzY29wZSlcbiAqIGZvciByZWFkcyBBTkQgd3JpdGVzOyBgb3JnX3Rvb2xjaGFpbl9kZWZhdWx0YCBpcyBvd24tb3JnIHJlYWQvd3JpdGUgd2l0aCBhXG4gKiBzeXN0ZW0tb3JnIHJlYWQ7IGl0cyBoaXN0b3J5IGlzIG93bi1vcmcgcmVhZCArIGluc2VydCAoYXBwZW5kLW9ubHkpLCBzeXN0ZW0tb3JnXG4gKiByZWFkLiBSZXNvbHV0aW9uIHJlYWRzIHRoZW0gZWxldmF0ZWQgKGBydW5XaXRoVGVuYW50Q29udGV4dCh7IGlzU3VwZXJBZG1pbjogdHJ1ZSB9KWApLlxuICovXG5cbi8qKiBIb3cgYSBwbGF0Zm9ybS1kZWZhdWx0IGNoYW5nZSBjYW1lIGFib3V0OiBhIGNvbnNvbGUgYHNldGAsIHRoZSBpbnN0YWxsLXRpbWVcbiAqICBgaW5pdGlhbGAgKEQxNCksIG9yIGEgYHJlc3RvcmVgIG9mIHRoZSBwcmV2aW91cyBkZWZhdWx0IG9uIGEgeWFuay4gKi9cbmV4cG9ydCB0eXBlIFRvb2xjaGFpbkRlZmF1bHRLaW5kID0gJ3NldCcgfCAnaW5pdGlhbCcgfCAncmVzdG9yZSc7XG5cbi8qKlxuICogT25lIHJvdyBwZXIgcmVsZWFzZS4gUmVsZWFzZSB2ZXJzaW9ucyBhcmUgcGxhaW4gYFguWS5aYCDigJQgYSBtYW5hZ2VkIG5hbWVcbiAqIHJlZnVzZXMgcHJlcmVsZWFzZSB1cGxvYWRzLCBzbyBhIGRldiBidWlsZCBjYW4gbmV2ZXIgYmVjb21lIGEgcmVsZWFzZS5cbiAqXG4gKiBAdGFibGUgdG9vbGNoYWluX3JlbGVhc2VcbiAqL1xuZXhwb3J0IGNvbnN0IHRvb2xjaGFpblJlbGVhc2UgPSBwZ1RhYmxlKCd0b29sY2hhaW5fcmVsZWFzZScsIHtcbiAgcmVsZWFzZVZlcnNpb246IHZhcmNoYXIoJ3JlbGVhc2VfdmVyc2lvbicsIHsgbGVuZ3RoOiA1MCB9KS5wcmltYXJ5S2V5KCksXG4gIHJlbGVhc2VOb3RlczogdGV4dCgncmVsZWFzZV9ub3RlcycpLFxuICBjcmVhdGVkQXQ6IHRpbWVzdGFtcCgnY3JlYXRlZF9hdCcsIHsgd2l0aFRpbWV6b25lOiB0cnVlIH0pLmRlZmF1bHROb3coKS5ub3ROdWxsKCksXG4gIGNyZWF0ZWRCeTogdGV4dCgnY3JlYXRlZF9ieScpLm5vdE51bGwoKSxcbn0sICh0YWJsZSkgPT4gKHtcbiAgdmVyc2lvbkNoZWNrOiBjaGVjaygndG9vbGNoYWluX3JlbGVhc2VfdmVyc2lvbl9jaGVjaycsIHNxbGAke3RhYmxlLnJlbGVhc2VWZXJzaW9ufSB+ICdeWzAtOV0rXFwuWzAtOV0rXFwuWzAtOV0rJCdgKSxcbn0pKTtcblxuLyoqXG4gKiBUSEUgcGxhdGZvcm0gZGVmYXVsdCDigJQgYXQgbW9zdCBvbmUgcm93ICh0aGUgYm9vbGVhbiBQSyBjYW4gb25seSBob2xkIGB0cnVlYCkuXG4gKiBUaGUgcmVmZXJlbmNlZCByZWxlYXNlIGNhbid0IGJlIGRlbGV0ZWQgd2hpbGUgaXQgaXMgdGhlIGRlZmF1bHQuXG4gKlxuICogQHRhYmxlIHRvb2xjaGFpbl9wbGF0Zm9ybV9kZWZhdWx0XG4gKi9cbmV4cG9ydCBjb25zdCB0b29sY2hhaW5QbGF0Zm9ybURlZmF1bHQgPSBwZ1RhYmxlKCd0b29sY2hhaW5fcGxhdGZvcm1fZGVmYXVsdCcsIHtcbiAgc2luZ2xldG9uOiBib29sZWFuKCdzaW5nbGV0b24nKS5wcmltYXJ5S2V5KCkuZGVmYXVsdCh0cnVlKSxcbiAgcmVsZWFzZVZlcnNpb246IHZhcmNoYXIoJ3JlbGVhc2VfdmVyc2lvbicsIHsgbGVuZ3RoOiA1MCB9KS5ub3ROdWxsKClcbiAgICAucmVmZXJlbmNlcygoKSA9PiB0b29sY2hhaW5SZWxlYXNlLnJlbGVhc2VWZXJzaW9uLCB7IG9uRGVsZXRlOiAncmVzdHJpY3QnIH0pLFxuICBzZXRBdDogdGltZXN0YW1wKCdzZXRfYXQnLCB7IHdpdGhUaW1lem9uZTogdHJ1ZSB9KS5kZWZhdWx0Tm93KCkubm90TnVsbCgpLFxuICBzZXRCeTogdGV4dCgnc2V0X2J5Jykubm90TnVsbCgpLFxufSwgKHRhYmxlKSA9PiAoe1xuICBzaW5nbGV0b25DaGVjazogY2hlY2soJ3Rvb2xjaGFpbl9wbGF0Zm9ybV9kZWZhdWx0X3NpbmdsZXRvbl9jaGVjaycsIHNxbGAke3RhYmxlLnNpbmdsZXRvbn1gKSxcbn0pKTtcblxuLyoqXG4gKiBFdmVyeSBwbGF0Zm9ybS1kZWZhdWx0IGNoYW5nZS4gTm8gRksgb24gdGhlIHZlcnNpb25zOiBoaXN0b3J5IG91dGxpdmVzIGFcbiAqIGRlbGV0ZWQgcmVsZWFzZS5cbiAqXG4gKiBAdGFibGUgdG9vbGNoYWluX2RlZmF1bHRfaGlzdG9yeVxuICovXG5leHBvcnQgY29uc3QgdG9vbGNoYWluRGVmYXVsdEhpc3RvcnkgPSBwZ1RhYmxlKCd0b29sY2hhaW5fZGVmYXVsdF9oaXN0b3J5Jywge1xuICBpZDogdXVpZCgnaWQnKS5wcmltYXJ5S2V5KCkuZGVmYXVsdFJhbmRvbSgpLFxuICByZWxlYXNlVmVyc2lvbjogdmFyY2hhcigncmVsZWFzZV92ZXJzaW9uJywgeyBsZW5ndGg6IDUwIH0pLm5vdE51bGwoKSxcbiAgcHJldmlvdXNSZWxlYXNlVmVyc2lvbjogdmFyY2hhcigncHJldmlvdXNfcmVsZWFzZV92ZXJzaW9uJywgeyBsZW5ndGg6IDUwIH0pLFxuICBzZXRCeTogdGV4dCgnc2V0X2J5Jykubm90TnVsbCgpLFxuICBzZXRBdDogdGltZXN0YW1wKCdzZXRfYXQnLCB7IHdpdGhUaW1lem9uZTogdHJ1ZSB9KS5kZWZhdWx0Tm93KCkubm90TnVsbCgpLFxuICByZWFzb246IHRleHQoJ3JlYXNvbicpLFxuICBraW5kOiB2YXJjaGFyKCdraW5kJywgeyBsZW5ndGg6IDE2IH0pLiR0eXBlPFRvb2xjaGFpbkRlZmF1bHRLaW5kPigpLm5vdE51bGwoKSxcbn0sICh0YWJsZSkgPT4gKHtcbiAgc2V0QXRJZHg6IGluZGV4KCd0b29sY2hhaW5fZGVmYXVsdF9oaXN0b3J5X3NldF9hdF9pZHgnKS5vbih0YWJsZS5zZXRBdC5kZXNjKCkpLFxuICBraW5kQ2hlY2s6IGNoZWNrKCd0b29sY2hhaW5fZGVmYXVsdF9oaXN0b3J5X2tpbmRfY2hlY2snLCBzcWxgJHt0YWJsZS5raW5kfSBJTiAoJ3NldCcsICdpbml0aWFsJywgJ3Jlc3RvcmUnKWApLFxufSkpO1xuXG4vKipcbiAqIENhbmFyeSBtZW1iZXJzaGlwOiBPTkUgcmVsZWFzZSBwZXIgb3JnLiBgb3JnSWRgIGlzIGEgTUVNQkVSICh0aGUgb3JnIHRoZVxuICogY2FuYXJ5IGFwcGxpZXMgdG8pLCBub3QgYW4gb3duZXIg4oCUIHJvd3MgYXJlIHdyaXR0ZW4gYnkgdGhlIHN5c3RlbSBvcmcsIGFuZCBhXG4gKiBtZW1iZXIgb3JnIGNhbid0IHJlYWQgdGhlbS5cbiAqXG4gKiBAdGFibGUgdG9vbGNoYWluX3JvbGxvdXRcbiAqL1xuZXhwb3J0IGNvbnN0IHRvb2xjaGFpblJvbGxvdXQgPSBwZ1RhYmxlKCd0b29sY2hhaW5fcm9sbG91dCcsIHtcbiAgb3JnSWQ6IHZhcmNoYXIoJ29yZ19pZCcsIHsgbGVuZ3RoOiAyNTUgfSkucHJpbWFyeUtleSgpLFxuICByZWxlYXNlVmVyc2lvbjogdmFyY2hhcigncmVsZWFzZV92ZXJzaW9uJywgeyBsZW5ndGg6IDUwIH0pLm5vdE51bGwoKVxuICAgIC5yZWZlcmVuY2VzKCgpID0+IHRvb2xjaGFpblJlbGVhc2UucmVsZWFzZVZlcnNpb24sIHsgb25EZWxldGU6ICdyZXN0cmljdCcgfSksXG4gIGFkZGVkQnk6IHRleHQoJ2FkZGVkX2J5Jykubm90TnVsbCgpLFxuICBhZGRlZEF0OiB0aW1lc3RhbXAoJ2FkZGVkX2F0JywgeyB3aXRoVGltZXpvbmU6IHRydWUgfSkuZGVmYXVsdE5vdygpLm5vdE51bGwoKSxcbn0sICh0YWJsZSkgPT4gKHtcbiAgcmVsZWFzZUlkeDogaW5kZXgoJ3Rvb2xjaGFpbl9yb2xsb3V0X3JlbGVhc2VfaWR4Jykub24odGFibGUucmVsZWFzZVZlcnNpb24pLFxufSkpO1xuXG4vKipcbiAqIEFuIG9yZydzIG92ZXJyaWRlIG9mIHRoZSBwbGF0Zm9ybSBkZWZhdWx0IChvbmUgcGVyIG9yZykuIFwiRm9sbG93IHBsYXRmb3JtXG4gKiBkZWZhdWx0XCIgZGVsZXRlcyB0aGUgcm93LiBUZWFtIGluaGVyaXRhbmNlIGlzIHJlc29sdmVkIGluIHRoZSByZXNvbHZlciwgbm90XG4gKiBieSBSTFMuXG4gKlxuICogQHRhYmxlIG9yZ190b29sY2hhaW5fZGVmYXVsdFxuICovXG5leHBvcnQgY29uc3Qgb3JnVG9vbGNoYWluRGVmYXVsdCA9IHBnVGFibGUoJ29yZ190b29sY2hhaW5fZGVmYXVsdCcsIHtcbiAgb3JnSWQ6IHZhcmNoYXIoJ29yZ19pZCcsIHsgbGVuZ3RoOiAyNTUgfSkucHJpbWFyeUtleSgpLFxuICByZWxlYXNlVmVyc2lvbjogdmFyY2hhcigncmVsZWFzZV92ZXJzaW9uJywgeyBsZW5ndGg6IDUwIH0pLm5vdE51bGwoKVxuICAgIC5yZWZlcmVuY2VzKCgpID0+IHRvb2xjaGFpblJlbGVhc2UucmVsZWFzZVZlcnNpb24sIHsgb25EZWxldGU6ICdyZXN0cmljdCcgfSksXG4gIHNldEJ5OiB0ZXh0KCdzZXRfYnknKS5ub3ROdWxsKCksXG4gIHNldEF0OiB0aW1lc3RhbXAoJ3NldF9hdCcsIHsgd2l0aFRpbWV6b25lOiB0cnVlIH0pLmRlZmF1bHROb3coKS5ub3ROdWxsKCksXG4gIHJlYXNvbjogdGV4dCgncmVhc29uJyksXG59LCAodGFibGUpID0+ICh7XG4gIHJlbGVhc2VJZHg6IGluZGV4KCdvcmdfdG9vbGNoYWluX2RlZmF1bHRfcmVsZWFzZV9pZHgnKS5vbih0YWJsZS5yZWxlYXNlVmVyc2lvbiksXG59KSk7XG5cbi8qKlxuICogQW4gb3JnJ3Mgb3ZlcnJpZGUgY2hhbmdlcywgYXBwZW5kLW9ubHkgZm9yIHRoZSBvcmcuIGByZWxlYXNlVmVyc2lvbmAgaXNcbiAqIGBudWxsYCBmb3IgYSBjbGVhciAoYmFjayB0byB0aGUgcGxhdGZvcm0gZGVmYXVsdCkuIE5vIEZLOiBoaXN0b3J5IG91dGxpdmVzIGFcbiAqIGRlbGV0ZWQgcmVsZWFzZS5cbiAqXG4gKiBAdGFibGUgb3JnX3Rvb2xjaGFpbl9kZWZhdWx0X2hpc3RvcnlcbiAqL1xuZXhwb3J0IGNvbnN0IG9yZ1Rvb2xjaGFpbkRlZmF1bHRIaXN0b3J5ID0gcGdUYWJsZSgnb3JnX3Rvb2xjaGFpbl9kZWZhdWx0X2hpc3RvcnknLCB7XG4gIGlkOiB1dWlkKCdpZCcpLnByaW1hcnlLZXkoKS5kZWZhdWx0UmFuZG9tKCksXG4gIG9yZ0lkOiB2YXJjaGFyKCdvcmdfaWQnLCB7IGxlbmd0aDogMjU1IH0pLm5vdE51bGwoKSxcbiAgcmVsZWFzZVZlcnNpb246IHZhcmNoYXIoJ3JlbGVhc2VfdmVyc2lvbicsIHsgbGVuZ3RoOiA1MCB9KSxcbiAgc2V0Qnk6IHRleHQoJ3NldF9ieScpLm5vdE51bGwoKSxcbiAgc2V0QXQ6IHRpbWVzdGFtcCgnc2V0X2F0JywgeyB3aXRoVGltZXpvbmU6IHRydWUgfSkuZGVmYXVsdE5vdygpLm5vdE51bGwoKSxcbiAgcmVhc29uOiB0ZXh0KCdyZWFzb24nKSxcbn0sICh0YWJsZSkgPT4gKHtcbiAgb3JnSWR4OiBpbmRleCgnb3JnX3Rvb2xjaGFpbl9kZWZhdWx0X2hpc3Rvcnlfb3JnX2lkeCcpLm9uKHRhYmxlLm9yZ0lkLCB0YWJsZS5zZXRBdC5kZXNjKCkpLFxufSkpO1xuXG5leHBvcnQgdHlwZSBUb29sY2hhaW5SZWxlYXNlID0gdHlwZW9mIHRvb2xjaGFpblJlbGVhc2UuJGluZmVyU2VsZWN0O1xuZXhwb3J0IHR5cGUgVG9vbGNoYWluUmVsZWFzZUluc2VydCA9IHR5cGVvZiB0b29sY2hhaW5SZWxlYXNlLiRpbmZlckluc2VydDtcbmV4cG9ydCB0eXBlIFRvb2xjaGFpblBsYXRmb3JtRGVmYXVsdCA9IHR5cGVvZiB0b29sY2hhaW5QbGF0Zm9ybURlZmF1bHQuJGluZmVyU2VsZWN0O1xuZXhwb3J0IHR5cGUgVG9vbGNoYWluRGVmYXVsdEhpc3RvcnkgPSB0eXBlb2YgdG9vbGNoYWluRGVmYXVsdEhpc3RvcnkuJGluZmVyU2VsZWN0O1xuZXhwb3J0IHR5cGUgVG9vbGNoYWluRGVmYXVsdEhpc3RvcnlJbnNlcnQgPSB0eXBlb2YgdG9vbGNoYWluRGVmYXVsdEhpc3RvcnkuJGluZmVySW5zZXJ0O1xuZXhwb3J0IHR5cGUgVG9vbGNoYWluUm9sbG91dCA9IHR5cGVvZiB0b29sY2hhaW5Sb2xsb3V0LiRpbmZlclNlbGVjdDtcbmV4cG9ydCB0eXBlIFRvb2xjaGFpblJvbGxvdXRJbnNlcnQgPSB0eXBlb2YgdG9vbGNoYWluUm9sbG91dC4kaW5mZXJJbnNlcnQ7XG5leHBvcnQgdHlwZSBPcmdUb29sY2hhaW5EZWZhdWx0ID0gdHlwZW9mIG9yZ1Rvb2xjaGFpbkRlZmF1bHQuJGluZmVyU2VsZWN0O1xuZXhwb3J0IHR5cGUgT3JnVG9vbGNoYWluRGVmYXVsdEluc2VydCA9IHR5cGVvZiBvcmdUb29sY2hhaW5EZWZhdWx0LiRpbmZlckluc2VydDtcbmV4cG9ydCB0eXBlIE9yZ1Rvb2xjaGFpbkRlZmF1bHRIaXN0b3J5ID0gdHlwZW9mIG9yZ1Rvb2xjaGFpbkRlZmF1bHRIaXN0b3J5LiRpbmZlclNlbGVjdDtcbmV4cG9ydCB0eXBlIE9yZ1Rvb2xjaGFpbkRlZmF1bHRIaXN0b3J5SW5zZXJ0ID0gdHlwZW9mIG9yZ1Rvb2xjaGFpbkRlZmF1bHRIaXN0b3J5LiRpbmZlckluc2VydDtcbiJdfQ==
package/lib/index.d.ts CHANGED
@@ -35,6 +35,7 @@ export { openSupportCase, findCaseByThread, listQueue, listOrgCases, stampFirstR
35
35
  export { policyOf, effectiveConsumptionPolicy, applyPolicyUpdate, type ConsumptionPolicy, DEFAULT_CONSUMPTION_POLICY, } from './api/plugin-consumption-policy.js';
36
36
  export { advisoryRangeCovers, advisoryRangeProblem, advisoriesCovering, blockingAdvisories, } from './api/plugin-advisories.js';
37
37
  export { listingBlock, implicitInstallRange, installAdmits, scopeOrgIds, installModeFor, drizzleListingSource, resolveListingReference, listedVersionWarnings, listedPluginRecord, loadOrgInstallContext, orgListingStates, resolvableListings, type ResolutionRefusal, type ResolutionScope, type ListingDataSource, type ListingResolved, type OrgListingState, vulnUpgradeAvailableWarning, type VulnUpgradeAvailableWarning, } from './api/plugin-resolution.js';
38
+ export { resolveManagedToolchain, resolveManagedToolchainWith, resolveManagedToolchainHalf, isEligibleRelease, readOrgToolchainOverview, readOrgToolchainOverviewWith, listEligibleReleases, listEligibleReleasesWith, isEligibleReleaseWith, ManagedToolchainError, managedToolchainRefusal, isToolchainReleaseVersion, toolchainOrgChain, loadReleaseHalves, releaseExists, releaseLifecycleProblems, toolchainCandidateProblems, bootstrapToolchainOf, clearToolchainParentCacheForTests, setManagedToolchainDepsForTests, type ManagedToolchainResolution, type ManagedToolchainWarning, type ManagedToolchainCaller, type ManagedToolchainDeps, type ToolchainResolvedVia, type ToolchainDb, type ReleaseHalves, type ReleaseLifecycleProblem, type OrgToolchainOverview, type EligibleToolchainRelease, } from './api/managed-toolchain.js';
38
39
  export { findVersionReferences, distinctPipelines, versionReferencedPredicate, orgImageDigestsInUse, type VersionReferenceTarget, type VersionReference, } from './api/version-references.js';
39
40
  export { declaredResolution, recordStepLookup, pipelineStepLookups, declaredPipelinesForPlugin, stageAndStep, stepLabelOf, type DeclaredStepInput, type DeclaredStepPlugin, type DeclaredStepResolution, type StepLookupRecord, type DeclaredPipelineRef, } from './api/pipeline-step-resolution.js';
40
41
  export { runSoftDeletePurge, createSoftDeletePurgeScheduler, type PurgeableEntity, } from './api/soft-delete-sweep.js';
@@ -45,6 +46,7 @@ export { classifyFailure, isTeamActionable, FAILURE_CATEGORY_LABELS, } from './a
45
46
  export { getPipelineBreakdown, getFailureAnalysis, getStagePerformance, getResourceConsumption, getPromotionView, getOutdatedPlugins, getPluginVulnerabilities, getAdoption, type AnalyticsScope, type PipelineBreakdownRow, type FailureCategoryRow, type StagePerformanceRow, type ResourceRow, type PromotionRow, type OutdatedPluginRow, type VulnerabilityRow, type AdoptionSummary, } from './api/reporting/analytics-queries.js';
46
47
  export { evaluateNeedsAttention, thresholdsFrom, DEFAULT_THRESHOLDS, type NeedsAttentionThresholds, type AttentionFinding, type AttentionItem, type AttentionInput, type AttentionRuleId, } from './api/reporting/needs-attention.js';
47
48
  export { replacePipelineResolution, refreshLatestForPlugin, upsertExposures, closeFixedExposures, closePipelineExposures, closeVersionExposures, reconcilePipelineExposures, syncVersionExposures, pipelinesOnVersion, exposureFromScan, liveExposurePredicate, openExposures, triageExposure, lapsedAcceptances, pipelineExposures, exposureById, activeAcceptances, acceptanceKey, reopenLapsedAcceptances, versionGap, type PipelineExposure, type TriageDecision, type PipelineAcceptances, type LapsedAcceptance, type ResolvedStep, type ExposureInput, type ExposureStep, type ExposureCounts, type LiveVersion, type PipelineOnVersion, type PluginVersionRef, type ScanState, type VersionGap, } from './api/reporting/plugin-exposure.js';
49
+ export { BUILD_IMAGE_PLUGIN, canaryPerOrgCap, DEFAULT_CANARY_GATE, deployedToolchainOf, evaluateCanaryGate, readAffectedPipelines, readCanaryGate, readPlatformDefaultRelease, SELF_MUTATION_ACTION, SELF_MUTATION_STAGE, SYNTH_STEP_KEY, toolchainActionOf, toolchainOutcomeOf, type AffectedOrg, type AffectedPipelines, type CanaryGateInput, type CanaryGateParams, type CanaryGateResult, type CanaryGateShortfall, type DeployedToolchain, type OrgRuns, type ToolchainAction, type ToolchainManifestRow, type ToolchainOutcome, } from './api/reporting/toolchain-runs.js';
48
50
  export { resolvePeriod, resolvePeriodByLabel, rejectUnreportablePeriod, nextPeriodBoundary, completePeriodsSince, registerSection, getSection, allSections, sectionIds, REPORT_TEMPLATE_SPECS, getTemplate, composeSnapshot, LOW_SAMPLE_THRESHOLD, REPORT_FEATURE_SUBSTITUTES, renderReportHtml, reportFileName, trendSentence, type ReportHtmlInput, type ResolvedPeriod, type PeriodRejection, type SectionSpec, type SectionContext, type SectionDataSource, type TemplateSpec, type ReportSnapshot, type ComposedSection, type DataQualityNote, type ComposeOptions, type TrendDirection, StakeholderReportStore, stakeholderReportStore, hashToken, mintToken, DEFAULT_SHARE_LINK_TTL_DAYS, MAX_SHARE_LINK_TTL_DAYS, MAX_BOUNCES, VERIFICATION_TTL_MS, type CreateDefinitionInput, type UpdateDefinitionInput, type MintedShareLink, type ResolvedShareLink, } from './api/reporting/stakeholder/index.js';
49
51
  export { type PluginRuntimeFilter, type PluginRuntimeStats, ReportingService, reportingService, } from './api/reporting-service.js';
50
52
  export { type PluginFilter, type PipelineFilter, type PipelineTemplateFilter, type MessageFilter, type CompliancePolicyFilter, type ComplianceRuleFilter, type ComplianceExemptionFilter, type ComplianceAuditFilter, type ComplianceScanFilter, } from './core/query-filters.js';
package/lib/index.js CHANGED
@@ -43,6 +43,7 @@ countPremiumSupportContacts, isPremiumSupportContact, setSupportContactPremium,
43
43
  export { policyOf, effectiveConsumptionPolicy, applyPolicyUpdate, DEFAULT_CONSUMPTION_POLICY, } from './api/plugin-consumption-policy.js';
44
44
  export { advisoryRangeCovers, advisoryRangeProblem, advisoriesCovering, blockingAdvisories, } from './api/plugin-advisories.js';
45
45
  export { listingBlock, implicitInstallRange, installAdmits, scopeOrgIds, installModeFor, drizzleListingSource, resolveListingReference, listedVersionWarnings, listedPluginRecord, loadOrgInstallContext, orgListingStates, resolvableListings, vulnUpgradeAvailableWarning, } from './api/plugin-resolution.js';
46
+ export { resolveManagedToolchain, resolveManagedToolchainWith, resolveManagedToolchainHalf, isEligibleRelease, readOrgToolchainOverview, readOrgToolchainOverviewWith, listEligibleReleases, listEligibleReleasesWith, isEligibleReleaseWith, ManagedToolchainError, managedToolchainRefusal, isToolchainReleaseVersion, toolchainOrgChain, loadReleaseHalves, releaseExists, releaseLifecycleProblems, toolchainCandidateProblems, bootstrapToolchainOf, clearToolchainParentCacheForTests, setManagedToolchainDepsForTests, } from './api/managed-toolchain.js';
46
47
  export { findVersionReferences, distinctPipelines, versionReferencedPredicate, orgImageDigestsInUse, } from './api/version-references.js';
47
48
  export { declaredResolution, recordStepLookup, pipelineStepLookups, declaredPipelinesForPlugin, stageAndStep, stepLabelOf, } from './api/pipeline-step-resolution.js';
48
49
  // `isSoftDeletePurgeEnabled` is the module's own env gate — `runSoftDeletePurge`
@@ -58,10 +59,13 @@ export { classifyFailure, isTeamActionable, FAILURE_CATEGORY_LABELS, } from './a
58
59
  export { getPipelineBreakdown, getFailureAnalysis, getStagePerformance, getResourceConsumption, getPromotionView, getOutdatedPlugins, getPluginVulnerabilities, getAdoption, } from './api/reporting/analytics-queries.js';
59
60
  export { evaluateNeedsAttention, thresholdsFrom, DEFAULT_THRESHOLDS, } from './api/reporting/needs-attention.js';
60
61
  export { replacePipelineResolution, refreshLatestForPlugin, upsertExposures, closeFixedExposures, closePipelineExposures, closeVersionExposures, reconcilePipelineExposures, syncVersionExposures, pipelinesOnVersion, exposureFromScan, liveExposurePredicate, openExposures, triageExposure, lapsedAcceptances, pipelineExposures, exposureById, activeAcceptances, acceptanceKey, reopenLapsedAcceptances, versionGap, } from './api/reporting/plugin-exposure.js';
62
+ // Toolchain run data (docs/plans/bootstrap-image-versioning.md §6, §7, §9): the
63
+ // release stamp on synth / self-mutation rows, the canary gate and the Affected view.
64
+ export { BUILD_IMAGE_PLUGIN, canaryPerOrgCap, DEFAULT_CANARY_GATE, deployedToolchainOf, evaluateCanaryGate, readAffectedPipelines, readCanaryGate, readPlatformDefaultRelease, SELF_MUTATION_ACTION, SELF_MUTATION_STAGE, SYNTH_STEP_KEY, toolchainActionOf, toolchainOutcomeOf, } from './api/reporting/toolchain-runs.js';
61
65
  // The stakeholder-report engine: period resolution, section registry, templates
62
66
  // and the composer that freezes a period into a snapshot.
63
67
  export { resolvePeriod, resolvePeriodByLabel, rejectUnreportablePeriod, nextPeriodBoundary, completePeriodsSince, registerSection, getSection, allSections, sectionIds, REPORT_TEMPLATE_SPECS, getTemplate, composeSnapshot, LOW_SAMPLE_THRESHOLD, REPORT_FEATURE_SUBSTITUTES, renderReportHtml, reportFileName, trendSentence, StakeholderReportStore, stakeholderReportStore, hashToken, mintToken, DEFAULT_SHARE_LINK_TTL_DAYS, MAX_SHARE_LINK_TTL_DAYS, MAX_BOUNCES, VERIFICATION_TTL_MS, } from './api/reporting/stakeholder/index.js';
64
68
  export { ReportingService, reportingService, } from './api/reporting-service.js';
65
69
  // Filters
66
70
  export {} from './core/query-filters.js';
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUVILFdBQVc7QUFDWCxjQUFjLHFCQUFxQixDQUFDO0FBRXBDLDhCQUE4QjtBQUM5QixjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLE9BQU8sRUFFTCx5QkFBeUIsR0FDMUIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsT0FBTyxFQUNMLFdBQVcsRUFDWCxrQkFBa0IsRUFDbEIsYUFBYSxFQUNiLGNBQWMsRUFDZCxvQkFBb0IsRUFDcEIsYUFBYSxHQUNkLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUNMLGNBQWMsRUFDZCxvQkFBb0IsRUFDcEIsb0JBQW9CLEVBQ3BCLGdCQUFnQixFQUNoQixzQkFBc0IsRUFDdEIsaUJBQWlCLEVBQ2pCLDRCQUE0QixFQUc1QixlQUFlLEVBQ2YsZUFBZSxFQUdmLFlBQVksR0FFYixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFDTCw0QkFBNEIsR0FFN0IsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RSxPQUFPLEVBQ0wsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixTQUFTLEVBQ1QsWUFBWSxFQUNaLGtCQUFrQixFQUNsQixhQUFhLEVBQ2IsZUFBZSxFQUNmLFVBQVUsRUFDVixXQUFXLEVBQ1gsVUFBVSxFQUNWLHFCQUFxQixFQUNyQixtQkFBbUIsRUFDbkIscUJBQXFCLEVBQ3JCLGNBQWMsRUFHZCwwQkFBMEIsRUFDMUIseUJBQXlCLEVBQ3pCLGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsb0JBQW9CO0FBQ3BCLDJFQUEyRTtBQUMzRSwyRUFBMkU7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QkFBb0IsRUFDcEIsMEJBQTBCLEVBQzFCLGdCQUFnQixFQUNoQixjQUFjLEVBQ2QsYUFBYSxFQWFiLHNCQUFzQixFQUN0QixzQkFBc0IsRUFDdEIsU0FBUyxFQUNULFNBQVMsRUFDVCwyQkFBMkIsRUFDM0IsdUJBQXVCLEVBQ3ZCLFdBQVcsRUFDWCxtQkFBbUIsR0FLcEIsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5QyxPQUFPLEVBR0wsZ0JBQWdCLEVBQ2hCLGdCQUFnQixHQUNqQixNQUFNLDRCQUE0QixDQUFDO0FBRXBDLFVBQVU7QUFDVixPQUFPLEVBVU4sTUFBTSx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG4vKipcbiAqIEBtb2R1bGUgQHBpcGVsaW5lLWJ1aWxkZXIvcGlwZWxpbmUtZGF0YVxuICpcbiAqIERhdGFiYXNlIGxheWVyOiBEcml6emxlIE9STSBzY2hlbWFzLCBjb25uZWN0aW9uIG1hbmFnZW1lbnQsIGFuZCBxdWVyeSBpbmZyYXN0cnVjdHVyZS5cbiAqXG4gKiAqKkRhdGFiYXNlKipcbiAqIC0gZGIg4oCUIHNoYXJlZCBEcml6emxlIGRhdGFiYXNlIGluc3RhbmNlXG4gKiAtIGdldENvbm5lY3Rpb24sIGNsb3NlQ29ubmVjdGlvbiDigJQgUG9zdGdyZVNRTCBjb25uZWN0aW9uIGxpZmVjeWNsZSB3aXRoIHJldHJ5IGxvZ2ljXG4gKiAtIHNjaGVtYSDigJQgRHJpenpsZSB0YWJsZSBkZWZpbml0aW9ucyAocGx1Z2lucywgcGlwZWxpbmVzLCBtZXNzYWdlcywgY29tcGxpYW5jZSwgZXRjLilcbiAqXG4gKiAqKlNlcnZpY2VzKipcbiAqIC0gQ3J1ZFNlcnZpY2Ug4oCUIGdlbmVyaWMgYmFzZSBjbGFzcyBmb3IgbXVsdGktdGVuYW50IENSVUQgd2l0aCBhY2Nlc3MgY29udHJvbCBhbmQgcGFnaW5hdGlvblxuICogLSBSZXBvcnRpbmdTZXJ2aWNlIOKAlCBhZ2dyZWdhdGUgcXVlcnkgYW5kIHJlcG9ydGluZyBiYXNlIGNsYXNzXG4gKlxuICogKipRdWVyeSBCdWlsZGVycyoqXG4gKiAtIGJ1aWxkUGx1Z2luQ29uZGl0aW9ucywgYnVpbGRQaXBlbGluZUNvbmRpdGlvbnMsIGJ1aWxkTWVzc2FnZUNvbmRpdGlvbnMg4oCUIGZpbHRlci10by1TUUwgY29uZGl0aW9uIGJ1aWxkZXJzXG4gKiAtIGJ1aWxkQ29tcGxpYW5jZVBvbGljeUNvbmRpdGlvbnMsIGJ1aWxkQ29tcGxpYW5jZVJ1bGVDb25kaXRpb25zLCBldGMuIOKAlCBjb21wbGlhbmNlIHF1ZXJ5IGJ1aWxkZXJzXG4gKiAtIEFjY2Vzc0NvbnRyb2xCdWlsZGVyIOKAlCByb3ctbGV2ZWwgYWNjZXNzIGNvbnRyb2wgY29uZGl0aW9uIGJ1aWxkZXJcbiAqXG4gKiAqKkZpbHRlcnMqKlxuICogLSBQbHVnaW5GaWx0ZXIsIFBpcGVsaW5lRmlsdGVyLCBNZXNzYWdlRmlsdGVyIOKAlCB0eXBlZCBmaWx0ZXIgaW50ZXJmYWNlc1xuICogLSBDb21wbGlhbmNlUG9saWN5RmlsdGVyLCBDb21wbGlhbmNlUnVsZUZpbHRlciwgZXRjLiDigJQgY29tcGxpYW5jZSBmaWx0ZXIgaW50ZXJmYWNlc1xuICogLSBkcml6emxlUm93cywgZHJpenpsZUNvdW50IOKAlCBEcml6emxlIHJlc3VsdCB0eXBlIGhlbHBlcnNcbiAqL1xuXG4vLyBEYXRhYmFzZVxuZXhwb3J0ICogZnJvbSAnLi9kYXRhYmFzZS9pbmRleC5qcyc7XG5cbi8vIFF1ZXJ5IGJ1aWxkZXJzIGFuZCBzZXJ2aWNlc1xuZXhwb3J0ICogZnJvbSAnLi9hcGkvcXVlcnktYnVpbGRlcnMuanMnO1xuZXhwb3J0IHtcbiAgdHlwZSBCYXNlQWNjZXNzRmlsdGVyLFxuICBBY2Nlc3NDb250cm9sUXVlcnlCdWlsZGVyLFxufSBmcm9tICcuL2FwaS9hY2Nlc3MtY29udHJvbC1idWlsZGVyLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpL3ZpZXdlci1jb250ZXh0LmpzJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpL2NydWQtc2VydmljZS5qcyc7XG5leHBvcnQge1xuICBwYXJzZVNlbXZlcixcbiAgY29tcGFyZVNlbXZlclBhcnRzLFxuICBjb21wYXJlU2VtdmVyLFxuICBpc1ZlcnNpb25SYW5nZSxcbiAgc2F0aXNmaWVzVmVyc2lvblNwZWMsXG4gIHNlbXZlck9yZGVyQnksXG59IGZyb20gJy4vYXBpL3NlbXZlci1yYW5nZS5qcyc7XG5leHBvcnQge1xuICBub3JtYWxpemVRdWVyeSxcbiAgc2VhcmNoUHVibGljTGlzdGluZ3MsXG4gIGxpc3RQdWJsaWNDYXRlZ29yaWVzLFxuICBnZXRQdWJsaWNMaXN0aW5nLFxuICBnZXRQdWJsaWNMaXN0ZWRWZXJzaW9uLFxuICBsaXN0UHVibGljUmV2aWV3cyxcbiAgbGlzdFB1YmxpY0xpc3RpbmdzRm9yU2l0ZW1hcCxcbiAgdHlwZSBEaXJlY3RvcnlUcnVzdFRpZXIsXG4gIHR5cGUgRGlyZWN0b3J5U29ydCxcbiAgRElSRUNUT1JZX1NPUlRTLFxuICBESVJFQ1RPUllfVElFUlMsXG4gIHR5cGUgRGlyZWN0b3J5U2VhcmNoUGFyYW1zLFxuICB0eXBlIFJldmlld1NvcnQsXG4gIFJFVklFV19TT1JUUyxcbiAgdHlwZSBQdWJsaWNMaXN0aW5nUm93LFxufSBmcm9tICcuL2FwaS9wdWJsaWMtZGlyZWN0b3J5LmpzJztcbmV4cG9ydCB7XG4gIGxpc3RFbmFibGVkQWxlcnREZXN0aW5hdGlvbnMsXG4gIHR5cGUgTm90aWZpY2F0aW9uRGVzdGluYXRpb24sXG59IGZyb20gJy4vYXBpL2FsZXJ0LWRlc3RpbmF0aW9ucy5qcyc7XG5leHBvcnQgeyBhbm9ueW1pemVSZXZpZXdzQnlBdXRob3IgfSBmcm9tICcuL2FwaS9lY29zeXN0ZW0tcHJpdmFjeS5qcyc7XG5leHBvcnQge1xuICBvcGVuU3VwcG9ydENhc2UsXG4gIGZpbmRDYXNlQnlUaHJlYWQsXG4gIGxpc3RRdWV1ZSxcbiAgbGlzdE9yZ0Nhc2VzLFxuICBzdGFtcEZpcnN0UmVzcG9uc2UsXG4gIHNldENhc2VTdGF0dXMsXG4gIHNldENhc2VTZXZlcml0eSxcbiAgYXNzaWduQ2FzZSxcbiAgYXNzaWduQ2FzZXMsXG4gIGNsb3NlQ2FzZXMsXG4gIHRyYW5zZmVyQ2FzZVRvQ29udGFjdCxcbiAgb3BlbkNhc2VzRm9yQ29udGFjdCxcbiAgU1VQUE9SVF9DQVNFX1NUQVRVU0VTLFxuICBRVUVVRV9TVEFUVVNFUyxcbiAgdHlwZSBTdXBwb3J0Q2FzZVN0YXR1cyxcbiAgdHlwZSBPcGVuQ2FzZUlucHV0LFxuICBjb3VudEFjdGl2ZVN1cHBvcnRDb250YWN0cyxcbiAgbGlzdEFjdGl2ZVN1cHBvcnRDb250YWN0cyxcbiAgaXNTdXBwb3J0Q29udGFjdCxcbiAgZGVzaWduYXRlU3VwcG9ydENvbnRhY3QsXG4gIHJldm9rZVN1cHBvcnRDb250YWN0LFxuICAvLyBUaGUgcHJlbWl1bSBVUEdSQURFIHN1YnNldC4gU2VwYXJhdGUgZnJvbSB0aGUgYmFzZWxpbmUgY29udGFjdCBmdW5jdGlvbnNcbiAgLy8gYmVjYXVzZSB0aGUgdHdvIGFuc3dlciB0byBzZXBhcmF0ZSBjYXBzOiBhbiBhY2NvdW50IGhvbGRzIE4gY29udGFjdHMgYW5kXG4gIC8vIHVwZ3JhZGVzIE0gb2YgdGhlbS5cbiAgY291bnRQcmVtaXVtU3VwcG9ydENvbnRhY3RzLFxuICBpc1ByZW1pdW1TdXBwb3J0Q29udGFjdCxcbiAgc2V0U3VwcG9ydENvbnRhY3RQcmVtaXVtLFxuICBjb3VudENhc2VzSW5XaW5kb3csXG4gIHJhdGVDYXNlLFxuICBhZGRDYXNlTm90ZSxcbiAgbGlzdENhc2VOb3RlcyxcbiAgZGVsZXRlQ2FzZU5vdGUsXG4gIHR5cGUgU3VwcG9ydENhc2VOb3RlLFxuICBsaXN0Q2FubmVkUmVzcG9uc2VzLFxuICBjcmVhdGVDYW5uZWRSZXNwb25zZSxcbiAgdXBkYXRlQ2FubmVkUmVzcG9uc2UsXG4gIGRlbGV0ZUNhbm5lZFJlc3BvbnNlLFxuICB0eXBlIENhbm5lZFJlc3BvbnNlLFxuICBsaXN0Q2FzZXNEdWVGb3JQYWdlLFxufSBmcm9tICcuL2FwaS9zdXBwb3J0LWNhc2VzLmpzJztcbmV4cG9ydCB7XG4gIHBvbGljeU9mLFxuICBlZmZlY3RpdmVDb25zdW1wdGlvblBvbGljeSxcbiAgYXBwbHlQb2xpY3lVcGRhdGUsXG4gIHR5cGUgQ29uc3VtcHRpb25Qb2xpY3ksXG4gIERFRkFVTFRfQ09OU1VNUFRJT05fUE9MSUNZLFxufSBmcm9tICcuL2FwaS9wbHVnaW4tY29uc3VtcHRpb24tcG9saWN5LmpzJztcbmV4cG9ydCB7XG4gIGFkdmlzb3J5UmFuZ2VDb3ZlcnMsXG4gIGFkdmlzb3J5UmFuZ2VQcm9ibGVtLFxuICBhZHZpc29yaWVzQ292ZXJpbmcsXG4gIGJsb2NraW5nQWR2aXNvcmllcyxcbn0gZnJvbSAnLi9hcGkvcGx1Z2luLWFkdmlzb3JpZXMuanMnO1xuZXhwb3J0IHtcbiAgbGlzdGluZ0Jsb2NrLFxuICBpbXBsaWNpdEluc3RhbGxSYW5nZSxcbiAgaW5zdGFsbEFkbWl0cyxcbiAgc2NvcGVPcmdJZHMsXG4gIGluc3RhbGxNb2RlRm9yLFxuICBkcml6emxlTGlzdGluZ1NvdXJjZSxcbiAgcmVzb2x2ZUxpc3RpbmdSZWZlcmVuY2UsXG4gIGxpc3RlZFZlcnNpb25XYXJuaW5ncyxcbiAgbGlzdGVkUGx1Z2luUmVjb3JkLFxuICBsb2FkT3JnSW5zdGFsbENvbnRleHQsXG4gIG9yZ0xpc3RpbmdTdGF0ZXMsXG4gIHJlc29sdmFibGVMaXN0aW5ncyxcbiAgdHlwZSBSZXNvbHV0aW9uUmVmdXNhbCxcbiAgdHlwZSBSZXNvbHV0aW9uU2NvcGUsXG4gIHR5cGUgTGlzdGluZ0RhdGFTb3VyY2UsXG4gIHR5cGUgTGlzdGluZ1Jlc29sdmVkLFxuICB0eXBlIE9yZ0xpc3RpbmdTdGF0ZSxcbiAgdnVsblVwZ3JhZGVBdmFpbGFibGVXYXJuaW5nLFxuICB0eXBlIFZ1bG5VcGdyYWRlQXZhaWxhYmxlV2FybmluZyxcbn0gZnJvbSAnLi9hcGkvcGx1Z2luLXJlc29sdXRpb24uanMnO1xuZXhwb3J0IHtcbiAgZmluZFZlcnNpb25SZWZlcmVuY2VzLFxuICBkaXN0aW5jdFBpcGVsaW5lcyxcbiAgdmVyc2lvblJlZmVyZW5jZWRQcmVkaWNhdGUsXG4gIG9yZ0ltYWdlRGlnZXN0c0luVXNlLFxuICB0eXBlIFZlcnNpb25SZWZlcmVuY2VUYXJnZXQsXG4gIHR5cGUgVmVyc2lvblJlZmVyZW5jZSxcbn0gZnJvbSAnLi9hcGkvdmVyc2lvbi1yZWZlcmVuY2VzLmpzJztcbmV4cG9ydCB7XG4gIGRlY2xhcmVkUmVzb2x1dGlvbixcbiAgcmVjb3JkU3RlcExvb2t1cCxcbiAgcGlwZWxpbmVTdGVwTG9va3VwcyxcbiAgZGVjbGFyZWRQaXBlbGluZXNGb3JQbHVnaW4sXG4gIHN0YWdlQW5kU3RlcCxcbiAgc3RlcExhYmVsT2YsXG4gIHR5cGUgRGVjbGFyZWRTdGVwSW5wdXQsXG4gIHR5cGUgRGVjbGFyZWRTdGVwUGx1Z2luLFxuICB0eXBlIERlY2xhcmVkU3RlcFJlc29sdXRpb24sXG4gIHR5cGUgU3RlcExvb2t1cFJlY29yZCxcbiAgdHlwZSBEZWNsYXJlZFBpcGVsaW5lUmVmLFxufSBmcm9tICcuL2FwaS9waXBlbGluZS1zdGVwLXJlc29sdXRpb24uanMnO1xuLy8gYGlzU29mdERlbGV0ZVB1cmdlRW5hYmxlZGAgaXMgdGhlIG1vZHVsZSdzIG93biBlbnYgZ2F0ZSDigJQgYHJ1blNvZnREZWxldGVQdXJnZWBcbi8vIGFuZCB0aGUgc2NoZWR1bGVyIGFscmVhZHkgYXBwbHkgaXQsIHNvIGNhbGxlcnMgbmV2ZXIgYXNrIHNlcGFyYXRlbHkuXG5leHBvcnQge1xuICBydW5Tb2Z0RGVsZXRlUHVyZ2UsXG4gIGNyZWF0ZVNvZnREZWxldGVQdXJnZVNjaGVkdWxlcixcbiAgdHlwZSBQdXJnZWFibGVFbnRpdHksXG59IGZyb20gJy4vYXBpL3NvZnQtZGVsZXRlLXN3ZWVwLmpzJztcbmV4cG9ydCB7XG4gIHR5cGUgQnVpbGRIZWFsdGgsXG4gIHR5cGUgRG9yYUxldmVsLFxuICB0eXBlIERvcmFNZXRyaWNzLFxuICB0eXBlIERvcmFPcHRpb25zLFxuICB0eXBlIERvcmFUcmVuZFBvaW50LFxuICB0eXBlIERlcGxveW1lbnRPdXRjb21lV3JpdGUsXG4gIHR5cGUgSW5jaWRlbnRMaXN0SXRlbSxcbiAgdHlwZSBJbmNpZGVudFN0YXRlLFxuICB0eXBlIEluY2lkZW50V3JpdGUsXG4gIHR5cGUgUmVwb3J0aW5nU2V0dGluZ3MsXG4gIHR5cGUgSW5jaWRlbnRUZXN0UmVzdWx0LFxuICB0eXBlIEluZ2VzdENhbGxlcixcbiAgdHlwZSBJbmdlc3RNZXRyaWMsXG4gIHR5cGUgTGFzdERlcGxveWVkQ29tbWl0LFxufSBmcm9tICcuL2FwaS9yZXBvcnRpbmctc2VydmljZS5qcyc7XG5cbi8vIFRoZSByZXBvcnRpbmcgQU5BTFlUSUNTIGxheWVyOiB0aGUgcGVyLWRlcGxveSByb2xsdXAgd3JpdHRlbiBhdCBpbmdlc3QsIHRoZVxuLy8gZGFpbHkgcm9sbHVwIGV2ZXJ5IHNlY3Rpb24gcmVhZHMsIGFuZCB0aGUgZmFpbHVyZSBjbGFzc2lmaWVyIHRoYXQgbGFiZWxzIHdoYXRcbi8vIGJyb2tlIChzZWUgdGhlIG1vZHVsZXMnIG93biBoZWFkZXJzIGZvciB3aHkgZWFjaCBpcyB3cml0dGVuIHJhdGhlciB0aGFuIGRlcml2ZWQpLlxuZXhwb3J0IHtcbiAgdXBzZXJ0RGVwbG95bWVudHMsXG4gIGFwcGx5RGVwbG95T3V0Y29tZSxcbiAgY29ycmVsYXRlSW5jaWRlbnQsXG4gIGlzRGVwbG95RXZlbnQsXG4gIGxlYWRUaW1lR2FwT2YsXG4gIHR5cGUgRGVwbG95Q2FuZGlkYXRlLFxufSBmcm9tICcuL2FwaS9yZXBvcnRpbmcvZGVwbG95LXJvbGx1cC5qcyc7XG5leHBvcnQge1xuICByZWJ1aWxkRGF5LFxuICBydW5Sb2xsdXBQYXNzLFxuICByb2xsdXBTZXR0bGVIb3VycyxcbiAgcm9sbHVwQmF0Y2hEYXlzLFxuICB1dGNEYXlTdGFydCxcbn0gZnJvbSAnLi9hcGkvcmVwb3J0aW5nL2RhaWx5LXJvbGx1cC5qcyc7XG5leHBvcnQge1xuICBjbGFzc2lmeUZhaWx1cmUsXG4gIGlzVGVhbUFjdGlvbmFibGUsXG4gIEZBSUxVUkVfQ0FURUdPUllfTEFCRUxTLFxufSBmcm9tICcuL2FwaS9yZXBvcnRpbmcvZmFpbHVyZS1jbGFzc2lmaWVyLmpzJztcbmV4cG9ydCB7XG4gIGdldFBpcGVsaW5lQnJlYWtkb3duLFxuICBnZXRGYWlsdXJlQW5hbHlzaXMsXG4gIGdldFN0YWdlUGVyZm9ybWFuY2UsXG4gIGdldFJlc291cmNlQ29uc3VtcHRpb24sXG4gIGdldFByb21vdGlvblZpZXcsXG4gIGdldE91dGRhdGVkUGx1Z2lucyxcbiAgZ2V0UGx1Z2luVnVsbmVyYWJpbGl0aWVzLFxuICBnZXRBZG9wdGlvbixcbiAgdHlwZSBBbmFseXRpY3NTY29wZSxcbiAgdHlwZSBQaXBlbGluZUJyZWFrZG93blJvdyxcbiAgdHlwZSBGYWlsdXJlQ2F0ZWdvcnlSb3csXG4gIHR5cGUgU3RhZ2VQZXJmb3JtYW5jZVJvdyxcbiAgdHlwZSBSZXNvdXJjZVJvdyxcbiAgdHlwZSBQcm9tb3Rpb25Sb3csXG4gIHR5cGUgT3V0ZGF0ZWRQbHVnaW5Sb3csXG4gIHR5cGUgVnVsbmVyYWJpbGl0eVJvdyxcbiAgdHlwZSBBZG9wdGlvblN1bW1hcnksXG59IGZyb20gJy4vYXBpL3JlcG9ydGluZy9hbmFseXRpY3MtcXVlcmllcy5qcyc7XG5leHBvcnQge1xuICBldmFsdWF0ZU5lZWRzQXR0ZW50aW9uLFxuICB0aHJlc2hvbGRzRnJvbSxcbiAgREVGQVVMVF9USFJFU0hPTERTLFxuICB0eXBlIE5lZWRzQXR0ZW50aW9uVGhyZXNob2xkcyxcbiAgdHlwZSBBdHRlbnRpb25GaW5kaW5nLFxuICB0eXBlIEF0dGVudGlvbkl0ZW0sXG4gIHR5cGUgQXR0ZW50aW9uSW5wdXQsXG4gIHR5cGUgQXR0ZW50aW9uUnVsZUlkLFxufSBmcm9tICcuL2FwaS9yZXBvcnRpbmcvbmVlZHMtYXR0ZW50aW9uLmpzJztcbmV4cG9ydCB7XG4gIHJlcGxhY2VQaXBlbGluZVJlc29sdXRpb24sXG4gIHJlZnJlc2hMYXRlc3RGb3JQbHVnaW4sXG4gIHVwc2VydEV4cG9zdXJlcyxcbiAgY2xvc2VGaXhlZEV4cG9zdXJlcyxcbiAgY2xvc2VQaXBlbGluZUV4cG9zdXJlcyxcbiAgY2xvc2VWZXJzaW9uRXhwb3N1cmVzLFxuICByZWNvbmNpbGVQaXBlbGluZUV4cG9zdXJlcyxcbiAgc3luY1ZlcnNpb25FeHBvc3VyZXMsXG4gIHBpcGVsaW5lc09uVmVyc2lvbixcbiAgZXhwb3N1cmVGcm9tU2NhbixcbiAgbGl2ZUV4cG9zdXJlUHJlZGljYXRlLFxuICBvcGVuRXhwb3N1cmVzLFxuICB0cmlhZ2VFeHBvc3VyZSxcbiAgbGFwc2VkQWNjZXB0YW5jZXMsXG4gIHBpcGVsaW5lRXhwb3N1cmVzLFxuICBleHBvc3VyZUJ5SWQsXG4gIGFjdGl2ZUFjY2VwdGFuY2VzLFxuICBhY2NlcHRhbmNlS2V5LFxuICByZW9wZW5MYXBzZWRBY2NlcHRhbmNlcyxcbiAgdmVyc2lvbkdhcCxcbiAgdHlwZSBQaXBlbGluZUV4cG9zdXJlLFxuICB0eXBlIFRyaWFnZURlY2lzaW9uLFxuICB0eXBlIFBpcGVsaW5lQWNjZXB0YW5jZXMsXG4gIHR5cGUgTGFwc2VkQWNjZXB0YW5jZSxcbiAgdHlwZSBSZXNvbHZlZFN0ZXAsXG4gIHR5cGUgRXhwb3N1cmVJbnB1dCxcbiAgdHlwZSBFeHBvc3VyZVN0ZXAsXG4gIHR5cGUgRXhwb3N1cmVDb3VudHMsXG4gIHR5cGUgTGl2ZVZlcnNpb24sXG4gIHR5cGUgUGlwZWxpbmVPblZlcnNpb24sXG4gIHR5cGUgUGx1Z2luVmVyc2lvblJlZixcbiAgdHlwZSBTY2FuU3RhdGUsXG4gIHR5cGUgVmVyc2lvbkdhcCxcbn0gZnJvbSAnLi9hcGkvcmVwb3J0aW5nL3BsdWdpbi1leHBvc3VyZS5qcyc7XG5cbi8vIFRoZSBzdGFrZWhvbGRlci1yZXBvcnQgZW5naW5lOiBwZXJpb2QgcmVzb2x1dGlvbiwgc2VjdGlvbiByZWdpc3RyeSwgdGVtcGxhdGVzXG4vLyBhbmQgdGhlIGNvbXBvc2VyIHRoYXQgZnJlZXplcyBhIHBlcmlvZCBpbnRvIGEgc25hcHNob3QuXG5leHBvcnQge1xuICByZXNvbHZlUGVyaW9kLFxuICByZXNvbHZlUGVyaW9kQnlMYWJlbCxcbiAgcmVqZWN0VW5yZXBvcnRhYmxlUGVyaW9kLFxuICBuZXh0UGVyaW9kQm91bmRhcnksXG4gIGNvbXBsZXRlUGVyaW9kc1NpbmNlLFxuICByZWdpc3RlclNlY3Rpb24sXG4gIGdldFNlY3Rpb24sXG4gIGFsbFNlY3Rpb25zLFxuICBzZWN0aW9uSWRzLFxuICBSRVBPUlRfVEVNUExBVEVfU1BFQ1MsXG4gIGdldFRlbXBsYXRlLFxuICBjb21wb3NlU25hcHNob3QsXG4gIExPV19TQU1QTEVfVEhSRVNIT0xELFxuICBSRVBPUlRfRkVBVFVSRV9TVUJTVElUVVRFUyxcbiAgcmVuZGVyUmVwb3J0SHRtbCxcbiAgcmVwb3J0RmlsZU5hbWUsXG4gIHRyZW5kU2VudGVuY2UsXG4gIHR5cGUgUmVwb3J0SHRtbElucHV0LFxuICB0eXBlIFJlc29sdmVkUGVyaW9kLFxuICB0eXBlIFBlcmlvZFJlamVjdGlvbixcbiAgdHlwZSBTZWN0aW9uU3BlYyxcbiAgdHlwZSBTZWN0aW9uQ29udGV4dCxcbiAgdHlwZSBTZWN0aW9uRGF0YVNvdXJjZSxcbiAgdHlwZSBUZW1wbGF0ZVNwZWMsXG4gIHR5cGUgUmVwb3J0U25hcHNob3QsXG4gIHR5cGUgQ29tcG9zZWRTZWN0aW9uLFxuICB0eXBlIERhdGFRdWFsaXR5Tm90ZSxcbiAgdHlwZSBDb21wb3NlT3B0aW9ucyxcbiAgdHlwZSBUcmVuZERpcmVjdGlvbixcbiAgU3Rha2Vob2xkZXJSZXBvcnRTdG9yZSxcbiAgc3Rha2Vob2xkZXJSZXBvcnRTdG9yZSxcbiAgaGFzaFRva2VuLFxuICBtaW50VG9rZW4sXG4gIERFRkFVTFRfU0hBUkVfTElOS19UVExfREFZUyxcbiAgTUFYX1NIQVJFX0xJTktfVFRMX0RBWVMsXG4gIE1BWF9CT1VOQ0VTLFxuICBWRVJJRklDQVRJT05fVFRMX01TLFxuICB0eXBlIENyZWF0ZURlZmluaXRpb25JbnB1dCxcbiAgdHlwZSBVcGRhdGVEZWZpbml0aW9uSW5wdXQsXG4gIHR5cGUgTWludGVkU2hhcmVMaW5rLFxuICB0eXBlIFJlc29sdmVkU2hhcmVMaW5rLFxufSBmcm9tICcuL2FwaS9yZXBvcnRpbmcvc3Rha2Vob2xkZXIvaW5kZXguanMnO1xuZXhwb3J0IHtcbiAgdHlwZSBQbHVnaW5SdW50aW1lRmlsdGVyLFxuICB0eXBlIFBsdWdpblJ1bnRpbWVTdGF0cyxcbiAgUmVwb3J0aW5nU2VydmljZSxcbiAgcmVwb3J0aW5nU2VydmljZSxcbn0gZnJvbSAnLi9hcGkvcmVwb3J0aW5nLXNlcnZpY2UuanMnO1xuXG4vLyBGaWx0ZXJzXG5leHBvcnQge1xuICB0eXBlIFBsdWdpbkZpbHRlcixcbiAgdHlwZSBQaXBlbGluZUZpbHRlcixcbiAgdHlwZSBQaXBlbGluZVRlbXBsYXRlRmlsdGVyLFxuICB0eXBlIE1lc3NhZ2VGaWx0ZXIsXG4gIHR5cGUgQ29tcGxpYW5jZVBvbGljeUZpbHRlcixcbiAgdHlwZSBDb21wbGlhbmNlUnVsZUZpbHRlcixcbiAgdHlwZSBDb21wbGlhbmNlRXhlbXB0aW9uRmlsdGVyLFxuICB0eXBlIENvbXBsaWFuY2VBdWRpdEZpbHRlcixcbiAgdHlwZSBDb21wbGlhbmNlU2NhbkZpbHRlcixcbn0gZnJvbSAnLi9jb3JlL3F1ZXJ5LWZpbHRlcnMuanMnO1xuIl19
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUVILFdBQVc7QUFDWCxjQUFjLHFCQUFxQixDQUFDO0FBRXBDLDhCQUE4QjtBQUM5QixjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLE9BQU8sRUFFTCx5QkFBeUIsR0FDMUIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsT0FBTyxFQUNMLFdBQVcsRUFDWCxrQkFBa0IsRUFDbEIsYUFBYSxFQUNiLGNBQWMsRUFDZCxvQkFBb0IsRUFDcEIsYUFBYSxHQUNkLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUNMLGNBQWMsRUFDZCxvQkFBb0IsRUFDcEIsb0JBQW9CLEVBQ3BCLGdCQUFnQixFQUNoQixzQkFBc0IsRUFDdEIsaUJBQWlCLEVBQ2pCLDRCQUE0QixFQUc1QixlQUFlLEVBQ2YsZUFBZSxFQUdmLFlBQVksR0FFYixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFDTCw0QkFBNEIsR0FFN0IsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RSxPQUFPLEVBQ0wsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixTQUFTLEVBQ1QsWUFBWSxFQUNaLGtCQUFrQixFQUNsQixhQUFhLEVBQ2IsZUFBZSxFQUNmLFVBQVUsRUFDVixXQUFXLEVBQ1gsVUFBVSxFQUNWLHFCQUFxQixFQUNyQixtQkFBbUIsRUFDbkIscUJBQXFCLEVBQ3JCLGNBQWMsRUFHZCwwQkFBMEIsRUFDMUIseUJBQXlCLEVBQ3pCLGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsb0JBQW9CO0FBQ3BCLDJFQUEyRTtBQUMzRSwyRUFBMkU7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Q2IsY0FBYyxFQUNkLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIsWUFBWSxFQUNaLGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsdUJBQXVCLEVBQ3ZCLFVBQVUsR0FjWCxNQUFNLG9DQUFvQyxDQUFDO0FBRTVDLGdGQUFnRjtBQUNoRixzRkFBc0Y7QUFDdEYsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixlQUFlLEVBQ2YsbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIscUJBQXFCLEVBQ3JCLGNBQWMsRUFDZCwwQkFBMEIsRUFDMUIsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQixjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLGtCQUFrQixHQVluQixNQUFNLG1DQUFtQyxDQUFDO0FBRTNDLGdGQUFnRjtBQUNoRiwwREFBMEQ7QUFDMUQsT0FBTyxFQUNMLGFBQWEsRUFDYixvQkFBb0IsRUFDcEIsd0JBQXdCLEVBQ3hCLGtCQUFrQixFQUNsQixvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLFVBQVUsRUFDVixXQUFXLEVBQ1gsVUFBVSxFQUNWLHFCQUFxQixFQUNyQixXQUFXLEVBQ1gsZUFBZSxFQUNmLG9CQUFvQixFQUNwQiwwQkFBMEIsRUFDMUIsZ0JBQWdCLEVBQ2hCLGNBQWMsRUFDZCxhQUFhLEVBYWIsc0JBQXNCLEVBQ3RCLHNCQUFzQixFQUN0QixTQUFTLEVBQ1QsU0FBUyxFQUNULDJCQUEyQixFQUMzQix1QkFBdUIsRUFDdkIsV0FBVyxFQUNYLG1CQUFtQixHQUtwQixNQUFNLHNDQUFzQyxDQUFDO0FBQzlDLE9BQU8sRUFHTCxnQkFBZ0IsRUFDaEIsZ0JBQWdCLEdBQ2pCLE1BQU0sNEJBQTRCLENBQUM7QUFFcEMsVUFBVTtBQUNWLE9BQU8sRUFVTixNQUFNLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbi8qKlxuICogQG1vZHVsZSBAcGlwZWxpbmUtYnVpbGRlci9waXBlbGluZS1kYXRhXG4gKlxuICogRGF0YWJhc2UgbGF5ZXI6IERyaXp6bGUgT1JNIHNjaGVtYXMsIGNvbm5lY3Rpb24gbWFuYWdlbWVudCwgYW5kIHF1ZXJ5IGluZnJhc3RydWN0dXJlLlxuICpcbiAqICoqRGF0YWJhc2UqKlxuICogLSBkYiDigJQgc2hhcmVkIERyaXp6bGUgZGF0YWJhc2UgaW5zdGFuY2VcbiAqIC0gZ2V0Q29ubmVjdGlvbiwgY2xvc2VDb25uZWN0aW9uIOKAlCBQb3N0Z3JlU1FMIGNvbm5lY3Rpb24gbGlmZWN5Y2xlIHdpdGggcmV0cnkgbG9naWNcbiAqIC0gc2NoZW1hIOKAlCBEcml6emxlIHRhYmxlIGRlZmluaXRpb25zIChwbHVnaW5zLCBwaXBlbGluZXMsIG1lc3NhZ2VzLCBjb21wbGlhbmNlLCBldGMuKVxuICpcbiAqICoqU2VydmljZXMqKlxuICogLSBDcnVkU2VydmljZSDigJQgZ2VuZXJpYyBiYXNlIGNsYXNzIGZvciBtdWx0aS10ZW5hbnQgQ1JVRCB3aXRoIGFjY2VzcyBjb250cm9sIGFuZCBwYWdpbmF0aW9uXG4gKiAtIFJlcG9ydGluZ1NlcnZpY2Ug4oCUIGFnZ3JlZ2F0ZSBxdWVyeSBhbmQgcmVwb3J0aW5nIGJhc2UgY2xhc3NcbiAqXG4gKiAqKlF1ZXJ5IEJ1aWxkZXJzKipcbiAqIC0gYnVpbGRQbHVnaW5Db25kaXRpb25zLCBidWlsZFBpcGVsaW5lQ29uZGl0aW9ucywgYnVpbGRNZXNzYWdlQ29uZGl0aW9ucyDigJQgZmlsdGVyLXRvLVNRTCBjb25kaXRpb24gYnVpbGRlcnNcbiAqIC0gYnVpbGRDb21wbGlhbmNlUG9saWN5Q29uZGl0aW9ucywgYnVpbGRDb21wbGlhbmNlUnVsZUNvbmRpdGlvbnMsIGV0Yy4g4oCUIGNvbXBsaWFuY2UgcXVlcnkgYnVpbGRlcnNcbiAqIC0gQWNjZXNzQ29udHJvbEJ1aWxkZXIg4oCUIHJvdy1sZXZlbCBhY2Nlc3MgY29udHJvbCBjb25kaXRpb24gYnVpbGRlclxuICpcbiAqICoqRmlsdGVycyoqXG4gKiAtIFBsdWdpbkZpbHRlciwgUGlwZWxpbmVGaWx0ZXIsIE1lc3NhZ2VGaWx0ZXIg4oCUIHR5cGVkIGZpbHRlciBpbnRlcmZhY2VzXG4gKiAtIENvbXBsaWFuY2VQb2xpY3lGaWx0ZXIsIENvbXBsaWFuY2VSdWxlRmlsdGVyLCBldGMuIOKAlCBjb21wbGlhbmNlIGZpbHRlciBpbnRlcmZhY2VzXG4gKiAtIGRyaXp6bGVSb3dzLCBkcml6emxlQ291bnQg4oCUIERyaXp6bGUgcmVzdWx0IHR5cGUgaGVscGVyc1xuICovXG5cbi8vIERhdGFiYXNlXG5leHBvcnQgKiBmcm9tICcuL2RhdGFiYXNlL2luZGV4LmpzJztcblxuLy8gUXVlcnkgYnVpbGRlcnMgYW5kIHNlcnZpY2VzXG5leHBvcnQgKiBmcm9tICcuL2FwaS9xdWVyeS1idWlsZGVycy5qcyc7XG5leHBvcnQge1xuICB0eXBlIEJhc2VBY2Nlc3NGaWx0ZXIsXG4gIEFjY2Vzc0NvbnRyb2xRdWVyeUJ1aWxkZXIsXG59IGZyb20gJy4vYXBpL2FjY2Vzcy1jb250cm9sLWJ1aWxkZXIuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGkvdmlld2VyLWNvbnRleHQuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGkvY3J1ZC1zZXJ2aWNlLmpzJztcbmV4cG9ydCB7XG4gIHBhcnNlU2VtdmVyLFxuICBjb21wYXJlU2VtdmVyUGFydHMsXG4gIGNvbXBhcmVTZW12ZXIsXG4gIGlzVmVyc2lvblJhbmdlLFxuICBzYXRpc2ZpZXNWZXJzaW9uU3BlYyxcbiAgc2VtdmVyT3JkZXJCeSxcbn0gZnJvbSAnLi9hcGkvc2VtdmVyLXJhbmdlLmpzJztcbmV4cG9ydCB7XG4gIG5vcm1hbGl6ZVF1ZXJ5LFxuICBzZWFyY2hQdWJsaWNMaXN0aW5ncyxcbiAgbGlzdFB1YmxpY0NhdGVnb3JpZXMsXG4gIGdldFB1YmxpY0xpc3RpbmcsXG4gIGdldFB1YmxpY0xpc3RlZFZlcnNpb24sXG4gIGxpc3RQdWJsaWNSZXZpZXdzLFxuICBsaXN0UHVibGljTGlzdGluZ3NGb3JTaXRlbWFwLFxuICB0eXBlIERpcmVjdG9yeVRydXN0VGllcixcbiAgdHlwZSBEaXJlY3RvcnlTb3J0LFxuICBESVJFQ1RPUllfU09SVFMsXG4gIERJUkVDVE9SWV9USUVSUyxcbiAgdHlwZSBEaXJlY3RvcnlTZWFyY2hQYXJhbXMsXG4gIHR5cGUgUmV2aWV3U29ydCxcbiAgUkVWSUVXX1NPUlRTLFxuICB0eXBlIFB1YmxpY0xpc3RpbmdSb3csXG59IGZyb20gJy4vYXBpL3B1YmxpYy1kaXJlY3RvcnkuanMnO1xuZXhwb3J0IHtcbiAgbGlzdEVuYWJsZWRBbGVydERlc3RpbmF0aW9ucyxcbiAgdHlwZSBOb3RpZmljYXRpb25EZXN0aW5hdGlvbixcbn0gZnJvbSAnLi9hcGkvYWxlcnQtZGVzdGluYXRpb25zLmpzJztcbmV4cG9ydCB7IGFub255bWl6ZVJldmlld3NCeUF1dGhvciB9IGZyb20gJy4vYXBpL2Vjb3N5c3RlbS1wcml2YWN5LmpzJztcbmV4cG9ydCB7XG4gIG9wZW5TdXBwb3J0Q2FzZSxcbiAgZmluZENhc2VCeVRocmVhZCxcbiAgbGlzdFF1ZXVlLFxuICBsaXN0T3JnQ2FzZXMsXG4gIHN0YW1wRmlyc3RSZXNwb25zZSxcbiAgc2V0Q2FzZVN0YXR1cyxcbiAgc2V0Q2FzZVNldmVyaXR5LFxuICBhc3NpZ25DYXNlLFxuICBhc3NpZ25DYXNlcyxcbiAgY2xvc2VDYXNlcyxcbiAgdHJhbnNmZXJDYXNlVG9Db250YWN0LFxuICBvcGVuQ2FzZXNGb3JDb250YWN0LFxuICBTVVBQT1JUX0NBU0VfU1RBVFVTRVMsXG4gIFFVRVVFX1NUQVRVU0VTLFxuICB0eXBlIFN1cHBvcnRDYXNlU3RhdHVzLFxuICB0eXBlIE9wZW5DYXNlSW5wdXQsXG4gIGNvdW50QWN0aXZlU3VwcG9ydENvbnRhY3RzLFxuICBsaXN0QWN0aXZlU3VwcG9ydENvbnRhY3RzLFxuICBpc1N1cHBvcnRDb250YWN0LFxuICBkZXNpZ25hdGVTdXBwb3J0Q29udGFjdCxcbiAgcmV2b2tlU3VwcG9ydENvbnRhY3QsXG4gIC8vIFRoZSBwcmVtaXVtIFVQR1JBREUgc3Vic2V0LiBTZXBhcmF0ZSBmcm9tIHRoZSBiYXNlbGluZSBjb250YWN0IGZ1bmN0aW9uc1xuICAvLyBiZWNhdXNlIHRoZSB0d28gYW5zd2VyIHRvIHNlcGFyYXRlIGNhcHM6IGFuIGFjY291bnQgaG9sZHMgTiBjb250YWN0cyBhbmRcbiAgLy8gdXBncmFkZXMgTSBvZiB0aGVtLlxuICBjb3VudFByZW1pdW1TdXBwb3J0Q29udGFjdHMsXG4gIGlzUHJlbWl1bVN1cHBvcnRDb250YWN0LFxuICBzZXRTdXBwb3J0Q29udGFjdFByZW1pdW0sXG4gIGNvdW50Q2FzZXNJbldpbmRvdyxcbiAgcmF0ZUNhc2UsXG4gIGFkZENhc2VOb3RlLFxuICBsaXN0Q2FzZU5vdGVzLFxuICBkZWxldGVDYXNlTm90ZSxcbiAgdHlwZSBTdXBwb3J0Q2FzZU5vdGUsXG4gIGxpc3RDYW5uZWRSZXNwb25zZXMsXG4gIGNyZWF0ZUNhbm5lZFJlc3BvbnNlLFxuICB1cGRhdGVDYW5uZWRSZXNwb25zZSxcbiAgZGVsZXRlQ2FubmVkUmVzcG9uc2UsXG4gIHR5cGUgQ2FubmVkUmVzcG9uc2UsXG4gIGxpc3RDYXNlc0R1ZUZvclBhZ2UsXG59IGZyb20gJy4vYXBpL3N1cHBvcnQtY2FzZXMuanMnO1xuZXhwb3J0IHtcbiAgcG9saWN5T2YsXG4gIGVmZmVjdGl2ZUNvbnN1bXB0aW9uUG9saWN5LFxuICBhcHBseVBvbGljeVVwZGF0ZSxcbiAgdHlwZSBDb25zdW1wdGlvblBvbGljeSxcbiAgREVGQVVMVF9DT05TVU1QVElPTl9QT0xJQ1ksXG59IGZyb20gJy4vYXBpL3BsdWdpbi1jb25zdW1wdGlvbi1wb2xpY3kuanMnO1xuZXhwb3J0IHtcbiAgYWR2aXNvcnlSYW5nZUNvdmVycyxcbiAgYWR2aXNvcnlSYW5nZVByb2JsZW0sXG4gIGFkdmlzb3JpZXNDb3ZlcmluZyxcbiAgYmxvY2tpbmdBZHZpc29yaWVzLFxufSBmcm9tICcuL2FwaS9wbHVnaW4tYWR2aXNvcmllcy5qcyc7XG5leHBvcnQge1xuICBsaXN0aW5nQmxvY2ssXG4gIGltcGxpY2l0SW5zdGFsbFJhbmdlLFxuICBpbnN0YWxsQWRtaXRzLFxuICBzY29wZU9yZ0lkcyxcbiAgaW5zdGFsbE1vZGVGb3IsXG4gIGRyaXp6bGVMaXN0aW5nU291cmNlLFxuICByZXNvbHZlTGlzdGluZ1JlZmVyZW5jZSxcbiAgbGlzdGVkVmVyc2lvbldhcm5pbmdzLFxuICBsaXN0ZWRQbHVnaW5SZWNvcmQsXG4gIGxvYWRPcmdJbnN0YWxsQ29udGV4dCxcbiAgb3JnTGlzdGluZ1N0YXRlcyxcbiAgcmVzb2x2YWJsZUxpc3RpbmdzLFxuICB0eXBlIFJlc29sdXRpb25SZWZ1c2FsLFxuICB0eXBlIFJlc29sdXRpb25TY29wZSxcbiAgdHlwZSBMaXN0aW5nRGF0YVNvdXJjZSxcbiAgdHlwZSBMaXN0aW5nUmVzb2x2ZWQsXG4gIHR5cGUgT3JnTGlzdGluZ1N0YXRlLFxuICB2dWxuVXBncmFkZUF2YWlsYWJsZVdhcm5pbmcsXG4gIHR5cGUgVnVsblVwZ3JhZGVBdmFpbGFibGVXYXJuaW5nLFxufSBmcm9tICcuL2FwaS9wbHVnaW4tcmVzb2x1dGlvbi5qcyc7XG5leHBvcnQge1xuICByZXNvbHZlTWFuYWdlZFRvb2xjaGFpbixcbiAgcmVzb2x2ZU1hbmFnZWRUb29sY2hhaW5XaXRoLFxuICByZXNvbHZlTWFuYWdlZFRvb2xjaGFpbkhhbGYsXG4gIGlzRWxpZ2libGVSZWxlYXNlLFxuICByZWFkT3JnVG9vbGNoYWluT3ZlcnZpZXcsXG4gIHJlYWRPcmdUb29sY2hhaW5PdmVydmlld1dpdGgsXG4gIGxpc3RFbGlnaWJsZVJlbGVhc2VzLFxuICBsaXN0RWxpZ2libGVSZWxlYXNlc1dpdGgsXG4gIGlzRWxpZ2libGVSZWxlYXNlV2l0aCxcbiAgTWFuYWdlZFRvb2xjaGFpbkVycm9yLFxuICBtYW5hZ2VkVG9vbGNoYWluUmVmdXNhbCxcbiAgaXNUb29sY2hhaW5SZWxlYXNlVmVyc2lvbixcbiAgdG9vbGNoYWluT3JnQ2hhaW4sXG4gIGxvYWRSZWxlYXNlSGFsdmVzLFxuICByZWxlYXNlRXhpc3RzLFxuICByZWxlYXNlTGlmZWN5Y2xlUHJvYmxlbXMsXG4gIHRvb2xjaGFpbkNhbmRpZGF0ZVByb2JsZW1zLFxuICBib290c3RyYXBUb29sY2hhaW5PZixcbiAgY2xlYXJUb29sY2hhaW5QYXJlbnRDYWNoZUZvclRlc3RzLFxuICBzZXRNYW5hZ2VkVG9vbGNoYWluRGVwc0ZvclRlc3RzLFxuICB0eXBlIE1hbmFnZWRUb29sY2hhaW5SZXNvbHV0aW9uLFxuICB0eXBlIE1hbmFnZWRUb29sY2hhaW5XYXJuaW5nLFxuICB0eXBlIE1hbmFnZWRUb29sY2hhaW5DYWxsZXIsXG4gIHR5cGUgTWFuYWdlZFRvb2xjaGFpbkRlcHMsXG4gIHR5cGUgVG9vbGNoYWluUmVzb2x2ZWRWaWEsXG4gIHR5cGUgVG9vbGNoYWluRGIsXG4gIHR5cGUgUmVsZWFzZUhhbHZlcyxcbiAgdHlwZSBSZWxlYXNlTGlmZWN5Y2xlUHJvYmxlbSxcbiAgdHlwZSBPcmdUb29sY2hhaW5PdmVydmlldyxcbiAgdHlwZSBFbGlnaWJsZVRvb2xjaGFpblJlbGVhc2UsXG59IGZyb20gJy4vYXBpL21hbmFnZWQtdG9vbGNoYWluLmpzJztcbmV4cG9ydCB7XG4gIGZpbmRWZXJzaW9uUmVmZXJlbmNlcyxcbiAgZGlzdGluY3RQaXBlbGluZXMsXG4gIHZlcnNpb25SZWZlcmVuY2VkUHJlZGljYXRlLFxuICBvcmdJbWFnZURpZ2VzdHNJblVzZSxcbiAgdHlwZSBWZXJzaW9uUmVmZXJlbmNlVGFyZ2V0LFxuICB0eXBlIFZlcnNpb25SZWZlcmVuY2UsXG59IGZyb20gJy4vYXBpL3ZlcnNpb24tcmVmZXJlbmNlcy5qcyc7XG5leHBvcnQge1xuICBkZWNsYXJlZFJlc29sdXRpb24sXG4gIHJlY29yZFN0ZXBMb29rdXAsXG4gIHBpcGVsaW5lU3RlcExvb2t1cHMsXG4gIGRlY2xhcmVkUGlwZWxpbmVzRm9yUGx1Z2luLFxuICBzdGFnZUFuZFN0ZXAsXG4gIHN0ZXBMYWJlbE9mLFxuICB0eXBlIERlY2xhcmVkU3RlcElucHV0LFxuICB0eXBlIERlY2xhcmVkU3RlcFBsdWdpbixcbiAgdHlwZSBEZWNsYXJlZFN0ZXBSZXNvbHV0aW9uLFxuICB0eXBlIFN0ZXBMb29rdXBSZWNvcmQsXG4gIHR5cGUgRGVjbGFyZWRQaXBlbGluZVJlZixcbn0gZnJvbSAnLi9hcGkvcGlwZWxpbmUtc3RlcC1yZXNvbHV0aW9uLmpzJztcbi8vIGBpc1NvZnREZWxldGVQdXJnZUVuYWJsZWRgIGlzIHRoZSBtb2R1bGUncyBvd24gZW52IGdhdGUg4oCUIGBydW5Tb2Z0RGVsZXRlUHVyZ2VgXG4vLyBhbmQgdGhlIHNjaGVkdWxlciBhbHJlYWR5IGFwcGx5IGl0LCBzbyBjYWxsZXJzIG5ldmVyIGFzayBzZXBhcmF0ZWx5LlxuZXhwb3J0IHtcbiAgcnVuU29mdERlbGV0ZVB1cmdlLFxuICBjcmVhdGVTb2Z0RGVsZXRlUHVyZ2VTY2hlZHVsZXIsXG4gIHR5cGUgUHVyZ2VhYmxlRW50aXR5LFxufSBmcm9tICcuL2FwaS9zb2Z0LWRlbGV0ZS1zd2VlcC5qcyc7XG5leHBvcnQge1xuICB0eXBlIEJ1aWxkSGVhbHRoLFxuICB0eXBlIERvcmFMZXZlbCxcbiAgdHlwZSBEb3JhTWV0cmljcyxcbiAgdHlwZSBEb3JhT3B0aW9ucyxcbiAgdHlwZSBEb3JhVHJlbmRQb2ludCxcbiAgdHlwZSBEZXBsb3ltZW50T3V0Y29tZVdyaXRlLFxuICB0eXBlIEluY2lkZW50TGlzdEl0ZW0sXG4gIHR5cGUgSW5jaWRlbnRTdGF0ZSxcbiAgdHlwZSBJbmNpZGVudFdyaXRlLFxuICB0eXBlIFJlcG9ydGluZ1NldHRpbmdzLFxuICB0eXBlIEluY2lkZW50VGVzdFJlc3VsdCxcbiAgdHlwZSBJbmdlc3RDYWxsZXIsXG4gIHR5cGUgSW5nZXN0TWV0cmljLFxuICB0eXBlIExhc3REZXBsb3llZENvbW1pdCxcbn0gZnJvbSAnLi9hcGkvcmVwb3J0aW5nLXNlcnZpY2UuanMnO1xuXG4vLyBUaGUgcmVwb3J0aW5nIEFOQUxZVElDUyBsYXllcjogdGhlIHBlci1kZXBsb3kgcm9sbHVwIHdyaXR0ZW4gYXQgaW5nZXN0LCB0aGVcbi8vIGRhaWx5IHJvbGx1cCBldmVyeSBzZWN0aW9uIHJlYWRzLCBhbmQgdGhlIGZhaWx1cmUgY2xhc3NpZmllciB0aGF0IGxhYmVscyB3aGF0XG4vLyBicm9rZSAoc2VlIHRoZSBtb2R1bGVzJyBvd24gaGVhZGVycyBmb3Igd2h5IGVhY2ggaXMgd3JpdHRlbiByYXRoZXIgdGhhbiBkZXJpdmVkKS5cbmV4cG9ydCB7XG4gIHVwc2VydERlcGxveW1lbnRzLFxuICBhcHBseURlcGxveU91dGNvbWUsXG4gIGNvcnJlbGF0ZUluY2lkZW50LFxuICBpc0RlcGxveUV2ZW50LFxuICBsZWFkVGltZUdhcE9mLFxuICB0eXBlIERlcGxveUNhbmRpZGF0ZSxcbn0gZnJvbSAnLi9hcGkvcmVwb3J0aW5nL2RlcGxveS1yb2xsdXAuanMnO1xuZXhwb3J0IHtcbiAgcmVidWlsZERheSxcbiAgcnVuUm9sbHVwUGFzcyxcbiAgcm9sbHVwU2V0dGxlSG91cnMsXG4gIHJvbGx1cEJhdGNoRGF5cyxcbiAgdXRjRGF5U3RhcnQsXG59IGZyb20gJy4vYXBpL3JlcG9ydGluZy9kYWlseS1yb2xsdXAuanMnO1xuZXhwb3J0IHtcbiAgY2xhc3NpZnlGYWlsdXJlLFxuICBpc1RlYW1BY3Rpb25hYmxlLFxuICBGQUlMVVJFX0NBVEVHT1JZX0xBQkVMUyxcbn0gZnJvbSAnLi9hcGkvcmVwb3J0aW5nL2ZhaWx1cmUtY2xhc3NpZmllci5qcyc7XG5leHBvcnQge1xuICBnZXRQaXBlbGluZUJyZWFrZG93bixcbiAgZ2V0RmFpbHVyZUFuYWx5c2lzLFxuICBnZXRTdGFnZVBlcmZvcm1hbmNlLFxuICBnZXRSZXNvdXJjZUNvbnN1bXB0aW9uLFxuICBnZXRQcm9tb3Rpb25WaWV3LFxuICBnZXRPdXRkYXRlZFBsdWdpbnMsXG4gIGdldFBsdWdpblZ1bG5lcmFiaWxpdGllcyxcbiAgZ2V0QWRvcHRpb24sXG4gIHR5cGUgQW5hbHl0aWNzU2NvcGUsXG4gIHR5cGUgUGlwZWxpbmVCcmVha2Rvd25Sb3csXG4gIHR5cGUgRmFpbHVyZUNhdGVnb3J5Um93LFxuICB0eXBlIFN0YWdlUGVyZm9ybWFuY2VSb3csXG4gIHR5cGUgUmVzb3VyY2VSb3csXG4gIHR5cGUgUHJvbW90aW9uUm93LFxuICB0eXBlIE91dGRhdGVkUGx1Z2luUm93LFxuICB0eXBlIFZ1bG5lcmFiaWxpdHlSb3csXG4gIHR5cGUgQWRvcHRpb25TdW1tYXJ5LFxufSBmcm9tICcuL2FwaS9yZXBvcnRpbmcvYW5hbHl0aWNzLXF1ZXJpZXMuanMnO1xuZXhwb3J0IHtcbiAgZXZhbHVhdGVOZWVkc0F0dGVudGlvbixcbiAgdGhyZXNob2xkc0Zyb20sXG4gIERFRkFVTFRfVEhSRVNIT0xEUyxcbiAgdHlwZSBOZWVkc0F0dGVudGlvblRocmVzaG9sZHMsXG4gIHR5cGUgQXR0ZW50aW9uRmluZGluZyxcbiAgdHlwZSBBdHRlbnRpb25JdGVtLFxuICB0eXBlIEF0dGVudGlvbklucHV0LFxuICB0eXBlIEF0dGVudGlvblJ1bGVJZCxcbn0gZnJvbSAnLi9hcGkvcmVwb3J0aW5nL25lZWRzLWF0dGVudGlvbi5qcyc7XG5leHBvcnQge1xuICByZXBsYWNlUGlwZWxpbmVSZXNvbHV0aW9uLFxuICByZWZyZXNoTGF0ZXN0Rm9yUGx1Z2luLFxuICB1cHNlcnRFeHBvc3VyZXMsXG4gIGNsb3NlRml4ZWRFeHBvc3VyZXMsXG4gIGNsb3NlUGlwZWxpbmVFeHBvc3VyZXMsXG4gIGNsb3NlVmVyc2lvbkV4cG9zdXJlcyxcbiAgcmVjb25jaWxlUGlwZWxpbmVFeHBvc3VyZXMsXG4gIHN5bmNWZXJzaW9uRXhwb3N1cmVzLFxuICBwaXBlbGluZXNPblZlcnNpb24sXG4gIGV4cG9zdXJlRnJvbVNjYW4sXG4gIGxpdmVFeHBvc3VyZVByZWRpY2F0ZSxcbiAgb3BlbkV4cG9zdXJlcyxcbiAgdHJpYWdlRXhwb3N1cmUsXG4gIGxhcHNlZEFjY2VwdGFuY2VzLFxuICBwaXBlbGluZUV4cG9zdXJlcyxcbiAgZXhwb3N1cmVCeUlkLFxuICBhY3RpdmVBY2NlcHRhbmNlcyxcbiAgYWNjZXB0YW5jZUtleSxcbiAgcmVvcGVuTGFwc2VkQWNjZXB0YW5jZXMsXG4gIHZlcnNpb25HYXAsXG4gIHR5cGUgUGlwZWxpbmVFeHBvc3VyZSxcbiAgdHlwZSBUcmlhZ2VEZWNpc2lvbixcbiAgdHlwZSBQaXBlbGluZUFjY2VwdGFuY2VzLFxuICB0eXBlIExhcHNlZEFjY2VwdGFuY2UsXG4gIHR5cGUgUmVzb2x2ZWRTdGVwLFxuICB0eXBlIEV4cG9zdXJlSW5wdXQsXG4gIHR5cGUgRXhwb3N1cmVTdGVwLFxuICB0eXBlIEV4cG9zdXJlQ291bnRzLFxuICB0eXBlIExpdmVWZXJzaW9uLFxuICB0eXBlIFBpcGVsaW5lT25WZXJzaW9uLFxuICB0eXBlIFBsdWdpblZlcnNpb25SZWYsXG4gIHR5cGUgU2NhblN0YXRlLFxuICB0eXBlIFZlcnNpb25HYXAsXG59IGZyb20gJy4vYXBpL3JlcG9ydGluZy9wbHVnaW4tZXhwb3N1cmUuanMnO1xuXG4vLyBUb29sY2hhaW4gcnVuIGRhdGEgKGRvY3MvcGxhbnMvYm9vdHN0cmFwLWltYWdlLXZlcnNpb25pbmcubWQgwqc2LCDCpzcsIMKnOSk6IHRoZVxuLy8gcmVsZWFzZSBzdGFtcCBvbiBzeW50aCAvIHNlbGYtbXV0YXRpb24gcm93cywgdGhlIGNhbmFyeSBnYXRlIGFuZCB0aGUgQWZmZWN0ZWQgdmlldy5cbmV4cG9ydCB7XG4gIEJVSUxEX0lNQUdFX1BMVUdJTixcbiAgY2FuYXJ5UGVyT3JnQ2FwLFxuICBERUZBVUxUX0NBTkFSWV9HQVRFLFxuICBkZXBsb3llZFRvb2xjaGFpbk9mLFxuICBldmFsdWF0ZUNhbmFyeUdhdGUsXG4gIHJlYWRBZmZlY3RlZFBpcGVsaW5lcyxcbiAgcmVhZENhbmFyeUdhdGUsXG4gIHJlYWRQbGF0Zm9ybURlZmF1bHRSZWxlYXNlLFxuICBTRUxGX01VVEFUSU9OX0FDVElPTixcbiAgU0VMRl9NVVRBVElPTl9TVEFHRSxcbiAgU1lOVEhfU1RFUF9LRVksXG4gIHRvb2xjaGFpbkFjdGlvbk9mLFxuICB0b29sY2hhaW5PdXRjb21lT2YsXG4gIHR5cGUgQWZmZWN0ZWRPcmcsXG4gIHR5cGUgQWZmZWN0ZWRQaXBlbGluZXMsXG4gIHR5cGUgQ2FuYXJ5R2F0ZUlucHV0LFxuICB0eXBlIENhbmFyeUdhdGVQYXJhbXMsXG4gIHR5cGUgQ2FuYXJ5R2F0ZVJlc3VsdCxcbiAgdHlwZSBDYW5hcnlHYXRlU2hvcnRmYWxsLFxuICB0eXBlIERlcGxveWVkVG9vbGNoYWluLFxuICB0eXBlIE9yZ1J1bnMsXG4gIHR5cGUgVG9vbGNoYWluQWN0aW9uLFxuICB0eXBlIFRvb2xjaGFpbk1hbmlmZXN0Um93LFxuICB0eXBlIFRvb2xjaGFpbk91dGNvbWUsXG59IGZyb20gJy4vYXBpL3JlcG9ydGluZy90b29sY2hhaW4tcnVucy5qcyc7XG5cbi8vIFRoZSBzdGFrZWhvbGRlci1yZXBvcnQgZW5naW5lOiBwZXJpb2QgcmVzb2x1dGlvbiwgc2VjdGlvbiByZWdpc3RyeSwgdGVtcGxhdGVzXG4vLyBhbmQgdGhlIGNvbXBvc2VyIHRoYXQgZnJlZXplcyBhIHBlcmlvZCBpbnRvIGEgc25hcHNob3QuXG5leHBvcnQge1xuICByZXNvbHZlUGVyaW9kLFxuICByZXNvbHZlUGVyaW9kQnlMYWJlbCxcbiAgcmVqZWN0VW5yZXBvcnRhYmxlUGVyaW9kLFxuICBuZXh0UGVyaW9kQm91bmRhcnksXG4gIGNvbXBsZXRlUGVyaW9kc1NpbmNlLFxuICByZWdpc3RlclNlY3Rpb24sXG4gIGdldFNlY3Rpb24sXG4gIGFsbFNlY3Rpb25zLFxuICBzZWN0aW9uSWRzLFxuICBSRVBPUlRfVEVNUExBVEVfU1BFQ1MsXG4gIGdldFRlbXBsYXRlLFxuICBjb21wb3NlU25hcHNob3QsXG4gIExPV19TQU1QTEVfVEhSRVNIT0xELFxuICBSRVBPUlRfRkVBVFVSRV9TVUJTVElUVVRFUyxcbiAgcmVuZGVyUmVwb3J0SHRtbCxcbiAgcmVwb3J0RmlsZU5hbWUsXG4gIHRyZW5kU2VudGVuY2UsXG4gIHR5cGUgUmVwb3J0SHRtbElucHV0LFxuICB0eXBlIFJlc29sdmVkUGVyaW9kLFxuICB0eXBlIFBlcmlvZFJlamVjdGlvbixcbiAgdHlwZSBTZWN0aW9uU3BlYyxcbiAgdHlwZSBTZWN0aW9uQ29udGV4dCxcbiAgdHlwZSBTZWN0aW9uRGF0YVNvdXJjZSxcbiAgdHlwZSBUZW1wbGF0ZVNwZWMsXG4gIHR5cGUgUmVwb3J0U25hcHNob3QsXG4gIHR5cGUgQ29tcG9zZWRTZWN0aW9uLFxuICB0eXBlIERhdGFRdWFsaXR5Tm90ZSxcbiAgdHlwZSBDb21wb3NlT3B0aW9ucyxcbiAgdHlwZSBUcmVuZERpcmVjdGlvbixcbiAgU3Rha2Vob2xkZXJSZXBvcnRTdG9yZSxcbiAgc3Rha2Vob2xkZXJSZXBvcnRTdG9yZSxcbiAgaGFzaFRva2VuLFxuICBtaW50VG9rZW4sXG4gIERFRkFVTFRfU0hBUkVfTElOS19UVExfREFZUyxcbiAgTUFYX1NIQVJFX0xJTktfVFRMX0RBWVMsXG4gIE1BWF9CT1VOQ0VTLFxuICBWRVJJRklDQVRJT05fVFRMX01TLFxuICB0eXBlIENyZWF0ZURlZmluaXRpb25JbnB1dCxcbiAgdHlwZSBVcGRhdGVEZWZpbml0aW9uSW5wdXQsXG4gIHR5cGUgTWludGVkU2hhcmVMaW5rLFxuICB0eXBlIFJlc29sdmVkU2hhcmVMaW5rLFxufSBmcm9tICcuL2FwaS9yZXBvcnRpbmcvc3Rha2Vob2xkZXIvaW5kZXguanMnO1xuZXhwb3J0IHtcbiAgdHlwZSBQbHVnaW5SdW50aW1lRmlsdGVyLFxuICB0eXBlIFBsdWdpblJ1bnRpbWVTdGF0cyxcbiAgUmVwb3J0aW5nU2VydmljZSxcbiAgcmVwb3J0aW5nU2VydmljZSxcbn0gZnJvbSAnLi9hcGkvcmVwb3J0aW5nLXNlcnZpY2UuanMnO1xuXG4vLyBGaWx0ZXJzXG5leHBvcnQge1xuICB0eXBlIFBsdWdpbkZpbHRlcixcbiAgdHlwZSBQaXBlbGluZUZpbHRlcixcbiAgdHlwZSBQaXBlbGluZVRlbXBsYXRlRmlsdGVyLFxuICB0eXBlIE1lc3NhZ2VGaWx0ZXIsXG4gIHR5cGUgQ29tcGxpYW5jZVBvbGljeUZpbHRlcixcbiAgdHlwZSBDb21wbGlhbmNlUnVsZUZpbHRlcixcbiAgdHlwZSBDb21wbGlhbmNlRXhlbXB0aW9uRmlsdGVyLFxuICB0eXBlIENvbXBsaWFuY2VBdWRpdEZpbHRlcixcbiAgdHlwZSBDb21wbGlhbmNlU2NhbkZpbHRlcixcbn0gZnJvbSAnLi9jb3JlL3F1ZXJ5LWZpbHRlcnMuanMnO1xuIl19
@@ -17,6 +17,8 @@
17
17
  "assignCase": "function",
18
18
  "assignCases": "function",
19
19
  "blockingAdvisories": "function",
20
+ "bootstrapToolchainOf": "function",
21
+ "BUILD_IMAGE_PLUGIN": "value",
20
22
  "buildComplianceAuditConditions": "function",
21
23
  "buildComplianceExemptionConditions": "function",
22
24
  "buildCompliancePolicyConditions": "function",
@@ -27,8 +29,10 @@
27
29
  "buildPipelineTemplateConditions": "function",
28
30
  "buildPluginConditions": "function",
29
31
  "buildPublishedRuleCatalogConditions": "function",
32
+ "canaryPerOrgCap": "function",
30
33
  "chooseReadTarget": "function",
31
34
  "classifyFailure": "function",
35
+ "clearToolchainParentCacheForTests": "function",
32
36
  "closeCases": "function",
33
37
  "closeConnection": "function",
34
38
  "closeFixedExposures": "function",
@@ -66,11 +70,13 @@
66
70
  "db": "value",
67
71
  "declaredPipelinesForPlugin": "function",
68
72
  "declaredResolution": "function",
73
+ "DEFAULT_CANARY_GATE": "value",
69
74
  "DEFAULT_CONSUMPTION_POLICY": "value",
70
75
  "DEFAULT_SHARE_LINK_TTL_DAYS": "value",
71
76
  "DEFAULT_THRESHOLDS": "value",
72
77
  "deleteCannedResponse": "function",
73
78
  "deleteCaseNote": "function",
79
+ "deployedToolchainOf": "function",
74
80
  "deploymentOutcome": "value",
75
81
  "designateSupportContact": "function",
76
82
  "DIRECTORY_SORTS": "value",
@@ -86,6 +92,7 @@
86
92
  "ecosystemSearchMiss": "value",
87
93
  "ecosystemSetting": "value",
88
94
  "effectiveConsumptionPolicy": "function",
95
+ "evaluateCanaryGate": "function",
89
96
  "evaluateNeedsAttention": "function",
90
97
  "executeRows": "function",
91
98
  "exposureById": "function",
@@ -119,10 +126,13 @@
119
126
  "installAdmits": "function",
120
127
  "installModeFor": "function",
121
128
  "isDeployEvent": "function",
129
+ "isEligibleRelease": "function",
130
+ "isEligibleReleaseWith": "function",
122
131
  "isPremiumSupportContact": "function",
123
132
  "isPublicReaderConfigured": "function",
124
133
  "isSupportContact": "function",
125
134
  "isTeamActionable": "function",
135
+ "isToolchainReleaseVersion": "function",
126
136
  "isUniqueViolation": "function",
127
137
  "isVersionRange": "function",
128
138
  "lagVerdict": "function",
@@ -134,6 +144,8 @@
134
144
  "listCasesDueForPage": "function",
135
145
  "listedPluginRecord": "function",
136
146
  "listedVersionWarnings": "function",
147
+ "listEligibleReleases": "function",
148
+ "listEligibleReleasesWith": "function",
137
149
  "listEnabledAlertDestinations": "function",
138
150
  "listingBlock": "function",
139
151
  "listOrgCases": "function",
@@ -143,7 +155,10 @@
143
155
  "listQueue": "function",
144
156
  "liveExposurePredicate": "function",
145
157
  "loadOrgInstallContext": "function",
158
+ "loadReleaseHalves": "function",
146
159
  "LOW_SAMPLE_THRESHOLD": "value",
160
+ "ManagedToolchainError": "class",
161
+ "managedToolchainRefusal": "function",
147
162
  "MAX_BOUNCES": "value",
148
163
  "MAX_SHARE_LINK_TTL_DAYS": "value",
149
164
  "maybeSampleLag": "function",
@@ -161,6 +176,8 @@
161
176
  "orgAlertRule": "value",
162
177
  "orgImageDigestsInUse": "function",
163
178
  "orgListingStates": "function",
179
+ "orgToolchainDefault": "value",
180
+ "orgToolchainDefaultHistory": "value",
164
181
  "parseSemver": "function",
165
182
  "pipeline": "value",
166
183
  "pipelineEvent": "value",
@@ -198,12 +215,19 @@
198
215
  "PUBLISHER_TIERS": "value",
199
216
  "QUEUE_STATUSES": "value",
200
217
  "rateCase": "function",
218
+ "readAffectedPipelines": "function",
219
+ "readCanaryGate": "function",
220
+ "readOrgToolchainOverview": "function",
221
+ "readOrgToolchainOverviewWith": "function",
222
+ "readPlatformDefaultRelease": "function",
201
223
  "rebuildDay": "function",
202
224
  "reconcilePipelineExposures": "function",
203
225
  "recordStepLookup": "function",
204
226
  "refreshLatestForPlugin": "function",
205
227
  "registerSection": "function",
206
228
  "rejectUnreportablePeriod": "function",
229
+ "releaseExists": "function",
230
+ "releaseLifecycleProblems": "function",
207
231
  "renderReportHtml": "function",
208
232
  "reopenLapsedAcceptances": "function",
209
233
  "replacePipelineResolution": "function",
@@ -225,6 +249,9 @@
225
249
  "resetReadConnectionForTests": "function",
226
250
  "resolvableListings": "function",
227
251
  "resolveListingReference": "function",
252
+ "resolveManagedToolchain": "function",
253
+ "resolveManagedToolchainHalf": "function",
254
+ "resolveManagedToolchainWith": "function",
228
255
  "resolvePeriod": "function",
229
256
  "resolvePeriodByLabel": "function",
230
257
  "resultRows": "function",
@@ -241,10 +268,13 @@
241
268
  "scopeOrgIds": "function",
242
269
  "searchPublicListings": "function",
243
270
  "sectionIds": "function",
271
+ "SELF_MUTATION_ACTION": "value",
272
+ "SELF_MUTATION_STAGE": "value",
244
273
  "semverOrderBy": "function",
245
274
  "setCaseSeverity": "function",
246
275
  "setCaseStatus": "function",
247
276
  "setLagSampleForTests": "function",
277
+ "setManagedToolchainDepsForTests": "function",
248
278
  "setSupportContactPremium": "function",
249
279
  "softDeleteRetentionMs": "function",
250
280
  "stageAndStep": "function",
@@ -254,9 +284,18 @@
254
284
  "stepLabelOf": "function",
255
285
  "SUPPORT_CASE_STATUSES": "value",
256
286
  "syncVersionExposures": "function",
287
+ "SYNTH_STEP_KEY": "value",
257
288
  "tenantContext": "value",
258
289
  "testConnection": "function",
259
290
  "thresholdsFrom": "function",
291
+ "toolchainActionOf": "function",
292
+ "toolchainCandidateProblems": "function",
293
+ "toolchainDefaultHistory": "value",
294
+ "toolchainOrgChain": "function",
295
+ "toolchainOutcomeOf": "function",
296
+ "toolchainPlatformDefault": "value",
297
+ "toolchainRelease": "value",
298
+ "toolchainRollout": "value",
260
299
  "transferCaseToContact": "function",
261
300
  "trendSentence": "function",
262
301
  "triageExposure": "function",
package/package.json CHANGED
@@ -24,7 +24,7 @@
24
24
  "typescript": "npm:@typescript/typescript6@^6.0.2"
25
25
  },
26
26
  "dependencies": {
27
- "@pipeline-builder/api-core": "5.2.9",
27
+ "@pipeline-builder/api-core": "5.2.11",
28
28
  "drizzle-orm": "0.45.4",
29
29
  "pg": "8.23.1"
30
30
  },
@@ -69,7 +69,7 @@
69
69
  "containerized"
70
70
  ],
71
71
  "engines": {
72
- "node": ">= 26.13.0"
72
+ "node": ">= 26.13.1"
73
73
  },
74
74
  "devEngines": {
75
75
  "packageManager": {
@@ -86,7 +86,7 @@
86
86
  "registry": "https://registry.npmjs.org/",
87
87
  "provenance": true
88
88
  },
89
- "version": "4.3.10",
89
+ "version": "4.3.12",
90
90
  "bugs": {
91
91
  "url": "https://github.com/mwashburn160/pipeline-builder/issues"
92
92
  },