@aws-cdk/aws-gamelift-alpha 2.235.0-alpha.0 → 2.236.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Binary file
package/awslint.json CHANGED
@@ -35,6 +35,15 @@
35
35
  "prefer-ref-interface:@aws-cdk/aws-gamelift-alpha.ScriptAttributes.role",
36
36
  "prefer-ref-interface:@aws-cdk/aws-gamelift-alpha.ScriptProps.role",
37
37
  "prefer-ref-interface:@aws-cdk/aws-gamelift-alpha.StandaloneMatchmakingConfigurationProps.ruleSet",
38
- "prefer-ref-interface:@aws-cdk/aws-gamelift-alpha.StandaloneMatchmakingConfigurationProps.notificationTarget"
38
+ "prefer-ref-interface:@aws-cdk/aws-gamelift-alpha.StandaloneMatchmakingConfigurationProps.notificationTarget",
39
+ "interface-extends-ref:@aws-cdk/aws-gamelift-alpha.IAlias",
40
+ "interface-extends-ref:@aws-cdk/aws-gamelift-alpha.IBuild",
41
+ "interface-extends-ref:@aws-cdk/aws-gamelift-alpha.IBuildFleet",
42
+ "interface-extends-ref:@aws-cdk/aws-gamelift-alpha.IFleet",
43
+ "interface-extends-ref:@aws-cdk/aws-gamelift-alpha.IGameServerGroup",
44
+ "interface-extends-ref:@aws-cdk/aws-gamelift-alpha.IGameSessionQueue",
45
+ "interface-extends-ref:@aws-cdk/aws-gamelift-alpha.IMatchmakingConfiguration",
46
+ "interface-extends-ref:@aws-cdk/aws-gamelift-alpha.IMatchmakingRuleSet",
47
+ "interface-extends-ref:@aws-cdk/aws-gamelift-alpha.IScript"
39
48
  ]
40
49
  }
package/lib/alias.d.ts CHANGED
@@ -131,18 +131,13 @@ export declare class Alias extends AliasBase {
131
131
  * Import an existing alias from its attributes.
132
132
  */
133
133
  static fromAliasAttributes(scope: Construct, id: string, attrs: AliasAttributes): IAlias;
134
- /**
135
- * The Identifier of the alias.
136
- */
137
- readonly aliasId: string;
138
- /**
139
- * The ARN of the alias.
140
- */
141
- readonly aliasArn: string;
142
134
  /**
143
135
  * A fleet that the alias points to.
144
136
  */
145
137
  readonly fleet?: IFleet;
138
+ private resource;
146
139
  constructor(scope: Construct, id: string, props: AliasProps);
140
+ get aliasId(): string;
141
+ get aliasArn(): string;
147
142
  private parseRoutingStrategy;
148
143
  }
package/lib/alias.js CHANGED
@@ -1,4 +1,11 @@
1
1
  "use strict";
2
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
3
+ var useValue = arguments.length > 2;
4
+ for (var i = 0; i < initializers.length; i++) {
5
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
6
+ }
7
+ return useValue ? value : void 0;
8
+ };
2
9
  var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
3
10
  function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
4
11
  var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
@@ -26,26 +33,20 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn,
26
33
  if (target) Object.defineProperty(target, contextIn.name, descriptor);
27
34
  done = true;
28
35
  };
29
- var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
30
- var useValue = arguments.length > 2;
31
- for (var i = 0; i < initializers.length; i++) {
32
- value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
33
- }
34
- return useValue ? value : void 0;
35
- };
36
36
  Object.defineProperty(exports, "__esModule", { value: true });
37
37
  exports.Alias = exports.AliasBase = void 0;
38
38
  const jsiiDeprecationWarnings = require("../.warnings.jsii.js");
39
39
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
40
40
  const aws_gamelift_1 = require("aws-cdk-lib/aws-gamelift");
41
41
  const cdk = require("aws-cdk-lib/core");
42
+ const helpers_internal_1 = require("aws-cdk-lib/core/lib/helpers-internal");
42
43
  const metadata_resource_1 = require("aws-cdk-lib/core/lib/metadata-resource");
43
44
  const prop_injectable_1 = require("aws-cdk-lib/core/lib/prop-injectable");
44
45
  /**
45
46
  * Base class for new and imported GameLift Alias.
46
47
  */
