jsii-pacmak 1.57.0 → 1.60.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.
Files changed (222) hide show
  1. package/bin/jsii-pacmak.d.ts +1 -0
  2. package/bin/jsii-pacmak.d.ts.map +1 -0
  3. package/bin/jsii-pacmak.js +10 -10
  4. package/bin/jsii-pacmak.js.map +1 -0
  5. package/lib/builder.d.ts +1 -0
  6. package/lib/builder.d.ts.map +1 -0
  7. package/lib/builder.js +2 -2
  8. package/lib/builder.js.map +1 -0
  9. package/lib/dependency-graph.d.ts +1 -0
  10. package/lib/dependency-graph.d.ts.map +1 -0
  11. package/lib/dependency-graph.js +7 -11
  12. package/lib/dependency-graph.js.map +1 -0
  13. package/lib/generator.d.ts +1 -0
  14. package/lib/generator.d.ts.map +1 -0
  15. package/lib/generator.js +4 -6
  16. package/lib/generator.js.map +1 -0
  17. package/lib/index.d.ts +1 -0
  18. package/lib/index.d.ts.map +1 -0
  19. package/lib/index.js +12 -7
  20. package/lib/index.js.map +1 -0
  21. package/lib/logging.d.ts +1 -0
  22. package/lib/logging.d.ts.map +1 -0
  23. package/lib/logging.js +1 -1
  24. package/lib/logging.js.map +1 -0
  25. package/lib/markdown.d.ts +1 -0
  26. package/lib/markdown.d.ts.map +1 -0
  27. package/lib/markdown.js +5 -9
  28. package/lib/markdown.js.map +1 -0
  29. package/lib/naming-util.d.ts +1 -0
  30. package/lib/naming-util.d.ts.map +1 -0
  31. package/lib/naming-util.js +1 -1
  32. package/lib/naming-util.js.map +1 -0
  33. package/lib/npm-modules.d.ts +1 -0
  34. package/lib/npm-modules.d.ts.map +1 -0
  35. package/lib/npm-modules.js +8 -9
  36. package/lib/npm-modules.js.map +1 -0
  37. package/lib/packaging.d.ts +1 -0
  38. package/lib/packaging.d.ts.map +1 -0
  39. package/lib/packaging.js +3 -4
  40. package/lib/packaging.js.map +1 -0
  41. package/lib/target.d.ts +1 -0
  42. package/lib/target.d.ts.map +1 -0
  43. package/lib/target.js +5 -7
  44. package/lib/target.js.map +1 -0
  45. package/lib/targets/_utils.d.ts +1 -0
  46. package/lib/targets/_utils.d.ts.map +1 -0
  47. package/lib/targets/_utils.js +4 -5
  48. package/lib/targets/_utils.js.map +1 -0
  49. package/lib/targets/dotnet/dotnetdocgenerator.d.ts +1 -0
  50. package/lib/targets/dotnet/dotnetdocgenerator.d.ts.map +1 -0
  51. package/lib/targets/dotnet/dotnetdocgenerator.js +8 -10
  52. package/lib/targets/dotnet/dotnetdocgenerator.js.map +1 -0
  53. package/lib/targets/dotnet/dotnetgenerator.d.ts +1 -0
  54. package/lib/targets/dotnet/dotnetgenerator.d.ts.map +1 -0
  55. package/lib/targets/dotnet/dotnetgenerator.js +11 -19
  56. package/lib/targets/dotnet/dotnetgenerator.js.map +1 -0
  57. package/lib/targets/dotnet/dotnetruntimegenerator.d.ts +1 -0
  58. package/lib/targets/dotnet/dotnetruntimegenerator.d.ts.map +1 -0
  59. package/lib/targets/dotnet/dotnetruntimegenerator.js +2 -3
  60. package/lib/targets/dotnet/dotnetruntimegenerator.js.map +1 -0
  61. package/lib/targets/dotnet/dotnettyperesolver.d.ts +1 -0
  62. package/lib/targets/dotnet/dotnettyperesolver.d.ts.map +1 -0
  63. package/lib/targets/dotnet/dotnettyperesolver.js +10 -14
  64. package/lib/targets/dotnet/dotnettyperesolver.js.map +1 -0
  65. package/lib/targets/dotnet/filegenerator.d.ts +1 -0
  66. package/lib/targets/dotnet/filegenerator.d.ts.map +1 -0
  67. package/lib/targets/dotnet/filegenerator.js +5 -5
  68. package/lib/targets/dotnet/filegenerator.js.map +1 -0
  69. package/lib/targets/dotnet/nameutils.d.ts +1 -0
  70. package/lib/targets/dotnet/nameutils.d.ts.map +1 -0
  71. package/lib/targets/dotnet/nameutils.js +3 -3
  72. package/lib/targets/dotnet/nameutils.js.map +1 -0
  73. package/lib/targets/dotnet.d.ts +1 -0
  74. package/lib/targets/dotnet.d.ts.map +1 -0
  75. package/lib/targets/dotnet.js +8 -8
  76. package/lib/targets/dotnet.js.map +1 -0
  77. package/lib/targets/go/comparators.d.ts +1 -0
  78. package/lib/targets/go/comparators.d.ts.map +1 -0
  79. package/lib/targets/go/comparators.js +1 -1
  80. package/lib/targets/go/comparators.js.map +1 -0
  81. package/lib/targets/go/dependencies.d.ts +1 -0
  82. package/lib/targets/go/dependencies.d.ts.map +1 -0
  83. package/lib/targets/go/dependencies.js +1 -1
  84. package/lib/targets/go/dependencies.js.map +1 -0
  85. package/lib/targets/go/documentation.d.ts +2 -0
  86. package/lib/targets/go/documentation.d.ts.map +1 -0
  87. package/lib/targets/go/documentation.js +10 -1
  88. package/lib/targets/go/documentation.js.map +1 -0
  89. package/lib/targets/go/emit-context.d.ts +1 -0
  90. package/lib/targets/go/emit-context.d.ts.map +1 -0
  91. package/lib/targets/go/emit-context.js +1 -1
  92. package/lib/targets/go/emit-context.js.map +1 -0
  93. package/lib/targets/go/package.d.ts +5 -5
  94. package/lib/targets/go/package.d.ts.map +1 -0
  95. package/lib/targets/go/package.js +26 -28
  96. package/lib/targets/go/package.js.map +1 -0
  97. package/lib/targets/go/readme-file.d.ts +4 -2
  98. package/lib/targets/go/readme-file.d.ts.map +1 -0
  99. package/lib/targets/go/readme-file.js +7 -13
  100. package/lib/targets/go/readme-file.js.map +1 -0
  101. package/lib/targets/go/runtime/class-constructor.d.ts +1 -0
  102. package/lib/targets/go/runtime/class-constructor.d.ts.map +1 -0
  103. package/lib/targets/go/runtime/class-constructor.js +6 -6
  104. package/lib/targets/go/runtime/class-constructor.js.map +1 -0
  105. package/lib/targets/go/runtime/constants.d.ts +1 -0
  106. package/lib/targets/go/runtime/constants.d.ts.map +1 -0
  107. package/lib/targets/go/runtime/constants.js +1 -1
  108. package/lib/targets/go/runtime/constants.js.map +1 -0
  109. package/lib/targets/go/runtime/emit-arguments.d.ts +1 -0
  110. package/lib/targets/go/runtime/emit-arguments.d.ts.map +1 -0
  111. package/lib/targets/go/runtime/emit-arguments.js +3 -3
  112. package/lib/targets/go/runtime/emit-arguments.js.map +1 -0
  113. package/lib/targets/go/runtime/function-call.d.ts +1 -0
  114. package/lib/targets/go/runtime/function-call.d.ts.map +1 -0
  115. package/lib/targets/go/runtime/function-call.js +2 -3
  116. package/lib/targets/go/runtime/function-call.js.map +1 -0
  117. package/lib/targets/go/runtime/index.d.ts +1 -0
  118. package/lib/targets/go/runtime/index.d.ts.map +1 -0
  119. package/lib/targets/go/runtime/index.js +7 -3
  120. package/lib/targets/go/runtime/index.js.map +1 -0
  121. package/lib/targets/go/runtime/method-call.d.ts +1 -0
  122. package/lib/targets/go/runtime/method-call.d.ts.map +1 -0
  123. package/lib/targets/go/runtime/method-call.js +5 -5
  124. package/lib/targets/go/runtime/method-call.js.map +1 -0
  125. package/lib/targets/go/runtime/property-access.d.ts +1 -0
  126. package/lib/targets/go/runtime/property-access.d.ts.map +1 -0
  127. package/lib/targets/go/runtime/property-access.js +5 -5
  128. package/lib/targets/go/runtime/property-access.js.map +1 -0
  129. package/lib/targets/go/runtime/util.d.ts +1 -0
  130. package/lib/targets/go/runtime/util.d.ts.map +1 -0
  131. package/lib/targets/go/runtime/util.js +1 -1
  132. package/lib/targets/go/runtime/util.js.map +1 -0
  133. package/lib/targets/go/types/class.d.ts +1 -0
  134. package/lib/targets/go/types/class.d.ts.map +1 -0
  135. package/lib/targets/go/types/class.js +11 -17
  136. package/lib/targets/go/types/class.js.map +1 -0
  137. package/lib/targets/go/types/enum.d.ts +1 -0
  138. package/lib/targets/go/types/enum.d.ts.map +1 -0
  139. package/lib/targets/go/types/enum.js +1 -1
  140. package/lib/targets/go/types/enum.js.map +1 -0
  141. package/lib/targets/go/types/go-type-reference.d.ts +1 -0
  142. package/lib/targets/go/types/go-type-reference.d.ts.map +1 -0
  143. package/lib/targets/go/types/go-type-reference.js +10 -14
  144. package/lib/targets/go/types/go-type-reference.js.map +1 -0
  145. package/lib/targets/go/types/go-type.d.ts +1 -0
  146. package/lib/targets/go/types/go-type.d.ts.map +1 -0
  147. package/lib/targets/go/types/go-type.js +1 -1
  148. package/lib/targets/go/types/go-type.js.map +1 -0
  149. package/lib/targets/go/types/index.d.ts +1 -0
  150. package/lib/targets/go/types/index.d.ts.map +1 -0
  151. package/lib/targets/go/types/index.js +7 -3
  152. package/lib/targets/go/types/index.js.map +1 -0
  153. package/lib/targets/go/types/interface.d.ts +1 -0
  154. package/lib/targets/go/types/interface.d.ts.map +1 -0
  155. package/lib/targets/go/types/interface.js +8 -11
  156. package/lib/targets/go/types/interface.js.map +1 -0
  157. package/lib/targets/go/types/struct.d.ts +1 -0
  158. package/lib/targets/go/types/struct.d.ts.map +1 -0
  159. package/lib/targets/go/types/struct.js +2 -2
  160. package/lib/targets/go/types/struct.js.map +1 -0
  161. package/lib/targets/go/types/type-member.d.ts +1 -0
  162. package/lib/targets/go/types/type-member.d.ts.map +1 -0
  163. package/lib/targets/go/types/type-member.js +13 -15
  164. package/lib/targets/go/types/type-member.js.map +1 -0
  165. package/lib/targets/go/util.d.ts +1 -0
  166. package/lib/targets/go/util.d.ts.map +1 -0
  167. package/lib/targets/go/util.js +5 -8
  168. package/lib/targets/go/util.js.map +1 -0
  169. package/lib/targets/go/version-file.d.ts +1 -0
  170. package/lib/targets/go/version-file.d.ts.map +1 -0
  171. package/lib/targets/go/version-file.js +1 -1
  172. package/lib/targets/go/version-file.js.map +1 -0
  173. package/lib/targets/go.d.ts +1 -0
  174. package/lib/targets/go.d.ts.map +1 -0
  175. package/lib/targets/go.js +4 -4
  176. package/lib/targets/go.js.map +1 -0
  177. package/lib/targets/index.d.ts +1 -0
  178. package/lib/targets/index.d.ts.map +1 -0
  179. package/lib/targets/index.js +3 -3
  180. package/lib/targets/index.js.map +1 -0
  181. package/lib/targets/java.d.ts +1 -0
  182. package/lib/targets/java.d.ts.map +1 -0
  183. package/lib/targets/java.js +70 -84
  184. package/lib/targets/java.js.map +1 -0
  185. package/lib/targets/js.d.ts +1 -0
  186. package/lib/targets/js.d.ts.map +1 -0
  187. package/lib/targets/js.js +2 -2
  188. package/lib/targets/js.js.map +1 -0
  189. package/lib/targets/python/requirements-dev.txt +2 -3
  190. package/lib/targets/python/type-name.d.ts +1 -0
  191. package/lib/targets/python/type-name.d.ts.map +1 -0
  192. package/lib/targets/python/type-name.js +63 -62
  193. package/lib/targets/python/type-name.js.map +1 -0
  194. package/lib/targets/python/util.d.ts +1 -0
  195. package/lib/targets/python/util.d.ts.map +1 -0
  196. package/lib/targets/python/util.js +1 -1
  197. package/lib/targets/python/util.js.map +1 -0
  198. package/lib/targets/python.d.ts +1 -0
  199. package/lib/targets/python.d.ts.map +1 -0
  200. package/lib/targets/python.js +108 -108
  201. package/lib/targets/python.js.map +1 -0
  202. package/lib/targets/version-utils.d.ts +1 -0
  203. package/lib/targets/version-utils.d.ts.map +1 -0
  204. package/lib/targets/version-utils.js +6 -7
  205. package/lib/targets/version-utils.js.map +1 -0
  206. package/lib/timer.d.ts +1 -0
  207. package/lib/timer.d.ts.map +1 -0
  208. package/lib/timer.js +1 -1
  209. package/lib/timer.js.map +1 -0
  210. package/lib/toposort.d.ts +1 -0
  211. package/lib/toposort.d.ts.map +1 -0
  212. package/lib/toposort.js +1 -1
  213. package/lib/toposort.js.map +1 -0
  214. package/lib/util.d.ts +1 -0
  215. package/lib/util.d.ts.map +1 -0
  216. package/lib/util.js +15 -18
  217. package/lib/util.js.map +1 -0
  218. package/lib/version.d.ts +3 -2
  219. package/lib/version.d.ts.map +1 -0
  220. package/lib/version.js +4 -4
  221. package/lib/version.js.map +1 -0
  222. package/package.json +16 -23
