@mrgrain/cdk-esbuild 3.3.0 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  _CDK constructs for [esbuild](https://github.com/evanw/esbuild), an extremely fast JavaScript bundler_
4
4
 
5
- > ⚠️ This version is compatible with AWS CDK v2. For the previous, AWS CDK v1 compatible release, see [cdk-esbuild@v2](https://github.com/mrgrain/cdk-esbuild/tree/v2)
6
-
7
5
  [Getting started](#getting-started) | [Migrating to v3](#migrating-to-v3) |
8
6
  [Documentation](#documentation) | [API Reference](#api-reference) | [Versioning](#versioning)
9
7
 
8
+ > This version is compatible with AWS CDK v2. For the previous, AWS CDK v1 compatible release, see [cdk-esbuild@v2](https://github.com/mrgrain/cdk-esbuild/tree/v2).
9
+
10
10
  ## Why?
11
11
 
12
12
  _esbuild_ is an extremely fast bundler and minifier for Typescript and JavaScript.
@@ -18,7 +18,7 @@ This package is running _esbuild_ directly in Node.js and bypasses Docker which
18
18
 
19
19
  **Production readiness**
20
20
 
21
- This package is generally stable and ready to be used in production, as many do. However _esbuild_ not yet released a version 1.0.0 yet and its API is still in active development. Please check their guide on [production readiness](https://esbuild.github.io/faq/#production-readiness).
21
+ This package is stable and ready to be used in production, as many do. However _esbuild_ has not yet released a version 1.0.0 and its API is still in active development. Please read the guide on [esbuild's production readiness](https://esbuild.github.io/faq/#production-readiness).
22
22
 
23
23
  Notably upgrades of the _esbuild_ minimum version requirement will be introduced in **minor versions** of this package and will inherit breaking changes from _esbuild_.
24
24
 
@@ -30,7 +30,7 @@ Install `cdk-esbuild`:
30
30
  npm install @mrgrain/cdk-esbuild@3
31
31
  ```
32
32
 
33
- If _peer_ and _optional dependencies_ are not installed automatically (e.g. when using npm v4-6), please use this command to install all of them:
33
+ If _peer_ or _optional dependencies_ are not installed automatically (e.g. when using npm v4-6), please use this command to install all of them:
34
34
 
35
35
  ```
36
36
  npm install @mrgrain/cdk-esbuild@3 esbuild
@@ -49,7 +49,7 @@ import { TypeScriptCode } from "@mrgrain/cdk-esbuild";
49
49
  const bundledCode = new TypeScriptCode("src/index.ts");
50
50
 
51
51
  const fn = new lambda.Function(stack, "MyFunction", {
52
- runtime: lambda.Runtime.NODEJS_14_X,
52
+ runtime: lambda.Runtime.NODEJS_16_X,
53
53
  handler: "index.handler",
54
54
  code: bundledCode,
55
55
  });
@@ -112,7 +112,7 @@ const canary = new synthetics.Canary(stack, "MyCanary", {
112
112
  });
113
113
  ```
114
114
 
115
- # Documentation
115
+ ## Documentation
116
116
 
117
117
  The package exports various different constructs for use with existing CDK features. A major guiding design principal for this package is to _extend, don't replace_. Expect constructs that you can provide as props, not complete replacements.
118
118
 
@@ -129,9 +129,9 @@ For use with **S3 bucket deployments**, classes implementing `s3deploy.ISource`
129
129
 
130
130
  - `TypeScriptSource` & `JavaScriptSource`
131
131
 
132
- > _Code and Source constructs seamlessly plugin to high-level CDK features. They share the same set of parameters, props and build options._
132
+ > _Code and Source constructs seamlessly plug-in to other high-level CDK constructs. They share the same set of parameters, props and build options._
133
133
 
134
- Underlying classes power the other features. You normally won't have to use them, but they are there if you need them:
134
+ The following classes power the other features. You normally won't have to use them, but they are there if you need them:
135
135
 
136
136
  - `TypeScriptAsset` & `JavaScriptAsset` implements `s3.Asset` ([reference](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3_assets.Asset.html)) \
137
137
  creates an asset uploaded to S3 which can be referenced by other constructs
@@ -139,21 +139,21 @@ Underlying classes power the other features. You normally won't have to use them
139
139
  - `EsbuildBundler` implements `core.BundlingOptions` ([reference](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.BundlingOptions.html)) \
140
140
  provides an interface for a _esbuild_ bundler wherever needed
141
141
 
142
- ## [API Reference](API.md)
142
+ ### [API Reference](API.md)
143
143
 
144
- Auto-generated reference for classes and structs. This information is also available within the code completion of your IDE.
144
+ Auto-generated reference for classes and structs. This information is also available as part of your IDE's code completion.
145
145
 
146
- ## Escape hatches
146
+ ### Escape hatches
147
147
 
148
- It's possible that you want to use a implementation of esbuild that's different to the default one. Common reasons are:
148
+ It's possible that you want to use an implementation of esbuild that's different to the default one. Common reasons are:
149
149
 
150
150
  - The current version constraints for esbuild are not suitable
151
- - To use version of esbuild that is installed by any other means than `npm`, including Docker
152
- - Plugin support is needed for the building
151
+ - To use a version of esbuild that is installed by any other means than `npm`, including Docker
152
+ - Plugin support is needed for building
153
153
 
154
154
  For these situations, this package offers an escape hatch to bypass regular the implementation and provide a custom build and transform function.
155
155
 
156
- ### Custom build function
156
+ #### Custom build function
157
157
 
158
158
  > 💡 See [Using esbuild with plugins](examples/esbuild-with-plugins) for a complete working example of a custom build function using this escape hatch.
159
159
 
@@ -175,7 +175,7 @@ Instead of esbuild, the provided function will be invoked with the calculated bu
175
175
 
176
176
  Failures have to cause a `BuildFailure` exception in order to be fully handled.
177
177
 
178
- ### Custom transform function
178
+ #### Custom transform function
179
179
 
180
180
  Constructs that result in starting a transformation, take a `transformFn` as optional prop. While the defined type for this function is `any`, it must implement the same signature as esbuild's `transformSync` function.
181
181
 
@@ -195,11 +195,11 @@ Instead of esbuild, the provided function will be invoked with the calculated tr
195
195
 
196
196
  Failures have to cause a `TransformFailure` exception in order to be fully handled.
197
197
 
198
- ## Migrating to v3
198
+ ### Migrating to v3
199
199
 
200
200
  The release of cdk-esbuild v3 brings compatibility with AWS CDK v2. Furthermore all deprecated properties and classes have been removed. In particular `InlineCode` classes now take `TransformerProps` as second parameter instead of transform options.
201
201
 
202
- ### Upgrading
202
+ #### Upgrading
203
203
 
204
204
  - This version requires AWS CDK v2. Follow the [official migration guide](https://docs.aws.amazon.com/cdk/latest/guide/work-with-cdk-v2.html) to upgrade.
205
205
  - Update the package dependency to v3: `npm install --save @mrgrain/cdk-esbuild@^3.0.0`
@@ -217,7 +217,7 @@ The release of cdk-esbuild v3 brings compatibility with AWS CDK v2. Furthermore
217
217
 
218
218
  ## Versioning
219
219
 
220
- This package _mostly_ follows [Semantic Versioning](https://semver.org/), with the exception of upgrades to `esbuild`. These will be released as **minor versions** and often include breaking changes from `esbuild`.
220
+ This package follows [Semantic Versioning](https://semver.org/), with the exception of upgrades to `esbuild`. These will be released as **minor versions** and often include breaking changes from `esbuild`.
221
221
 
222
222
  ### Npm Tags
223
223
 
@@ -233,15 +233,15 @@ These tags also exist, but usage is strongly not recommended:
233
233
 
234
234
  - ~~`cdk-1.x.x`~~ tags have been deprecated in favour of `cdk-v1`. Use that one instead.
235
235
 
236
- ## Future releases
236
+ ## Roadmap & Contributions
237
237
 
238
- ### Stable esbuild
238
+ [The project's roadmap is available on GitHub.](https://github.com/mrgrain/cdk-esbuild/projects/1) Please submit any feature requests as issues to the repository.
239
239
 
240
- Once `esbuild` has reached a stable version 1.0, a new major version will be released for _all_ breaking changes, including updates to minimum (peer) dependencies.
240
+ All contributions are welcome, no matter if they are for already planned or completely new features.
241
241
 
242
242
  ## Library authors
243
243
 
244
- When developing a library consumed by other packages, you'll most likely have to set `buildOptions.absWorkingDir`. The easiest way to do this, is to resolve based on the directory name of the file, and traverse the tree upwards to the root of your library package (that's where `package.json` and `tsconfig.json` are):
244
+ Building a library consumed by other packages that relies on `cdk-esbuild` might require you to set `buildOptions.absWorkingDir`. The easiest way to do this, is to resolve based on the directory name of the calling file, and traverse the tree upwards to the root of your library package (that's where `package.json` and `tsconfig.json` are):
245
245
 
246
246
  ```ts
247
247
  // file: project/src/index.ts
@@ -253,3 +253,5 @@ const props = {
253
253
  ```
254
254
 
255
255
  This will dynamically resolve to the correct path, wherever the package is installed.
256
+
257
+ Please open an issue if you encounter any difficulties.
package/lib/asset.js CHANGED
@@ -54,7 +54,7 @@ class JavaScriptAsset extends Asset {
54
54
  }
55
55
  exports.JavaScriptAsset = JavaScriptAsset;
56
56
  _a = JSII_RTTI_SYMBOL_1;
57
- JavaScriptAsset[_a] = { fqn: "@mrgrain/cdk-esbuild.JavaScriptAsset", version: "3.3.0" };
57
+ JavaScriptAsset[_a] = { fqn: "@mrgrain/cdk-esbuild.JavaScriptAsset", version: "3.4.0" };
58
58
  /**
59
59
  * Bundles the entry points and creates a CDK asset which is uploaded to the bootstrapped CDK S3 bucket during deployment.
60
60
  *
@@ -66,5 +66,5 @@ class TypeScriptAsset extends Asset {
66
66
  }
67
67
  exports.TypeScriptAsset = TypeScriptAsset;
68
68
  _b = JSII_RTTI_SYMBOL_1;
69
- TypeScriptAsset[_b] = { fqn: "@mrgrain/cdk-esbuild.TypeScriptAsset", version: "3.3.0" };
69
+ TypeScriptAsset[_b] = { fqn: "@mrgrain/cdk-esbuild.TypeScriptAsset", version: "3.4.0" };
70
70
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYXNzZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrQkFBa0M7QUFDbEMsNkNBQTRDO0FBQzVDLDZEQUE2RDtBQUM3RCwyQ0FBNkM7QUFDN0MsdUNBQXNFO0FBOEJ0RTs7R0FFRztBQUNILE1BQWUsS0FBZ0MsU0FBUSxxQkFBTztJQUM1RDs7T0FFRztJQUNILFlBQ0UsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLEtBQVk7O1FBRVosTUFBTSxFQUNKLFNBQVMsRUFDVCxPQUFPLEVBQ1AsWUFBWSxFQUFFLE9BQU8sR0FBRyxFQUFFLEVBQzFCLE9BQU8sR0FDUixHQUFHLEtBQUssQ0FBQztRQUNWLE1BQU0sV0FBVyxHQUNmLE9BQU8sS0FBSyxDQUFDLFdBQVcsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO1FBRWxGLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLGlCQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUVsRCxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQWtCLEVBQUUsRUFBRTtZQUN4RCxJQUFJLGlCQUFVLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQzFCLE1BQU0sSUFBSSxLQUFLLENBQ2IsR0FBRyxJQUFJLHdJQUF3SSxDQUNoSixDQUFDO2FBQ0g7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sYUFBYSxTQUFHLE9BQU8sQ0FBQyxhQUFhLG1DQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUU3RCxNQUFNLFlBQVksR0FBRztZQUNuQixNQUFNLEVBQUUsSUFBSTtZQUNaLEdBQUcsT0FBTztZQUNWLGFBQWE7U0FDZCxDQUFDO1FBRUYsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixJQUFJLEVBQUUsYUFBYTtZQUNuQixTQUFTO1lBQ1QsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsMkJBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLDJCQUFhLENBQUMsTUFBTTtZQUN0RSxRQUFRLEVBQUUsSUFBSSx3QkFBYyxDQUMxQixXQUFXLEVBQ1g7Z0JBQ0UsWUFBWTtnQkFDWixPQUFPO2dCQUNQLE9BQU87YUFDUixDQUNGO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBYSxlQUFnQixTQUFRLEtBQTJCOztBQUFoRSwwQ0FBbUU7OztBQUVuRTs7Ozs7O0dBTUc7QUFDSCxNQUFhLGVBQWdCLFNBQVEsS0FBMkI7O0FBQWhFLDBDQUFtRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzQWJzb2x1dGUgfSBmcm9tICdwYXRoJztcbmltcG9ydCB7IEFzc2V0SGFzaFR5cGUgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBBc3NldCBhcyBTM0Fzc2V0IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzLWFzc2V0cyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QsIE5vZGUgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IEVzYnVpbGRCdW5kbGVyLCBCdW5kbGVyUHJvcHMsIEVudHJ5UG9pbnRzIH0gZnJvbSAnLi9idW5kbGVyJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBc3NldEJhc2VQcm9wcyBleHRlbmRzIEJ1bmRsZXJQcm9wcyB7XG4gIC8qKlxuICAgKiBBIGhhc2ggb2YgdGhpcyBhc3NldCwgd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGNvbnN0cnVjdGlvbiB0aW1lLlxuICAgKlxuICAgKiBBcyB0aGlzIGlzIGEgcGxhaW4gc3RyaW5nLCBpdCBjYW4gYmUgdXNlZCBpbiBjb25zdHJ1Y3QgSURzIGluIG9yZGVyIHRvIGVuZm9yY2UgY3JlYXRpb24gb2YgYSBuZXcgcmVzb3VyY2Ugd2hlbiB0aGUgY29udGVudCBoYXNoIGhhcyBjaGFuZ2VkLlxuICAgKlxuICAgKiBEZWZhdWx0cyB0byBhIGhhc2ggb2YgYWxsIGZpbGVzIGluIHRoZSByZXN1bHRpbmcgYnVuZGxlLlxuICAgKlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYXNzZXRIYXNoPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFzc2V0UHJvcHMgZXh0ZW5kcyBBc3NldEJhc2VQcm9wcyB7XG4gIC8qKlxuICAgKiBBIHJlbGF0aXZlIHBhdGggb3IgbGlzdCBvciBtYXAgb2YgcmVsYXRpdmUgcGF0aHMgdG8gdGhlIGVudHJ5IHBvaW50cyBvZiB5b3VyIGNvZGUgZnJvbSB0aGUgcm9vdCBvZiB0aGUgcHJvamVjdC4gRS5nLiBgc3JjL2luZGV4LnRzYC5cbiAgICpcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGVudHJ5UG9pbnRzOiBFbnRyeVBvaW50cztcbn1cblxudHlwZSBKYXZhU2NyaXB0QXNzZXRQcm9wcyA9IEFzc2V0UHJvcHM7XG50eXBlIFR5cGVTY3JpcHRBc3NldFByb3BzID0gQXNzZXRQcm9wcztcblxuLyoqXG4gKiBAc3RhYmlsaXR5IHN0YWJsZVxuICovXG5hYnN0cmFjdCBjbGFzcyBBc3NldDxQcm9wcyBleHRlbmRzIEFzc2V0UHJvcHM+IGV4dGVuZHMgUzNBc3NldCB7XG4gIC8qKlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogUHJvcHMsXG4gICkge1xuICAgIGNvbnN0IHtcbiAgICAgIGFzc2V0SGFzaCxcbiAgICAgIGNvcHlEaXIsXG4gICAgICBidWlsZE9wdGlvbnM6IG9wdGlvbnMgPSB7fSxcbiAgICAgIGJ1aWxkRm4sXG4gICAgfSA9IHByb3BzO1xuICAgIGNvbnN0IGVudHJ5UG9pbnRzOiBzdHJpbmdbXSB8IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPVxuICAgICAgdHlwZW9mIHByb3BzLmVudHJ5UG9pbnRzID09PSAnc3RyaW5nJyA/IFtwcm9wcy5lbnRyeVBvaW50c10gOiBwcm9wcy5lbnRyeVBvaW50cztcblxuICAgIGNvbnN0IG5hbWUgPSBzY29wZS5ub2RlLnBhdGggKyBOb2RlLlBBVEhfU0VQICsgaWQ7XG5cbiAgICBPYmplY3QudmFsdWVzKGVudHJ5UG9pbnRzKS5mb3JFYWNoKChlbnRyeVBvaW50OiBzdHJpbmcpID0+IHtcbiAgICAgIGlmIChpc0Fic29sdXRlKGVudHJ5UG9pbnQpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgJHtuYW1lfTogRW50cnkgcG9pbnRzIG11c3QgYmUgYSByZWxhdGl2ZSBwYXRoLiBJZiB5b3UgbmVlZCB0byBkZWZpbmUgYW4gYWJzb2x1dGUgcGF0aCwgcGxlYXNlIHVzZSBcXGBidWlsZE9wdGlvbnMuYWJzV29ya2luZ0RpclxcYCBhY2NvcmRpbmdseS5gLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29uc3QgYWJzV29ya2luZ0RpciA9IG9wdGlvbnMuYWJzV29ya2luZ0RpciA/PyBwcm9jZXNzLmN3ZCgpO1xuXG4gICAgY29uc3QgYnVpbGRPcHRpb25zID0ge1xuICAgICAgYnVuZGxlOiB0cnVlLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGFic1dvcmtpbmdEaXIsXG4gICAgfTtcblxuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgcGF0aDogYWJzV29ya2luZ0RpcixcbiAgICAgIGFzc2V0SGFzaCxcbiAgICAgIGFzc2V0SGFzaFR5cGU6IGFzc2V0SGFzaCA/IEFzc2V0SGFzaFR5cGUuQ1VTVE9NIDogQXNzZXRIYXNoVHlwZS5PVVRQVVQsXG4gICAgICBidW5kbGluZzogbmV3IEVzYnVpbGRCdW5kbGVyKFxuICAgICAgICBlbnRyeVBvaW50cyxcbiAgICAgICAge1xuICAgICAgICAgIGJ1aWxkT3B0aW9ucyxcbiAgICAgICAgICBjb3B5RGlyLFxuICAgICAgICAgIGJ1aWxkRm4sXG4gICAgICAgIH0sXG4gICAgICApLFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogQnVuZGxlcyB0aGUgZW50cnkgcG9pbnRzIGFuZCBjcmVhdGVzIGEgQ0RLIGFzc2V0IHdoaWNoIGlzIHVwbG9hZGVkIHRvIHRoZSBib290c3RyYXBwZWQgQ0RLIFMzIGJ1Y2tldCBkdXJpbmcgZGVwbG95bWVudC5cbiAqXG4gKiBUaGUgYXNzZXQgY2FuIGJlIHVzZWQgYnkgb3RoZXIgY29uc3RydWN0cy5cbiAqXG4gKiBAc3RhYmlsaXR5IHN0YWJsZVxuICovXG5leHBvcnQgY2xhc3MgSmF2YVNjcmlwdEFzc2V0IGV4dGVuZHMgQXNzZXQ8SmF2YVNjcmlwdEFzc2V0UHJvcHM+IHt9XG5cbi8qKlxuICogQnVuZGxlcyB0aGUgZW50cnkgcG9pbnRzIGFuZCBjcmVhdGVzIGEgQ0RLIGFzc2V0IHdoaWNoIGlzIHVwbG9hZGVkIHRvIHRoZSBib290c3RyYXBwZWQgQ0RLIFMzIGJ1Y2tldCBkdXJpbmcgZGVwbG95bWVudC5cbiAqXG4gKiBUaGUgYXNzZXQgY2FuIGJlIHVzZWQgYnkgb3RoZXIgY29uc3RydWN0cy5cbiAqXG4gKiBAc3RhYmlsaXR5IHN0YWJsZVxuICovXG5leHBvcnQgY2xhc3MgVHlwZVNjcmlwdEFzc2V0IGV4dGVuZHMgQXNzZXQ8VHlwZVNjcmlwdEFzc2V0UHJvcHM+IHt9XG4iXX0=
package/lib/bundler.d.ts CHANGED
@@ -13,15 +13,15 @@ export interface BundlerProps {
13
13
  /**
14
14
  * Build options passed on to esbuild. Please refer to the esbuild Build API docs for details.
15
15
  *
16
- * - `buildOptions.outdir: string`
16
+ * * `buildOptions.outdir: string`
17
17
  * The actual path for the output directory is defined by CDK. However setting this option allows to write files into a subdirectory. \
18
18
  * For example `{ outdir: 'js' }` will create an asset with a single directory called `js`, which contains all built files. This approach can be useful for static website deployments, where JavaScript code should be placed into a subdirectory. \
19
19
  * *Cannot be used together with `outfile`*.
20
- * - `buildOptions.outfile: string`
20
+ * * `buildOptions.outfile: string`
21
21
  * Relative path to a file inside the CDK asset output directory.
22
22
  * For example `{ outfile: 'js/index.js' }` will create an asset with a single directory called `js`, which contains a single file `index.js`. This can be useful to rename the entry point. \
23
23
  * *Cannot be used with multiple entryPoints or together with `outdir`.*
24
- * - `buildOptions.absWorkingDir: string`
24
+ * * `buildOptions.absWorkingDir: string`
25
25
  * Absolute path to the [esbuild working directory](https://esbuild.github.io/api/#working-directory) and defaults to the [current working directory](https://en.wikipedia.org/wiki/Working_directory). \
26
26
  * If paths cannot be found, a good starting point is to look at the concatenation of `absWorkingDir + entryPoint`. It must always be a valid absolute path pointing to the entry point. When needed, the probably easiest way to set absWorkingDir is to use a combination of `resolve` and `__dirname` (see "Library authors" section in the documentation).
27
27
  *
@@ -30,12 +30,27 @@ export interface BundlerProps {
30
30
  */
31
31
  readonly buildOptions?: BuildOptions;
32
32
  /**
33
- * Copy additional files to the output directory, before the build runs.
33
+ * Copy additional files to the code [asset staging directory](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.AssetStaging.html#absolutestagedpath), before the build runs.
34
34
  * Files copied like this will be overwritten by esbuild if they share the same name as any of the outputs.
35
35
  *
36
+ * * When provided with a `string` or `array`, all files are copied to the root of asset staging directory.
37
+ * * When given a `map`, the key indicates the destination relative to the asset staging directory and the value is a list of all sources to be copied.
38
+ *
39
+ * Therefore the following values for `copyDir` are all equivalent:
40
+ * ```ts
41
+ * { copyDir: "path/to/source" }
42
+ * { copyDir: ["path/to/source"] }
43
+ * { copyDir: { ".": "path/to/source" } }
44
+ * { copyDir: { ".": ["path/to/source"] } }
45
+ * ```
46
+ * The destination cannot be outside of the asset staging directory.
47
+ * If you are receiving the error "Cannot copy files to outside of the asset staging directory."
48
+ * you are likely using `..` or an absolute path as key on the `copyDir` map.
49
+ * Instead use only relative paths and avoid `..`.
50
+ *
36
51
  * @stability stable
37
52
  */
38
- readonly copyDir?: string;
53
+ readonly copyDir?: string | string[] | Record<string, string | string[]>;
39
54
  /**
40
55
  * Escape hatch to provide the bundler with a custom build function.
41
56
  * The function will receive the computed options from the bundler. It can use with these options as it wishes, however `outdir`/`outfile` must be respected to integrate with CDK.
@@ -98,5 +113,6 @@ export declare class EsbuildBundler {
98
113
  * @stability experimental
99
114
  */
100
115
  props: BundlerProps);
116
+ private getCopyDirList;
101
117
  private getOutputOptions;
102
118
  }
package/lib/bundler.js CHANGED
@@ -3,6 +3,7 @@ var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.EsbuildBundler = void 0;
5
5
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const fs_1 = require("fs");
6
7
  const path_1 = require("path");
7
8
  const aws_cdk_lib_1 = require("aws-cdk-lib");
8
9
  const esbuild_wrapper_1 = require("./esbuild-wrapper");
@@ -46,14 +47,25 @@ class EsbuildBundler {
46
47
  const { buildFn = esbuild_wrapper_1.buildSync } = this.props;
47
48
  this.local = {
48
49
  tryBundle: (outputDir, _options) => {
49
- var _b, _c, _d, _e;
50
+ var _b;
51
+ if (this.props.copyDir) {
52
+ const copyDir = this.getCopyDirList(this.props.copyDir);
53
+ copyDir.forEach(([dest, src]) => {
54
+ var _b, _c, _d;
55
+ const srcDir = path_1.resolve((_d = (_c = (_b = this.props) === null || _b === void 0 ? void 0 : _b.buildOptions) === null || _c === void 0 ? void 0 : _c.absWorkingDir) !== null && _d !== void 0 ? _d : process.cwd(), src);
56
+ const destDir = path_1.resolve(outputDir, dest);
57
+ const destToOutput = path_1.relative(outputDir, destDir);
58
+ if (destToOutput.startsWith('..') || path_1.isAbsolute(destToOutput)) {
59
+ throw new Error('Cannot copy files to outside of the asset staging directory. See docs for details.');
60
+ }
61
+ fs_1.mkdirSync(destDir, { recursive: true });
62
+ aws_cdk_lib_1.FileSystem.copyDirectory(srcDir, destDir);
63
+ });
64
+ }
50
65
  try {
51
- if (this.props.copyDir) {
52
- aws_cdk_lib_1.FileSystem.copyDirectory(path_1.resolve((_d = (_c = (_b = this.props) === null || _b === void 0 ? void 0 : _b.buildOptions) === null || _c === void 0 ? void 0 : _c.absWorkingDir) !== null && _d !== void 0 ? _d : process.cwd(), this.props.copyDir), outputDir);
53
- }
54
66
  const buildResult = buildFn({
55
67
  entryPoints,
56
- ...(((_e = this.props) === null || _e === void 0 ? void 0 : _e.buildOptions) || {}),
68
+ ...(((_b = this.props) === null || _b === void 0 ? void 0 : _b.buildOptions) || {}),
57
69
  ...this.getOutputOptions(outputDir, { normalize: path_1.normalize, join: path_1.join }),
58
70
  });
59
71
  formatMessages_1.printBuildMessages(buildResult, { prefix: 'Build ' });
@@ -65,6 +77,31 @@ class EsbuildBundler {
65
77
  },
66
78
  };
67
79
  }
80
+ getCopyDirList(copyDir) {
81
+ // Nothing to copy
82
+ if (!copyDir) {
83
+ return [];
84
+ }
85
+ // List of strings
86
+ if (Array.isArray(copyDir)) {
87
+ return copyDir.map((src) => ['.', src]);
88
+ }
89
+ // A map
90
+ if (typeof copyDir === 'object' &&
91
+ !Array.isArray(copyDir) &&
92
+ copyDir !== null) {
93
+ return Object
94
+ .entries(copyDir)
95
+ .flatMap(([dest, sources]) => {
96
+ if (Array.isArray(sources)) {
97
+ return sources.map((src) => [dest, src]);
98
+ }
99
+ return [[dest, sources]];
100
+ });
101
+ }
102
+ // A single string
103
+ return [['.', copyDir]];
104
+ }
68
105
  getOutputOptions(cdkOutputDir, path = path_1.posix) {
69
106
  var _b, _c, _d, _e, _f, _g;
70
107
  if ((_c = (_b = this.props) === null || _b === void 0 ? void 0 : _b.buildOptions) === null || _c === void 0 ? void 0 : _c.outfile) {
@@ -81,5 +118,5 @@ class EsbuildBundler {
81
118
  }
82
119
  exports.EsbuildBundler = EsbuildBundler;
83
120
  _a = JSII_RTTI_SYMBOL_1;
84
- EsbuildBundler[_a] = { fqn: "@mrgrain/cdk-esbuild.EsbuildBundler", version: "3.3.0" };
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9idW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0JBQXVEO0FBQ3ZELDZDQUtxQjtBQUVyQix1REFBOEM7QUFDOUMscURBQXNEO0FBd0R0RDs7Ozs7R0FLRztBQUNILE1BQWEsY0FBYztJQWV6Qjs7T0FFRztJQUNIO0lBQ0U7Ozs7O09BS0c7SUFDYSxXQUF3QjtJQUV4Qzs7OztPQUlHO0lBQ2EsS0FBbUI7O1FBUG5CLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBT3hCLFVBQUssR0FBTCxLQUFLLENBQWM7UUF4QnJDOzs7O1dBSUc7UUFDYSxVQUFLLEdBQUcseUJBQVcsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFxQjFELElBQUksT0FBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsWUFBWSwwQ0FBRSxPQUFPLFlBQUksS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFlBQVksMENBQUUsTUFBTSxDQUFBLEVBQUU7WUFDL0QsTUFBTSxJQUFJLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO1NBQzNEO1FBRUQsTUFBTSxFQUFFLE9BQU8sR0FBRywyQkFBUyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUUzQyxJQUFJLENBQUMsS0FBSyxHQUFHO1lBQ1gsU0FBUyxFQUFFLENBQUMsU0FBaUIsRUFBRSxRQUF5QixFQUFXLEVBQUU7O2dCQUNuRSxJQUFJO29CQUNGLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUU7d0JBQ3RCLHdCQUFVLENBQUMsYUFBYSxDQUN0QixjQUFPLG1CQUNMLElBQUksQ0FBQyxLQUFLLDBDQUFFLFlBQVksMENBQUUsYUFBYSxtQ0FBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQ3hELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUNuQixFQUNELFNBQVMsQ0FDVixDQUFDO3FCQUNIO29CQUVELE1BQU0sV0FBVyxHQUFnQixPQUFPLENBQUM7d0JBQ3ZDLFdBQVc7d0JBQ1gsR0FBRyxDQUFDLE9BQUEsSUFBSSxDQUFDLEtBQUssMENBQUUsWUFBWSxLQUFJLEVBQUUsQ0FBQzt3QkFDbkMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLEVBQUUsU0FBUyxFQUFULGdCQUFTLEVBQUUsSUFBSSxFQUFKLFdBQUksRUFBRSxDQUFDO3FCQUN6RCxDQUFDLENBQUM7b0JBRUgsbUNBQWtCLENBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7aUJBQ3ZEO2dCQUFDLE9BQU8sS0FBSyxFQUFFO29CQUNkLG1DQUFrQixDQUFDLEtBQXFCLEVBQUUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztpQkFDakU7Z0JBRUQsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTyxnQkFBZ0IsQ0FDdEIsWUFBb0IsRUFDcEIsT0FBaUQsWUFBSzs7UUFFdEQsZ0JBQUksSUFBSSxDQUFDLEtBQUssMENBQUUsWUFBWSwwQ0FBRSxPQUFPLEVBQUU7WUFDckMsT0FBTztnQkFDTCxNQUFNLEVBQUUsU0FBUztnQkFDakIsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQ3JCLElBQUksQ0FBQyxJQUFJLENBQ1AsR0FBSSxDQUFDLFlBQVksY0FBRSxJQUFJLENBQUMsS0FBSywwQ0FBRSxZQUFZLDBDQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FDMUQsT0FBTyxDQUNLLENBQ2YsQ0FDRjthQUNGLENBQUM7U0FDSDtRQUVELE9BQU87WUFDTCxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FDcEIsSUFBSSxDQUFDLElBQUksQ0FDUCxHQUFJLENBQUMsWUFBWSxjQUFFLElBQUksQ0FBQyxLQUFLLDBDQUFFLFlBQVksMENBQUUsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUN6RCxPQUFPLENBQ0ssQ0FDZixDQUNGO1lBQ0QsT0FBTyxFQUFFLFNBQVM7U0FDbkIsQ0FBQztJQUNKLENBQUM7O0FBaEdILHdDQWlHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpvaW4sIG5vcm1hbGl6ZSwgcmVzb2x2ZSwgcG9zaXggfSBmcm9tICdwYXRoJztcbmltcG9ydCB7XG4gIEJ1bmRsaW5nT3B0aW9ucyxcbiAgRG9ja2VySW1hZ2UsXG4gIEZpbGVTeXN0ZW0sXG4gIElMb2NhbEJ1bmRsaW5nLFxufSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBCdWlsZEZhaWx1cmUsIEJ1aWxkT3B0aW9ucywgQnVpbGRSZXN1bHQgfSBmcm9tICcuL2VzYnVpbGQtdHlwZXMnO1xuaW1wb3J0IHsgYnVpbGRTeW5jIH0gZnJvbSAnLi9lc2J1aWxkLXdyYXBwZXInO1xuaW1wb3J0IHsgcHJpbnRCdWlsZE1lc3NhZ2VzIH0gZnJvbSAnLi9mb3JtYXRNZXNzYWdlcyc7XG5cbi8qKlxuICogQSByZWxhdGl2ZSBwYXRoIG9yIGxpc3Qgb3IgbWFwIG9mIHJlbGF0aXZlIHBhdGhzIHRvIHRoZSBlbnRyeSBwb2ludHMgb2YgeW91ciBjb2RlIGZyb20gdGhlIHJvb3Qgb2YgdGhlIHByb2plY3QuIEUuZy4gYHNyYy9pbmRleC50c2AuXG4gKlxuICogQHN0YWJpbGl0eSBzdGFibGVcbiAqL1xuZXhwb3J0IHR5cGUgRW50cnlQb2ludHMgPSBzdHJpbmcgfCBzdHJpbmdbXSB8IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbi8qKlxuICogQHN0YWJpbGl0eSBzdGFibGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCdW5kbGVyUHJvcHMge1xuICAvKipcbiAgICogQnVpbGQgb3B0aW9ucyBwYXNzZWQgb24gdG8gZXNidWlsZC4gUGxlYXNlIHJlZmVyIHRvIHRoZSBlc2J1aWxkIEJ1aWxkIEFQSSBkb2NzIGZvciBkZXRhaWxzLlxuICAgKlxuICAgKiAtIGBidWlsZE9wdGlvbnMub3V0ZGlyOiBzdHJpbmdgXG4gICAqIFRoZSBhY3R1YWwgcGF0aCBmb3IgdGhlIG91dHB1dCBkaXJlY3RvcnkgaXMgZGVmaW5lZCBieSBDREsuIEhvd2V2ZXIgc2V0dGluZyB0aGlzIG9wdGlvbiBhbGxvd3MgdG8gd3JpdGUgZmlsZXMgaW50byBhIHN1YmRpcmVjdG9yeS4gXFxcbiAgICogRm9yIGV4YW1wbGUgYHsgb3V0ZGlyOiAnanMnIH1gIHdpbGwgY3JlYXRlIGFuIGFzc2V0IHdpdGggYSBzaW5nbGUgZGlyZWN0b3J5IGNhbGxlZCBganNgLCB3aGljaCBjb250YWlucyBhbGwgYnVpbHQgZmlsZXMuIFRoaXMgYXBwcm9hY2ggY2FuIGJlIHVzZWZ1bCBmb3Igc3RhdGljIHdlYnNpdGUgZGVwbG95bWVudHMsIHdoZXJlIEphdmFTY3JpcHQgY29kZSBzaG91bGQgYmUgcGxhY2VkIGludG8gYSBzdWJkaXJlY3RvcnkuIFxcXG4gICAqICpDYW5ub3QgYmUgdXNlZCB0b2dldGhlciB3aXRoIGBvdXRmaWxlYCouXG4gICAqIC0gYGJ1aWxkT3B0aW9ucy5vdXRmaWxlOiBzdHJpbmdgXG4gICAqIFJlbGF0aXZlIHBhdGggdG8gYSBmaWxlIGluc2lkZSB0aGUgQ0RLIGFzc2V0IG91dHB1dCBkaXJlY3RvcnkuXG4gICAqIEZvciBleGFtcGxlIGB7IG91dGZpbGU6ICdqcy9pbmRleC5qcycgfWAgd2lsbCBjcmVhdGUgYW4gYXNzZXQgd2l0aCBhIHNpbmdsZSBkaXJlY3RvcnkgY2FsbGVkIGBqc2AsIHdoaWNoIGNvbnRhaW5zIGEgc2luZ2xlIGZpbGUgYGluZGV4LmpzYC4gVGhpcyBjYW4gYmUgdXNlZnVsIHRvIHJlbmFtZSB0aGUgZW50cnkgcG9pbnQuIFxcXG4gICAqICpDYW5ub3QgYmUgdXNlZCB3aXRoIG11bHRpcGxlIGVudHJ5UG9pbnRzIG9yIHRvZ2V0aGVyIHdpdGggYG91dGRpcmAuKlxuICAgKiAtIGBidWlsZE9wdGlvbnMuYWJzV29ya2luZ0Rpcjogc3RyaW5nYFxuICAgKiBBYnNvbHV0ZSBwYXRoIHRvIHRoZSBbZXNidWlsZCB3b3JraW5nIGRpcmVjdG9yeV0oaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3dvcmtpbmctZGlyZWN0b3J5KSBhbmQgZGVmYXVsdHMgdG8gdGhlIFtjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5XShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Xb3JraW5nX2RpcmVjdG9yeSkuIFxcXG4gICAqIElmIHBhdGhzIGNhbm5vdCBiZSBmb3VuZCwgYSBnb29kIHN0YXJ0aW5nIHBvaW50IGlzIHRvIGxvb2sgYXQgdGhlIGNvbmNhdGVuYXRpb24gb2YgYGFic1dvcmtpbmdEaXIgKyBlbnRyeVBvaW50YC4gSXQgbXVzdCBhbHdheXMgYmUgYSB2YWxpZCBhYnNvbHV0ZSBwYXRoIHBvaW50aW5nIHRvIHRoZSBlbnRyeSBwb2ludC4gV2hlbiBuZWVkZWQsIHRoZSBwcm9iYWJseSBlYXNpZXN0IHdheSB0byBzZXQgYWJzV29ya2luZ0RpciBpcyB0byB1c2UgYSBjb21iaW5hdGlvbiBvZiBgcmVzb2x2ZWAgYW5kIGBfX2Rpcm5hbWVgIChzZWUgXCJMaWJyYXJ5IGF1dGhvcnNcIiBzZWN0aW9uIGluIHRoZSBkb2N1bWVudGF0aW9uKS5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jYnVpbGQtYXBpXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBidWlsZE9wdGlvbnM/OiBCdWlsZE9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIENvcHkgYWRkaXRpb25hbCBmaWxlcyB0byB0aGUgb3V0cHV0IGRpcmVjdG9yeSwgYmVmb3JlIHRoZSBidWlsZCBydW5zLlxuICAgKiBGaWxlcyBjb3BpZWQgbGlrZSB0aGlzIHdpbGwgYmUgb3ZlcndyaXR0ZW4gYnkgZXNidWlsZCBpZiB0aGV5IHNoYXJlIHRoZSBzYW1lIG5hbWUgYXMgYW55IG9mIHRoZSBvdXRwdXRzLlxuICAgKlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgY29weURpcj86IHN0cmluZztcblxuXG4gIC8qKlxuICAgKiBFc2NhcGUgaGF0Y2ggdG8gcHJvdmlkZSB0aGUgYnVuZGxlciB3aXRoIGEgY3VzdG9tIGJ1aWxkIGZ1bmN0aW9uLlxuICAgKiBUaGUgZnVuY3Rpb24gd2lsbCByZWNlaXZlIHRoZSBjb21wdXRlZCBvcHRpb25zIGZyb20gdGhlIGJ1bmRsZXIuIEl0IGNhbiB1c2Ugd2l0aCB0aGVzZSBvcHRpb25zIGFzIGl0IHdpc2hlcywgaG93ZXZlciBgb3V0ZGlyYC9gb3V0ZmlsZWAgbXVzdCBiZSByZXNwZWN0ZWQgdG8gaW50ZWdyYXRlIHdpdGggQ0RLLlxuICAgKiBNdXN0IHRocm93IGEgYEJ1aWxkRmFpbHVyZWAgb24gZmFpbHVyZSB0byBjb3JyZWN0bHkgaW5mb3JtIHRoZSBidW5kbGVyLlxuICAgKlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKiBAdHlwZSBlc2J1aWxkLmJ1aWxkU3luY1xuICAgKiBAcmV0dXJucyBlc2J1aWxkLkJ1aWxkUmVzdWx0XG4gICAqIEB0aHJvd3MgZXNidWlsZC5CdWlsZEZhaWx1cmVcbiAgICogQGRlZmF1bHQgZXNidWlsZC5idWlsZFN5bmNcbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkRm4/OiBhbnk7XG59XG5cbi8qKlxuICogTG93LWxldmVsIGNvbnN0cnVjdCB0aGF0IGNhbiBiZSB1c2VkIHdoZXJlIGBCdW5kbGluZ09wdGlvbnNgIGFyZSByZXF1aXJlZC5cbiAqIFRoaXMgY2xhc3MgZGlyZWN0bHkgaW50ZXJmYWNlcyB3aXRoIGVzYnVpbGQgYW5kIHByb3ZpZGVzIGFsbW9zdCBubyBjb25maWd1cmF0aW9uIHNhZmVndWFyZHMuXG4gKlxuICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAqL1xuZXhwb3J0IGNsYXNzIEVzYnVpbGRCdW5kbGVyIHtcbiAgLyoqXG4gICAqIEltcGxlbWVudGF0aW9uIG9mIGBJTG9jYWxCdW5kbGluZ2AgaW50ZXJmYWNlLCByZXNwb25zaWJsZSBmb3IgY2FsbGluZyBlc2J1aWxkIGZ1bmN0aW9ucy5cbiAgICpcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBsb2NhbDogSUxvY2FsQnVuZGxpbmc7XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFRoaXMgdmFsdWUgaXMgaWdub3JlZCBzaW5jZSB0aGUgYnVuZGxlciBpcyBhbHdheXMgdXNpbmcgYSBsb2NhbGx5IGluc3RhbGxlZCB2ZXJzaW9uIG9mIGVzYnVpbGQuIEhvd2V2ZXIgdGhlIHByb3BlcnR5IGlzIHJlcXVpcmVkIHRvIGNvbXBseSB3aXRoIHRoZSBgQnVuZGxpbmdPcHRpb25zYCBpbnRlcmZhY2UuXG4gICAqXG4gICAqIEBzdGFiaWxpdHkgZGVwcmVjYXRlZFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGltYWdlID0gRG9ja2VySW1hZ2UuZnJvbVJlZ2lzdHJ5KCdzY3JhdGNoJyk7XG5cbiAgLyoqXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgLyoqXG4gICAgICogQSByZWxhdGl2ZSBwYXRoIG9yIGxpc3Qgb3IgbWFwIG9mIHJlbGF0aXZlIHBhdGhzIHRvIHRoZSBlbnRyeSBwb2ludHMgb2YgeW91ciBjb2RlIGZyb20gdGhlIHJvb3Qgb2YgdGhlIHByb2plY3QuXG4gICAgICogRS5nLiBgc3JjL2luZGV4LnRzYC5cbiAgICAgKlxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGVudHJ5UG9pbnRzOiBFbnRyeVBvaW50cyxcblxuICAgIC8qKlxuICAgICAqIFByb3BzIHRvIGNoYW5nZSB0aGUgYmVoYXZpb3VyIG9mIHRoZSBidW5kbGVyLlxuICAgICAqXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgcHJvcHM6IEJ1bmRsZXJQcm9wcyxcbiAgKSB7XG4gICAgaWYgKHByb3BzPy5idWlsZE9wdGlvbnM/Lm91dGZpbGUgJiYgcHJvcHM/LmJ1aWxkT3B0aW9ucz8ub3V0ZGlyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCB1c2UgYm90aCBcIm91dGZpbGVcIiBhbmQgXCJvdXRkaXJcIicpO1xuICAgIH1cblxuICAgIGNvbnN0IHsgYnVpbGRGbiA9IGJ1aWxkU3luYyB9ID0gdGhpcy5wcm9wcztcblxuICAgIHRoaXMubG9jYWwgPSB7XG4gICAgICB0cnlCdW5kbGU6IChvdXRwdXREaXI6IHN0cmluZywgX29wdGlvbnM6IEJ1bmRsaW5nT3B0aW9ucyk6IGJvb2xlYW4gPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGlmICh0aGlzLnByb3BzLmNvcHlEaXIpIHtcbiAgICAgICAgICAgIEZpbGVTeXN0ZW0uY29weURpcmVjdG9yeShcbiAgICAgICAgICAgICAgcmVzb2x2ZShcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzPy5idWlsZE9wdGlvbnM/LmFic1dvcmtpbmdEaXIgPz8gcHJvY2Vzcy5jd2QoKSxcbiAgICAgICAgICAgICAgICB0aGlzLnByb3BzLmNvcHlEaXIsXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIG91dHB1dERpcixcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgYnVpbGRSZXN1bHQ6IEJ1aWxkUmVzdWx0ID0gYnVpbGRGbih7XG4gICAgICAgICAgICBlbnRyeVBvaW50cyxcbiAgICAgICAgICAgIC4uLih0aGlzLnByb3BzPy5idWlsZE9wdGlvbnMgfHwge30pLFxuICAgICAgICAgICAgLi4udGhpcy5nZXRPdXRwdXRPcHRpb25zKG91dHB1dERpciwgeyBub3JtYWxpemUsIGpvaW4gfSksXG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBwcmludEJ1aWxkTWVzc2FnZXMoYnVpbGRSZXN1bHQsIHsgcHJlZml4OiAnQnVpbGQgJyB9KTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBwcmludEJ1aWxkTWVzc2FnZXMoZXJyb3IgYXMgQnVpbGRGYWlsdXJlLCB7IHByZWZpeDogJ0J1aWxkICcgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0T3V0cHV0T3B0aW9ucyhcbiAgICBjZGtPdXRwdXREaXI6IHN0cmluZyxcbiAgICBwYXRoOiBQaWNrPHR5cGVvZiBwb3NpeCwgJ25vcm1hbGl6ZScgfCAnam9pbic+ID0gcG9zaXgsXG4gICk6IEJ1aWxkT3B0aW9ucyB7XG4gICAgaWYgKHRoaXMucHJvcHM/LmJ1aWxkT3B0aW9ucz8ub3V0ZmlsZSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgb3V0ZGlyOiB1bmRlZmluZWQsXG4gICAgICAgIG91dGZpbGU6IHBhdGgubm9ybWFsaXplKFxuICAgICAgICAgIHBhdGguam9pbihcbiAgICAgICAgICAgIC4uLihbY2RrT3V0cHV0RGlyLCB0aGlzLnByb3BzPy5idWlsZE9wdGlvbnM/Lm91dGZpbGVdLmZpbHRlcihcbiAgICAgICAgICAgICAgQm9vbGVhbixcbiAgICAgICAgICAgICkgYXMgc3RyaW5nW10pLFxuICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBvdXRkaXI6IHBhdGgubm9ybWFsaXplKFxuICAgICAgICBwYXRoLmpvaW4oXG4gICAgICAgICAgLi4uKFtjZGtPdXRwdXREaXIsIHRoaXMucHJvcHM/LmJ1aWxkT3B0aW9ucz8ub3V0ZGlyXS5maWx0ZXIoXG4gICAgICAgICAgICBCb29sZWFuLFxuICAgICAgICAgICkgYXMgc3RyaW5nW10pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICAgIG91dGZpbGU6IHVuZGVmaW5lZCxcbiAgICB9O1xuICB9XG59XG4iXX0=
121
+ EsbuildBundler[_a] = { fqn: "@mrgrain/cdk-esbuild.EsbuildBundler", version: "3.4.0" };
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9idW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsMkJBQStCO0FBQy9CLCtCQUE2RTtBQUM3RSw2Q0FLcUI7QUFFckIsdURBQThDO0FBQzlDLHFEQUFzRDtBQXVFdEQ7Ozs7O0dBS0c7QUFDSCxNQUFhLGNBQWM7SUFlekI7O09BRUc7SUFDSDtJQUNFOzs7OztPQUtHO0lBQ2EsV0FBd0I7SUFFeEM7Ozs7T0FJRztJQUNhLEtBQW1COztRQVBuQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQU94QixVQUFLLEdBQUwsS0FBSyxDQUFjO1FBeEJyQzs7OztXQUlHO1FBQ2EsVUFBSyxHQUFHLHlCQUFXLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBcUIxRCxJQUFJLE9BQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFlBQVksMENBQUUsT0FBTyxZQUFJLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxZQUFZLDBDQUFFLE1BQU0sQ0FBQSxFQUFFO1lBQy9ELE1BQU0sSUFBSSxLQUFLLENBQUMsd0NBQXdDLENBQUMsQ0FBQztTQUMzRDtRQUVELE1BQU0sRUFBRSxPQUFPLEdBQUcsMkJBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFM0MsSUFBSSxDQUFDLEtBQUssR0FBRztZQUNYLFNBQVMsRUFBRSxDQUFDLFNBQWlCLEVBQUUsUUFBeUIsRUFBVyxFQUFFOztnQkFFbkUsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRTtvQkFDdEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUV4RCxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRTs7d0JBQzlCLE1BQU0sTUFBTSxHQUFHLGNBQU8sbUJBQ3BCLElBQUksQ0FBQyxLQUFLLDBDQUFFLFlBQVksMENBQUUsYUFBYSxtQ0FBSSxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQ3hELEdBQUcsQ0FDSixDQUFDO3dCQUNGLE1BQU0sT0FBTyxHQUFHLGNBQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUU7d0JBRTFDLE1BQU0sWUFBWSxHQUFHLGVBQVEsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7d0JBQ2xELElBQUksWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxpQkFBVSxDQUFDLFlBQVksQ0FBQyxFQUFFOzRCQUM3RCxNQUFNLElBQUksS0FBSyxDQUFDLG9GQUFvRixDQUFDLENBQUM7eUJBQ3ZHO3dCQUVELGNBQVMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQzt3QkFDeEMsd0JBQVUsQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO29CQUM1QyxDQUFDLENBQUMsQ0FBQztpQkFDSjtnQkFFRCxJQUFJO29CQUNGLE1BQU0sV0FBVyxHQUFnQixPQUFPLENBQUM7d0JBQ3ZDLFdBQVc7d0JBQ1gsR0FBRyxDQUFDLE9BQUEsSUFBSSxDQUFDLEtBQUssMENBQUUsWUFBWSxLQUFJLEVBQUUsQ0FBQzt3QkFDbkMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLEVBQUUsU0FBUyxFQUFULGdCQUFTLEVBQUUsSUFBSSxFQUFKLFdBQUksRUFBRSxDQUFDO3FCQUN6RCxDQUFDLENBQUM7b0JBRUgsbUNBQWtCLENBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7aUJBQ3ZEO2dCQUFDLE9BQU8sS0FBSyxFQUFFO29CQUNkLG1DQUFrQixDQUFDLEtBQXFCLEVBQUUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztpQkFDakU7Z0JBRUQsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTyxjQUFjLENBQUMsT0FBZ0M7UUFDckQsa0JBQWtCO1FBQ2xCLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDWixPQUFPLEVBQUUsQ0FBQztTQUNYO1FBRUQsa0JBQWtCO1FBQ2xCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUMxQixPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDakQ7UUFFRCxRQUFRO1FBQ1IsSUFDRSxPQUFPLE9BQU8sS0FBSyxRQUFRO1lBQzNCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFDdkIsT0FBTyxLQUFLLElBQUksRUFDaEI7WUFDQSxPQUFPLE1BQU07aUJBQ1YsT0FBTyxDQUFDLE9BQU8sQ0FBQztpQkFDaEIsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRTtnQkFDM0IsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUMxQixPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUE0QixDQUFDO2lCQUNyRTtnQkFFRCxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUMzQixDQUFDLENBQUMsQ0FBQztTQUNOO1FBRUQsa0JBQWtCO1FBQ2xCLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFpQixDQUFDLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRU8sZ0JBQWdCLENBQ3RCLFlBQW9CLEVBQ3BCLE9BQWlELFlBQUs7O1FBRXRELGdCQUFJLElBQUksQ0FBQyxLQUFLLDBDQUFFLFlBQVksMENBQUUsT0FBTyxFQUFFO1lBQ3JDLE9BQU87Z0JBQ0wsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUNyQixJQUFJLENBQUMsSUFBSSxDQUNQLEdBQUksQ0FBQyxZQUFZLGNBQUUsSUFBSSxDQUFDLEtBQUssMENBQUUsWUFBWSwwQ0FBRSxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQzFELE9BQU8sQ0FDSyxDQUNmLENBQ0Y7YUFDRixDQUFDO1NBQ0g7UUFFRCxPQUFPO1lBQ0wsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQ3BCLElBQUksQ0FBQyxJQUFJLENBQ1AsR0FBSSxDQUFDLFlBQVksY0FBRSxJQUFJLENBQUMsS0FBSywwQ0FBRSxZQUFZLDBDQUFFLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FDekQsT0FBTyxDQUNLLENBQ2YsQ0FDRjtZQUNELE9BQU8sRUFBRSxTQUFTO1NBQ25CLENBQUM7SUFDSixDQUFDOztBQTNJSCx3Q0E0SUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBta2RpclN5bmMgfSBmcm9tICdmcyc7XG5pbXBvcnQgeyBqb2luLCBub3JtYWxpemUsIHJlbGF0aXZlLCByZXNvbHZlLCBwb3NpeCwgaXNBYnNvbHV0ZSB9IGZyb20gJ3BhdGgnO1xuaW1wb3J0IHtcbiAgQnVuZGxpbmdPcHRpb25zLFxuICBEb2NrZXJJbWFnZSxcbiAgRmlsZVN5c3RlbSxcbiAgSUxvY2FsQnVuZGxpbmcsXG59IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IEJ1aWxkRmFpbHVyZSwgQnVpbGRPcHRpb25zLCBCdWlsZFJlc3VsdCB9IGZyb20gJy4vZXNidWlsZC10eXBlcyc7XG5pbXBvcnQgeyBidWlsZFN5bmMgfSBmcm9tICcuL2VzYnVpbGQtd3JhcHBlcic7XG5pbXBvcnQgeyBwcmludEJ1aWxkTWVzc2FnZXMgfSBmcm9tICcuL2Zvcm1hdE1lc3NhZ2VzJztcblxuLyoqXG4gKiBBIHJlbGF0aXZlIHBhdGggb3IgbGlzdCBvciBtYXAgb2YgcmVsYXRpdmUgcGF0aHMgdG8gdGhlIGVudHJ5IHBvaW50cyBvZiB5b3VyIGNvZGUgZnJvbSB0aGUgcm9vdCBvZiB0aGUgcHJvamVjdC4gRS5nLiBgc3JjL2luZGV4LnRzYC5cbiAqXG4gKiBAc3RhYmlsaXR5IHN0YWJsZVxuICovXG5leHBvcnQgdHlwZSBFbnRyeVBvaW50cyA9IHN0cmluZyB8IHN0cmluZ1tdIHwgUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuLyoqXG4gKiBAc3RhYmlsaXR5IHN0YWJsZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJ1bmRsZXJQcm9wcyB7XG4gIC8qKlxuICAgKiBCdWlsZCBvcHRpb25zIHBhc3NlZCBvbiB0byBlc2J1aWxkLiBQbGVhc2UgcmVmZXIgdG8gdGhlIGVzYnVpbGQgQnVpbGQgQVBJIGRvY3MgZm9yIGRldGFpbHMuXG4gICAqXG4gICAqICogYGJ1aWxkT3B0aW9ucy5vdXRkaXI6IHN0cmluZ2BcbiAgICogVGhlIGFjdHVhbCBwYXRoIGZvciB0aGUgb3V0cHV0IGRpcmVjdG9yeSBpcyBkZWZpbmVkIGJ5IENESy4gSG93ZXZlciBzZXR0aW5nIHRoaXMgb3B0aW9uIGFsbG93cyB0byB3cml0ZSBmaWxlcyBpbnRvIGEgc3ViZGlyZWN0b3J5LiBcXFxuICAgKiBGb3IgZXhhbXBsZSBgeyBvdXRkaXI6ICdqcycgfWAgd2lsbCBjcmVhdGUgYW4gYXNzZXQgd2l0aCBhIHNpbmdsZSBkaXJlY3RvcnkgY2FsbGVkIGBqc2AsIHdoaWNoIGNvbnRhaW5zIGFsbCBidWlsdCBmaWxlcy4gVGhpcyBhcHByb2FjaCBjYW4gYmUgdXNlZnVsIGZvciBzdGF0aWMgd2Vic2l0ZSBkZXBsb3ltZW50cywgd2hlcmUgSmF2YVNjcmlwdCBjb2RlIHNob3VsZCBiZSBwbGFjZWQgaW50byBhIHN1YmRpcmVjdG9yeS4gXFxcbiAgICogKkNhbm5vdCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggYG91dGZpbGVgKi5cbiAgICogKiBgYnVpbGRPcHRpb25zLm91dGZpbGU6IHN0cmluZ2BcbiAgICogUmVsYXRpdmUgcGF0aCB0byBhIGZpbGUgaW5zaWRlIHRoZSBDREsgYXNzZXQgb3V0cHV0IGRpcmVjdG9yeS5cbiAgICogRm9yIGV4YW1wbGUgYHsgb3V0ZmlsZTogJ2pzL2luZGV4LmpzJyB9YCB3aWxsIGNyZWF0ZSBhbiBhc3NldCB3aXRoIGEgc2luZ2xlIGRpcmVjdG9yeSBjYWxsZWQgYGpzYCwgd2hpY2ggY29udGFpbnMgYSBzaW5nbGUgZmlsZSBgaW5kZXguanNgLiBUaGlzIGNhbiBiZSB1c2VmdWwgdG8gcmVuYW1lIHRoZSBlbnRyeSBwb2ludC4gXFxcbiAgICogKkNhbm5vdCBiZSB1c2VkIHdpdGggbXVsdGlwbGUgZW50cnlQb2ludHMgb3IgdG9nZXRoZXIgd2l0aCBgb3V0ZGlyYC4qXG4gICAqICogYGJ1aWxkT3B0aW9ucy5hYnNXb3JraW5nRGlyOiBzdHJpbmdgXG4gICAqIEFic29sdXRlIHBhdGggdG8gdGhlIFtlc2J1aWxkIHdvcmtpbmcgZGlyZWN0b3J5XShodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jd29ya2luZy1kaXJlY3RvcnkpIGFuZCBkZWZhdWx0cyB0byB0aGUgW2N1cnJlbnQgd29ya2luZyBkaXJlY3RvcnldKGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1dvcmtpbmdfZGlyZWN0b3J5KS4gXFxcbiAgICogSWYgcGF0aHMgY2Fubm90IGJlIGZvdW5kLCBhIGdvb2Qgc3RhcnRpbmcgcG9pbnQgaXMgdG8gbG9vayBhdCB0aGUgY29uY2F0ZW5hdGlvbiBvZiBgYWJzV29ya2luZ0RpciArIGVudHJ5UG9pbnRgLiBJdCBtdXN0IGFsd2F5cyBiZSBhIHZhbGlkIGFic29sdXRlIHBhdGggcG9pbnRpbmcgdG8gdGhlIGVudHJ5IHBvaW50LiBXaGVuIG5lZWRlZCwgdGhlIHByb2JhYmx5IGVhc2llc3Qgd2F5IHRvIHNldCBhYnNXb3JraW5nRGlyIGlzIHRvIHVzZSBhIGNvbWJpbmF0aW9uIG9mIGByZXNvbHZlYCBhbmQgYF9fZGlybmFtZWAgKHNlZSBcIkxpYnJhcnkgYXV0aG9yc1wiIHNlY3Rpb24gaW4gdGhlIGRvY3VtZW50YXRpb24pLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNidWlsZC1hcGlcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkT3B0aW9ucz86IEJ1aWxkT3B0aW9ucztcblxuICAvKipcbiAgICogQ29weSBhZGRpdGlvbmFsIGZpbGVzIHRvIHRoZSBjb2RlIFthc3NldCBzdGFnaW5nIGRpcmVjdG9yeV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Nkay9hcGkvdjIvZG9jcy9hd3MtY2RrLWxpYi5Bc3NldFN0YWdpbmcuaHRtbCNhYnNvbHV0ZXN0YWdlZHBhdGgpLCBiZWZvcmUgdGhlIGJ1aWxkIHJ1bnMuXG4gICAqIEZpbGVzIGNvcGllZCBsaWtlIHRoaXMgd2lsbCBiZSBvdmVyd3JpdHRlbiBieSBlc2J1aWxkIGlmIHRoZXkgc2hhcmUgdGhlIHNhbWUgbmFtZSBhcyBhbnkgb2YgdGhlIG91dHB1dHMuXG4gICAqXG4gICAqICogV2hlbiBwcm92aWRlZCB3aXRoIGEgYHN0cmluZ2Agb3IgYGFycmF5YCwgYWxsIGZpbGVzIGFyZSBjb3BpZWQgdG8gdGhlIHJvb3Qgb2YgYXNzZXQgc3RhZ2luZyBkaXJlY3RvcnkuXG4gICAqICogV2hlbiBnaXZlbiBhIGBtYXBgLCB0aGUga2V5IGluZGljYXRlcyB0aGUgZGVzdGluYXRpb24gcmVsYXRpdmUgdG8gdGhlIGFzc2V0IHN0YWdpbmcgZGlyZWN0b3J5IGFuZCB0aGUgdmFsdWUgaXMgYSBsaXN0IG9mIGFsbCBzb3VyY2VzIHRvIGJlIGNvcGllZC5cbiAgICpcbiAgICogVGhlcmVmb3JlIHRoZSBmb2xsb3dpbmcgdmFsdWVzIGZvciBgY29weURpcmAgYXJlIGFsbCBlcXVpdmFsZW50OlxuICAgKiBgYGB0c1xuICAgKiB7IGNvcHlEaXI6IFwicGF0aC90by9zb3VyY2VcIiB9XG4gICAqIHsgY29weURpcjogW1wicGF0aC90by9zb3VyY2VcIl0gfVxuICAgKiB7IGNvcHlEaXI6IHsgXCIuXCI6IFwicGF0aC90by9zb3VyY2VcIiB9IH1cbiAgICogeyBjb3B5RGlyOiB7IFwiLlwiOiBbXCJwYXRoL3RvL3NvdXJjZVwiXSB9IH1cbiAgICogYGBgXG4gICAqIFRoZSBkZXN0aW5hdGlvbiBjYW5ub3QgYmUgb3V0c2lkZSBvZiB0aGUgYXNzZXQgc3RhZ2luZyBkaXJlY3RvcnkuXG4gICAqIElmIHlvdSBhcmUgcmVjZWl2aW5nIHRoZSBlcnJvciBcIkNhbm5vdCBjb3B5IGZpbGVzIHRvIG91dHNpZGUgb2YgdGhlIGFzc2V0IHN0YWdpbmcgZGlyZWN0b3J5LlwiXG4gICAqIHlvdSBhcmUgbGlrZWx5IHVzaW5nIGAuLmAgb3IgYW4gYWJzb2x1dGUgcGF0aCBhcyBrZXkgb24gdGhlIGBjb3B5RGlyYCBtYXAuXG4gICAqIEluc3RlYWQgdXNlIG9ubHkgcmVsYXRpdmUgcGF0aHMgYW5kIGF2b2lkIGAuLmAuXG4gICAqXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBjb3B5RGlyPzogc3RyaW5nIHwgc3RyaW5nW10gfCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBzdHJpbmcgW10+O1xuXG5cbiAgLyoqXG4gICAqIEVzY2FwZSBoYXRjaCB0byBwcm92aWRlIHRoZSBidW5kbGVyIHdpdGggYSBjdXN0b20gYnVpbGQgZnVuY3Rpb24uXG4gICAqIFRoZSBmdW5jdGlvbiB3aWxsIHJlY2VpdmUgdGhlIGNvbXB1dGVkIG9wdGlvbnMgZnJvbSB0aGUgYnVuZGxlci4gSXQgY2FuIHVzZSB3aXRoIHRoZXNlIG9wdGlvbnMgYXMgaXQgd2lzaGVzLCBob3dldmVyIGBvdXRkaXJgL2BvdXRmaWxlYCBtdXN0IGJlIHJlc3BlY3RlZCB0byBpbnRlZ3JhdGUgd2l0aCBDREsuXG4gICAqIE11c3QgdGhyb3cgYSBgQnVpbGRGYWlsdXJlYCBvbiBmYWlsdXJlIHRvIGNvcnJlY3RseSBpbmZvcm0gdGhlIGJ1bmRsZXIuXG4gICAqXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqIEB0eXBlIGVzYnVpbGQuYnVpbGRTeW5jXG4gICAqIEByZXR1cm5zIGVzYnVpbGQuQnVpbGRSZXN1bHRcbiAgICogQHRocm93cyBlc2J1aWxkLkJ1aWxkRmFpbHVyZVxuICAgKiBAZGVmYXVsdCBlc2J1aWxkLmJ1aWxkU3luY1xuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRGbj86IGFueTtcbn1cblxuLyoqXG4gKiBMb3ctbGV2ZWwgY29uc3RydWN0IHRoYXQgY2FuIGJlIHVzZWQgd2hlcmUgYEJ1bmRsaW5nT3B0aW9uc2AgYXJlIHJlcXVpcmVkLlxuICogVGhpcyBjbGFzcyBkaXJlY3RseSBpbnRlcmZhY2VzIHdpdGggZXNidWlsZCBhbmQgcHJvdmlkZXMgYWxtb3N0IG5vIGNvbmZpZ3VyYXRpb24gc2FmZWd1YXJkcy5cbiAqXG4gKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICovXG5leHBvcnQgY2xhc3MgRXNidWlsZEJ1bmRsZXIge1xuICAvKipcbiAgICogSW1wbGVtZW50YXRpb24gb2YgYElMb2NhbEJ1bmRsaW5nYCBpbnRlcmZhY2UsIHJlc3BvbnNpYmxlIGZvciBjYWxsaW5nIGVzYnVpbGQgZnVuY3Rpb25zLlxuICAgKlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGxvY2FsOiBJTG9jYWxCdW5kbGluZztcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVGhpcyB2YWx1ZSBpcyBpZ25vcmVkIHNpbmNlIHRoZSBidW5kbGVyIGlzIGFsd2F5cyB1c2luZyBhIGxvY2FsbHkgaW5zdGFsbGVkIHZlcnNpb24gb2YgZXNidWlsZC4gSG93ZXZlciB0aGUgcHJvcGVydHkgaXMgcmVxdWlyZWQgdG8gY29tcGx5IHdpdGggdGhlIGBCdW5kbGluZ09wdGlvbnNgIGludGVyZmFjZS5cbiAgICpcbiAgICogQHN0YWJpbGl0eSBkZXByZWNhdGVkXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaW1hZ2UgPSBEb2NrZXJJbWFnZS5mcm9tUmVnaXN0cnkoJ3NjcmF0Y2gnKTtcblxuICAvKipcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAvKipcbiAgICAgKiBBIHJlbGF0aXZlIHBhdGggb3IgbGlzdCBvciBtYXAgb2YgcmVsYXRpdmUgcGF0aHMgdG8gdGhlIGVudHJ5IHBvaW50cyBvZiB5b3VyIGNvZGUgZnJvbSB0aGUgcm9vdCBvZiB0aGUgcHJvamVjdC5cbiAgICAgKiBFLmcuIGBzcmMvaW5kZXgudHNgLlxuICAgICAqXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgZW50cnlQb2ludHM6IEVudHJ5UG9pbnRzLFxuXG4gICAgLyoqXG4gICAgICogUHJvcHMgdG8gY2hhbmdlIHRoZSBiZWhhdmlvdXIgb2YgdGhlIGJ1bmRsZXIuXG4gICAgICpcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBwcm9wczogQnVuZGxlclByb3BzLFxuICApIHtcbiAgICBpZiAocHJvcHM/LmJ1aWxkT3B0aW9ucz8ub3V0ZmlsZSAmJiBwcm9wcz8uYnVpbGRPcHRpb25zPy5vdXRkaXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHVzZSBib3RoIFwib3V0ZmlsZVwiIGFuZCBcIm91dGRpclwiJyk7XG4gICAgfVxuXG4gICAgY29uc3QgeyBidWlsZEZuID0gYnVpbGRTeW5jIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgdGhpcy5sb2NhbCA9IHtcbiAgICAgIHRyeUJ1bmRsZTogKG91dHB1dERpcjogc3RyaW5nLCBfb3B0aW9uczogQnVuZGxpbmdPcHRpb25zKTogYm9vbGVhbiA9PiB7XG5cbiAgICAgICAgaWYgKHRoaXMucHJvcHMuY29weURpcikge1xuICAgICAgICAgIGNvbnN0IGNvcHlEaXIgPSB0aGlzLmdldENvcHlEaXJMaXN0KHRoaXMucHJvcHMuY29weURpcik7XG5cbiAgICAgICAgICBjb3B5RGlyLmZvckVhY2goKFtkZXN0LCBzcmNdKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzcmNEaXIgPSByZXNvbHZlKFxuICAgICAgICAgICAgICB0aGlzLnByb3BzPy5idWlsZE9wdGlvbnM/LmFic1dvcmtpbmdEaXIgPz8gcHJvY2Vzcy5jd2QoKSxcbiAgICAgICAgICAgICAgc3JjLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IGRlc3REaXIgPSByZXNvbHZlKG91dHB1dERpciwgZGVzdCkgO1xuXG4gICAgICAgICAgICBjb25zdCBkZXN0VG9PdXRwdXQgPSByZWxhdGl2ZShvdXRwdXREaXIsIGRlc3REaXIpO1xuICAgICAgICAgICAgaWYgKGRlc3RUb091dHB1dC5zdGFydHNXaXRoKCcuLicpIHx8IGlzQWJzb2x1dGUoZGVzdFRvT3V0cHV0KSkge1xuICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBjb3B5IGZpbGVzIHRvIG91dHNpZGUgb2YgdGhlIGFzc2V0IHN0YWdpbmcgZGlyZWN0b3J5LiBTZWUgZG9jcyBmb3IgZGV0YWlscy4nKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbWtkaXJTeW5jKGRlc3REaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgICAgICAgICAgRmlsZVN5c3RlbS5jb3B5RGlyZWN0b3J5KHNyY0RpciwgZGVzdERpcik7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IGJ1aWxkUmVzdWx0OiBCdWlsZFJlc3VsdCA9IGJ1aWxkRm4oe1xuICAgICAgICAgICAgZW50cnlQb2ludHMsXG4gICAgICAgICAgICAuLi4odGhpcy5wcm9wcz8uYnVpbGRPcHRpb25zIHx8IHt9KSxcbiAgICAgICAgICAgIC4uLnRoaXMuZ2V0T3V0cHV0T3B0aW9ucyhvdXRwdXREaXIsIHsgbm9ybWFsaXplLCBqb2luIH0pLFxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgcHJpbnRCdWlsZE1lc3NhZ2VzKGJ1aWxkUmVzdWx0LCB7IHByZWZpeDogJ0J1aWxkICcgfSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgcHJpbnRCdWlsZE1lc3NhZ2VzKGVycm9yIGFzIEJ1aWxkRmFpbHVyZSwgeyBwcmVmaXg6ICdCdWlsZCAnIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldENvcHlEaXJMaXN0KGNvcHlEaXI6IEJ1bmRsZXJQcm9wc1snY29weURpciddKTogQXJyYXk8W3N0cmluZywgc3RyaW5nXT4ge1xuICAgIC8vIE5vdGhpbmcgdG8gY29weVxuICAgIGlmICghY29weURpcikge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIC8vIExpc3Qgb2Ygc3RyaW5nc1xuICAgIGlmIChBcnJheS5pc0FycmF5KGNvcHlEaXIpKSB7XG4gICAgICByZXR1cm4gY29weURpci5tYXAoKHNyYzogc3RyaW5nKSA9PiBbJy4nLCBzcmNdKTtcbiAgICB9XG5cbiAgICAvLyBBIG1hcFxuICAgIGlmIChcbiAgICAgIHR5cGVvZiBjb3B5RGlyID09PSAnb2JqZWN0JyAmJlxuICAgICAgIUFycmF5LmlzQXJyYXkoY29weURpcikgJiZcbiAgICAgIGNvcHlEaXIgIT09IG51bGxcbiAgICApIHtcbiAgICAgIHJldHVybiBPYmplY3RcbiAgICAgICAgLmVudHJpZXMoY29weURpcilcbiAgICAgICAgLmZsYXRNYXAoKFtkZXN0LCBzb3VyY2VzXSkgPT4ge1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHNvdXJjZXMpKSB7XG4gICAgICAgICAgICByZXR1cm4gc291cmNlcy5tYXAoKHNyYykgPT4gW2Rlc3QsIHNyY10pIGFzIEFycmF5PFtzdHJpbmcsIHN0cmluZ10+O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBbW2Rlc3QsIHNvdXJjZXNdXTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gQSBzaW5nbGUgc3RyaW5nXG4gICAgcmV0dXJuIFtbJy4nLCBjb3B5RGlyIGFzIHN0cmluZ11dO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRPdXRwdXRPcHRpb25zKFxuICAgIGNka091dHB1dERpcjogc3RyaW5nLFxuICAgIHBhdGg6IFBpY2s8dHlwZW9mIHBvc2l4LCAnbm9ybWFsaXplJyB8ICdqb2luJz4gPSBwb3NpeCxcbiAgKTogQnVpbGRPcHRpb25zIHtcbiAgICBpZiAodGhpcy5wcm9wcz8uYnVpbGRPcHRpb25zPy5vdXRmaWxlKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBvdXRkaXI6IHVuZGVmaW5lZCxcbiAgICAgICAgb3V0ZmlsZTogcGF0aC5ub3JtYWxpemUoXG4gICAgICAgICAgcGF0aC5qb2luKFxuICAgICAgICAgICAgLi4uKFtjZGtPdXRwdXREaXIsIHRoaXMucHJvcHM/LmJ1aWxkT3B0aW9ucz8ub3V0ZmlsZV0uZmlsdGVyKFxuICAgICAgICAgICAgICBCb29sZWFuLFxuICAgICAgICAgICAgKSBhcyBzdHJpbmdbXSksXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIG91dGRpcjogcGF0aC5ub3JtYWxpemUoXG4gICAgICAgIHBhdGguam9pbihcbiAgICAgICAgICAuLi4oW2Nka091dHB1dERpciwgdGhpcy5wcm9wcz8uYnVpbGRPcHRpb25zPy5vdXRkaXJdLmZpbHRlcihcbiAgICAgICAgICAgIEJvb2xlYW4sXG4gICAgICAgICAgKSBhcyBzdHJpbmdbXSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICAgb3V0ZmlsZTogdW5kZWZpbmVkLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
package/lib/code.js CHANGED
@@ -103,7 +103,7 @@ class JavaScriptCode extends Code {
103
103
  }
104
104
  exports.JavaScriptCode = JavaScriptCode;
105
105
  _a = JSII_RTTI_SYMBOL_1;
106
- JavaScriptCode[_a] = { fqn: "@mrgrain/cdk-esbuild.JavaScriptCode", version: "3.3.0" };
106
+ JavaScriptCode[_a] = { fqn: "@mrgrain/cdk-esbuild.JavaScriptCode", version: "3.4.0" };
107
107
  /**
108
108
  * Represents the deployed TypeScript Code.
109
109
  *
@@ -135,5 +135,5 @@ class TypeScriptCode extends Code {
135
135
  }
136
136
  exports.TypeScriptCode = TypeScriptCode;
137
137
  _b = JSII_RTTI_SYMBOL_1;
138
- TypeScriptCode[_b] = { fqn: "@mrgrain/cdk-esbuild.TypeScriptCode", version: "3.3.0" };
138
+ TypeScriptCode[_b] = { fqn: "@mrgrain/cdk-esbuild.TypeScriptCode", version: "3.4.0" };
139
139
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQWlEO0FBSWpELG1DQUtpQjtBQUlqQixTQUFTLGdCQUFnQjtJQUN2QixPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDM0QsQ0FBQztBQVc2RCxDQUFDO0FBQ0QsQ0FBQztBQUUvRCxNQUFlLElBQUk7SUFxQmpCOzs7O09BSUc7SUFDSCxZQUE0QixXQUF3QixFQUFFLEtBQVk7O1FBQXRDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBWnBEOzs7O1dBSUc7UUFDSSxhQUFRLEdBQVksS0FBSyxDQUFDO1FBUS9CLE1BQU0sY0FBYyxHQUEwQjtZQUM1QyxHQUFHLENBQUMsUUFBQyxLQUFLLENBQUMsWUFBWSwwQ0FBRSxRQUFRLENBQUE7Z0JBQ2pDLE9BQUEsS0FBSyxDQUFDLFlBQVksMENBQUUsUUFBUSxNQUFLLE1BQU07Z0JBQ3JDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sR0FBRyxnQkFBZ0IsRUFBRSxFQUFFO2dCQUMzRCxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQ1IsQ0FBQztRQUVGLElBQUksQ0FBQyxLQUFLLEdBQUc7WUFDWCxHQUFHLEtBQUs7WUFDUixXQUFXO1lBQ1gsWUFBWSxFQUFFO2dCQUNaLEdBQUcsY0FBYztnQkFDakIsR0FBRyxLQUFLLENBQUMsWUFBWTthQUN0QjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxDQUFDLEtBQWdCO1FBQ25CLHFGQUFxRjtRQUNyRixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUM5QixLQUFLLEVBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQ3JCLElBQUksQ0FBQyxLQUFLLENBQ1gsQ0FBQztTQUNIO2FBQU0sSUFBSSxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssbUJBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbkQsTUFBTSxJQUFJLEtBQUssQ0FDYixtREFDRSxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsU0FDdkIsS0FBSyxHQUFHLDhDQUE4QyxDQUN2RCxDQUFDO1NBQ0g7UUFFRCxPQUFPO1lBQ0wsVUFBVSxFQUFFO2dCQUNWLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVk7Z0JBQ25DLFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVc7YUFDbEM7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxjQUFjLENBQUMsUUFBcUIsRUFBRSxPQUE2QjtRQUNqRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQztTQUNqRTtRQUNELE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsZ0JBQWdCLEtBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFDNUUsNkNBQTZDO1FBQzdDLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFDN0QsQ0FBQztDQUNGO0FBRUQ7Ozs7R0FJRztBQUNILE1BQWEsY0FBZSxTQUFRLElBQWtDO0lBR3BFO0lBQ0U7Ozs7O09BS0c7SUFDSCxXQUF3QjtJQUN4Qjs7Ozs7Ozs7O09BU0c7SUFDSCxRQUE2QixFQUFFO1FBRS9CLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7UUF0QlQsZUFBVSxHQUFHLHVCQUFPLENBQUM7SUF1QnhDLENBQUM7O0FBeEJILHdDQXlCQzs7O0FBRUQ7Ozs7R0FJRztBQUNILE1BQWEsY0FBZSxTQUFRLElBQWtDO0lBR3BFO0lBQ0U7Ozs7O09BS0c7SUFDSCxXQUF3QjtJQUN4Qjs7Ozs7Ozs7O09BU0c7SUFDSCxRQUE2QixFQUFFO1FBRS9CLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7UUF0QlQsZUFBVSxHQUFHLHVCQUFPLENBQUM7SUF1QnhDLENBQUM7O0FBeEJILHdDQXlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENmblJlc291cmNlLCBTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IFJlc291cmNlQmluZE9wdGlvbnMgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHtcbiAgQXNzZXRCYXNlUHJvcHMsXG4gIEFzc2V0UHJvcHMsXG4gIEphdmFTY3JpcHRBc3NldCBhcyBKU0Fzc2V0LFxuICBUeXBlU2NyaXB0QXNzZXQgYXMgVFNBc3NldCxcbn0gZnJvbSAnLi9hc3NldCc7XG5pbXBvcnQgeyBFbnRyeVBvaW50cyB9IGZyb20gJy4vYnVuZGxlcic7XG5pbXBvcnQgeyBCdWlsZE9wdGlvbnMgfSBmcm9tICcuL2VzYnVpbGQtdHlwZXMnO1xuXG5mdW5jdGlvbiBub2RlTWFqb3JWZXJzaW9uKCk6IG51bWJlciB7XG4gIHJldHVybiBwYXJzZUludChwcm9jZXNzLnZlcnNpb25zLm5vZGUuc3BsaXQoJy4nKVswXSwgMTApO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvZGVDb25maWcge1xuICAvKipcbiAgICogVGhlIGxvY2F0aW9uIG9mIHRoZSBjb2RlIGluIFMzLlxuICAgKlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgczNMb2NhdGlvbjogTG9jYXRpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSmF2YVNjcmlwdENvZGVQcm9wcyBleHRlbmRzIEFzc2V0QmFzZVByb3BzIHt9O1xuZXhwb3J0IGludGVyZmFjZSBUeXBlU2NyaXB0Q29kZVByb3BzIGV4dGVuZHMgQXNzZXRCYXNlUHJvcHMge307XG5cbmFic3RyYWN0IGNsYXNzIENvZGU8XG4gIFByb3BzIGV4dGVuZHMgSmF2YVNjcmlwdENvZGVQcm9wcyB8IFR5cGVTY3JpcHRDb2RlUHJvcHMsXG4gIEFzc2V0IGV4dGVuZHMgSlNBc3NldCB8IFRTQXNzZXRcbj4ge1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVhZG9ubHkgYXNzZXRDbGFzczogbmV3IChcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IEFzc2V0UHJvcHNcbiAgKSA9PiBBc3NldDtcblxuICBwcm90ZWN0ZWQgcHJvcHM6IEFzc2V0UHJvcHM7XG5cbiAgcHJvdGVjdGVkIGFzc2V0ITogQXNzZXQ7XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgd2hldGhlciB0aGlzIENvZGUgaXMgaW5saW5lIGNvZGUgb3Igbm90LlxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCB0aGlzIHZhbHVlIGlzIGlnbm9yZWQgc2luY2UgaW5saW5lIGlzIG5vdyBkZXRlcm1pbmVkIGJhc2VkIG9uIHRoZSB0aGUgaW5saW5lQ29kZSBmaWVsZCBvZiBDb2RlQ29uZmlnIHJldHVybmVkIGZyb20gYmluZCgpLlxuICAgKi9cbiAgcHVibGljIGlzSW5saW5lOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBlbnRyeVBvaW50cyAtIFJlbGF0aXZlIHBhdGggdG8gdGhlIGFzc2V0IGNvZGUuIFVzZSBgcHJvcHMuYnVpbGRPcHRpb25zLmFic1dvcmtpbmdEaXJgIGlmIGFuIGFic29sdXRlIHBhdGggaXMgcmVxdWlyZWQuXG4gICAqIEBwYXJhbSBwcm9wcyAtIEFzc2V0IHByb3BlcnRpZXMuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgZW50cnlQb2ludHM6IEVudHJ5UG9pbnRzLCBwcm9wczogUHJvcHMpIHtcbiAgICBjb25zdCBkZWZhdWx0T3B0aW9uczogUGFydGlhbDxCdWlsZE9wdGlvbnM+ID0ge1xuICAgICAgLi4uKCFwcm9wcy5idWlsZE9wdGlvbnM/LnBsYXRmb3JtIHx8XG4gICAgICBwcm9wcy5idWlsZE9wdGlvbnM/LnBsYXRmb3JtID09PSAnbm9kZSdcbiAgICAgICAgPyB7IHBsYXRmb3JtOiAnbm9kZScsIHRhcmdldDogJ25vZGUnICsgbm9kZU1ham9yVmVyc2lvbigpIH1cbiAgICAgICAgOiB7fSksXG4gICAgfTtcblxuICAgIHRoaXMucHJvcHMgPSB7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIGVudHJ5UG9pbnRzLFxuICAgICAgYnVpbGRPcHRpb25zOiB7XG4gICAgICAgIC4uLmRlZmF1bHRPcHRpb25zLFxuICAgICAgICAuLi5wcm9wcy5idWlsZE9wdGlvbnMsXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBiaW5kKHNjb3BlOiBDb25zdHJ1Y3QpOiBDb2RlQ29uZmlnIHtcbiAgICAvLyBJZiB0aGUgc2FtZSBBc3NldENvZGUgaXMgdXNlZCBtdWx0aXBsZSB0aW1lcywgcmV0YWluIG9ubHkgdGhlIGZpcnN0IGluc3RhbnRpYXRpb24uXG4gICAgaWYgKCF0aGlzLmFzc2V0KSB7XG4gICAgICB0aGlzLmFzc2V0ID0gbmV3IHRoaXMuYXNzZXRDbGFzcyhcbiAgICAgICAgc2NvcGUsXG4gICAgICAgIHRoaXMuY29uc3RydWN0b3IubmFtZSxcbiAgICAgICAgdGhpcy5wcm9wcyxcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChTdGFjay5vZih0aGlzLmFzc2V0KSAhPT0gU3RhY2sub2Yoc2NvcGUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBBc3NldCBpcyBhbHJlYWR5IGFzc29jaWF0ZWQgd2l0aCBhbm90aGVyIHN0YWNrICcke1xuICAgICAgICAgIFN0YWNrLm9mKHRoaXMuYXNzZXQpLnN0YWNrTmFtZVxuICAgICAgICB9Jy4gYCArICdDcmVhdGUgYSBuZXcgQXNzZXQgaW5zdGFuY2UgZm9yIGV2ZXJ5IHN0YWNrLicsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBzM0xvY2F0aW9uOiB7XG4gICAgICAgIGJ1Y2tldE5hbWU6IHRoaXMuYXNzZXQuczNCdWNrZXROYW1lLFxuICAgICAgICBvYmplY3RLZXk6IHRoaXMuYXNzZXQuczNPYmplY3RLZXksXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIGFmdGVyIHRoZSBDRk4gZnVuY3Rpb24gcmVzb3VyY2UgaGFzIGJlZW4gY3JlYXRlZCB0byBhbGxvdyB0aGUgY29kZSBjbGFzcyB0byBiaW5kIHRvIGl0LlxuICAgKlxuICAgKiBTcGVjaWZpY2FsbHkgaXQncyByZXF1aXJlZCB0byBhbGxvdyBhc3NldHMgdG8gYWRkXG4gICAqIG1ldGFkYXRhIGZvciB0b29saW5nIGxpa2UgU0FNIENMSSB0byBiZSBhYmxlIHRvIGZpbmQgdGhlaXIgb3JpZ2lucy5cbiAgICpcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIGJpbmRUb1Jlc291cmNlKHJlc291cmNlOiBDZm5SZXNvdXJjZSwgb3B0aW9ucz86IFJlc291cmNlQmluZE9wdGlvbnMpIHtcbiAgICBpZiAoIXRoaXMuYXNzZXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignYmluZFRvUmVzb3VyY2UoKSBtdXN0IGJlIGNhbGxlZCBhZnRlciBiaW5kKCknKTtcbiAgICB9XG4gICAgY29uc3QgcmVzb3VyY2VQcm9wZXJ0eSA9IG9wdGlvbnM/LnJlc291cmNlUHJvcGVydHkgfHwgdGhpcy5jb25zdHJ1Y3Rvci5uYW1lO1xuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9pc3N1ZXMvMTQzMlxuICAgIHRoaXMuYXNzZXQuYWRkUmVzb3VyY2VNZXRhZGF0YShyZXNvdXJjZSwgcmVzb3VyY2VQcm9wZXJ0eSk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBkZXBsb3llZCBKYXZhU2NyaXB0IENvZGUuXG4gKlxuICogQHN0YWJpbGl0eSBzdGFibGVcbiAqL1xuZXhwb3J0IGNsYXNzIEphdmFTY3JpcHRDb2RlIGV4dGVuZHMgQ29kZTxKYXZhU2NyaXB0Q29kZVByb3BzLCBKU0Fzc2V0PiB7XG4gIHByb3RlY3RlZCByZWFkb25seSBhc3NldENsYXNzID0gSlNBc3NldDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAvKipcbiAgICAgKiBBIHJlbGF0aXZlIHBhdGggb3IgbGlzdCBvciBtYXAgb2YgcmVsYXRpdmUgcGF0aHMgdG8gdGhlIGVudHJ5IHBvaW50cyBvZiB5b3VyIGNvZGUgZnJvbSB0aGUgcm9vdCBvZiB0aGUgcHJvamVjdC5cbiAgICAgKiBFLmcuIGBzcmMvaW5kZXgudHNgLlxuICAgICAqXG4gICAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICAgKi9cbiAgICBlbnRyeVBvaW50czogRW50cnlQb2ludHMsXG4gICAgLyoqXG4gICAgICogUHJvcHMgdG8gY2hhbmdlIHRoZSBiZWhhdmlvciBvZiB0aGUgYnVuZGxlci5cbiAgICAgKlxuICAgICAqIERlZmF1bHQgdmFsdWVzIGZvciBgcHJvcHMuYnVpbGRPcHRpb25zYDpcbiAgICAgKiAtIGBidW5kbGU9dHJ1ZWBcbiAgICAgKiAtIGBwbGF0Zm9ybT1ub2RlYFxuICAgICAqIC0gYHRhcmdldD1ub2RlWGAgd2l0aCBYIGJlaW5nIHRoZSBtYWpvciBub2RlIHZlcnNpb24gcnVubmluZyBsb2NhbGx5XG4gICAgICpcbiAgICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgICAqL1xuICAgIHByb3BzOiBKYXZhU2NyaXB0Q29kZVByb3BzID0ge30sXG4gICkge1xuICAgIHN1cGVyKGVudHJ5UG9pbnRzLCBwcm9wcyk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBkZXBsb3llZCBUeXBlU2NyaXB0IENvZGUuXG4gKlxuICogQHN0YWJpbGl0eSBzdGFibGVcbiAqL1xuZXhwb3J0IGNsYXNzIFR5cGVTY3JpcHRDb2RlIGV4dGVuZHMgQ29kZTxUeXBlU2NyaXB0Q29kZVByb3BzLCBUU0Fzc2V0PiB7XG4gIHByb3RlY3RlZCByZWFkb25seSBhc3NldENsYXNzID0gVFNBc3NldDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAvKipcbiAgICAgKiBBIHJlbGF0aXZlIHBhdGggb3IgbGlzdCBvciBtYXAgb2YgcmVsYXRpdmUgcGF0aHMgdG8gdGhlIGVudHJ5IHBvaW50cyBvZiB5b3VyIGNvZGUgZnJvbSB0aGUgcm9vdCBvZiB0aGUgcHJvamVjdC5cbiAgICAgKiBFLmcuIGBzcmMvaW5kZXgudHNgLlxuICAgICAqXG4gICAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICAgKi9cbiAgICBlbnRyeVBvaW50czogRW50cnlQb2ludHMsXG4gICAgLyoqXG4gICAgICogUHJvcHMgdG8gY2hhbmdlIHRoZSBiZWhhdmlvciBvZiB0aGUgYnVuZGxlci5cbiAgICAgKlxuICAgICAqIERlZmF1bHQgdmFsdWVzIGZvciBgcHJvcHMuYnVpbGRPcHRpb25zYDpcbiAgICAgKiAtIGBidW5kbGU9dHJ1ZWBcbiAgICAgKiAtIGBwbGF0Zm9ybT1ub2RlYFxuICAgICAqIC0gYHRhcmdldD1ub2RlWGAgd2l0aCBYIGJlaW5nIHRoZSBtYWpvciBub2RlIHZlcnNpb24gcnVubmluZyBsb2NhbGx5XG4gICAgICpcbiAgICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgICAqL1xuICAgIHByb3BzOiBUeXBlU2NyaXB0Q29kZVByb3BzID0ge30sXG4gICkge1xuICAgIHN1cGVyKGVudHJ5UG9pbnRzLCBwcm9wcyk7XG4gIH1cbn1cbiJdfQ==
@@ -505,6 +505,15 @@ export interface InitializeOptions {
505
505
  * esbuild in the browser.
506
506
  */
507
507
  wasmURL?: string;
508
+ /**
509
+ * The result of calling "new WebAssembly.Module(buffer)" where "buffer"
510
+ * is a typed array or ArrayBuffer containing the binary code of the
511
+ * "esbuild.wasm" file.
512
+ *
513
+ * You can use this as an alternative to "wasmURL" for environments where it's
514
+ * not possible to download the WebAssembly module.
515
+ */
516
+ wasmModule?: any;
508
517
  /**
509
518
  * By default esbuild runs the WebAssembly-based browser API in a web worker
510
519
  * to avoid blocking the UI thread. This can be disabled by setting "worker"
@@ -2,4 +2,4 @@
2
2
  // ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.version = void 0;
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNidWlsZC10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9lc2J1aWxkLXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw2RUFBNkUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLmpzIGFuZCBydW4gXCJucHggcHJvamVuXCIuXG5cbmV4cG9ydCB0eXBlIFBsYXRmb3JtID0gJ2Jyb3dzZXInIHwgJ25vZGUnIHwgJ25ldXRyYWwnO1xuZXhwb3J0IHR5cGUgRm9ybWF0ID0gJ2lpZmUnIHwgJ2NqcycgfCAnZXNtJztcbmV4cG9ydCB0eXBlIExvYWRlciA9ICdqcycgfCAnanN4JyB8ICd0cycgfCAndHN4JyB8ICdjc3MnIHwgJ2pzb24nIHwgJ3RleHQnIHwgJ2Jhc2U2NCcgfCAnZmlsZScgfCAnZGF0YXVybCcgfCAnYmluYXJ5JyB8ICdkZWZhdWx0JztcbmV4cG9ydCB0eXBlIExvZ0xldmVsID0gJ3ZlcmJvc2UnIHwgJ2RlYnVnJyB8ICdpbmZvJyB8ICd3YXJuaW5nJyB8ICdlcnJvcicgfCAnc2lsZW50JztcbmV4cG9ydCB0eXBlIENoYXJzZXQgPSAnYXNjaWknIHwgJ3V0ZjgnO1xuZXhwb3J0IHR5cGUgRHJvcCA9ICdjb25zb2xlJyB8ICdkZWJ1Z2dlcic7XG5cbmludGVyZmFjZSBDb21tb25PcHRpb25zIHtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNzb3VyY2VtYXAgKi9cbiAgcmVhZG9ubHkgc291cmNlbWFwPzogYm9vbGVhbiB8ICdsaW5rZWQnIHwgJ2lubGluZScgfCAnZXh0ZXJuYWwnIHwgJ2JvdGgnO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2xlZ2FsLWNvbW1lbnRzICovXG4gIHJlYWRvbmx5IGxlZ2FsQ29tbWVudHM/OiAnbm9uZScgfCAnaW5saW5lJyB8ICdlb2YnIHwgJ2xpbmtlZCcgfCAnZXh0ZXJuYWwnO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3NvdXJjZS1yb290ICovXG4gIHJlYWRvbmx5IHNvdXJjZVJvb3Q/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jc291cmNlcy1jb250ZW50ICovXG4gIHJlYWRvbmx5IHNvdXJjZXNDb250ZW50PzogYm9vbGVhbjtcblxuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2Zvcm1hdCAqL1xuICByZWFkb25seSBmb3JtYXQ/OiBGb3JtYXQ7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jZ2xvYmFsTmFtZSAqL1xuICByZWFkb25seSBnbG9iYWxOYW1lPzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3RhcmdldCAqL1xuICByZWFkb25seSB0YXJnZXQ/OiBzdHJpbmcgfCBzdHJpbmdbXTtcblxuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI21hbmdsZS1wcm9wcyAqL1xuICByZWFkb25seSBtYW5nbGVQcm9wcz86IGFueTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtYW5nbGUtcHJvcHMgKi9cbiAgcmVhZG9ubHkgcmVzZXJ2ZVByb3BzPzogYW55O1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI21hbmdsZS1wcm9wcyAqL1xuICByZWFkb25seSBtYW5nbGVRdW90ZWQ/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI21hbmdsZS1wcm9wcyAqL1xuICByZWFkb25seSBtYW5nbGVDYWNoZT86IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IGZhbHNlPjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNkcm9wICovXG4gIHJlYWRvbmx5IGRyb3A/OiBEcm9wW107XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbWluaWZ5ICovXG4gIHJlYWRvbmx5IG1pbmlmeT86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbWluaWZ5ICovXG4gIHJlYWRvbmx5IG1pbmlmeVdoaXRlc3BhY2U/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI21pbmlmeSAqL1xuICByZWFkb25seSBtaW5pZnlJZGVudGlmaWVycz86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbWluaWZ5ICovXG4gIHJlYWRvbmx5IG1pbmlmeVN5bnRheD86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jY2hhcnNldCAqL1xuICByZWFkb25seSBjaGFyc2V0PzogQ2hhcnNldDtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyN0cmVlLXNoYWtpbmcgKi9cbiAgcmVhZG9ubHkgdHJlZVNoYWtpbmc/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2lnbm9yZS1hbm5vdGF0aW9ucyAqL1xuICByZWFkb25seSBpZ25vcmVBbm5vdGF0aW9ucz86IGJvb2xlYW47XG5cbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNqc3ggKi9cbiAgcmVhZG9ubHkganN4PzogJ3RyYW5zZm9ybScgfCAncHJlc2VydmUnO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2pzeC1mYWN0b3J5ICovXG4gIHJlYWRvbmx5IGpzeEZhY3Rvcnk/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8janN4LWZyYWdtZW50ICovXG4gIHJlYWRvbmx5IGpzeEZyYWdtZW50Pzogc3RyaW5nO1xuXG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jZGVmaW5lICovXG4gIHJlYWRvbmx5IGRlZmluZT86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jcHVyZSAqL1xuICByZWFkb25seSBwdXJlPzogc3RyaW5nW107XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8ja2VlcC1uYW1lcyAqL1xuICByZWFkb25seSBrZWVwTmFtZXM/OiBib29sZWFuO1xuXG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jY29sb3IgKi9cbiAgcmVhZG9ubHkgY29sb3I/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2xvZy1sZXZlbCAqL1xuICByZWFkb25seSBsb2dMZXZlbD86IExvZ0xldmVsO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2xvZy1saW1pdCAqL1xuICByZWFkb25seSBsb2dMaW1pdD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZE9wdGlvbnMgZXh0ZW5kcyBDb21tb25PcHRpb25zIHtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNidW5kbGUgKi9cbiAgcmVhZG9ubHkgYnVuZGxlPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNzcGxpdHRpbmcgKi9cbiAgcmVhZG9ubHkgc3BsaXR0aW5nPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNwcmVzZXJ2ZS1zeW1saW5rcyAqL1xuICByZWFkb25seSBwcmVzZXJ2ZVN5bWxpbmtzPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNvdXRmaWxlICovXG4gIHJlYWRvbmx5IG91dGZpbGU/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbWV0YWZpbGUgKi9cbiAgcmVhZG9ubHkgbWV0YWZpbGU/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI291dGRpciAqL1xuICByZWFkb25seSBvdXRkaXI/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jb3V0YmFzZSAqL1xuICByZWFkb25seSBvdXRiYXNlPzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3BsYXRmb3JtICovXG4gIHJlYWRvbmx5IHBsYXRmb3JtPzogUGxhdGZvcm07XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jZXh0ZXJuYWwgKi9cbiAgcmVhZG9ubHkgZXh0ZXJuYWw/OiBzdHJpbmdbXTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNsb2FkZXIgKi9cbiAgcmVhZG9ubHkgbG9hZGVyPzogeyBbZXh0OiBzdHJpbmddOiBMb2FkZXIgfTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNyZXNvbHZlLWV4dGVuc2lvbnMgKi9cbiAgcmVhZG9ubHkgcmVzb2x2ZUV4dGVuc2lvbnM/OiBzdHJpbmdbXTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtYWluRmllbGRzICovXG4gIHJlYWRvbmx5IG1haW5GaWVsZHM/OiBzdHJpbmdbXTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNjb25kaXRpb25zICovXG4gIHJlYWRvbmx5IGNvbmRpdGlvbnM/OiBzdHJpbmdbXTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyN3cml0ZSAqL1xuICByZWFkb25seSB3cml0ZT86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jYWxsb3ctb3ZlcndyaXRlICovXG4gIHJlYWRvbmx5IGFsbG93T3ZlcndyaXRlPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyN0c2NvbmZpZyAqL1xuICByZWFkb25seSB0c2NvbmZpZz86IHN0cmluZztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNvdXQtZXh0ZW5zaW9uICovXG4gIHJlYWRvbmx5IG91dEV4dGVuc2lvbj86IHsgW2V4dDogc3RyaW5nXTogc3RyaW5nIH07XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jcHVibGljLXBhdGggKi9cbiAgcmVhZG9ubHkgcHVibGljUGF0aD86IHN0cmluZztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNlbnRyeS1uYW1lcyAqL1xuICByZWFkb25seSBlbnRyeU5hbWVzPzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2NodW5rLW5hbWVzICovXG4gIHJlYWRvbmx5IGNodW5rTmFtZXM/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jYXNzZXQtbmFtZXMgKi9cbiAgcmVhZG9ubHkgYXNzZXROYW1lcz86IHN0cmluZztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNpbmplY3QgKi9cbiAgcmVhZG9ubHkgaW5qZWN0Pzogc3RyaW5nW107XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jYmFubmVyICovXG4gIHJlYWRvbmx5IGJhbm5lcj86IHsgW3R5cGU6IHN0cmluZ106IHN0cmluZyB9O1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2Zvb3RlciAqL1xuICByZWFkb25seSBmb290ZXI/OiB7IFt0eXBlOiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNpbmNyZW1lbnRhbCAqL1xuICByZWFkb25seSBpbmNyZW1lbnRhbD86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jd29ya2luZy1kaXJlY3RvcnkgKi9cbiAgcmVhZG9ubHkgYWJzV29ya2luZ0Rpcj86IHN0cmluZztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNub2RlLXBhdGhzICovXG4gIHJlYWRvbmx5IG5vZGVQYXRocz86IHN0cmluZ1tdOyAvLyBUaGUgXCJOT0RFX1BBVEhcIiB2YXJpYWJsZSBmcm9tIE5vZGUuanNcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXYXRjaE1vZGUge1xuICBvblJlYnVpbGQ/OiAoZXJyb3I6IEJ1aWxkRmFpbHVyZSB8IG51bGwsIHJlc3VsdDogQnVpbGRSZXN1bHQgfCBudWxsKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0ZGluT3B0aW9ucyB7XG4gIGNvbnRlbnRzOiBzdHJpbmc7XG4gIHJlc29sdmVEaXI/OiBzdHJpbmc7XG4gIHNvdXJjZWZpbGU/OiBzdHJpbmc7XG4gIGxvYWRlcj86IExvYWRlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlIHtcbiAgcGx1Z2luTmFtZTogc3RyaW5nO1xuICB0ZXh0OiBzdHJpbmc7XG4gIGxvY2F0aW9uOiBMb2NhdGlvbiB8IG51bGw7XG4gIG5vdGVzOiBOb3RlW107XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIHVzZXItc3BlY2lmaWVkIGRhdGEgdGhhdCBpcyBwYXNzZWQgdGhyb3VnaCB1bm1vZGlmaWVkLiBZb3UgY2FuXG4gICAqIHVzZSB0aGlzIHRvIHN0YXNoIHRoZSBvcmlnaW5hbCBlcnJvciwgZm9yIGV4YW1wbGUuXG4gICAqL1xuICBkZXRhaWw6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOb3RlIHtcbiAgdGV4dDogc3RyaW5nO1xuICBsb2NhdGlvbjogTG9jYXRpb24gfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvY2F0aW9uIHtcbiAgZmlsZTogc3RyaW5nO1xuICBuYW1lc3BhY2U6IHN0cmluZztcbiAgLyoqIDEtYmFzZWQgKi9cbiAgbGluZTogbnVtYmVyO1xuICAvKiogMC1iYXNlZCwgaW4gYnl0ZXMgKi9cbiAgY29sdW1uOiBudW1iZXI7XG4gIC8qKiBpbiBieXRlcyAqL1xuICBsZW5ndGg6IG51bWJlcjtcbiAgbGluZVRleHQ6IHN0cmluZztcbiAgc3VnZ2VzdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE91dHB1dEZpbGUge1xuICBwYXRoOiBzdHJpbmc7XG4gIC8qKiBcInRleHRcIiBhcyBieXRlcyAqL1xuICBjb250ZW50czogVWludDhBcnJheTtcbiAgLyoqIFwiY29udGVudHNcIiBhcyB0ZXh0ICovXG4gIHRleHQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZEludmFsaWRhdGUge1xuICAoKTogUHJvbWlzZTxCdWlsZEluY3JlbWVudGFsPjtcbiAgZGlzcG9zZSgpOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkSW5jcmVtZW50YWwgZXh0ZW5kcyBCdWlsZFJlc3VsdCB7XG4gIHJlYnVpbGQ6IEJ1aWxkSW52YWxpZGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZFJlc3VsdCB7XG4gIGVycm9yczogTWVzc2FnZVtdO1xuICB3YXJuaW5nczogTWVzc2FnZVtdO1xuICAvKiogT25seSB3aGVuIFwid3JpdGU6IGZhbHNlXCIgKi9cbiAgb3V0cHV0RmlsZXM/OiBPdXRwdXRGaWxlW107XG4gIC8qKiBPbmx5IHdoZW4gXCJpbmNyZW1lbnRhbDogdHJ1ZVwiICovXG4gIHJlYnVpbGQ/OiBCdWlsZEludmFsaWRhdGU7XG4gIC8qKiBPbmx5IHdoZW4gXCJ3YXRjaDogdHJ1ZVwiICovXG4gIHN0b3A/OiAoKSA9PiB2b2lkO1xuICAvKiogT25seSB3aGVuIFwibWV0YWZpbGU6IHRydWVcIiAqL1xuICBtZXRhZmlsZT86IE1ldGFmaWxlO1xuICAvKiogT25seSB3aGVuIFwibWFuZ2xlQ2FjaGVcIiBpcyBwcmVzZW50ICovXG4gIG1hbmdsZUNhY2hlPzogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgZmFsc2U+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkRmFpbHVyZSBleHRlbmRzIEVycm9yIHtcbiAgZXJyb3JzOiBNZXNzYWdlW107XG4gIHdhcm5pbmdzOiBNZXNzYWdlW107XG59XG5cbi8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jc2VydmUtYXJndW1lbnRzICovXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZlT3B0aW9ucyB7XG4gIHBvcnQ/OiBudW1iZXI7XG4gIGhvc3Q/OiBzdHJpbmc7XG4gIHNlcnZlZGlyPzogc3RyaW5nO1xuICBvblJlcXVlc3Q/OiAoYXJnczogU2VydmVPblJlcXVlc3RBcmdzKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZlT25SZXF1ZXN0QXJncyB7XG4gIHJlbW90ZUFkZHJlc3M6IHN0cmluZztcbiAgbWV0aG9kOiBzdHJpbmc7XG4gIHBhdGg6IHN0cmluZztcbiAgc3RhdHVzOiBudW1iZXI7XG4gIC8qKiBUaGUgdGltZSB0byBnZW5lcmF0ZSB0aGUgcmVzcG9uc2UsIG5vdCB0byBzZW5kIGl0ICovXG4gIHRpbWVJbk1TOiBudW1iZXI7XG59XG5cbi8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jc2VydmUtcmV0dXJuLXZhbHVlcyAqL1xuZXhwb3J0IGludGVyZmFjZSBTZXJ2ZVJlc3VsdCB7XG4gIHBvcnQ6IG51bWJlcjtcbiAgaG9zdDogc3RyaW5nO1xuICB3YWl0OiBQcm9taXNlPHZvaWQ+O1xuICBzdG9wOiAoKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zZm9ybU9wdGlvbnMgZXh0ZW5kcyBDb21tb25PcHRpb25zIHtcbiAgcmVhZG9ubHkgdHNjb25maWdSYXc/OiBzdHJpbmc7XG5cbiAgcmVhZG9ubHkgc291cmNlZmlsZT86IHN0cmluZztcbiAgcmVhZG9ubHkgbG9hZGVyPzogTG9hZGVyO1xuICByZWFkb25seSBiYW5uZXI/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGZvb3Rlcj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2Zvcm1SZXN1bHQge1xuICBjb2RlOiBzdHJpbmc7XG4gIG1hcDogc3RyaW5nO1xuICB3YXJuaW5nczogTWVzc2FnZVtdO1xuICAvKiogT25seSB3aGVuIFwibWFuZ2xlQ2FjaGVcIiBpcyBwcmVzZW50ICovXG4gIG1hbmdsZUNhY2hlPzogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgZmFsc2U+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zZm9ybUZhaWx1cmUgZXh0ZW5kcyBFcnJvciB7XG4gIGVycm9yczogTWVzc2FnZVtdO1xuICB3YXJuaW5nczogTWVzc2FnZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsdWdpbiB7XG4gIG5hbWU6IHN0cmluZztcbiAgc2V0dXA6IChidWlsZDogUGx1Z2luQnVpbGQpID0+ICh2b2lkIHwgUHJvbWlzZTx2b2lkPik7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGx1Z2luQnVpbGQge1xuICBpbml0aWFsT3B0aW9uczogQnVpbGRPcHRpb25zO1xuICByZXNvbHZlKHBhdGg6IHN0cmluZywgb3B0aW9ucz86IFJlc29sdmVPcHRpb25zKTogUHJvbWlzZTxSZXNvbHZlUmVzdWx0PjtcblxuICBvblN0YXJ0KGNhbGxiYWNrOiAoKSA9PlxuICAoT25TdGFydFJlc3VsdCB8IG51bGwgfCB2b2lkIHwgUHJvbWlzZTxPblN0YXJ0UmVzdWx0IHwgbnVsbCB8IHZvaWQ+KSk6IHZvaWQ7XG4gIG9uRW5kKGNhbGxiYWNrOiAocmVzdWx0OiBCdWlsZFJlc3VsdCkgPT5cbiAgKHZvaWQgfCBQcm9taXNlPHZvaWQ+KSk6IHZvaWQ7XG4gIG9uUmVzb2x2ZShvcHRpb25zOiBPblJlc29sdmVPcHRpb25zLCBjYWxsYmFjazogKGFyZ3M6IE9uUmVzb2x2ZUFyZ3MpID0+XG4gIChPblJlc29sdmVSZXN1bHQgfCBudWxsIHwgdW5kZWZpbmVkIHwgUHJvbWlzZTxPblJlc29sdmVSZXN1bHQgfCBudWxsIHwgdW5kZWZpbmVkPikpOiB2b2lkO1xuICBvbkxvYWQob3B0aW9uczogT25Mb2FkT3B0aW9ucywgY2FsbGJhY2s6IChhcmdzOiBPbkxvYWRBcmdzKSA9PlxuICAoT25Mb2FkUmVzdWx0IHwgbnVsbCB8IHVuZGVmaW5lZCB8IFByb21pc2U8T25Mb2FkUmVzdWx0IHwgbnVsbCB8IHVuZGVmaW5lZD4pKTogdm9pZDtcblxuICAvLyBUaGlzIGlzIGEgZnVsbCBjb3B5IG9mIHRoZSBlc2J1aWxkIGxpYnJhcnkgaW4gY2FzZSB5b3UgbmVlZCBpdFxuICBlc2J1aWxkOiB7XG4gICAgc2VydmU6IHR5cGVvZiBzZXJ2ZTtcbiAgICBidWlsZDogdHlwZW9mIGJ1aWxkO1xuICAgIGJ1aWxkU3luYzogdHlwZW9mIGJ1aWxkU3luYztcbiAgICB0cmFuc2Zvcm06IHR5cGVvZiB0cmFuc2Zvcm07XG4gICAgdHJhbnNmb3JtU3luYzogdHlwZW9mIHRyYW5zZm9ybVN5bmM7XG4gICAgZm9ybWF0TWVzc2FnZXM6IHR5cGVvZiBmb3JtYXRNZXNzYWdlcztcbiAgICBmb3JtYXRNZXNzYWdlc1N5bmM6IHR5cGVvZiBmb3JtYXRNZXNzYWdlc1N5bmM7XG4gICAgYW5hbHl6ZU1ldGFmaWxlOiB0eXBlb2YgYW5hbHl6ZU1ldGFmaWxlO1xuICAgIGFuYWx5emVNZXRhZmlsZVN5bmM6IHR5cGVvZiBhbmFseXplTWV0YWZpbGVTeW5jO1xuICAgIGluaXRpYWxpemU6IHR5cGVvZiBpbml0aWFsaXplO1xuICAgIHZlcnNpb246IHR5cGVvZiB2ZXJzaW9uO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlc29sdmVPcHRpb25zIHtcbiAgcGx1Z2luTmFtZT86IHN0cmluZztcbiAgaW1wb3J0ZXI/OiBzdHJpbmc7XG4gIG5hbWVzcGFjZT86IHN0cmluZztcbiAgcmVzb2x2ZURpcj86IHN0cmluZztcbiAga2luZD86IEltcG9ydEtpbmQ7XG4gIHBsdWdpbkRhdGE/OiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb2x2ZVJlc3VsdCB7XG4gIGVycm9yczogTWVzc2FnZVtdO1xuICB3YXJuaW5nczogTWVzc2FnZVtdO1xuXG4gIHBhdGg6IHN0cmluZztcbiAgZXh0ZXJuYWw6IGJvb2xlYW47XG4gIHNpZGVFZmZlY3RzOiBib29sZWFuO1xuICBuYW1lc3BhY2U6IHN0cmluZztcbiAgc3VmZml4OiBzdHJpbmc7XG4gIHBsdWdpbkRhdGE6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPblN0YXJ0UmVzdWx0IHtcbiAgZXJyb3JzPzogUGFydGlhbE1lc3NhZ2VbXTtcbiAgd2FybmluZ3M/OiBQYXJ0aWFsTWVzc2FnZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uUmVzb2x2ZU9wdGlvbnMge1xuICBmaWx0ZXI6IFJlZ0V4cDtcbiAgbmFtZXNwYWNlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uUmVzb2x2ZUFyZ3Mge1xuICBwYXRoOiBzdHJpbmc7XG4gIGltcG9ydGVyOiBzdHJpbmc7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICByZXNvbHZlRGlyOiBzdHJpbmc7XG4gIGtpbmQ6IEltcG9ydEtpbmQ7XG4gIHBsdWdpbkRhdGE6IGFueTtcbn1cblxuZXhwb3J0IHR5cGUgSW1wb3J0S2luZCA9XG4gIHwgJ2VudHJ5LXBvaW50J1xuXG4gIC8vIEpTXG4gIHwgJ2ltcG9ydC1zdGF0ZW1lbnQnXG4gIHwgJ3JlcXVpcmUtY2FsbCdcbiAgfCAnZHluYW1pYy1pbXBvcnQnXG4gIHwgJ3JlcXVpcmUtcmVzb2x2ZSdcblxuICAvLyBDU1NcbiAgfCAnaW1wb3J0LXJ1bGUnXG4gIHwgJ3VybC10b2tlbidcblxuZXhwb3J0IGludGVyZmFjZSBPblJlc29sdmVSZXN1bHQge1xuICBwbHVnaW5OYW1lPzogc3RyaW5nO1xuXG4gIGVycm9ycz86IFBhcnRpYWxNZXNzYWdlW107XG4gIHdhcm5pbmdzPzogUGFydGlhbE1lc3NhZ2VbXTtcblxuICBwYXRoPzogc3RyaW5nO1xuICBleHRlcm5hbD86IGJvb2xlYW47XG4gIHNpZGVFZmZlY3RzPzogYm9vbGVhbjtcbiAgbmFtZXNwYWNlPzogc3RyaW5nO1xuICBzdWZmaXg/OiBzdHJpbmc7XG4gIHBsdWdpbkRhdGE/OiBhbnk7XG5cbiAgd2F0Y2hGaWxlcz86IHN0cmluZ1tdO1xuICB3YXRjaERpcnM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPbkxvYWRPcHRpb25zIHtcbiAgZmlsdGVyOiBSZWdFeHA7XG4gIG5hbWVzcGFjZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPbkxvYWRBcmdzIHtcbiAgcGF0aDogc3RyaW5nO1xuICBuYW1lc3BhY2U6IHN0cmluZztcbiAgc3VmZml4OiBzdHJpbmc7XG4gIHBsdWdpbkRhdGE6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPbkxvYWRSZXN1bHQge1xuICBwbHVnaW5OYW1lPzogc3RyaW5nO1xuXG4gIGVycm9ycz86IFBhcnRpYWxNZXNzYWdlW107XG4gIHdhcm5pbmdzPzogUGFydGlhbE1lc3NhZ2VbXTtcblxuICBjb250ZW50cz86IHN0cmluZyB8IFVpbnQ4QXJyYXk7XG4gIHJlc29sdmVEaXI/OiBzdHJpbmc7XG4gIGxvYWRlcj86IExvYWRlcjtcbiAgcGx1Z2luRGF0YT86IGFueTtcblxuICB3YXRjaEZpbGVzPzogc3RyaW5nW107XG4gIHdhdGNoRGlycz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRpYWxNZXNzYWdlIHtcbiAgcGx1Z2luTmFtZT86IHN0cmluZztcbiAgdGV4dD86IHN0cmluZztcbiAgbG9jYXRpb24/OiBQYXJ0aWFsPExvY2F0aW9uPiB8IG51bGw7XG4gIG5vdGVzPzogUGFydGlhbE5vdGVbXTtcbiAgZGV0YWlsPzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRpYWxOb3RlIHtcbiAgdGV4dD86IHN0cmluZztcbiAgbG9jYXRpb24/OiBQYXJ0aWFsPExvY2F0aW9uPiB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWV0YWZpbGUge1xuICBpbnB1dHM6IHtcbiAgICBbcGF0aDogc3RyaW5nXToge1xuICAgICAgYnl0ZXM6IG51bWJlcjtcbiAgICAgIGltcG9ydHM6IHtcbiAgICAgICAgcGF0aDogc3RyaW5nO1xuICAgICAgICBraW5kOiBJbXBvcnRLaW5kO1xuICAgICAgfVtdO1xuICAgIH07XG4gIH07XG4gIG91dHB1dHM6IHtcbiAgICBbcGF0aDogc3RyaW5nXToge1xuICAgICAgYnl0ZXM6IG51bWJlcjtcbiAgICAgIGlucHV0czoge1xuICAgICAgICBbcGF0aDogc3RyaW5nXToge1xuICAgICAgICAgIGJ5dGVzSW5PdXRwdXQ6IG51bWJlcjtcbiAgICAgICAgfTtcbiAgICAgIH07XG4gICAgICBpbXBvcnRzOiB7XG4gICAgICAgIHBhdGg6IHN0cmluZztcbiAgICAgICAga2luZDogSW1wb3J0S2luZDtcbiAgICAgIH1bXTtcbiAgICAgIGV4cG9ydHM6IHN0cmluZ1tdO1xuICAgICAgZW50cnlQb2ludD86IHN0cmluZztcbiAgICB9O1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1hdE1lc3NhZ2VzT3B0aW9ucyB7XG4gIGtpbmQ6ICdlcnJvcicgfCAnd2FybmluZyc7XG4gIGNvbG9yPzogYm9vbGVhbjtcbiAgdGVybWluYWxXaWR0aD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBbmFseXplTWV0YWZpbGVPcHRpb25zIHtcbiAgY29sb3I/OiBib29sZWFuO1xuICB2ZXJib3NlPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIGludm9rZXMgdGhlIFwiZXNidWlsZFwiIGNvbW1hbmQtbGluZSB0b29sIGZvciB5b3UuIEl0IHJldHVybnMgYVxuICogcHJvbWlzZSB0aGF0IGVpdGhlciByZXNvbHZlcyB3aXRoIGEgXCJCdWlsZFJlc3VsdFwiIG9iamVjdCBvciByZWplY3RzIHdpdGggYVxuICogXCJCdWlsZEZhaWx1cmVcIiBvYmplY3QuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3NlcjogeWVzXG4gKlxuICogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2J1aWxkLWFwaVxuICovXG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBidWlsZChvcHRpb25zOiBCdWlsZE9wdGlvbnMgJiB7IHdyaXRlOiBmYWxzZSB9KTogUHJvbWlzZTxCdWlsZFJlc3VsdCAmIHsgb3V0cHV0RmlsZXM6IE91dHB1dEZpbGVbXSB9PjtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGJ1aWxkKG9wdGlvbnM6IEJ1aWxkT3B0aW9ucyAmIHsgaW5jcmVtZW50YWw6IHRydWU7IG1ldGFmaWxlOiB0cnVlIH0pOiBQcm9taXNlPEJ1aWxkSW5jcmVtZW50YWwgJiB7IG1ldGFmaWxlOiBNZXRhZmlsZSB9PjtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGJ1aWxkKG9wdGlvbnM6IEJ1aWxkT3B0aW9ucyAmIHsgaW5jcmVtZW50YWw6IHRydWUgfSk6IFByb21pc2U8QnVpbGRJbmNyZW1lbnRhbD47XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBidWlsZChvcHRpb25zOiBCdWlsZE9wdGlvbnMgJiB7IG1ldGFmaWxlOiB0cnVlIH0pOiBQcm9taXNlPEJ1aWxkUmVzdWx0ICYgeyBtZXRhZmlsZTogTWV0YWZpbGUgfT47XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBidWlsZChvcHRpb25zOiBCdWlsZE9wdGlvbnMpOiBQcm9taXNlPEJ1aWxkUmVzdWx0PjtcblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIGlzIHNpbWlsYXIgdG8gXCJidWlsZFwiIGJ1dCBpdCBzZXJ2ZXMgdGhlIHJlc3VsdGluZyBmaWxlcyBvdmVyXG4gKiBIVFRQIG9uIGEgbG9jYWxob3N0IGFkZHJlc3Mgd2l0aCB0aGUgc3BlY2lmaWVkIHBvcnQuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3Nlcjogbm9cbiAqXG4gKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jc2VydmVcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gc2VydmUoc2VydmVPcHRpb25zOiBTZXJ2ZU9wdGlvbnMsIGJ1aWxkT3B0aW9uczogQnVpbGRPcHRpb25zKTogUHJvbWlzZTxTZXJ2ZVJlc3VsdD47XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiB0cmFuc2Zvcm1zIGEgc2luZ2xlIEphdmFTY3JpcHQgZmlsZS4gSXQgY2FuIGJlIHVzZWQgdG8gbWluaWZ5XG4gKiBKYXZhU2NyaXB0LCBjb252ZXJ0IFR5cGVTY3JpcHQvSlNYIHRvIEphdmFTY3JpcHQsIG9yIGNvbnZlcnQgbmV3ZXIgSmF2YVNjcmlwdFxuICogdG8gb2xkZXIgSmF2YVNjcmlwdC4gSXQgcmV0dXJucyBhIHByb21pc2UgdGhhdCBpcyBlaXRoZXIgcmVzb2x2ZWQgd2l0aCBhXG4gKiBcIlRyYW5zZm9ybVJlc3VsdFwiIG9iamVjdCBvciByZWplY3RlZCB3aXRoIGEgXCJUcmFuc2Zvcm1GYWlsdXJlXCIgb2JqZWN0LlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IHllc1xuICpcbiAqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyN0cmFuc2Zvcm0tYXBpXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIHRyYW5zZm9ybShpbnB1dDogc3RyaW5nLCBvcHRpb25zPzogVHJhbnNmb3JtT3B0aW9ucyk6IFByb21pc2U8VHJhbnNmb3JtUmVzdWx0PjtcblxuLyoqXG4gKiBDb252ZXJ0cyBsb2cgbWVzc2FnZXMgdG8gZm9ybWF0dGVkIG1lc3NhZ2Ugc3RyaW5ncyBzdWl0YWJsZSBmb3IgcHJpbnRpbmcgaW5cbiAqIHRoZSB0ZXJtaW5hbC4gVGhpcyBhbGxvd3MgeW91IHRvIHJldXNlIHRoZSBidWlsdC1pbiBiZWhhdmlvciBvZiBlc2J1aWxkJ3NcbiAqIGxvZyBtZXNzYWdlIGZvcm1hdHRlci4gVGhpcyBpcyBhIGJhdGNoLW9yaWVudGVkIEFQSSBmb3IgZWZmaWNpZW5jeS5cbiAqXG4gKiAtIFdvcmtzIGluIG5vZGU6IHllc1xuICogLSBXb3JrcyBpbiBicm93c2VyOiB5ZXNcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gZm9ybWF0TWVzc2FnZXMobWVzc2FnZXM6IFBhcnRpYWxNZXNzYWdlW10sIG9wdGlvbnM6IEZvcm1hdE1lc3NhZ2VzT3B0aW9ucyk6IFByb21pc2U8c3RyaW5nW10+O1xuXG4vKipcbiAqIFByZXR0eS1wcmludHMgYW4gYW5hbHlzaXMgb2YgdGhlIG1ldGFmaWxlIEpTT04gdG8gYSBzdHJpbmcuIFRoaXMgaXMganVzdCBmb3JcbiAqIGNvbnZlbmllbmNlIHRvIGJlIGFibGUgdG8gbWF0Y2ggZXNidWlsZCdzIHByZXR0eS1wcmludGluZyBleGFjdGx5LiBJZiB5b3Ugd2FudFxuICogdG8gY3VzdG9taXplIGl0LCB5b3UgY2FuIGp1c3QgaW5zcGVjdCB0aGUgZGF0YSBpbiB0aGUgbWV0YWZpbGUgeW91cnNlbGYuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3NlcjogeWVzXG4gKlxuICogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2FuYWx5emVcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gYW5hbHl6ZU1ldGFmaWxlKG1ldGFmaWxlOiBNZXRhZmlsZSB8IHN0cmluZywgb3B0aW9ucz86IEFuYWx5emVNZXRhZmlsZU9wdGlvbnMpOiBQcm9taXNlPHN0cmluZz47XG5cbi8qKlxuICogQSBzeW5jaHJvbm91cyB2ZXJzaW9uIG9mIFwiYnVpbGRcIi5cbiAqXG4gKiAtIFdvcmtzIGluIG5vZGU6IHllc1xuICogLSBXb3JrcyBpbiBicm93c2VyOiBub1xuICpcbiAqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNidWlsZC1hcGlcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gYnVpbGRTeW5jKG9wdGlvbnM6IEJ1aWxkT3B0aW9ucyAmIHsgd3JpdGU6IGZhbHNlIH0pOiBCdWlsZFJlc3VsdCAmIHsgb3V0cHV0RmlsZXM6IE91dHB1dEZpbGVbXSB9O1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gYnVpbGRTeW5jKG9wdGlvbnM6IEJ1aWxkT3B0aW9ucyk6IEJ1aWxkUmVzdWx0O1xuXG4vKipcbiAqIEEgc3luY2hyb25vdXMgdmVyc2lvbiBvZiBcInRyYW5zZm9ybVwiLlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IG5vXG4gKlxuICogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3RyYW5zZm9ybS1hcGlcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gdHJhbnNmb3JtU3luYyhpbnB1dDogc3RyaW5nLCBvcHRpb25zPzogVHJhbnNmb3JtT3B0aW9ucyk6IFRyYW5zZm9ybVJlc3VsdDtcblxuLyoqXG4gKiBBIHN5bmNocm9ub3VzIHZlcnNpb24gb2YgXCJmb3JtYXRNZXNzYWdlc1wiLlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IG5vXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGZvcm1hdE1lc3NhZ2VzU3luYyhtZXNzYWdlczogUGFydGlhbE1lc3NhZ2VbXSwgb3B0aW9uczogRm9ybWF0TWVzc2FnZXNPcHRpb25zKTogc3RyaW5nW107XG5cbi8qKlxuICogQSBzeW5jaHJvbm91cyB2ZXJzaW9uIG9mIFwiYW5hbHl6ZU1ldGFmaWxlXCIuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3Nlcjogbm9cbiAqXG4gKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jYW5hbHl6ZVxuICovXG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBhbmFseXplTWV0YWZpbGVTeW5jKG1ldGFmaWxlOiBNZXRhZmlsZSB8IHN0cmluZywgb3B0aW9ucz86IEFuYWx5emVNZXRhZmlsZU9wdGlvbnMpOiBzdHJpbmc7XG5cbi8qKlxuICogVGhpcyBjb25maWd1cmVzIHRoZSBicm93c2VyLWJhc2VkIHZlcnNpb24gb2YgZXNidWlsZC4gSXQgaXMgbmVjZXNzYXJ5IHRvXG4gKiBjYWxsIHRoaXMgZmlyc3QgYW5kIHdhaXQgZm9yIHRoZSByZXR1cm5lZCBwcm9taXNlIHRvIGJlIHJlc29sdmVkIGJlZm9yZVxuICogbWFraW5nIG90aGVyIEFQSSBjYWxscyB3aGVuIHVzaW5nIGVzYnVpbGQgaW4gdGhlIGJyb3dzZXIuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3NlcjogeWVzIChcIm9wdGlvbnNcIiBpcyByZXF1aXJlZClcbiAqXG4gKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jcnVubmluZy1pbi10aGUtYnJvd3NlclxuICovXG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBpbml0aWFsaXplKG9wdGlvbnM6IEluaXRpYWxpemVPcHRpb25zKTogUHJvbWlzZTx2b2lkPjtcblxuZXhwb3J0IGludGVyZmFjZSBJbml0aWFsaXplT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgVVJMIG9mIHRoZSBcImVzYnVpbGQud2FzbVwiIGZpbGUuIFRoaXMgbXVzdCBiZSBwcm92aWRlZCB3aGVuIHJ1bm5pbmdcbiAgICogZXNidWlsZCBpbiB0aGUgYnJvd3Nlci5cbiAgICovXG4gIHdhc21VUkw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEJ5IGRlZmF1bHQgZXNidWlsZCBydW5zIHRoZSBXZWJBc3NlbWJseS1iYXNlZCBicm93c2VyIEFQSSBpbiBhIHdlYiB3b3JrZXJcbiAgICogdG8gYXZvaWQgYmxvY2tpbmcgdGhlIFVJIHRocmVhZC4gVGhpcyBjYW4gYmUgZGlzYWJsZWQgYnkgc2V0dGluZyBcIndvcmtlclwiXG4gICAqIHRvIGZhbHNlLlxuICAgKi9cbiAgd29ya2VyPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGxldCB2ZXJzaW9uOiBzdHJpbmc7XG4iXX0=
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNidWlsZC10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9lc2J1aWxkLXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw2RUFBNkUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLmpzIGFuZCBydW4gXCJucHggcHJvamVuXCIuXG5cbmV4cG9ydCB0eXBlIFBsYXRmb3JtID0gJ2Jyb3dzZXInIHwgJ25vZGUnIHwgJ25ldXRyYWwnO1xuZXhwb3J0IHR5cGUgRm9ybWF0ID0gJ2lpZmUnIHwgJ2NqcycgfCAnZXNtJztcbmV4cG9ydCB0eXBlIExvYWRlciA9ICdqcycgfCAnanN4JyB8ICd0cycgfCAndHN4JyB8ICdjc3MnIHwgJ2pzb24nIHwgJ3RleHQnIHwgJ2Jhc2U2NCcgfCAnZmlsZScgfCAnZGF0YXVybCcgfCAnYmluYXJ5JyB8ICdkZWZhdWx0JztcbmV4cG9ydCB0eXBlIExvZ0xldmVsID0gJ3ZlcmJvc2UnIHwgJ2RlYnVnJyB8ICdpbmZvJyB8ICd3YXJuaW5nJyB8ICdlcnJvcicgfCAnc2lsZW50JztcbmV4cG9ydCB0eXBlIENoYXJzZXQgPSAnYXNjaWknIHwgJ3V0ZjgnO1xuZXhwb3J0IHR5cGUgRHJvcCA9ICdjb25zb2xlJyB8ICdkZWJ1Z2dlcic7XG5cbmludGVyZmFjZSBDb21tb25PcHRpb25zIHtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNzb3VyY2VtYXAgKi9cbiAgcmVhZG9ubHkgc291cmNlbWFwPzogYm9vbGVhbiB8ICdsaW5rZWQnIHwgJ2lubGluZScgfCAnZXh0ZXJuYWwnIHwgJ2JvdGgnO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2xlZ2FsLWNvbW1lbnRzICovXG4gIHJlYWRvbmx5IGxlZ2FsQ29tbWVudHM/OiAnbm9uZScgfCAnaW5saW5lJyB8ICdlb2YnIHwgJ2xpbmtlZCcgfCAnZXh0ZXJuYWwnO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3NvdXJjZS1yb290ICovXG4gIHJlYWRvbmx5IHNvdXJjZVJvb3Q/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jc291cmNlcy1jb250ZW50ICovXG4gIHJlYWRvbmx5IHNvdXJjZXNDb250ZW50PzogYm9vbGVhbjtcblxuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2Zvcm1hdCAqL1xuICByZWFkb25seSBmb3JtYXQ/OiBGb3JtYXQ7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jZ2xvYmFsTmFtZSAqL1xuICByZWFkb25seSBnbG9iYWxOYW1lPzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3RhcmdldCAqL1xuICByZWFkb25seSB0YXJnZXQ/OiBzdHJpbmcgfCBzdHJpbmdbXTtcblxuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI21hbmdsZS1wcm9wcyAqL1xuICByZWFkb25seSBtYW5nbGVQcm9wcz86IGFueTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtYW5nbGUtcHJvcHMgKi9cbiAgcmVhZG9ubHkgcmVzZXJ2ZVByb3BzPzogYW55O1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI21hbmdsZS1wcm9wcyAqL1xuICByZWFkb25seSBtYW5nbGVRdW90ZWQ/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI21hbmdsZS1wcm9wcyAqL1xuICByZWFkb25seSBtYW5nbGVDYWNoZT86IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IGZhbHNlPjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNkcm9wICovXG4gIHJlYWRvbmx5IGRyb3A/OiBEcm9wW107XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbWluaWZ5ICovXG4gIHJlYWRvbmx5IG1pbmlmeT86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbWluaWZ5ICovXG4gIHJlYWRvbmx5IG1pbmlmeVdoaXRlc3BhY2U/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI21pbmlmeSAqL1xuICByZWFkb25seSBtaW5pZnlJZGVudGlmaWVycz86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbWluaWZ5ICovXG4gIHJlYWRvbmx5IG1pbmlmeVN5bnRheD86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jY2hhcnNldCAqL1xuICByZWFkb25seSBjaGFyc2V0PzogQ2hhcnNldDtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyN0cmVlLXNoYWtpbmcgKi9cbiAgcmVhZG9ubHkgdHJlZVNoYWtpbmc/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2lnbm9yZS1hbm5vdGF0aW9ucyAqL1xuICByZWFkb25seSBpZ25vcmVBbm5vdGF0aW9ucz86IGJvb2xlYW47XG5cbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNqc3ggKi9cbiAgcmVhZG9ubHkganN4PzogJ3RyYW5zZm9ybScgfCAncHJlc2VydmUnO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2pzeC1mYWN0b3J5ICovXG4gIHJlYWRvbmx5IGpzeEZhY3Rvcnk/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8janN4LWZyYWdtZW50ICovXG4gIHJlYWRvbmx5IGpzeEZyYWdtZW50Pzogc3RyaW5nO1xuXG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jZGVmaW5lICovXG4gIHJlYWRvbmx5IGRlZmluZT86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jcHVyZSAqL1xuICByZWFkb25seSBwdXJlPzogc3RyaW5nW107XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8ja2VlcC1uYW1lcyAqL1xuICByZWFkb25seSBrZWVwTmFtZXM/OiBib29sZWFuO1xuXG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jY29sb3IgKi9cbiAgcmVhZG9ubHkgY29sb3I/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2xvZy1sZXZlbCAqL1xuICByZWFkb25seSBsb2dMZXZlbD86IExvZ0xldmVsO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2xvZy1saW1pdCAqL1xuICByZWFkb25seSBsb2dMaW1pdD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZE9wdGlvbnMgZXh0ZW5kcyBDb21tb25PcHRpb25zIHtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNidW5kbGUgKi9cbiAgcmVhZG9ubHkgYnVuZGxlPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNzcGxpdHRpbmcgKi9cbiAgcmVhZG9ubHkgc3BsaXR0aW5nPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNwcmVzZXJ2ZS1zeW1saW5rcyAqL1xuICByZWFkb25seSBwcmVzZXJ2ZVN5bWxpbmtzPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNvdXRmaWxlICovXG4gIHJlYWRvbmx5IG91dGZpbGU/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbWV0YWZpbGUgKi9cbiAgcmVhZG9ubHkgbWV0YWZpbGU/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI291dGRpciAqL1xuICByZWFkb25seSBvdXRkaXI/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jb3V0YmFzZSAqL1xuICByZWFkb25seSBvdXRiYXNlPzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3BsYXRmb3JtICovXG4gIHJlYWRvbmx5IHBsYXRmb3JtPzogUGxhdGZvcm07XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jZXh0ZXJuYWwgKi9cbiAgcmVhZG9ubHkgZXh0ZXJuYWw/OiBzdHJpbmdbXTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNsb2FkZXIgKi9cbiAgcmVhZG9ubHkgbG9hZGVyPzogeyBbZXh0OiBzdHJpbmddOiBMb2FkZXIgfTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNyZXNvbHZlLWV4dGVuc2lvbnMgKi9cbiAgcmVhZG9ubHkgcmVzb2x2ZUV4dGVuc2lvbnM/OiBzdHJpbmdbXTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtYWluRmllbGRzICovXG4gIHJlYWRvbmx5IG1haW5GaWVsZHM/OiBzdHJpbmdbXTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNjb25kaXRpb25zICovXG4gIHJlYWRvbmx5IGNvbmRpdGlvbnM/OiBzdHJpbmdbXTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyN3cml0ZSAqL1xuICByZWFkb25seSB3cml0ZT86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jYWxsb3ctb3ZlcndyaXRlICovXG4gIHJlYWRvbmx5IGFsbG93T3ZlcndyaXRlPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyN0c2NvbmZpZyAqL1xuICByZWFkb25seSB0c2NvbmZpZz86IHN0cmluZztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNvdXQtZXh0ZW5zaW9uICovXG4gIHJlYWRvbmx5IG91dEV4dGVuc2lvbj86IHsgW2V4dDogc3RyaW5nXTogc3RyaW5nIH07XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jcHVibGljLXBhdGggKi9cbiAgcmVhZG9ubHkgcHVibGljUGF0aD86IHN0cmluZztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNlbnRyeS1uYW1lcyAqL1xuICByZWFkb25seSBlbnRyeU5hbWVzPzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2NodW5rLW5hbWVzICovXG4gIHJlYWRvbmx5IGNodW5rTmFtZXM/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jYXNzZXQtbmFtZXMgKi9cbiAgcmVhZG9ubHkgYXNzZXROYW1lcz86IHN0cmluZztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNpbmplY3QgKi9cbiAgcmVhZG9ubHkgaW5qZWN0Pzogc3RyaW5nW107XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jYmFubmVyICovXG4gIHJlYWRvbmx5IGJhbm5lcj86IHsgW3R5cGU6IHN0cmluZ106IHN0cmluZyB9O1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2Zvb3RlciAqL1xuICByZWFkb25seSBmb290ZXI/OiB7IFt0eXBlOiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNpbmNyZW1lbnRhbCAqL1xuICByZWFkb25seSBpbmNyZW1lbnRhbD86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jd29ya2luZy1kaXJlY3RvcnkgKi9cbiAgcmVhZG9ubHkgYWJzV29ya2luZ0Rpcj86IHN0cmluZztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNub2RlLXBhdGhzICovXG4gIHJlYWRvbmx5IG5vZGVQYXRocz86IHN0cmluZ1tdOyAvLyBUaGUgXCJOT0RFX1BBVEhcIiB2YXJpYWJsZSBmcm9tIE5vZGUuanNcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXYXRjaE1vZGUge1xuICBvblJlYnVpbGQ/OiAoZXJyb3I6IEJ1aWxkRmFpbHVyZSB8IG51bGwsIHJlc3VsdDogQnVpbGRSZXN1bHQgfCBudWxsKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0ZGluT3B0aW9ucyB7XG4gIGNvbnRlbnRzOiBzdHJpbmc7XG4gIHJlc29sdmVEaXI/OiBzdHJpbmc7XG4gIHNvdXJjZWZpbGU/OiBzdHJpbmc7XG4gIGxvYWRlcj86IExvYWRlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlIHtcbiAgcGx1Z2luTmFtZTogc3RyaW5nO1xuICB0ZXh0OiBzdHJpbmc7XG4gIGxvY2F0aW9uOiBMb2NhdGlvbiB8IG51bGw7XG4gIG5vdGVzOiBOb3RlW107XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIHVzZXItc3BlY2lmaWVkIGRhdGEgdGhhdCBpcyBwYXNzZWQgdGhyb3VnaCB1bm1vZGlmaWVkLiBZb3UgY2FuXG4gICAqIHVzZSB0aGlzIHRvIHN0YXNoIHRoZSBvcmlnaW5hbCBlcnJvciwgZm9yIGV4YW1wbGUuXG4gICAqL1xuICBkZXRhaWw6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOb3RlIHtcbiAgdGV4dDogc3RyaW5nO1xuICBsb2NhdGlvbjogTG9jYXRpb24gfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvY2F0aW9uIHtcbiAgZmlsZTogc3RyaW5nO1xuICBuYW1lc3BhY2U6IHN0cmluZztcbiAgLyoqIDEtYmFzZWQgKi9cbiAgbGluZTogbnVtYmVyO1xuICAvKiogMC1iYXNlZCwgaW4gYnl0ZXMgKi9cbiAgY29sdW1uOiBudW1iZXI7XG4gIC8qKiBpbiBieXRlcyAqL1xuICBsZW5ndGg6IG51bWJlcjtcbiAgbGluZVRleHQ6IHN0cmluZztcbiAgc3VnZ2VzdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE91dHB1dEZpbGUge1xuICBwYXRoOiBzdHJpbmc7XG4gIC8qKiBcInRleHRcIiBhcyBieXRlcyAqL1xuICBjb250ZW50czogVWludDhBcnJheTtcbiAgLyoqIFwiY29udGVudHNcIiBhcyB0ZXh0ICovXG4gIHRleHQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZEludmFsaWRhdGUge1xuICAoKTogUHJvbWlzZTxCdWlsZEluY3JlbWVudGFsPjtcbiAgZGlzcG9zZSgpOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkSW5jcmVtZW50YWwgZXh0ZW5kcyBCdWlsZFJlc3VsdCB7XG4gIHJlYnVpbGQ6IEJ1aWxkSW52YWxpZGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZFJlc3VsdCB7XG4gIGVycm9yczogTWVzc2FnZVtdO1xuICB3YXJuaW5nczogTWVzc2FnZVtdO1xuICAvKiogT25seSB3aGVuIFwid3JpdGU6IGZhbHNlXCIgKi9cbiAgb3V0cHV0RmlsZXM/OiBPdXRwdXRGaWxlW107XG4gIC8qKiBPbmx5IHdoZW4gXCJpbmNyZW1lbnRhbDogdHJ1ZVwiICovXG4gIHJlYnVpbGQ/OiBCdWlsZEludmFsaWRhdGU7XG4gIC8qKiBPbmx5IHdoZW4gXCJ3YXRjaDogdHJ1ZVwiICovXG4gIHN0b3A/OiAoKSA9PiB2b2lkO1xuICAvKiogT25seSB3aGVuIFwibWV0YWZpbGU6IHRydWVcIiAqL1xuICBtZXRhZmlsZT86IE1ldGFmaWxlO1xuICAvKiogT25seSB3aGVuIFwibWFuZ2xlQ2FjaGVcIiBpcyBwcmVzZW50ICovXG4gIG1hbmdsZUNhY2hlPzogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgZmFsc2U+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkRmFpbHVyZSBleHRlbmRzIEVycm9yIHtcbiAgZXJyb3JzOiBNZXNzYWdlW107XG4gIHdhcm5pbmdzOiBNZXNzYWdlW107XG59XG5cbi8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jc2VydmUtYXJndW1lbnRzICovXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZlT3B0aW9ucyB7XG4gIHBvcnQ/OiBudW1iZXI7XG4gIGhvc3Q/OiBzdHJpbmc7XG4gIHNlcnZlZGlyPzogc3RyaW5nO1xuICBvblJlcXVlc3Q/OiAoYXJnczogU2VydmVPblJlcXVlc3RBcmdzKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZlT25SZXF1ZXN0QXJncyB7XG4gIHJlbW90ZUFkZHJlc3M6IHN0cmluZztcbiAgbWV0aG9kOiBzdHJpbmc7XG4gIHBhdGg6IHN0cmluZztcbiAgc3RhdHVzOiBudW1iZXI7XG4gIC8qKiBUaGUgdGltZSB0byBnZW5lcmF0ZSB0aGUgcmVzcG9uc2UsIG5vdCB0byBzZW5kIGl0ICovXG4gIHRpbWVJbk1TOiBudW1iZXI7XG59XG5cbi8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jc2VydmUtcmV0dXJuLXZhbHVlcyAqL1xuZXhwb3J0IGludGVyZmFjZSBTZXJ2ZVJlc3VsdCB7XG4gIHBvcnQ6IG51bWJlcjtcbiAgaG9zdDogc3RyaW5nO1xuICB3YWl0OiBQcm9taXNlPHZvaWQ+O1xuICBzdG9wOiAoKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zZm9ybU9wdGlvbnMgZXh0ZW5kcyBDb21tb25PcHRpb25zIHtcbiAgcmVhZG9ubHkgdHNjb25maWdSYXc/OiBzdHJpbmc7XG5cbiAgcmVhZG9ubHkgc291cmNlZmlsZT86IHN0cmluZztcbiAgcmVhZG9ubHkgbG9hZGVyPzogTG9hZGVyO1xuICByZWFkb25seSBiYW5uZXI/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGZvb3Rlcj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2Zvcm1SZXN1bHQge1xuICBjb2RlOiBzdHJpbmc7XG4gIG1hcDogc3RyaW5nO1xuICB3YXJuaW5nczogTWVzc2FnZVtdO1xuICAvKiogT25seSB3aGVuIFwibWFuZ2xlQ2FjaGVcIiBpcyBwcmVzZW50ICovXG4gIG1hbmdsZUNhY2hlPzogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgZmFsc2U+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zZm9ybUZhaWx1cmUgZXh0ZW5kcyBFcnJvciB7XG4gIGVycm9yczogTWVzc2FnZVtdO1xuICB3YXJuaW5nczogTWVzc2FnZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsdWdpbiB7XG4gIG5hbWU6IHN0cmluZztcbiAgc2V0dXA6IChidWlsZDogUGx1Z2luQnVpbGQpID0+ICh2b2lkIHwgUHJvbWlzZTx2b2lkPik7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGx1Z2luQnVpbGQge1xuICBpbml0aWFsT3B0aW9uczogQnVpbGRPcHRpb25zO1xuICByZXNvbHZlKHBhdGg6IHN0cmluZywgb3B0aW9ucz86IFJlc29sdmVPcHRpb25zKTogUHJvbWlzZTxSZXNvbHZlUmVzdWx0PjtcblxuICBvblN0YXJ0KGNhbGxiYWNrOiAoKSA9PlxuICAoT25TdGFydFJlc3VsdCB8IG51bGwgfCB2b2lkIHwgUHJvbWlzZTxPblN0YXJ0UmVzdWx0IHwgbnVsbCB8IHZvaWQ+KSk6IHZvaWQ7XG4gIG9uRW5kKGNhbGxiYWNrOiAocmVzdWx0OiBCdWlsZFJlc3VsdCkgPT5cbiAgKHZvaWQgfCBQcm9taXNlPHZvaWQ+KSk6IHZvaWQ7XG4gIG9uUmVzb2x2ZShvcHRpb25zOiBPblJlc29sdmVPcHRpb25zLCBjYWxsYmFjazogKGFyZ3M6IE9uUmVzb2x2ZUFyZ3MpID0+XG4gIChPblJlc29sdmVSZXN1bHQgfCBudWxsIHwgdW5kZWZpbmVkIHwgUHJvbWlzZTxPblJlc29sdmVSZXN1bHQgfCBudWxsIHwgdW5kZWZpbmVkPikpOiB2b2lkO1xuICBvbkxvYWQob3B0aW9uczogT25Mb2FkT3B0aW9ucywgY2FsbGJhY2s6IChhcmdzOiBPbkxvYWRBcmdzKSA9PlxuICAoT25Mb2FkUmVzdWx0IHwgbnVsbCB8IHVuZGVmaW5lZCB8IFByb21pc2U8T25Mb2FkUmVzdWx0IHwgbnVsbCB8IHVuZGVmaW5lZD4pKTogdm9pZDtcblxuICAvLyBUaGlzIGlzIGEgZnVsbCBjb3B5IG9mIHRoZSBlc2J1aWxkIGxpYnJhcnkgaW4gY2FzZSB5b3UgbmVlZCBpdFxuICBlc2J1aWxkOiB7XG4gICAgc2VydmU6IHR5cGVvZiBzZXJ2ZTtcbiAgICBidWlsZDogdHlwZW9mIGJ1aWxkO1xuICAgIGJ1aWxkU3luYzogdHlwZW9mIGJ1aWxkU3luYztcbiAgICB0cmFuc2Zvcm06IHR5cGVvZiB0cmFuc2Zvcm07XG4gICAgdHJhbnNmb3JtU3luYzogdHlwZW9mIHRyYW5zZm9ybVN5bmM7XG4gICAgZm9ybWF0TWVzc2FnZXM6IHR5cGVvZiBmb3JtYXRNZXNzYWdlcztcbiAgICBmb3JtYXRNZXNzYWdlc1N5bmM6IHR5cGVvZiBmb3JtYXRNZXNzYWdlc1N5bmM7XG4gICAgYW5hbHl6ZU1ldGFmaWxlOiB0eXBlb2YgYW5hbHl6ZU1ldGFmaWxlO1xuICAgIGFuYWx5emVNZXRhZmlsZVN5bmM6IHR5cGVvZiBhbmFseXplTWV0YWZpbGVTeW5jO1xuICAgIGluaXRpYWxpemU6IHR5cGVvZiBpbml0aWFsaXplO1xuICAgIHZlcnNpb246IHR5cGVvZiB2ZXJzaW9uO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlc29sdmVPcHRpb25zIHtcbiAgcGx1Z2luTmFtZT86IHN0cmluZztcbiAgaW1wb3J0ZXI/OiBzdHJpbmc7XG4gIG5hbWVzcGFjZT86IHN0cmluZztcbiAgcmVzb2x2ZURpcj86IHN0cmluZztcbiAga2luZD86IEltcG9ydEtpbmQ7XG4gIHBsdWdpbkRhdGE/OiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb2x2ZVJlc3VsdCB7XG4gIGVycm9yczogTWVzc2FnZVtdO1xuICB3YXJuaW5nczogTWVzc2FnZVtdO1xuXG4gIHBhdGg6IHN0cmluZztcbiAgZXh0ZXJuYWw6IGJvb2xlYW47XG4gIHNpZGVFZmZlY3RzOiBib29sZWFuO1xuICBuYW1lc3BhY2U6IHN0cmluZztcbiAgc3VmZml4OiBzdHJpbmc7XG4gIHBsdWdpbkRhdGE6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPblN0YXJ0UmVzdWx0IHtcbiAgZXJyb3JzPzogUGFydGlhbE1lc3NhZ2VbXTtcbiAgd2FybmluZ3M/OiBQYXJ0aWFsTWVzc2FnZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uUmVzb2x2ZU9wdGlvbnMge1xuICBmaWx0ZXI6IFJlZ0V4cDtcbiAgbmFtZXNwYWNlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uUmVzb2x2ZUFyZ3Mge1xuICBwYXRoOiBzdHJpbmc7XG4gIGltcG9ydGVyOiBzdHJpbmc7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICByZXNvbHZlRGlyOiBzdHJpbmc7XG4gIGtpbmQ6IEltcG9ydEtpbmQ7XG4gIHBsdWdpbkRhdGE6IGFueTtcbn1cblxuZXhwb3J0IHR5cGUgSW1wb3J0S2luZCA9XG4gIHwgJ2VudHJ5LXBvaW50J1xuXG4gIC8vIEpTXG4gIHwgJ2ltcG9ydC1zdGF0ZW1lbnQnXG4gIHwgJ3JlcXVpcmUtY2FsbCdcbiAgfCAnZHluYW1pYy1pbXBvcnQnXG4gIHwgJ3JlcXVpcmUtcmVzb2x2ZSdcblxuICAvLyBDU1NcbiAgfCAnaW1wb3J0LXJ1bGUnXG4gIHwgJ3VybC10b2tlbidcblxuZXhwb3J0IGludGVyZmFjZSBPblJlc29sdmVSZXN1bHQge1xuICBwbHVnaW5OYW1lPzogc3RyaW5nO1xuXG4gIGVycm9ycz86IFBhcnRpYWxNZXNzYWdlW107XG4gIHdhcm5pbmdzPzogUGFydGlhbE1lc3NhZ2VbXTtcblxuICBwYXRoPzogc3RyaW5nO1xuICBleHRlcm5hbD86IGJvb2xlYW47XG4gIHNpZGVFZmZlY3RzPzogYm9vbGVhbjtcbiAgbmFtZXNwYWNlPzogc3RyaW5nO1xuICBzdWZmaXg/OiBzdHJpbmc7XG4gIHBsdWdpbkRhdGE/OiBhbnk7XG5cbiAgd2F0Y2hGaWxlcz86IHN0cmluZ1tdO1xuICB3YXRjaERpcnM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPbkxvYWRPcHRpb25zIHtcbiAgZmlsdGVyOiBSZWdFeHA7XG4gIG5hbWVzcGFjZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPbkxvYWRBcmdzIHtcbiAgcGF0aDogc3RyaW5nO1xuICBuYW1lc3BhY2U6IHN0cmluZztcbiAgc3VmZml4OiBzdHJpbmc7XG4gIHBsdWdpbkRhdGE6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPbkxvYWRSZXN1bHQge1xuICBwbHVnaW5OYW1lPzogc3RyaW5nO1xuXG4gIGVycm9ycz86IFBhcnRpYWxNZXNzYWdlW107XG4gIHdhcm5pbmdzPzogUGFydGlhbE1lc3NhZ2VbXTtcblxuICBjb250ZW50cz86IHN0cmluZyB8IFVpbnQ4QXJyYXk7XG4gIHJlc29sdmVEaXI/OiBzdHJpbmc7XG4gIGxvYWRlcj86IExvYWRlcjtcbiAgcGx1Z2luRGF0YT86IGFueTtcblxuICB3YXRjaEZpbGVzPzogc3RyaW5nW107XG4gIHdhdGNoRGlycz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRpYWxNZXNzYWdlIHtcbiAgcGx1Z2luTmFtZT86IHN0cmluZztcbiAgdGV4dD86IHN0cmluZztcbiAgbG9jYXRpb24/OiBQYXJ0aWFsPExvY2F0aW9uPiB8IG51bGw7XG4gIG5vdGVzPzogUGFydGlhbE5vdGVbXTtcbiAgZGV0YWlsPzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRpYWxOb3RlIHtcbiAgdGV4dD86IHN0cmluZztcbiAgbG9jYXRpb24/OiBQYXJ0aWFsPExvY2F0aW9uPiB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWV0YWZpbGUge1xuICBpbnB1dHM6IHtcbiAgICBbcGF0aDogc3RyaW5nXToge1xuICAgICAgYnl0ZXM6IG51bWJlcjtcbiAgICAgIGltcG9ydHM6IHtcbiAgICAgICAgcGF0aDogc3RyaW5nO1xuICAgICAgICBraW5kOiBJbXBvcnRLaW5kO1xuICAgICAgfVtdO1xuICAgIH07XG4gIH07XG4gIG91dHB1dHM6IHtcbiAgICBbcGF0aDogc3RyaW5nXToge1xuICAgICAgYnl0ZXM6IG51bWJlcjtcbiAgICAgIGlucHV0czoge1xuICAgICAgICBbcGF0aDogc3RyaW5nXToge1xuICAgICAgICAgIGJ5dGVzSW5PdXRwdXQ6IG51bWJlcjtcbiAgICAgICAgfTtcbiAgICAgIH07XG4gICAgICBpbXBvcnRzOiB7XG4gICAgICAgIHBhdGg6IHN0cmluZztcbiAgICAgICAga2luZDogSW1wb3J0S2luZDtcbiAgICAgIH1bXTtcbiAgICAgIGV4cG9ydHM6IHN0cmluZ1tdO1xuICAgICAgZW50cnlQb2ludD86IHN0cmluZztcbiAgICB9O1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1hdE1lc3NhZ2VzT3B0aW9ucyB7XG4gIGtpbmQ6ICdlcnJvcicgfCAnd2FybmluZyc7XG4gIGNvbG9yPzogYm9vbGVhbjtcbiAgdGVybWluYWxXaWR0aD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBbmFseXplTWV0YWZpbGVPcHRpb25zIHtcbiAgY29sb3I/OiBib29sZWFuO1xuICB2ZXJib3NlPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIGludm9rZXMgdGhlIFwiZXNidWlsZFwiIGNvbW1hbmQtbGluZSB0b29sIGZvciB5b3UuIEl0IHJldHVybnMgYVxuICogcHJvbWlzZSB0aGF0IGVpdGhlciByZXNvbHZlcyB3aXRoIGEgXCJCdWlsZFJlc3VsdFwiIG9iamVjdCBvciByZWplY3RzIHdpdGggYVxuICogXCJCdWlsZEZhaWx1cmVcIiBvYmplY3QuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3NlcjogeWVzXG4gKlxuICogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2J1aWxkLWFwaVxuICovXG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBidWlsZChvcHRpb25zOiBCdWlsZE9wdGlvbnMgJiB7IHdyaXRlOiBmYWxzZSB9KTogUHJvbWlzZTxCdWlsZFJlc3VsdCAmIHsgb3V0cHV0RmlsZXM6IE91dHB1dEZpbGVbXSB9PjtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGJ1aWxkKG9wdGlvbnM6IEJ1aWxkT3B0aW9ucyAmIHsgaW5jcmVtZW50YWw6IHRydWU7IG1ldGFmaWxlOiB0cnVlIH0pOiBQcm9taXNlPEJ1aWxkSW5jcmVtZW50YWwgJiB7IG1ldGFmaWxlOiBNZXRhZmlsZSB9PjtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGJ1aWxkKG9wdGlvbnM6IEJ1aWxkT3B0aW9ucyAmIHsgaW5jcmVtZW50YWw6IHRydWUgfSk6IFByb21pc2U8QnVpbGRJbmNyZW1lbnRhbD47XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBidWlsZChvcHRpb25zOiBCdWlsZE9wdGlvbnMgJiB7IG1ldGFmaWxlOiB0cnVlIH0pOiBQcm9taXNlPEJ1aWxkUmVzdWx0ICYgeyBtZXRhZmlsZTogTWV0YWZpbGUgfT47XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBidWlsZChvcHRpb25zOiBCdWlsZE9wdGlvbnMpOiBQcm9taXNlPEJ1aWxkUmVzdWx0PjtcblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIGlzIHNpbWlsYXIgdG8gXCJidWlsZFwiIGJ1dCBpdCBzZXJ2ZXMgdGhlIHJlc3VsdGluZyBmaWxlcyBvdmVyXG4gKiBIVFRQIG9uIGEgbG9jYWxob3N0IGFkZHJlc3Mgd2l0aCB0aGUgc3BlY2lmaWVkIHBvcnQuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3Nlcjogbm9cbiAqXG4gKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jc2VydmVcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gc2VydmUoc2VydmVPcHRpb25zOiBTZXJ2ZU9wdGlvbnMsIGJ1aWxkT3B0aW9uczogQnVpbGRPcHRpb25zKTogUHJvbWlzZTxTZXJ2ZVJlc3VsdD47XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiB0cmFuc2Zvcm1zIGEgc2luZ2xlIEphdmFTY3JpcHQgZmlsZS4gSXQgY2FuIGJlIHVzZWQgdG8gbWluaWZ5XG4gKiBKYXZhU2NyaXB0LCBjb252ZXJ0IFR5cGVTY3JpcHQvSlNYIHRvIEphdmFTY3JpcHQsIG9yIGNvbnZlcnQgbmV3ZXIgSmF2YVNjcmlwdFxuICogdG8gb2xkZXIgSmF2YVNjcmlwdC4gSXQgcmV0dXJucyBhIHByb21pc2UgdGhhdCBpcyBlaXRoZXIgcmVzb2x2ZWQgd2l0aCBhXG4gKiBcIlRyYW5zZm9ybVJlc3VsdFwiIG9iamVjdCBvciByZWplY3RlZCB3aXRoIGEgXCJUcmFuc2Zvcm1GYWlsdXJlXCIgb2JqZWN0LlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IHllc1xuICpcbiAqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyN0cmFuc2Zvcm0tYXBpXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIHRyYW5zZm9ybShpbnB1dDogc3RyaW5nLCBvcHRpb25zPzogVHJhbnNmb3JtT3B0aW9ucyk6IFByb21pc2U8VHJhbnNmb3JtUmVzdWx0PjtcblxuLyoqXG4gKiBDb252ZXJ0cyBsb2cgbWVzc2FnZXMgdG8gZm9ybWF0dGVkIG1lc3NhZ2Ugc3RyaW5ncyBzdWl0YWJsZSBmb3IgcHJpbnRpbmcgaW5cbiAqIHRoZSB0ZXJtaW5hbC4gVGhpcyBhbGxvd3MgeW91IHRvIHJldXNlIHRoZSBidWlsdC1pbiBiZWhhdmlvciBvZiBlc2J1aWxkJ3NcbiAqIGxvZyBtZXNzYWdlIGZvcm1hdHRlci4gVGhpcyBpcyBhIGJhdGNoLW9yaWVudGVkIEFQSSBmb3IgZWZmaWNpZW5jeS5cbiAqXG4gKiAtIFdvcmtzIGluIG5vZGU6IHllc1xuICogLSBXb3JrcyBpbiBicm93c2VyOiB5ZXNcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gZm9ybWF0TWVzc2FnZXMobWVzc2FnZXM6IFBhcnRpYWxNZXNzYWdlW10sIG9wdGlvbnM6IEZvcm1hdE1lc3NhZ2VzT3B0aW9ucyk6IFByb21pc2U8c3RyaW5nW10+O1xuXG4vKipcbiAqIFByZXR0eS1wcmludHMgYW4gYW5hbHlzaXMgb2YgdGhlIG1ldGFmaWxlIEpTT04gdG8gYSBzdHJpbmcuIFRoaXMgaXMganVzdCBmb3JcbiAqIGNvbnZlbmllbmNlIHRvIGJlIGFibGUgdG8gbWF0Y2ggZXNidWlsZCdzIHByZXR0eS1wcmludGluZyBleGFjdGx5LiBJZiB5b3Ugd2FudFxuICogdG8gY3VzdG9taXplIGl0LCB5b3UgY2FuIGp1c3QgaW5zcGVjdCB0aGUgZGF0YSBpbiB0aGUgbWV0YWZpbGUgeW91cnNlbGYuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3NlcjogeWVzXG4gKlxuICogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2FuYWx5emVcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gYW5hbHl6ZU1ldGFmaWxlKG1ldGFmaWxlOiBNZXRhZmlsZSB8IHN0cmluZywgb3B0aW9ucz86IEFuYWx5emVNZXRhZmlsZU9wdGlvbnMpOiBQcm9taXNlPHN0cmluZz47XG5cbi8qKlxuICogQSBzeW5jaHJvbm91cyB2ZXJzaW9uIG9mIFwiYnVpbGRcIi5cbiAqXG4gKiAtIFdvcmtzIGluIG5vZGU6IHllc1xuICogLSBXb3JrcyBpbiBicm93c2VyOiBub1xuICpcbiAqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNidWlsZC1hcGlcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gYnVpbGRTeW5jKG9wdGlvbnM6IEJ1aWxkT3B0aW9ucyAmIHsgd3JpdGU6IGZhbHNlIH0pOiBCdWlsZFJlc3VsdCAmIHsgb3V0cHV0RmlsZXM6IE91dHB1dEZpbGVbXSB9O1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gYnVpbGRTeW5jKG9wdGlvbnM6IEJ1aWxkT3B0aW9ucyk6IEJ1aWxkUmVzdWx0O1xuXG4vKipcbiAqIEEgc3luY2hyb25vdXMgdmVyc2lvbiBvZiBcInRyYW5zZm9ybVwiLlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IG5vXG4gKlxuICogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3RyYW5zZm9ybS1hcGlcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gdHJhbnNmb3JtU3luYyhpbnB1dDogc3RyaW5nLCBvcHRpb25zPzogVHJhbnNmb3JtT3B0aW9ucyk6IFRyYW5zZm9ybVJlc3VsdDtcblxuLyoqXG4gKiBBIHN5bmNocm9ub3VzIHZlcnNpb24gb2YgXCJmb3JtYXRNZXNzYWdlc1wiLlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IG5vXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGZvcm1hdE1lc3NhZ2VzU3luYyhtZXNzYWdlczogUGFydGlhbE1lc3NhZ2VbXSwgb3B0aW9uczogRm9ybWF0TWVzc2FnZXNPcHRpb25zKTogc3RyaW5nW107XG5cbi8qKlxuICogQSBzeW5jaHJvbm91cyB2ZXJzaW9uIG9mIFwiYW5hbHl6ZU1ldGFmaWxlXCIuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3Nlcjogbm9cbiAqXG4gKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jYW5hbHl6ZVxuICovXG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBhbmFseXplTWV0YWZpbGVTeW5jKG1ldGFmaWxlOiBNZXRhZmlsZSB8IHN0cmluZywgb3B0aW9ucz86IEFuYWx5emVNZXRhZmlsZU9wdGlvbnMpOiBzdHJpbmc7XG5cbi8qKlxuICogVGhpcyBjb25maWd1cmVzIHRoZSBicm93c2VyLWJhc2VkIHZlcnNpb24gb2YgZXNidWlsZC4gSXQgaXMgbmVjZXNzYXJ5IHRvXG4gKiBjYWxsIHRoaXMgZmlyc3QgYW5kIHdhaXQgZm9yIHRoZSByZXR1cm5lZCBwcm9taXNlIHRvIGJlIHJlc29sdmVkIGJlZm9yZVxuICogbWFraW5nIG90aGVyIEFQSSBjYWxscyB3aGVuIHVzaW5nIGVzYnVpbGQgaW4gdGhlIGJyb3dzZXIuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3NlcjogeWVzIChcIm9wdGlvbnNcIiBpcyByZXF1aXJlZClcbiAqXG4gKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jcnVubmluZy1pbi10aGUtYnJvd3NlclxuICovXG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBpbml0aWFsaXplKG9wdGlvbnM6IEluaXRpYWxpemVPcHRpb25zKTogUHJvbWlzZTx2b2lkPjtcblxuZXhwb3J0IGludGVyZmFjZSBJbml0aWFsaXplT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgVVJMIG9mIHRoZSBcImVzYnVpbGQud2FzbVwiIGZpbGUuIFRoaXMgbXVzdCBiZSBwcm92aWRlZCB3aGVuIHJ1bm5pbmdcbiAgICogZXNidWlsZCBpbiB0aGUgYnJvd3Nlci5cbiAgICovXG4gIHdhc21VUkw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSByZXN1bHQgb2YgY2FsbGluZyBcIm5ldyBXZWJBc3NlbWJseS5Nb2R1bGUoYnVmZmVyKVwiIHdoZXJlIFwiYnVmZmVyXCJcbiAgICogaXMgYSB0eXBlZCBhcnJheSBvciBBcnJheUJ1ZmZlciBjb250YWluaW5nIHRoZSBiaW5hcnkgY29kZSBvZiB0aGVcbiAgICogXCJlc2J1aWxkLndhc21cIiBmaWxlLlxuICAgKlxuICAgKiBZb3UgY2FuIHVzZSB0aGlzIGFzIGFuIGFsdGVybmF0aXZlIHRvIFwid2FzbVVSTFwiIGZvciBlbnZpcm9ubWVudHMgd2hlcmUgaXQnc1xuICAgKiBub3QgcG9zc2libGUgdG8gZG93bmxvYWQgdGhlIFdlYkFzc2VtYmx5IG1vZHVsZS5cbiAgICovXG4gIHdhc21Nb2R1bGU/OiBhbnk7XG5cbiAgLyoqXG4gICAqIEJ5IGRlZmF1bHQgZXNidWlsZCBydW5zIHRoZSBXZWJBc3NlbWJseS1iYXNlZCBicm93c2VyIEFQSSBpbiBhIHdlYiB3b3JrZXJcbiAgICogdG8gYXZvaWQgYmxvY2tpbmcgdGhlIFVJIHRocmVhZC4gVGhpcyBjYW4gYmUgZGlzYWJsZWQgYnkgc2V0dGluZyBcIndvcmtlclwiXG4gICAqIHRvIGZhbHNlLlxuICAgKi9cbiAgd29ya2VyPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGxldCB2ZXJzaW9uOiBzdHJpbmc7XG4iXX0=
@@ -70,7 +70,7 @@ class InlineJavaScriptCode extends BaseInlineCode {
70
70
  }
71
71
  exports.InlineJavaScriptCode = InlineJavaScriptCode;
72
72
  _a = JSII_RTTI_SYMBOL_1;
73
- InlineJavaScriptCode[_a] = { fqn: "@mrgrain/cdk-esbuild.InlineJavaScriptCode", version: "3.3.0" };
73
+ InlineJavaScriptCode[_a] = { fqn: "@mrgrain/cdk-esbuild.InlineJavaScriptCode", version: "3.4.0" };
74
74
  /**
75
75
  * An implementation of `lambda.InlineCode` using the esbuild Transform API. Inline function code is limited to 4 KiB after transformation.
76
76
  *
@@ -101,7 +101,7 @@ class InlineJsxCode extends BaseInlineCode {
101
101
  }
102
102
  exports.InlineJsxCode = InlineJsxCode;
103
103
  _b = JSII_RTTI_SYMBOL_1;
104
- InlineJsxCode[_b] = { fqn: "@mrgrain/cdk-esbuild.InlineJsxCode", version: "3.3.0" };
104
+ InlineJsxCode[_b] = { fqn: "@mrgrain/cdk-esbuild.InlineJsxCode", version: "3.4.0" };
105
105
  /**
106
106
  * An implementation of `lambda.InlineCode` using the esbuild Transform API. Inline function code is limited to 4 KiB after transformation.
107
107
  *
@@ -132,7 +132,7 @@ class InlineTypeScriptCode extends BaseInlineCode {
132
132
  }
133
133
  exports.InlineTypeScriptCode = InlineTypeScriptCode;
134
134
  _c = JSII_RTTI_SYMBOL_1;
135
- InlineTypeScriptCode[_c] = { fqn: "@mrgrain/cdk-esbuild.InlineTypeScriptCode", version: "3.3.0" };
135
+ InlineTypeScriptCode[_c] = { fqn: "@mrgrain/cdk-esbuild.InlineTypeScriptCode", version: "3.4.0" };
136
136
  /**
137
137
  * An implementation of `lambda.InlineCode` using the esbuild Transform API. Inline function code is limited to 4 KiB after transformation.
138
138
  *
@@ -163,5 +163,5 @@ class InlineTsxCode extends BaseInlineCode {
163
163
  }
164
164
  exports.InlineTsxCode = InlineTsxCode;
165
165
  _d = JSII_RTTI_SYMBOL_1;
166
- InlineTsxCode[_d] = { fqn: "@mrgrain/cdk-esbuild.InlineTsxCode", version: "3.3.0" };
166
+ InlineTsxCode[_d] = { fqn: "@mrgrain/cdk-esbuild.InlineTsxCode", version: "3.4.0" };
167
167
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWNvZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5saW5lLWNvZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx1REFBb0Q7QUFFcEQsdURBQWtEO0FBQ2xELHFEQUFzRDtBQTRCdEQsTUFBZSxjQUFlLFNBQVEsdUJBQVU7SUFDOUMsWUFDRSxJQUFZLEVBQ1osS0FBdUI7UUFHdkIsTUFBTSxFQUFFLFdBQVcsR0FBRywrQkFBYSxFQUFFLGdCQUFnQixHQUFHLEVBQUUsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUVyRSxJQUFJO1lBQ0YsTUFBTSxlQUFlLEdBQUcsV0FBVyxDQUFDLElBQUksRUFBRTtnQkFDeEMsR0FBRyxnQkFBZ0I7YUFDcEIsQ0FBQyxDQUFDO1lBQ0gsbUNBQWtCLENBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7WUFFOUQsS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM3QjtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ2QsbUNBQWtCLENBQUMsS0FBeUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO1lBRXhFLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztTQUNuRDtJQUNILENBQUM7Q0FDRjtBQUVELFNBQVMsMEJBQTBCLENBQUMsTUFBVztJQUM3QyxPQUFPLGtCQUFrQixJQUFJLE1BQU0sSUFBSSxhQUFhLElBQUksTUFBTSxDQUFDO0FBQ2pFLENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLE1BQWMsRUFBRSxLQUEyQztJQUNuRixJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ1YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQztLQUN6QztJQUVELElBQUksQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLENBQUMsRUFBRztRQUN2QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsR0FBRyxLQUFLLEVBQUUsRUFBRSxDQUFDO0tBQ25EO0lBRUQsT0FBTztRQUNMLEdBQUcsS0FBSztRQUNSLGdCQUFnQixFQUFFO1lBQ2hCLE1BQU07WUFDTixHQUFHLEtBQUssQ0FBQyxnQkFBZ0I7U0FDMUI7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUdEOzs7O0dBSUc7QUFDSCxNQUFhLG9CQUFxQixTQUFRLGNBQWM7SUFDdEQ7SUFDRTs7OztPQUlHO0lBQ0gsSUFBWTtJQUNaOzs7Ozs7Ozs7O09BVUc7SUFDSCxLQUEyQztRQUczQyxLQUFLLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7O0FBdkJILG9EQXdCQzs7O0FBRUQ7Ozs7R0FJRztBQUNILE1BQWEsYUFBYyxTQUFRLGNBQWM7SUFDL0M7SUFDRTs7OztPQUlHO0lBQ0gsSUFBWTtJQUNaOzs7Ozs7Ozs7O09BVUc7SUFDSCxLQUEyQztRQUUzQyxLQUFLLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7O0FBdEJILHNDQXVCQzs7O0FBRUQ7Ozs7R0FJRztBQUNILE1BQWEsb0JBQXFCLFNBQVEsY0FBYztJQUN0RDtJQUNFOzs7O09BSUc7SUFDSCxJQUFZO0lBQ1o7Ozs7Ozs7Ozs7T0FVRztJQUNILEtBQTJDO1FBRTNDLEtBQUssQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDN0MsQ0FBQzs7QUF0Qkgsb0RBdUJDOzs7QUFFRDs7OztHQUlHO0FBQ0gsTUFBYSxhQUFjLFNBQVEsY0FBYztJQUMvQztJQUNFOzs7O09BSUc7SUFDSCxJQUFZO0lBQ1o7Ozs7Ozs7Ozs7T0FVRztJQUNILEtBQTJDO1FBRTNDLEtBQUssQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQzs7QUF0Qkgsc0NBdUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5saW5lQ29kZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgVHJhbnNmb3JtT3B0aW9ucywgTG9hZGVyLCBUcmFuc2Zvcm1GYWlsdXJlIH0gZnJvbSAnLi9lc2J1aWxkLXR5cGVzJztcbmltcG9ydCB7IHRyYW5zZm9ybVN5bmMgfSBmcm9tICcuL2VzYnVpbGQtd3JhcHBlcic7XG5pbXBvcnQgeyBwcmludEJ1aWxkTWVzc2FnZXMgfSBmcm9tICcuL2Zvcm1hdE1lc3NhZ2VzJztcblxuLyoqXG4gKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zZm9ybWVyUHJvcHMge1xuICAvKipcbiAgICogVHJhbnNmb3JtIG9wdGlvbnMgcGFzc2VkIG9uIHRvIGVzYnVpbGQuIFBsZWFzZSByZWZlciB0byB0aGUgZXNidWlsZCBUcmFuc2Zvcm0gQVBJIGRvY3MgZm9yIGRldGFpbHMuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3RyYW5zZm9ybS1hcGlcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zZm9ybU9wdGlvbnM/OiBUcmFuc2Zvcm1PcHRpb25zO1xuXG4gIC8qKlxuICAgKiBFc2NhcGUgaGF0Y2ggdG8gcHJvdmlkZSB0aGUgYnVuZGxlciB3aXRoIGEgY3VzdG9tIHRyYW5zZm9ybSBmdW5jdGlvbi5cbiAgICogVGhlIGZ1bmN0aW9uIHdpbGwgcmVjZWl2ZSB0aGUgY29tcHV0ZWQgb3B0aW9ucyBmcm9tIHRoZSBidW5kbGVyLiBJdCBjYW4gdXNlIHdpdGggdGhlc2Ugb3B0aW9ucyBhcyBpdCB3aXNoZXMsIGhvd2V2ZXIgYSBUcmFuc2Zvcm1SZXN1bHQgbXVzdCBiZSByZXR1cm5lZCB0byBpbnRlZ3JhdGUgd2l0aCBDREsuXG4gICAqIE11c3QgdGhyb3cgYSBgVHJhbnNmb3JtRmFpbHVyZWAgb24gZmFpbHVyZSB0byBjb3JyZWN0bHkgaW5mb3JtIHRoZSBidW5kbGVyLlxuICAgKlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKiBAdHlwZSBlc2J1aWxkLnRyYW5zZm9ybVN5bmNcbiAgICogQHJldHVybnMgZXNidWlsZC5UcmFuc2Zvcm1SZXN1bHRcbiAgICogQHRocm93cyBlc2J1aWxkLlRyYW5zZm9ybUZhaWx1cmVcbiAgICogQGRlZmF1bHQgZXNidWlsZC50cmFuc2Zvcm1TeW5jXG4gICAqL1xuICByZWFkb25seSB0cmFuc2Zvcm1Gbj86IGFueTtcbn1cblxuYWJzdHJhY3QgY2xhc3MgQmFzZUlubGluZUNvZGUgZXh0ZW5kcyBJbmxpbmVDb2RlIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIGNvZGU6IHN0cmluZyxcbiAgICBwcm9wczogVHJhbnNmb3JtZXJQcm9wcyxcbiAgKSB7XG5cbiAgICBjb25zdCB7IHRyYW5zZm9ybUZuID0gdHJhbnNmb3JtU3luYywgdHJhbnNmb3JtT3B0aW9ucyA9IHt9IH0gPSBwcm9wcztcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCB0cmFuc2Zvcm1lZENvZGUgPSB0cmFuc2Zvcm1Gbihjb2RlLCB7XG4gICAgICAgIC4uLnRyYW5zZm9ybU9wdGlvbnMsXG4gICAgICB9KTtcbiAgICAgIHByaW50QnVpbGRNZXNzYWdlcyh0cmFuc2Zvcm1lZENvZGUsIHsgcHJlZml4OiAnVHJhbnNmb3JtICcgfSk7XG5cbiAgICAgIHN1cGVyKHRyYW5zZm9ybWVkQ29kZS5jb2RlKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgcHJpbnRCdWlsZE1lc3NhZ2VzKGVycm9yIGFzIFRyYW5zZm9ybUZhaWx1cmUsIHsgcHJlZml4OiAnVHJhbnNmb3JtICcgfSk7XG5cbiAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIHRyYW5zZm9ybSBJbmxpbmVDb2RlJyk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGluc3RhbmNlT2ZUcmFuc2Zvcm1lclByb3BzKG9iamVjdDogYW55KTogb2JqZWN0IGlzIFRyYW5zZm9ybWVyUHJvcHMge1xuICByZXR1cm4gJ3RyYW5zZm9ybU9wdGlvbnMnIGluIG9iamVjdCB8fCAndHJhbnNmb3JtRm4nIGluIG9iamVjdDtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtZXJQcm9wcyhsb2FkZXI6IExvYWRlciwgcHJvcHM/OiBUcmFuc2Zvcm1lclByb3BzIHwgVHJhbnNmb3JtT3B0aW9ucyk6IFRyYW5zZm9ybWVyUHJvcHMge1xuICBpZiAoIXByb3BzKSB7XG4gICAgcmV0dXJuIHsgdHJhbnNmb3JtT3B0aW9uczogeyBsb2FkZXIgfSB9O1xuICB9XG5cbiAgaWYgKCFpbnN0YW5jZU9mVHJhbnNmb3JtZXJQcm9wcyhwcm9wcykgKSB7XG4gICAgcmV0dXJuIHsgdHJhbnNmb3JtT3B0aW9uczogeyBsb2FkZXIsIC4uLnByb3BzIH0gfTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgLi4ucHJvcHMsXG4gICAgdHJhbnNmb3JtT3B0aW9uczoge1xuICAgICAgbG9hZGVyLFxuICAgICAgLi4ucHJvcHMudHJhbnNmb3JtT3B0aW9ucyxcbiAgICB9LFxuICB9O1xufVxuXG5cbi8qKlxuICogQW4gaW1wbGVtZW50YXRpb24gb2YgYGxhbWJkYS5JbmxpbmVDb2RlYCB1c2luZyB0aGUgZXNidWlsZCBUcmFuc2Zvcm0gQVBJLiBJbmxpbmUgZnVuY3Rpb24gY29kZSBpcyBsaW1pdGVkIHRvIDQgS2lCIGFmdGVyIHRyYW5zZm9ybWF0aW9uLlxuICpcbiAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCBjbGFzcyBJbmxpbmVKYXZhU2NyaXB0Q29kZSBleHRlbmRzIEJhc2VJbmxpbmVDb2RlIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIC8qKlxuICAgICAqIFRoZSBpbmxpbmUgY29kZSB0byBiZSB0cmFuc2Zvcm1lZC5cbiAgICAgKlxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgY29kZTogc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIFN1cHBvcnQgZm9yIGBUcmFuc2Zvcm1PcHRpb25zYCBpcyBkZXByZWNhdGVkLiBQbGVhc2UgcHJvdmlkZSBgVHJhbnNmb3JtZXJQcm9wc2AhXG4gICAgICpcbiAgICAgKiBQcm9wcyB0byBjaGFuZ2UgdGhlIGJlaGF2aW91ciBvZiB0aGUgdHJhbnNmb3JtZXIuXG4gICAgICpcbiAgICAgKiBEZWZhdWx0IHZhbHVlcyBmb3IgYHByb3BzLnRyYW5zZm9ybU9wdGlvbnNgOlxuICAgICAqIC0gYGxvYWRlcj0nanMnYFxuICAgICAqXG4gICAgICogQHNlZSBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jdHJhbnNmb3JtLWFwaVxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcHJvcHM/OiBUcmFuc2Zvcm1lclByb3BzIHwgVHJhbnNmb3JtT3B0aW9ucyxcbiAgKSB7XG5cbiAgICBzdXBlcihjb2RlLCB0cmFuc2Zvcm1lclByb3BzKCdqcycsIHByb3BzKSk7XG4gIH1cbn1cblxuLyoqXG4gKiBBbiBpbXBsZW1lbnRhdGlvbiBvZiBgbGFtYmRhLklubGluZUNvZGVgIHVzaW5nIHRoZSBlc2J1aWxkIFRyYW5zZm9ybSBBUEkuIElubGluZSBmdW5jdGlvbiBjb2RlIGlzIGxpbWl0ZWQgdG8gNCBLaUIgYWZ0ZXIgdHJhbnNmb3JtYXRpb24uXG4gKlxuICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAqL1xuZXhwb3J0IGNsYXNzIElubGluZUpzeENvZGUgZXh0ZW5kcyBCYXNlSW5saW5lQ29kZSB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAvKipcbiAgICAgKiBUaGUgaW5saW5lIGNvZGUgdG8gYmUgdHJhbnNmb3JtZWQuXG4gICAgICpcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIGNvZGU6IHN0cmluZyxcbiAgICAvKipcbiAgICAgKiBTdXBwb3J0IGZvciBgVHJhbnNmb3JtT3B0aW9uc2AgaXMgZGVwcmVjYXRlZC4gUGxlYXNlIHByb3ZpZGUgYFRyYW5zZm9ybWVyUHJvcHNgIVxuICAgICAqXG4gICAgICogUHJvcHMgdG8gY2hhbmdlIHRoZSBiZWhhdmlvdXIgb2YgdGhlIHRyYW5zZm9ybWVyLlxuICAgICAqXG4gICAgICogRGVmYXVsdCB2YWx1ZXMgZm9yIGB0cmFuc2Zvcm1PcHRpb25zYDpcbiAgICAgKiAtIGBsb2FkZXI9J2pzeCdgXG4gICAgICpcbiAgICAgKiBAc2VlIGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyN0cmFuc2Zvcm0tYXBpXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICBwcm9wcz86IFRyYW5zZm9ybWVyUHJvcHMgfCBUcmFuc2Zvcm1PcHRpb25zLFxuICApIHtcbiAgICBzdXBlcihjb2RlLCB0cmFuc2Zvcm1lclByb3BzKCdqc3gnLCBwcm9wcykpO1xuICB9XG59XG5cbi8qKlxuICogQW4gaW1wbGVtZW50YXRpb24gb2YgYGxhbWJkYS5JbmxpbmVDb2RlYCB1c2luZyB0aGUgZXNidWlsZCBUcmFuc2Zvcm0gQVBJLiBJbmxpbmUgZnVuY3Rpb24gY29kZSBpcyBsaW1pdGVkIHRvIDQgS2lCIGFmdGVyIHRyYW5zZm9ybWF0aW9uLlxuICpcbiAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCBjbGFzcyBJbmxpbmVUeXBlU2NyaXB0Q29kZSBleHRlbmRzIEJhc2VJbmxpbmVDb2RlIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIC8qKlxuICAgICAqIFRoZSBpbmxpbmUgY29kZSB0byBiZSB0cmFuc2Zvcm1lZC5cbiAgICAgKlxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgY29kZTogc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIFN1cHBvcnQgZm9yIGBUcmFuc2Zvcm1PcHRpb25zYCBpcyBkZXByZWNhdGVkLiBQbGVhc2UgcHJvdmlkZSBgVHJhbnNmb3JtZXJQcm9wc2AhXG4gICAgICpcbiAgICAgKiBQcm9wcyB0byBjaGFuZ2UgdGhlIGJlaGF2aW91ciBvZiB0aGUgdHJhbnNmb3JtZXIuXG4gICAgICpcbiAgICAgKiBEZWZhdWx0IHZhbHVlcyBmb3IgYHRyYW5zZm9ybU9wdGlvbnNgOlxuICAgICAqIC0gYGxvYWRlcj0ndHMnYFxuICAgICAqXG4gICAgICogQHNlZSBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jdHJhbnNmb3JtLWFwaVxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcHJvcHM/OiBUcmFuc2Zvcm1lclByb3BzIHwgVHJhbnNmb3JtT3B0aW9ucyxcbiAgKSB7XG4gICAgc3VwZXIoY29kZSwgdHJhbnNmb3JtZXJQcm9wcygndHMnLCBwcm9wcykpO1xuICB9XG59XG5cbi8qKlxuICogQW4gaW1wbGVtZW50YXRpb24gb2YgYGxhbWJkYS5JbmxpbmVDb2RlYCB1c2luZyB0aGUgZXNidWlsZCBUcmFuc2Zvcm0gQVBJLiBJbmxpbmUgZnVuY3Rpb24gY29kZSBpcyBsaW1pdGVkIHRvIDQgS2lCIGFmdGVyIHRyYW5zZm9ybWF0aW9uLlxuICpcbiAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCBjbGFzcyBJbmxpbmVUc3hDb2RlIGV4dGVuZHMgQmFzZUlubGluZUNvZGUge1xuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgLyoqXG4gICAgICogVGhlIGlubGluZSBjb2RlIHRvIGJlIHRyYW5zZm9ybWVkLlxuICAgICAqXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICBjb2RlOiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogU3VwcG9ydCBmb3IgYFRyYW5zZm9ybU9wdGlvbnNgIGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSBwcm92aWRlIGBUcmFuc2Zvcm1lclByb3BzYCFcbiAgICAgKlxuICAgICAqIFByb3BzIHRvIGNoYW5nZSB0aGUgYmVoYXZpb3VyIG9mIHRoZSB0cmFuc2Zvcm1lci5cbiAgICAgKlxuICAgICAqIERlZmF1bHQgdmFsdWVzIGZvciBgdHJhbnNmb3JtT3B0aW9uc2A6XG4gICAgICogLSBgbG9hZGVyPSd0c3gnYFxuICAgICAqXG4gICAgICogQHNlZSBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jdHJhbnNmb3JtLWFwaVxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcHJvcHM/OiBUcmFuc2Zvcm1lclByb3BzIHwgVHJhbnNmb3JtT3B0aW9ucyxcbiAgKSB7XG4gICAgc3VwZXIoY29kZSwgdHJhbnNmb3JtZXJQcm9wcygndHN4JywgcHJvcHMpKTtcbiAgfVxufVxuIl19