47
48
  class AliasBase extends cdk.Resource {
48
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-gamelift-alpha.AliasBase", version: "2.235.0-alpha.0" };
49
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-gamelift-alpha.AliasBase", version: "2.236.0-alpha.0" };
49
50
  /**
50
51
  * The ARN to put into the destination field of a game session queue
51
52
  */
@@ -76,15 +77,22 @@ let Alias = (() => {
76
77
  let _classExtraInitializers = [];
77
78
  let _classThis;
78
79
  let _classSuper = AliasBase;
80
+ let _instanceExtraInitializers = [];
81
+ let _get_aliasId_decorators;
82
+ let _get_aliasArn_decorators;
79
83
  var Alias = class extends _classSuper {
80
84
  static { _classThis = this; }
81
85
  static {
82
86
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
87
+ _get_aliasId_decorators = [helpers_internal_1.memoizedGetter];
88
+ _get_aliasArn_decorators = [helpers_internal_1.memoizedGetter];
89
+ __esDecorate(this, null, _get_aliasId_decorators, { kind: "getter", name: "aliasId", static: false, private: false, access: { has: obj => "aliasId" in obj, get: obj => obj.aliasId }, metadata: _metadata }, null, _instanceExtraInitializers);
90
+ __esDecorate(this, null, _get_aliasArn_decorators, { kind: "getter", name: "aliasArn", static: false, private: false, access: { has: obj => "aliasArn" in obj, get: obj => obj.aliasArn }, metadata: _metadata }, null, _instanceExtraInitializers);
83
91
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
84
92
  Alias = _classThis = _classDescriptor.value;
85
93
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
86
94
  }
87
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-gamelift-alpha.Alias", version: "2.235.0-alpha.0" };
95
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-gamelift-alpha.Alias", version: "2.236.0-alpha.0" };
88
96
  /** Uniquely identifies this class. */
89
97
  static PROPERTY_INJECTION_ID = '@aws-cdk.aws-gamelift-alpha.Alias';
90
98
  /**
@@ -137,18 +145,11 @@ let Alias = (() => {
137
145
  }
138
146
  return new Import(scope, id);
139
147
  }
140
- /**
141
- * The Identifier of the alias.
142
- */
143
- aliasId;
144
- /**
145
- * The ARN of the alias.
146
- */
147
- aliasArn;
148
148
  /**
149
149
  * A fleet that the alias points to.
150
150
  */
151
- fleet;
151
+ fleet = __runInitializers(this, _instanceExtraInitializers);
152
+ resource;
152
153
  constructor(scope, id, props) {
153
154
  super(scope, id, {
154
155
  physicalName: props.aliasName,
@@ -180,13 +181,17 @@ let Alias = (() => {
180
181
  if (props.terminalMessage && props.fleet) {
181
182
  throw new Error('Either a terminal message or a fleet must be binded to this Alias, not both.');
182
183
  }
183
- const resource = new aws_gamelift_1.CfnAlias(this, 'Resource', {
184
+ this.resource = new aws_gamelift_1.CfnAlias(this, 'Resource', {
184
185
  name: props.aliasName,
185
186
  description: props.description,
186
187
  routingStrategy: this.parseRoutingStrategy(props),
187
188
  });
188
- this.aliasId = this.getResourceNameAttribute(resource.ref);
189
- this.aliasArn = cdk.Stack.of(scope).formatArn({
189
+ }
190
+ get aliasId() {
191
+ return this.getResourceNameAttribute(this.resource.ref);
192
+ }
193
+ get aliasArn() {
194
+ return cdk.Stack.of(this).formatArn({
190
195
  service: 'gamelift',
191
196
  resource: 'alias',
192
197
  resourceName: this.aliasId,
@@ -212,4 +217,4 @@ let Alias = (() => {
212
217
  return Alias = _classThis;
213
218
  })();
214
219
  exports.Alias = Alias;
215
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxpYXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhbGlhcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyREFBb0Q7QUFDcEQsd0NBQXdDO0FBQ3hDLDhFQUE4RTtBQUM5RSwwRUFBMEU7QUErRjFFOztHQUVHO0FBQ0gsTUFBc0IsU0FBVSxTQUFRLEdBQUcsQ0FBQyxRQUFROztJQVdsRDs7T0FFRztJQUNILElBQVcseUJBQXlCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztLQUN0Qjs7QUFoQkgsOEJBaUJDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0lBRVUsS0FBSzs0QkFEakIsb0NBQWtCOzs7O3NCQUNRLFNBQVM7cUJBQWpCLFNBQVEsV0FBUzs7OztZQUFwQyw2S0F3SEM7Ozs7O1FBdkhDLHNDQUFzQztRQUMvQixNQUFNLENBQVUscUJBQXFCLEdBQVcsbUNBQW1DLENBQUM7UUFFM0Y7O1dBRUc7UUFDSCxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLE9BQWU7WUFDOUQsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1NBQ2xFO1FBRUQ7O1dBRUc7UUFDSCxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFFBQWdCO1lBQ2hFLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUNwRTtRQUVEOztXQUVHO1FBQ0gsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXNCOzs7Ozs7Ozs7O1lBQzdFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxD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LENBQUM7WUFDbEcsQ0FBQztZQUVELE1BQU0sUUFBUSxHQUFHLElBQUksdUJBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUM5QyxJQUFJLEVBQUUsS0FBSyxDQUFDLFNBQVM7Z0JBQ3JCLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztnQkFDOUIsZUFBZSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUM7YUFDbEQsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzNELElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDO2dCQUM1QyxPQUFPLEVBQUUsVUFBVTtnQkFDbkIsUUFBUSxFQUFFLE9BQU87Z0JBQ2pCLFlBQVksRUFBRSxJQUFJLENBQUMsT0FBTztnQkFDMUIsU0FBUyxFQUFFLEdBQUcsQ0FBQyxTQUFTLENBQUMsbUJBQW1CO2FBQzdDLENBQUMsQ0FBQztTQUNKO1FBRU8sb0JBQW9CLENBQUMsS0FBaUI7WUFDNUMsSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFHLENBQUM7Z0JBQ2pCLE9BQU87b0JBQ0wsT0FBTyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTztvQkFDNUIsSUFBSSxFQUFFLFFBQVE7aUJBQ2YsQ0FBQztZQUNKLENBQUM7WUFDRCxPQUFPO2dCQUNMLE9BQU8sRUFBRSxLQUFLLENBQUMsZUFBZTtnQkFDOUIsSUFBSSxFQUFFLFVBQVU7YUFDakIsQ0FBQztTQUNIOztZQXZIVSx1REFBSzs7Ozs7QUFBTCxzQkFBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENmbkFsaWFzIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWdhbWVsaWZ0JztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgcHJvcGVydHlJbmplY3RhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvcHJvcC1pbmplY3RhYmxlJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgSUZsZWV0IH0gZnJvbSAnLi9mbGVldC1iYXNlJztcbmltcG9ydCB7IElHYW1lU2Vzc2lvblF1ZXVlRGVzdGluYXRpb24gfSBmcm9tICcuL2dhbWUtc2Vzc2lvbi1xdWV1ZSc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIEdhbWVsaWZ0IEFsaWFzIGZvciBhIEdhbWVsaWZ0IGZsZWV0IGRlc3RpbmF0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElBbGlhcyBleHRlbmRzIGNkay5JUmVzb3VyY2UsIElHYW1lU2Vzc2lvblF1ZXVlRGVzdGluYXRpb24ge1xuICAvKipcbiAgICogVGhlIElkZW50aWZpZXIgb2YgdGhlIGFsaWFzLlxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBhbGlhc0lkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIGFsaWFzLlxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBhbGlhc0Fybjogc3RyaW5nO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGBnYW1lbGlmdC5BbGlhc2AuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWxpYXNPcHRpb25zIHtcbiAgLyoqXG4gICAqIERlc2NyaXB0aW9uIGZvciB0aGUgYWxpYXNcbiAgICpcbiAgICogQGRlZmF1bHQgTm8gZGVzY3JpcHRpb25cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEEgZnVsbCBzcGVjaWZpY2F0aW9uIG9mIGFuIGFsaWFzIHRoYXQgY2FuIGJlIHVzZWQgdG8gaW1wb3J0IGl0IGZsdWVudGx5IGludG8gdGhlIENESyBhcHBsaWNhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbGlhc0F0dHJpYnV0ZXMge1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgYWxpYXNcbiAgICpcbiAgICogQXQgbGVhc3Qgb25lIG9mIGBhbGlhc0FybmAgYW5kIGBhbGlhc0lkYCBtdXN0IGJlIHByb3ZpZGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBkZXJpdmVkIGZyb20gYGFsaWFzSWRgLlxuICAgKi9cbiAgcmVhZG9ubHkgYWxpYXNBcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBpZGVudGlmaWVyIG9mIHRoZSBhbGlhc1xuICAgKlxuICAgKiBBdCBsZWFzdCBvbmUgb2YgYGFsaWFzSWRgIGFuZCBgYWxpYXNBcm5gICBtdXN0IGJlIHByb3ZpZGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBkZXJpdmVkIGZyb20gYGFsaWFzQXJuYC5cbiAgICovXG4gIHJlYWRvbmx5IGFsaWFzSWQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYSBuZXcgRmxlZXQgYWxpYXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbGlhc1Byb3BzIHtcbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhpcyBhbGlhc1xuICAgKi9cbiAgcmVhZG9ubHkgYWxpYXNOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgaHVtYW4tcmVhZGFibGUgZGVzY3JpcHRpb24gb2YgdGhlIGFsaWFzXG4gICAqXG4gICAqIEBkZWZhdWx0IG5vIGRlc2NyaXB0aW9uXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogQSBmbGVldCB0aGF0IHRoZSBhbGlhcyBwb2ludHMgdG8uXG4gICAqIElmIHNwZWNpZmllZCwgdGhlIGFsaWFzIHJlc29sdmVzIHRvIG9uZSBzcGVjaWZpYyBmbGVldC5cbiAgICpcbiAgICogQXQgbGVhc3Qgb25lIG9mIGBmbGVldGAgYW5kIGB0ZXJtaW5hbE1lc3NhZ2VgIG11c3QgYmUgcHJvdmlkZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IG5vIGZsZWV0IHRoYXQgdGhlIGFsaWFzIHBvaW50cyB0by5cbiAgICovXG4gIHJlYWRvbmx5IGZsZWV0PzogSUZsZWV0O1xuXG4gIC8qKlxuICAgKiBUaGUgbWVzc2FnZSB0ZXh0IHRvIGJlIHVzZWQgd2l0aCBhIHRlcm1pbmFsIHJvdXRpbmcgc3RyYXRlZ3kuXG4gICAqXG4gICAqIEF0IGxlYXN0IG9uZSBvZiBgZmxlZXRgIGFuZCBgdGVybWluYWxNZXNzYWdlYCBtdXN0IGJlIHByb3ZpZGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBubyB0ZXJtaW5hbCBtZXNzYWdlXG4gICAqL1xuICByZWFkb25seSB0ZXJtaW5hbE1lc3NhZ2U/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgbmV3IGFuZCBpbXBvcnRlZCBHYW1lTGlmdCBBbGlhcy5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFsaWFzQmFzZSBleHRlbmRzIGNkay5SZXNvdXJjZSBpbXBsZW1lbnRzIElBbGlhcyB7XG4gIC8qKlxuICAgKiBUaGUgSWRlbnRpZmllciBvZiB0aGUgYWxpYXMuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgYWxpYXNJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBhbGlhc1xuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGFsaWFzQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBBUk4gdG8gcHV0IGludG8gdGhlIGRlc3RpbmF0aW9uIGZpZWxkIG9mIGEgZ2FtZSBzZXNzaW9uIHF1ZXVlXG4gICAqL1xuICBwdWJsaWMgZ2V0IHJlc291cmNlQXJuRm9yRGVzdGluYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuYWxpYXNBcm47XG4gIH1cbn1cblxuLyoqXG4gKiBBIEFtYXpvbiBHYW1lTGlmdCBhbGlhcyBpcyB1c2VkIHRvIGFic3RyYWN0IGEgZmxlZXQgZGVzaWduYXRpb24uXG4gKiBGbGVldCBkZXNpZ25hdGlvbnMgdGVsbCBHYW1lTGlmdCB3aGVyZSB0byBzZWFyY2ggZm9yIGF2YWlsYWJsZSByZXNvdXJjZXMgd2hlbiBjcmVhdGluZyBuZXcgZ2FtZSBzZXNzaW9ucyBmb3IgcGxheWVycy5cbiAqIFVzZSBhbGlhc2VzIGluc3RlYWQgb2Ygc3BlY2lmaWMgZmxlZXQgSURzIHRvIHNlYW1sZXNzbHkgc3dpdGNoIHBsYXllciB0cmFmZmljIGZyb20gb25lIGZsZWV0IHRvIGFub3RoZXIgYnkgY2hhbmdpbmcgdGhlIGFsaWFzJ3MgdGFyZ2V0IGxvY2F0aW9uLlxuICpcbiAqIEFsaWFzZXMgYXJlIHVzZWZ1bCBpbiBnYW1lcyB0aGF0IGRvbid0IHVzZSBxdWV1ZXMuXG4gKiBTd2l0Y2hpbmcgZmxlZXRzIGluIGEgcXVldWUgaXMgYSBzaW1wbGUgbWF0dGVyIG9mIGNyZWF0aW5nIGEgbmV3IGZsZWV0LCBhZGRpbmcgaXQgdG8gdGhlIHF1ZXVlLCBhbmQgcmVtb3ZpbmcgdGhlIG9sZCBmbGVldCwgbm9uZSBvZiB3aGljaCBpcyB2aXNpYmxlIHRvIHBsYXllcnMuXG4gKiBJbiBjb250cmFzdCwgZ2FtZSBjbGllbnRzIHRoYXQgZG9uJ3QgdXNlIHF1ZXVlcyBtdXN0IHNwZWNpZnkgd2hpY2ggZmxlZXQgdG8gdXNlIHdoZW4gY29tbXVuaWNhdGluZyB3aXRoIHRoZSBHYW1lTGlmdCBzZXJ2aWNlLlxuICogV2l0aG91dCBhbGlhc2VzLCBhIGZsZWV0IHN3aXRjaCByZXF1aXJlcyB1cGRhdGVzIHRvIHlvdXIgZ2FtZSBjb2RlIGFuZCBwb3NzaWJseSBkaXN0cmlidXRpb24gb2YgYW4gdXBkYXRlZCBnYW1lIGNsaWVudHMgdG8gcGxheWVycy5cbiAqXG4gKiBXaGVuIHVwZGF0aW5nIHRoZSBmbGVldC1pZCBhbiBhbGlhcyBwb2ludHMgdG8sIHRoZXJlIGlzIGEgdHJhbnNpdGlvbiBwZXJpb2Qgb2YgdXAgdG8gMiBtaW51dGVzIHdoZXJlIGdhbWUgc2Vzc2lvbnMgb24gdGhlIGFsaWFzIG1heSBlbmQgdXAgb24gdGhlIG9sZCBmbGVldC5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nYW1lbGlmdC9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvYWxpYXNlcy1jcmVhdGluZy5odG1sXG4gKlxuICogQHJlc291cmNlIEFXUzo6R2FtZUxpZnQ6OkFsaWFzXG4gKi9cbkBwcm9wZXJ0eUluamVjdGFibGVcbmV4cG9ydCBjbGFzcyBBbGlhcyBleHRlbmRzIEFsaWFzQmFzZSB7XG4gIC8qKiBVbmlxdWVseSBpZGVudGlmaWVzIHRoaXMgY2xhc3MuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPUEVSVFlfSU5KRUNUSU9OX0lEOiBzdHJpbmcgPSAnQGF3cy1jZGsuYXdzLWdhbWVsaWZ0LWFscGhhLkFsaWFzJztcblxuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIGFsaWFzIGZyb20gaXRzIGlkZW50aWZpZXIuXG4gICAqL1xuICBzdGF0aWMgZnJvbUFsaWFzSWQoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgYWxpYXNJZDogc3RyaW5nKTogSUFsaWFzIHtcbiAgICByZXR1cm4gdGhpcy5mcm9tQWxpYXNBdHRyaWJ1dGVzKHNjb3BlLCBpZCwgeyBhbGlhc0lkOiBhbGlhc0lkIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydCBhbiBleGlzdGluZyBhbGlhcyBmcm9tIGl0cyBBUk4uXG4gICAqL1xuICBzdGF0aWMgZnJvbUFsaWFzQXJuKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGFsaWFzQXJuOiBzdHJpbmcpOiBJQWxpYXMge1xuICAgIHJldHVybiB0aGlzLmZyb21BbGlhc0F0dHJpYnV0ZXMoc2NvcGUsIGlkLCB7IGFsaWFzQXJuOiBhbGlhc0FybiB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnQgYW4gZXhpc3RpbmcgYWxpYXMgZnJvbSBpdHMgYXR0cmlidXRlcy5cbiAgICovXG4gIHN0YXRpYyBmcm9tQWxpYXNBdHRyaWJ1dGVzKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGF0dHJzOiBBbGlhc0F0dHJpYnV0ZXMpOiBJQWxpYXMge1xuICAgIGlmICghYXR0cnMuYWxpYXNJZCAmJiAhYXR0cnMuYWxpYXNBcm4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRWl0aGVyIGFsaWFzSWQgb3IgYWxpYXNBcm4gbXVzdCBiZSBwcm92aWRlZCBpbiBBbGlhc0F0dHJpYnV0ZXMnKTtcbiAgICB9XG4gICAgY29uc3QgYWxpYXNJZCA9IGF0dHJzLmFsaWFzSWQgPz9cbiAgICAgIGNkay5TdGFjay5vZihzY29wZSkuc3BsaXRBcm4oYXR0cnMuYWxpYXNBcm4hLCBjZGsuQXJuRm9ybWF0LlNMQVNIX1JFU09VUkNFX05BTUUpLnJlc291cmNlTmFtZTtcblxuICAgIGlmICghYWxpYXNJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBhbGlhcyBpZGVudGlmaWVyIGZvdW5kIGluIEFSTjogJyR7YXR0cnMuYWxpYXNBcm59J2ApO1xuICAgIH1cblxuICAgIGNvbnN0IGFsaWFzQXJuID0gYXR0cnMuYWxpYXNBcm4gPz8gY2RrLlN0YWNrLm9mKHNjb3BlKS5mb3JtYXRBcm4oe1xuICAgICAgc2VydmljZTogJ2dhbWVsaWZ0JyxcbiAgICAgIHJlc291cmNlOiAnYWxpYXMnLFxuICAgICAgcmVzb3VyY2VOYW1lOiBhdHRycy5hbGlhc0lkLFxuICAgICAgYXJuRm9ybWF0OiBjZGsuQXJuRm9ybWF0LlNMQVNIX1JFU09VUkNFX05BTUUsXG4gICAgfSk7XG4gICAgY2xhc3MgSW1wb3J0IGV4dGVuZHMgQWxpYXNCYXNlIHtcbiAgICAgIHB1YmxpYyByZWFkb25seSBhbGlhc0lkID0gYWxpYXNJZCE7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgYWxpYXNBcm4gPSBhbGlhc0FybjtcblxuICAgICAgY29uc3RydWN0b3IoczogQ29uc3RydWN0LCBpOiBzdHJpbmcpIHtcbiAgICAgICAgc3VwZXIocywgaSwge1xuICAgICAgICAgIGVudmlyb25tZW50RnJvbUFybjogYWxpYXNBcm4sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbmV3IEltcG9ydChzY29wZSwgaWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBJZGVudGlmaWVyIG9mIHRoZSBhbGlhcy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBhbGlhc0lkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIGFsaWFzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGFsaWFzQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgZmxlZXQgdGhhdCB0aGUgYWxpYXMgcG9pbnRzIHRvLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGZsZWV0PzogSUZsZWV0O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBBbGlhc1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBwaHlzaWNhbE5hbWU6IHByb3BzLmFsaWFzTmFtZSxcbiAgICB9KTtcbiAgICAvLyBFbmhhbmNlZCBDREsgQW5hbHl0aWNzIFRlbGVtZXRyeVxuICAgIGFkZENvbnN0cnVjdE1ldGFkYXRhKHRoaXMsIHByb3BzKTtcblxuICAgIGlmICghY2RrLlRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5hbGlhc05hbWUpKSB7XG4gICAgICBpZiAocHJvcHMuYWxpYXNOYW1lLmxlbmd0aCA+IDEwMjQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBBbGlhcyBuYW1lIGNhbiBub3QgYmUgbG9uZ2VyIHRoYW4gMTAyNCBjaGFyYWN0ZXJzIGJ1dCBoYXMgJHtwcm9wcy5hbGlhc05hbWUubGVuZ3RofSBjaGFyYWN0ZXJzLmApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwcm9wcy5kZXNjcmlwdGlvbiAmJiAhY2RrLlRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5kZXNjcmlwdGlvbikpIHtcbiAgICAgIGlmIChwcm9wcy5kZXNjcmlwdGlvbi5sZW5ndGggPiAxMDI0KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgQWxpYXMgZGVzY3JpcHRpb24gY2FuIG5vdCBiZSBsb25nZXIgdGhhbiAxMDI0IGNoYXJhY3RlcnMgYnV0IGhhcyAke3Byb3BzLmRlc2NyaXB0aW9uLmxlbmd0aH0gY2hhcmFjdGVycy5gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIXByb3BzLnRlcm1pbmFsTWVzc2FnZSAmJiAhcHJvcHMuZmxlZXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRWl0aGVyIGEgdGVybWluYWwgbWVzc2FnZSBvciBhIGZsZWV0IG11c3QgYmUgYmluZGVkIHRvIHRoaXMgQWxpYXMuJyk7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLnRlcm1pbmFsTWVzc2FnZSAmJiBwcm9wcy5mbGVldCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFaXRoZXIgYSB0ZXJtaW5hbCBtZXNzYWdlIG9yIGEgZmxlZXQgbXVzdCBiZSBiaW5kZWQgdG8gdGhpcyBBbGlhcywgbm90IGJvdGguJyk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVzb3VyY2UgPSBuZXcgQ2ZuQWxpYXModGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgbmFtZTogcHJvcHMuYWxpYXNOYW1lLFxuICAgICAgZGVzY3JpcHRpb246IHByb3BzLmRlc2NyaXB0aW9uLFxuICAgICAgcm91dGluZ1N0cmF0ZWd5OiB0aGlzLnBhcnNlUm91dGluZ1N0cmF0ZWd5KHByb3BzKSxcbiAgICB9KTtcblxuICAgIHRoaXMuYWxpYXNJZCA9IHRoaXMuZ2V0UmVzb3VyY2VOYW1lQXR0cmlidXRlKHJlc291cmNlLnJlZik7XG4gICAgdGhpcy5hbGlhc0FybiA9IGNkay5TdGFjay5vZihzY29wZSkuZm9ybWF0QXJuKHtcbiAgICAgIHNlcnZpY2U6ICdnYW1lbGlmdCcsXG4gICAgICByZXNvdXJjZTogJ2FsaWFzJyxcbiAgICAgIHJlc291cmNlTmFtZTogdGhpcy5hbGlhc0lkLFxuICAgICAgYXJuRm9ybWF0OiBjZGsuQXJuRm9ybWF0LlNMQVNIX1JFU09VUkNFX05BTUUsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHBhcnNlUm91dGluZ1N0cmF0ZWd5KHByb3BzOiBBbGlhc1Byb3BzKTogQ2ZuQWxpYXMuUm91dGluZ1N0cmF0ZWd5UHJvcGVydHkge1xuICAgIGlmIChwcm9wcy5mbGVldCApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGZsZWV0SWQ6IHByb3BzLmZsZWV0LmZsZWV0SWQsXG4gICAgICAgIHR5cGU6ICdTSU1QTEUnLFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIG1lc3NhZ2U6IHByb3BzLnRlcm1pbmFsTWVzc2FnZSxcbiAgICAgIHR5cGU6ICdURVJNSU5BTCcsXG4gICAgfTtcbiAgfVxufVxuIl19
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxpYXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhbGlhcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyREFBb0Q7QUFDcEQsd0NBQXdDO0FBQ3hDLDRFQUF1RTtBQUN2RSw4RUFBOEU7QUFDOUUsMEVBQTBFO0FBK0YxRTs7R0FFRztBQUNILE1BQXNCLFNBQVUsU0FBUSxHQUFHLENBQUMsUUFBUTs7SUFXbEQ7O09BRUc7SUFDSCxJQUFXLHlCQUF5QjtRQUNsQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7S0FDdEI7O0FBaEJILDhCQWlCQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztJQUVVLEtBQUs7NEJBRGpCLG9DQUFrQjs7OztzQkFDUSxTQUFTOzs7O3FCQUFqQixTQUFRLFdBQVM7Ozs7dUNBNEZqQyxpQ0FBYzt3Q0FLZCxpQ0FBYztZQUpmLDRLQUFXLE9BQU8sNkRBRWpCO1lBR0QsK0tBQVcsUUFBUSw2REFPbEI7WUF6R0gsNktBdUhDOzs7OztRQXRIQyxzQ0FBc0M7UUFDL0IsTUFBTSxDQUFVLHFCQUFxQixHQUFXLG1DQUFtQyxDQUFDO1FBRTNGOztXQUVHO1FBQ0gsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxPQUFlO1lBQzlELE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztTQUNsRTtRQUVEOztXQUVHO1FBQ0gsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxRQUFnQjtZQUNoRSxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDcEU7UUFFRDs7V0FFRztRQUNILE1BQU0sQ0FBQyxtQkFBbUIs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ay1saWIvYXdzLWdhbWVsaWZ0JztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IG1lbW9pemVkR2V0dGVyIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvaGVscGVycy1pbnRlcm5hbCc7XG5pbXBvcnQgeyBhZGRDb25zdHJ1Y3RNZXRhZGF0YSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL21ldGFkYXRhLXJlc291cmNlJztcbmltcG9ydCB7IHByb3BlcnR5SW5qZWN0YWJsZSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL3Byb3AtaW5qZWN0YWJsZSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IElGbGVldCB9IGZyb20gJy4vZmxlZXQtYmFzZSc7XG5pbXBvcnQgeyBJR2FtZVNlc3Npb25RdWV1ZURlc3RpbmF0aW9uIH0gZnJvbSAnLi9nYW1lLXNlc3Npb24tcXVldWUnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBHYW1lbGlmdCBBbGlhcyBmb3IgYSBHYW1lbGlmdCBmbGVldCBkZXN0aW5hdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQWxpYXMgZXh0ZW5kcyBjZGsuSVJlc291cmNlLCBJR2FtZVNlc3Npb25RdWV1ZURlc3RpbmF0aW9uIHtcbiAgLyoqXG4gICAqIFRoZSBJZGVudGlmaWVyIG9mIHRoZSBhbGlhcy5cbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgYWxpYXNJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBhbGlhcy5cbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgYWxpYXNBcm46IHN0cmluZztcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBgZ2FtZWxpZnQuQWxpYXNgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFsaWFzT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBEZXNjcmlwdGlvbiBmb3IgdGhlIGFsaWFzXG4gICAqXG4gICAqIEBkZWZhdWx0IE5vIGRlc2NyaXB0aW9uXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBBIGZ1bGwgc3BlY2lmaWNhdGlvbiBvZiBhbiBhbGlhcyB0aGF0IGNhbiBiZSB1c2VkIHRvIGltcG9ydCBpdCBmbHVlbnRseSBpbnRvIHRoZSBDREsgYXBwbGljYXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWxpYXNBdHRyaWJ1dGVzIHtcbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIGFsaWFzXG4gICAqXG4gICAqIEF0IGxlYXN0IG9uZSBvZiBgYWxpYXNBcm5gIGFuZCBgYWxpYXNJZGAgbXVzdCBiZSBwcm92aWRlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgZGVyaXZlZCBmcm9tIGBhbGlhc0lkYC5cbiAgICovXG4gIHJlYWRvbmx5IGFsaWFzQXJuPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgaWRlbnRpZmllciBvZiB0aGUgYWxpYXNcbiAgICpcbiAgICogQXQgbGVhc3Qgb25lIG9mIGBhbGlhc0lkYCBhbmQgYGFsaWFzQXJuYCAgbXVzdCBiZSBwcm92aWRlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgZGVyaXZlZCBmcm9tIGBhbGlhc0FybmAuXG4gICAqL1xuICByZWFkb25seSBhbGlhc0lkPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGEgbmV3IEZsZWV0IGFsaWFzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWxpYXNQcm9wcyB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoaXMgYWxpYXNcbiAgICovXG4gIHJlYWRvbmx5IGFsaWFzTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGh1bWFuLXJlYWRhYmxlIGRlc2NyaXB0aW9uIG9mIHRoZSBhbGlhc1xuICAgKlxuICAgKiBAZGVmYXVsdCBubyBkZXNjcmlwdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgZmxlZXQgdGhhdCB0aGUgYWxpYXMgcG9pbnRzIHRvLlxuICAgKiBJZiBzcGVjaWZpZWQsIHRoZSBhbGlhcyByZXNvbHZlcyB0byBvbmUgc3BlY2lmaWMgZmxlZXQuXG4gICAqXG4gICAqIEF0IGxlYXN0IG9uZSBvZiBgZmxlZXRgIGFuZCBgdGVybWluYWxNZXNzYWdlYCBtdXN0IGJlIHByb3ZpZGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBubyBmbGVldCB0aGF0IHRoZSBhbGlhcyBwb2ludHMgdG8uXG4gICAqL1xuICByZWFkb25seSBmbGVldD86IElGbGVldDtcblxuICAvKipcbiAgICogVGhlIG1lc3NhZ2UgdGV4dCB0byBiZSB1c2VkIHdpdGggYSB0ZXJtaW5hbCByb3V0aW5nIHN0cmF0ZWd5LlxuICAgKlxuICAgKiBBdCBsZWFzdCBvbmUgb2YgYGZsZWV0YCBhbmQgYHRlcm1pbmFsTWVzc2FnZWAgbXVzdCBiZSBwcm92aWRlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgbm8gdGVybWluYWwgbWVzc2FnZVxuICAgKi9cbiAgcmVhZG9ubHkgdGVybWluYWxNZXNzYWdlPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIG5ldyBhbmQgaW1wb3J0ZWQgR2FtZUxpZnQgQWxpYXMuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBbGlhc0Jhc2UgZXh0ZW5kcyBjZGsuUmVzb3VyY2UgaW1wbGVtZW50cyBJQWxpYXMge1xuICAvKipcbiAgICogVGhlIElkZW50aWZpZXIgb2YgdGhlIGFsaWFzLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGFsaWFzSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgYWxpYXNcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBhbGlhc0Fybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIHRvIHB1dCBpbnRvIHRoZSBkZXN0aW5hdGlvbiBmaWVsZCBvZiBhIGdhbWUgc2Vzc2lvbiBxdWV1ZVxuICAgKi9cbiAgcHVibGljIGdldCByZXNvdXJjZUFybkZvckRlc3RpbmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmFsaWFzQXJuO1xuICB9XG59XG5cbi8qKlxuICogQSBBbWF6b24gR2FtZUxpZnQgYWxpYXMgaXMgdXNlZCB0byBhYnN0cmFjdCBhIGZsZWV0IGRlc2lnbmF0aW9uLlxuICogRmxlZXQgZGVzaWduYXRpb25zIHRlbGwgR2FtZUxpZnQgd2hlcmUgdG8gc2VhcmNoIGZvciBhdmFpbGFibGUgcmVzb3VyY2VzIHdoZW4gY3JlYXRpbmcgbmV3IGdhbWUgc2Vzc2lvbnMgZm9yIHBsYXllcnMuXG4gKiBVc2UgYWxpYXNlcyBpbnN0ZWFkIG9mIHNwZWNpZmljIGZsZWV0IElEcyB0byBzZWFtbGVzc2x5IHN3aXRjaCBwbGF5ZXIgdHJhZmZpYyBmcm9tIG9uZSBmbGVldCB0byBhbm90aGVyIGJ5IGNoYW5naW5nIHRoZSBhbGlhcydzIHRhcmdldCBsb2NhdGlvbi5cbiAqXG4gKiBBbGlhc2VzIGFyZSB1c2VmdWwgaW4gZ2FtZXMgdGhhdCBkb24ndCB1c2UgcXVldWVzLlxuICogU3dpdGNoaW5nIGZsZWV0cyBpbiBhIHF1ZXVlIGlzIGEgc2ltcGxlIG1hdHRlciBvZiBjcmVhdGluZyBhIG5ldyBmbGVldCwgYWRkaW5nIGl0IHRvIHRoZSBxdWV1ZSwgYW5kIHJlbW92aW5nIHRoZSBvbGQgZmxlZXQsIG5vbmUgb2Ygd2hpY2ggaXMgdmlzaWJsZSB0byBwbGF5ZXJzLlxuICogSW4gY29udHJhc3QsIGdhbWUgY2xpZW50cyB0aGF0IGRvbid0IHVzZSBxdWV1ZXMgbXVzdCBzcGVjaWZ5IHdoaWNoIGZsZWV0IHRvIHVzZSB3aGVuIGNvbW11bmljYXRpbmcgd2l0aCB0aGUgR2FtZUxpZnQgc2VydmljZS5cbiAqIFdpdGhvdXQgYWxpYXNlcywgYSBmbGVldCBzd2l0Y2ggcmVxdWlyZXMgdXBkYXRlcyB0byB5b3VyIGdhbWUgY29kZSBhbmQgcG9zc2libHkgZGlzdHJpYnV0aW9uIG9mIGFuIHVwZGF0ZWQgZ2FtZSBjbGllbnRzIHRvIHBsYXllcnMuXG4gKlxuICogV2hlbiB1cGRhdGluZyB0aGUgZmxlZXQtaWQgYW4gYWxpYXMgcG9pbnRzIHRvLCB0aGVyZSBpcyBhIHRyYW5zaXRpb24gcGVyaW9kIG9mIHVwIHRvIDIgbWludXRlcyB3aGVyZSBnYW1lIHNlc3Npb25zIG9uIHRoZSBhbGlhcyBtYXkgZW5kIHVwIG9uIHRoZSBvbGQgZmxlZXQuXG4gKlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2FtZWxpZnQvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL2FsaWFzZXMtY3JlYXRpbmcuaHRtbFxuICpcbiAqIEByZXNvdXJjZSBBV1M6OkdhbWVMaWZ0OjpBbGlhc1xuICovXG5AcHJvcGVydHlJbmplY3RhYmxlXG5leHBvcnQgY2xhc3MgQWxpYXMgZXh0ZW5kcyBBbGlhc0Jhc2Uge1xuICAvKiogVW5pcXVlbHkgaWRlbnRpZmllcyB0aGlzIGNsYXNzLiAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBST1BFUlRZX0lOSkVDVElPTl9JRDogc3RyaW5nID0gJ0Bhd3MtY2RrLmF3cy1nYW1lbGlmdC1hbHBoYS5BbGlhcyc7XG5cbiAgLyoqXG4gICAqIEltcG9ydCBhbiBleGlzdGluZyBhbGlhcyBmcm9tIGl0cyBpZGVudGlmaWVyLlxuICAgKi9cbiAgc3RhdGljIGZyb21BbGlhc0lkKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGFsaWFzSWQ6IHN0cmluZyk6IElBbGlhcyB7XG4gICAgcmV0dXJuIHRoaXMuZnJvbUFsaWFzQXR0cmlidXRlcyhzY29wZSwgaWQsIHsgYWxpYXNJZDogYWxpYXNJZCB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnQgYW4gZXhpc3RpbmcgYWxpYXMgZnJvbSBpdHMgQVJOLlxuICAgKi9cbiAgc3RhdGljIGZyb21BbGlhc0FybihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBhbGlhc0Fybjogc3RyaW5nKTogSUFsaWFzIHtcbiAgICByZXR1cm4gdGhpcy5mcm9tQWxpYXNBdHRyaWJ1dGVzKHNjb3BlLCBpZCwgeyBhbGlhc0FybjogYWxpYXNBcm4gfSk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIGFsaWFzIGZyb20gaXRzIGF0dHJpYnV0ZXMuXG4gICAqL1xuICBzdGF0aWMgZnJvbUFsaWFzQXR0cmlidXRlcyhzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBhdHRyczogQWxpYXNBdHRyaWJ1dGVzKTogSUFsaWFzIHtcbiAgICBpZiAoIWF0dHJzLmFsaWFzSWQgJiYgIWF0dHJzLmFsaWFzQXJuKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0VpdGhlciBhbGlhc0lkIG9yIGFsaWFzQXJuIG11c3QgYmUgcHJvdmlkZWQgaW4gQWxpYXNBdHRyaWJ1dGVzJyk7XG4gICAgfVxuICAgIGNvbnN0IGFsaWFzSWQgPSBhdHRycy5hbGlhc0lkID8/XG4gICAgICBjZGsuU3RhY2sub2Yoc2NvcGUpLnNwbGl0QXJuKGF0dHJzLmFsaWFzQXJuISwgY2RrLkFybkZvcm1hdC5TTEFTSF9SRVNPVVJDRV9OQU1FKS5yZXNvdXJjZU5hbWU7XG5cbiAgICBpZiAoIWFsaWFzSWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gYWxpYXMgaWRlbnRpZmllciBmb3VuZCBpbiBBUk46ICcke2F0dHJzLmFsaWFzQXJufSdgKTtcbiAgICB9XG5cbiAgICBjb25zdCBhbGlhc0FybiA9IGF0dHJzLmFsaWFzQXJuID8/IGNkay5TdGFjay5vZihzY29wZSkuZm9ybWF0QXJuKHtcbiAgICAgIHNlcnZpY2U6ICdnYW1lbGlmdCcsXG4gICAgICByZXNvdXJjZTogJ2FsaWFzJyxcbiAgICAgIHJlc291cmNlTmFtZTogYXR0cnMuYWxpYXNJZCxcbiAgICAgIGFybkZvcm1hdDogY2RrLkFybkZvcm1hdC5TTEFTSF9SRVNPVVJDRV9OQU1FLFxuICAgIH0pO1xuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIEFsaWFzQmFzZSB7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgYWxpYXNJZCA9IGFsaWFzSWQhO1xuICAgICAgcHVibGljIHJlYWRvbmx5IGFsaWFzQXJuID0gYWxpYXNBcm47XG5cbiAgICAgIGNvbnN0cnVjdG9yKHM6IENvbnN0cnVjdCwgaTogc3RyaW5nKSB7XG4gICAgICAgIHN1cGVyKHMsIGksIHtcbiAgICAgICAgICBlbnZpcm9ubWVudEZyb21Bcm46IGFsaWFzQXJuLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIGZsZWV0IHRoYXQgdGhlIGFsaWFzIHBvaW50cyB0by5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBmbGVldD86IElGbGVldDtcblxuICBwcml2YXRlIHJlc291cmNlOiBDZm5BbGlhcztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQWxpYXNQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgcGh5c2ljYWxOYW1lOiBwcm9wcy5hbGlhc05hbWUsXG4gICAgfSk7XG4gICAgLy8gRW5oYW5jZWQgQ0RLIEFuYWx5dGljcyBUZWxlbWV0cnlcbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG5cbiAgICBpZiAoIWNkay5Ub2tlbi5pc1VucmVzb2x2ZWQocHJvcHMuYWxpYXNOYW1lKSkge1xuICAgICAgaWYgKHByb3BzLmFsaWFzTmFtZS5sZW5ndGggPiAxMDI0KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgQWxpYXMgbmFtZSBjYW4gbm90IGJlIGxvbmdlciB0aGFuIDEwMjQgY2hhcmFjdGVycyBidXQgaGFzICR7cHJvcHMuYWxpYXNOYW1lLmxlbmd0aH0gY2hhcmFjdGVycy5gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocHJvcHMuZGVzY3JpcHRpb24gJiYgIWNkay5Ub2tlbi5pc1VucmVzb2x2ZWQocHJvcHMuZGVzY3JpcHRpb24pKSB7XG4gICAgICBpZiAocHJvcHMuZGVzY3JpcHRpb24ubGVuZ3RoID4gMTAyNCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEFsaWFzIGRlc2NyaXB0aW9uIGNhbiBub3QgYmUgbG9uZ2VyIHRoYW4gMTAyNCBjaGFyYWN0ZXJzIGJ1dCBoYXMgJHtwcm9wcy5kZXNjcmlwdGlvbi5sZW5ndGh9IGNoYXJhY3RlcnMuYCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFwcm9wcy50ZXJtaW5hbE1lc3NhZ2UgJiYgIXByb3BzLmZsZWV0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0VpdGhlciBhIHRlcm1pbmFsIG1lc3NhZ2Ugb3IgYSBmbGVldCBtdXN0IGJlIGJpbmRlZCB0byB0aGlzIEFsaWFzLicpO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy50ZXJtaW5hbE1lc3NhZ2UgJiYgcHJvcHMuZmxlZXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRWl0aGVyIGEgdGVybWluYWwgbWVzc2FnZSBvciBhIGZsZWV0IG11c3QgYmUgYmluZGVkIHRvIHRoaXMgQWxpYXMsIG5vdCBib3RoLicpO1xuICAgIH1cblxuICAgIHRoaXMucmVzb3VyY2UgPSBuZXcgQ2ZuQWxpYXModGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgbmFtZTogcHJvcHMuYWxpYXNOYW1lLFxuICAgICAgZGVzY3JpcHRpb246IHByb3BzLmRlc2NyaXB0aW9uLFxuICAgICAgcm91dGluZ1N0cmF0ZWd5OiB0aGlzLnBhcnNlUm91dGluZ1N0cmF0ZWd5KHByb3BzKSxcbiAgICB9KTtcbiAgfVxuXG4gIEBtZW1vaXplZEdldHRlclxuICBwdWJsaWMgZ2V0IGFsaWFzSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5nZXRSZXNvdXJjZU5hbWVBdHRyaWJ1dGUodGhpcy5yZXNvdXJjZS5yZWYpO1xuICB9XG5cbiAgQG1lbW9pemVkR2V0dGVyXG4gIHB1YmxpYyBnZXQgYWxpYXNBcm4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gY2RrLlN0YWNrLm9mKHRoaXMpLmZvcm1hdEFybih7XG4gICAgICBzZXJ2aWNlOiAnZ2FtZWxpZnQnLFxuICAgICAgcmVzb3VyY2U6ICdhbGlhcycsXG4gICAgICByZXNvdXJjZU5hbWU6IHRoaXMuYWxpYXNJZCxcbiAgICAgIGFybkZvcm1hdDogY2RrLkFybkZvcm1hdC5TTEFTSF9SRVNPVVJDRV9OQU1FLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZVJvdXRpbmdTdHJhdGVneShwcm9wczogQWxpYXNQcm9wcyk6IENmbkFsaWFzLlJvdXRpbmdTdHJhdGVneVByb3BlcnR5IHtcbiAgICBpZiAocHJvcHMuZmxlZXQgKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBmbGVldElkOiBwcm9wcy5mbGVldC5mbGVldElkLFxuICAgICAgICB0eXBlOiAnU0lNUExFJyxcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBtZXNzYWdlOiBwcm9wcy50ZXJtaW5hbE1lc3NhZ2UsXG4gICAgICB0eXBlOiAnVEVSTUlOQUwnLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -49,14 +49,6 @@ export declare class BuildFleet extends FleetBase implements IBuildFleet {
49
49
  * Import an existing fleet from its ARN.
50
50
  */
51
51
  static fromBuildFleetArn(scope: Construct, id: string, buildFleetArn: string): IBuildFleet;
52
- /**
53
- * The Identifier of the fleet.
54
- */
55
- readonly fleetId: string;
56
- /**
57
- * The ARN of the fleet.
58
- */
59
- readonly fleetArn: string;
60
52
  /**
61
53
  * The build content of the fleet
62
54
  */
@@ -70,7 +62,10 @@ export declare class BuildFleet extends FleetBase implements IBuildFleet {
70
62
  */
71
63
  readonly grantPrincipal: iam.IPrincipal;
72
64
  private readonly ingressRules;
65
+ private resource;
73
66
  constructor(scope: Construct, id: string, props: BuildFleetProps);
67
+ get fleetId(): string;
68
+ get fleetArn(): string;
74
69
  /**
75
70
  * Adds an ingress rule to allow inbound traffic to access game sessions on this fleet.
76
71
  *
@@ -40,6 +40,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
40
40
  const aws_gamelift_1 = require("aws-cdk-lib/aws-gamelift");
41
41
  const iam = require("aws-cdk-lib/aws-iam");
42
42
  const cdk = require("aws-cdk-lib/core");
43
+ const helpers_internal_1 = require("aws-cdk-lib/core/lib/helpers-internal");
43
44
  const metadata_resource_1 = require("aws-cdk-lib/core/lib/metadata-resource");
44
45
  const prop_injectable_1 = require("aws-cdk-lib/core/lib/prop-injectable");
45
46
  const fleet_base_1 = require("./fleet-base");
@@ -60,18 +61,24 @@ let BuildFleet = (() => {
60
61
  let _classThis;
61
62
  let _classSuper = fleet_base_1.FleetBase;
62
63
  let _instanceExtraInitializers = [];
64
+ let _get_fleetId_decorators;
65
+ let _get_fleetArn_decorators;
63
66
  let _addIngressRule_decorators;
64
67
  var BuildFleet = class extends _classSuper {
65
68
  static { _classThis = this; }
66
69
  static {
67
70
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
71
+ _get_fleetId_decorators = [helpers_internal_1.memoizedGetter];
72
+ _get_fleetArn_decorators = [helpers_internal_1.memoizedGetter];
68
73
  _addIngressRule_decorators = [(0, metadata_resource_1.MethodMetadata)()];
74
+ __esDecorate(this, null, _get_fleetId_decorators, { kind: "getter", name: "fleetId", static: false, private: false, access: { has: obj => "fleetId" in obj, get: obj => obj.fleetId }, metadata: _metadata }, null, _instanceExtraInitializers);
75
+ __esDecorate(this, null, _get_fleetArn_decorators, { kind: "getter", name: "fleetArn", static: false, private: false, access: { has: obj => "fleetArn" in obj, get: obj => obj.fleetArn }, metadata: _metadata }, null, _instanceExtraInitializers);
69
76
  __esDecorate(this, null, _addIngressRule_decorators, { kind: "method", name: "addIngressRule", static: false, private: false, access: { has: obj => "addIngressRule" in obj, get: obj => obj.addIngressRule }, metadata: _metadata }, null, _instanceExtraInitializers);
70
77
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
71
78
  BuildFleet = _classThis = _classDescriptor.value;
72
79
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
73
80
  }
74
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-gamelift-alpha.BuildFleet", version: "2.235.0-alpha.0" };
81
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-gamelift-alpha.BuildFleet", version: "2.236.0-alpha.0" };
75
82
  /** Uniquely identifies this class. */
76
83
  static PROPERTY_INJECTION_ID = '@aws-cdk.aws-gamelift-alpha.BuildFleet';
77
84
  /**
@@ -86,18 +93,10 @@ let BuildFleet = (() => {
86
93
  static fromBuildFleetArn(scope, id, buildFleetArn) {
87
94
  return this.fromFleetAttributes(scope, id, { fleetArn: buildFleetArn });
88
95
  }
89
- /**
90
- * The Identifier of the fleet.
91
- */
92
- fleetId = __runInitializers(this, _instanceExtraInitializers);
93
- /**
94
- * The ARN of the fleet.
95
- */
96
- fleetArn;
97
96
  /**
98
97
  * The build content of the fleet
99
98
  */
100
- content;
99
+ content = __runInitializers(this, _instanceExtraInitializers);
101
100
  /**
102
101
  * The IAM role GameLift assumes by fleet instances to access AWS ressources.
103
102
  */
@@ -107,6 +106,7 @@ let BuildFleet = (() => {
107
106
  */
108
107
  grantPrincipal;
109
108
  ingressRules = [];
109
+ resource;
110
110
  constructor(scope, id, props) {
111
111
  super(scope, id, {
112
112
  physicalName: props.fleetName,
@@ -156,7 +156,7 @@ let BuildFleet = (() => {
156
156
  assumedBy: new iam.CompositePrincipal(new iam.ServicePrincipal('gamelift.amazonaws.com'), new iam.ServicePrincipal('ec2.amazonaws.com')),
157
157
  });
158
158
  this.grantPrincipal = this.role;
159
- const resource = new aws_gamelift_1.CfnFleet(this, 'Resource', {
159
+ this.resource = new aws_gamelift_1.CfnFleet(this, 'Resource', {
160
160
  buildId: this.content.buildId,
161
161
  certificateConfiguration: {
162
162
  certificateType: props.useCertificate ? 'GENERATED' : 'DISABLED',
@@ -177,8 +177,12 @@ let BuildFleet = (() => {
177
177
  resourceCreationLimitPolicy: this.parseResourceCreationLimitPolicy(props),
178
178
  runtimeConfiguration: this.parseRuntimeConfiguration(props),
179
179
  });
180
- this.fleetId = this.getResourceNameAttribute(resource.ref);
181
- this.fleetArn = cdk.Stack.of(scope).formatArn({
180
+ }
181
+ get fleetId() {
182
+ return this.getResourceNameAttribute(this.resource.ref);
183
+ }
184
+ get fleetArn() {
185
+ return cdk.Stack.of(this).formatArn({
182
186
  service: 'gamelift',
183
187
  resource: 'fleet',
184
188
  resourceName: this.fleetId,
@@ -232,4 +236,4 @@ let BuildFleet = (() => {
232
236
  return BuildFleet = _classThis;
233
237
  })();
234
238
  exports.BuildFleet = BuildFleet;
235
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtZmxlZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJidWlsZC1mbGVldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyREFBb0Q7QUFDcEQsMkNBQTJDO0FBQzNDLHdDQUF3QztBQUN4Qyw4RUFBOEY7QUFDOUYsMEVBQTBFO0FBRzFFLDZDQUE2RDtBQThCN0Q7Ozs7Ozs7OztHQVNHO0lBRVUsVUFBVTs0QkFEdEIsb0NBQWtCOzs7O3NCQUNhLHNCQUFTOzs7MEJBQWpCLFNBQVEsV0FBUzs7OzswQ0FxSXRDLElBQUEsa0NBQWMsR0FBRTtZQUNqQiw2TEFBTyxjQUFjLDZEQUtwQjtZQTNJSCw2S0FrS0M7Ozs7O1FBaktDLHNDQUFzQztRQUMvQixNQUFNLENBQVUscUJBQXFCLEdBQVcsd0NBQXdDLENBQUM7UUFFaEc7O1dBRUc7UUFDSCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsWUFBb0I7WUFDeEUsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZFO1FBRUQ7O1dBRUc7UUFDSCxNQUFNLENBQUMsaUJBQWlCLENBQUMsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsYUFBcUI7WUFDMUUsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDO1NBQ3pFO1FBRUQ7O1dBRUc7UUFDYSxPQUFPLEdBckJaLG1EQUFVLENBcUJXO1FBRWhDOztXQUVHO1FBQ2EsUUFBUSxDQUFTO1FBRWpDOztXQUVHO1FBQ2EsT0FBTyxDQUFTO1FBRWhDOztXQUVHO1FBQ2EsSUFBSSxDQUFZO1FBRWhDOztXQUVHO1FBQ2EsY0FBYyxDQUFpQjtRQUU5QixZQUFZLEdBQWtCLEVBQUUsQ0FBQztRQUVsRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXNCO1lBQzlELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO2dCQUNmLFlBQVksRUFBRSxLQUFLLENBQUMsU0FBUzthQUM5QixDQUFDLENBQUM7Ozs7OzttREFoRE0sVUFBVTs7OztZQWlEbkIsbUNBQW1DO1lBQ25DLElBQUEsd0NBQW9CLEVBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBRWxDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztnQkFDN0MsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxJQUFJLEVBQUUsQ0FBQztvQkFDbEMsTUFBTSxJQUFJLEtBQUssQ0FBQyw2REFBNkQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLGNBQWMsQ0FBQyxDQUFDO2dCQUNySCxDQUFDO1lBQ0gsQ0FBQztZQUVELElBQUksS0FBSyxDQUFDLFdBQVcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO2dCQUNwRSxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLElBQUksRUFBRSxDQUFDO29CQUNwQyxNQUFNLElBQUksS0FBSyxDQUFDLG9FQUFvRSxLQUFLLENBQUMsV0FBVyxDQUFDLE1BQU0sY0FBYyxDQUFDLENBQUM7Z0JBQzlILENBQUM7WUFDSCxDQUFDO1lBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZDLE1BQU0sSUFBSSxLQUFLLENBQUMsc0ZBQXNGLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQ3pILENBQUM7WUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDdkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxzRkFBc0YsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDekgsQ0FBQztZQUVELElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNsQixJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDMUMsQ0FBQztZQUVELG9CQUFvQjtZQUNwQixJQUFJLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRSxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7Z0JBQ3JELE1BQU0sSUFBSSxLQUFLLENBQUMsMkRBQTJELEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUN2RyxDQUFDO1lBQ0QsQ0FBQyxLQUFLLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFFckUsd0JBQXdCO1lBQ3hCLElBQUksS0FBSyxDQUFDLFlBQVksSUFBSSxLQUFLLENBQUMsWUFBWSxFQUFFLE1BQU0sR0FBRyxFQUFFLEVBQUUsQ0FBQztnQkFDMUQsTUFBTSxJQUFJLEtBQUssQ0FBQyw4REFBOEQsS0FBSyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQzdHLENBQUM7WUFDRCxDQUFDLEtBQUssQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUUzRSxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDN0IsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxJQUFJLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFO2dCQUMxRCxTQUFTLEVBQUUsSUFBSSxHQUFHLENBQUMsa0JBQWtCLENBQ25DLElBQUksR0FBRyxDQUFDLGdCQUFnQixDQUFDLHdCQUF3QixDQUFDLEVBQ2xELElBQUksR0FBRyxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLENBQUM7YUFDakQsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBRWhDLE1BQU0sUUFBUSxHQUFHLElBQUksdUJBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUM5QyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPO2dCQUM3Qix3QkFBd0IsRUFBRTtvQkFDeEIsZUFBZSxFQUFFLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQSxDQUFDLENBQUMsVUFBVTtpQkFDaEU7Z0JBQ0QsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO2dCQUM5QixtQkFBbUIsRUFBRSxLQUFLLENBQUMsZUFBZTtnQkFDMUMscUJBQXFCLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsQ0FBQztnQkFDaEYsZUFBZSxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFO2dCQUM5QyxTQUFTLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxXQUFXO2dCQUMvQyxlQUFlLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO2dCQUNsQyxTQUFTLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUM7Z0JBQ2pFLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMxQyxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDMUMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZO2dCQUN2Qiw4QkFBOEIsRUFBRSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxjQUFjO2dCQUMvRixtQkFBbUIsRUFBRSxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU87Z0JBQy9ELFNBQVMsRUFBRSxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSztnQkFDL0MsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLEtBQUssQ0FBQztnQkFDekUsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQzthQUM1RCxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDM0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBQzVDLE9BQU8sRUFBRSxVQUFVO2dCQUNuQixRQUFRLEVBQUUsT0FBTztnQkFDakIsWUFBWSxFQUFFLElBQUksQ0FBQyxPQUFPO2dCQUMxQixTQUFTLEVBQUUsR0FBRyxDQUFDLFNBQVMsQ0FBQyxtQkFBbUI7YUFDN0MsQ0FBQyxDQUFDO1NBQ0o7UUFFRDs7Ozs7V0FLRztRQUVJLGNBQWMsQ0FBQyxNQUFhLEVBQUUsSUFBVTs7Ozs7Ozs7Ozs7WUFDN0MsSUFBSSxDQUFDLHNCQUFzQixDQUFDO2dCQUMxQixNQUFNLEVBQUUsTUFBTTtnQkFDZCxJQUFJLEVBQUUsSUFBSTthQUNYLENBQUMsQ0FBQztTQUNKO1FBRU8sc0JBQXNCLENBQUMsV0FBd0I7WUFDckQsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sSUFBSSxFQUFFLEVBQUUsQ0FBQztnQkFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO1lBQ3pFLENBQUM7WUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUNyQztRQUVPLGlCQUFpQjtZQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDekQsT0FBTyxTQUFTLENBQUM7WUFDbkIsQ0FBQztZQUVELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUUvQyxTQUFTLGdCQUFnQixDQUFDLFdBQXdCO2dCQUNoRCxPQUFPO29CQUNMLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7b0JBQzVCLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7aUJBQy9CLENBQUM7WUFDSixDQUFDO1NBQ0Y7O1lBaktVLHVEQUFVOzs7OztBQUFWLGdDQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuRmxlZXQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZ2FtZWxpZnQnO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliL2NvcmUnO1xuaW1wb3J0IHsgYWRkQ29uc3RydWN0TWV0YWRhdGEsIE1ldGhvZE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgcHJvcGVydHlJbmplY3RhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvcHJvcC1pbmplY3RhYmxlJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgSUJ1aWxkIH0gZnJvbSAnLi9idWlsZCc7XG5pbXBvcnQgeyBGbGVldEJhc2UsIEZsZWV0UHJvcHMsIElGbGVldCB9IGZyb20gJy4vZmxlZXQtYmFzZSc7XG5pbXBvcnQgeyBQb3J0LCBJUGVlciwgSW5ncmVzc1J1bGUgfSBmcm9tICcuL2luZ3Jlc3MtcnVsZSc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIEdhbWVMaWZ0IEZsZWV0IHVzZWQgdG8gcnVuIGEgY3VzdG9tIGdhbWUgYnVpbGQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUJ1aWxkRmxlZXQgZXh0ZW5kcyBJRmxlZXQge31cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBhIG5ldyBHYW1lbGlmdCBidWlsZCBmbGVldFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkRmxlZXRQcm9wcyBleHRlbmRzIEZsZWV0UHJvcHMge1xuICAvKipcbiAgICogQSBidWlsZCB0byBiZSBkZXBsb3llZCBvbiB0aGUgZmxlZXQuXG4gICAqIFRoZSBidWlsZCBtdXN0IGhhdmUgYmVlbiBzdWNjZXNzZnVsbHkgdXBsb2FkZWQgdG8gQW1hem9uIEdhbWVMaWZ0IGFuZCBiZSBpbiBhIGBSRUFEWWAgc3RhdHVzLlxuICAgKlxuICAgKiBUaGlzIGZsZWV0IHNldHRpbmcgY2Fubm90IGJlIGNoYW5nZWQgb25jZSB0aGUgZmxlZXQgaXMgY3JlYXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGNvbnRlbnQ6IElCdWlsZDtcblxuICAvKipcbiAgICogVGhlIGFsbG93ZWQgSVAgYWRkcmVzcyByYW5nZXMgYW5kIHBvcnQgc2V0dGluZ3MgdGhhdCBhbGxvdyBpbmJvdW5kIHRyYWZmaWMgdG8gYWNjZXNzIGdhbWUgc2Vzc2lvbnMgb24gdGhpcyBmbGVldC5cbiAgICpcbiAgICogVGhpcyBwcm9wZXJ0eSBtdXN0IGJlIHNldCBiZWZvcmUgcGxheWVycyBjYW4gY29ubmVjdCB0byBnYW1lIHNlc3Npb25zLlxuICAgKlxuICAgKiBAZGVmYXVsdCBubyBpbmJvdW5kIHRyYWZmaWMgYWxsb3dlZFxuICAgKi9cbiAgcmVhZG9ubHkgaW5ncmVzc1J1bGVzPzogSW5ncmVzc1J1bGVbXTtcbn1cblxuLyoqXG4gKiBBIGZsZWV0IGNvbnRhaW5zIEFtYXpvbiBFbGFzdGljIENvbXB1dGUgQ2xvdWQgKEFtYXpvbiBFQzIpIGluc3RhbmNlcyB0aGF0IEdhbWVMaWZ0IGhvc3RzLlxuICogQSBmbGVldCB1c2VzIHRoZSBjb25maWd1cmF0aW9uIGFuZCBzY2FsaW5nIGxvZ2ljIHRoYXQgeW91IGRlZmluZSB0byBydW4geW91ciBnYW1lIHNlcnZlciBidWlsZC4gWW91IGNhbiB1c2UgYSBmbGVldCBkaXJlY3RseSB3aXRob3V0IGEgcXVldWUuXG4gKiBZb3UgY2FuIGFsc28gYXNzb2NpYXRlIG11bHRpcGxlIGZsZWV0cyB3aXRoIGEgR2FtZUxpZnQgcXVldWUuXG4gKlxuICogRm9yIGV4YW1wbGUsIHlvdSBjYW4gdXNlIFNwb3QgSW5zdGFuY2UgZmxlZXRzIGNvbmZpZ3VyZWQgd2l0aCB5b3VyIHByZWZlcnJlZCBsb2NhdGlvbnMsIGFsb25nIHdpdGggYSBiYWNrdXAgT24tRGVtYW5kIEluc3RhbmNlIGZsZWV0IHdpdGggdGhlIHNhbWUgbG9jYXRpb25zLlxuICogVXNpbmcgbXVsdGlwbGUgU3BvdCBJbnN0YW5jZSBmbGVldHMgb2YgZGlmZmVyZW50IGluc3RhbmNlIHR5cGVzIHJlZHVjZXMgdGhlIGNoYW5jZSBvZiBuZWVkaW5nIE9uLURlbWFuZCBJbnN0YW5jZSBwbGFjZW1lbnQuXG4gKlxuICogQHJlc291cmNlIEFXUzo6R2FtZUxpZnQ6OkZsZWV0XG4gKi9cbkBwcm9wZXJ0eUluamVjdGFibGVcbmV4cG9ydCBjbGFzcyBCdWlsZEZsZWV0IGV4dGVuZHMgRmxlZXRCYXNlIGltcGxlbWVudHMgSUJ1aWxkRmxlZXQge1xuICAvKiogVW5pcXVlbHkgaWRlbnRpZmllcyB0aGlzIGNsYXNzLiAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBST1BFUlRZX0lOSkVDVElPTl9JRDogc3RyaW5nID0gJ0Bhd3MtY2RrLmF3cy1nYW1lbGlmdC1hbHBoYS5CdWlsZEZsZWV0JztcblxuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIGZsZWV0IGZyb20gaXRzIGlkZW50aWZpZXIuXG4gICAqL1xuICBzdGF0aWMgZnJvbUJ1aWxkRmxlZXRJZChzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBidWlsZEZsZWV0SWQ6IHN0cmluZyk6IElCdWlsZEZsZWV0IHtcbiAgICByZXR1cm4gdGhpcy5mcm9tRmxlZXRBdHRyaWJ1dGVzKHNjb3BlLCBpZCwgeyBmbGVldElkOiBidWlsZEZsZWV0SWQgfSk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIGZsZWV0IGZyb20gaXRzIEFSTi5cbiAgICovXG4gIHN0YXRpYyBmcm9tQnVpbGRGbGVldEFybihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBidWlsZEZsZWV0QXJuOiBzdHJpbmcpOiBJQnVpbGRGbGVldCB7XG4gICAgcmV0dXJuIHRoaXMuZnJvbUZsZWV0QXR0cmlidXRlcyhzY29wZSwgaWQsIHsgZmxlZXRBcm46IGJ1aWxkRmxlZXRBcm4gfSk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIElkZW50aWZpZXIgb2YgdGhlIGZsZWV0LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGZsZWV0SWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgZmxlZXQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZmxlZXRBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGJ1aWxkIGNvbnRlbnQgb2YgdGhlIGZsZWV0XG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY29udGVudDogSUJ1aWxkO1xuXG4gIC8qKlxuICAgKiBUaGUgSUFNIHJvbGUgR2FtZUxpZnQgYXNzdW1lcyBieSBmbGVldCBpbnN0YW5jZXMgdG8gYWNjZXNzIEFXUyByZXNzb3VyY2VzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJvbGU6IGlhbS5JUm9sZTtcblxuICAvKipcbiAgICogVGhlIHByaW5jaXBhbCB0aGlzIEdhbWVMaWZ0IGZsZWV0IGlzIHVzaW5nLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGdyYW50UHJpbmNpcGFsOiBpYW0uSVByaW5jaXBhbDtcblxuICBwcml2YXRlIHJlYWRvbmx5IGluZ3Jlc3NSdWxlczogSW5ncmVzc1J1bGVbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBCdWlsZEZsZWV0UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHBoeXNpY2FsTmFtZTogcHJvcHMuZmxlZXROYW1lLFxuICAgIH0pO1xuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgaWYgKCFjZGsuVG9rZW4uaXNVbnJlc29sdmVkKHByb3BzLmZsZWV0TmFtZSkpIHtcbiAgICAgIGlmIChwcm9wcy5mbGVldE5hbWUubGVuZ3RoID4gMTAyNCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEZsZWV0IG5hbWUgY2FuIG5vdCBiZSBsb25nZXIgdGhhbiAxMDI0IGNoYXJhY3RlcnMgYnV0IGhhcyAke3Byb3BzLmZsZWV0TmFtZS5sZW5ndGh9IGNoYXJhY3RlcnMuYCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLmRlc2NyaXB0aW9uICYmICFjZGsuVG9rZW4uaXNVbnJlc29sdmVkKHByb3BzLmRlc2NyaXB0aW9uKSkge1xuICAgICAgaWYgKHByb3BzLmRlc2NyaXB0aW9uLmxlbmd0aCA+IDEwMjQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGbGVldCBkZXNjcmlwdGlvbiBjYW4gbm90IGJlIGxvbmdlciB0aGFuIDEwMjQgY2hhcmFjdGVycyBidXQgaGFzICR7cHJvcHMuZGVzY3JpcHRpb24ubGVuZ3RofSBjaGFyYWN0ZXJzLmApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwcm9wcy5taW5TaXplICYmIHByb3BzLm1pblNpemUgPCAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZSBtaW5pbXVtIG51bWJlciBvZiBpbnN0YW5jZXMgYWxsb3dlZCBpbiB0aGUgRmxlZXQgY2Fubm90IGJlIGxvd2VyIHRoYW4gMCwgZ2l2ZW4gJHtwcm9wcy5taW5TaXplfWApO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5tYXhTaXplICYmIHByb3BzLm1heFNpemUgPCAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZSBtYXhpbXVtIG51bWJlciBvZiBpbnN0YW5jZXMgYWxsb3dlZCBpbiB0aGUgRmxlZXQgY2Fubm90IGJlIGxvd2VyIHRoYW4gMCwgZ2l2ZW4gJHtwcm9wcy5tYXhTaXplfWApO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5wZWVyVnBjKSB7XG4gICAgICB0aGlzLndhcm5WcGNQZWVyaW5nQXV0aG9yaXphdGlvbnModGhpcyk7XG4gICAgfVxuXG4gICAgLy8gQWRkIGFsbCBsb2NhdGlvbnNcbiAgICBpZiAocHJvcHMubG9jYXRpb25zICYmIHByb3BzLmxvY2F0aW9ucz8ubGVuZ3RoID4gMTAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIG1vcmUgdGhhbiAxMDAgbG9jYXRpb25zIGFyZSBhbGxvd2VkIHBlciBmbGVldCwgZ2l2ZW4gJHtwcm9wcy5sb2NhdGlvbnMubGVuZ3RofWApO1xuICAgIH1cbiAgICAocHJvcHMubG9jYXRpb25zIHx8IFtdKS5mb3JFYWNoKHRoaXMuYWRkSW50ZXJuYWxMb2NhdGlvbi5iaW5kKHRoaXMpKTtcblxuICAgIC8vIEFkZCBhbGwgSW5ncmVzcyBydWxlc1xuICAgIGlmIChwcm9wcy5pbmdyZXNzUnVsZXMgJiYgcHJvcHMuaW5ncmVzc1J1bGVzPy5sZW5ndGggPiA1MCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBtb3JlIHRoYW4gNTAgaW5ncmVzcyBydWxlcyBhcmUgYWxsb3dlZCBwZXIgZmxlZXQsIGdpdmVuICR7cHJvcHMuaW5ncmVzc1J1bGVzLmxlbmd0aH1gKTtcbiAgICB9XG4gICAgKHByb3BzLmluZ3Jlc3NSdWxlcyB8fCBbXSkuZm9yRWFjaCh0aGlzLmFkZEludGVybmFsSW5ncmVzc1J1bGUuYmluZCh0aGlzKSk7XG5cbiAgICB0aGlzLmNvbnRlbnQgPSBwcm9wcy5jb250ZW50O1xuICAgIHRoaXMucm9sZSA9IHByb3BzLnJvbGUgPz8gbmV3IGlhbS5Sb2xlKHRoaXMsICdTZXJ2aWNlUm9sZScsIHtcbiAgICAgIGFzc3VtZWRCeTogbmV3IGlhbS5Db21wb3NpdGVQcmluY2lwYWwoXG4gICAgICAgIG5ldyBpYW0uU2VydmljZVByaW5jaXBhbCgnZ2FtZWxpZnQuYW1hem9uYXdzLmNvbScpLFxuICAgICAgICBuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoJ2VjMi5hbWF6b25hd3MuY29tJykpLFxuICAgIH0pO1xuICAgIHRoaXMuZ3JhbnRQcmluY2lwYWwgPSB0aGlzLnJvbGU7XG5cbiAgICBjb25zdCByZXNvdXJjZSA9IG5ldyBDZm5GbGVldCh0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBidWlsZElkOiB0aGlzLmNvbnRlbnQuYnVpbGRJZCxcbiAgICAgIGNlcnRpZmljYXRlQ29uZmlndXJhdGlvbjoge1xuICAgICAgICBjZXJ0aWZpY2F0ZVR5cGU6IHByb3BzLnVzZUNlcnRpZmljYXRlID8gJ0dFTkVSQVRFRCc6ICdESVNBQkxFRCcsXG4gICAgICB9LFxuICAgICAgZGVzY3JpcHRpb246IHByb3BzLmRlc2NyaXB0aW9uLFxuICAgICAgZGVzaXJlZEVjMkluc3RhbmNlczogcHJvcHMuZGVzaXJlZENhcGFjaXR5LFxuICAgICAgZWMySW5ib3VuZFBlcm1pc3Npb25zOiBjZGsuTGF6eS5hbnkoeyBwcm9kdWNlOiAoKSA9PiB0aGlzLnBhcnNlSW5ncmVzc1J1bGVzKCkgfSksXG4gICAgICBlYzJJbnN0YW5jZVR5cGU6IHByb3BzLmluc3RhbmNlVHlwZS50b1N0cmluZygpLFxuICAgICAgZmxlZXRUeXBlOiBwcm9wcy51c2VTcG90ID8gJ1NQT1QnIDogJ09OX0RFTUFORCcsXG4gICAgICBpbnN0YW5jZVJvbGVBcm46IHRoaXMucm9sZS5yb2xlQXJuLFxuICAgICAgbG9jYXRpb25zOiBjZGsuTGF6eS5hbnkoeyBwcm9kdWNlOiAoKSA9PiB0aGlzLnBhcnNlTG9jYXRpb25zKCkgfSksXG4gICAgICBtYXhTaXplOiBwcm9wcy5tYXhTaXplID8gcHJvcHMubWF4U2l6ZSA6IDEsXG4gICAgICBtaW5TaXplOiBwcm9wcy5taW5TaXplID8gcHJvcHMubWluU2l6ZSA6IDAsXG4gICAgICBuYW1lOiB0aGlzLnBoeXNpY2FsTmFtZSxcbiAgICAgIG5ld0dhbWVTZXNzaW9uUHJvdGVjdGlvblBvbGljeTogcHJvcHMucHJvdGVjdE5ld0dhbWVTZXNzaW9uID8gJ0Z1bGxQcm90ZWN0aW9uJyA6ICdOb1Byb3RlY3Rpb24nLFxuICAgICAgcGVlclZwY0F3c0FjY291bnRJZDogcHJvcHMucGVlclZwYyAmJiBwcm9wcy5wZWVyVnBjLmVudi5hY2NvdW50LFxuICAgICAgcGVlclZwY0lkOiBwcm9wcy5wZWVyVnBjICYmIHByb3BzLnBlZXJWcGMudnBjSWQsXG4gICAgICByZXNvdXJjZUNyZWF0aW9uTGltaXRQb2xpY3k6IHRoaXMucGFyc2VSZXNvdXJjZUNyZWF0aW9uTGltaXRQb2xpY3kocHJvcHMpLFxuICAgICAgcnVudGltZUNvbmZpZ3VyYXRpb246IHRoaXMucGFyc2VSdW50aW1lQ29uZmlndXJhdGlvbihwcm9wcyksXG4gICAgfSk7XG5cbiAgICB0aGlzLmZsZWV0SWQgPSB0aGlzLmdldFJlc291cmNlTmFtZUF0dHJpYnV0ZShyZXNvdXJjZS5yZWYpO1xuICAgIHRoaXMuZmxlZXRBcm4gPSBjZGsuU3RhY2sub2Yoc2NvcGUpLmZvcm1hdEFybih7XG4gICAgICBzZXJ2aWNlOiAnZ2FtZWxpZnQnLFxuICAgICAgcmVzb3VyY2U6ICdmbGVldCcsXG4gICAgICByZXNvdXJjZU5hbWU6IHRoaXMuZmxlZXRJZCxcbiAgICAgIGFybkZvcm1hdDogY2RrLkFybkZvcm1hdC5TTEFTSF9SRVNPVVJDRV9OQU1FLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYW4gaW5ncmVzcyBydWxlIHRvIGFsbG93IGluYm91bmQgdHJhZmZpYyB0byBhY2Nlc3MgZ2FtZSBzZXNzaW9ucyBvbiB0aGlzIGZsZWV0LlxuICAgKlxuICAgKiBAcGFyYW0gc291cmNlIEEgcmFuZ2Ugb2YgYWxsb3dlZCBJUCBhZGRyZXNzZXNcbiAgICogQHBhcmFtIHBvcnQgVGhlIHBvcnQgcmFuZ2UgdXNlZCBmb3IgaW5ncmVzcyB0cmFmZmljXG4gICAqL1xuICBATWV0aG9kTWV0YWRhdGEoKVxuICBwdWJsaWMgYWRkSW5ncmVzc1J1bGUoc291cmNlOiBJUGVlciwgcG9ydDogUG9ydCkge1xuICAgIHRoaXMuYWRkSW50ZXJuYWxJbmdyZXNzUnVsZSh7XG4gICAgICBzb3VyY2U6IHNvdXJjZSxcbiAgICAgIHBvcnQ6IHBvcnQsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFkZEludGVybmFsSW5ncmVzc1J1bGUoaW5ncmVzc1J1bGU6IEluZ3Jlc3NSdWxlKSB7XG4gICAgaWYgKHRoaXMuaW5ncmVzc1J1bGVzLmxlbmd0aCA9PSA1MCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBtb3JlIHRoYW4gNTAgaW5ncmVzcyBydWxlcyBhcmUgYWxsb3dlZCBwZXIgZmxlZXQnKTtcbiAgICB9XG4gICAgdGhpcy5pbmdyZXNzUnVsZXMucHVzaChpbmdyZXNzUnVsZSk7XG4gIH1cblxuICBwcml2YXRlIHBhcnNlSW5ncmVzc1J1bGVzKCk6IENmbkZsZWV0LklwUGVybWlzc2lvblByb3BlcnR5W10gfCB1bmRlZmluZWQge1xuICAgIGlmICghdGhpcy5pbmdyZXNzUnVsZXMgfHwgdGhpcy5pbmdyZXNzUnVsZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmluZ3Jlc3NSdWxlcy5tYXAocGFyc2VJbmdyZXNzUnVsZSk7XG5cbiAgICBmdW5jdGlvbiBwYXJzZUluZ3Jlc3NSdWxlKGluZ3Jlc3NSdWxlOiBJbmdyZXNzUnVsZSk6IENmbkZsZWV0LklwUGVybWlzc2lvblByb3BlcnR5IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmluZ3Jlc3NSdWxlLnBvcnQudG9Kc29uKCksXG4gICAgICAgIC4uLmluZ3Jlc3NSdWxlLnNvdXJjZS50b0pzb24oKSxcbiAgICAgIH07XG4gICAgfVxuICB9XG59XG4iXX0=
239
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtZmxlZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJidWlsZC1mbGVldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyREFBb0Q7QUFDcEQsMkNBQTJDO0FBQzNDLHdDQUF3QztBQUN4Qyw0RUFBdUU7QUFDdkUsOEVBQThGO0FBQzlGLDBFQUEwRTtBQUcxRSw2Q0FBNkQ7QUE4QjdEOzs7Ozs7Ozs7R0FTRztJQUVVLFVBQVU7NEJBRHRCLG9DQUFrQjs7OztzQkFDYSxzQkFBUzs7Ozs7MEJBQWpCLFNBQVEsV0FBUzs7Ozt1Q0E4R3RDLGlDQUFjO3dDQUtkLGlDQUFjOzBDQWdCZCxJQUFBLGtDQUFjLEdBQUU7WUFwQmpCLDRLQUFXLE9BQU8sNkRBRWpCO1lBR0QsK0tBQVcsUUFBUSw2REFPbEI7WUFTRCw2TEFBTyxjQUFjLDZEQUtwQjtZQXpJSCw2S0FnS0M7Ozs7O1FBL0pDLHNDQUFzQztRQUMvQixNQUFNLENBQVUscUJBQXFCLEdBQVcsd0NBQXdDLENBQUM7UUFFaEc7O1dBRUc7UUFDSCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsWUFBb0I7WUFDeEUsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZFO1FBRUQ7O1dBRUc7UUFDSCxNQUFNLENBQUMsaUJBQWlCLENBQUMsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsYUFBcUI7WUFDMUUsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDO1NBQ3pFO1FBRUQ7O1dBRUc7UUFDYSxPQUFPLEdBckJaLG1EQUFVLENBcUJXO1FBRWhDOztXQUVHO1FBQ2EsSUFBSSxDQUFZO1FBRWhDOztX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Z0JBQ2QsSUFBSSxFQUFFLElBQUk7YUFDWCxDQUFDLENBQUM7U0FDSjtRQUVPLHNCQUFzQixDQUFDLFdBQXdCO1lBQ3JELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLElBQUksRUFBRSxFQUFFLENBQUM7Z0JBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMscURBQXFELENBQUMsQ0FBQztZQUN6RSxDQUFDO1lBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDckM7UUFFTyxpQkFBaUI7WUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3pELE9BQU8sU0FBUyxDQUFDO1lBQ25CLENBQUM7WUFFRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFFL0MsU0FBUyxnQkFBZ0IsQ0FBQyxXQUF3QjtnQkFDaEQsT0FBTztvQkFDTCxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO29CQUM1QixHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO2lCQUMvQixDQUFDO1lBQ0osQ0FBQztTQUNGOztZQS9KVSx1REFBVTs7Ozs7QUFBVixnQ0FBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENmbkZsZWV0IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWdhbWVsaWZ0JztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IG1lbW9pemVkR2V0dGVyIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvaGVscGVycy1pbnRlcm5hbCc7XG5pbXBvcnQgeyBhZGRDb25zdHJ1Y3RNZXRhZGF0YSwgTWV0aG9kTWV0YWRhdGEgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9tZXRhZGF0YS1yZXNvdXJjZSc7XG5pbXBvcnQgeyBwcm9wZXJ0eUluamVjdGFibGUgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9wcm9wLWluamVjdGFibGUnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBJQnVpbGQgfSBmcm9tICcuL2J1aWxkJztcbmltcG9ydCB7IEZsZWV0QmFzZSwgRmxlZXRQcm9wcywgSUZsZWV0IH0gZnJvbSAnLi9mbGVldC1iYXNlJztcbmltcG9ydCB7IFBvcnQsIElQZWVyLCBJbmdyZXNzUnVsZSB9IGZyb20gJy4vaW5ncmVzcy1ydWxlJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgR2FtZUxpZnQgRmxlZXQgdXNlZCB0byBydW4gYSBjdXN0b20gZ2FtZSBidWlsZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQnVpbGRGbGVldCBleHRlbmRzIElGbGVldCB7fVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGEgbmV3IEdhbWVsaWZ0IGJ1aWxkIGZsZWV0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRGbGVldFByb3BzIGV4dGVuZHMgRmxlZXRQcm9wcyB7XG4gIC8qKlxuICAgKiBBIGJ1aWxkIHRvIGJlIGRlcGxveWVkIG9uIHRoZSBmbGVldC5cbiAgICogVGhlIGJ1aWxkIG11c3QgaGF2ZSBiZWVuIHN1Y2Nlc3NmdWxseSB1cGxvYWRlZCB0byBBbWF6b24gR2FtZUxpZnQgYW5kIGJlIGluIGEgYFJFQURZYCBzdGF0dXMuXG4gICAqXG4gICAqIFRoaXMgZmxlZXQgc2V0dGluZyBjYW5ub3QgYmUgY2hhbmdlZCBvbmNlIHRoZSBmbGVldCBpcyBjcmVhdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgY29udGVudDogSUJ1aWxkO1xuXG4gIC8qKlxuICAgKiBUaGUgYWxsb3dlZCBJUCBhZGRyZXNzIHJhbmdlcyBhbmQgcG9ydCBzZXR0aW5ncyB0aGF0IGFsbG93IGluYm91bmQgdHJhZmZpYyB0byBhY2Nlc3MgZ2FtZSBzZXNzaW9ucyBvbiB0aGlzIGZsZWV0LlxuICAgKlxuICAgKiBUaGlzIHByb3BlcnR5IG11c3QgYmUgc2V0IGJlZm9yZSBwbGF5ZXJzIGNhbiBjb25uZWN0IHRvIGdhbWUgc2Vzc2lvbnMuXG4gICAqXG4gICAqIEBkZWZhdWx0IG5vIGluYm91bmQgdHJhZmZpYyBhbGxvd2VkXG4gICAqL1xuICByZWFkb25seSBpbmdyZXNzUnVsZXM/OiBJbmdyZXNzUnVsZVtdO1xufVxuXG4vKipcbiAqIEEgZmxlZXQgY29udGFpbnMgQW1hem9uIEVsYXN0aWMgQ29tcHV0ZSBDbG91ZCAoQW1hem9uIEVDMikgaW5zdGFuY2VzIHRoYXQgR2FtZUxpZnQgaG9zdHMuXG4gKiBBIGZsZWV0IHVzZXMgdGhlIGNvbmZpZ3VyYXRpb24gYW5kIHNjYWxpbmcgbG9naWMgdGhhdCB5b3UgZGVmaW5lIHRvIHJ1biB5b3VyIGdhbWUgc2VydmVyIGJ1aWxkLiBZb3UgY2FuIHVzZSBhIGZsZWV0IGRpcmVjdGx5IHdpdGhvdXQgYSBxdWV1ZS5cbiAqIFlvdSBjYW4gYWxzbyBhc3NvY2lhdGUgbXVsdGlwbGUgZmxlZXRzIHdpdGggYSBHYW1lTGlmdCBxdWV1ZS5cbiAqXG4gKiBGb3IgZXhhbXBsZSwgeW91IGNhbiB1c2UgU3BvdCBJbnN0YW5jZSBmbGVldHMgY29uZmlndXJlZCB3aXRoIHlvdXIgcHJlZmVycmVkIGxvY2F0aW9ucywgYWxvbmcgd2l0aCBhIGJhY2t1cCBPbi1EZW1hbmQgSW5zdGFuY2UgZmxlZXQgd2l0aCB0aGUgc2FtZSBsb2NhdGlvbnMuXG4gKiBVc2luZyBtdWx0aXBsZSBTcG90IEluc3RhbmNlIGZsZWV0cyBvZiBkaWZmZXJlbnQgaW5zdGFuY2UgdHlwZXMgcmVkdWNlcyB0aGUgY2hhbmNlIG9mIG5lZWRpbmcgT24tRGVtYW5kIEluc3RhbmNlIHBsYWNlbWVudC5cbiAqXG4gKiBAcmVzb3VyY2UgQVdTOjpHYW1lTGlmdDo6RmxlZXRcbiAqL1xuQHByb3BlcnR5SW5qZWN0YWJsZVxuZXhwb3J0IGNsYXNzIEJ1aWxkRmxlZXQgZXh0ZW5kcyBGbGVldEJhc2UgaW1wbGVtZW50cyBJQnVpbGRGbGVldCB7XG4gIC8qKiBVbmlxdWVseSBpZGVudGlmaWVzIHRoaXMgY2xhc3MuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPUEVSVFlfSU5KRUNUSU9OX0lEOiBzdHJpbmcgPSAnQGF3cy1jZGsuYXdzLWdhbWVsaWZ0LWFscGhhLkJ1aWxkRmxlZXQnO1xuXG4gIC8qKlxuICAgKiBJbXBvcnQgYW4gZXhpc3RpbmcgZmxlZXQgZnJvbSBpdHMgaWRlbnRpZmllci5cbiAgICovXG4gIHN0YXRpYyBmcm9tQnVpbGRGbGVldElkKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGJ1aWxkRmxlZXRJZDogc3RyaW5nKTogSUJ1aWxkRmxlZXQge1xuICAgIHJldHVybiB0aGlzLmZyb21GbGVldEF0dHJpYnV0ZXMoc2NvcGUsIGlkLCB7IGZsZWV0SWQ6IGJ1aWxkRmxlZXRJZCB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnQgYW4gZXhpc3RpbmcgZmxlZXQgZnJvbSBpdHMgQVJOLlxuICAgKi9cbiAgc3RhdGljIGZyb21CdWlsZEZsZWV0QXJuKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGJ1aWxkRmxlZXRBcm46IHN0cmluZyk6IElCdWlsZEZsZWV0IHtcbiAgICByZXR1cm4gdGhpcy5mcm9tRmxlZXRBdHRyaWJ1dGVzKHNjb3BlLCBpZCwgeyBmbGVldEFybjogYnVpbGRGbGVldEFybiB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYnVpbGQgY29udGVudCBvZiB0aGUgZmxlZXRcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjb250ZW50OiBJQnVpbGQ7XG5cbiAgLyoqXG4gICAqIFRoZSBJQU0gcm9sZSBHYW1lTGlmdCBhc3N1bWVzIGJ5IGZsZWV0IGluc3RhbmNlcyB0byBhY2Nlc3MgQVdTIHJlc3NvdXJjZXMuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcm9sZTogaWFtLklSb2xlO1xuXG4gIC8qKlxuICAgKiBUaGUgcHJpbmNpcGFsIHRoaXMgR2FtZUxpZnQgZmxlZXQgaXMgdXNpbmcuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZ3JhbnRQcmluY2lwYWw6IGlhbS5JUHJpbmNpcGFsO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaW5ncmVzc1J1bGVzOiBJbmdyZXNzUnVsZVtdID0gW107XG4gIHByaXZhdGUgcmVzb3VyY2U6IENmbkZsZWV0O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBCdWlsZEZsZWV0UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHBoeXNpY2FsTmFtZTogcHJvcHMuZmxlZXROYW1lLFxuICAgIH0pO1xuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgaWYgKCFjZGsuVG9rZW4uaXNVbnJlc29sdmVkKHByb3BzLmZsZWV0TmFtZSkpIHtcbiAgICAgIGlmIChwcm9wcy5mbGVldE5hbWUubGVuZ3RoID4gMTAyNCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEZsZWV0IG5hbWUgY2FuIG5vdCBiZSBsb25nZXIgdGhhbiAxMDI0IGNoYXJhY3RlcnMgYnV0IGhhcyAke3Byb3BzLmZsZWV0TmFtZS5sZW5ndGh9IGNoYXJhY3RlcnMuYCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLmRlc2NyaXB0aW9uICYmICFjZGsuVG9rZW4uaXNVbnJlc29sdmVkKHByb3BzLmRlc2NyaXB0aW9uKSkge1xuICAgICAgaWYgKHByb3BzLmRlc2NyaXB0aW9uLmxlbmd0aCA+IDEwMjQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGbGVldCBkZXNjcmlwdGlvbiBjYW4gbm90IGJlIGxvbmdlciB0aGFuIDEwMjQgY2hhcmFjdGVycyBidXQgaGFzICR7cHJvcHMuZGVzY3JpcHRpb24ubGVuZ3RofSBjaGFyYWN0ZXJzLmApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwcm9wcy5taW5TaXplICYmIHByb3BzLm1pblNpemUgPCAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZSBtaW5pbXVtIG51bWJlciBvZiBpbnN0YW5jZXMgYWxsb3dlZCBpbiB0aGUgRmxlZXQgY2Fubm90IGJlIGxvd2VyIHRoYW4gMCwgZ2l2ZW4gJHtwcm9wcy5taW5TaXplfWApO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5tYXhTaXplICYmIHByb3BzLm1heFNpemUgPCAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZSBtYXhpbXVtIG51bWJlciBvZiBpbnN0YW5jZXMgYWxsb3dlZCBpbiB0aGUgRmxlZXQgY2Fubm90IGJlIGxvd2VyIHRoYW4gMCwgZ2l2ZW4gJHtwcm9wcy5tYXhTaXplfWApO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5wZWVyVnBjKSB7XG4gICAgICB0aGlzLndhcm5WcGNQZWVyaW5nQXV0aG9yaXphdGlvbnModGhpcyk7XG4gICAgfVxuXG4gICAgLy8gQWRkIGFsbCBsb2NhdGlvbnNcbiAgICBpZiAocHJvcHMubG9jYXRpb25zICYmIHByb3BzLmxvY2F0aW9ucz8ubGVuZ3RoID4gMTAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIG1vcmUgdGhhbiAxMDAgbG9jYXRpb25zIGFyZSBhbGxvd2VkIHBlciBmbGVldCwgZ2l2ZW4gJHtwcm9wcy5sb2NhdGlvbnMubGVuZ3RofWApO1xuICAgIH1cbiAgICAocHJvcHMubG9jYXRpb25zIHx8IFtdKS5mb3JFYWNoKHRoaXMuYWRkSW50ZXJuYWxMb2NhdGlvbi5iaW5kKHRoaXMpKTtcblxuICAgIC8vIEFkZCBhbGwgSW5ncmVzcyBydWxlc1xuICAgIGlmIChwcm9wcy5pbmdyZXNzUnVsZXMgJiYgcHJvcHMuaW5ncmVzc1J1bGVzPy5sZW5ndGggPiA1MCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBtb3JlIHRoYW4gNTAgaW5ncmVzcyBydWxlcyBhcmUgYWxsb3dlZCBwZXIgZmxlZXQsIGdpdmVuICR7cHJvcHMuaW5ncmVzc1J1bGVzLmxlbmd0aH1gKTtcbiAgICB9XG4gICAgKHByb3BzLmluZ3Jlc3NSdWxlcyB8fCBbXSkuZm9yRWFjaCh0aGlzLmFkZEludGVybmFsSW5ncmVzc1J1bGUuYmluZCh0aGlzKSk7XG5cbiAgICB0aGlzLmNvbnRlbnQgPSBwcm9wcy5jb250ZW50O1xuICAgIHRoaXMucm9sZSA9IHByb3BzLnJvbGUgPz8gbmV3IGlhbS5Sb2xlKHRoaXMsICdTZXJ2aWNlUm9sZScsIHtcbiAgICAgIGFzc3VtZWRCeTogbmV3IGlhbS5Db21wb3NpdGVQcmluY2lwYWwoXG4gICAgICAgIG5ldyBpYW0uU2VydmljZVByaW5jaXBhbCgnZ2FtZWxpZnQuYW1hem9uYXdzLmNvbScpLFxuICAgICAgICBuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoJ2VjMi5hbWF6b25hd3MuY29tJykpLFxuICAgIH0pO1xuICAgIHRoaXMuZ3JhbnRQcmluY2lwYWwgPSB0aGlzLnJvbGU7XG5cbiAgICB0aGlzLnJlc291cmNlID0gbmV3IENmbkZsZWV0KHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIGJ1aWxkSWQ6IHRoaXMuY29udGVudC5idWlsZElkLFxuICAgICAgY2VydGlmaWNhdGVDb25maWd1cmF0aW9uOiB7XG4gICAgICAgIGNlcnRpZmljYXRlVHlwZTogcHJvcHMudXNlQ2VydGlmaWNhdGUgPyAnR0VORVJBVEVEJzogJ0RJU0FCTEVEJyxcbiAgICAgIH0sXG4gICAgICBkZXNjcmlwdGlvbjogcHJvcHMuZGVzY3JpcHRpb24sXG4gICAgICBkZXNpcmVkRWMySW5zdGFuY2VzOiBwcm9wcy5kZXNpcmVkQ2FwYWNpdHksXG4gICAgICBlYzJJbmJvdW5kUGVybWlzc2lvbnM6IGNkay5MYXp5LmFueSh7IHByb2R1Y2U6ICgpID0+IHRoaXMucGFyc2VJbmdyZXNzUnVsZXMoKSB9KSxcbiAgICAgIGVjMkluc3RhbmNlVHlwZTogcHJvcHMuaW5zdGFuY2VUeXBlLnRvU3RyaW5nKCksXG4gICAgICBmbGVldFR5cGU6IHByb3BzLnVzZVNwb3QgPyAnU1BPVCcgOiAnT05fREVNQU5EJyxcbiAgICAgIGluc3RhbmNlUm9sZUFybjogdGhpcy5yb2xlLnJvbGVBcm4sXG4gICAgICBsb2NhdGlvbnM6IGNkay5MYXp5LmFueSh7IHByb2R1Y2U6ICgpID0+IHRoaXMucGFyc2VMb2NhdGlvbnMoKSB9KSxcbiAgICAgIG1heFNpemU6IHByb3BzLm1heFNpemUgPyBwcm9wcy5tYXhTaXplIDogMSxcbiAgICAgIG1pblNpemU6IHByb3BzLm1pblNpemUgPyBwcm9wcy5taW5TaXplIDogMCxcbiAgICAgIG5hbWU6IHRoaXMucGh5c2ljYWxOYW1lLFxuICAgICAgbmV3R2FtZVNlc3Npb25Qcm90ZWN0aW9uUG9saWN5OiBwcm9wcy5wcm90ZWN0TmV3R2FtZVNlc3Npb24gPyAnRnVsbFByb3RlY3Rpb24nIDogJ05vUHJvdGVjdGlvbicsXG4gICAgICBwZWVyVnBjQXdzQWNjb3VudElkOiBwcm9wcy5wZWVyVnBjICYmIHByb3BzLnBlZXJWcGMuZW52LmFjY291bnQsXG4gICAgICBwZWVyVnBjSWQ6IHByb3BzLnBlZXJWcGMgJiYgcHJvcHMucGVlclZwYy52cGNJZCxcbiAgICAgIHJlc291cmNlQ3JlYXRpb25MaW1pdFBvbGljeTogdGhpcy5wYXJzZVJlc291cmNlQ3JlYXRpb25MaW1pdFBvbGljeShwcm9wcyksXG4gICAgICBydW50aW1lQ29uZmlndXJhdGlvbjogdGhpcy5wYXJzZVJ1bnRpbWVDb25maWd1cmF0aW9uKHByb3BzKSxcbiAgICB9KTtcbiAgfVxuXG4gIEBtZW1vaXplZEdldHRlclxuICBwdWJsaWMgZ2V0IGZsZWV0SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5nZXRSZXNvdXJjZU5hbWVBdHRyaWJ1dGUodGhpcy5yZXNvdXJjZS5yZWYpO1xuICB9XG5cbiAgQG1lbW9pemVkR2V0dGVyXG4gIHB1YmxpYyBnZXQgZmxlZXRBcm4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gY2RrLlN0YWNrLm9mKHRoaXMpLmZvcm1hdEFybih7XG4gICAgICBzZXJ2aWNlOiAnZ2FtZWxpZnQnLFxuICAgICAgcmVzb3VyY2U6ICdmbGVldCcsXG4gICAgICByZXNvdXJjZU5hbWU6IHRoaXMuZmxlZXRJZCxcbiAgICAgIGFybkZvcm1hdDogY2RrLkFybkZvcm1hdC5TTEFTSF9SRVNPVVJDRV9OQU1FLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYW4gaW5ncmVzcyBydWxlIHRvIGFsbG93IGluYm91bmQgdHJhZmZpYyB0byBhY2Nlc3MgZ2FtZSBzZXNzaW9ucyBvbiB0aGlzIGZsZWV0LlxuICAgKlxuICAgKiBAcGFyYW0gc291cmNlIEEgcmFuZ2Ugb2YgYWxsb3dlZCBJUCBhZGRyZXNzZXNcbiAgICogQHBhcmFtIHBvcnQgVGhlIHBvcnQgcmFuZ2UgdXNlZCBmb3IgaW5ncmVzcyB0cmFmZmljXG4gICAqL1xuICBATWV0aG9kTWV0YWRhdGEoKVxuICBwdWJsaWMgYWRkSW5ncmVzc1J1bGUoc291cmNlOiBJUGVlciwgcG9ydDogUG9ydCkge1xuICAgIHRoaXMuYWRkSW50ZXJuYWxJbmdyZXNzUnVsZSh7XG4gICAgICBzb3VyY2U6IHNvdXJjZSxcbiAgICAgIHBvcnQ6IHBvcnQsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFkZEludGVybmFsSW5ncmVzc1J1bGUoaW5ncmVzc1J1bGU6IEluZ3Jlc3NSdWxlKSB7XG4gICAgaWYgKHRoaXMuaW5ncmVzc1J1bGVzLmxlbmd0aCA9PSA1MCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBtb3JlIHRoYW4gNTAgaW5ncmVzcyBydWxlcyBhcmUgYWxsb3dlZCBwZXIgZmxlZXQnKTtcbiAgICB9XG4gICAgdGhpcy5pbmdyZXNzUnVsZXMucHVzaChpbmdyZXNzUnVsZSk7XG4gIH1cblxuICBwcml2YXRlIHBhcnNlSW5ncmVzc1J1bGVzKCk6IENmbkZsZWV0LklwUGVybWlzc2lvblByb3BlcnR5W10gfCB1bmRlZmluZWQge1xuICAgIGlmICghdGhpcy5pbmdyZXNzUnVsZXMgfHwgdGhpcy5pbmdyZXNzUnVsZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmluZ3Jlc3NSdWxlcy5tYXAocGFyc2VJbmdyZXNzUnVsZSk7XG5cbiAgICBmdW5jdGlvbiBwYXJzZUluZ3Jlc3NSdWxlKGluZ3Jlc3NSdWxlOiBJbmdyZXNzUnVsZSk6IENmbkZsZWV0LklwUGVybWlzc2lvblByb3BlcnR5IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmluZ3Jlc3NSdWxlLnBvcnQudG9Kc29uKCksXG4gICAgICAgIC4uLmluZ3Jlc3NSdWxlLnNvdXJjZS50b0pzb24oKSxcbiAgICAgIH07XG4gICAgfVxuICB9XG59XG4iXX0=
package/lib/build.d.ts CHANGED
@@ -184,14 +184,6 @@ export declare class Build extends BuildBase {
184
184
  * Import an existing build from its attributes.
185
185
  */
186
186
  static fromBuildAttributes(scope: Construct, id: string, attrs: BuildAttributes): IBuild;
187
- /**
188
- * The Identifier of the build.
189
- */
190
- readonly buildId: string;
191
- /**
192
- * The ARN of the build.
193
- */
194
- readonly buildArn: string;
195
187
  /**
196
188
  * The IAM role GameLift assumes to acccess server build content.
197
189
  */
@@ -200,6 +192,9 @@ export declare class Build extends BuildBase {
200
192
  * The principal this GameLift Build is using.
201
193
  */
202
194
  readonly grantPrincipal: iam.IPrincipal;
195
+ private resource;
203
196
  constructor(scope: Construct, id: string, props: BuildProps);
197
+ get buildId(): string;
198
+ get buildArn(): string;
204
199
  private validateServerSdkVersion;
205
200
  }