@@ -1,18 +1,16 @@
1
1
  "use strict";
2
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, privateMap, value) {
3
- if (!privateMap.has(receiver)) {
4
- throw new TypeError("attempted to set private field on non-instance");
5
- }
6
- privateMap.set(receiver, value);
7
- return value;
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
+ if (kind === "m") throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
8
7
  };
9
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, privateMap) {
10
- if (!privateMap.has(receiver)) {
11
- throw new TypeError("attempted to get private field on non-instance");
12
- }
13
- return privateMap.get(receiver);
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
14
12
  };
15
- var _element, _element_1, _wrapped, _pythonType, _options, _fqn;
13
+ var _Dict_element, _List_element, _Optional_wrapped, _Primitive_pythonType, _Union_options, _UserType_fqn;
16
14
  Object.defineProperty(exports, "__esModule", { value: true });
17
15
  exports.toPythonFqn = exports.mergePythonImports = exports.toPackageName = exports.toTypeName = void 0;
18
16
  const spec_1 = require("@jsii/spec");
@@ -26,10 +24,10 @@ function toTypeName(ref) {
26
24
  const type = isOptionalValue(ref) ? ref.type : ref;
27
25
  const optional = isOptionalValue(ref) && ref.optional;
28
26
  let result = Primitive.ANY;
29
- if (spec_1.isPrimitiveTypeReference(type)) {
27
+ if ((0, spec_1.isPrimitiveTypeReference)(type)) {
30
28
  result = Primitive.of(type);
31
29
  }
32
- else if (spec_1.isCollectionTypeReference(type)) {
30
+ else if ((0, spec_1.isCollectionTypeReference)(type)) {
33
31
  const elt = toTypeName(type.collection.elementtype);
34
32
  if (type.collection.kind === spec_1.CollectionKind.Array) {
35
33
  result = new List(elt);
@@ -38,10 +36,10 @@ function toTypeName(ref) {
38
36
  result = new Dict(elt);
39
37
  }
40
38
  }
41
- else if (spec_1.isUnionTypeReference(type)) {
39
+ else if ((0, spec_1.isUnionTypeReference)(type)) {
42
40
  result = new Union(type.union.types.map(toTypeName));
43
41
  }
44
- else if (spec_1.isNamedTypeReference(type)) {
42
+ else if ((0, spec_1.isNamedTypeReference)(type)) {
45
43
  result = new UserType(type.fqn);
46
44
  }
47
45
  return optional ? new Optional(result) : result;
@@ -78,58 +76,58 @@ function isOptionalValue(type) {
78
76
  class Dict {
79
77
  constructor(element) {
80
78
  // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility
81
- _element.set(this, void 0);
82
- __classPrivateFieldSet(this, _element, element);
79
+ _Dict_element.set(this, void 0);
80
+ __classPrivateFieldSet(this, _Dict_element, element, "f");
83
81
  }
84
82
  pythonType(context) {
85
- return `typing.Mapping[builtins.str, ${__classPrivateFieldGet(this, _element).pythonType(context)}]`;
83
+ return `typing.Mapping[builtins.str, ${__classPrivateFieldGet(this, _Dict_element, "f").pythonType(context)}]`;
86
84
  }
87
85
  requiredImports(context) {
88
- return __classPrivateFieldGet(this, _element).requiredImports(context);
86
+ return __classPrivateFieldGet(this, _Dict_element, "f").requiredImports(context);
89
87
  }
90
88
  }
91
- _element = new WeakMap();
89
+ _Dict_element = new WeakMap();
92
90
  class List {
93
91
  constructor(element) {
94
92
  // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility
95
- _element_1.set(this, void 0);
96
- __classPrivateFieldSet(this, _element_1, element);
93
+ _List_element.set(this, void 0);
94
+ __classPrivateFieldSet(this, _List_element, element, "f");
97
95
  }
98
96
  pythonType(context) {
99
97
  const type = context.parameterType ? 'Sequence' : 'List';
100
- return `typing.${type}[${__classPrivateFieldGet(this, _element_1).pythonType(context)}]`;
98
+ return `typing.${type}[${__classPrivateFieldGet(this, _List_element, "f").pythonType(context)}]`;
101
99
  }
102
100
  requiredImports(context) {
103
- return __classPrivateFieldGet(this, _element_1).requiredImports(context);
101
+ return __classPrivateFieldGet(this, _List_element, "f").requiredImports(context);
104
102
  }
105
103
  }
106
- _element_1 = new WeakMap();
104
+ _List_element = new WeakMap();
107
105
  class Optional {
108
106
  constructor(wrapped) {
109
107
  // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility
110
- _wrapped.set(this, void 0);
111
- __classPrivateFieldSet(this, _wrapped, wrapped);
108
+ _Optional_wrapped.set(this, void 0);
109
+ __classPrivateFieldSet(this, _Optional_wrapped, wrapped, "f");
112
110
  }
113
111
  pythonType(context) {
114
- const optionalType = __classPrivateFieldGet(this, _wrapped).pythonType({
112
+ const optionalType = __classPrivateFieldGet(this, _Optional_wrapped, "f").pythonType({
115
113
  ...context,
116
114
  ignoreOptional: true,
117
115
  });
118
- if (context.ignoreOptional || __classPrivateFieldGet(this, _wrapped) === Primitive.ANY) {
116
+ if (context.ignoreOptional || __classPrivateFieldGet(this, _Optional_wrapped, "f") === Primitive.ANY) {
119
117
  return optionalType;
120
118
  }
121
119
  return `typing.Optional[${optionalType}]`;
122
120
  }
123
121
  requiredImports(context) {
124
- return __classPrivateFieldGet(this, _wrapped).requiredImports({ ...context, ignoreOptional: true });
122
+ return __classPrivateFieldGet(this, _Optional_wrapped, "f").requiredImports({ ...context, ignoreOptional: true });
125
123
  }
126
124
  }
127
- _wrapped = new WeakMap();
125
+ _Optional_wrapped = new WeakMap();
128
126
  class Primitive {
129
127
  constructor(pythonType) {
130
128
  // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility
131
- _pythonType.set(this, void 0);
132
- __classPrivateFieldSet(this, _pythonType, pythonType);
129
+ _Primitive_pythonType.set(this, void 0);
130
+ __classPrivateFieldSet(this, _Primitive_pythonType, pythonType, "f");
133
131
  }
134
132
  static of(type) {
135
133
  switch (type.primitive) {
@@ -149,13 +147,13 @@ class Primitive {
149
147
  }
150
148
  }
151
149
  pythonType() {
152
- return __classPrivateFieldGet(this, _pythonType);
150
+ return __classPrivateFieldGet(this, _Primitive_pythonType, "f");
153
151
  }
154
152
  requiredImports() {
155
153
  return {};
156
154
  }
157
155
  }
158
- _pythonType = new WeakMap();
156
+ _Primitive_pythonType = new WeakMap();
159
157
  Primitive.BOOL = new Primitive('builtins.bool');
160
158
  Primitive.DATE = new Primitive('datetime.datetime');
161
159
  Primitive.JSII_NUMBER = new Primitive('jsii.Number'); // "jsii" is always already imported!
@@ -166,23 +164,24 @@ Primitive.NONE = new Primitive('None');
166
164
  class Union {
167
165
  constructor(options) {
168
166
  // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility
169
- _options.set(this, void 0);
170
- __classPrivateFieldSet(this, _options, options);
167
+ _Union_options.set(this, void 0);
168
+ __classPrivateFieldSet(this, _Union_options, options, "f");
171
169
  }
172
170
  pythonType(context) {
173
- return `typing.Union[${__classPrivateFieldGet(this, _options).map((o) => o.pythonType(context))
171
+ return `typing.Union[${__classPrivateFieldGet(this, _Union_options, "f")
172
+ .map((o) => o.pythonType(context))
174
173
  .join(', ')}]`;
175
174
  }
176
175
  requiredImports(context) {
177
- return mergePythonImports(...__classPrivateFieldGet(this, _options).map((o) => o.requiredImports(context)));
176
+ return mergePythonImports(...__classPrivateFieldGet(this, _Union_options, "f").map((o) => o.requiredImports(context)));
178
177
  }
179
178
  }
180
- _options = new WeakMap();
179
+ _Union_options = new WeakMap();
181
180
  class UserType {
182
181
  constructor(fqn) {
183
182
  // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility
184
- _fqn.set(this, void 0);
185
- __classPrivateFieldSet(this, _fqn, fqn);
183
+ _UserType_fqn.set(this, void 0);
184
+ __classPrivateFieldSet(this, _UserType_fqn, fqn, "f");
186
185
  }
187
186
  pythonType(context) {
188
187
  return this.resolve(context).pythonType;
@@ -195,8 +194,7 @@ class UserType {
195
194
  return { [requiredImport.sourcePackage]: new Set([requiredImport.item]) };
196
195
  }
197
196
  resolve({ assembly, emittedTypes, submodule, surroundingTypeFqns, typeAnnotation = true, }) {
198
- var _a, _b;
199
- const { assemblyName, packageName, pythonFqn } = toPythonFqn(__classPrivateFieldGet(this, _fqn), assembly);
197
+ const { assemblyName, packageName, pythonFqn } = toPythonFqn(__classPrivateFieldGet(this, _UserType_fqn, "f"), assembly);
200
198
  if (assemblyName !== assembly.name) {
201
199
  return {
202
200
  pythonType: pythonFqn,
@@ -207,15 +205,18 @@ class UserType {
207
205
  };
208
206
  }
209
207
  const submodulePythonName = toPythonFqn(submodule, assembly).pythonFqn;
210
- const typeSubmodulePythonName = toPythonFqn(findParentSubmodule(assembly.types[__classPrivateFieldGet(this, _fqn)], assembly), assembly).pythonFqn;
208
+ const typeSubmodulePythonName = toPythonFqn(findParentSubmodule(assembly.types[__classPrivateFieldGet(this, _UserType_fqn, "f")], assembly), assembly).pythonFqn;
211
209
  if (typeSubmodulePythonName === submodulePythonName) {
212
210
  // Identifiy declarations that are not yet initialized and hence cannot be
213
211
  // used as part of a type qualification. Since this is not a forward
214
212
  // reference, the type was already emitted and its un-qualified name must
215
213
  // be used instead of it's locally qualified name.
216
- const nestingParent = (_b = (_a = surroundingTypeFqns === null || surroundingTypeFqns === void 0 ? void 0 : surroundingTypeFqns.map((fqn) => toPythonFqn(fqn, assembly).pythonFqn)) === null || _a === void 0 ? void 0 : _a.reverse()) === null || _b === void 0 ? void 0 : _b.find((parent) => pythonFqn.startsWith(`${parent}.`));
214
+ const nestingParent = surroundingTypeFqns
215
+ ?.map((fqn) => toPythonFqn(fqn, assembly).pythonFqn)
216
+ ?.reverse()
217
+ ?.find((parent) => pythonFqn.startsWith(`${parent}.`));
217
218
  if (typeAnnotation &&
218
- (!emittedTypes.has(__classPrivateFieldGet(this, _fqn)) || nestingParent != null)) {
219
+ (!emittedTypes.has(__classPrivateFieldGet(this, _UserType_fqn, "f")) || nestingParent != null)) {
219
220
  // Possibly a forward reference, outputting the stringifierd python FQN
220
221
  return {
221
222
  pythonType: JSON.stringify(pythonFqn.substring(submodulePythonName.length + 1)),
@@ -235,7 +236,7 @@ class UserType {
235
236
  const [toImport, ...nested] = pythonFqn
236
237
  .substring(typeSubmodulePythonName.length + 1)
237
238
  .split('.');
238
- const aliasSuffix = crypto_1.createHash('sha256')
239
+ const aliasSuffix = (0, crypto_1.createHash)('sha256')
239
240
  .update(typeSubmodulePythonName)
240
241
  .update('.')
241
242
  .update(toImport)
@@ -251,12 +252,12 @@ class UserType {
251
252
  };
252
253
  }
253
254
  }
254
- _fqn = new WeakMap();
255
+ _UserType_fqn = new WeakMap();
255
256
  function toPythonFqn(fqn, rootAssm) {
256
257
  const { assemblyName, packageName, tail } = getPackageName(fqn, rootAssm);
257
258
  const fqnParts = [packageName];
258
259
  for (const part of tail) {
259
- fqnParts.push(util_1.toPythonIdentifier(part));
260
+ fqnParts.push((0, util_1.toPythonIdentifier)(part));
260
261
  }
261
262
  return { assemblyName, packageName, pythonFqn: fqnParts.join('.') };
262
263
  }
@@ -284,13 +285,14 @@ function relativeImportPath(fromPkg, toPkg) {
284
285
  return `.${relativeImportPath(fromPkgParent, toPkg)}`;
285
286
  }
286
287
  function getPackageName(fqn, rootAssm) {
287
- var _a, _b, _c, _d, _e, _f, _g, _h;
288
288
  const segments = fqn.split('.');
289
289
  const assemblyName = segments[0];
290
290
  const config = assemblyName === rootAssm.name
291
291
  ? rootAssm
292
- : (_b = (_a = rootAssm.dependencyClosure) === null || _a === void 0 ? void 0 : _a[assemblyName]) !== null && _b !== void 0 ? _b : util_1.die(`Unable to find configuration for assembly "${assemblyName}" in dependency closure`);
293
- const rootPkg = (_e = (_d = (_c = config.targets) === null || _c === void 0 ? void 0 : _c.python) === null || _d === void 0 ? void 0 : _d.module) !== null && _e !== void 0 ? _e : util_1.die(`No Python target was configured in assembly "${assemblyName}"`);
292
+ : rootAssm.dependencyClosure?.[assemblyName] ??
293
+ (0, util_1.die)(`Unable to find configuration for assembly "${assemblyName}" in dependency closure`);
294
+ const rootPkg = config.targets?.python?.module ??
295
+ (0, util_1.die)(`No Python target was configured in assembly "${assemblyName}"`);
294
296
  const pkg = new Array();
295
297
  const tail = new Array();
296
298
  for (let len = segments.length; len > 0; len--) {
@@ -299,35 +301,34 @@ function getPackageName(fqn, rootAssm) {
299
301
  pkg.unshift(rootPkg);
300
302
  break;
301
303
  }
302
- const submoduleConfig = (_f = config.submodules) === null || _f === void 0 ? void 0 : _f[submodule];
304
+ const submoduleConfig = config.submodules?.[submodule];
303
305
  if (submoduleConfig == null) {
304
306
  // Not in a submodule - so the current lead name is not a package name part.
305
307
  tail.unshift(segments[len - 1]);
306
308
  continue;
307
309
  }
308
- const subPackage = (_h = (_g = submoduleConfig.targets) === null || _g === void 0 ? void 0 : _g.python) === null || _h === void 0 ? void 0 : _h.module;
310
+ const subPackage = submoduleConfig.targets?.python?.module;
309
311
  if (subPackage != null) {
310
312
  // Found a sub-package. Confirm it's nested right in, and make this the head end of our package name.
311
313
  if (!subPackage.startsWith(`${rootPkg}.`)) {
312
- util_1.die(`Submodule "${submodule}" is mapped to Python sub-package "${subPackage}" which isn't nested under "${rootPkg}"!`);
314
+ (0, util_1.die)(`Submodule "${submodule}" is mapped to Python sub-package "${subPackage}" which isn't nested under "${rootPkg}"!`);
313
315
  }
314
316
  pkg.unshift(subPackage);
315
317
  break;
316
318
  }
317
319
  // Just use whatever the default name is for this package name part.
318
- pkg.unshift(codemaker_1.toSnakeCase(util_1.toPythonIdentifier(segments[len - 1])));
320
+ pkg.unshift((0, codemaker_1.toSnakeCase)((0, util_1.toPythonIdentifier)(segments[len - 1])));
319
321
  }
320
322
  return { assemblyName, packageName: pkg.join('.'), tail };
321
323
  }
322
324
  function findParentSubmodule(type, assm) {
323
- var _a, _b;
324
325
  if (type.namespace == null) {
325
326
  return assm.name;
326
327
  }
327
328
  const namespaceFqn = `${assm.name}.${type.namespace}`;
328
- if (((_a = assm.types) === null || _a === void 0 ? void 0 : _a[namespaceFqn]) != null) {
329
- return findParentSubmodule((_b = assm.types) === null || _b === void 0 ? void 0 : _b[namespaceFqn], assm);
329
+ if (assm.types?.[namespaceFqn] != null) {
330
+ return findParentSubmodule(assm.types?.[namespaceFqn], assm);
330
331
  }
331
332
  return namespaceFqn;
332
333
  }
333
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1uYW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidHlwZS1uYW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEscUNBWW9CO0FBQ3BCLHlDQUF3QztBQUN4QyxtQ0FBb0M7QUFFcEMsaUNBQWlEO0FBa0VqRCxTQUFnQixVQUFVLENBQUMsR0FBbUM7SUFDNUQsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFO1FBQ2YsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDO0tBQ3ZCO0lBRUQsTUFBTSxJQUFJLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDbkQsTUFBTSxRQUFRLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUM7SUFFdEQsSUFBSSxNQUFNLEdBQWEsU0FBUyxDQUFDLEdBQUcsQ0FBQztJQUVyQyxJQUFJLCtCQUF3QixDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ2xDLE1BQU0sR0FBRyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQzdCO1NBQU0sSUFBSSxnQ0FBeUIsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUMxQyxNQUFNLEdBQUcsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNwRCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLHFCQUFjLENBQUMsS0FBSyxFQUFFO1lBQ2pELE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN4QjthQUFNO1lBQ0wsTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3hCO0tBQ0Y7U0FBTSxJQUFJLDJCQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3JDLE1BQU0sR0FBRyxJQUFJLEtB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LE9BQUEsSUFBSSxDQUFDLEtBQUssMENBQUcsWUFBWSxNQUFLLElBQUksRUFBRTtRQUN0QyxPQUFPLG1CQUFtQixPQUFDLElBQUksQ0FBQyxLQUFLLDBDQUFHLFlBQVksR0FBRyxJQUFJLENBQUMsQ0FBQztLQUM5RDtJQUNELE9BQU8sWUFBWSxDQUFDO0FBQ3RCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBc3NlbWJseSxcbiAgT3B0aW9uYWxWYWx1ZSxcbiAgVHlwZVJlZmVyZW5jZSxcbiAgaXNDb2xsZWN0aW9uVHlwZVJlZmVyZW5jZSxcbiAgQ29sbGVjdGlvbktpbmQsXG4gIGlzTmFtZWRUeXBlUmVmZXJlbmNlLFxuICBpc1ByaW1pdGl2ZVR5cGVSZWZlcmVuY2UsXG4gIFByaW1pdGl2ZVR5cGUsXG4gIFByaW1pdGl2ZVR5cGVSZWZlcmVuY2UsXG4gIGlzVW5pb25UeXBlUmVmZXJlbmNlLFxuICBUeXBlLFxufSBmcm9tICdAanNpaS9zcGVjJztcbmltcG9ydCB7IHRvU25ha2VDYXNlIH0gZnJvbSAnY29kZW1ha2VyJztcbmltcG9ydCB7IGNyZWF0ZUhhc2ggfSBmcm9tICdjcnlwdG8nO1xuXG5pbXBvcnQgeyBkaWUsIHRvUHl0aG9uSWRlbnRpZmllciB9IGZyb20gJy4vdXRpbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHlwZU5hbWUge1xuICBweXRob25UeXBlKGNvbnRleHQ6IE5hbWluZ0NvbnRleHQpOiBzdHJpbmc7XG4gIHJlcXVpcmVkSW1wb3J0cyhjb250ZXh0OiBOYW1pbmdDb250ZXh0KTogUHl0aG9uSW1wb3J0cztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQeXRob25JbXBvcnRzIHtcbiAgLyoqXG4gICAqIEZvciBhIGdpdmVuIHNvdXJjZSBtb2R1bGUsIHdoYXQgZWxlbWVudHMgdG8gaW1wb3J0LiBUaGUgZW1wdHkgc3RyaW5nIHZhbHVlXG4gICAqIGluZGljYXRlcyBhIG5lZWQgdG8gaW1wb3J0IHRoZSBtb2R1bGUgZnVsbHkgKFwiaW1wb3J0IDxuYW1lPlwiKSBpbnN0ZWFkIG9mXG4gICAqIGRvaW5nIGEgcGllY2VtZWFsIGltcG9ydCAoXCJmcm9tIDxuYW1lPiBpbXBvcnQgPGl0ZW0+XCIpLlxuICAgKi9cbiAgcmVhZG9ubHkgW3NvdXJjZVBhY2thZ2U6IHN0cmluZ106IFJlYWRvbmx5U2V0PHN0cmluZz47XG59XG5cbi8qKlxuICogVGhlIGNvbnRleHQgaW4gd2hpY2ggYSBQeXRob25UeXBlIGlzIGJlaW5nIGNvbnNpZGVyZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmFtaW5nQ29udGV4dCB7XG4gIC8qKiBUaGUgYXNzZW1ibHkgaW4gd2hpY2ggdGhlIFB5dGhvblR5cGUgaXMgZXhwcmVzc2VkLiAqL1xuICByZWFkb25seSBhc3NlbWJseTogQXNzZW1ibHk7XG5cbiAgLyoqIFRoZSBzdWJtb2R1bGUgb2YgdGhlIGFzc2VtYmx5IGluIHdoaWNoIHRoZSBQeXRob25UeXBlIGlzIGV4cHJlc3NlZCAoY291bGQgYmUgdGhlIG1vZHVsZSByb290KSAqL1xuICByZWFkb25seSBzdWJtb2R1bGU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGRlY2xhcmF0aW9uIGlzIG1hZGUgaW4gdGhlIGNvbnRleHQgb2YgYSB0eXBlIGFubm90YXRpb24gKHNvIGl0IGNhbiBiZSBxdW90ZWQpXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHR5cGVBbm5vdGF0aW9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQSBhbiBhcnJheSByZXByZXNlbnRpbmcgdGhlIHN0YWNrIG9mIGRlY2xhcmF0aW9ucyBjdXJyZW50bHkgYmVpbmdcbiAgICogaW5pdGlhbGl6ZWQuIEFsbCBvZiB0aGVzZSBuYW1lcyBjYW4gb25seSBiZSByZWZlcnJlZCB0byB1c2luZyBhIGZvcndhcmRcbiAgICogcmVmZXJlbmNlIChzdHJpbmdpZmllZCB0eXBlIG5hbWUpIGluIHRoZSBjb250ZXh0IG9mIHR5cGUgc2lnbmF0dXJlcyAoYnV0XG4gICAqIHRoZXkgY2FuIGJlIHVzZWQgc2FmZWx5IGZyb20gaW1wbGVtZW50YXRpb25zIHNvIGxvbmcgYXMgdGhvc2UgYXJlIG5vdCAqcnVuKlxuICAgKiBhcyBwYXJ0IG9mIHRoZSBkZWNsYXJhdGlvbikuXG4gICAqXG4gICAqIEBkZWZhdWx0IFtdXG4gICAqL1xuICByZWFkb25seSBzdXJyb3VuZGluZ1R5cGVGcW5zPzogcmVhZG9ubHkgc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIERpc2FibGVzIGdlbmVyYXRpbmcgdHlwaW5nLk9wdGlvbmFsIHdyYXBwZXJzXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcmVhZG9ubHkgaWdub3JlT3B0aW9uYWw/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgc2V0IG9mIGpzaWkgdHlwZSBGUU5zIHRoYXQgaGF2ZSBhbHJlYWR5IGJlZW4gZW1pdHRlZCBzbyBmYXIuIFRoaXMgaXNcbiAgICogdXNlZCB0byBkZXRlcm1pbmUgd2hldGhlciBhIGdpdmVuIHR5cGUgcmVmZXJlbmNlIGlzIGEgZm9yd2FyZCBkZWNsYXJhdGlvblxuICAgKiBvciBub3Qgd2hlbiBlbWl0dGluZyB0eXBlIHNpZ25hdHVyZXMuXG4gICAqL1xuICByZWFkb25seSBlbWl0dGVkVHlwZXM6IFNldDxzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSB0eXBlIGlzIGVtaXR0ZWQgZm9yIGEgcGFyYW1ldGVyIG9yIG5vdC4gVGhpcyBtYXkgY2hhbmdlIHRoZVxuICAgKiBleGFjdCB0eXBlIHNpZ25hdHVyZSBiZWluZyBlbWl0dGVkIChlLmc6IEFycmF5cyBhcmUgdHlwaW5nLlNlcXVlbmNlW1RdIGZvclxuICAgKiBwYXJhbWV0ZXJzLCBhbmQgdHlwaW5nLkxpc3RbVF0gb3RoZXJ3aXNlKS5cbiAgICovXG4gIHJlYWRvbmx5IHBhcmFtZXRlclR5cGU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9UeXBlTmFtZShyZWY/OiBPcHRpb25hbFZhbHVlIHwgVHlwZVJlZmVyZW5jZSk6IFR5cGVOYW1lIHtcbiAgaWYgKHJlZiA9PSBudWxsKSB7XG4gICAgcmV0dXJuIFByaW1pdGl2ZS5OT05FO1xuICB9XG5cbiAgY29uc3QgdHlwZSA9IGlzT3B0aW9uYWxWYWx1ZShyZWYpID8gcmVmLnR5cGUgOiByZWY7XG4gIGNvbnN0IG9wdGlvbmFsID0gaXNPcHRpb25hbFZhbHVlKHJlZikgJiYgcmVmLm9wdGlvbmFsO1xuXG4gIGxldCByZXN1bHQ6IFR5cGVOYW1lID0gUHJpbWl0aXZlLkFOWTtcblxuICBpZiAoaXNQcmltaXRpdmVUeXBlUmVmZXJlbmNlKHR5cGUpKSB7XG4gICAgcmVzdWx0ID0gUHJpbWl0aXZlLm9mKHR5cGUpO1xuICB9IGVsc2UgaWYgKGlzQ29sbGVjdGlvblR5cGVSZWZlcmVuY2UodHlwZSkpIHtcbiAgICBjb25zdCBlbHQgPSB0b1R5cGVOYW1lKHR5cGUuY29sbGVjdGlvbi5lbGVtZW50dHlwZSk7XG4gICAgaWYgKHR5cGUuY29sbGVjdGlvbi5raW5kID09PSBDb2xsZWN0aW9uS2luZC5BcnJheSkge1xuICAgICAgcmVzdWx0ID0gbmV3IExpc3QoZWx0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzdWx0ID0gbmV3IERpY3QoZWx0KTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoaXNVbmlvblR5cGVSZWZlcmVuY2UodHlwZSkpIHtcbiAgICByZXN1bHQgPSBuZXcgVW5pb24odHlwZS51bmlvbi50eXBlcy5tYXAodG9UeXBlTmFtZSkpO1xuICB9IGVsc2UgaWYgKGlzTmFtZWRUeXBlUmVmZXJlbmNlKHR5cGUpKSB7XG4gICAgcmVzdWx0ID0gbmV3IFVzZXJUeXBlKHR5cGUuZnFuKTtcbiAgfVxuXG4gIHJldHVybiBvcHRpb25hbCA/IG5ldyBPcHRpb25hbChyZXN1bHQpIDogcmVzdWx0O1xufVxuXG4vKipcbiAqIE9idGFpbnMgdGhlIFB5dGhvbiBwYWNrYWdlIG5hbWUgZm9yIGEgZ2l2ZW4gc3VibW9kdWxlIEZRTi5cbiAqXG4gKiBAcGFyYW0gZnFuICAgICAgdGhlIHN1Ym1vZHVsZSBGUU4gZm9yIHdoaWNoIGEgcGFja2FnZSBuYW1lIGlzIG5lZWRlZC5cbiAqIEBwYXJhbSByb290QXNzbSB0aGUgYXNzZW1ibHkgdGhpcyBGUU4gYmVsb25ncyB0by5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvUGFja2FnZU5hbWUoZnFuOiBzdHJpbmcsIHJvb3RBc3NtOiBBc3NlbWJseSk6IHN0cmluZyB7XG4gIHJldHVybiBnZXRQYWNrYWdlTmFtZShmcW4sIHJvb3RBc3NtKS5wYWNrYWdlTmFtZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlUHl0aG9uSW1wb3J0cyhcbiAgLi4ucHl0aG9uSW1wb3J0czogcmVhZG9ubHkgUHl0aG9uSW1wb3J0c1tdXG4pOiBQeXRob25JbXBvcnRzIHtcbiAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBTZXQ8c3RyaW5nPj4gPSB7fTtcbiAgZm9yIChjb25zdCBiYWcgb2YgcHl0aG9uSW1wb3J0cykge1xuICAgIGZvciAoY29uc3QgW3BhY2thZ2VOYW1lLCBpdGVtc10gb2YgT2JqZWN0LmVudHJpZXMoYmFnKSkge1xuICAgICAgaWYgKCEocGFja2FnZU5hbWUgaW4gcmVzdWx0KSkge1xuICAgICAgICByZXN1bHRbcGFja2FnZU5hbWVdID0gbmV3IFNldCgpO1xuICAgICAgfVxuICAgICAgZm9yIChjb25zdCBpdGVtIG9mIGl0ZW1zKSB7XG4gICAgICAgIHJlc3VsdFtwYWNrYWdlTmFtZV0uYWRkKGl0ZW0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiBpc09wdGlvbmFsVmFsdWUoXG4gIHR5cGU6IE9wdGlvbmFsVmFsdWUgfCBUeXBlUmVmZXJlbmNlLFxuKTogdHlwZSBpcyBPcHRpb25hbFZhbHVlIHtcbiAgcmV0dXJuICh0eXBlIGFzIHVua25vd24gYXMgT3B0aW9uYWxWYWx1ZSkudHlwZSAhPSBudWxsO1xufVxuXG5jbGFzcyBEaWN0IGltcGxlbWVudHMgVHlwZU5hbWUge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2V4cGxpY2l0LW1lbWJlci1hY2Nlc3NpYmlsaXR5XG4gIHJlYWRvbmx5ICNlbGVtZW50OiBUeXBlTmFtZTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoZWxlbWVudDogVHlwZU5hbWUpIHtcbiAgICB0aGlzLiNlbGVtZW50ID0gZWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBweXRob25UeXBlKGNvbnRleHQ6IE5hbWluZ0NvbnRleHQpIHtcbiAgICByZXR1cm4gYHR5cGluZy5NYXBwaW5nW2J1aWx0aW5zLnN0ciwgJHt0aGlzLiNlbGVtZW50LnB5dGhvblR5cGUoY29udGV4dCl9XWA7XG4gIH1cblxuICBwdWJsaWMgcmVxdWlyZWRJbXBvcnRzKGNvbnRleHQ6IE5hbWluZ0NvbnRleHQpIHtcbiAgICByZXR1cm4gdGhpcy4jZWxlbWVudC5yZXF1aXJlZEltcG9ydHMoY29udGV4dCk7XG4gIH1cbn1cblxuY2xhc3MgTGlzdCBpbXBsZW1lbnRzIFR5cGVOYW1lIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9leHBsaWNpdC1tZW1iZXItYWNjZXNzaWJpbGl0eVxuICByZWFkb25seSAjZWxlbWVudDogVHlwZU5hbWU7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKGVsZW1lbnQ6IFR5cGVOYW1lKSB7XG4gICAgdGhpcy4jZWxlbWVudCA9IGVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgcHl0aG9uVHlwZShjb250ZXh0OiBOYW1pbmdDb250ZXh0KSB7XG4gICAgY29uc3QgdHlwZSA9IGNvbnRleHQucGFyYW1ldGVyVHlwZSA/ICdTZXF1ZW5jZScgOiAnTGlzdCc7XG4gICAgcmV0dXJuIGB0eXBpbmcuJHt0eXBlfVske3RoaXMuI2VsZW1lbnQucHl0aG9uVHlwZShjb250ZXh0KX1dYDtcbiAgfVxuXG4gIHB1YmxpYyByZXF1aXJlZEltcG9ydHMoY29udGV4dDogTmFtaW5nQ29udGV4dCkge1xuICAgIHJldHVybiB0aGlzLiNlbGVtZW50LnJlcXVpcmVkSW1wb3J0cyhjb250ZXh0KTtcbiAgfVxufVxuXG5jbGFzcyBPcHRpb25hbCBpbXBsZW1lbnRzIFR5cGVOYW1lIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9leHBsaWNpdC1tZW1iZXItYWNjZXNzaWJpbGl0eVxuICByZWFkb25seSAjd3JhcHBlZDogVHlwZU5hbWU7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHdyYXBwZWQ6IFR5cGVOYW1lKSB7XG4gICAgdGhpcy4jd3JhcHBlZCA9IHdyYXBwZWQ7XG4gIH1cblxuICBwdWJsaWMgcHl0aG9uVHlwZShjb250ZXh0OiBOYW1pbmdDb250ZXh0KSB7XG4gICAgY29uc3Qgb3B0aW9uYWxUeXBlID0gdGhpcy4jd3JhcHBlZC5weXRob25UeXBlKHtcbiAgICAgIC4uLmNvbnRleHQsXG4gICAgICBpZ25vcmVPcHRpb25hbDogdHJ1ZSxcbiAgICB9KTtcbiAgICBpZiAoY29udGV4dC5pZ25vcmVPcHRpb25hbCB8fCB0aGlzLiN3cmFwcGVkID09PSBQcmltaXRpdmUuQU5ZKSB7XG4gICAgICByZXR1cm4gb3B0aW9uYWxUeXBlO1xuICAgIH1cbiAgICByZXR1cm4gYHR5cGluZy5PcHRpb25hbFske29wdGlvbmFsVHlwZX1dYDtcbiAgfVxuXG4gIHB1YmxpYyByZXF1aXJlZEltcG9ydHMoY29udGV4dDogTmFtaW5nQ29udGV4dCkge1xuICAgIHJldHVybiB0aGlzLiN3cmFwcGVkLnJlcXVpcmVkSW1wb3J0cyh7IC4uLmNvbnRleHQsIGlnbm9yZU9wdGlvbmFsOiB0cnVlIH0pO1xuICB9XG59XG5cbmNsYXNzIFByaW1pdGl2ZSBpbXBsZW1lbnRzIFR5cGVOYW1lIHtcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgQk9PTCA9IG5ldyBQcmltaXRpdmUoJ2J1aWx0aW5zLmJvb2wnKTtcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgREFURSA9IG5ldyBQcmltaXRpdmUoJ2RhdGV0aW1lLmRhdGV0aW1lJyk7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IEpTSUlfTlVNQkVSID0gbmV3IFByaW1pdGl2ZSgnanNpaS5OdW1iZXInKTsgLy8gXCJqc2lpXCIgaXMgYWx3YXlzIGFscmVhZHkgaW1wb3J0ZWQhXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFNUUiA9IG5ldyBQcmltaXRpdmUoJ2J1aWx0aW5zLnN0cicpO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBKU09OID0gbmV3IFByaW1pdGl2ZShcbiAgICAndHlwaW5nLk1hcHBpbmdbdHlwaW5nLkFueSwgdHlwaW5nLkFueV0nLFxuICApO1xuXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQU5ZID0gbmV3IFByaW1pdGl2ZSgndHlwaW5nLkFueScpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE5PTkUgPSBuZXcgUHJpbWl0aXZlKCdOb25lJyk7XG5cbiAgcHVibGljIHN0YXRpYyBvZih0eXBlOiBQcmltaXRpdmVUeXBlUmVmZXJlbmNlKTogVHlwZU5hbWUge1xuICAgIHN3aXRjaCAodHlwZS5wcmltaXRpdmUpIHtcbiAgICAgIGNhc2UgUHJpbWl0aXZlVHlwZS5Cb29sZWFuOlxuICAgICAgICByZXR1cm4gUHJpbWl0aXZlLkJPT0w7XG4gICAgICBjYXNlIFByaW1pdGl2ZVR5cGUuRGF0ZTpcbiAgICAgICAgcmV0dXJuIFByaW1pdGl2ZS5EQVRFO1xuICAgICAgY2FzZSBQcmltaXRpdmVUeXBlLk51bWJlcjpcbiAgICAgICAgcmV0dXJuIFByaW1pdGl2ZS5KU0lJX05VTUJFUjtcbiAgICAgIGNhc2UgUHJpbWl0aXZlVHlwZS5TdHJpbmc6XG4gICAgICAgIHJldHVybiBQcmltaXRpdmUuU1RSO1xuICAgICAgY2FzZSBQcmltaXRpdmVUeXBlLkpzb246XG4gICAgICAgIHJldHVybiBQcmltaXRpdmUuSlNPTjtcbiAgICAgIGNhc2UgUHJpbWl0aXZlVHlwZS5Bbnk6XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gUHJpbWl0aXZlLkFOWTtcbiAgICB9XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2V4cGxpY2l0LW1lbWJlci1hY2Nlc3NpYmlsaXR5XG4gIHJlYWRvbmx5ICNweXRob25UeXBlOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihweXRob25UeXBlOiBzdHJpbmcpIHtcbiAgICB0aGlzLiNweXRob25UeXBlID0gcHl0aG9uVHlwZTtcbiAgfVxuXG4gIHB1YmxpYyBweXRob25UeXBlKCkge1xuICAgIHJldHVybiB0aGlzLiNweXRob25UeXBlO1xuICB9XG5cbiAgcHVibGljIHJlcXVpcmVkSW1wb3J0cygpIHtcbiAgICByZXR1cm4ge307XG4gIH1cbn1cblxuY2xhc3MgVW5pb24gaW1wbGVtZW50cyBUeXBlTmFtZSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvZXhwbGljaXQtbWVtYmVyLWFjY2Vzc2liaWxpdHlcbiAgcmVhZG9ubHkgI29wdGlvbnM6IHJlYWRvbmx5IFR5cGVOYW1lW107XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKG9wdGlvbnM6IHJlYWRvbmx5IFR5cGVOYW1lW10pIHtcbiAgICB0aGlzLiNvcHRpb25zID0gb3B0aW9ucztcbiAgfVxuXG4gIHB1YmxpYyBweXRob25UeXBlKGNvbnRleHQ6IE5hbWluZ0NvbnRleHQpIHtcbiAgICByZXR1cm4gYHR5cGluZy5Vbmlvblske3RoaXMuI29wdGlvbnNcbiAgICAgIC5tYXAoKG8pID0+IG8ucHl0aG9uVHlwZShjb250ZXh0KSlcbiAgICAgIC5qb2luKCcsICcpfV1gO1xuICB9XG5cbiAgcHVibGljIHJlcXVpcmVkSW1wb3J0cyhjb250ZXh0OiBOYW1pbmdDb250ZXh0KSB7XG4gICAgcmV0dXJuIG1lcmdlUHl0aG9uSW1wb3J0cyhcbiAgICAgIC4uLnRoaXMuI29wdGlvbnMubWFwKChvKSA9PiBvLnJlcXVpcmVkSW1wb3J0cyhjb250ZXh0KSksXG4gICAgKTtcbiAgfVxufVxuXG5jbGFzcyBVc2VyVHlwZSBpbXBsZW1lbnRzIFR5cGVOYW1lIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9leHBsaWNpdC1tZW1iZXItYWNjZXNzaWJpbGl0eVxuICByZWFkb25seSAjZnFuOiBzdHJpbmc7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKGZxbjogc3RyaW5nKSB7XG4gICAgdGhpcy4jZnFuID0gZnFuO1xuICB9XG5cbiAgcHVibGljIHB5dGhvblR5cGUoY29udGV4dDogTmFtaW5nQ29udGV4dCkge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmUoY29udGV4dCkucHl0aG9uVHlwZTtcbiAgfVxuXG4gIHB1YmxpYyByZXF1aXJlZEltcG9ydHMoY29udGV4dDogTmFtaW5nQ29udGV4dCkge1xuICAgIGNvbnN0IHJlcXVpcmVkSW1wb3J0ID0gdGhpcy5yZXNvbHZlKGNvbnRleHQpLnJlcXVpcmVkSW1wb3J0O1xuICAgIGlmIChyZXF1aXJlZEltcG9ydCA9PSBudWxsKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICAgIHJldHVybiB7IFtyZXF1aXJlZEltcG9ydC5zb3VyY2VQYWNrYWdlXTogbmV3IFNldChbcmVxdWlyZWRJbXBvcnQuaXRlbV0pIH07XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmUoe1xuICAgIGFzc2VtYmx5LFxuICAgIGVtaXR0ZWRUeXBlcyxcbiAgICBzdWJtb2R1bGUsXG4gICAgc3Vycm91bmRpbmdUeXBlRnFucyxcbiAgICB0eXBlQW5ub3RhdGlvbiA9IHRydWUsXG4gIH06IE5hbWluZ0NvbnRleHQpIHtcbiAgICBjb25zdCB7IGFzc2VtYmx5TmFtZSwgcGFja2FnZU5hbWUsIHB5dGhvbkZxbiB9ID0gdG9QeXRob25GcW4oXG4gICAgICB0aGlzLiNmcW4sXG4gICAgICBhc3NlbWJseSxcbiAgICApO1xuICAgIGlmIChhc3NlbWJseU5hbWUgIT09IGFzc2VtYmx5Lm5hbWUpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHB5dGhvblR5cGU6IHB5dGhvbkZxbixcbiAgICAgICAgcmVxdWlyZWRJbXBvcnQ6IHtcbiAgICAgICAgICBzb3VyY2VQYWNrYWdlOiBwYWNrYWdlTmFtZSxcbiAgICAgICAgICBpdGVtOiAnJyxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY29uc3Qgc3VibW9kdWxlUHl0aG9uTmFtZSA9IHRvUHl0aG9uRnFuKHN1Ym1vZHVsZSwgYXNzZW1ibHkpLnB5dGhvbkZxbjtcbiAgICBjb25zdCB0eXBlU3VibW9kdWxlUHl0aG9uTmFtZSA9IHRvUHl0aG9uRnFuKFxuICAgICAgZmluZFBhcmVudFN1Ym1vZHVsZShhc3NlbWJseS50eXBlcyFbdGhpcy4jZnFuXSwgYXNzZW1ibHkpLFxuICAgICAgYXNzZW1ibHksXG4gICAgKS5weXRob25GcW47XG5cbiAgICBpZiAodHlwZVN1Ym1vZHVsZVB5dGhvbk5hbWUgPT09IHN1Ym1vZHVsZVB5dGhvbk5hbWUpIHtcbiAgICAgIC8vIElkZW50aWZpeSBkZWNsYXJhdGlvbnMgdGhhdCBhcmUgbm90IHlldCBpbml0aWFsaXplZCBhbmQgaGVuY2UgY2Fubm90IGJlXG4gICAgICAvLyB1c2VkIGFzIHBhcnQgb2YgYSB0eXBlIHF1YWxpZmljYXRpb24uIFNpbmNlIHRoaXMgaXMgbm90IGEgZm9yd2FyZFxuICAgICAgLy8gcmVmZXJlbmNlLCB0aGUgdHlwZSB3YXMgYWxyZWFkeSBlbWl0dGVkIGFuZCBpdHMgdW4tcXVhbGlmaWVkIG5hbWUgbXVzdFxuICAgICAgLy8gYmUgdXNlZCBpbnN0ZWFkIG9mIGl0J3MgbG9jYWxseSBxdWFsaWZpZWQgbmFtZS5cbiAgICAgIGNvbnN0IG5lc3RpbmdQYXJlbnQgPSBzdXJyb3VuZGluZ1R5cGVGcW5zXG4gICAgICAgID8ubWFwKChmcW4pID0+IHRvUHl0aG9uRnFuKGZxbiwgYXNzZW1ibHkpLnB5dGhvbkZxbilcbiAgICAgICAgPy5yZXZlcnNlKClcbiAgICAgICAgPy5maW5kKChwYXJlbnQpID0+IHB5dGhvbkZxbi5zdGFydHNXaXRoKGAke3BhcmVudH0uYCkpO1xuXG4gICAgICBpZiAoXG4gICAgICAgIHR5cGVBbm5vdGF0aW9uICYmXG4gICAgICAgICghZW1pdHRlZFR5cGVzLmhhcyh0aGlzLiNmcW4pIHx8IG5lc3RpbmdQYXJlbnQgIT0gbnVsbClcbiAgICAgICkge1xuICAgICAgICAvLyBQb3NzaWJseSBhIGZvcndhcmQgcmVmZXJlbmNlLCBvdXRwdXR0aW5nIHRoZSBzdHJpbmdpZmllcmQgcHl0aG9uIEZRTlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHB5dGhvblR5cGU6IEpTT04uc3RyaW5naWZ5KFxuICAgICAgICAgICAgcHl0aG9uRnFuLnN1YnN0cmluZyhzdWJtb2R1bGVQeXRob25OYW1lLmxlbmd0aCArIDEpLFxuICAgICAgICAgICksXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIGlmICghdHlwZUFubm90YXRpb24gJiYgbmVzdGluZ1BhcmVudCkge1xuICAgICAgICAvLyBUaGlzIGlzIG5vdCBmb3IgYSB0eXBlIGFubm90YXRpb24sIHNvIHdlIHNob3VsZCBiZSBhdCBhIHBvaW50IGluIHRpbWVcbiAgICAgICAgLy8gd2hlcmUgdGhlIHN1cnJvdW5kaW5nIHN5bWJvbCBoYXMgYmVlbiBkZWZpbmVkIGVudGlyZWx5LCBzbyB3ZSBjYW5cbiAgICAgICAgLy8gcmVmZXIgdG8gaXQgXCJub3JtYWxseVwiIG5vdy5cbiAgICAgICAgcmV0dXJuIHsgcHl0aG9uVHlwZTogcHl0aG9uRnFuLnN1YnN0cmluZyhuZXN0aW5nUGFyZW50Lmxlbmd0aCArIDEpIH07XG4gICAgICB9XG5cbiAgICAgIC8vIFdlJ2xsIGp1c3QgbWFrZSBhIG1vZHVsZS1xdWFsaWZpZWQgcmVmZXJlbmNlIGF0IHRoaXMgcG9pbnQuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBweXRob25UeXBlOiBweXRob25GcW4uc3Vic3RyaW5nKHN1Ym1vZHVsZVB5dGhvbk5hbWUubGVuZ3RoICsgMSksXG4gICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0IFt0b0ltcG9ydCwgLi4ubmVzdGVkXSA9IHB5dGhvbkZxblxuICAgICAgLnN1YnN0cmluZyh0eXBlU3VibW9kdWxlUHl0aG9uTmFtZS5sZW5ndGggKyAxKVxuICAgICAgLnNwbGl0KCcuJyk7XG4gICAgY29uc3QgYWxpYXNTdWZmaXggPSBjcmVhdGVIYXNoKCdzaGEyNTYnKVxuICAgICAgLnVwZGF0ZSh0eXBlU3VibW9kdWxlUHl0aG9uTmFtZSlcbiAgICAgIC51cGRhdGUoJy4nKVxuICAgICAgLnVwZGF0ZSh0b0ltcG9ydClcbiAgICAgIC5kaWdlc3QoJ2hleCcpXG4gICAgICAuc3Vic3RyaW5nKDAsIDgpO1xuICAgIGNvbnN0IGFsaWFzID0gYF8ke3RvSW1wb3J0fV8ke2FsaWFzU3VmZml4fWA7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcHl0aG9uVHlwZTogW2FsaWFzLCAuLi5uZXN0ZWRdLmpvaW4oJy4nKSxcbiAgICAgIHJlcXVpcmVkSW1wb3J0OiB7XG4gICAgICAgIHNvdXJjZVBhY2thZ2U6IHJlbGF0aXZlSW1wb3J0UGF0aChcbiAgICAgICAgICBzdWJtb2R1bGVQeXRob25OYW1lLFxuICAgICAgICAgIHR5cGVTdWJtb2R1bGVQeXRob25OYW1lLFxuICAgICAgICApLFxuICAgICAgICBpdGVtOiBgJHt0b0ltcG9ydH0gYXMgJHthbGlhc31gLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1B5dGhvbkZxbihmcW46IHN0cmluZywgcm9vdEFzc206IEFzc2VtYmx5KSB7XG4gIGNvbnN0IHsgYXNzZW1ibHlOYW1lLCBwYWNrYWdlTmFtZSwgdGFpbCB9ID0gZ2V0UGFja2FnZU5hbWUoZnFuLCByb290QXNzbSk7XG4gIGNvbnN0IGZxblBhcnRzOiBzdHJpbmdbXSA9IFtwYWNrYWdlTmFtZV07XG5cbiAgZm9yIChjb25zdCBwYXJ0IG9mIHRhaWwpIHtcbiAgICBmcW5QYXJ0cy5wdXNoKHRvUHl0aG9uSWRlbnRpZmllcihwYXJ0KSk7XG4gIH1cblxuICByZXR1cm4geyBhc3NlbWJseU5hbWUsIHBhY2thZ2VOYW1lLCBweXRob25GcW46IGZxblBhcnRzLmpvaW4oJy4nKSB9O1xufVxuXG4vKipcbiAqIENvbXB1dGVzIHRoZSBweXRob24gcmVsYXRpdmUgaW1wb3J0IHBhdGggZnJvbSBgZnJvbU1vZHVsZWAgdG8gYHRvTW9kdWxlYC5cbiAqXG4gKiBAcGFyYW0gZnJvbVBrZyB0aGUgcGFja2FnZSB3aGVyZSB0aGUgcmVsYXRpdmUgaW1wb3J0IHN0YXRlbWVudCBpcyBsb2NhdGVkLlxuICogQHBhcmFtIHRvUGtnICAgdGhlIHBhY2thZ2UgdGhhdCBuZWVkcyB0byBiZSByZWxhdGl2ZWx5IGltcG9ydGVkLlxuICpcbiAqIEByZXR1cm5zIGEgcmVsYXRpdmUgaW1wb3J0IHBhdGguXG4gKlxuICogQGV4YW1wbGVcbiAqICByZWxhdGl2ZUltcG9ydFBhdGgoJ0EuQi5DLkQnLCAnQS5CLkUnKSA9PT0gJy4uLkUnO1xuICogIHJlbGF0aXZlSW1wb3J0UGF0aCgnQS5CLkMnLCAnQS5CJykgICAgID09PSAnLi4nO1xuICogIHJlbGF0aXZlSW1wb3J0UGF0aCgnQS5CJywgJ0EuQi5DJykgICAgID09PSAnLkMnO1xuICovXG5mdW5jdGlvbiByZWxhdGl2ZUltcG9ydFBhdGgoZnJvbVBrZzogc3RyaW5nLCB0b1BrZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKHRvUGtnLnN0YXJ0c1dpdGgoZnJvbVBrZykpIHtcbiAgICAvLyBmcm9tIEEuQiB0byBBLkIuQyA9PT0gLkNcbiAgICByZXR1cm4gYC4ke3RvUGtnLnN1YnN0cmluZyhmcm9tUGtnLmxlbmd0aCArIDEpfWA7XG4gIH1cbiAgLy8gZnJvbSBBLkIuRSB0byBBLkIuQyA9PT0gLjxmcm9tIEEuQiB0byBBLkIuQz5cbiAgY29uc3QgZnJvbVBrZ1BhcmVudCA9IGZyb21Qa2cuc3Vic3RyaW5nKDAsIGZyb21Qa2cubGFzdEluZGV4T2YoJy4nKSk7XG4gIHJldHVybiBgLiR7cmVsYXRpdmVJbXBvcnRQYXRoKGZyb21Qa2dQYXJlbnQsIHRvUGtnKX1gO1xufVxuXG5mdW5jdGlvbiBnZXRQYWNrYWdlTmFtZShmcW46IHN0cmluZywgcm9vdEFzc206IEFzc2VtYmx5KSB7XG4gIGNvbnN0IHNlZ21lbnRzID0gZnFuLnNwbGl0KCcuJyk7XG4gIGNvbnN0IGFzc2VtYmx5TmFtZSA9IHNlZ21lbnRzWzBdO1xuICBjb25zdCBjb25maWcgPVxuICAgIGFzc2VtYmx5TmFtZSA9PT0gcm9vdEFzc20ubmFtZVxuICAgICAgPyByb290QXNzbVxuICAgICAgOiByb290QXNzbS5kZXBlbmRlbmN5Q2xvc3VyZT8uW2Fzc2VtYmx5TmFtZV0gPz9cbiAgICAgICAgZGllKFxuICAgICAgICAgIGBVbmFibGUgdG8gZmluZCBjb25maWd1cmF0aW9uIGZvciBhc3NlbWJseSBcIiR7YXNzZW1ibHlOYW1lfVwiIGluIGRlcGVuZGVuY3kgY2xvc3VyZWAsXG4gICAgICAgICk7XG4gIGNvbnN0IHJvb3RQa2cgPVxuICAgIGNvbmZpZy50YXJnZXRzPy5weXRob24/Lm1vZHVsZSA/P1xuICAgIGRpZShgTm8gUHl0aG9uIHRhcmdldCB3YXMgY29uZmlndXJlZCBpbiBhc3NlbWJseSBcIiR7YXNzZW1ibHlOYW1lfVwiYCk7XG5cbiAgY29uc3QgcGtnID0gbmV3IEFycmF5PHN0cmluZz4oKTtcbiAgY29uc3QgdGFpbCA9IG5ldyBBcnJheTxzdHJpbmc+KCk7XG5cbiAgZm9yIChsZXQgbGVuID0gc2VnbWVudHMubGVuZ3RoOyBsZW4gPiAwOyBsZW4tLSkge1xuICAgIGNvbnN0IHN1Ym1vZHVsZSA9IHNlZ21lbnRzLnNsaWNlKDAsIGxlbikuam9pbignLicpO1xuICAgIGlmIChzdWJtb2R1bGUgPT09IGFzc2VtYmx5TmFtZSkge1xuICAgICAgcGtnLnVuc2hpZnQocm9vdFBrZyk7XG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICBjb25zdCBzdWJtb2R1bGVDb25maWcgPSBjb25maWcuc3VibW9kdWxlcz8uW3N1Ym1vZHVsZV07XG4gICAgaWYgKHN1Ym1vZHVsZUNvbmZpZyA9PSBudWxsKSB7XG4gICAgICAvLyBOb3QgaW4gYSBzdWJtb2R1bGUgLSBzbyB0aGUgY3VycmVudCBsZWFkIG5hbWUgaXMgbm90IGEgcGFja2FnZSBuYW1lIHBhcnQuXG4gICAgICB0YWlsLnVuc2hpZnQoc2VnbWVudHNbbGVuIC0gMV0pO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3Qgc3ViUGFja2FnZTogc3RyaW5nIHwgdW5kZWZpbmVkID1cbiAgICAgIHN1Ym1vZHVsZUNvbmZpZy50YXJnZXRzPy5weXRob24/Lm1vZHVsZTtcbiAgICBpZiAoc3ViUGFja2FnZSAhPSBudWxsKSB7XG4gICAgICAvLyBGb3VuZCBhIHN1Yi1wYWNrYWdlLiBDb25maXJtIGl0J3MgbmVzdGVkIHJpZ2h0IGluLCBhbmQgbWFrZSB0aGlzIHRoZSBoZWFkIGVuZCBvZiBvdXIgcGFja2FnZSBuYW1lLlxuICAgICAgaWYgKCFzdWJQYWNrYWdlLnN0YXJ0c1dpdGgoYCR7cm9vdFBrZ30uYCkpIHtcbiAgICAgICAgZGllKFxuICAgICAgICAgIGBTdWJtb2R1bGUgXCIke3N1Ym1vZHVsZX1cIiBpcyBtYXBwZWQgdG8gUHl0aG9uIHN1Yi1wYWNrYWdlIFwiJHtzdWJQYWNrYWdlfVwiIHdoaWNoIGlzbid0IG5lc3RlZCB1bmRlciBcIiR7cm9vdFBrZ31cIiFgLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcGtnLnVuc2hpZnQoc3ViUGFja2FnZSk7XG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICAvLyBKdXN0IHVzZSB3aGF0ZXZlciB0aGUgZGVmYXVsdCBuYW1lIGlzIGZvciB0aGlzIHBhY2thZ2UgbmFtZSBwYXJ0LlxuICAgIHBrZy51bnNoaWZ0KHRvU25ha2VDYXNlKHRvUHl0aG9uSWRlbnRpZmllcihzZWdtZW50c1tsZW4gLSAxXSkpKTtcbiAgfVxuXG4gIHJldHVybiB7IGFzc2VtYmx5TmFtZSwgcGFja2FnZU5hbWU6IHBrZy5qb2luKCcuJyksIHRhaWwgfTtcbn1cblxuZnVuY3Rpb24gZmluZFBhcmVudFN1Ym1vZHVsZSh0eXBlOiBUeXBlLCBhc3NtOiBBc3NlbWJseSk6IHN0cmluZyB7XG4gIGlmICh0eXBlLm5hbWVzcGFjZSA9PSBudWxsKSB7XG4gICAgcmV0dXJuIGFzc20ubmFtZTtcbiAgfVxuICBjb25zdCBuYW1lc3BhY2VGcW4gPSBgJHthc3NtLm5hbWV9LiR7dHlwZS5uYW1lc3BhY2V9YDtcbiAgaWYgKGFzc20udHlwZXM/LltuYW1lc3BhY2VGcW5dICE9IG51bGwpIHtcbiAgICByZXR1cm4gZmluZFBhcmVudFN1Ym1vZHVsZShhc3NtLnR5cGVzPy5bbmFtZXNwYWNlRnFuXSwgYXNzbSk7XG4gIH1cbiAgcmV0dXJuIG5hbWVzcGFjZUZxbjtcbn1cbiJdfQ==
334
+ //# sourceMappingURL=type-name.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-name.js","sourceRoot":"","sources":["type-name.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  export declare function die(message: string): never;
2
2
  export declare function toPythonIdentifier(name: string): string;
3
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["util.ts"],"names":[],"mappings":"AAsCA,wBAAgB,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAE1C;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKvD"}
@@ -49,4 +49,4 @@ function toPythonIdentifier(name) {
49
49
  return name;
50
50
  }
51
51
  exports.toPythonIdentifier = toPythonIdentifier;
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsTUFBTSxlQUFlLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFDOUIsT0FBTztJQUNQLE1BQU07SUFDTixNQUFNO0lBQ04sS0FBSztJQUNMLElBQUk7SUFDSixRQUFRO0lBQ1IsT0FBTztJQUNQLE9BQU87SUFDUCxPQUFPO0lBQ1AsT0FBTztJQUNQLFVBQVU7SUFDVixLQUFLO0lBQ0wsS0FBSztJQUNMLE1BQU07SUFDTixNQUFNO0lBQ04sUUFBUTtJQUNSLFNBQVM7SUFDVCxLQUFLO0lBQ0wsTUFBTTtJQUNOLFFBQVE7SUFDUixJQUFJO0lBQ0osUUFBUTtJQUNSLElBQUk7SUFDSixJQUFJO0lBQ0osUUFBUTtJQUNSLFVBQVU7SUFDVixLQUFLO0lBQ0wsSUFBSTtJQUNKLE1BQU07SUFDTixPQUFPO0lBQ1AsUUFBUTtJQUNSLEtBQUs7SUFDTCxPQUFPO0lBQ1AsTUFBTTtJQUNOLE9BQU87Q0FDUixDQUFDLENBQUM7QUFFSCxTQUFnQixHQUFHLENBQUMsT0FBZTtJQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQzNCLENBQUM7QUFGRCxrQkFFQztBQUVELFNBQWdCLGtCQUFrQixDQUFDLElBQVk7SUFDN0MsSUFBSSxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQzdCLE9BQU8sR0FBRyxJQUFJLEdBQUcsQ0FBQztLQUNuQjtJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUxELGdEQUtDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgUFlUSE9OX0tFWVdPUkRTID0gbmV3IFNldChbXG4gICdGYWxzZScsXG4gICdOb25lJyxcbiAgJ1RydWUnLFxuICAnYW5kJyxcbiAgJ2FzJyxcbiAgJ2Fzc2VydCcsXG4gICdhc3luYycsXG4gICdhd2FpdCcsXG4gICdicmVhaycsXG4gICdjbGFzcycsXG4gICdjb250aW51ZScsXG4gICdkZWYnLFxuICAnZGVsJyxcbiAgJ2VsaWYnLFxuICAnZWxzZScsXG4gICdleGNlcHQnLFxuICAnZmluYWxseScsXG4gICdmb3InLFxuICAnZnJvbScsXG4gICdnbG9iYWwnLFxuICAnaWYnLFxuICAnaW1wb3J0JyxcbiAgJ2luJyxcbiAgJ2lzJyxcbiAgJ2xhbWJkYScsXG4gICdub25sb2NhbCcsXG4gICdub3QnLFxuICAnb3InLFxuICAncGFzcycsXG4gICdyYWlzZScsXG4gICdyZXR1cm4nLFxuICAndHJ5JyxcbiAgJ3doaWxlJyxcbiAgJ3dpdGgnLFxuICAneWllbGQnLFxuXSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBkaWUobWVzc2FnZTogc3RyaW5nKTogbmV2ZXIge1xuICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1B5dGhvbklkZW50aWZpZXIobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKFBZVEhPTl9LRVlXT1JEUy5oYXMobmFtZSkpIHtcbiAgICByZXR1cm4gYCR7bmFtZX1fYDtcbiAgfVxuICByZXR1cm4gbmFtZTtcbn1cbiJdfQ==
52
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["util.ts"],"names":[],"mappings":";;;AAAA,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,OAAO;IACP,MAAM;IACN,MAAM;IACN,KAAK;IACL,IAAI;IACJ,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,QAAQ;IACR,SAAS;IACT,KAAK;IACL,MAAM;IACN,QAAQ;IACR,IAAI;IACJ,QAAQ;IACR,IAAI;IACJ,IAAI;IACJ,QAAQ;IACR,UAAU;IACV,KAAK;IACL,IAAI;IACJ,MAAM;IACN,OAAO;IACP,QAAQ;IACR,KAAK;IACL,OAAO;IACP,MAAM;IACN,OAAO;CACR,CAAC,CAAC;AAEH,SAAgB,GAAG,CAAC,OAAe;IACjC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC;AAFD,kBAEC;AAED,SAAgB,kBAAkB,CAAC,IAAY;IAC7C,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QAC7B,OAAO,GAAG,IAAI,GAAG,CAAC;KACnB;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AALD,gDAKC"}
@@ -97,3 +97,4 @@ interface DocumentableArgument {
97
97
  docs?: spec.Docs;
98
98
  }
99
99
  export {};
100
+ //# sourceMappingURL=python.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"python.d.ts","sourceRoot":"","sources":["python.ts"],"names":[],"mappings":"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"}