aws-cdk-neuronx-patterns 0.1.1 → 0.2.1

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.
@@ -23,6 +23,14 @@ class PytorchNeuronxImage extends NeuronxImage {
23
23
  }
24
24
  _a = PytorchNeuronxImage;
25
25
  PytorchNeuronxImage.size = aws_cdk_lib_1.Size.gibibytes(30);
26
+ /** Neuron SDK 2.28.0 */
27
+ PytorchNeuronxImage.SDK_2_28_0 = _a.fromNeuronSdkVersion("2.28.0", "3.12", "2.9.0", "24.04");
28
+ /** Neuron SDK 2.27.1 */
29
+ PytorchNeuronxImage.SDK_2_27_1 = _a.fromNeuronSdkVersion("2.27.1", "3.12", "2.9.0", "24.04");
30
+ /** Neuron SDK 2.26.1 */
31
+ PytorchNeuronxImage.SDK_2_26_1 = _a.fromNeuronSdkVersion("2.26.1", "3.11", "2.8.0", "22.04");
32
+ /** Neuron SDK 2.25.0 */
33
+ PytorchNeuronxImage.SDK_2_25_0 = _a.fromNeuronSdkVersion("2.25.0", "3.10", "2.7.0", "22.04");
26
34
  /** Neuron SDK 2.24.0 */
27
35
  PytorchNeuronxImage.SDK_2_24_0 = _a.fromNeuronSdkVersion("2.24.0", "3.10", "2.7.0", "22.04");
28
36
  /** Neuron SDK 2.23.0 */
@@ -55,7 +63,7 @@ class PytorchInferenceNeuronxImage extends PytorchNeuronxImage {
55
63
  }
56
64
  exports.PytorchInferenceNeuronxImage = PytorchInferenceNeuronxImage;
57
65
  _b = PytorchInferenceNeuronxImage, _c = JSII_RTTI_SYMBOL_1;
58
- PytorchInferenceNeuronxImage[_c] = { fqn: "aws-cdk-neuronx-patterns.PytorchInferenceNeuronxImage", version: "0.1.1" };
66
+ PytorchInferenceNeuronxImage[_c] = { fqn: "aws-cdk-neuronx-patterns.PytorchInferenceNeuronxImage", version: "0.2.1" };
59
67
  PytorchInferenceNeuronxImage.imageName = "public.ecr.aws/neuron/pytorch-inference-neuronx";
60
68
  /** Neuron SDK 2.28.0 */
61
69
  PytorchInferenceNeuronxImage.SDK_2_28_0 = _b.fromNeuronSdkVersion("2.28.0", "3.12", "2.9.0", "24.04");
@@ -79,7 +87,7 @@ class PytorchTrainingNeuronxImage extends PytorchNeuronxImage {
79
87
  }
80
88
  exports.PytorchTrainingNeuronxImage = PytorchTrainingNeuronxImage;
81
89
  _d = JSII_RTTI_SYMBOL_1;
82
- PytorchTrainingNeuronxImage[_d] = { fqn: "aws-cdk-neuronx-patterns.PytorchTrainingNeuronxImage", version: "0.1.1" };
90
+ PytorchTrainingNeuronxImage[_d] = { fqn: "aws-cdk-neuronx-patterns.PytorchTrainingNeuronxImage", version: "0.2.1" };
83
91
  PytorchTrainingNeuronxImage.imageName = "public.ecr.aws/neuron/pytorch-training-neuronx";
84
92
  class VllmInferenceNeuronxImage extends NeuronxImage {
85
93
  static fromNeuronSdkVersion(neuronSdkVersion, vllmVersion, pythonVersion, ubuntuVersion) {
@@ -93,11 +101,21 @@ class VllmInferenceNeuronxImage extends NeuronxImage {
93
101
  }
94
102
  exports.VllmInferenceNeuronxImage = VllmInferenceNeuronxImage;
95
103
  _e = VllmInferenceNeuronxImage, _f = JSII_RTTI_SYMBOL_1;
96
- VllmInferenceNeuronxImage[_f] = { fqn: "aws-cdk-neuronx-patterns.VllmInferenceNeuronxImage", version: "0.1.1" };
97
- /**
98
- * Neuron SDK 2.26.0 with vLLM 0.9.1
99
- */
104
+ VllmInferenceNeuronxImage[_f] = { fqn: "aws-cdk-neuronx-patterns.VllmInferenceNeuronxImage", version: "0.2.1" };
105
+ /** Neuron SDK 2.28.0 with vLLM 0.13.0 */
106
+ VllmInferenceNeuronxImage.SDK_2_28_0 = _e.fromNeuronSdkVersion("2.28.0", "0.13.0", "3.12", "24.04");
107
+ /** Neuron SDK 2.27.1 with vLLM 0.13.0 */
108
+ VllmInferenceNeuronxImage.SDK_2_27_1_VLLM_0_13_0 = _e.fromNeuronSdkVersion("2.27.1", "0.13.0", "3.12", "24.04");
109
+ /** Neuron SDK 2.27.1 with vLLM 0.11.0 */
110
+ VllmInferenceNeuronxImage.SDK_2_27_1_VLLM_0_11_0 = _e.fromNeuronSdkVersion("2.27.1", "0.11.0", "3.12", "24.04");
111
+ /** Neuron SDK 2.26.1 with vLLM 0.9.1 */
112
+ VllmInferenceNeuronxImage.SDK_2_26_1 = _e.fromNeuronSdkVersion("2.26.1", "0.9.1", "3.11", "22.04");
113
+ /** Neuron SDK 2.26.0 with vLLM 0.9.1 */
100
114
  VllmInferenceNeuronxImage.SDK_2_26_0 = _e.fromNeuronSdkVersion("2.26.0", "0.9.1", "3.11", "22.04");
115
+ /** Neuron SDK 2.25.0 with vLLM 0.9.1 */
116
+ VllmInferenceNeuronxImage.SDK_2_25_0 = _e.fromNeuronSdkVersion("2.25.0", "0.9.1", "3.10", "22.04");
117
+ /** Neuron SDK 2.24.1 with vLLM 0.7.2 */
118
+ VllmInferenceNeuronxImage.SDK_2_24_1 = _e.fromNeuronSdkVersion("2.24.1", "0.7.2", "3.10", "22.04");
101
119
  /** Latest Neuron SDK */
102
120
  VllmInferenceNeuronxImage.LATEST = getLatestVersion(_e);
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcC1sZWFybmluZy1jb250YWluZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Jhc2UvbmV1cm9ueC9kZWVwLWxlYXJuaW5nLWNvbnRhaW5lcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBbUM7QUFRbkMsTUFBZSxZQUFZO0NBQUc7QUFFOUIsU0FBUyxnQkFBZ0IsQ0FDdkIsaUJBQXlDO0lBRXpDLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztTQUNyQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3JDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDeEMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBTSxDQUFDO0FBQ2hDLENBQUM7QUFFRCxNQUFlLG1CQUFvQixTQUFRLFlBQVk7SUFnR3JELE1BQU0sQ0FBQyxvQkFBb0IsQ0FDekIsZ0JBQXdCLEVBQ3hCLGFBQXFCLEVBQ3JCLGNBQXNCLEVBQ3RCLGFBQXFCO1FBRXJCLE9BQU87WUFDTCxnQkFBZ0I7WUFDaEIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLFFBQVEsRUFBRSxHQUFHLGNBQWMsY0FBYyxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsT0FBTyxnQkFBZ0IsVUFBVSxhQUFhLEVBQUU7U0FDeEgsQ0FBQztJQUNKLENBQUM7OztBQTFHZSx3QkFBSSxHQUFHLGtCQUFJ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YSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sZ0JBQWdCLFVBQVUsYUFBYSxFQUFFO1lBQ3BILFdBQVc7U0FDWixDQUFDO0lBQ0osQ0FBQzs7QUF6QkgsOERBMEJDOzs7QUF6QkM7O0dBRUc7QUFDYSxvQ0FBVSxHQUFHLEVBQXlCLENBQUMsb0JBQW9CLENBQ3pFLFFBQVEsRUFDUixPQUFPLEVBQ1AsTUFBTSxFQUNOLE9BQU8sQ0FDUixBQUx5QixDQUt4QjtBQUNGLHdCQUF3QjtBQUNSLGdDQUFNLEdBQUcsZ0JBQWdCLENBQTZCLEVBQUksQ0FBQyxBQUFyRCxDQUFzRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNpemUgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcblxuZXhwb3J0IGludGVyZmFjZSBJTmV1cm9ueEltYWdlIHtcbiAgcmVhZG9ubHkgaW1hZ2VOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGltYWdlVGFnOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG5ldXJvblNka1ZlcnNpb246IHN0cmluZztcbn1cblxuYWJzdHJhY3QgY2xhc3MgTmV1cm9ueEltYWdlIHt9XG5cbmZ1bmN0aW9uIGdldExhdGVzdFZlcnNpb248VCBleHRlbmRzIElOZXVyb254SW1hZ2UgPSBJTmV1cm9ueEltYWdlPihcbiAgbmV1cm9ueEltYWdlQ2xhc3M6IGFic3RyYWN0IG5ldyAoKSA9PiBhbnksXG4pIHtcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG5ldXJvbnhJbWFnZUNsYXNzKVxuICAgIC5maWx0ZXIoKFtrXSkgPT4gay5zdGFydHNXaXRoKFwiU0RLX1wiKSlcbiAgICAuc29ydCgoW2sxXSwgW2syXSkgPT4gKGsxIDwgazIgPyAxIDogLTEpKVxuICAgIC5tYXAoKFtfLCB2XSkgPT4gdilbMF0gYXMgVDtcbn1cblxuYWJzdHJhY3QgY2xhc3MgUHl0b3JjaE5ldXJvbnhJbWFnZSBleHRlbmRzIE5ldXJvbnhJbWFnZSB7XG4gIHN0YXRpYyByZWFkb25seSBzaXplID0gU2l6ZS5naWJpYnl0ZXMoMzApO1xuICAvKiogTmV1cm9uIFNESyAyLjI0LjAgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzI0XzAgPSBQeXRvcmNoTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgIFwiMi4yNC4wXCIsXG4gICAgXCIzLjEwXCIsXG4gICAgXCIyLjcuMFwiLFxuICAgIFwiMjIuMDRcIixcbiAgKTtcbiAgLyoqIE5ldXJvbiBTREsgMi4yMy4wICovXG4gIHN0YXRpYyByZWFkb25seSBTREtfMl8yM18wID0gUHl0b3JjaE5ldXJvbnhJbWFnZS5mcm9tTmV1cm9uU2RrVmVyc2lvbihcbiAgICBcIjIuMjMuMFwiLFxuICAgIFwiMy4xMFwiLFxuICAgIFwiMi42LjBcIixcbiAgICBcIjIyLjA0XCIsXG4gICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMjIuMCAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMjJfMCA9IFB5dG9yY2hOZXVyb254SW1hZ2UuZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgXCIyLjIyLjBcIixcbiAgICBcIjMuMTBcIixcbiAgICBcIjIuNS4xXCIsXG4gICAgXCIyMi4wNFwiLFxuICApO1xuICAvKiogTmV1cm9uIFNESyAyLjIxLjEgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzIxXzEgPSBQeXRvcmNoTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgIFwiMi4yMS4xXCIsXG4gICAgXCIzLjEwXCIsXG4gICAgXCIyLjUuMVwiLFxuICAgIFwiMjIuMDRcIixcbiAgKTtcbiAgLyoqIE5ldXJvbiBTREsgMi4yMS4wICovXG4gIHN0YXRpYyByZWFkb25seSBTREtfMl8yMV8wID0gUHl0b3JjaE5ldXJvbnhJbWFnZS5mcm9tTmV1cm9uU2RrVmVyc2lvbihcbiAgICBcIjIuMjEuMFwiLFxuICAgIFwiMy4xMFwiLFxuICAgIFwiMi41LjFcIixcbiAgICBcIjIyLjA0XCIsXG4gICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMjAuMiAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMjBfMiA9IFB5dG9yY2hOZXVyb254SW1hZ2UuZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgXCIyLjIwLjJcIixcbiAgICBcIjMuMTBcIixcbiAgICBcIjIuMS4yXCIsXG4gICAgXCIyMC4wNFwiLFxuICApO1xuICAvKiogTmV1cm9uIFNESyAyLjIwLjEgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzIwXzEgPSBQeXRvcmNoTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgIFwiMi4yMC4xXCIsXG4gICAgXCIzLjEwXCIsXG4gICAgXCIyLjEuMlwiLFxuICAgIFwiMjAuMDRcIixcbiAgKTtcbiAgLyoqIE5ldXJvbiBTREsgMi4yMC4wICovXG4gIHN0YXRpYyByZWFkb25seSBTREtfMl8yMF8wID0gUHl0b3JjaE5ldXJvbnhJbWFnZS5mcm9tTmV1cm9uU2RrVmVyc2lvbihcbiAgICBcIjIuMjAuMFwiLFxuICAgIFwiMy4xMFwiLFxuICAgIFwiMi4xLjJcIixcbiAgICBcIjIwLjA0XCIsXG4gICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMTkuMSAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMTlfMSA9IFB5dG9yY2hOZXVyb254SW1hZ2UuZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgXCIyLjE5LjFcIixcbiAgICBcIjMuMTBcIixcbiAgICBcIjIuMS4yXCIsXG4gICAgXCIyMC4wNFwiLFxuICApO1xuICAvKiogTmV1cm9uIFNESyAyLjE5LjAgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzE5XzAgPSBQeXRvcmNoTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgIFwiMi4xOS4wXCIsXG4gICAgXCIzLjEwXCIsXG4gICAgXCIyLjEuMlwiLFxuICAgIFwiMjAuMDRcIixcbiAgKTtcbiAgLyoqIE5ldXJvbiBTREsgMi4xOC4yICovXG4gIHN0YXRpYyByZWFkb25seSBTREtfMl8xOF8yID0gUHl0b3JjaE5ldXJvbnhJbWFnZS5mcm9tTmV1cm9uU2RrVmVyc2lvbihcbiAgICBcIjIuMTguMlwiLFxuICAgIFwiMy4xMFwiLFxuICAgIFwiMi4xLjJcIixcbiAgICBcIjIwLjA0XCIsXG4gICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMTguMSAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMThfMSA9IFB5dG9yY2hOZXVyb254SW1hZ2UuZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgXCIyLjE4LjFcIixcbiAgICBcIjMuMTBcIixcbiAgICBcIjIuMS4yXCIsXG4gICAgXCIyMC4wNFwiLFxuICApO1xuICAvKiogTmV1cm9uIFNESyAyLjE4LjAgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzE4XzAgPSBQeXRvcmNoTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgIFwiMi4xOC4wXCIsXG4gICAgXCIzLjEwXCIsXG4gICAgXCIyLjEuMlwiLFxuICAgIFwiMjAuMDRcIixcbiAgKTtcbiAgLyoqIExhdGVzdCBOZXVyb24gU0RLICovXG4gIHN0YXRpYyByZWFkb25seSBMQVRFU1QgPSBnZXRMYXRlc3RWZXJzaW9uKHRoaXMpO1xuXG4gIHN0YXRpYyBmcm9tTmV1cm9uU2RrVmVyc2lvbihcbiAgICBuZXVyb25TZGtWZXJzaW9uOiBzdHJpbmcsXG4gICAgcHl0aG9uVmVyc2lvbjogc3RyaW5nLFxuICAgIHB5dG9yY2hWZXJzaW9uOiBzdHJpbmcsXG4gICAgdWJ1bnR1VmVyc2lvbjogc3RyaW5nLFxuICApOiBJTmV1cm9ueEltYWdlIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmV1cm9uU2RrVmVyc2lvbixcbiAgICAgIGltYWdlTmFtZTogdGhpcy5pbWFnZU5hbWUsXG4gICAgICBpbWFnZVRhZzogYCR7cHl0b3JjaFZlcnNpb259LW5ldXJvbngtcHkke3B5dGhvblZlcnNpb24ucmVwbGFjZShcIi5cIiwgXCJcIil9LXNkayR7bmV1cm9uU2RrVmVyc2lvbn0tdWJ1bnR1JHt1YnVudHVWZXJzaW9ufWAsXG4gICAgfTtcbiAgfVxuICBwcm90ZWN0ZWQgc3RhdGljIHJlYWRvbmx5IGltYWdlTmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUHl0b3JjaEluZmVyZW5jZU5ldXJvbnhJbWFnZSBleHRlbmRzIFB5dG9yY2hOZXVyb254SW1hZ2Uge1xuICBzdGF0aWMgcmVhZG9ubHkgaW1hZ2VOYW1lID0gXCJwdWJsaWMuZWNyLmF3cy9uZXVyb24vcHl0b3JjaC1pbmZlcmVuY2UtbmV1cm9ueFwiO1xuICAvKiogTmV1cm9uIFNESyAyLjI4LjAgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzI4XzAgPVxuICAgIFB5dG9yY2hJbmZlcmVuY2VOZXVyb254SW1hZ2UuZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgICBcIjIuMjguMFwiLFxuICAgICAgXCIzLjEyXCIsXG4gICAgICBcIjIuOS4wXCIsXG4gICAgICBcIjI0LjA0XCIsXG4gICAgKTtcbiAgLyoqIE5ldXJvbiBTREsgMi4yNy4xICovXG4gIHN0YXRpYyByZWFkb25seSBTREtfMl8yN18xID1cbiAgICBQeXRvcmNoSW5mZXJlbmNlTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgICAgXCIyLjI3LjFcIixcbiAgICAgIFwiMy4xMlwiLFxuICAgICAgXCIyLjkuMFwiLFxuICAgICAgXCIyNC4wNFwiLFxuICAgICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMjYuMSAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMjZfMSA9XG4gICAgUHl0b3JjaEluZmVyZW5jZU5ldXJvbnhJbWFnZS5mcm9tTmV1cm9uU2RrVmVyc2lvbihcbiAgICAgIFwiMi4yNi4xXCIsXG4gICAgICBcIjMuMTFcIixcbiAgICAgIFwiMi44LjBcIixcbiAgICAgIFwiMjIuMDRcIixcbiAgICApO1xuICAvKiogTmV1cm9uIFNESyAyLjI1LjAgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzI1XzAgPVxuICAgIFB5dG9yY2hJbmZlcmVuY2VOZXVyb254SW1hZ2UuZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgICBcIjIuMjUuMFwiLFxuICAgICAgXCIzLjEwXCIsXG4gICAgICBcIjIuNy4wXCIsXG4gICAgICBcIjIyLjA0XCIsXG4gICAgKTtcbiAgLyoqIE5ldXJvbiBTREsgMi4yMy4wICovXG4gIHN0YXRpYyByZWFkb25seSBTREtfMl8yM18wID1cbiAgICBQeXRvcmNoSW5mZXJlbmNlTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgICAgXCIyLjIzLjBcIixcbiAgICAgIFwiMy4xMFwiLFxuICAgICAgXCIyLjYuMFwiLFxuICAgICAgXCIyMi4wNFwiLFxuICAgICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMjIuMCAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMjJfMCA9XG4gICAgUHl0b3JjaEluZmVyZW5jZU5ldXJvbnhJbWFnZS5mcm9tTmV1cm9uU2RrVmVyc2lvbihcbiAgICAgIFwiMi4yMi4wXCIsXG4gICAgICBcIjMuMTBcIixcbiAgICAgIFwiMi41LjFcIixcbiAgICAgIFwiMjIuMDRcIixcbiAgICApO1xuICAvKiogTmV1cm9uIFNESyAyLjIwLjIgKFB5VG9yY2ggMi4xLjIpICovXG4gIHN0YXRpYyByZWFkb25seSBTREtfMl8yMF8yX1BZVE9SQ0hfMl8xXzIgPVxuICAgIFB5dG9yY2hJbmZlcmVuY2VOZXVyb254SW1hZ2UuZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgICBcIjIuMjAuMlwiLFxuICAgICAgXCIzLjEwXCIsXG4gICAgICBcIjIuMS4yXCIsXG4gICAgICBcIjIwLjA0XCIsXG4gICAgKTtcbiAgLyoqIE5ldXJvbiBTREsgMi4yMC4yIChQeVRvcmNoIDEuMTMuMSkgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzIwXzJfUFlUT1JDSF8xXzEzXzEgPVxuICAgIFB5dG9yY2hJbmZlcmVuY2VOZXVyb254SW1hZ2UuZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgICBcIjIuMjAuMlwiLFxuICAgICAgXCIzLjEwXCIsXG4gICAgICBcIjEuMTMuMVwiLFxuICAgICAgXCIyMC4wNFwiLFxuICAgICk7XG4gIC8qKiBMYXRlc3QgTmV1cm9uIFNESyAqL1xuICBzdGF0aWMgcmVhZG9ubHkgTEFURVNUID0gZ2V0TGF0ZXN0VmVyc2lvbih0aGlzKTtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFB5dG9yY2hUcmFpbmluZ05ldXJvbnhJbWFnZSBleHRlbmRzIFB5dG9yY2hOZXVyb254SW1hZ2Uge1xuICBzdGF0aWMgcmVhZG9ubHkgaW1hZ2VOYW1lID0gXCJwdWJsaWMuZWNyLmF3cy9uZXVyb24vcHl0b3JjaC10cmFpbmluZy1uZXVyb254XCI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVZsbG1JbmZlcmVuY2VOZXVyb254SW1hZ2UgZXh0ZW5kcyBJTmV1cm9ueEltYWdlIHtcbiAgcmVhZG9ubHkgdmxsbVZlcnNpb246IHN0cmluZztcbn1cbmV4cG9ydCBjbGFzcyBWbGxtSW5mZXJlbmNlTmV1cm9ueEltYWdlIGV4dGVuZHMgTmV1cm9ueEltYWdlIHtcbiAgLyoqXG4gICAqIE5ldXJvbiBTREsgMi4yNi4wIHdpdGggdkxMTSAwLjkuMVxuICAgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzI2XzAgPSBWbGxtSW5mZXJlbmNlTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgIFwiMi4yNi4wXCIsXG4gICAgXCIwLjkuMVwiLFxuICAgIFwiMy4xMVwiLFxuICAgIFwiMjIuMDRcIixcbiAgKTtcbiAgLyoqIExhdGVzdCBOZXVyb24gU0RLICovXG4gIHN0YXRpYyByZWFkb25seSBMQVRFU1QgPSBnZXRMYXRlc3RWZXJzaW9uPElWbGxtSW5mZXJlbmNlTmV1cm9ueEltYWdlPih0aGlzKTtcblxuICBzdGF0aWMgZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgbmV1cm9uU2RrVmVyc2lvbjogc3RyaW5nLFxuICAgIHZsbG1WZXJzaW9uOiBzdHJpbmcsXG4gICAgcHl0aG9uVmVyc2lvbjogc3RyaW5nLFxuICAgIHVidW50dVZlcnNpb246IHN0cmluZyxcbiAgKTogSVZsbG1JbmZlcmVuY2VOZXVyb254SW1hZ2Uge1xuICAgIHJldHVybiB7XG4gICAgICBuZXVyb25TZGtWZXJzaW9uLFxuICAgICAgaW1hZ2VOYW1lOiBcInB1YmxpYy5lY3IuYXdzL25ldXJvbi9weXRvcmNoLWluZmVyZW5jZS12bGxtLW5ldXJvbnhcIixcbiAgICAgIGltYWdlVGFnOiBgJHt2bGxtVmVyc2lvbn0tbmV1cm9ueC1weSR7cHl0aG9uVmVyc2lvbi5yZXBsYWNlKFwiLlwiLCBcIlwiKX0tc2RrJHtuZXVyb25TZGtWZXJzaW9ufS11YnVudHUke3VidW50dVZlcnNpb259YCxcbiAgICAgIHZsbG1WZXJzaW9uLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcC1sZWFybmluZy1jb250YWluZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Jhc2UvbmV1cm9ueC9kZWVwLWxlYXJuaW5nLWNvbnRhaW5lcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBbUM7QUFRbkMsTUFBZSxZQUFZO0NBQUc7QUFFOUIsU0FBUyxnQkFBZ0IsQ0FDdkIsaUJBQXlDO0lBRXpDLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztTQUNyQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3JDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDeEMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBTSxDQUFDO0FBQ2hDLENBQUM7QUFFRCxNQUFlLG1CQUFvQixTQUFRLFlBQVk7SUE0SHJELE1BQU0sQ0FBQyxvQkFBb0IsQ0FDekIsZ0JBQXdCLEVBQ3hCLGFBQXFCLEVBQ3JCLGNBQXNCLEVBQ3RCLGFBQXFCO1FBRXJCLE9BQU87WUFDTCxnQkFBZ0I7WUFDaEIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLFFBQVEsRUFBRSxHQUFHLGNBQWMsY0FBYyxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsT0FBTyxnQkFBZ0IsVUFBVSxhQUFhLEVBQUU7U0FDeEgsQ0FBQztJQUNKLENBQUM7OztBQXRJZSx3QkFBSSxHQUFHLGtCQUFJ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LFFBQVEsRUFDUixPQUFPLEVBQ1AsTUFBTSxFQUNOLE9BQU8sQ0FDUixBQUx5QixDQUt4QjtBQUNGLHdDQUF3QztBQUN4QixvQ0FBVSxHQUFHLEVBQXlCLENBQUMsb0JBQW9CLENBQ3pFLFFBQVEsRUFDUixPQUFPLEVBQ1AsTUFBTSxFQUNOLE9BQU8sQ0FDUixBQUx5QixDQUt4QjtBQUNGLHdDQUF3QztBQUN4QixvQ0FBVSxHQUFHLEVBQXlCLENBQUMsb0JBQW9CLENBQ3pFLFFBQVEsRUFDUixPQUFPLEVBQ1AsTUFBTSxFQUNOLE9BQU8sQ0FDUixBQUx5QixDQUt4QjtBQUNGLHdDQUF3QztBQUN4QixvQ0FBVSxHQUFHLEVBQXlCLENBQUMsb0JBQW9CLENBQ3pFLFFBQVEsRUFDUixPQUFPLEVBQ1AsTUFBTSxFQUNOLE9BQU8sQ0FDUixBQUx5QixDQUt4QjtBQUNGLHdCQUF3QjtBQUNSLGdDQUFNLEdBQUcsZ0JBQWdCLENBQTZCLEVBQUksQ0FBQyxBQUFyRCxDQUFzRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNpemUgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcblxuZXhwb3J0IGludGVyZmFjZSBJTmV1cm9ueEltYWdlIHtcbiAgcmVhZG9ubHkgaW1hZ2VOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGltYWdlVGFnOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG5ldXJvblNka1ZlcnNpb246IHN0cmluZztcbn1cblxuYWJzdHJhY3QgY2xhc3MgTmV1cm9ueEltYWdlIHt9XG5cbmZ1bmN0aW9uIGdldExhdGVzdFZlcnNpb248VCBleHRlbmRzIElOZXVyb254SW1hZ2UgPSBJTmV1cm9ueEltYWdlPihcbiAgbmV1cm9ueEltYWdlQ2xhc3M6IGFic3RyYWN0IG5ldyAoKSA9PiBhbnksXG4pIHtcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG5ldXJvbnhJbWFnZUNsYXNzKVxuICAgIC5maWx0ZXIoKFtrXSkgPT4gay5zdGFydHNXaXRoKFwiU0RLX1wiKSlcbiAgICAuc29ydCgoW2sxXSwgW2syXSkgPT4gKGsxIDwgazIgPyAxIDogLTEpKVxuICAgIC5tYXAoKFtfLCB2XSkgPT4gdilbMF0gYXMgVDtcbn1cblxuYWJzdHJhY3QgY2xhc3MgUHl0b3JjaE5ldXJvbnhJbWFnZSBleHRlbmRzIE5ldXJvbnhJbWFnZSB7XG4gIHN0YXRpYyByZWFkb25seSBzaXplID0gU2l6ZS5naWJpYnl0ZXMoMzApO1xuICAvKiogTmV1cm9uIFNESyAyLjI4LjAgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzI4XzAgPSBQeXRvcmNoTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgIFwiMi4yOC4wXCIsXG4gICAgXCIzLjEyXCIsXG4gICAgXCIyLjkuMFwiLFxuICAgIFwiMjQuMDRcIixcbiAgKTtcbiAgLyoqIE5ldXJvbiBTREsgMi4yNy4xICovXG4gIHN0YXRpYyByZWFkb25seSBTREtfMl8yN18xID0gUHl0b3JjaE5ldXJvbnhJbWFnZS5mcm9tTmV1cm9uU2RrVmVyc2lvbihcbiAgICBcIjIuMjcuMVwiLFxuICAgIFwiMy4xMlwiLFxuICAgIFwiMi45LjBcIixcbiAgICBcIjI0LjA0XCIsXG4gICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMjYuMSAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMjZfMSA9IFB5dG9yY2hOZXVyb254SW1hZ2UuZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgXCIyLjI2LjFcIixcbiAgICBcIjMuMTFcIixcbiAgICBcIjIuOC4wXCIsXG4gICAgXCIyMi4wNFwiLFxuICApO1xuICAvKiogTmV1cm9uIFNESyAyLjI1LjAgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzI1XzAgPSBQeXRvcmNoTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgIFwiMi4yNS4wXCIsXG4gICAgXCIzLjEwXCIsXG4gICAgXCIyLjcuMFwiLFxuICAgIFwiMjIuMDRcIixcbiAgKTtcbiAgLyoqIE5ldXJvbiBTREsgMi4yNC4wICovXG4gIHN0YXRpYyByZWFkb25seSBTREtfMl8yNF8wID0gUHl0b3JjaE5ldXJvbnhJbWFnZS5mcm9tTmV1cm9uU2RrVmVyc2lvbihcbiAgICBcIjIuMjQuMFwiLFxuICAgIFwiMy4xMFwiLFxuICAgIFwiMi43LjBcIixcbiAgICBcIjIyLjA0XCIsXG4gICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMjMuMCAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMjNfMCA9IFB5dG9yY2hOZXVyb254SW1hZ2UuZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgXCIyLjIzLjBcIixcbiAgICBcIjMuMTBcIixcbiAgICBcIjIuNi4wXCIsXG4gICAgXCIyMi4wNFwiLFxuICApO1xuICAvKiogTmV1cm9uIFNESyAyLjIyLjAgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzIyXzAgPSBQeXRvcmNoTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgIFwiMi4yMi4wXCIsXG4gICAgXCIzLjEwXCIsXG4gICAgXCIyLjUuMVwiLFxuICAgIFwiMjIuMDRcIixcbiAgKTtcbiAgLyoqIE5ldXJvbiBTREsgMi4yMS4xICovXG4gIHN0YXRpYyByZWFkb25seSBTREtfMl8yMV8xID0gUHl0b3JjaE5ldXJvbnhJbWFnZS5mcm9tTmV1cm9uU2RrVmVyc2lvbihcbiAgICBcIjIuMjEuMVwiLFxuICAgIFwiMy4xMFwiLFxuICAgIFwiMi41LjFcIixcbiAgICBcIjIyLjA0XCIsXG4gICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMjEuMCAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMjFfMCA9IFB5dG9yY2hOZXVyb254SW1hZ2UuZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgXCIyLjIxLjBcIixcbiAgICBcIjMuMTBcIixcbiAgICBcIjIuNS4xXCIsXG4gICAgXCIyMi4wNFwiLFxuICApO1xuICAvKiogTmV1cm9uIFNESyAyLjIwLjIgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzIwXzIgPSBQeXRvcmNoTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgIFwiMi4yMC4yXCIsXG4gICAgXCIzLjEwXCIsXG4gICAgXCIyLjEuMlwiLFxuICAgIFwiMjAuMDRcIixcbiAgKTtcbiAgLyoqIE5ldXJvbiBTREsgMi4yMC4xICovXG4gIHN0YXRpYyByZWFkb25seSBTREtfMl8yMF8xID0gUHl0b3JjaE5ldXJvbnhJbWFnZS5mcm9tTmV1cm9uU2RrVmVyc2lvbihcbiAgICBcIjIuMjAuMVwiLFxuICAgIFwiMy4xMFwiLFxuICAgIFwiMi4xLjJcIixcbiAgICBcIjIwLjA0XCIsXG4gICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMjAuMCAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMjBfMCA9IFB5dG9yY2hOZXVyb254SW1hZ2UuZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgXCIyLjIwLjBcIixcbiAgICBcIjMuMTBcIixcbiAgICBcIjIuMS4yXCIsXG4gICAgXCIyMC4wNFwiLFxuICApO1xuICAvKiogTmV1cm9uIFNESyAyLjE5LjEgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzE5XzEgPSBQeXRvcmNoTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgIFwiMi4xOS4xXCIsXG4gICAgXCIzLjEwXCIsXG4gICAgXCIyLjEuMlwiLFxuICAgIFwiMjAuMDRcIixcbiAgKTtcbiAgLyoqIE5ldXJvbiBTREsgMi4xOS4wICovXG4gIHN0YXRpYyByZWFkb25seSBTREtfMl8xOV8wID0gUHl0b3JjaE5ldXJvbnhJbWFnZS5mcm9tTmV1cm9uU2RrVmVyc2lvbihcbiAgICBcIjIuMTkuMFwiLFxuICAgIFwiMy4xMFwiLFxuICAgIFwiMi4xLjJcIixcbiAgICBcIjIwLjA0XCIsXG4gICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMTguMiAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMThfMiA9IFB5dG9yY2hOZXVyb254SW1hZ2UuZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgXCIyLjE4LjJcIixcbiAgICBcIjMuMTBcIixcbiAgICBcIjIuMS4yXCIsXG4gICAgXCIyMC4wNFwiLFxuICApO1xuICAvKiogTmV1cm9uIFNESyAyLjE4LjEgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzE4XzEgPSBQeXRvcmNoTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgIFwiMi4xOC4xXCIsXG4gICAgXCIzLjEwXCIsXG4gICAgXCIyLjEuMlwiLFxuICAgIFwiMjAuMDRcIixcbiAgKTtcbiAgLyoqIE5ldXJvbiBTREsgMi4xOC4wICovXG4gIHN0YXRpYyByZWFkb25seSBTREtfMl8xOF8wID0gUHl0b3JjaE5ldXJvbnhJbWFnZS5mcm9tTmV1cm9uU2RrVmVyc2lvbihcbiAgICBcIjIuMTguMFwiLFxuICAgIFwiMy4xMFwiLFxuICAgIFwiMi4xLjJcIixcbiAgICBcIjIwLjA0XCIsXG4gICk7XG4gIC8qKiBMYXRlc3QgTmV1cm9uIFNESyAqL1xuICBzdGF0aWMgcmVhZG9ubHkgTEFURVNUID0gZ2V0TGF0ZXN0VmVyc2lvbih0aGlzKTtcblxuICBzdGF0aWMgZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgbmV1cm9uU2RrVmVyc2lvbjogc3RyaW5nLFxuICAgIHB5dGhvblZlcnNpb246IHN0cmluZyxcbiAgICBweXRvcmNoVmVyc2lvbjogc3RyaW5nLFxuICAgIHVidW50dVZlcnNpb246IHN0cmluZyxcbiAgKTogSU5ldXJvbnhJbWFnZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5ldXJvblNka1ZlcnNpb24sXG4gICAgICBpbWFnZU5hbWU6IHRoaXMuaW1hZ2VOYW1lLFxuICAgICAgaW1hZ2VUYWc6IGAke3B5dG9yY2hWZXJzaW9ufS1uZXVyb254LXB5JHtweXRob25WZXJzaW9uLnJlcGxhY2UoXCIuXCIsIFwiXCIpfS1zZGske25ldXJvblNka1ZlcnNpb259LXVidW50dSR7dWJ1bnR1VmVyc2lvbn1gLFxuICAgIH07XG4gIH1cbiAgcHJvdGVjdGVkIHN0YXRpYyByZWFkb25seSBpbWFnZU5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFB5dG9yY2hJbmZlcmVuY2VOZXVyb254SW1hZ2UgZXh0ZW5kcyBQeXRvcmNoTmV1cm9ueEltYWdlIHtcbiAgc3RhdGljIHJlYWRvbmx5IGltYWdlTmFtZSA9IFwicHVibGljLmVjci5hd3MvbmV1cm9uL3B5dG9yY2gtaW5mZXJlbmNlLW5ldXJvbnhcIjtcbiAgLyoqIE5ldXJvbiBTREsgMi4yOC4wICovXG4gIHN0YXRpYyByZWFkb25seSBTREtfMl8yOF8wID1cbiAgICBQeXRvcmNoSW5mZXJlbmNlTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgICAgXCIyLjI4LjBcIixcbiAgICAgIFwiMy4xMlwiLFxuICAgICAgXCIyLjkuMFwiLFxuICAgICAgXCIyNC4wNFwiLFxuICAgICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMjcuMSAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMjdfMSA9XG4gICAgUHl0b3JjaEluZmVyZW5jZU5ldXJvbnhJbWFnZS5mcm9tTmV1cm9uU2RrVmVyc2lvbihcbiAgICAgIFwiMi4yNy4xXCIsXG4gICAgICBcIjMuMTJcIixcbiAgICAgIFwiMi45LjBcIixcbiAgICAgIFwiMjQuMDRcIixcbiAgICApO1xuICAvKiogTmV1cm9uIFNESyAyLjI2LjEgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzI2XzEgPVxuICAgIFB5dG9yY2hJbmZlcmVuY2VOZXVyb254SW1hZ2UuZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgICBcIjIuMjYuMVwiLFxuICAgICAgXCIzLjExXCIsXG4gICAgICBcIjIuOC4wXCIsXG4gICAgICBcIjIyLjA0XCIsXG4gICAgKTtcbiAgLyoqIE5ldXJvbiBTREsgMi4yNS4wICovXG4gIHN0YXRpYyByZWFkb25seSBTREtfMl8yNV8wID1cbiAgICBQeXRvcmNoSW5mZXJlbmNlTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgICAgXCIyLjI1LjBcIixcbiAgICAgIFwiMy4xMFwiLFxuICAgICAgXCIyLjcuMFwiLFxuICAgICAgXCIyMi4wNFwiLFxuICAgICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMjMuMCAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMjNfMCA9XG4gICAgUHl0b3JjaEluZmVyZW5jZU5ldXJvbnhJbWFnZS5mcm9tTmV1cm9uU2RrVmVyc2lvbihcbiAgICAgIFwiMi4yMy4wXCIsXG4gICAgICBcIjMuMTBcIixcbiAgICAgIFwiMi42LjBcIixcbiAgICAgIFwiMjIuMDRcIixcbiAgICApO1xuICAvKiogTmV1cm9uIFNESyAyLjIyLjAgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzIyXzAgPVxuICAgIFB5dG9yY2hJbmZlcmVuY2VOZXVyb254SW1hZ2UuZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgICBcIjIuMjIuMFwiLFxuICAgICAgXCIzLjEwXCIsXG4gICAgICBcIjIuNS4xXCIsXG4gICAgICBcIjIyLjA0XCIsXG4gICAgKTtcbiAgLyoqIE5ldXJvbiBTREsgMi4yMC4yIChQeVRvcmNoIDIuMS4yKSAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMjBfMl9QWVRPUkNIXzJfMV8yID1cbiAgICBQeXRvcmNoSW5mZXJlbmNlTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgICAgXCIyLjIwLjJcIixcbiAgICAgIFwiMy4xMFwiLFxuICAgICAgXCIyLjEuMlwiLFxuICAgICAgXCIyMC4wNFwiLFxuICAgICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMjAuMiAoUHlUb3JjaCAxLjEzLjEpICovXG4gIHN0YXRpYyByZWFkb25seSBTREtfMl8yMF8yX1BZVE9SQ0hfMV8xM18xID1cbiAgICBQeXRvcmNoSW5mZXJlbmNlTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgICAgXCIyLjIwLjJcIixcbiAgICAgIFwiMy4xMFwiLFxuICAgICAgXCIxLjEzLjFcIixcbiAgICAgIFwiMjAuMDRcIixcbiAgICApO1xuICAvKiogTGF0ZXN0IE5ldXJvbiBTREsgKi9cbiAgc3RhdGljIHJlYWRvbmx5IExBVEVTVCA9IGdldExhdGVzdFZlcnNpb24odGhpcyk7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQeXRvcmNoVHJhaW5pbmdOZXVyb254SW1hZ2UgZXh0ZW5kcyBQeXRvcmNoTmV1cm9ueEltYWdlIHtcbiAgc3RhdGljIHJlYWRvbmx5IGltYWdlTmFtZSA9IFwicHVibGljLmVjci5hd3MvbmV1cm9uL3B5dG9yY2gtdHJhaW5pbmctbmV1cm9ueFwiO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElWbGxtSW5mZXJlbmNlTmV1cm9ueEltYWdlIGV4dGVuZHMgSU5ldXJvbnhJbWFnZSB7XG4gIHJlYWRvbmx5IHZsbG1WZXJzaW9uOiBzdHJpbmc7XG59XG5leHBvcnQgY2xhc3MgVmxsbUluZmVyZW5jZU5ldXJvbnhJbWFnZSBleHRlbmRzIE5ldXJvbnhJbWFnZSB7XG4gIC8qKiBOZXVyb24gU0RLIDIuMjguMCB3aXRoIHZMTE0gMC4xMy4wICovXG4gIHN0YXRpYyByZWFkb25seSBTREtfMl8yOF8wID0gVmxsbUluZmVyZW5jZU5ldXJvbnhJbWFnZS5mcm9tTmV1cm9uU2RrVmVyc2lvbihcbiAgICBcIjIuMjguMFwiLFxuICAgIFwiMC4xMy4wXCIsXG4gICAgXCIzLjEyXCIsXG4gICAgXCIyNC4wNFwiLFxuICApO1xuICAvKiogTmV1cm9uIFNESyAyLjI3LjEgd2l0aCB2TExNIDAuMTMuMCAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMjdfMV9WTExNXzBfMTNfMCA9XG4gICAgVmxsbUluZmVyZW5jZU5ldXJvbnhJbWFnZS5mcm9tTmV1cm9uU2RrVmVyc2lvbihcbiAgICAgIFwiMi4yNy4xXCIsXG4gICAgICBcIjAuMTMuMFwiLFxuICAgICAgXCIzLjEyXCIsXG4gICAgICBcIjI0LjA0XCIsXG4gICAgKTtcbiAgLyoqIE5ldXJvbiBTREsgMi4yNy4xIHdpdGggdkxMTSAwLjExLjAgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzI3XzFfVkxMTV8wXzExXzAgPVxuICAgIFZsbG1JbmZlcmVuY2VOZXVyb254SW1hZ2UuZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgICBcIjIuMjcuMVwiLFxuICAgICAgXCIwLjExLjBcIixcbiAgICAgIFwiMy4xMlwiLFxuICAgICAgXCIyNC4wNFwiLFxuICAgICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMjYuMSB3aXRoIHZMTE0gMC45LjEgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzI2XzEgPSBWbGxtSW5mZXJlbmNlTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgIFwiMi4yNi4xXCIsXG4gICAgXCIwLjkuMVwiLFxuICAgIFwiMy4xMVwiLFxuICAgIFwiMjIuMDRcIixcbiAgKTtcbiAgLyoqIE5ldXJvbiBTREsgMi4yNi4wIHdpdGggdkxMTSAwLjkuMSAqL1xuICBzdGF0aWMgcmVhZG9ubHkgU0RLXzJfMjZfMCA9IFZsbG1JbmZlcmVuY2VOZXVyb254SW1hZ2UuZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgXCIyLjI2LjBcIixcbiAgICBcIjAuOS4xXCIsXG4gICAgXCIzLjExXCIsXG4gICAgXCIyMi4wNFwiLFxuICApO1xuICAvKiogTmV1cm9uIFNESyAyLjI1LjAgd2l0aCB2TExNIDAuOS4xICovXG4gIHN0YXRpYyByZWFkb25seSBTREtfMl8yNV8wID0gVmxsbUluZmVyZW5jZU5ldXJvbnhJbWFnZS5mcm9tTmV1cm9uU2RrVmVyc2lvbihcbiAgICBcIjIuMjUuMFwiLFxuICAgIFwiMC45LjFcIixcbiAgICBcIjMuMTBcIixcbiAgICBcIjIyLjA0XCIsXG4gICk7XG4gIC8qKiBOZXVyb24gU0RLIDIuMjQuMSB3aXRoIHZMTE0gMC43LjIgKi9cbiAgc3RhdGljIHJlYWRvbmx5IFNES18yXzI0XzEgPSBWbGxtSW5mZXJlbmNlTmV1cm9ueEltYWdlLmZyb21OZXVyb25TZGtWZXJzaW9uKFxuICAgIFwiMi4yNC4xXCIsXG4gICAgXCIwLjcuMlwiLFxuICAgIFwiMy4xMFwiLFxuICAgIFwiMjIuMDRcIixcbiAgKTtcbiAgLyoqIExhdGVzdCBOZXVyb24gU0RLICovXG4gIHN0YXRpYyByZWFkb25seSBMQVRFU1QgPSBnZXRMYXRlc3RWZXJzaW9uPElWbGxtSW5mZXJlbmNlTmV1cm9ueEltYWdlPih0aGlzKTtcblxuICBzdGF0aWMgZnJvbU5ldXJvblNka1ZlcnNpb24oXG4gICAgbmV1cm9uU2RrVmVyc2lvbjogc3RyaW5nLFxuICAgIHZsbG1WZXJzaW9uOiBzdHJpbmcsXG4gICAgcHl0aG9uVmVyc2lvbjogc3RyaW5nLFxuICAgIHVidW50dVZlcnNpb246IHN0cmluZyxcbiAgKTogSVZsbG1JbmZlcmVuY2VOZXVyb254SW1hZ2Uge1xuICAgIHJldHVybiB7XG4gICAgICBuZXVyb25TZGtWZXJzaW9uLFxuICAgICAgaW1hZ2VOYW1lOiBcInB1YmxpYy5lY3IuYXdzL25ldXJvbi9weXRvcmNoLWluZmVyZW5jZS12bGxtLW5ldXJvbnhcIixcbiAgICAgIGltYWdlVGFnOiBgJHt2bGxtVmVyc2lvbn0tbmV1cm9ueC1weSR7cHl0aG9uVmVyc2lvbi5yZXBsYWNlKFwiLlwiLCBcIlwiKX0tc2RrJHtuZXVyb25TZGtWZXJzaW9ufS11YnVudHUke3VidW50dVZlcnNpb259YCxcbiAgICAgIHZsbG1WZXJzaW9uLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -84,8 +84,42 @@ describe("VllmInferenceNeuronxImage", () => {
84
84
  vllmVersion: expect.any(String),
85
85
  });
86
86
  });
87
- });
88
- describe("VllmInferenceNeuronxImage", () => {
87
+ it("SDK 2.28.0 is defined", () => {
88
+ const image = deep_learning_containers_1.VllmInferenceNeuronxImage.SDK_2_28_0;
89
+ expect(image).toStrictEqual({
90
+ imageName: "public.ecr.aws/neuron/pytorch-inference-vllm-neuronx",
91
+ imageTag: "0.13.0-neuronx-py312-sdk2.28.0-ubuntu24.04",
92
+ neuronSdkVersion: "2.28.0",
93
+ vllmVersion: "0.13.0",
94
+ });
95
+ });
96
+ it("SDK 2.27.1 with vLLM 0.13.0 is defined", () => {
97
+ const image = deep_learning_containers_1.VllmInferenceNeuronxImage.SDK_2_27_1_VLLM_0_13_0;
98
+ expect(image).toStrictEqual({
99
+ imageName: "public.ecr.aws/neuron/pytorch-inference-vllm-neuronx",
100
+ imageTag: "0.13.0-neuronx-py312-sdk2.27.1-ubuntu24.04",
101
+ neuronSdkVersion: "2.27.1",
102
+ vllmVersion: "0.13.0",
103
+ });
104
+ });
105
+ it("SDK 2.27.1 with vLLM 0.11.0 is defined", () => {
106
+ const image = deep_learning_containers_1.VllmInferenceNeuronxImage.SDK_2_27_1_VLLM_0_11_0;
107
+ expect(image).toStrictEqual({
108
+ imageName: "public.ecr.aws/neuron/pytorch-inference-vllm-neuronx",
109
+ imageTag: "0.11.0-neuronx-py312-sdk2.27.1-ubuntu24.04",
110
+ neuronSdkVersion: "2.27.1",
111
+ vllmVersion: "0.11.0",
112
+ });
113
+ });
114
+ it("SDK 2.26.1 is defined", () => {
115
+ const image = deep_learning_containers_1.VllmInferenceNeuronxImage.SDK_2_26_1;
116
+ expect(image).toStrictEqual({
117
+ imageName: "public.ecr.aws/neuron/pytorch-inference-vllm-neuronx",
118
+ imageTag: "0.9.1-neuronx-py311-sdk2.26.1-ubuntu22.04",
119
+ neuronSdkVersion: "2.26.1",
120
+ vllmVersion: "0.9.1",
121
+ });
122
+ });
89
123
  it("SDK 2.26.0 is defined", () => {
90
124
  const image = deep_learning_containers_1.VllmInferenceNeuronxImage.SDK_2_26_0;
91
125
  expect(image).toStrictEqual({
@@ -95,5 +129,48 @@ describe("VllmInferenceNeuronxImage", () => {
95
129
  vllmVersion: "0.9.1",
96
130
  });
97
131
  });
132
+ it("SDK 2.25.0 is defined", () => {
133
+ const image = deep_learning_containers_1.VllmInferenceNeuronxImage.SDK_2_25_0;
134
+ expect(image).toStrictEqual({
135
+ imageName: "public.ecr.aws/neuron/pytorch-inference-vllm-neuronx",
136
+ imageTag: "0.9.1-neuronx-py310-sdk2.25.0-ubuntu22.04",
137
+ neuronSdkVersion: "2.25.0",
138
+ vllmVersion: "0.9.1",
139
+ });
140
+ });
141
+ it("SDK 2.24.1 is defined", () => {
142
+ const image = deep_learning_containers_1.VllmInferenceNeuronxImage.SDK_2_24_1;
143
+ expect(image).toStrictEqual({
144
+ imageName: "public.ecr.aws/neuron/pytorch-inference-vllm-neuronx",
145
+ imageTag: "0.7.2-neuronx-py310-sdk2.24.1-ubuntu22.04",
146
+ neuronSdkVersion: "2.24.1",
147
+ vllmVersion: "0.7.2",
148
+ });
149
+ });
150
+ it("LATEST points to the highest SDK version", () => {
151
+ expect(deep_learning_containers_1.VllmInferenceNeuronxImage.LATEST.neuronSdkVersion).toBe("2.28.0");
152
+ });
153
+ });
154
+ describe("PytorchTrainingNeuronxImage", () => {
155
+ it("Can get LATEST version", () => {
156
+ const image = deep_learning_containers_1.PytorchTrainingNeuronxImage.LATEST;
157
+ expect(image).not.toBeUndefined();
158
+ expect(image).toStrictEqual({
159
+ imageName: undefined,
160
+ imageTag: expect.any(String),
161
+ neuronSdkVersion: expect.any(String),
162
+ });
163
+ });
164
+ it("SDK 2.28.0 is defined", () => {
165
+ const image = deep_learning_containers_1.PytorchTrainingNeuronxImage.SDK_2_28_0;
166
+ expect(image).toStrictEqual({
167
+ imageName: undefined,
168
+ imageTag: "2.9.0-neuronx-py312-sdk2.28.0-ubuntu24.04",
169
+ neuronSdkVersion: "2.28.0",
170
+ });
171
+ });
172
+ it("LATEST points to the highest SDK version", () => {
173
+ expect(deep_learning_containers_1.PytorchTrainingNeuronxImage.LATEST.neuronSdkVersion).toBe("2.28.0");
174
+ });
98
175
  });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcC1sZWFybmluZy1jb250YWluZXJzLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFzZS9uZXVyb254L2RlZXAtbGVhcm5pbmctY29udGFpbmVycy50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEseUVBR29DO0FBRXBDLFFBQVEsQ0FBQyw4QkFBOEIsRUFBRSxHQUFHLEVBQUU7SUFDNUMsRUFBRSxDQUFDLHdCQUF3QixFQUFFLEdBQUcsRUFBRTtRQUNoQyxNQUFNLEtBQUssR0FBRyx1REFBNEIsQ0FBQyxNQUFNLENBQUM7UUFDbEQsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNsQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDbkQsTUFBTSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsdUJBQXVCLEVBQUUsR0FBRyxFQUFFO1FBQy9CLE1BQU0sS0FBSyxHQUFHLHVEQUE0QixDQUFDLFVBQVUsQ0FBQztRQUN0RCxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsYUFBYSxDQUFDO1lBQzFCLFNBQVMsRUFBRSxpREFBaUQ7WUFDNUQsUUFBUSxFQUFFLDJDQUEyQztZQUNyRCxnQkFBZ0IsRUFBRSxRQUFRO1NBQzNCLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLHVCQUF1QixFQUFFLEdBQUcsRUFBRTtRQUMvQixNQUFNLEtBQUssR0FBRyx1REFBNEIsQ0FBQyxVQUFVLENBQUM7UUFDdEQsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLGFB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Q0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDO1lBQ3BDLFdBQVcsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQztTQUNoQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDO0FBRUgsUUFBUSxDQUFDLDJCQUEyQixFQUFFLEdBQUcsRUFBRTtJQUN6QyxFQUFFLENBQUMsdUJBQXVCLEVBQUUsR0FBRyxFQUFFO1FBQy9CLE1BQU0sS0FBSyxHQUFHLG9EQUF5QixDQUFDLFVBQVUsQ0FBQztRQUNuRCxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsYUFBYSxDQUFDO1lBQzFCLFNBQVMsRUFBRSxzREFBc0Q7WUFDakUsUUFBUSxFQUFFLDJDQUEyQztZQUNyRCxnQkFBZ0IsRUFBRSxRQUFRO1lBQzFCLFdBQVcsRUFBRSxPQUFPO1NBQ3JCLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBQeXRvcmNoSW5mZXJlbmNlTmV1cm9ueEltYWdlLFxuICBWbGxtSW5mZXJlbmNlTmV1cm9ueEltYWdlLFxufSBmcm9tIFwiLi9kZWVwLWxlYXJuaW5nLWNvbnRhaW5lcnNcIjtcblxuZGVzY3JpYmUoXCJQeXRvcmNoSW5mZXJlbmNlTmV1cm9ueEltYWdlXCIsICgpID0+IHtcbiAgaXQoXCJDYW4gZ2V0IExBVEVTVCB2ZXJzaW9uXCIsICgpID0+IHtcbiAgICBjb25zdCBpbWFnZSA9IFB5dG9yY2hJbmZlcmVuY2VOZXVyb254SW1hZ2UuTEFURVNUO1xuICAgIGV4cGVjdChpbWFnZSkubm90LnRvQmVVbmRlZmluZWQoKTtcbiAgICBleHBlY3QoaW1hZ2UuaW1hZ2VUYWcpLnRvRXF1YWwoZXhwZWN0LmFueShTdHJpbmcpKTtcbiAgICBleHBlY3QoaW1hZ2UubmV1cm9uU2RrVmVyc2lvbikudG9FcXVhbChleHBlY3QuYW55KFN0cmluZykpO1xuICB9KTtcblxuICBpdChcIlNESyAyLjI4LjAgaXMgZGVmaW5lZFwiLCAoKSA9PiB7XG4gICAgY29uc3QgaW1hZ2UgPSBQeXRvcmNoSW5mZXJlbmNlTmV1cm9ueEltYWdlLlNES18yXzI4XzA7XG4gICAgZXhwZWN0KGltYWdlKS50b1N0cmljdEVxdWFsKHtcbiAgICAgIGltYWdlTmFtZTogXCJwdWJsaWMuZWNyLmF3cy9uZXVyb24vcHl0b3JjaC1pbmZlcmVuY2UtbmV1cm9ueFwiLFxuICAgICAgaW1hZ2VUYWc6IFwiMi45LjAtbmV1cm9ueC1weTMxMi1zZGsyLjI4LjAtdWJ1bnR1MjQuMDRcIixcbiAgICAgIG5ldXJvblNka1ZlcnNpb246IFwiMi4yOC4wXCIsXG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KFwiU0RLIDIuMjcuMSBpcyBkZWZpbmVkXCIsICgpID0+IHtcbiAgICBjb25zdCBpbWFnZSA9IFB5dG9yY2hJbmZlcmVuY2VOZXVyb254SW1hZ2UuU0RLXzJfMjdfMTtcbiAgICBleHBlY3QoaW1hZ2UpLnRvU3RyaWN0RXF1YWwoe1xuICAgICAgaW1hZ2VOYW1lOiBcInB1YmxpYy5lY3IuYXdzL25ldXJvbi9weXRvcmNoLWluZmVyZW5jZS1uZXVyb254XCIsXG4gICAgICBpbWFnZVRhZzogXCIyLjkuMC1uZXVyb254LXB5MzEyLXNkazIuMjcuMS11YnVudHUyNC4wNFwiLFxuICAgICAgbmV1cm9uU2RrVmVyc2lvbjogXCIyLjI3LjFcIixcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoXCJTREsgMi4yNi4xIGlzIGRlZmluZWRcIiwgKCkgPT4ge1xuICAgIGNvbnN0IGltYWdlID0gUHl0b3JjaEluZmVyZW5jZU5ldXJvbnhJbWFnZS5TREtfMl8yNl8xO1xuICAgIGV4cGVjdChpbWFnZSkudG9TdHJpY3RFcXVhbCh7XG4gICAgICBpbWFnZU5hbWU6IFwicHVibGljLmVjci5hd3MvbmV1cm9uL3B5dG9yY2gtaW5mZXJlbmNlLW5ldXJvbnhcIixcbiAgICAgIGltYWdlVGFnOiBcIjIuOC4wLW5ldXJvbngtcHkzMTEtc2RrMi4yNi4xLXVidW50dTIyLjA0XCIsXG4gICAgICBuZXVyb25TZGtWZXJzaW9uOiBcIjIuMjYuMVwiLFxuICAgIH0pO1xuICB9KTtcblxuICBpdChcIlNESyAyLjI1LjAgaXMgZGVmaW5lZFwiLCAoKSA9PiB7XG4gICAgY29uc3QgaW1hZ2UgPSBQeXRvcmNoSW5mZXJlbmNlTmV1cm9ueEltYWdlLlNES18yXzI1XzA7XG4gICAgZXhwZWN0KGltYWdlKS50b1N0cmljdEVxdWFsKHtcbiAgICAgIGltYWdlTmFtZTogXCJwdWJsaWMuZWNyLmF3cy9uZXVyb24vcHl0b3JjaC1pbmZlcmVuY2UtbmV1cm9ueFwiLFxuICAgICAgaW1hZ2VUYWc6IFwiMi43LjAtbmV1cm9ueC1weTMxMC1zZGsyLjI1LjAtdWJ1bnR1MjIuMDRcIixcbiAgICAgIG5ldXJvblNka1ZlcnNpb246IFwiMi4yNS4wXCIsXG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KFwiU0RLIDIuMjMuMCBpcyBkZWZpbmVkXCIsICgpID0+IHtcbiAgICBjb25zdCBpbWFnZSA9IFB5dG9yY2hJbmZlcmVuY2VOZXVyb254SW1hZ2UuU0RLXzJfMjNfMDtcbiAgICBleHBlY3QoaW1hZ2UpLnRvU3RyaWN0RXF1YWwoe1xuICAgICAgaW1hZ2VOYW1lOiBcInB1YmxpYy5lY3IuYXdzL25ldXJvbi9weXRvcmNoLWluZmVyZW5jZS1uZXVyb254XCIsXG4gICAgICBpbWFnZVRhZzogXCIyLjYuMC1uZXVyb254LXB5MzEwLXNkazIuMjMuMC11YnVudHUyMi4wNFwiLFxuICAgICAgbmV1cm9uU2RrVmVyc2lvbjogXCIyLjIzLjBcIixcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoXCJTREsgMi4yMi4wIGlzIGRlZmluZWRcIiwgKCkgPT4ge1xuICAgIGNvbnN0IGltYWdlID0gUHl0b3JjaEluZmVyZW5jZU5ldXJvbnhJbWFnZS5TREtfMl8yMl8wO1xuICAgIGV4cGVjdChpbWFnZSkudG9TdHJpY3RFcXVhbCh7XG4gICAgICBpbWFnZU5hbWU6IFwicHVibGljLmVjci5hd3MvbmV1cm9uL3B5dG9yY2gtaW5mZXJlbmNlLW5ldXJvbnhcIixcbiAgICAgIGltYWdlVGFnOiBcIjIuNS4xLW5ldXJvbngtcHkzMTAtc2RrMi4yMi4wLXVidW50dTIyLjA0XCIsXG4gICAgICBuZXVyb25TZGtWZXJzaW9uOiBcIjIuMjIuMFwiLFxuICAgIH0pO1xuICB9KTtcblxuICBpdChcIlNESyAyLjIwLjIgd2l0aCBQeVRvcmNoIDIuMS4yIGlzIGRlZmluZWRcIiwgKCkgPT4ge1xuICAgIGNvbnN0IGltYWdlID0gUHl0b3JjaEluZmVyZW5jZU5ldXJvbnhJbWFnZS5TREtfMl8yMF8yX1BZVE9SQ0hfMl8xXzI7XG4gICAgZXhwZWN0KGltYWdlKS50b1N0cmljdEVxdWFsKHtcbiAgICAgIGltYWdlTmFtZTogXCJwdWJsaWMuZWNyLmF3cy9uZXVyb24vcHl0b3JjaC1pbmZlcmVuY2UtbmV1cm9ueFwiLFxuICAgICAgaW1hZ2VUYWc6IFwiMi4xLjItbmV1cm9ueC1weTMxMC1zZGsyLjIwLjItdWJ1bnR1MjAuMDRcIixcbiAgICAgIG5ldXJvblNka1ZlcnNpb246IFwiMi4yMC4yXCIsXG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KFwiU0RLIDIuMjAuMiB3aXRoIFB5VG9yY2ggMS4xMy4xIGlzIGRlZmluZWRcIiwgKCkgPT4ge1xuICAgIGNvbnN0IGltYWdlID0gUHl0b3JjaEluZmVyZW5jZU5ldXJvbnhJbWFnZS5TREtfMl8yMF8yX1BZVE9SQ0hfMV8xM18xO1xuICAgIGV4cGVjdChpbWFnZSkudG9TdHJpY3RFcXVhbCh7XG4gICAgICBpbWFnZU5hbWU6IFwicHVibGljLmVjci5hd3MvbmV1cm9uL3B5dG9yY2gtaW5mZXJlbmNlLW5ldXJvbnhcIixcbiAgICAgIGltYWdlVGFnOiBcIjEuMTMuMS1uZXVyb254LXB5MzEwLXNkazIuMjAuMi11YnVudHUyMC4wNFwiLFxuICAgICAgbmV1cm9uU2RrVmVyc2lvbjogXCIyLjIwLjJcIixcbiAgICB9KTtcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoXCJWbGxtSW5mZXJlbmNlTmV1cm9ueEltYWdlXCIsICgpID0+IHtcbiAgaXQoXCJDYW4gZ2V0IExBVEVTVCB2ZXJzaW9uXCIsICgpID0+IHtcbiAgICBjb25zdCBpbWFnZSA9IFZsbG1JbmZlcmVuY2VOZXVyb254SW1hZ2UuTEFURVNUO1xuICAgIGV4cGVjdChpbWFnZSkubm90LnRvQmVVbmRlZmluZWQoKTtcbiAgICBleHBlY3QoaW1hZ2UpLnRvU3RyaWN0RXF1YWwoe1xuICAgICAgaW1hZ2VOYW1lOiBcInB1YmxpYy5lY3IuYXdzL25ldXJvbi9weXRvcmNoLWluZmVyZW5jZS12bGxtLW5ldXJvbnhcIixcbiAgICAgIGltYWdlVGFnOiBleHBlY3QuYW55KFN0cmluZyksXG4gICAgICBuZXVyb25TZGtWZXJzaW9uOiBleHBlY3QuYW55KFN0cmluZyksXG4gICAgICB2bGxtVmVyc2lvbjogZXhwZWN0LmFueShTdHJpbmcpLFxuICAgIH0pO1xuICB9KTtcbn0pO1xuXG5kZXNjcmliZShcIlZsbG1JbmZlcmVuY2VOZXVyb254SW1hZ2VcIiwgKCkgPT4ge1xuICBpdChcIlNESyAyLjI2LjAgaXMgZGVmaW5lZFwiLCAoKSA9PiB7XG4gICAgY29uc3QgaW1hZ2UgPSBWbGxtSW5mZXJlbmNlTmV1cm9ueEltYWdlLlNES18yXzI2XzA7XG4gICAgZXhwZWN0KGltYWdlKS50b1N0cmljdEVxdWFsKHtcbiAgICAgIGltYWdlTmFtZTogXCJwdWJsaWMuZWNyLmF3cy9uZXVyb24vcHl0b3JjaC1pbmZlcmVuY2UtdmxsbS1uZXVyb254XCIsXG4gICAgICBpbWFnZVRhZzogXCIwLjkuMS1uZXVyb254LXB5MzExLXNkazIuMjYuMC11YnVudHUyMi4wNFwiLFxuICAgICAgbmV1cm9uU2RrVmVyc2lvbjogXCIyLjI2LjBcIixcbiAgICAgIHZsbG1WZXJzaW9uOiBcIjAuOS4xXCIsXG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcC1sZWFybmluZy1jb250YWluZXJzLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFzZS9uZXVyb254L2RlZXAtbGVhcm5pbmctY29udGFpbmVycy50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEseUVBSW9DO0FBRXBDLFFBQVEsQ0FBQyw4QkFBOEIsRUFBRSxHQUFHLEVBQUU7SUFDNUMsRUFBRSxDQUFDLHdCQUF3QixFQUFFLEdBQUcsRUFBRTtRQUNoQyxNQUFNLEtBQUssR0FBRyx1REFBNEIsQ0FBQyxNQUFNLENBQUM7UUFDbEQsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNsQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDbkQsTUFBTSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsdUJBQXVCLEVBQUUsR0FBRyxFQUFFO1FBQy9CLE1BQU0sS0FBSyxHQUFHLHVEQUE0QixDQUFDLFVBQVUsQ0FBQztRQUN0RCxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsYUFBYSxDQUFDO1lBQzFCLFNBQVMsRUFBRSxpREFBaUQ7WUFDNUQsUUFBUSxFQUFFLDJDQUEyQztZQUNyRCxnQkFBZ0IsRUFBRSxRQUFRO1NBQzNCLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLHVCQUF1QixFQUFFLEdBQUcsRUFBRTtRQUMvQixNQUFNLEtBQUssR0FBRyx1REFBNEIsQ0FBQyxVQUFVLENBQUM7UUFDdEQsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLGFB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Q0FBQztJQUM3RSxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgUHl0b3JjaEluZmVyZW5jZU5ldXJvbnhJbWFnZSxcbiAgUHl0b3JjaFRyYWluaW5nTmV1cm9ueEltYWdlLFxuICBWbGxtSW5mZXJlbmNlTmV1cm9ueEltYWdlLFxufSBmcm9tIFwiLi9kZWVwLWxlYXJuaW5nLWNvbnRhaW5lcnNcIjtcblxuZGVzY3JpYmUoXCJQeXRvcmNoSW5mZXJlbmNlTmV1cm9ueEltYWdlXCIsICgpID0+IHtcbiAgaXQoXCJDYW4gZ2V0IExBVEVTVCB2ZXJzaW9uXCIsICgpID0+IHtcbiAgICBjb25zdCBpbWFnZSA9IFB5dG9yY2hJbmZlcmVuY2VOZXVyb254SW1hZ2UuTEFURVNUO1xuICAgIGV4cGVjdChpbWFnZSkubm90LnRvQmVVbmRlZmluZWQoKTtcbiAgICBleHBlY3QoaW1hZ2UuaW1hZ2VUYWcpLnRvRXF1YWwoZXhwZWN0LmFueShTdHJpbmcpKTtcbiAgICBleHBlY3QoaW1hZ2UubmV1cm9uU2RrVmVyc2lvbikudG9FcXVhbChleHBlY3QuYW55KFN0cmluZykpO1xuICB9KTtcblxuICBpdChcIlNESyAyLjI4LjAgaXMgZGVmaW5lZFwiLCAoKSA9PiB7XG4gICAgY29uc3QgaW1hZ2UgPSBQeXRvcmNoSW5mZXJlbmNlTmV1cm9ueEltYWdlLlNES18yXzI4XzA7XG4gICAgZXhwZWN0KGltYWdlKS50b1N0cmljdEVxdWFsKHtcbiAgICAgIGltYWdlTmFtZTogXCJwdWJsaWMuZWNyLmF3cy9uZXVyb24vcHl0b3JjaC1pbmZlcmVuY2UtbmV1cm9ueFwiLFxuICAgICAgaW1hZ2VUYWc6IFwiMi45LjAtbmV1cm9ueC1weTMxMi1zZGsyLjI4LjAtdWJ1bnR1MjQuMDRcIixcbiAgICAgIG5ldXJvblNka1ZlcnNpb246IFwiMi4yOC4wXCIsXG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KFwiU0RLIDIuMjcuMSBpcyBkZWZpbmVkXCIsICgpID0+IHtcbiAgICBjb25zdCBpbWFnZSA9IFB5dG9yY2hJbmZlcmVuY2VOZXVyb254SW1hZ2UuU0RLXzJfMjdfMTtcbiAgICBleHBlY3QoaW1hZ2UpLnRvU3RyaWN0RXF1YWwoe1xuICAgICAgaW1hZ2VOYW1lOiBcInB1YmxpYy5lY3IuYXdzL25ldXJvbi9weXRvcmNoLWluZmVyZW5jZS1uZXVyb254XCIsXG4gICAgICBpbWFnZVRhZzogXCIyLjkuMC1uZXVyb254LXB5MzEyLXNkazIuMjcuMS11YnVudHUyNC4wNFwiLFxuICAgICAgbmV1cm9uU2RrVmVyc2lvbjogXCIyLjI3LjFcIixcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoXCJTREsgMi4yNi4xIGlzIGRlZmluZWRcIiwgKCkgPT4ge1xuICAgIGNvbnN0IGltYWdlID0gUHl0b3JjaEluZmVyZW5jZU5ldXJvbnhJbWFnZS5TREtfMl8yNl8xO1xuICAgIGV4cGVjdChpbWFnZSkudG9TdHJpY3RFcXVhbCh7XG4gICAgICBpbWFnZU5hbWU6IFwicHVibGljLmVjci5hd3MvbmV1cm9uL3B5dG9yY2gtaW5mZXJlbmNlLW5ldXJvbnhcIixcbiAgICAgIGltYWdlVGFnOiBcIjIuOC4wLW5ldXJvbngtcHkzMTEtc2RrMi4yNi4xLXVidW50dTIyLjA0XCIsXG4gICAgICBuZXVyb25TZGtWZXJzaW9uOiBcIjIuMjYuMVwiLFxuICAgIH0pO1xuICB9KTtcblxuICBpdChcIlNESyAyLjI1LjAgaXMgZGVmaW5lZFwiLCAoKSA9PiB7XG4gICAgY29uc3QgaW1hZ2UgPSBQeXRvcmNoSW5mZXJlbmNlTmV1cm9ueEltYWdlLlNES18yXzI1XzA7XG4gICAgZXhwZWN0KGltYWdlKS50b1N0cmljdEVxdWFsKHtcbiAgICAgIGltYWdlTmFtZTogXCJwdWJsaWMuZWNyLmF3cy9uZXVyb24vcHl0b3JjaC1pbmZlcmVuY2UtbmV1cm9ueFwiLFxuICAgICAgaW1hZ2VUYWc6IFwiMi43LjAtbmV1cm9ueC1weTMxMC1zZGsyLjI1LjAtdWJ1bnR1MjIuMDRcIixcbiAgICAgIG5ldXJvblNka1ZlcnNpb246IFwiMi4yNS4wXCIsXG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KFwiU0RLIDIuMjMuMCBpcyBkZWZpbmVkXCIsICgpID0+IHtcbiAgICBjb25zdCBpbWFnZSA9IFB5dG9yY2hJbmZlcmVuY2VOZXVyb254SW1hZ2UuU0RLXzJfMjNfMDtcbiAgICBleHBlY3QoaW1hZ2UpLnRvU3RyaWN0RXF1YWwoe1xuICAgICAgaW1hZ2VOYW1lOiBcInB1YmxpYy5lY3IuYXdzL25ldXJvbi9weXRvcmNoLWluZmVyZW5jZS1uZXVyb254XCIsXG4gICAgICBpbWFnZVRhZzogXCIyLjYuMC1uZXVyb254LXB5MzEwLXNkazIuMjMuMC11YnVudHUyMi4wNFwiLFxuICAgICAgbmV1cm9uU2RrVmVyc2lvbjogXCIyLjIzLjBcIixcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoXCJTREsgMi4yMi4wIGlzIGRlZmluZWRcIiwgKCkgPT4ge1xuICAgIGNvbnN0IGltYWdlID0gUHl0b3JjaEluZmVyZW5jZU5ldXJvbnhJbWFnZS5TREtfMl8yMl8wO1xuICAgIGV4cGVjdChpbWFnZSkudG9TdHJpY3RFcXVhbCh7XG4gICAgICBpbWFnZU5hbWU6IFwicHVibGljLmVjci5hd3MvbmV1cm9uL3B5dG9yY2gtaW5mZXJlbmNlLW5ldXJvbnhcIixcbiAgICAgIGltYWdlVGFnOiBcIjIuNS4xLW5ldXJvbngtcHkzMTAtc2RrMi4yMi4wLXVidW50dTIyLjA0XCIsXG4gICAgICBuZXVyb25TZGtWZXJzaW9uOiBcIjIuMjIuMFwiLFxuICAgIH0pO1xuICB9KTtcblxuICBpdChcIlNESyAyLjIwLjIgd2l0aCBQeVRvcmNoIDIuMS4yIGlzIGRlZmluZWRcIiwgKCkgPT4ge1xuICAgIGNvbnN0IGltYWdlID0gUHl0b3JjaEluZmVyZW5jZU5ldXJvbnhJbWFnZS5TREtfMl8yMF8yX1BZVE9SQ0hfMl8xXzI7XG4gICAgZXhwZWN0KGltYWdlKS50b1N0cmljdEVxdWFsKHtcbiAgICAgIGltYWdlTmFtZTogXCJwdWJsaWMuZWNyLmF3cy9uZXVyb24vcHl0b3JjaC1pbmZlcmVuY2UtbmV1cm9ueFwiLFxuICAgICAgaW1hZ2VUYWc6IFwiMi4xLjItbmV1cm9ueC1weTMxMC1zZGsyLjIwLjItdWJ1bnR1MjAuMDRcIixcbiAgICAgIG5ldXJvblNka1ZlcnNpb246IFwiMi4yMC4yXCIsXG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KFwiU0RLIDIuMjAuMiB3aXRoIFB5VG9yY2ggMS4xMy4xIGlzIGRlZmluZWRcIiwgKCkgPT4ge1xuICAgIGNvbnN0IGltYWdlID0gUHl0b3JjaEluZmVyZW5jZU5ldXJvbnhJbWFnZS5TREtfMl8yMF8yX1BZVE9SQ0hfMV8xM18xO1xuICAgIGV4cGVjdChpbWFnZSkudG9TdHJpY3RFcXVhbCh7XG4gICAgICBpbWFnZU5hbWU6IFwicHVibGljLmVjci5hd3MvbmV1cm9uL3B5dG9yY2gtaW5mZXJlbmNlLW5ldXJvbnhcIixcbiAgICAgIGltYWdlVGFnOiBcIjEuMTMuMS1uZXVyb254LXB5MzEwLXNkazIuMjAuMi11YnVudHUyMC4wNFwiLFxuICAgICAgbmV1cm9uU2RrVmVyc2lvbjogXCIyLjIwLjJcIixcbiAgICB9KTtcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoXCJWbGxtSW5mZXJlbmNlTmV1cm9ueEltYWdlXCIsICgpID0+IHtcbiAgaXQoXCJDYW4gZ2V0IExBVEVTVCB2ZXJzaW9uXCIsICgpID0+IHtcbiAgICBjb25zdCBpbWFnZSA9IFZsbG1JbmZlcmVuY2VOZXVyb254SW1hZ2UuTEFURVNUO1xuICAgIGV4cGVjdChpbWFnZSkubm90LnRvQmVVbmRlZmluZWQoKTtcbiAgICBleHBlY3QoaW1hZ2UpLnRvU3RyaWN0RXF1YWwoe1xuICAgICAgaW1hZ2VOYW1lOiBcInB1YmxpYy5lY3IuYXdzL25ldXJvbi9weXRvcmNoLWluZmVyZW5jZS12bGxtLW5ldXJvbnhcIixcbiAgICAgIGltYWdlVGFnOiBleHBlY3QuYW55KFN0cmluZyksXG4gICAgICBuZXVyb25TZGtWZXJzaW9uOiBleHBlY3QuYW55KFN0cmluZyksXG4gICAgICB2bGxtVmVyc2lvbjogZXhwZWN0LmFueShTdHJpbmcpLFxuICAgIH0pO1xuICB9KTtcblxuICBpdChcIlNESyAyLjI4LjAgaXMgZGVmaW5lZFwiLCAoKSA9PiB7XG4gICAgY29uc3QgaW1hZ2UgPSBWbGxtSW5mZXJlbmNlTmV1cm9ueEltYWdlLlNES18yXzI4XzA7XG4gICAgZXhwZWN0KGltYWdlKS50b1N0cmljdEVxdWFsKHtcbiAgICAgIGltYWdlTmFtZTogXCJwdWJsaWMuZWNyLmF3cy9uZXVyb24vcHl0b3JjaC1pbmZlcmVuY2UtdmxsbS1uZXVyb254XCIsXG4gICAgICBpbWFnZVRhZzogXCIwLjEzLjAtbmV1cm9ueC1weTMxMi1zZGsyLjI4LjAtdWJ1bnR1MjQuMDRcIixcbiAgICAgIG5ldXJvblNka1ZlcnNpb246IFwiMi4yOC4wXCIsXG4gICAgICB2bGxtVmVyc2lvbjogXCIwLjEzLjBcIixcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoXCJTREsgMi4yNy4xIHdpdGggdkxMTSAwLjEzLjAgaXMgZGVmaW5lZFwiLCAoKSA9PiB7XG4gICAgY29uc3QgaW1hZ2UgPSBWbGxtSW5mZXJlbmNlTmV1cm9ueEltYWdlLlNES18yXzI3XzFfVkxMTV8wXzEzXzA7XG4gICAgZXhwZWN0KGltYWdlKS50b1N0cmljdEVxdWFsKHtcbiAgICAgIGltYWdlTmFtZTogXCJwdWJsaWMuZWNyLmF3cy9uZXVyb24vcHl0b3JjaC1pbmZlcmVuY2UtdmxsbS1uZXVyb254XCIsXG4gICAgICBpbWFnZVRhZzogXCIwLjEzLjAtbmV1cm9ueC1weTMxMi1zZGsyLjI3LjEtdWJ1bnR1MjQuMDRcIixcbiAgICAgIG5ldXJvblNka1ZlcnNpb246IFwiMi4yNy4xXCIsXG4gICAgICB2bGxtVmVyc2lvbjogXCIwLjEzLjBcIixcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoXCJTREsgMi4yNy4xIHdpdGggdkxMTSAwLjExLjAgaXMgZGVmaW5lZFwiLCAoKSA9PiB7XG4gICAgY29uc3QgaW1hZ2UgPSBWbGxtSW5mZXJlbmNlTmV1cm9ueEltYWdlLlNES18yXzI3XzFfVkxMTV8wXzExXzA7XG4gICAgZXhwZWN0KGltYWdlKS50b1N0cmljdEVxdWFsKHtcbiAgICAgIGltYWdlTmFtZTogXCJwdWJsaWMuZWNyLmF3cy9uZXVyb24vcHl0b3JjaC1pbmZlcmVuY2UtdmxsbS1uZXVyb254XCIsXG4gICAgICBpbWFnZVRhZzogXCIwLjExLjAtbmV1cm9ueC1weTMxMi1zZGsyLjI3LjEtdWJ1bnR1MjQuMDRcIixcbiAgICAgIG5ldXJvblNka1ZlcnNpb246IFwiMi4yNy4xXCIsXG4gICAgICB2bGxtVmVyc2lvbjogXCIwLjExLjBcIixcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoXCJTREsgMi4yNi4xIGlzIGRlZmluZWRcIiwgKCkgPT4ge1xuICAgIGNvbnN0IGltYWdlID0gVmxsbUluZmVyZW5jZU5ldXJvbnhJbWFnZS5TREtfMl8yNl8xO1xuICAgIGV4cGVjdChpbWFnZSkudG9TdHJpY3RFcXVhbCh7XG4gICAgICBpbWFnZU5hbWU6IFwicHVibGljLmVjci5hd3MvbmV1cm9uL3B5dG9yY2gtaW5mZXJlbmNlLXZsbG0tbmV1cm9ueFwiLFxuICAgICAgaW1hZ2VUYWc6IFwiMC45LjEtbmV1cm9ueC1weTMxMS1zZGsyLjI2LjEtdWJ1bnR1MjIuMDRcIixcbiAgICAgIG5ldXJvblNka1ZlcnNpb246IFwiMi4yNi4xXCIsXG4gICAgICB2bGxtVmVyc2lvbjogXCIwLjkuMVwiLFxuICAgIH0pO1xuICB9KTtcblxuICBpdChcIlNESyAyLjI2LjAgaXMgZGVmaW5lZFwiLCAoKSA9PiB7XG4gICAgY29uc3QgaW1hZ2UgPSBWbGxtSW5mZXJlbmNlTmV1cm9ueEltYWdlLlNES18yXzI2XzA7XG4gICAgZXhwZWN0KGltYWdlKS50b1N0cmljdEVxdWFsKHtcbiAgICAgIGltYWdlTmFtZTogXCJwdWJsaWMuZWNyLmF3cy9uZXVyb24vcHl0b3JjaC1pbmZlcmVuY2UtdmxsbS1uZXVyb254XCIsXG4gICAgICBpbWFnZVRhZzogXCIwLjkuMS1uZXVyb254LXB5MzExLXNkazIuMjYuMC11YnVudHUyMi4wNFwiLFxuICAgICAgbmV1cm9uU2RrVmVyc2lvbjogXCIyLjI2LjBcIixcbiAgICAgIHZsbG1WZXJzaW9uOiBcIjAuOS4xXCIsXG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KFwiU0RLIDIuMjUuMCBpcyBkZWZpbmVkXCIsICgpID0+IHtcbiAgICBjb25zdCBpbWFnZSA9IFZsbG1JbmZlcmVuY2VOZXVyb254SW1hZ2UuU0RLXzJfMjVfMDtcbiAgICBleHBlY3QoaW1hZ2UpLnRvU3RyaWN0RXF1YWwoe1xuICAgICAgaW1hZ2VOYW1lOiBcInB1YmxpYy5lY3IuYXdzL25ldXJvbi9weXRvcmNoLWluZmVyZW5jZS12bGxtLW5ldXJvbnhcIixcbiAgICAgIGltYWdlVGFnOiBcIjAuOS4xLW5ldXJvbngtcHkzMTAtc2RrMi4yNS4wLXVidW50dTIyLjA0XCIsXG4gICAgICBuZXVyb25TZGtWZXJzaW9uOiBcIjIuMjUuMFwiLFxuICAgICAgdmxsbVZlcnNpb246IFwiMC45LjFcIixcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoXCJTREsgMi4yNC4xIGlzIGRlZmluZWRcIiwgKCkgPT4ge1xuICAgIGNvbnN0IGltYWdlID0gVmxsbUluZmVyZW5jZU5ldXJvbnhJbWFnZS5TREtfMl8yNF8xO1xuICAgIGV4cGVjdChpbWFnZSkudG9TdHJpY3RFcXVhbCh7XG4gICAgICBpbWFnZU5hbWU6IFwicHVibGljLmVjci5hd3MvbmV1cm9uL3B5dG9yY2gtaW5mZXJlbmNlLXZsbG0tbmV1cm9ueFwiLFxuICAgICAgaW1hZ2VUYWc6IFwiMC43LjItbmV1cm9ueC1weTMxMC1zZGsyLjI0LjEtdWJ1bnR1MjIuMDRcIixcbiAgICAgIG5ldXJvblNka1ZlcnNpb246IFwiMi4yNC4xXCIsXG4gICAgICB2bGxtVmVyc2lvbjogXCIwLjcuMlwiLFxuICAgIH0pO1xuICB9KTtcblxuICBpdChcIkxBVEVTVCBwb2ludHMgdG8gdGhlIGhpZ2hlc3QgU0RLIHZlcnNpb25cIiwgKCkgPT4ge1xuICAgIGV4cGVjdChWbGxtSW5mZXJlbmNlTmV1cm9ueEltYWdlLkxBVEVTVC5uZXVyb25TZGtWZXJzaW9uKS50b0JlKFwiMi4yOC4wXCIpO1xuICB9KTtcbn0pO1xuXG5kZXNjcmliZShcIlB5dG9yY2hUcmFpbmluZ05ldXJvbnhJbWFnZVwiLCAoKSA9PiB7XG4gIGl0KFwiQ2FuIGdldCBMQVRFU1QgdmVyc2lvblwiLCAoKSA9PiB7XG4gICAgY29uc3QgaW1hZ2UgPSBQeXRvcmNoVHJhaW5pbmdOZXVyb254SW1hZ2UuTEFURVNUO1xuICAgIGV4cGVjdChpbWFnZSkubm90LnRvQmVVbmRlZmluZWQoKTtcbiAgICBleHBlY3QoaW1hZ2UpLnRvU3RyaWN0RXF1YWwoe1xuICAgICAgaW1hZ2VOYW1lOiB1bmRlZmluZWQsXG4gICAgICBpbWFnZVRhZzogZXhwZWN0LmFueShTdHJpbmcpLFxuICAgICAgbmV1cm9uU2RrVmVyc2lvbjogZXhwZWN0LmFueShTdHJpbmcpLFxuICAgIH0pO1xuICB9KTtcblxuICBpdChcIlNESyAyLjI4LjAgaXMgZGVmaW5lZFwiLCAoKSA9PiB7XG4gICAgY29uc3QgaW1hZ2UgPSBQeXRvcmNoVHJhaW5pbmdOZXVyb254SW1hZ2UuU0RLXzJfMjhfMDtcbiAgICBleHBlY3QoaW1hZ2UpLnRvU3RyaWN0RXF1YWwoe1xuICAgICAgaW1hZ2VOYW1lOiB1bmRlZmluZWQsXG4gICAgICBpbWFnZVRhZzogXCIyLjkuMC1uZXVyb254LXB5MzEyLXNkazIuMjguMC11YnVudHUyNC4wNFwiLFxuICAgICAgbmV1cm9uU2RrVmVyc2lvbjogXCIyLjI4LjBcIixcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoXCJMQVRFU1QgcG9pbnRzIHRvIHRoZSBoaWdoZXN0IFNESyB2ZXJzaW9uXCIsICgpID0+IHtcbiAgICBleHBlY3QoUHl0b3JjaFRyYWluaW5nTmV1cm9ueEltYWdlLkxBVEVTVC5uZXVyb25TZGtWZXJzaW9uKS50b0JlKFwiMi4yOC4wXCIpO1xuICB9KTtcbn0pO1xuIl19
@@ -84,7 +84,7 @@ class Parameters {
84
84
  }
85
85
  exports.Parameters = Parameters;
86
86
  _a = JSII_RTTI_SYMBOL_1;
87
- Parameters[_a] = { fqn: "aws-cdk-neuronx-patterns.Parameters", version: "0.1.1" };
87
+ Parameters[_a] = { fqn: "aws-cdk-neuronx-patterns.Parameters", version: "0.2.1" };
88
88
  /**
89
89
  * Compile target model.
90
90
  */
@@ -149,5 +149,5 @@ class Model {
149
149
  }
150
150
  exports.Model = Model;
151
151
  _b = JSII_RTTI_SYMBOL_1;
152
- Model[_b] = { fqn: "aws-cdk-neuronx-patterns.Model", version: "0.1.1" };
152
+ Model[_b] = { fqn: "aws-cdk-neuronx-patterns.Model", version: "0.2.1" };
153
153
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFzZS9uZXVyb254L21vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQTBDO0FBRzFDLElBQVksWUFHWDtBQUhELFdBQVksWUFBWTtJQUN0QixnRUFBaUIsQ0FBQTtJQUNqQiw2REFBZSxDQUFBO0FBQ2pCLENBQUMsRUFIVyxZQUFZLDRCQUFaLFlBQVksUUFHdkI7QUFFRDs7R0FFRztBQUNILElBQVksVUFLWDtBQUxELFdBQVksVUFBVTtJQUNwQjs7T0FFRztJQUNILHVCQUFTLENBQUE7QUFDWCxDQUFDLEVBTFcsVUFBVSwwQkFBVixVQUFVLFFBS3JCO0FBRUQ7O0dBRUc7QUFDSCxJQUFZLFFBYVg7QUFiRCxXQUFZLFFBQVE7SUFDbEI7O09BRUc7SUFDSCw2RUFBMkIsQ0FBQTtJQUMzQjs7T0FFRztJQUNILHVEQUFnQixDQUFBO0lBQ2hCOztPQUVHO0lBQ0gscUZBQStCLENBQUE7QUFDakMsQ0FBQyxFQWJXLFFBQVEsd0JBQVIsUUFBUSxRQWFuQjtBQUVEOztHQUVHO0FBQ0gsTUFBYSxVQUFVO0lBQ3JCOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQWtCO1FBQy9CLE9BQU8sSUFBSSxVQUFVLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFDRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFrQjtRQUMvQixPQUFPLElBQUksVUFBVSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBQ0Q7SUFDRTs7T0FFRztJQUNjLFVBQWtCO1FBQWxCLGVBQVUsR0FBVixVQUFVLENBQVE7SUFDbEMsQ0FBQztJQUNKOzs7T0FHRztJQUNILFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDO0lBQ25DLENBQUM7SUFDRDs7O09BR0c7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TixNQUFNLENBQVU7UUFDaEIsV0FBTSxHQUFOLE1BQU0sQ0FBUztJQUN2QixDQUFDOztBQWxFTixzQkFtRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTaXplLCBUb2tlbiB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgSUJ1Y2tldCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtczNcIjtcblxuZXhwb3J0IGVudW0gRGF0YVR5cGVCaXRzIHtcbiAgQkYxNl9PUl9GUDE2ID0gMTYsXG4gIEZQOF9PUl9JTlQ4ID0gOCxcbn1cblxuLyoqXG4gKiBRdWFudCBkYXRhIHR5cGUuXG4gKi9cbmV4cG9ydCBlbnVtIFF1YW50RHR5cGUge1xuICAvKipcbiAgICogaW50OCB3ZWlnaHQgc3RvcmFnZS5cbiAgICovXG4gIFM4ID0gXCJzOFwiLFxufVxuXG4vKipcbiAqIE9wdGltaXphdGlvbiBsZXZlbC5cbiAqL1xuZXhwb3J0IGVudW0gT3B0TGV2ZWwge1xuICAvKipcbiAgICogZW5hYmxlcyB0aGUgY29yZSBwZXJmb3JtYW5jZSBvcHRpbWl6YXRpb25zIGluIHRoZSBjb21waWxlciwgd2hpbGUgYWxzbyBtaW5pbWl6aW5nIGNvbXBpbGUgdGltZS5cbiAgICovXG4gIE1JTklNSVpJTkdfQ09NUElMRV9USU1FID0gMSxcbiAgLyoqXG4gICAqIHByb3ZpZGVzIHRoZSBiZXN0IGJhbGFuY2UgYmV0d2VlbiBtb2RlbCBwZXJmb3JtYW5jZSBhbmQgY29tcGlsZSB0aW1lLlxuICAgKi9cbiAgQkVTVF9CQUxBTkNFID0gMixcbiAgLyoqXG4gICAqIG1heSBwcm92aWRlIGFkZGl0aW9uYWwgbW9kZWwgZXhlY3V0aW9uIHBlcmZvcm1hbmNlIGJ1dCBtYXkgaW5jdXIgbG9uZ2VyIGNvbXBpbGUgdGltZXMgYW5kIGhpZ2hlciBob3N0IG1lbW9yeSB1c2FnZSBkdXJpbmcgbW9kZWwgY29tcGlsYXRpb24uXG4gICAqL1xuICBNT0RFTF9FWEVDVVRJT05fUEVSRk9STUFOQ0UgPSAzLFxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGFtb3VudCBvZiBwYXJhbWV0ZXJzLlxuICovXG5leHBvcnQgY2xhc3MgUGFyYW1ldGVycyB7XG4gIC8qKlxuICAgKiBDcmVhdGUgYSBQYXJhbWV0ZXJzIHJlcHJlc2VudGluZyBhbiBhbW91bnQgbWlsbGlvbi5cbiAgICogQHBhcmFtIHBhcmFtZXRlcnMgbnVtYmVyIG9mIHBhcmFtZXRlcnMgbWlsbGlvblhcbiAgICogQHJldHVybnMgcGFyYW1ldGVyc1xuICAgKi9cbiAgc3RhdGljIG1pbGxpb24ocGFyYW1ldGVyczogbnVtYmVyKSB7XG4gICAgcmV0dXJuIG5ldyBQYXJhbWV0ZXJzKHBhcmFtZXRlcnMgKiAxMDAwMDAwKTtcbiAgfVxuICAvKipcbiAgICogQ3JlYXRlIGEgUGFyYW1ldGVycyByZXByZXNlbnRpbmcgYW4gYW1vdW50IGJpbGxpb24uXG4gICAqIEBwYXJhbSBwYXJhbWV0ZXJzIG51bWJlciBvZiBwYXJhbWV0ZXJzIGJpbGxpb25YXG4gICAqIEByZXR1cm5zIHBhcmFtZXRlcnNcbiAgICovXG4gIHN0YXRpYyBiaWxsaW9uKHBhcmFtZXRlcnM6IG51bWJlcikge1xuICAgIHJldHVybiBuZXcgUGFyYW1ldGVycyhwYXJhbWV0ZXJzICogMTAwMDAwMDAwMCk7XG4gIH1cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihcbiAgICAvKipcbiAgICAgKiBudW1iZXIgb2YgcGFyZW10ZXJzLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcGFyYW1ldGVyczogbnVtYmVyLFxuICApIHt9XG4gIC8qKlxuICAgKiBSZXR1cm4gdGhpcyBudW1iZXIgb2YgcGFyYW1ldGVycyBhcyBtaWxsaW9uLlxuICAgKiBAcmV0dXJucyBUaGlzIG51bWJlciBvZiBwYXJhbWV0ZXJzIGFzIG1pbGxpb24uXG4gICAqL1xuICB0b01pbGxpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyYW1ldGVycyAvIDEwMDAwMDA7XG4gIH1cbiAgLyoqXG4gICAqIFJldHVybiB0aGlzIG51bWJlciBvZiBwYXJhbWV0ZXJzIGFzIGJpbGxpb24uXG4gICAqIEByZXR1cm5zIFRoaXMgbnVtYmVyIG9mIHBhcmFtZXRlcnMgYXMgYmlsbGlvbi5cbiAgICovXG4gIHRvQmlsbGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJhbWV0ZXJzIC8gMTAwMDAwMDAwMDtcbiAgfVxuICB3ZWlnaHRTaXplKCkge1xuICAgIHJldHVybiBTaXplLmdpYmlieXRlcyh0aGlzLnRvQmlsbGlvbigpICogMi41KTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1vZGVsQ29uZmlnIHtcbiAgcmVhZG9ubHkgbGF5ZXJzOiBudW1iZXI7XG4gIHJlYWRvbmx5IGVtYmVkZGluZ0RpbWVuc2lvbjogbnVtYmVyO1xuICByZWFkb25seSBhdHRlbnRpb25IZWFkczogbnVtYmVyO1xufVxuXG4vKipcbiAqIENvbXBpbGUgdGFyZ2V0IG1vZGVsIGJhc2ljIGluZnJvbWF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTW9kZWxPcHRpb25zIHtcbiAgcmVhZG9ubHkgcGFyYW1ldGVyczogUGFyYW1ldGVycztcbiAgcmVhZG9ubHkgY29uZmlnPzogTW9kZWxDb25maWc7XG4gIHJlYWRvbmx5IG1vZGVsTmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb21waWxlIHRhcmdldCBtb2RlbC5cbiAqL1xuZXhwb3J0IGNsYXNzIE1vZGVsIHtcbiAgLyoqXG4gICAqIG1vZGVsIGluZm9ybWF0aW9ucyBhdCBIdWdnaW5nRmFjZVxuICAgKiBAcGFyYW0gbW9kZWxJZCBtb2RlbCBpZCBvbiB0aGUgSHVnZ2luZ0ZhY2VcbiAgICogQHBhcmFtIG9wdGlvbnMgbW9kZWwgYmFzaWMgaW5mb3JtYXRpb25cbiAgICogQHJldHVybnMgbW9kZWwgaW5zdGFuY2VcbiAgICovXG4gIHN0YXRpYyBmcm9tSHVnZ2luZ0ZhY2UobW9kZWxJZDogc3RyaW5nLCBvcHRpb25zPzogTW9kZWxPcHRpb25zKSB7XG4gICAgY29uc3QgcGFyYW1ldGVycyA9IG9wdGlvbnM/LnBhcmFtZXRlcnMgPz8gTW9kZWwubWF5YmVQYXJhbXMobW9kZWxJZCk7XG4gICAgaWYgKCFwYXJhbWV0ZXJzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiVGhlIG51bWJlciBvZiBwYXJhbWV0ZXJzIGNhbm5vdCBiZSBpbmZlcnJlZCBmcm9tIHRoZSBtb2RlbCBJRC4gU2V0IG9wdGlvbmFsIHBhcmFtZXRlcnMuXCIsXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IE1vZGVsKG1vZGVsSWQsIG9wdGlvbnM/Lm1vZGVsTmFtZSA/PyBtb2RlbElkLCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgcGFyYW1ldGVycyxcbiAgICB9KTtcbiAgfVxuICAvKipcbiAgICogbW9kZWwgaW5mb3JtYXRpb25zIGF0IFMzIEJ1Y2tldFxuICAgKiBAcGFyYW0gYnVja2V0IE1vZGVsIHN0b3JlZCBTMyBCdWNrZXRcbiAgICogQHBhcmFtIHByZWZpeCBNb2RlbCBzdG9yZWQgb2JqZWN0cyBwcmVmaXhcbiAgICogQHBhcmFtIG9wdGlvbnMgbW9kZWwgYmFzaWMgaW5mb3JtYXRpb25cbiAgICogQHJldHVybnMgbW9kZWwgaW5zdGFuY2VcbiAgICovXG4gIHN0YXRpYyBmcm9tQnVja2V0KGJ1Y2tldDogSUJ1Y2tldCwgcHJlZml4OiBzdHJpbmcsIG9wdGlvbnM/OiBNb2RlbE9wdGlvbnMpIHtcbiAgICBpZiAoVG9rZW4uaXNVbnJlc29sdmVkKHByZWZpeCkgJiYgIW9wdGlvbnM/Lm1vZGVsTmFtZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTW9kZWxOYW1lIGlzIHJlcXVpcmVkIHdoZW4gcHJlZml4IGlzIHVucmVzb2x2ZWRcIik7XG4gICAgfVxuICAgIGNvbnN0IG1vZGVsTmFtZSA9IG9wdGlvbnM/Lm1vZGVsTmFtZSA/PyBwcmVmaXguc3BsaXQoXCIvXCIpLnNsaWNlKC0xKVswXTtcbiAgICBjb25zdCBwYXJhbWV0ZXJzID0gb3B0aW9ucz8ucGFyYW1ldGVycyA/PyBNb2RlbC5tYXliZVBhcmFtcyhtb2RlbE5hbWUpO1xuICAgIGlmICghcGFyYW1ldGVycykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIlRoZSBudW1iZXIgb2YgcGFyYW1ldGVycyBjYW5ub3QgYmUgaW5mZXJyZWQgZnJvbSB0aGUgbW9kZWwgSUQuIFNldCBvcHRpb25hbCBwYXJhbWV0ZXJzLlwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBNb2RlbChcbiAgICAgIGJ1Y2tldC5zM1VybEZvck9iamVjdChwcmVmaXgpLFxuICAgICAgbW9kZWxOYW1lLFxuICAgICAgeyAuLi5vcHRpb25zLCBwYXJhbWV0ZXJzIH0sXG4gICAgICBidWNrZXQsXG4gICAgICBwcmVmaXgsXG4gICAgKTtcbiAgfVxuICBwcml2YXRlIHN0YXRpYyBtYXliZVBhcmFtcyhzb3VyY2U6IHN0cmluZykge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBiaWxsaW9uID0gc291cmNlLm1hdGNoKC8tKFxcZCspW2JCXS8pO1xuICAgICAgaWYgKGJpbGxpb24/LlsxXSkge1xuICAgICAgICByZXR1cm4gUGFyYW1ldGVycy5iaWxsaW9uKHBhcnNlSW50KGJpbGxpb25bMV0pKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG1pbGxpb24gPSBzb3VyY2UubWF0Y2goLy0oXFxkKylbbU1dLyk7XG4gICAgICBpZiAobWlsbGlvbj8uWzFdKSB7XG4gICAgICAgIHJldHVybiBQYXJhbWV0ZXJzLm1pbGxpb24ocGFyc2VJbnQobWlsbGlvblsxXSkpO1xuICAgICAgfVxuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gTk9QXG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihcbiAgICByZWFkb25seSBtb2RlbElkOiBzdHJpbmcsXG4gICAgcmVhZG9ubHkgbW9kZWxOYW1lOiBzdHJpbmcsXG4gICAgcmVhZG9ubHkgb3B0aW9uczogTW9kZWxPcHRpb25zLFxuICAgIHJlYWRvbmx5IGJ1Y2tldD86IElCdWNrZXQsXG4gICAgcmVhZG9ubHkgcHJlZml4Pzogc3RyaW5nLFxuICApIHt9XG59XG4iXX0=
@@ -42,6 +42,6 @@ class NeuronOptimizedMachineImage extends constructs_1.Construct {
42
42
  }
43
43
  exports.NeuronOptimizedMachineImage = NeuronOptimizedMachineImage;
44
44
  _a = JSII_RTTI_SYMBOL_1;
45
- NeuronOptimizedMachineImage[_a] = { fqn: "aws-cdk-neuronx-patterns.NeuronOptimizedMachineImage", version: "0.1.1" };
45
+ NeuronOptimizedMachineImage[_a] = { fqn: "aws-cdk-neuronx-patterns.NeuronOptimizedMachineImage", version: "0.2.1" };
46
46
  NeuronOptimizedMachineImage.size = aws_cdk_lib_1.Size.gibibytes(30);
47
47
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV1cm9uLW9wdGltaXplZC1tYWNoaW5lLWltYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Jhc2UvbmV1cm9ueC9uZXVyb24tb3B0aW1pemVkLW1hY2hpbmUtaW1hZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBbUQ7QUFDbkQsaURBSzZCO0FBQzdCLHVEQUEwRTtBQUMxRSwyQ0FBMkM7QUFDM0MsbUVBQXdEO0FBQ3hELDJDQUF1QztBQUN2Qyw2QkFBNkI7QUFFN0IsTUFBYSwyQkFDWCxTQUFRLHNCQUFTO0lBS2pCLElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELFlBQVksS0FBZ0IsRUFBRSxFQUFVO1FBQ3RDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxRQUFRLEdBQUcsSUFBSSwyQkFBUSxDQUFDLElBQUksRUFBRSxvQkFBb0IsRUFBRTtZQUN4RCxjQUFjLEVBQUUsSUFBSSw4QkFBaUIsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLEVBQUU7Z0JBQ2hFLElBQUksRUFBRSxpQkFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO2dCQUNqRSxPQUFPLEVBQUUsZUFBZTtnQkFDeEIsT0FBTyxFQUFFLG9CQUFPLENBQUMsYUFBYTtnQkFDOUIsSUFBSSxFQUFFLHNDQUFzQzthQUM3QyxDQUFDO1NBQ0gsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLDRCQUFjLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRTtZQUNyRCxZQUFZLEVBQUUsUUFBUSxDQUFDLFlBQVk7WUFDbkMsWUFBWSxFQUFFLG9CQUFvQjtZQUNsQyxVQUFVLEVBQUU7Z0JBQ1YsS0FBSyxFQUFFLEdBQUcsQ0FBQyxlQUFlLENBQUMsdUJBQXVCLENBQ2hELElBQUksRUFDSixPQUFPLEVBQ1AscUVBQXFFLENBQ3RFLENBQUMsV0FBVzthQUNkO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELFFBQVEsQ0FBQyxNQUFpQjtRQUN4QixPQUFPO1lBQ0wsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLE1BQU0sRUFBRSw2QkFBbUIsQ0FBQyxLQUFLO1lBQ2pDLFFBQVEsRUFBRSxrQkFBUSxDQUFDLFFBQVEsRUFBRTtTQUM5QixDQUFDO0lBQ0osQ0FBQzs7QUF2Q0gsa0VBd0NDOzs7QUFwQ2lCLGdDQUFJLEdBQUcsa0JBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXN0b21SZXNvdXJjZSwgU2l6ZSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtcbiAgSU1hY2hpbmVJbWFnZSxcbiAgTWFjaGluZUltYWdlQ29uZmlnLFxuICBPcGVyYXRpbmdTeXN0ZW1UeXBlLFxuICBVc2VyRGF0YSxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7IENvZGUsIFJ1bnRpbWUsIFNpbmdsZXRvbkZ1bmN0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGFcIjtcbmltcG9ydCAqIGFzIHNzbSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXNzbVwiO1xuaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tIFwiYXdzLWNkay1saWIvY3VzdG9tLXJlc291cmNlc1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcblxuZXhwb3J0IGNsYXNzIE5ldXJvbk9wdGltaXplZE1hY2hpbmVJbWFnZVxuICBleHRlbmRzIENvbnN0cnVjdFxuICBpbXBsZW1lbnRzIElNYWNoaW5lSW1hZ2VcbntcbiAgc3RhdGljIHJlYWRvbmx5IHNpemUgPSBTaXplLmdpYmlieXRlcygzMCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVzb3VyY2U6IEN1c3RvbVJlc291cmNlO1xuICBnZXQgaW1hZ2VJZCgpIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvdXJjZS5nZXRBdHRTdHJpbmcoXCJpbWFnZV9pZFwiKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgcHJvdmlkZXIgPSBuZXcgUHJvdmlkZXIodGhpcywgXCJOZXVyb254QW1pUHJvdmlkZXJcIiwge1xuICAgICAgb25FdmVudEhhbmRsZXI6IG5ldyBTaW5nbGV0b25GdW5jdGlvbih0aGlzLCBcIk5ldXJvbnhBbWlGdW5jdGlvblwiLCB7XG4gICAgICAgIGNvZGU6IENvZGUuZnJvbUFzc2V0KHBhdGguam9pbihfX2Rpcm5hbWUsIFwicHJpdmF0ZS9uZXVyb254LWFtaVwiKSksXG4gICAgICAgIGhhbmRsZXI6IFwiaW5kZXgub25FdmVudFwiLFxuICAgICAgICBydW50aW1lOiBSdW50aW1lLk5PREVKU19MQVRFU1QsXG4gICAgICAgIHV1aWQ6IFwiMDhjOTg1MGEtNmYxMy00ZWQ0LTllMmQtNzg4OGQ3YjVhMjU4XCIsXG4gICAgICB9KSxcbiAgICB9KTtcbiAgICB0aGlzLnJlc291cmNlID0gbmV3IEN1c3RvbVJlc291cmNlKHRoaXMsIFwiTmV1cm9ueEFtaVwiLCB7XG4gICAgICBzZXJ2aWNlVG9rZW46IHByb3ZpZGVyLnNlcnZpY2VUb2tlbixcbiAgICAgIHJlc291cmNlVHlwZTogXCJDdXN0b206Ok5ldXJvbnhBbWlcIixcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgaW1hZ2U6IHNzbS5TdHJpbmdQYXJhbWV0ZXIuZnJvbVN0cmluZ1BhcmFtZXRlck5hbWUoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICBcIkltYWdlXCIsXG4gICAgICAgICAgXCIvYXdzL3NlcnZpY2UvZWNzL29wdGltaXplZC1hbWkvYW1hem9uLWxpbnV4LTIwMjMvbmV1cm9uL3JlY29tbWVuZGVkXCIsXG4gICAgICAgICkuc3RyaW5nVmFsdWUsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIGdldEltYWdlKF9zY29wZTogQ29uc3RydWN0KTogTWFjaGluZUltYWdlQ29uZmlnIHtcbiAgICByZXR1cm4ge1xuICAgICAgaW1hZ2VJZDogdGhpcy5pbWFnZUlkLFxuICAgICAgb3NUeXBlOiBPcGVyYXRpbmdTeXN0ZW1UeXBlLkxJTlVYLFxuICAgICAgdXNlckRhdGE6IFVzZXJEYXRhLmZvckxpbnV4KCksXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -20,6 +20,12 @@ export declare class Trainium1Chips implements IAcceleratorChips {
20
20
  readonly acceleratorMemory: Size;
21
21
  constructor(chips: number);
22
22
  }
23
+ export declare class Trainium2Chips implements IAcceleratorChips {
24
+ readonly chips: number;
25
+ readonly neuronxCores: number;
26
+ readonly acceleratorMemory: Size;
27
+ constructor(chips: number);
28
+ }
23
29
  export interface INeuronxInstanceType {
24
30
  readonly supportedTensorParallelism: number[];
25
31
  readonly instanceType: ec2.InstanceType;
@@ -52,4 +58,16 @@ export declare abstract class NeuronxInstanceType {
52
58
  * trn1.32xlarge
53
59
  */
54
60
  static readonly TRN1_32XLARGE: INeuronxInstanceType;
61
+ /**
62
+ * trn2.3xlarge
63
+ */
64
+ static readonly TRN2_3XLARGE: INeuronxInstanceType;
65
+ /**
66
+ * trn2.48xlarge
67
+ */
68
+ static readonly TRN2_48XLARGE: INeuronxInstanceType;
69
+ /**
70
+ * trn2u.48xlarge
71
+ */
72
+ static readonly TRN2U_48XLARGE: INeuronxInstanceType;
55
73
  }
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
- var _a, _b, _c;
2
+ var _a, _b, _c, _d;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.NeuronxInstanceType = exports.Trainium1Chips = exports.Inferentia2Chips = void 0;
4
+ exports.NeuronxInstanceType = exports.Trainium2Chips = exports.Trainium1Chips = exports.Inferentia2Chips = void 0;
5
5
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
6
  const aws_cdk_lib_1 = require("aws-cdk-lib");
7
7
  const ec2 = require("aws-cdk-lib/aws-ec2");
@@ -14,7 +14,7 @@ class Inferentia2Chips {
14
14
  }
15
15
  exports.Inferentia2Chips = Inferentia2Chips;
16
16
  _a = JSII_RTTI_SYMBOL_1;
17
- Inferentia2Chips[_a] = { fqn: "aws-cdk-neuronx-patterns.Inferentia2Chips", version: "0.1.1" };
17
+ Inferentia2Chips[_a] = { fqn: "aws-cdk-neuronx-patterns.Inferentia2Chips", version: "0.2.1" };
18
18
  class Trainium1Chips {
19
19
  constructor(chips) {
20
20
  this.chips = chips;
@@ -24,7 +24,20 @@ class Trainium1Chips {
24
24
  }
25
25
  exports.Trainium1Chips = Trainium1Chips;
26
26
  _b = JSII_RTTI_SYMBOL_1;
27
- Trainium1Chips[_b] = { fqn: "aws-cdk-neuronx-patterns.Trainium1Chips", version: "0.1.1" };
27
+ Trainium1Chips[_b] = { fqn: "aws-cdk-neuronx-patterns.Trainium1Chips", version: "0.2.1" };
28
+ class Trainium2Chips {
29
+ constructor(chips) {
30
+ this.chips = chips;
31
+ // Each Trainium2 chip has 8 physical NeuronCore-v3.
32
+ // With LNC=2 (default), 2 physical cores are combined into 1 logical core,
33
+ // resulting in 4 logical NeuronCores per chip, each with 24 GiB of memory.
34
+ this.neuronxCores = chips * 4;
35
+ this.acceleratorMemory = aws_cdk_lib_1.Size.gibibytes(24 * this.neuronxCores);
36
+ }
37
+ }
38
+ exports.Trainium2Chips = Trainium2Chips;
39
+ _c = JSII_RTTI_SYMBOL_1;
40
+ Trainium2Chips[_c] = { fqn: "aws-cdk-neuronx-patterns.Trainium2Chips", version: "0.2.1" };
28
41
  class NeuronxInstanceTypeBase {
29
42
  constructor(props) {
30
43
  this.instanceType = props.instanceType;
@@ -66,11 +79,24 @@ class Trainium1InstanceType extends NeuronxInstanceTypeBase {
66
79
  });
67
80
  }
68
81
  }
82
+ class Trainium2InstanceType extends NeuronxInstanceTypeBase {
83
+ get supportedTensorParallelism() {
84
+ return [1, 2, 4, 8, 16, 32, 64].filter((tp) => tp <= this.acceleratorChips.neuronxCores);
85
+ }
86
+ constructor(props) {
87
+ super({
88
+ instanceType: props.instanceType,
89
+ vCpu: props.vCpu,
90
+ memory: props.memory,
91
+ acceleratorChips: new Trainium2Chips(props.chips),
92
+ });
93
+ }
94
+ }
69
95
  class NeuronxInstanceType {
70
96
  }
71
97
  exports.NeuronxInstanceType = NeuronxInstanceType;
72
- _c = JSII_RTTI_SYMBOL_1;
73
- NeuronxInstanceType[_c] = { fqn: "aws-cdk-neuronx-patterns.NeuronxInstanceType", version: "0.1.1" };
98
+ _d = JSII_RTTI_SYMBOL_1;
99
+ NeuronxInstanceType[_d] = { fqn: "aws-cdk-neuronx-patterns.NeuronxInstanceType", version: "0.2.1" };
74
100
  /**
75
101
  * inf2.xlarge
76
102
  */
@@ -125,4 +151,31 @@ NeuronxInstanceType.TRN1_32XLARGE = new Trainium1InstanceType({
125
151
  memory: aws_cdk_lib_1.Size.gibibytes(512),
126
152
  chips: 16,
127
153
  });
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV1cm9ueC1pbnN0YW5jZS10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Jhc2UvbmV1cm9ueC9uZXVyb254LWluc3RhbmNlLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBbUM7QUFDbkMsMkNBQTJDO0FBVzNDLE1BQWEsZ0JBQWdCO0lBRzNCLFlBQXFCLEtBQWE7UUFBYixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsa0JBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsRSxDQUFDOztBQU5ILDRDQU9DOzs7QUFFRCxNQUFhLGNBQWM7SUFHekIsWUFBcUIsS0FBYTtRQUFiLFVBQUssR0FBTCxLQUFLLENBQVE7UUFDaEMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxrQkFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2xFLENBQUM7O0FBTkgsd0NBT0M7OztBQVNELE1BQWUsdUJBQXVCO0lBTXBDLFlBQVksS0FLWDtRQUNDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQztRQUN2QyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQzNCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsZ0JBQWdCLENBQUM7SUFDakQsQ0FBQztJQUNEOzs7T0FHRztJQUNILFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFF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WUFBWSxDQUFDLFFBQVEsQ0FDMUI7SUFDRCxJQUFJLEVBQUUsR0FBRztJQUNULE1BQU0sRUFBRSxrQkFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUM7SUFDM0IsS0FBSyxFQUFFLEVBQUU7Q0FDVixDQUFDLENBQUM7QUFDTDs7R0FFRztBQUNvQixnQ0FBWSxHQUNqQyxJQUFJLHFCQUFxQixDQUFDO0lBQ3hCLFlBQVksRUFBRSxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FDL0IsR0FBRyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQ3RCLEdBQUcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUN6QjtJQUNELElBQUksRUFBRSxDQUFDO0lBQ1AsTUFBTSxFQUFFLGtCQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztJQUMxQixLQUFLLEVBQUUsQ0FBQztDQUNULENBQUMsQ0FBQztBQUNMOztHQUVHO0FBQ29CLGlDQUFhLEdBQ2xDLElBQUkscUJBQXFCLENBQUM7SUFDeEIsWUFBWSxFQUFFLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUMvQixHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksRUFDdEIsR0FBRyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQzFCO0lBQ0QsSUFBSSxFQUFFLEdBQUc7SUFDVCxNQUFNLEVBQUUsa0JBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDO0lBQzNCLEtBQUssRUFBRSxFQUFFO0NBQ1YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2l6ZSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5cbi8qKlxuICpcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQWNjZWxlcmF0b3JDaGlwcyB7XG4gIHJlYWRvbmx5IGNoaXBzOiBudW1iZXI7XG4gIHJlYWRvbmx5IG5ldXJvbnhDb3JlczogbnVtYmVyO1xuICByZWFkb25seSBhY2NlbGVyYXRvck1lbW9yeTogU2l6ZTtcbn1cblxuZXhwb3J0IGNsYXNzIEluZmVyZW50aWEyQ2hpcHMgaW1wbGVtZW50cyBJQWNjZWxlcmF0b3JDaGlwcyB7XG4gIHJlYWRvbmx5IG5ldXJvbnhDb3JlczogbnVtYmVyO1xuICByZWFkb25seSBhY2NlbGVyYXRvck1lbW9yeTogU2l6ZTtcbiAgY29uc3RydWN0b3IocmVhZG9ubHkgY2hpcHM6IG51bWJlcikge1xuICAgIHRoaXMubmV1cm9ueENvcmVzID0gY2hpcHMgKiAyO1xuICAgIHRoaXMuYWNjZWxlcmF0b3JNZW1vcnkgPSBTaXplLmdpYmlieXRlcygxNiAqIHRoaXMubmV1cm9ueENvcmVzKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVHJhaW5pdW0xQ2hpcHMgaW1wbGVtZW50cyBJQWNjZWxlcmF0b3JDaGlwcyB7XG4gIHJlYWRvbmx5IG5ldXJvbnhDb3JlczogbnVtYmVyO1xuICByZWFkb25seSBhY2NlbGVyYXRvck1lbW9yeTogU2l6ZTtcbiAgY29uc3RydWN0b3IocmVhZG9ubHkgY2hpcHM6IG51bWJlcikge1xuICAgIHRoaXMubmV1cm9ueENvcmVzID0gY2hpcHMgKiAyO1xuICAgIHRoaXMuYWNjZWxlcmF0b3JNZW1vcnkgPSBTaXplLmdpYmlieXRlcygxNiAqIHRoaXMubmV1cm9ueENvcmVzKTtcbiAgfVxufVxuZXhwb3J0IGludGVyZmFjZSBJTmV1cm9ueEluc3RhbmNlVHlwZSB7XG4gIHJlYWRvbmx5IHN1cHBvcnRlZFRlbnNvclBhcmFsbGVsaXNtOiBudW1iZXJbXTtcbiAgcmVhZG9ubHkgaW5zdGFuY2VUeXBlOiBlYzIuSW5zdGFuY2VUeXBlO1xuICByZWFkb25seSB2Q3B1OiBudW1iZXI7XG4gIHJlYWRvbmx5IG1lbW9yeTogU2l6ZTtcbiAgcmVhZG9ubHkgYWNjZWxlcmF0b3JDaGlwczogSUFjY2VsZXJhdG9yQ2hpcHM7XG59XG5cbmFic3RyYWN0IGNsYXNzIE5ldXJvbnhJbnN0YW5jZVR5cGVCYXNlIGltcGxlbWVudHMgSU5ldXJvbnhJbnN0YW5jZVR5cGUge1xuICByZWFkb25seSBhY2NlbGVyYXRvckNoaXBzOiBJQWNjZWxlcmF0b3JDaGlwcztcbiAgcmVhZG9ubHkgaW5zdGFuY2VUeXBlOiBlYzIuSW5zdGFuY2VUeXBlO1xuICByZWFkb25seSB2Q3B1OiBudW1iZXI7XG4gIHJlYWRvbmx5IG1lbW9yeTogU2l6ZTtcbiAgYWJzdHJhY3QgcmVhZG9ubHkgc3VwcG9ydGVkVGVuc29yUGFyYWxsZWxpc206IG51bWJlcltdO1xuICBjb25zdHJ1Y3Rvcihwcm9wczoge1xuICAgIGluc3RhbmNlVHlwZTogZWMyLkluc3RhbmNlVHlwZTtcbiAgICB2Q3B1OiBudW1iZXI7XG4gICAgbWVtb3J5OiBTaXplO1xuICAgIGFjY2VsZXJhdG9yQ2hpcHM6IElBY2NlbGVyYXRvckNoaXBzO1xuICB9KSB7XG4gICAgdGhpcy5pbnN0YW5jZVR5cGUgPSBwcm9wcy5pbnN0YW5jZVR5cGU7XG4gICAgdGhpcy52Q3B1ID0gcHJvcHMudkNwdTtcbiAgICB0aGlzLm1lbW9yeSA9IHByb3BzLm1lbW9yeTtcbiAgICB0aGlzLmFjY2VsZXJhdG9yQ2hpcHMgPSBwcm9wcy5hY2NlbGVyYXRvckNoaXBzO1xuICB9XG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIGluc3RhbmNlIHR5cGUgYXMgYSBzdHJpbmdcbiAgICogQHJldHVybnMgVGhlIGluc3RhbmNlIHR5cGUgYXMgYSBzdHJpbmdcbiAgICovXG4gIHRvU3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLmluc3RhbmNlVHlwZS50b1N0cmluZygpO1xuICB9XG59XG5cbmNsYXNzIEluZmVyZW50aWEySW5zdGFuY2VUeXBlIGV4dGVuZHMgTmV1cm9ueEluc3RhbmNlVHlwZUJhc2Uge1xuICBnZXQgc3VwcG9ydGVkVGVuc29yUGFyYWxsZWxpc20oKTogbnVtYmVyW10ge1xuICAgIHJldHVybiBbMSwgMiwgNCwgOCwgMjRdLmZpbHRlcihcbiAgICAgICh0cCkgPT4gdHAgPD0gdGhpcy5hY2NlbGVyYXRvckNoaXBzLm5ldXJvbnhDb3JlcyxcbiAgICApO1xuICB9XG4gIGNvbnN0cnVjdG9yKHByb3BzOiB7XG4gICAgaW5zdGFuY2VUeXBlOiBlYzIuSW5zdGFuY2VUeXBlO1xuICAgIHZDcHU6IG51bWJlcjtcbiAgICBtZW1vcnk6IFNpemU7XG4gICAgY2hpcHM6IG51bWJlcjtcbiAgfSkge1xuICAgIHN1cGVyKHtcbiAgICAgIGluc3RhbmNlVHlwZTogcHJvcHMuaW5zdGFuY2VUeXBlLFxuICAgICAgdkNwdTogcHJvcHMudkNwdSxcbiAgICAgIG1lbW9yeTogcHJvcHMubWVtb3J5LFxuICAgICAgYWNjZWxlcmF0b3JDaGlwczogbmV3IEluZmVyZW50aWEyQ2hpcHMocHJvcHMuY2hpcHMpLFxuICAgIH0pO1xuICB9XG59XG5jbGFzcyBUcmFpbml1bTFJbnN0YW5jZVR5cGUgZXh0ZW5kcyBOZXVyb254SW5zdGFuY2VUeXBlQmFzZSB7XG4gIGdldCBzdXBwb3J0ZWRUZW5zb3JQYXJhbGxlbGlzbSgpOiBudW1iZXJbXSB7XG4gICAgcmV0dXJuIFsxLCAyLCA4LCAxNiwgMzJdLmZpbHRlcihcbiAgICAgICh0cCkgPT4gdHAgPD0gdGhpcy5hY2NlbGVyYXRvckNoaXBzLm5ldXJvbnhDb3JlcyxcbiAgICApO1xuICB9XG4gIGNvbnN0cnVjdG9yKHByb3BzOiB7XG4gICAgaW5zdGFuY2VUeXBlOiBlYzIuSW5zdGFuY2VUeXBlO1xuICAgIHZDcHU6IG51bWJlcjtcbiAgICBtZW1vcnk6IFNpemU7XG4gICAgY2hpcHM6IG51bWJlcjtcbiAgfSkge1xuICAgIHN1cGVyKHtcbiAgICAgIGluc3RhbmNlVHlwZTogcHJvcHMuaW5zdGFuY2VUeXBlLFxuICAgICAgdkNwdTogcHJvcHMudkNwdSxcbiAgICAgIG1lbW9yeTogcHJvcHMubWVtb3J5LFxuICAgICAgYWNjZWxlcmF0b3JDaGlwczogbmV3IFRyYWluaXVtMUNoaXBzKHByb3BzLmNoaXBzKSxcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTmV1cm9ueEluc3RhbmNlVHlwZSB7XG4gIC8qKlxuICAgKiBpbmYyLnhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBJTkYyX1hMQVJHRTogSU5ldXJvbnhJbnN0YW5jZVR5cGUgPVxuICAgIG5ldyBJbmZlcmVudGlhMkluc3RhbmNlVHlwZSh7XG4gICAgICBpbnN0YW5jZVR5cGU6IGVjMi5JbnN0YW5jZVR5cGUub2YoXG4gICAgICAgIGVjMi5JbnN0YW5jZUNsYXNzLklORjIsXG4gICAgICAgIGVjMi5JbnN0YW5jZVNpemUuWExBUkdFLFxuICAgICAgKSxcbiAgICAgIHZDcHU6IDQsXG4gICAgICBtZW1vcnk6IFNpemUuZ2liaWJ5dGVzKDE2KSxcbiAgICAgIGNoaXBzOiAxLFxuICAgIH0pO1xuICAvKipcbiAgICogaW5mMi44eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IElORjJfOFhMQVJHRTogSU5ldXJvbnhJbnN0YW5jZVR5cGUgPVxuICAgIG5ldyBJbmZlcmVudGlhMkluc3RhbmNlVHlwZSh7XG4gICAgICBpbnN0YW5jZVR5cGU6IGVjMi5JbnN0YW5jZVR5cGUub2YoXG4gICAgICAgIGVjMi5JbnN0YW5jZUNsYXNzLklORjIsXG4gICAgICAgIGVjMi5JbnN0YW5jZVNpemUuWExBUkdFOCxcbiAgICAgICksXG4gICAgICB2Q3B1OiAzMixcbiAgICAgIG1lbW9yeTogU2l6ZS5naWJpYnl0ZXMoMTI4KSxcbiAgICAgIGNoaXBzOiAxLFxuICAgIH0pO1xuICAvKipcbiAgICogaW5mMi4yNHhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBJTkYyXzI0WExBUkdFOiBJTmV1cm9ueEluc3RhbmNlVHlwZSA9XG4gICAgbmV3IEluZmVyZW50aWEySW5zdGFuY2VUeXBlKHtcbiAgICAgIGluc3RhbmNlVHlwZTogZWMyLkluc3RhbmNlVHlwZS5vZihcbiAgICAgICAgZWMyLkluc3RhbmNlQ2xhc3MuSU5GMixcbiAgICAgICAgZWMyLkluc3RhbmNlU2l6ZS5YTEFSR0UyNCxcbiAgICAgICksXG4gICAgICB2Q3B1OiA5NixcbiAgICAgIG1lbW9yeTogU2l6ZS5naWJpYnl0ZXMoMzg0KSxcbiAgICAgIGNoaXBzOiA2LFxuICAgIH0pO1xuICAvKipcbiAgICogaW5mMi40OHhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBJTkYyXzQ4WExBUkdFOiBJTmV1cm9ueEluc3RhbmNlVHlwZSA9XG4gICAgbmV3IEluZmVyZW50aWEySW5zdGFuY2VUeXBlKHtcbiAgICAgIGluc3RhbmNlVHlwZTogZWMyLkluc3RhbmNlVHlwZS5vZihcbiAgICAgICAgZWMyLkluc3RhbmNlQ2xhc3MuSU5GMixcbiAgICAgICAgZWMyLkluc3RhbmNlU2l6ZS5YTEFSR0U0OCxcbiAgICAgICksXG4gICAgICB2Q3B1OiAxOTIsXG4gICAgICBtZW1vcnk6IFNpemUuZ2liaWJ5dGVzKDc2OCksXG4gICAgICBjaGlwczogMTIsXG4gICAgfSk7XG4gIC8qKlxuICAgKiB0cm4xLjJ4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVFJOMV8yWExBUkdFOiBJTmV1cm9ueEluc3RhbmNlVHlwZSA9XG4gICAgbmV3IFRyYWluaXVtMUluc3RhbmNlVHlwZSh7XG4gICAgICBpbnN0YW5jZVR5cGU6IGVjMi5JbnN0YW5jZVR5cGUub2YoXG4gICAgICAgIGVjMi5JbnN0YW5jZUNsYXNzLlRSTjEsXG4gICAgICAgIGVjMi5JbnN0YW5jZVNpemUuWExBUkdFMixcbiAgICAgICksXG4gICAgICB2Q3B1OiA4LFxuICAgICAgbWVtb3J5OiBTaXplLmdpYmlieXRlcygzMiksXG4gICAgICBjaGlwczogMSxcbiAgICB9KTtcbiAgLyoqXG4gICAqIHRybjEuMzJ4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVFJOMV8zMlhMQVJHRTogSU5ldXJvbnhJbnN0YW5jZVR5cGUgPVxuICAgIG5ldyBUcmFpbml1bTFJbnN0YW5jZVR5cGUoe1xuICAgICAgaW5zdGFuY2VUeXBlOiBlYzIuSW5zdGFuY2VUeXBlLm9mKFxuICAgICAgICBlYzIuSW5zdGFuY2VDbGFzcy5UUk4xLFxuICAgICAgICBlYzIuSW5zdGFuY2VTaXplLlhMQVJHRTMyLFxuICAgICAgKSxcbiAgICAgIHZDcHU6IDEyOCxcbiAgICAgIG1lbW9yeTogU2l6ZS5naWJpYnl0ZXMoNTEyKSxcbiAgICAgIGNoaXBzOiAxNixcbiAgICB9KTtcbn1cbiJdfQ==
154
+ /**
155
+ * trn2.3xlarge
156
+ */
157
+ NeuronxInstanceType.TRN2_3XLARGE = new Trainium2InstanceType({
158
+ instanceType: ec2.InstanceType.of(ec2.InstanceClass.TRN2, ec2.InstanceSize.XLARGE3),
159
+ vCpu: 12,
160
+ memory: aws_cdk_lib_1.Size.gibibytes(128),
161
+ chips: 1,
162
+ });
163
+ /**
164
+ * trn2.48xlarge
165
+ */
166
+ NeuronxInstanceType.TRN2_48XLARGE = new Trainium2InstanceType({
167
+ instanceType: ec2.InstanceType.of(ec2.InstanceClass.TRN2, ec2.InstanceSize.XLARGE48),
168
+ vCpu: 192,
169
+ memory: aws_cdk_lib_1.Size.gibibytes(2048),
170
+ chips: 16,
171
+ });
172
+ /**
173
+ * trn2u.48xlarge
174
+ */
175
+ NeuronxInstanceType.TRN2U_48XLARGE = new Trainium2InstanceType({
176
+ instanceType: ec2.InstanceType.of(ec2.InstanceClass.TRN2U, ec2.InstanceSize.XLARGE48),
177
+ vCpu: 192,
178
+ memory: aws_cdk_lib_1.Size.gibibytes(2048),
179
+ chips: 16,
180
+ });
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV1cm9ueC1pbnN0YW5jZS10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Jhc2UvbmV1cm9ueC9uZXVyb254LWluc3RhbmNlLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBbUM7QUFDbkMsMkNBQTJDO0FBVzNDLE1BQWEsZ0JBQWdCO0lBRzNCLFlBQXFCLEtBQWE7UUFBYixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsa0JBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsRSxDQUFDOztBQU5ILDRDQU9DOzs7QUFFRCxNQUFhLGNBQWM7SUFHekIsWUFBcUIsS0FBYTtRQUFiLFVBQUssR0FBTCxLQUFLLENBQVE7UUFDaEMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxrQkFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2xFLENBQUM7O0FBTkgsd0NBT0M7OztBQUVELE1BQWEsY0FBYztJQUd6QixZQUFxQixLQUFhO1FBQWIsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNoQyxvREFBb0Q7UUFDcEQsMkVBQTJFO1FBQzNFLDJFQUEyRTtRQUMzRSxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGtCQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEUsQ0FBQzs7QUFUSCx3Q0FVQzs7O0FBU0QsTUFBZSx1QkFBdUI7SUFNcEMsWUFBWSxLQUtYO1FBQ0MsSUFB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QUFDO0lBQzVCLEtBQUssRUFBRSxFQUFFO0NBQ1YsQ0FBQyxDQUFDO0FBQ0w7O0dBRUc7QUFDb0Isa0NBQWMsR0FDbkMsSUFBSSxxQkFBcUIsQ0FBQztJQUN4QixZQUFZLEVBQUUsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQy9CLEdBQUcsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUN2QixHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FDMUI7SUFDRCxJQUFJLEVBQUUsR0FBRztJQUNULE1BQU0sRUFBRSxrQkFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7SUFDNUIsS0FBSyxFQUFFLEVBQUU7Q0FDVixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTaXplIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgKiBhcyBlYzIgZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcblxuLyoqXG4gKlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElBY2NlbGVyYXRvckNoaXBzIHtcbiAgcmVhZG9ubHkgY2hpcHM6IG51bWJlcjtcbiAgcmVhZG9ubHkgbmV1cm9ueENvcmVzOiBudW1iZXI7XG4gIHJlYWRvbmx5IGFjY2VsZXJhdG9yTWVtb3J5OiBTaXplO1xufVxuXG5leHBvcnQgY2xhc3MgSW5mZXJlbnRpYTJDaGlwcyBpbXBsZW1lbnRzIElBY2NlbGVyYXRvckNoaXBzIHtcbiAgcmVhZG9ubHkgbmV1cm9ueENvcmVzOiBudW1iZXI7XG4gIHJlYWRvbmx5IGFjY2VsZXJhdG9yTWVtb3J5OiBTaXplO1xuICBjb25zdHJ1Y3RvcihyZWFkb25seSBjaGlwczogbnVtYmVyKSB7XG4gICAgdGhpcy5uZXVyb254Q29yZXMgPSBjaGlwcyAqIDI7XG4gICAgdGhpcy5hY2NlbGVyYXRvck1lbW9yeSA9IFNpemUuZ2liaWJ5dGVzKDE2ICogdGhpcy5uZXVyb254Q29yZXMpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBUcmFpbml1bTFDaGlwcyBpbXBsZW1lbnRzIElBY2NlbGVyYXRvckNoaXBzIHtcbiAgcmVhZG9ubHkgbmV1cm9ueENvcmVzOiBudW1iZXI7XG4gIHJlYWRvbmx5IGFjY2VsZXJhdG9yTWVtb3J5OiBTaXplO1xuICBjb25zdHJ1Y3RvcihyZWFkb25seSBjaGlwczogbnVtYmVyKSB7XG4gICAgdGhpcy5uZXVyb254Q29yZXMgPSBjaGlwcyAqIDI7XG4gICAgdGhpcy5hY2NlbGVyYXRvck1lbW9yeSA9IFNpemUuZ2liaWJ5dGVzKDE2ICogdGhpcy5uZXVyb254Q29yZXMpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBUcmFpbml1bTJDaGlwcyBpbXBsZW1lbnRzIElBY2NlbGVyYXRvckNoaXBzIHtcbiAgcmVhZG9ubHkgbmV1cm9ueENvcmVzOiBudW1iZXI7XG4gIHJlYWRvbmx5IGFjY2VsZXJhdG9yTWVtb3J5OiBTaXplO1xuICBjb25zdHJ1Y3RvcihyZWFkb25seSBjaGlwczogbnVtYmVyKSB7XG4gICAgLy8gRWFjaCBUcmFpbml1bTIgY2hpcCBoYXMgOCBwaHlzaWNhbCBOZXVyb25Db3JlLXYzLlxuICAgIC8vIFdpdGggTE5DPTIgKGRlZmF1bHQpLCAyIHBoeXNpY2FsIGNvcmVzIGFyZSBjb21iaW5lZCBpbnRvIDEgbG9naWNhbCBjb3JlLFxuICAgIC8vIHJlc3VsdGluZyBpbiA0IGxvZ2ljYWwgTmV1cm9uQ29yZXMgcGVyIGNoaXAsIGVhY2ggd2l0aCAyNCBHaUIgb2YgbWVtb3J5LlxuICAgIHRoaXMubmV1cm9ueENvcmVzID0gY2hpcHMgKiA0O1xuICAgIHRoaXMuYWNjZWxlcmF0b3JNZW1vcnkgPSBTaXplLmdpYmlieXRlcygyNCAqIHRoaXMubmV1cm9ueENvcmVzKTtcbiAgfVxufVxuZXhwb3J0IGludGVyZmFjZSBJTmV1cm9ueEluc3RhbmNlVHlwZSB7XG4gIHJlYWRvbmx5IHN1cHBvcnRlZFRlbnNvclBhcmFsbGVsaXNtOiBudW1iZXJbXTtcbiAgcmVhZG9ubHkgaW5zdGFuY2VUeXBlOiBlYzIuSW5zdGFuY2VUeXBlO1xuICByZWFkb25seSB2Q3B1OiBudW1iZXI7XG4gIHJlYWRvbmx5IG1lbW9yeTogU2l6ZTtcbiAgcmVhZG9ubHkgYWNjZWxlcmF0b3JDaGlwczogSUFjY2VsZXJhdG9yQ2hpcHM7XG59XG5cbmFic3RyYWN0IGNsYXNzIE5ldXJvbnhJbnN0YW5jZVR5cGVCYXNlIGltcGxlbWVudHMgSU5ldXJvbnhJbnN0YW5jZVR5cGUge1xuICByZWFkb25seSBhY2NlbGVyYXRvckNoaXBzOiBJQWNjZWxlcmF0b3JDaGlwcztcbiAgcmVhZG9ubHkgaW5zdGFuY2VUeXBlOiBlYzIuSW5zdGFuY2VUeXBlO1xuICByZWFkb25seSB2Q3B1OiBudW1iZXI7XG4gIHJlYWRvbmx5IG1lbW9yeTogU2l6ZTtcbiAgYWJzdHJhY3QgcmVhZG9ubHkgc3VwcG9ydGVkVGVuc29yUGFyYWxsZWxpc206IG51bWJlcltdO1xuICBjb25zdHJ1Y3Rvcihwcm9wczoge1xuICAgIGluc3RhbmNlVHlwZTogZWMyLkluc3RhbmNlVHlwZTtcbiAgICB2Q3B1OiBudW1iZXI7XG4gICAgbWVtb3J5OiBTaXplO1xuICAgIGFjY2VsZXJhdG9yQ2hpcHM6IElBY2NlbGVyYXRvckNoaXBzO1xuICB9KSB7XG4gICAgdGhpcy5pbnN0YW5jZVR5cGUgPSBwcm9wcy5pbnN0YW5jZVR5cGU7XG4gICAgdGhpcy52Q3B1ID0gcHJvcHMudkNwdTtcbiAgICB0aGlzLm1lbW9yeSA9IHByb3BzLm1lbW9yeTtcbiAgICB0aGlzLmFjY2VsZXJhdG9yQ2hpcHMgPSBwcm9wcy5hY2NlbGVyYXRvckNoaXBzO1xuICB9XG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIGluc3RhbmNlIHR5cGUgYXMgYSBzdHJpbmdcbiAgICogQHJldHVybnMgVGhlIGluc3RhbmNlIHR5cGUgYXMgYSBzdHJpbmdcbiAgICovXG4gIHRvU3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLmluc3RhbmNlVHlwZS50b1N0cmluZygpO1xuICB9XG59XG5cbmNsYXNzIEluZmVyZW50aWEySW5zdGFuY2VUeXBlIGV4dGVuZHMgTmV1cm9ueEluc3RhbmNlVHlwZUJhc2Uge1xuICBnZXQgc3VwcG9ydGVkVGVuc29yUGFyYWxsZWxpc20oKTogbnVtYmVyW10ge1xuICAgIHJldHVybiBbMSwgMiwgNCwgOCwgMjRdLmZpbHRlcihcbiAgICAgICh0cCkgPT4gdHAgPD0gdGhpcy5hY2NlbGVyYXRvckNoaXBzLm5ldXJvbnhDb3JlcyxcbiAgICApO1xuICB9XG4gIGNvbnN0cnVjdG9yKHByb3BzOiB7XG4gICAgaW5zdGFuY2VUeXBlOiBlYzIuSW5zdGFuY2VUeXBlO1xuICAgIHZDcHU6IG51bWJlcjtcbiAgICBtZW1vcnk6IFNpemU7XG4gICAgY2hpcHM6IG51bWJlcjtcbiAgfSkge1xuICAgIHN1cGVyKHtcbiAgICAgIGluc3RhbmNlVHlwZTogcHJvcHMuaW5zdGFuY2VUeXBlLFxuICAgICAgdkNwdTogcHJvcHMudkNwdSxcbiAgICAgIG1lbW9yeTogcHJvcHMubWVtb3J5LFxuICAgICAgYWNjZWxlcmF0b3JDaGlwczogbmV3IEluZmVyZW50aWEyQ2hpcHMocHJvcHMuY2hpcHMpLFxuICAgIH0pO1xuICB9XG59XG5jbGFzcyBUcmFpbml1bTFJbnN0YW5jZVR5cGUgZXh0ZW5kcyBOZXVyb254SW5zdGFuY2VUeXBlQmFzZSB7XG4gIGdldCBzdXBwb3J0ZWRUZW5zb3JQYXJhbGxlbGlzbSgpOiBudW1iZXJbXSB7XG4gICAgcmV0dXJuIFsxLCAyLCA4LCAxNiwgMzJdLmZpbHRlcihcbiAgICAgICh0cCkgPT4gdHAgPD0gdGhpcy5hY2NlbGVyYXRvckNoaXBzLm5ldXJvbnhDb3JlcyxcbiAgICApO1xuICB9XG4gIGNvbnN0cnVjdG9yKHByb3BzOiB7XG4gICAgaW5zdGFuY2VUeXBlOiBlYzIuSW5zdGFuY2VUeXBlO1xuICAgIHZDcHU6IG51bWJlcjtcbiAgICBtZW1vcnk6IFNpemU7XG4gICAgY2hpcHM6IG51bWJlcjtcbiAgfSkge1xuICAgIHN1cGVyKHtcbiAgICAgIGluc3RhbmNlVHlwZTogcHJvcHMuaW5zdGFuY2VUeXBlLFxuICAgICAgdkNwdTogcHJvcHMudkNwdSxcbiAgICAgIG1lbW9yeTogcHJvcHMubWVtb3J5LFxuICAgICAgYWNjZWxlcmF0b3JDaGlwczogbmV3IFRyYWluaXVtMUNoaXBzKHByb3BzLmNoaXBzKSxcbiAgICB9KTtcbiAgfVxufVxuY2xhc3MgVHJhaW5pdW0ySW5zdGFuY2VUeXBlIGV4dGVuZHMgTmV1cm9ueEluc3RhbmNlVHlwZUJhc2Uge1xuICBnZXQgc3VwcG9ydGVkVGVuc29yUGFyYWxsZWxpc20oKTogbnVtYmVyW10ge1xuICAgIHJldHVybiBbMSwgMiwgNCwgOCwgMTYsIDMyLCA2NF0uZmlsdGVyKFxuICAgICAgKHRwKSA9PiB0cCA8PSB0aGlzLmFjY2VsZXJhdG9yQ2hpcHMubmV1cm9ueENvcmVzLFxuICAgICk7XG4gIH1cbiAgY29uc3RydWN0b3IocHJvcHM6IHtcbiAgICBpbnN0YW5jZVR5cGU6IGVjMi5JbnN0YW5jZVR5cGU7XG4gICAgdkNwdTogbnVtYmVyO1xuICAgIG1lbW9yeTogU2l6ZTtcbiAgICBjaGlwczogbnVtYmVyO1xuICB9KSB7XG4gICAgc3VwZXIoe1xuICAgICAgaW5zdGFuY2VUeXBlOiBwcm9wcy5pbnN0YW5jZVR5cGUsXG4gICAgICB2Q3B1OiBwcm9wcy52Q3B1LFxuICAgICAgbWVtb3J5OiBwcm9wcy5tZW1vcnksXG4gICAgICBhY2NlbGVyYXRvckNoaXBzOiBuZXcgVHJhaW5pdW0yQ2hpcHMocHJvcHMuY2hpcHMpLFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBOZXVyb254SW5zdGFuY2VUeXBlIHtcbiAgLyoqXG4gICAqIGluZjIueGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IElORjJfWExBUkdFOiBJTmV1cm9ueEluc3RhbmNlVHlwZSA9XG4gICAgbmV3IEluZmVyZW50aWEySW5zdGFuY2VUeXBlKHtcbiAgICAgIGluc3RhbmNlVHlwZTogZWMyLkluc3RhbmNlVHlwZS5vZihcbiAgICAgICAgZWMyLkluc3RhbmNlQ2xhc3MuSU5GMixcbiAgICAgICAgZWMyLkluc3RhbmNlU2l6ZS5YTEFSR0UsXG4gICAgICApLFxuICAgICAgdkNwdTogNCxcbiAgICAgIG1lbW9yeTogU2l6ZS5naWJpYnl0ZXMoMTYpLFxuICAgICAgY2hpcHM6IDEsXG4gICAgfSk7XG4gIC8qKlxuICAgKiBpbmYyLjh4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgSU5GMl84WExBUkdFOiBJTmV1cm9ueEluc3RhbmNlVHlwZSA9XG4gICAgbmV3IEluZmVyZW50aWEySW5zdGFuY2VUeXBlKHtcbiAgICAgIGluc3RhbmNlVHlwZTogZWMyLkluc3RhbmNlVHlwZS5vZihcbiAgICAgICAgZWMyLkluc3RhbmNlQ2xhc3MuSU5GMixcbiAgICAgICAgZWMyLkluc3RhbmNlU2l6ZS5YTEFSR0U4LFxuICAgICAgKSxcbiAgICAgIHZDcHU6IDMyLFxuICAgICAgbWVtb3J5OiBTaXplLmdpYmlieXRlcygxMjgpLFxuICAgICAgY2hpcHM6IDEsXG4gICAgfSk7XG4gIC8qKlxuICAgKiBpbmYyLjI0eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IElORjJfMjRYTEFSR0U6IElOZXVyb254SW5zdGFuY2VUeXBlID1cbiAgICBuZXcgSW5mZXJlbnRpYTJJbnN0YW5jZVR5cGUoe1xuICAgICAgaW5zdGFuY2VUeXBlOiBlYzIuSW5zdGFuY2VUeXBlLm9mKFxuICAgICAgICBlYzIuSW5zdGFuY2VDbGFzcy5JTkYyLFxuICAgICAgICBlYzIuSW5zdGFuY2VTaXplLlhMQVJHRTI0LFxuICAgICAgKSxcbiAgICAgIHZDcHU6IDk2LFxuICAgICAgbWVtb3J5OiBTaXplLmdpYmlieXRlcygzODQpLFxuICAgICAgY2hpcHM6IDYsXG4gICAgfSk7XG4gIC8qKlxuICAgKiBpbmYyLjQ4eGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IElORjJfNDhYTEFSR0U6IElOZXVyb254SW5zdGFuY2VUeXBlID1cbiAgICBuZXcgSW5mZXJlbnRpYTJJbnN0YW5jZVR5cGUoe1xuICAgICAgaW5zdGFuY2VUeXBlOiBlYzIuSW5zdGFuY2VUeXBlLm9mKFxuICAgICAgICBlYzIuSW5zdGFuY2VDbGFzcy5JTkYyLFxuICAgICAgICBlYzIuSW5zdGFuY2VTaXplLlhMQVJHRTQ4LFxuICAgICAgKSxcbiAgICAgIHZDcHU6IDE5MixcbiAgICAgIG1lbW9yeTogU2l6ZS5naWJpYnl0ZXMoNzY4KSxcbiAgICAgIGNoaXBzOiAxMixcbiAgICB9KTtcbiAgLyoqXG4gICAqIHRybjEuMnhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBUUk4xXzJYTEFSR0U6IElOZXVyb254SW5zdGFuY2VUeXBlID1cbiAgICBuZXcgVHJhaW5pdW0xSW5zdGFuY2VUeXBlKHtcbiAgICAgIGluc3RhbmNlVHlwZTogZWMyLkluc3RhbmNlVHlwZS5vZihcbiAgICAgICAgZWMyLkluc3RhbmNlQ2xhc3MuVFJOMSxcbiAgICAgICAgZWMyLkluc3RhbmNlU2l6ZS5YTEFSR0UyLFxuICAgICAgKSxcbiAgICAgIHZDcHU6IDgsXG4gICAgICBtZW1vcnk6IFNpemUuZ2liaWJ5dGVzKDMyKSxcbiAgICAgIGNoaXBzOiAxLFxuICAgIH0pO1xuICAvKipcbiAgICogdHJuMS4zMnhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBUUk4xXzMyWExBUkdFOiBJTmV1cm9ueEluc3RhbmNlVHlwZSA9XG4gICAgbmV3IFRyYWluaXVtMUluc3RhbmNlVHlwZSh7XG4gICAgICBpbnN0YW5jZVR5cGU6IGVjMi5JbnN0YW5jZVR5cGUub2YoXG4gICAgICAgIGVjMi5JbnN0YW5jZUNsYXNzLlRSTjEsXG4gICAgICAgIGVjMi5JbnN0YW5jZVNpemUuWExBUkdFMzIsXG4gICAgICApLFxuICAgICAgdkNwdTogMTI4LFxuICAgICAgbWVtb3J5OiBTaXplLmdpYmlieXRlcyg1MTIpLFxuICAgICAgY2hpcHM6IDE2LFxuICAgIH0pO1xuICAvKipcbiAgICogdHJuMi4zeGxhcmdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFRSTjJfM1hMQVJHRTogSU5ldXJvbnhJbnN0YW5jZVR5cGUgPVxuICAgIG5ldyBUcmFpbml1bTJJbnN0YW5jZVR5cGUoe1xuICAgICAgaW5zdGFuY2VUeXBlOiBlYzIuSW5zdGFuY2VUeXBlLm9mKFxuICAgICAgICBlYzIuSW5zdGFuY2VDbGFzcy5UUk4yLFxuICAgICAgICBlYzIuSW5zdGFuY2VTaXplLlhMQVJHRTMsXG4gICAgICApLFxuICAgICAgdkNwdTogMTIsXG4gICAgICBtZW1vcnk6IFNpemUuZ2liaWJ5dGVzKDEyOCksXG4gICAgICBjaGlwczogMSxcbiAgICB9KTtcbiAgLyoqXG4gICAqIHRybjIuNDh4bGFyZ2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVFJOMl80OFhMQVJHRTogSU5ldXJvbnhJbnN0YW5jZVR5cGUgPVxuICAgIG5ldyBUcmFpbml1bTJJbnN0YW5jZVR5cGUoe1xuICAgICAgaW5zdGFuY2VUeXBlOiBlYzIuSW5zdGFuY2VUeXBlLm9mKFxuICAgICAgICBlYzIuSW5zdGFuY2VDbGFzcy5UUk4yLFxuICAgICAgICBlYzIuSW5zdGFuY2VTaXplLlhMQVJHRTQ4LFxuICAgICAgKSxcbiAgICAgIHZDcHU6IDE5MixcbiAgICAgIG1lbW9yeTogU2l6ZS5naWJpYnl0ZXMoMjA0OCksXG4gICAgICBjaGlwczogMTYsXG4gICAgfSk7XG4gIC8qKlxuICAgKiB0cm4ydS40OHhsYXJnZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBUUk4yVV80OFhMQVJHRTogSU5ldXJvbnhJbnN0YW5jZVR5cGUgPVxuICAgIG5ldyBUcmFpbml1bTJJbnN0YW5jZVR5cGUoe1xuICAgICAgaW5zdGFuY2VUeXBlOiBlYzIuSW5zdGFuY2VUeXBlLm9mKFxuICAgICAgICBlYzIuSW5zdGFuY2VDbGFzcy5UUk4yVSxcbiAgICAgICAgZWMyLkluc3RhbmNlU2l6ZS5YTEFSR0U0OCxcbiAgICAgICksXG4gICAgICB2Q3B1OiAxOTIsXG4gICAgICBtZW1vcnk6IFNpemUuZ2liaWJ5dGVzKDIwNDgpLFxuICAgICAgY2hpcHM6IDE2LFxuICAgIH0pO1xufVxuIl19