@kubb/agent 5.0.0-alpha.36 → 5.0.0-alpha.39

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 (1300) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/server/chunks/nitro/nitro.mjs +230 -186
  3. package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
  4. package/.output/server/chunks/routes/api/health.get.mjs +1 -14
  5. package/.output/server/chunks/routes/api/health.get.mjs.map +1 -1
  6. package/.output/server/index.mjs +1 -14
  7. package/.output/server/index.mjs.map +1 -1
  8. package/.output/server/package.json +2 -109
  9. package/package.json +5 -19
  10. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/ajv.js +0 -50
  11. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/compile/codegen/code.js +0 -156
  12. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/compile/codegen/index.js +0 -697
  13. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/compile/codegen/scope.js +0 -143
  14. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/compile/errors.js +0 -123
  15. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/compile/index.js +0 -249
  16. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/compile/names.js +0 -29
  17. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/compile/ref_error.js +0 -12
  18. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/compile/resolve.js +0 -155
  19. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/compile/rules.js +0 -26
  20. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/compile/util.js +0 -178
  21. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/compile/validate/applicability.js +0 -19
  22. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/compile/validate/boolSchema.js +0 -50
  23. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/compile/validate/dataType.js +0 -203
  24. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/compile/validate/defaults.js +0 -35
  25. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/compile/validate/index.js +0 -534
  26. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/compile/validate/keyword.js +0 -124
  27. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/compile/validate/subschema.js +0 -81
  28. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/core.js +0 -632
  29. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/refs/data.json +0 -13
  30. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/refs/json-schema-draft-07.json +0 -151
  31. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/runtime/equal.js +0 -7
  32. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/runtime/ucs2length.js +0 -24
  33. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/runtime/uri.js +0 -6
  34. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/runtime/validation_error.js +0 -11
  35. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/applicator/additionalItems.js +0 -49
  36. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/applicator/additionalProperties.js +0 -107
  37. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/applicator/allOf.js +0 -23
  38. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/applicator/anyOf.js +0 -12
  39. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/applicator/contains.js +0 -95
  40. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/applicator/dependencies.js +0 -85
  41. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/applicator/if.js +0 -66
  42. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/applicator/index.js +0 -44
  43. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/applicator/items.js +0 -52
  44. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/applicator/items2020.js +0 -30
  45. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/applicator/not.js +0 -26
  46. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/applicator/oneOf.js +0 -60
  47. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/applicator/patternProperties.js +0 -75
  48. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/applicator/prefixItems.js +0 -12
  49. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/applicator/properties.js +0 -55
  50. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/applicator/propertyNames.js +0 -38
  51. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/applicator/thenElse.js +0 -13
  52. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/code.js +0 -138
  53. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/core/id.js +0 -10
  54. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/core/index.js +0 -16
  55. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/core/ref.js +0 -132
  56. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/discriminator/index.js +0 -139
  57. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/discriminator/types.js +0 -9
  58. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/draft7.js +0 -17
  59. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/format/format.js +0 -92
  60. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/format/index.js +0 -6
  61. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/metadata.js +0 -26
  62. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/oasContext.js +0 -26
  63. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/validation/const.js +0 -25
  64. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/validation/enum.js +0 -48
  65. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/validation/index.js +0 -37
  66. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/validation/limitItems.js +0 -24
  67. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/validation/limitLength.js +0 -27
  68. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/validation/limitNumber.js +0 -27
  69. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/validation/limitProperties.js +0 -24
  70. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/validation/multipleOf.js +0 -26
  71. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/validation/pattern.js +0 -33
  72. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/validation/readOnly.js +0 -20
  73. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/validation/required.js +0 -86
  74. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/validation/uniqueItems.js +0 -64
  75. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/dist/vocabularies/validation/writeOnly.js +0 -20
  76. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.0/package.json +0 -130
  77. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/2020.js +0 -55
  78. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/compile/codegen/code.js +0 -156
  79. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/compile/codegen/index.js +0 -697
  80. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/compile/codegen/scope.js +0 -143
  81. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/compile/errors.js +0 -123
  82. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/compile/index.js +0 -249
  83. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/compile/names.js +0 -29
  84. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/compile/ref_error.js +0 -12
  85. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/compile/resolve.js +0 -155
  86. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/compile/rules.js +0 -26
  87. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/compile/util.js +0 -178
  88. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/compile/validate/applicability.js +0 -19
  89. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/compile/validate/boolSchema.js +0 -50
  90. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/compile/validate/dataType.js +0 -203
  91. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/compile/validate/defaults.js +0 -35
  92. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/compile/validate/index.js +0 -534
  93. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/compile/validate/keyword.js +0 -124
  94. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/compile/validate/subschema.js +0 -81
  95. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/core.js +0 -632
  96. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/draft4.js +0 -57
  97. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/refs/data.json +0 -13
  98. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/refs/json-schema-2020-12/index.js +0 -30
  99. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/refs/json-schema-2020-12/meta/applicator.json +0 -48
  100. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/refs/json-schema-2020-12/meta/content.json +0 -17
  101. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/refs/json-schema-2020-12/meta/core.json +0 -51
  102. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/refs/json-schema-2020-12/meta/format-annotation.json +0 -14
  103. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/refs/json-schema-2020-12/meta/meta-data.json +0 -37
  104. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/refs/json-schema-2020-12/meta/unevaluated.json +0 -15
  105. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/refs/json-schema-2020-12/meta/validation.json +0 -90
  106. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/refs/json-schema-2020-12/schema.json +0 -55
  107. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/refs/json-schema-draft-04.json +0 -138
  108. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/runtime/equal.js +0 -7
  109. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/runtime/ucs2length.js +0 -24
  110. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/runtime/uri.js +0 -6
  111. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/runtime/validation_error.js +0 -11
  112. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/applicator/additionalItems.js +0 -49
  113. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/applicator/additionalProperties.js +0 -107
  114. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/applicator/allOf.js +0 -23
  115. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/applicator/anyOf.js +0 -12
  116. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/applicator/contains.js +0 -95
  117. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/applicator/dependencies.js +0 -85
  118. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/applicator/dependentSchemas.js +0 -11
  119. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/applicator/if.js +0 -66
  120. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/applicator/index.js +0 -44
  121. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/applicator/items.js +0 -52
  122. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/applicator/items2020.js +0 -30
  123. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/applicator/not.js +0 -26
  124. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/applicator/oneOf.js +0 -60
  125. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/applicator/patternProperties.js +0 -75
  126. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/applicator/prefixItems.js +0 -12
  127. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/applicator/properties.js +0 -55
  128. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/applicator/propertyNames.js +0 -38
  129. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/applicator/thenElse.js +0 -13
  130. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/code.js +0 -138
  131. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/core/id.js +0 -10
  132. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/core/index.js +0 -16
  133. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/core/ref.js +0 -132
  134. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/discriminator/index.js +0 -139
  135. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/discriminator/types.js +0 -9
  136. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/draft2020.js +0 -23
  137. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/draft4.js +0 -29
  138. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/dynamic/dynamicAnchor.js +0 -30
  139. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/dynamic/dynamicRef.js +0 -51
  140. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/dynamic/index.js +0 -9
  141. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/dynamic/recursiveAnchor.js +0 -16
  142. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/dynamic/recursiveRef.js +0 -10
  143. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/format/format.js +0 -92
  144. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/format/index.js +0 -6
  145. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/metadata.js +0 -26
  146. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/next.js +0 -8
  147. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/oasContext.js +0 -26
  148. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/unevaluated/index.js +0 -7
  149. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/unevaluated/unevaluatedItems.js +0 -40
  150. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/unevaluated/unevaluatedProperties.js +0 -84
  151. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/validation/const.js +0 -25
  152. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/validation/dependentRequired.js +0 -12
  153. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/validation/draft04/limitNumber.js +0 -43
  154. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/validation/draft04/limitNumberExclusive.js +0 -19
  155. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/validation/enum.js +0 -48
  156. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/validation/index.js +0 -37
  157. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/validation/limitContains.js +0 -15
  158. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/validation/limitItems.js +0 -24
  159. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/validation/limitLength.js +0 -27
  160. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/validation/limitNumber.js +0 -27
  161. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/validation/limitProperties.js +0 -24
  162. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/validation/multipleOf.js +0 -26
  163. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/validation/pattern.js +0 -33
  164. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/validation/readOnly.js +0 -20
  165. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/validation/required.js +0 -86
  166. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/validation/uniqueItems.js +0 -64
  167. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/validation/writeOnly.js +0 -20
  168. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/package.json +0 -130
  169. package/.output/server/node_modules/.nitro/picomatch@4.0.4/index.js +0 -17
  170. package/.output/server/node_modules/.nitro/picomatch@4.0.4/lib/constants.js +0 -184
  171. package/.output/server/node_modules/.nitro/picomatch@4.0.4/lib/parse.js +0 -1386
  172. package/.output/server/node_modules/.nitro/picomatch@4.0.4/lib/picomatch.js +0 -349
  173. package/.output/server/node_modules/.nitro/picomatch@4.0.4/lib/scan.js +0 -391
  174. package/.output/server/node_modules/.nitro/picomatch@4.0.4/lib/utils.js +0 -72
  175. package/.output/server/node_modules/.nitro/picomatch@4.0.4/package.json +0 -82
  176. package/.output/server/node_modules/.nitro/ws@8.18.0/lib/constants.js +0 -18
  177. package/.output/server/node_modules/.nitro/ws@8.18.0/lib/permessage-deflate.js +0 -514
  178. package/.output/server/node_modules/.nitro/ws@8.18.0/lib/sender.js +0 -602
  179. package/.output/server/node_modules/.nitro/ws@8.18.0/lib/stream.js +0 -159
  180. package/.output/server/node_modules/.nitro/ws@8.18.0/lib/websocket-server.js +0 -540
  181. package/.output/server/node_modules/.nitro/ws@8.18.0/lib/websocket.js +0 -1388
  182. package/.output/server/node_modules/.nitro/ws@8.18.0/package.json +0 -69
  183. package/.output/server/node_modules/.nitro/ws@8.18.0/wrapper.mjs +0 -8
  184. package/.output/server/node_modules/.nitro/ws@8.20.0/lib/buffer-util.js +0 -131
  185. package/.output/server/node_modules/.nitro/ws@8.20.0/lib/event-target.js +0 -292
  186. package/.output/server/node_modules/.nitro/ws@8.20.0/lib/extension.js +0 -203
  187. package/.output/server/node_modules/.nitro/ws@8.20.0/lib/limiter.js +0 -55
  188. package/.output/server/node_modules/.nitro/ws@8.20.0/lib/receiver.js +0 -706
  189. package/.output/server/node_modules/.nitro/ws@8.20.0/lib/subprotocol.js +0 -62
  190. package/.output/server/node_modules/.nitro/ws@8.20.0/lib/validation.js +0 -152
  191. package/.output/server/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/bundle.js +0 -302
  192. package/.output/server/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/dereference.js +0 -289
  193. package/.output/server/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/index.js +0 -216
  194. package/.output/server/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/normalize-args.js +0 -55
  195. package/.output/server/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/options.js +0 -135
  196. package/.output/server/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/parse.js +0 -178
  197. package/.output/server/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/parsers/binary.js +0 -35
  198. package/.output/server/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/parsers/json.js +0 -62
  199. package/.output/server/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/parsers/text.js +0 -42
  200. package/.output/server/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/parsers/yaml.js +0 -58
  201. package/.output/server/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/pointer.js +0 -334
  202. package/.output/server/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/ref.js +0 -308
  203. package/.output/server/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/refs.js +0 -244
  204. package/.output/server/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/resolve-external.js +0 -143
  205. package/.output/server/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/resolvers/file.js +0 -81
  206. package/.output/server/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/resolvers/http.js +0 -158
  207. package/.output/server/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/util/convert-path-to-posix.js +0 -14
  208. package/.output/server/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/util/errors.js +0 -170
  209. package/.output/server/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/util/is-windows.js +0 -6
  210. package/.output/server/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/util/maybe.js +0 -24
  211. package/.output/server/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/util/next.js +0 -16
  212. package/.output/server/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/util/plugins.js +0 -132
  213. package/.output/server/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/util/url.js +0 -491
  214. package/.output/server/node_modules/@apidevtools/json-schema-ref-parser/package.json +0 -112
  215. package/.output/server/node_modules/@babel/code-frame/lib/index.js +0 -217
  216. package/.output/server/node_modules/@babel/code-frame/package.json +0 -32
  217. package/.output/server/node_modules/@babel/helper-validator-identifier/lib/identifier.js +0 -70
  218. package/.output/server/node_modules/@babel/helper-validator-identifier/lib/index.js +0 -57
  219. package/.output/server/node_modules/@babel/helper-validator-identifier/lib/keyword.js +0 -35
  220. package/.output/server/node_modules/@babel/helper-validator-identifier/package.json +0 -31
  221. package/.output/server/node_modules/@babel/runtime/helpers/arrayLikeToArray.js +0 -6
  222. package/.output/server/node_modules/@babel/runtime/helpers/arrayWithHoles.js +0 -4
  223. package/.output/server/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js +0 -5
  224. package/.output/server/node_modules/@babel/runtime/helpers/assertThisInitialized.js +0 -5
  225. package/.output/server/node_modules/@babel/runtime/helpers/classCallCheck.js +0 -4
  226. package/.output/server/node_modules/@babel/runtime/helpers/createClass.js +0 -13
  227. package/.output/server/node_modules/@babel/runtime/helpers/defineProperty.js +0 -10
  228. package/.output/server/node_modules/@babel/runtime/helpers/get.js +0 -11
  229. package/.output/server/node_modules/@babel/runtime/helpers/getPrototypeOf.js +0 -6
  230. package/.output/server/node_modules/@babel/runtime/helpers/inherits.js +0 -14
  231. package/.output/server/node_modules/@babel/runtime/helpers/interopRequireDefault.js +0 -6
  232. package/.output/server/node_modules/@babel/runtime/helpers/iterableToArray.js +0 -4
  233. package/.output/server/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js +0 -28
  234. package/.output/server/node_modules/@babel/runtime/helpers/nonIterableRest.js +0 -4
  235. package/.output/server/node_modules/@babel/runtime/helpers/nonIterableSpread.js +0 -4
  236. package/.output/server/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js +0 -8
  237. package/.output/server/node_modules/@babel/runtime/helpers/setPrototypeOf.js +0 -6
  238. package/.output/server/node_modules/@babel/runtime/helpers/slicedToArray.js +0 -8
  239. package/.output/server/node_modules/@babel/runtime/helpers/superPropBase.js +0 -6
  240. package/.output/server/node_modules/@babel/runtime/helpers/toConsumableArray.js +0 -8
  241. package/.output/server/node_modules/@babel/runtime/helpers/toPrimitive.js +0 -12
  242. package/.output/server/node_modules/@babel/runtime/helpers/toPropertyKey.js +0 -7
  243. package/.output/server/node_modules/@babel/runtime/helpers/typeof.js +0 -10
  244. package/.output/server/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js +0 -9
  245. package/.output/server/node_modules/@babel/runtime/package.json +0 -1107
  246. package/.output/server/node_modules/@clack/core/dist/index.mjs +0 -11
  247. package/.output/server/node_modules/@clack/core/package.json +0 -60
  248. package/.output/server/node_modules/@clack/prompts/dist/index.mjs +0 -137
  249. package/.output/server/node_modules/@clack/prompts/package.json +0 -65
  250. package/.output/server/node_modules/@humanwhocodes/momoa/api.js +0 -1144
  251. package/.output/server/node_modules/@humanwhocodes/momoa/package.json +0 -49
  252. package/.output/server/node_modules/@kubb/ast/dist/chunk--u3MIqq1.js +0 -8
  253. package/.output/server/node_modules/@kubb/ast/dist/index.js +0 -423
  254. package/.output/server/node_modules/@kubb/ast/package.json +0 -70
  255. package/.output/server/node_modules/@kubb/core/dist/chunk--u3MIqq1.js +0 -8
  256. package/.output/server/node_modules/@kubb/core/dist/hooks.js +0 -23
  257. package/.output/server/node_modules/@kubb/core/dist/index.js +0 -2311
  258. package/.output/server/node_modules/@kubb/core/package.json +0 -109
  259. package/.output/server/node_modules/@kubb/fabric-core/dist/chunk-O_arW02_.js +0 -17
  260. package/.output/server/node_modules/@kubb/fabric-core/dist/defaultParser-iCpMSYCp.js +0 -15
  261. package/.output/server/node_modules/@kubb/fabric-core/dist/getRelativePath-NAm_Y-vp.js +0 -55
  262. package/.output/server/node_modules/@kubb/fabric-core/dist/index.js +0 -653
  263. package/.output/server/node_modules/@kubb/fabric-core/dist/onProcessExit-Cput7j2c.js +0 -742
  264. package/.output/server/node_modules/@kubb/fabric-core/dist/parsers/typescript.js +0 -101
  265. package/.output/server/node_modules/@kubb/fabric-core/dist/parsers.js +0 -17
  266. package/.output/server/node_modules/@kubb/fabric-core/dist/plugins.js +0 -375
  267. package/.output/server/node_modules/@kubb/fabric-core/package.json +0 -111
  268. package/.output/server/node_modules/@kubb/oas/dist/chunk--u3MIqq1.js +0 -8
  269. package/.output/server/node_modules/@kubb/oas/dist/index.js +0 -918
  270. package/.output/server/node_modules/@kubb/oas/package.json +0 -94
  271. package/.output/server/node_modules/@kubb/plugin-client/dist/StaticClassClient-bCe7RG_w.js +0 -636
  272. package/.output/server/node_modules/@kubb/plugin-client/dist/chunk--u3MIqq1.js +0 -8
  273. package/.output/server/node_modules/@kubb/plugin-client/dist/components.js +0 -2
  274. package/.output/server/node_modules/@kubb/plugin-client/dist/generators-BffddRNu.js +0 -723
  275. package/.output/server/node_modules/@kubb/plugin-client/dist/index.js +0 -124
  276. package/.output/server/node_modules/@kubb/plugin-client/dist/templates/clients/axios.source.js +0 -6
  277. package/.output/server/node_modules/@kubb/plugin-client/dist/templates/clients/fetch.source.js +0 -6
  278. package/.output/server/node_modules/@kubb/plugin-client/dist/templates/config.source.js +0 -6
  279. package/.output/server/node_modules/@kubb/plugin-client/package.json +0 -153
  280. package/.output/server/node_modules/@kubb/plugin-cypress/dist/chunk--u3MIqq1.js +0 -8
  281. package/.output/server/node_modules/@kubb/plugin-cypress/dist/components-BK_6GU4v.js +0 -257
  282. package/.output/server/node_modules/@kubb/plugin-cypress/dist/generators-D5YFtyyC.js +0 -71
  283. package/.output/server/node_modules/@kubb/plugin-cypress/dist/index.js +0 -79
  284. package/.output/server/node_modules/@kubb/plugin-cypress/package.json +0 -108
  285. package/.output/server/node_modules/@kubb/plugin-faker/dist/chunk--u3MIqq1.js +0 -8
  286. package/.output/server/node_modules/@kubb/plugin-faker/dist/components-BkBIov4R.js +0 -419
  287. package/.output/server/node_modules/@kubb/plugin-faker/dist/fakerGenerator-BztogaeO.js +0 -200
  288. package/.output/server/node_modules/@kubb/plugin-faker/dist/index.js +0 -141
  289. package/.output/server/node_modules/@kubb/plugin-faker/package.json +0 -103
  290. package/.output/server/node_modules/@kubb/plugin-mcp/dist/Server-H3SwqhwF.js +0 -178
  291. package/.output/server/node_modules/@kubb/plugin-mcp/dist/chunk--u3MIqq1.js +0 -8
  292. package/.output/server/node_modules/@kubb/plugin-mcp/dist/generators-BqkMrcs9.js +0 -274
  293. package/.output/server/node_modules/@kubb/plugin-mcp/dist/index.js +0 -122
  294. package/.output/server/node_modules/@kubb/plugin-mcp/package.json +0 -107
  295. package/.output/server/node_modules/@kubb/plugin-msw/dist/chunk--u3MIqq1.js +0 -8
  296. package/.output/server/node_modules/@kubb/plugin-msw/dist/components-DgtTZkWX.js +0 -277
  297. package/.output/server/node_modules/@kubb/plugin-msw/dist/generators-C34kqa1L.js +0 -161
  298. package/.output/server/node_modules/@kubb/plugin-msw/dist/index.js +0 -84
  299. package/.output/server/node_modules/@kubb/plugin-msw/package.json +0 -109
  300. package/.output/server/node_modules/@kubb/plugin-oas/dist/SchemaMapper-CqMkO2T1.js +0 -58
  301. package/.output/server/node_modules/@kubb/plugin-oas/dist/chunk--u3MIqq1.js +0 -8
  302. package/.output/server/node_modules/@kubb/plugin-oas/dist/generators-D7C3CXsN.js +0 -79
  303. package/.output/server/node_modules/@kubb/plugin-oas/dist/generators.js +0 -2
  304. package/.output/server/node_modules/@kubb/plugin-oas/dist/getFooter-Pw3tLCiV.js +0 -112
  305. package/.output/server/node_modules/@kubb/plugin-oas/dist/hooks.js +0 -200
  306. package/.output/server/node_modules/@kubb/plugin-oas/dist/index.js +0 -408
  307. package/.output/server/node_modules/@kubb/plugin-oas/dist/requestBody-pRavthCw.js +0 -1336
  308. package/.output/server/node_modules/@kubb/plugin-oas/dist/utils.js +0 -268
  309. package/.output/server/node_modules/@kubb/plugin-oas/package.json +0 -122
  310. package/.output/server/node_modules/@kubb/plugin-react-query/dist/chunk--u3MIqq1.js +0 -8
  311. package/.output/server/node_modules/@kubb/plugin-react-query/dist/components-CpyHYGOw.js +0 -1520
  312. package/.output/server/node_modules/@kubb/plugin-react-query/dist/generators-CpiBv5eE.js +0 -1427
  313. package/.output/server/node_modules/@kubb/plugin-react-query/dist/index.js +0 -166
  314. package/.output/server/node_modules/@kubb/plugin-react-query/package.json +0 -112
  315. package/.output/server/node_modules/@kubb/plugin-redoc/dist/chunk--u3MIqq1.js +0 -8
  316. package/.output/server/node_modules/@kubb/plugin-redoc/dist/index.js +0 -65
  317. package/.output/server/node_modules/@kubb/plugin-redoc/package.json +0 -85
  318. package/.output/server/node_modules/@kubb/plugin-redoc/static/redoc.hbs +0 -22
  319. package/.output/server/node_modules/@kubb/plugin-solid-query/dist/chunk--u3MIqq1.js +0 -8
  320. package/.output/server/node_modules/@kubb/plugin-solid-query/dist/components-BhStIi1M.js +0 -665
  321. package/.output/server/node_modules/@kubb/plugin-solid-query/dist/generators-CQClzsST.js +0 -415
  322. package/.output/server/node_modules/@kubb/plugin-solid-query/dist/index.js +0 -145
  323. package/.output/server/node_modules/@kubb/plugin-solid-query/package.json +0 -113
  324. package/.output/server/node_modules/@kubb/plugin-svelte-query/dist/chunk--u3MIqq1.js +0 -8
  325. package/.output/server/node_modules/@kubb/plugin-svelte-query/dist/components-DntKBsnB.js +0 -666
  326. package/.output/server/node_modules/@kubb/plugin-svelte-query/dist/generators-BtTsGGrM.js +0 -414
  327. package/.output/server/node_modules/@kubb/plugin-svelte-query/dist/index.js +0 -145
  328. package/.output/server/node_modules/@kubb/plugin-svelte-query/package.json +0 -113
  329. package/.output/server/node_modules/@kubb/plugin-swr/dist/chunk--u3MIqq1.js +0 -8
  330. package/.output/server/node_modules/@kubb/plugin-swr/dist/components-DRDGvgXG.js +0 -702
  331. package/.output/server/node_modules/@kubb/plugin-swr/dist/generators-ClWZJ-YG.js +0 -399
  332. package/.output/server/node_modules/@kubb/plugin-swr/dist/index.js +0 -144
  333. package/.output/server/node_modules/@kubb/plugin-swr/package.json +0 -115
  334. package/.output/server/node_modules/@kubb/plugin-ts/dist/chunk--u3MIqq1.js +0 -8
  335. package/.output/server/node_modules/@kubb/plugin-ts/dist/components-C7fu-sK1.js +0 -723
  336. package/.output/server/node_modules/@kubb/plugin-ts/dist/index.js +0 -2
  337. package/.output/server/node_modules/@kubb/plugin-ts/dist/plugin-CYC-FGXe.js +0 -479
  338. package/.output/server/node_modules/@kubb/plugin-ts/package.json +0 -105
  339. package/.output/server/node_modules/@kubb/plugin-vue-query/dist/chunk--u3MIqq1.js +0 -8
  340. package/.output/server/node_modules/@kubb/plugin-vue-query/dist/components-_AMBl0g-.js +0 -1029
  341. package/.output/server/node_modules/@kubb/plugin-vue-query/dist/generators-Zb1s5Wmb.js +0 -661
  342. package/.output/server/node_modules/@kubb/plugin-vue-query/dist/index.js +0 -157
  343. package/.output/server/node_modules/@kubb/plugin-vue-query/package.json +0 -114
  344. package/.output/server/node_modules/@kubb/plugin-zod/dist/chunk--u3MIqq1.js +0 -8
  345. package/.output/server/node_modules/@kubb/plugin-zod/dist/components-eECfXVou.js +0 -842
  346. package/.output/server/node_modules/@kubb/plugin-zod/dist/generators-D1R6NNf2.js +0 -290
  347. package/.output/server/node_modules/@kubb/plugin-zod/dist/index.js +0 -175
  348. package/.output/server/node_modules/@kubb/plugin-zod/dist/templates/ToZod.source.js +0 -6
  349. package/.output/server/node_modules/@kubb/plugin-zod/package.json +0 -112
  350. package/.output/server/node_modules/@kubb/react-fabric/dist/chunk-BGCRLu6H.js +0 -38
  351. package/.output/server/node_modules/@kubb/react-fabric/dist/index.js +0 -525
  352. package/.output/server/node_modules/@kubb/react-fabric/dist/jsx-runtime-Bl0DfUmV.js +0 -1448
  353. package/.output/server/node_modules/@kubb/react-fabric/dist/jsx-runtime.js +0 -12
  354. package/.output/server/node_modules/@kubb/react-fabric/dist/parsers.js +0 -2
  355. package/.output/server/node_modules/@kubb/react-fabric/dist/plugins.js +0 -4
  356. package/.output/server/node_modules/@kubb/react-fabric/dist/reactPlugin-QQPrjNuQ.js +0 -17813
  357. package/.output/server/node_modules/@kubb/react-fabric/package.json +0 -143
  358. package/.output/server/node_modules/@readme/better-ajv-errors/lib/helpers.js +0 -129
  359. package/.output/server/node_modules/@readme/better-ajv-errors/lib/index.js +0 -46
  360. package/.output/server/node_modules/@readme/better-ajv-errors/lib/json/get-decorated-data-path.js +0 -47
  361. package/.output/server/node_modules/@readme/better-ajv-errors/lib/json/get-meta-from-path.js +0 -33
  362. package/.output/server/node_modules/@readme/better-ajv-errors/lib/json/index.js +0 -20
  363. package/.output/server/node_modules/@readme/better-ajv-errors/lib/json/utils.js +0 -14
  364. package/.output/server/node_modules/@readme/better-ajv-errors/lib/utils.js +0 -57
  365. package/.output/server/node_modules/@readme/better-ajv-errors/lib/validation-errors/additional-prop.js +0 -53
  366. package/.output/server/node_modules/@readme/better-ajv-errors/lib/validation-errors/base.js +0 -109
  367. package/.output/server/node_modules/@readme/better-ajv-errors/lib/validation-errors/default.js +0 -55
  368. package/.output/server/node_modules/@readme/better-ajv-errors/lib/validation-errors/enum.js +0 -81
  369. package/.output/server/node_modules/@readme/better-ajv-errors/lib/validation-errors/index.js +0 -48
  370. package/.output/server/node_modules/@readme/better-ajv-errors/lib/validation-errors/pattern.js +0 -56
  371. package/.output/server/node_modules/@readme/better-ajv-errors/lib/validation-errors/required.js +0 -64
  372. package/.output/server/node_modules/@readme/better-ajv-errors/lib/validation-errors/unevaluated-prop.js +0 -53
  373. package/.output/server/node_modules/@readme/better-ajv-errors/package.json +0 -68
  374. package/.output/server/node_modules/@readme/http-status-codes/package.json +0 -25
  375. package/.output/server/node_modules/@readme/http-status-codes/src/index.js +0 -142
  376. package/.output/server/node_modules/@readme/openapi-parser/dist/chunk-IYQ77VVR.js +0 -25
  377. package/.output/server/node_modules/@readme/openapi-parser/dist/index.js +0 -923
  378. package/.output/server/node_modules/@readme/openapi-parser/dist/lib/assertions.js +0 -15
  379. package/.output/server/node_modules/@readme/openapi-parser/package.json +0 -84
  380. package/.output/server/node_modules/@readme/openapi-schemas/dist/index.mjs +0 -6153
  381. package/.output/server/node_modules/@readme/openapi-schemas/package.json +0 -67
  382. package/.output/server/node_modules/@readme/postman-to-openapi/package.json +0 -70
  383. package/.output/server/node_modules/@readme/postman-to-openapi/src/index.js +0 -714
  384. package/.output/server/node_modules/@readme/postman-to-openapi/src/md-utils.js +0 -38
  385. package/.output/server/node_modules/@readme/postman-to-openapi/src/var-replacer.js +0 -25
  386. package/.output/server/node_modules/@redocly/config/lib/asyncapi-config-schema.js +0 -53
  387. package/.output/server/node_modules/@redocly/config/lib/common.js +0 -103
  388. package/.output/server/node_modules/@redocly/config/lib/constants/config.js +0 -17
  389. package/.output/server/node_modules/@redocly/config/lib/constants/entities.js +0 -58
  390. package/.output/server/node_modules/@redocly/config/lib/constants/enum.js +0 -6
  391. package/.output/server/node_modules/@redocly/config/lib/constants/shared.js +0 -22
  392. package/.output/server/node_modules/@redocly/config/lib/default-theme-config-schema.js +0 -57
  393. package/.output/server/node_modules/@redocly/config/lib/entities-catalog-config-schema.js +0 -186
  394. package/.output/server/node_modules/@redocly/config/lib/entities-catalog-entity-file-schema.js +0 -283
  395. package/.output/server/node_modules/@redocly/config/lib/ex-theme-config-schemas.js +0 -687
  396. package/.output/server/node_modules/@redocly/config/lib/feedback-config-schema.js +0 -88
  397. package/.output/server/node_modules/@redocly/config/lib/graphql-config-schema.js +0 -157
  398. package/.output/server/node_modules/@redocly/config/lib/index.js +0 -41
  399. package/.output/server/node_modules/@redocly/config/lib/product-override-schema.js +0 -44
  400. package/.output/server/node_modules/@redocly/config/lib/redoc-config-schema.js +0 -120
  401. package/.output/server/node_modules/@redocly/config/lib/reference-docs-config-schema.js +0 -518
  402. package/.output/server/node_modules/@redocly/config/lib/remove-property-recursively.js +0 -28
  403. package/.output/server/node_modules/@redocly/config/lib/reunite-config-schema.js +0 -103
  404. package/.output/server/node_modules/@redocly/config/lib/root-config-schema.js +0 -588
  405. package/.output/server/node_modules/@redocly/config/lib/scorecards-config-schema.js +0 -242
  406. package/.output/server/node_modules/@redocly/config/lib/types/api-functions-types.js +0 -3
  407. package/.output/server/node_modules/@redocly/config/lib/types/catalog-entity-types.js +0 -3
  408. package/.output/server/node_modules/@redocly/config/lib/types/code-walkthrough-types.js +0 -3
  409. package/.output/server/node_modules/@redocly/config/lib/types/config-types.js +0 -3
  410. package/.output/server/node_modules/@redocly/config/lib/types/index.js +0 -21
  411. package/.output/server/node_modules/@redocly/config/lib/types/portal-shared-types.js +0 -18
  412. package/.output/server/node_modules/@redocly/config/package.json +0 -28
  413. package/.output/server/node_modules/@redocly/openapi-core/lib/bundle/bundle-document.js +0 -100
  414. package/.output/server/node_modules/@redocly/openapi-core/lib/bundle/bundle-visitor.js +0 -260
  415. package/.output/server/node_modules/@redocly/openapi-core/lib/bundle/bundle.js +0 -74
  416. package/.output/server/node_modules/@redocly/openapi-core/lib/config/all.js +0 -315
  417. package/.output/server/node_modules/@redocly/openapi-core/lib/config/builtIn.js +0 -58
  418. package/.output/server/node_modules/@redocly/openapi-core/lib/config/bundle-extends.js +0 -28
  419. package/.output/server/node_modules/@redocly/openapi-core/lib/config/config-resolvers.js +0 -344
  420. package/.output/server/node_modules/@redocly/openapi-core/lib/config/config.js +0 -343
  421. package/.output/server/node_modules/@redocly/openapi-core/lib/config/constants.js +0 -13
  422. package/.output/server/node_modules/@redocly/openapi-core/lib/config/get-resolve-config.js +0 -9
  423. package/.output/server/node_modules/@redocly/openapi-core/lib/config/group-assertion-rules.js +0 -51
  424. package/.output/server/node_modules/@redocly/openapi-core/lib/config/index.js +0 -8
  425. package/.output/server/node_modules/@redocly/openapi-core/lib/config/load.js +0 -98
  426. package/.output/server/node_modules/@redocly/openapi-core/lib/config/minimal.js +0 -294
  427. package/.output/server/node_modules/@redocly/openapi-core/lib/config/recommended-strict.js +0 -294
  428. package/.output/server/node_modules/@redocly/openapi-core/lib/config/recommended.js +0 -294
  429. package/.output/server/node_modules/@redocly/openapi-core/lib/config/rules.js +0 -35
  430. package/.output/server/node_modules/@redocly/openapi-core/lib/config/spec.js +0 -294
  431. package/.output/server/node_modules/@redocly/openapi-core/lib/config/types.js +0 -2
  432. package/.output/server/node_modules/@redocly/openapi-core/lib/config/utils.js +0 -129
  433. package/.output/server/node_modules/@redocly/openapi-core/lib/config/visitors.js +0 -99
  434. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/arazzo/index.js +0 -2
  435. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/async2/index.js +0 -2
  436. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/async3/index.js +0 -2
  437. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/common/filters/filter-helper.js +0 -65
  438. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/common/filters/filter-in.js +0 -67
  439. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/common/filters/filter-out.js +0 -67
  440. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/common/info-description-override.js +0 -21
  441. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/common/info-override.js +0 -14
  442. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/common/media-type-examples-override.js +0 -58
  443. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/common/operation-description-override.js +0 -27
  444. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/common/remove-x-internal.js +0 -68
  445. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/common/tag-description-override.js +0 -23
  446. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/oas2/index.js +0 -19
  447. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/oas2/remove-unused-components.js +0 -97
  448. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/oas3/index.js +0 -21
  449. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/oas3/remove-unused-components.js +0 -120
  450. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/openrpc/index.js +0 -2
  451. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/overlay1/index.js +0 -2
  452. package/.output/server/node_modules/@redocly/openapi-core/lib/detect-spec.js +0 -79
  453. package/.output/server/node_modules/@redocly/openapi-core/lib/env.js +0 -5
  454. package/.output/server/node_modules/@redocly/openapi-core/lib/errors/yaml-parse-error.js +0 -14
  455. package/.output/server/node_modules/@redocly/openapi-core/lib/format/codeframes.js +0 -177
  456. package/.output/server/node_modules/@redocly/openapi-core/lib/format/format.js +0 -365
  457. package/.output/server/node_modules/@redocly/openapi-core/lib/index.js +0 -50
  458. package/.output/server/node_modules/@redocly/openapi-core/lib/js-yaml/index.js +0 -11
  459. package/.output/server/node_modules/@redocly/openapi-core/lib/lint-entity.js +0 -171
  460. package/.output/server/node_modules/@redocly/openapi-core/lib/lint.js +0 -123
  461. package/.output/server/node_modules/@redocly/openapi-core/lib/logger.js +0 -56
  462. package/.output/server/node_modules/@redocly/openapi-core/lib/oas-types.js +0 -35
  463. package/.output/server/node_modules/@redocly/openapi-core/lib/ref-utils.js +0 -110
  464. package/.output/server/node_modules/@redocly/openapi-core/lib/resolve.js +0 -326
  465. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/ajv.js +0 -106
  466. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/criteria-unique.js +0 -68
  467. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/index.js +0 -54
  468. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/outputs-defined.js +0 -139
  469. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/parameters-unique.js +0 -27
  470. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/requestBody-replacements-unique.js +0 -30
  471. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/sourceDescription-type.js +0 -19
  472. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/sourceDescriptions-name-unique.js +0 -21
  473. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/sourceDescriptions-not-empty.js +0 -15
  474. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/step-onFailure-unique.js +0 -27
  475. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/step-onSuccess-unique.js +0 -27
  476. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/stepId-unique.js +0 -23
  477. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/workflow-dependsOn.js +0 -53
  478. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/workflowId-unique.js +0 -19
  479. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/async2/channels-kebab-case.js +0 -16
  480. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/async2/index.js +0 -34
  481. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/async2/no-channel-trailing-slash.js +0 -13
  482. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/async3/channels-kebab-case.js +0 -16
  483. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/async3/index.js +0 -34
  484. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/async3/no-channel-trailing-slash.js +0 -13
  485. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/catalog-entity/entity-key-valid.js +0 -39
  486. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/assertions/asserts.js +0 -272
  487. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/assertions/index.js +0 -22
  488. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/assertions/utils.js +0 -215
  489. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/info-contact.js +0 -14
  490. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/info-license-strict.js +0 -23
  491. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/info-license.js +0 -14
  492. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/no-ambiguous-paths.js +0 -42
  493. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/no-duplicated-tag-names.js +0 -21
  494. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/no-enum-type-mismatch.js +0 -38
  495. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/no-http-verbs-in-paths.js +0 -33
  496. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/no-identical-paths.js +0 -21
  497. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/no-invalid-parameter-examples.js +0 -32
  498. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/no-invalid-schema-examples.js +0 -34
  499. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/no-mixed-number-range-constraints.js +0 -19
  500. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/no-path-trailing-slash.js +0 -13
  501. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/no-required-schema-properties-undefined.js +0 -64
  502. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/no-schema-type-mismatch.js +0 -19
  503. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/no-unresolved-refs.js +0 -42
  504. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/operation-2xx-response.js +0 -20
  505. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/operation-4xx-response.js +0 -20
  506. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/operation-description.js +0 -9
  507. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/operation-operationId-unique.js +0 -17
  508. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/operation-operationId-url-safe.js +0 -15
  509. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/operation-operationId.js +0 -13
  510. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/operation-parameters-unique.js +0 -37
  511. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/operation-singular-tag.js +0 -13
  512. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/operation-summary.js +0 -9
  513. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/operation-tag-defined.js +0 -27
  514. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/parameter-description.js +0 -19
  515. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/path-declaration-must-exist.js +0 -13
  516. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/path-http-verbs-order.js +0 -23
  517. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/path-not-include-query.js +0 -15
  518. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/path-params-defined.js +0 -145
  519. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/path-segment-plural.js +0 -30
  520. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/paths-kebab-case.js +0 -17
  521. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/required-string-property-missing-min-length.js +0 -34
  522. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/response-contains-header.js +0 -26
  523. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/scalar-property-missing-example.js +0 -39
  524. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/security-defined.js +0 -62
  525. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/spec-strict-refs.js +0 -27
  526. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/struct.js +0 -150
  527. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/tag-description.js +0 -9
  528. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/tags-alphabetical.js +0 -18
  529. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas2/boolean-parameter-prefixes.js +0 -19
  530. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas2/index.js +0 -93
  531. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas2/request-mime-type.js +0 -14
  532. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas2/response-contains-property.js +0 -34
  533. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas2/response-mime-type.js +0 -14
  534. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/array-parameter-serialization.js +0 -26
  535. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/boolean-parameter-prefixes.js +0 -21
  536. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/component-name-unique.js +0 -130
  537. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/index.js +0 -131
  538. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/no-empty-servers.js +0 -20
  539. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/no-example-value-and-externalValue.js +0 -13
  540. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/no-invalid-media-type-examples.js +0 -59
  541. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/no-server-example.com.js +0 -15
  542. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/no-server-trailing-slash.js +0 -15
  543. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/no-server-variables-empty-enum.js +0 -58
  544. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/no-undefined-server-variable.js +0 -28
  545. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/no-unused-components.js +0 -83
  546. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/nullable-type-sibling.js +0 -15
  547. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/operation-4xx-problem-details-rfc7807.js +0 -33
  548. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/request-mime-type.js +0 -28
  549. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/response-contains-property.js +0 -36
  550. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/response-mime-type.js +0 -28
  551. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/spec-components-invalid-map-name.js +0 -59
  552. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/spec-discriminator-defaultMapping.js +0 -53
  553. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/spec-example-values.js +0 -31
  554. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/spec-no-invalid-encoding-combinations.js +0 -16
  555. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/spec-no-invalid-tag-parents.js +0 -38
  556. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/spec-querystring-parameters.js +0 -65
  557. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/openrpc/index.js +0 -20
  558. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/openrpc/no-unused-components.js +0 -82
  559. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/openrpc/spec-no-duplicated-method-params.js +0 -28
  560. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/openrpc/spec-no-required-params-after-optional.js +0 -31
  561. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/other/stats.js +0 -190
  562. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/overlay1/index.js +0 -12
  563. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/respect/no-criteria-xpath.js +0 -20
  564. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/respect/no-x-security-both-scheme-and-scheme-name.js +0 -30
  565. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/respect/no-x-security-scheme-name-without-openapi.js +0 -25
  566. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/respect/respect-supported-versions.js +0 -18
  567. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/respect/x-security-scheme-name-reference.js +0 -35
  568. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/respect/x-security-scheme-required-values.js +0 -60
  569. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/utils.js +0 -181
  570. package/.output/server/node_modules/@redocly/openapi-core/lib/types/arazzo.js +0 -482
  571. package/.output/server/node_modules/@redocly/openapi-core/lib/types/asyncapi2.js +0 -1157
  572. package/.output/server/node_modules/@redocly/openapi-core/lib/types/asyncapi3.js +0 -511
  573. package/.output/server/node_modules/@redocly/openapi-core/lib/types/entity.js +0 -32
  574. package/.output/server/node_modules/@redocly/openapi-core/lib/types/index.js +0 -90
  575. package/.output/server/node_modules/@redocly/openapi-core/lib/types/json-schema-adapter.js +0 -181
  576. package/.output/server/node_modules/@redocly/openapi-core/lib/types/json-schema-draft7.shared.js +0 -101
  577. package/.output/server/node_modules/@redocly/openapi-core/lib/types/oas2.js +0 -454
  578. package/.output/server/node_modules/@redocly/openapi-core/lib/types/oas3.js +0 -828
  579. package/.output/server/node_modules/@redocly/openapi-core/lib/types/oas3_1.js +0 -292
  580. package/.output/server/node_modules/@redocly/openapi-core/lib/types/oas3_2.js +0 -312
  581. package/.output/server/node_modules/@redocly/openapi-core/lib/types/openrpc.js +0 -360
  582. package/.output/server/node_modules/@redocly/openapi-core/lib/types/overlay.js +0 -61
  583. package/.output/server/node_modules/@redocly/openapi-core/lib/types/redocly-yaml.js +0 -577
  584. package/.output/server/node_modules/@redocly/openapi-core/lib/typings/arazzo.js +0 -3
  585. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/assign-config.js +0 -28
  586. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/dequal.js +0 -36
  587. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/does-yaml-file-exist.js +0 -7
  588. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/error.js +0 -3
  589. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/get-intersection-length.js +0 -11
  590. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/get-matching-status-code-range.js +0 -4
  591. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/get-own.js +0 -4
  592. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/identity.js +0 -4
  593. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/is-custom-rule-id.js +0 -4
  594. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/is-defined.js +0 -4
  595. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/is-empty-array.js +0 -4
  596. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/is-empty-object.js +0 -5
  597. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/is-not-empty-array.js +0 -4
  598. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/is-not-empty-object.js +0 -6
  599. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/is-not-string.js +0 -5
  600. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/is-ordered.js +0 -27
  601. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/is-path-parameter.js +0 -4
  602. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/is-plain-object.js +0 -4
  603. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/is-string.js +0 -4
  604. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/is-truthy.js +0 -4
  605. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/keys-of.js +0 -6
  606. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/make-ref-id.js +0 -4
  607. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/next-tick.js +0 -6
  608. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/oas-has-component.js +0 -4
  609. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/omit.js +0 -8
  610. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/pause.js +0 -4
  611. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/pluralize.js +0 -8
  612. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/read-file-from-url.js +0 -26
  613. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/regex-from-string.js +0 -5
  614. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/scorecards.js +0 -99
  615. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/slash.js +0 -11
  616. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/split-camel-case-into-words.js +0 -13
  617. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/stack.js +0 -7
  618. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/validate-mime-type.js +0 -31
  619. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/yaml-fs-helper.js +0 -23
  620. package/.output/server/node_modules/@redocly/openapi-core/lib/visitors.js +0 -177
  621. package/.output/server/node_modules/@redocly/openapi-core/lib/walk.js +0 -315
  622. package/.output/server/node_modules/@redocly/openapi-core/package.json +0 -74
  623. package/.output/server/node_modules/@stoplight/ordered-object-literal/package.json +0 -53
  624. package/.output/server/node_modules/@stoplight/ordered-object-literal/src/index.cjs +0 -221
  625. package/.output/server/node_modules/@stoplight/types/dist/index.js +0 -129
  626. package/.output/server/node_modules/@stoplight/types/package.json +0 -81
  627. package/.output/server/node_modules/@stoplight/yaml/buildJsonPath.js +0 -41
  628. package/.output/server/node_modules/@stoplight/yaml/dereferenceAnchor.js +0 -38
  629. package/.output/server/node_modules/@stoplight/yaml/getJsonPathForPosition.js +0 -98
  630. package/.output/server/node_modules/@stoplight/yaml/getLocationForJsonPath.js +0 -145
  631. package/.output/server/node_modules/@stoplight/yaml/index.js +0 -16
  632. package/.output/server/node_modules/@stoplight/yaml/lineForPosition.js +0 -31
  633. package/.output/server/node_modules/@stoplight/yaml/package.json +0 -33
  634. package/.output/server/node_modules/@stoplight/yaml/parse.js +0 -5
  635. package/.output/server/node_modules/@stoplight/yaml/parseWithPointers.js +0 -456
  636. package/.output/server/node_modules/@stoplight/yaml/safeStringify.js +0 -5
  637. package/.output/server/node_modules/@stoplight/yaml/trapAccess.js +0 -11
  638. package/.output/server/node_modules/@stoplight/yaml/types.js +0 -6
  639. package/.output/server/node_modules/@stoplight/yaml/utils.js +0 -4
  640. package/.output/server/node_modules/@stoplight/yaml-ast-parser/dist/src/common.js +0 -45
  641. package/.output/server/node_modules/@stoplight/yaml-ast-parser/dist/src/dumper.js +0 -710
  642. package/.output/server/node_modules/@stoplight/yaml-ast-parser/dist/src/exception.js +0 -35
  643. package/.output/server/node_modules/@stoplight/yaml-ast-parser/dist/src/index.js +0 -22
  644. package/.output/server/node_modules/@stoplight/yaml-ast-parser/dist/src/loader.js +0 -1414
  645. package/.output/server/node_modules/@stoplight/yaml-ast-parser/dist/src/mark.js +0 -58
  646. package/.output/server/node_modules/@stoplight/yaml-ast-parser/dist/src/scalarInference.js +0 -90
  647. package/.output/server/node_modules/@stoplight/yaml-ast-parser/dist/src/schema/core.js +0 -8
  648. package/.output/server/node_modules/@stoplight/yaml-ast-parser/dist/src/schema/default_full.js +0 -14
  649. package/.output/server/node_modules/@stoplight/yaml-ast-parser/dist/src/schema/default_safe.js +0 -19
  650. package/.output/server/node_modules/@stoplight/yaml-ast-parser/dist/src/schema/failsafe.js +0 -10
  651. package/.output/server/node_modules/@stoplight/yaml-ast-parser/dist/src/schema/json.js +0 -14
  652. package/.output/server/node_modules/@stoplight/yaml-ast-parser/dist/src/schema.js +0 -77
  653. package/.output/server/node_modules/@stoplight/yaml-ast-parser/dist/src/type/binary.js +0 -92
  654. package/.output/server/node_modules/@stoplight/yaml-ast-parser/dist/src/type/bool.js +0 -32
  655. package/.output/server/node_modules/@stoplight/yaml-ast-parser/dist/src/type/float.js +0 -94
  656. package/.output/server/node_modules/@stoplight/yaml-ast-parser/dist/src/type/int.js +0 -159
  657. package/.output/server/node_modules/@stoplight/yaml-ast-parser/dist/src/type/js/regexp.js +0 -64
  658. package/.output/server/node_modules/@stoplight/yaml-ast-parser/dist/src/type/js/undefined.js +0 -22
  659. package/.output/server/node_modules/@stoplight/yaml-ast-parser/dist/src/type/map.js +0 -7
  660. package/.output/server/node_modules/@stoplight/yaml-ast-parser/dist/src/type/merge.js +0 -10
  661. package/.output/server/node_modules/@stoplight/yaml-ast-parser/dist/src/type/null.js +0 -30
  662. package/.output/server/node_modules/@stoplight/yaml-ast-parser/dist/src/type/omap.js +0 -46
  663. package/.output/server/node_modules/@stoplight/yaml-ast-parser/dist/src/type/pairs.js +0 -55
  664. package/.output/server/node_modules/@stoplight/yaml-ast-parser/dist/src/type/seq.js +0 -7
  665. package/.output/server/node_modules/@stoplight/yaml-ast-parser/dist/src/type/set.js +0 -22
  666. package/.output/server/node_modules/@stoplight/yaml-ast-parser/dist/src/type/str.js +0 -7
  667. package/.output/server/node_modules/@stoplight/yaml-ast-parser/dist/src/type/timestamp.js +0 -70
  668. package/.output/server/node_modules/@stoplight/yaml-ast-parser/dist/src/type.js +0 -53
  669. package/.output/server/node_modules/@stoplight/yaml-ast-parser/dist/src/yamlAST.js +0 -81
  670. package/.output/server/node_modules/@stoplight/yaml-ast-parser/package.json +0 -38
  671. package/.output/server/node_modules/ajv-draft-04/dist/index.js +0 -50
  672. package/.output/server/node_modules/ajv-draft-04/dist/refs/json-schema-draft-04.json +0 -138
  673. package/.output/server/node_modules/ajv-draft-04/dist/vocabulary/core.js +0 -13
  674. package/.output/server/node_modules/ajv-draft-04/dist/vocabulary/draft4.js +0 -16
  675. package/.output/server/node_modules/ajv-draft-04/dist/vocabulary/validation/index.js +0 -35
  676. package/.output/server/node_modules/ajv-draft-04/dist/vocabulary/validation/limitNumber.js +0 -44
  677. package/.output/server/node_modules/ajv-draft-04/dist/vocabulary/validation/limitNumberExclusive.js +0 -19
  678. package/.output/server/node_modules/ajv-draft-04/package.json +0 -74
  679. package/.output/server/node_modules/ajv-formats/dist/formats.js +0 -208
  680. package/.output/server/node_modules/ajv-formats/dist/index.js +0 -37
  681. package/.output/server/node_modules/ajv-formats/dist/limit.js +0 -69
  682. package/.output/server/node_modules/ajv-formats/package.json +0 -74
  683. package/.output/server/node_modules/buffer-from/index.js +0 -72
  684. package/.output/server/node_modules/buffer-from/package.json +0 -19
  685. package/.output/server/node_modules/call-me-maybe/package.json +0 -45
  686. package/.output/server/node_modules/call-me-maybe/src/maybe.js +0 -18
  687. package/.output/server/node_modules/call-me-maybe/src/next.js +0 -15
  688. package/.output/server/node_modules/colorette/index.js +0 -82
  689. package/.output/server/node_modules/colorette/package.json +0 -39
  690. package/.output/server/node_modules/compute-gcd/lib/index.js +0 -212
  691. package/.output/server/node_modules/compute-gcd/package.json +0 -73
  692. package/.output/server/node_modules/compute-lcm/lib/index.js +0 -111
  693. package/.output/server/node_modules/compute-lcm/package.json +0 -71
  694. package/.output/server/node_modules/d/index.js +0 -62
  695. package/.output/server/node_modules/d/package.json +0 -92
  696. package/.output/server/node_modules/empathic/access.js +0 -39
  697. package/.output/server/node_modules/empathic/access.mjs +0 -34
  698. package/.output/server/node_modules/empathic/find.js +0 -81
  699. package/.output/server/node_modules/empathic/find.mjs +0 -76
  700. package/.output/server/node_modules/empathic/package.json +0 -49
  701. package/.output/server/node_modules/empathic/package.mjs +0 -52
  702. package/.output/server/node_modules/empathic/resolve.js +0 -31
  703. package/.output/server/node_modules/empathic/resolve.mjs +0 -27
  704. package/.output/server/node_modules/empathic/walk.js +0 -22
  705. package/.output/server/node_modules/empathic/walk.mjs +0 -20
  706. package/.output/server/node_modules/es5-ext/array/#/e-index-of.js +0 -28
  707. package/.output/server/node_modules/es5-ext/array/from/index.js +0 -3
  708. package/.output/server/node_modules/es5-ext/array/from/is-implemented.js +0 -9
  709. package/.output/server/node_modules/es5-ext/array/from/shim.js +0 -119
  710. package/.output/server/node_modules/es5-ext/array/to-array.js +0 -6
  711. package/.output/server/node_modules/es5-ext/error/custom.js +0 -20
  712. package/.output/server/node_modules/es5-ext/function/_define-length.js +0 -54
  713. package/.output/server/node_modules/es5-ext/function/is-arguments.js +0 -6
  714. package/.output/server/node_modules/es5-ext/function/is-function.js +0 -8
  715. package/.output/server/node_modules/es5-ext/function/noop.js +0 -4
  716. package/.output/server/node_modules/es5-ext/math/sign/index.js +0 -3
  717. package/.output/server/node_modules/es5-ext/math/sign/is-implemented.js +0 -7
  718. package/.output/server/node_modules/es5-ext/math/sign/shim.js +0 -7
  719. package/.output/server/node_modules/es5-ext/number/is-nan/index.js +0 -3
  720. package/.output/server/node_modules/es5-ext/number/is-nan/is-implemented.js +0 -7
  721. package/.output/server/node_modules/es5-ext/number/is-nan/shim.js +0 -6
  722. package/.output/server/node_modules/es5-ext/number/to-integer.js +0 -12
  723. package/.output/server/node_modules/es5-ext/number/to-pos-integer.js +0 -6
  724. package/.output/server/node_modules/es5-ext/object/_iterate.js +0 -30
  725. package/.output/server/node_modules/es5-ext/object/assign/index.js +0 -3
  726. package/.output/server/node_modules/es5-ext/object/assign/is-implemented.js +0 -9
  727. package/.output/server/node_modules/es5-ext/object/assign/shim.js +0 -23
  728. package/.output/server/node_modules/es5-ext/object/for-each.js +0 -3
  729. package/.output/server/node_modules/es5-ext/object/is-callable.js +0 -5
  730. package/.output/server/node_modules/es5-ext/object/is-object.js +0 -7
  731. package/.output/server/node_modules/es5-ext/object/is-value.js +0 -5
  732. package/.output/server/node_modules/es5-ext/object/keys/index.js +0 -3
  733. package/.output/server/node_modules/es5-ext/object/keys/is-implemented.js +0 -10
  734. package/.output/server/node_modules/es5-ext/object/keys/shim.js +0 -7
  735. package/.output/server/node_modules/es5-ext/object/map.js +0 -14
  736. package/.output/server/node_modules/es5-ext/object/mixin.js +0 -26
  737. package/.output/server/node_modules/es5-ext/object/normalize-options.js +0 -20
  738. package/.output/server/node_modules/es5-ext/object/primitive-set.js +0 -10
  739. package/.output/server/node_modules/es5-ext/object/valid-callable.js +0 -6
  740. package/.output/server/node_modules/es5-ext/object/valid-value.js +0 -8
  741. package/.output/server/node_modules/es5-ext/object/validate-stringifiable-value.js +0 -6
  742. package/.output/server/node_modules/es5-ext/object/validate-stringifiable.js +0 -12
  743. package/.output/server/node_modules/es5-ext/package.json +0 -127
  744. package/.output/server/node_modules/es5-ext/safe-to-string.js +0 -12
  745. package/.output/server/node_modules/es5-ext/string/#/contains/index.js +0 -3
  746. package/.output/server/node_modules/es5-ext/string/#/contains/is-implemented.js +0 -8
  747. package/.output/server/node_modules/es5-ext/string/#/contains/shim.js +0 -7
  748. package/.output/server/node_modules/es5-ext/string/is-string.js +0 -13
  749. package/.output/server/node_modules/es5-ext/to-short-string-representation.js +0 -16
  750. package/.output/server/node_modules/es6-symbol/index.js +0 -5
  751. package/.output/server/node_modules/es6-symbol/is-implemented.js +0 -20
  752. package/.output/server/node_modules/es6-symbol/is-symbol.js +0 -9
  753. package/.output/server/node_modules/es6-symbol/lib/private/generate-name.js +0 -28
  754. package/.output/server/node_modules/es6-symbol/lib/private/setup/standard-symbols.js +0 -34
  755. package/.output/server/node_modules/es6-symbol/lib/private/setup/symbol-registry.js +0 -23
  756. package/.output/server/node_modules/es6-symbol/package.json +0 -107
  757. package/.output/server/node_modules/es6-symbol/polyfill.js +0 -86
  758. package/.output/server/node_modules/es6-symbol/validate-symbol.js +0 -8
  759. package/.output/server/node_modules/event-emitter/index.js +0 -132
  760. package/.output/server/node_modules/event-emitter/package.json +0 -34
  761. package/.output/server/node_modules/ext/global-this/implementation.js +0 -31
  762. package/.output/server/node_modules/ext/global-this/index.js +0 -3
  763. package/.output/server/node_modules/ext/global-this/is-implemented.js +0 -7
  764. package/.output/server/node_modules/ext/package.json +0 -152
  765. package/.output/server/node_modules/fast-deep-equal/index.js +0 -46
  766. package/.output/server/node_modules/fast-deep-equal/package.json +0 -61
  767. package/.output/server/node_modules/fast-safe-stringify/index.js +0 -229
  768. package/.output/server/node_modules/fast-safe-stringify/package.json +0 -46
  769. package/.output/server/node_modules/fast-string-truncated-width/dist/index.js +0 -171
  770. package/.output/server/node_modules/fast-string-truncated-width/dist/utils.js +0 -15
  771. package/.output/server/node_modules/fast-string-truncated-width/package.json +0 -35
  772. package/.output/server/node_modules/fast-string-width/dist/index.js +0 -14
  773. package/.output/server/node_modules/fast-string-width/package.json +0 -34
  774. package/.output/server/node_modules/fast-uri/index.js +0 -340
  775. package/.output/server/node_modules/fast-uri/lib/schemes.js +0 -267
  776. package/.output/server/node_modules/fast-uri/lib/utils.js +0 -336
  777. package/.output/server/node_modules/fast-uri/package.json +0 -69
  778. package/.output/server/node_modules/fast-wrap-ansi/lib/main.js +0 -216
  779. package/.output/server/node_modules/fast-wrap-ansi/package.json +0 -51
  780. package/.output/server/node_modules/handlebars/dist/cjs/handlebars/base.js +0 -116
  781. package/.output/server/node_modules/handlebars/dist/cjs/handlebars/compiler/ast.js +0 -31
  782. package/.output/server/node_modules/handlebars/dist/cjs/handlebars/compiler/base.js +0 -116
  783. package/.output/server/node_modules/handlebars/dist/cjs/handlebars/compiler/code-gen.js +0 -168
  784. package/.output/server/node_modules/handlebars/dist/cjs/handlebars/compiler/compiler.js +0 -566
  785. package/.output/server/node_modules/handlebars/dist/cjs/handlebars/compiler/helpers.js +0 -228
  786. package/.output/server/node_modules/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js +0 -1166
  787. package/.output/server/node_modules/handlebars/dist/cjs/handlebars/compiler/parser.js +0 -737
  788. package/.output/server/node_modules/handlebars/dist/cjs/handlebars/compiler/printer.js +0 -186
  789. package/.output/server/node_modules/handlebars/dist/cjs/handlebars/compiler/visitor.js +0 -140
  790. package/.output/server/node_modules/handlebars/dist/cjs/handlebars/compiler/whitespace-control.js +0 -221
  791. package/.output/server/node_modules/handlebars/dist/cjs/handlebars/decorators/inline.js +0 -29
  792. package/.output/server/node_modules/handlebars/dist/cjs/handlebars/decorators.js +0 -16
  793. package/.output/server/node_modules/handlebars/dist/cjs/handlebars/exception.js +0 -64
  794. package/.output/server/node_modules/handlebars/dist/cjs/handlebars/helpers/block-helper-missing.js +0 -39
  795. package/.output/server/node_modules/handlebars/dist/cjs/handlebars/helpers/each.js +0 -104
  796. package/.output/server/node_modules/handlebars/dist/cjs/handlebars/helpers/helper-missing.js +0 -25
  797. package/.output/server/node_modules/handlebars/dist/cjs/handlebars/helpers/if.js +0 -46
  798. package/.output/server/node_modules/handlebars/dist/cjs/handlebars/helpers/log.js +0 -26
  799. package/.output/server/node_modules/handlebars/dist/cjs/handlebars/helpers/lookup.js +0 -16
  800. package/.output/server/node_modules/handlebars/dist/cjs/handlebars/helpers/with.js +0 -43
  801. package/.output/server/node_modules/handlebars/dist/cjs/handlebars/helpers.js +0 -57
  802. package/.output/server/node_modules/handlebars/dist/cjs/handlebars/internal/proto-access.js +0 -78
  803. package/.output/server/node_modules/handlebars/dist/cjs/handlebars/internal/wrapHelper.js +0 -19
  804. package/.output/server/node_modules/handlebars/dist/cjs/handlebars/logger.js +0 -47
  805. package/.output/server/node_modules/handlebars/dist/cjs/handlebars/no-conflict.js +0 -30
  806. package/.output/server/node_modules/handlebars/dist/cjs/handlebars/runtime.js +0 -379
  807. package/.output/server/node_modules/handlebars/dist/cjs/handlebars/safe-string.js +0 -15
  808. package/.output/server/node_modules/handlebars/dist/cjs/handlebars/utils.js +0 -124
  809. package/.output/server/node_modules/handlebars/dist/cjs/handlebars.js +0 -66
  810. package/.output/server/node_modules/handlebars/dist/cjs/handlebars.runtime.js +0 -66
  811. package/.output/server/node_modules/handlebars/lib/index.js +0 -26
  812. package/.output/server/node_modules/handlebars/package.json +0 -134
  813. package/.output/server/node_modules/http2-client/lib/http.js +0 -17
  814. package/.output/server/node_modules/http2-client/lib/https.js +0 -18
  815. package/.output/server/node_modules/http2-client/lib/index.js +0 -21
  816. package/.output/server/node_modules/http2-client/lib/request-options.js +0 -38
  817. package/.output/server/node_modules/http2-client/lib/request.js +0 -586
  818. package/.output/server/node_modules/http2-client/lib/utils.js +0 -67
  819. package/.output/server/node_modules/http2-client/package.json +0 -38
  820. package/.output/server/node_modules/is-promise/index.js +0 -6
  821. package/.output/server/node_modules/is-promise/package.json +0 -23
  822. package/.output/server/node_modules/js-levenshtein/index.js +0 -105
  823. package/.output/server/node_modules/js-levenshtein/package.json +0 -49
  824. package/.output/server/node_modules/js-tokens/index.js +0 -23
  825. package/.output/server/node_modules/js-tokens/package.json +0 -30
  826. package/.output/server/node_modules/js-yaml/dist/js-yaml.mjs +0 -3856
  827. package/.output/server/node_modules/js-yaml/index.js +0 -47
  828. package/.output/server/node_modules/js-yaml/lib/common.js +0 -59
  829. package/.output/server/node_modules/js-yaml/lib/dumper.js +0 -965
  830. package/.output/server/node_modules/js-yaml/lib/exception.js +0 -55
  831. package/.output/server/node_modules/js-yaml/lib/loader.js +0 -1733
  832. package/.output/server/node_modules/js-yaml/lib/schema/core.js +0 -11
  833. package/.output/server/node_modules/js-yaml/lib/schema/default.js +0 -22
  834. package/.output/server/node_modules/js-yaml/lib/schema/failsafe.js +0 -17
  835. package/.output/server/node_modules/js-yaml/lib/schema/json.js +0 -19
  836. package/.output/server/node_modules/js-yaml/lib/schema.js +0 -121
  837. package/.output/server/node_modules/js-yaml/lib/snippet.js +0 -101
  838. package/.output/server/node_modules/js-yaml/lib/type/binary.js +0 -125
  839. package/.output/server/node_modules/js-yaml/lib/type/bool.js +0 -35
  840. package/.output/server/node_modules/js-yaml/lib/type/float.js +0 -97
  841. package/.output/server/node_modules/js-yaml/lib/type/int.js +0 -156
  842. package/.output/server/node_modules/js-yaml/lib/type/map.js +0 -8
  843. package/.output/server/node_modules/js-yaml/lib/type/merge.js +0 -12
  844. package/.output/server/node_modules/js-yaml/lib/type/null.js +0 -35
  845. package/.output/server/node_modules/js-yaml/lib/type/omap.js +0 -44
  846. package/.output/server/node_modules/js-yaml/lib/type/pairs.js +0 -53
  847. package/.output/server/node_modules/js-yaml/lib/type/seq.js +0 -8
  848. package/.output/server/node_modules/js-yaml/lib/type/set.js +0 -29
  849. package/.output/server/node_modules/js-yaml/lib/type/str.js +0 -8
  850. package/.output/server/node_modules/js-yaml/lib/type/timestamp.js +0 -88
  851. package/.output/server/node_modules/js-yaml/lib/type.js +0 -66
  852. package/.output/server/node_modules/js-yaml/package.json +0 -66
  853. package/.output/server/node_modules/json-schema-compare/package.json +0 -52
  854. package/.output/server/node_modules/json-schema-compare/src/index.js +0 -184
  855. package/.output/server/node_modules/json-schema-merge-allof/package.json +0 -57
  856. package/.output/server/node_modules/json-schema-merge-allof/src/common.js +0 -45
  857. package/.output/server/node_modules/json-schema-merge-allof/src/complex-resolvers/items.js +0 -98
  858. package/.output/server/node_modules/json-schema-merge-allof/src/complex-resolvers/properties.js +0 -80
  859. package/.output/server/node_modules/json-schema-merge-allof/src/index.js +0 -343
  860. package/.output/server/node_modules/json-schema-traverse/index.js +0 -93
  861. package/.output/server/node_modules/json-schema-traverse/package.json +0 -43
  862. package/.output/server/node_modules/jsonc-parser/lib/umd/impl/edit.js +0 -201
  863. package/.output/server/node_modules/jsonc-parser/lib/umd/impl/format.js +0 -265
  864. package/.output/server/node_modules/jsonc-parser/lib/umd/impl/parser.js +0 -655
  865. package/.output/server/node_modules/jsonc-parser/lib/umd/impl/scanner.js +0 -456
  866. package/.output/server/node_modules/jsonc-parser/lib/umd/main.js +0 -194
  867. package/.output/server/node_modules/jsonc-parser/package.json +0 -40
  868. package/.output/server/node_modules/jsonpointer/jsonpointer.js +0 -100
  869. package/.output/server/node_modules/jsonpointer/package.json +0 -48
  870. package/.output/server/node_modules/leven/index.js +0 -77
  871. package/.output/server/node_modules/leven/package.json +0 -57
  872. package/.output/server/node_modules/lodash/_DataView.js +0 -7
  873. package/.output/server/node_modules/lodash/_Hash.js +0 -32
  874. package/.output/server/node_modules/lodash/_ListCache.js +0 -32
  875. package/.output/server/node_modules/lodash/_Map.js +0 -7
  876. package/.output/server/node_modules/lodash/_MapCache.js +0 -32
  877. package/.output/server/node_modules/lodash/_Promise.js +0 -7
  878. package/.output/server/node_modules/lodash/_Set.js +0 -7
  879. package/.output/server/node_modules/lodash/_SetCache.js +0 -27
  880. package/.output/server/node_modules/lodash/_Stack.js +0 -27
  881. package/.output/server/node_modules/lodash/_Symbol.js +0 -6
  882. package/.output/server/node_modules/lodash/_Uint8Array.js +0 -6
  883. package/.output/server/node_modules/lodash/_WeakMap.js +0 -7
  884. package/.output/server/node_modules/lodash/_apply.js +0 -21
  885. package/.output/server/node_modules/lodash/_arrayEach.js +0 -22
  886. package/.output/server/node_modules/lodash/_arrayFilter.js +0 -25
  887. package/.output/server/node_modules/lodash/_arrayIncludes.js +0 -17
  888. package/.output/server/node_modules/lodash/_arrayIncludesWith.js +0 -22
  889. package/.output/server/node_modules/lodash/_arrayLikeKeys.js +0 -49
  890. package/.output/server/node_modules/lodash/_arrayMap.js +0 -21
  891. package/.output/server/node_modules/lodash/_arrayPush.js +0 -20
  892. package/.output/server/node_modules/lodash/_arraySome.js +0 -23
  893. package/.output/server/node_modules/lodash/_assignMergeValue.js +0 -20
  894. package/.output/server/node_modules/lodash/_assignValue.js +0 -28
  895. package/.output/server/node_modules/lodash/_assocIndexOf.js +0 -21
  896. package/.output/server/node_modules/lodash/_baseAssign.js +0 -17
  897. package/.output/server/node_modules/lodash/_baseAssignIn.js +0 -17
  898. package/.output/server/node_modules/lodash/_baseAssignValue.js +0 -25
  899. package/.output/server/node_modules/lodash/_baseClone.js +0 -166
  900. package/.output/server/node_modules/lodash/_baseCreate.js +0 -30
  901. package/.output/server/node_modules/lodash/_baseDifference.js +0 -67
  902. package/.output/server/node_modules/lodash/_baseEach.js +0 -14
  903. package/.output/server/node_modules/lodash/_baseFindIndex.js +0 -24
  904. package/.output/server/node_modules/lodash/_baseFlatten.js +0 -38
  905. package/.output/server/node_modules/lodash/_baseFor.js +0 -16
  906. package/.output/server/node_modules/lodash/_baseForOwn.js +0 -16
  907. package/.output/server/node_modules/lodash/_baseGet.js +0 -24
  908. package/.output/server/node_modules/lodash/_baseGetAllKeys.js +0 -20
  909. package/.output/server/node_modules/lodash/_baseGetTag.js +0 -28
  910. package/.output/server/node_modules/lodash/_baseHasIn.js +0 -13
  911. package/.output/server/node_modules/lodash/_baseIndexOf.js +0 -20
  912. package/.output/server/node_modules/lodash/_baseIndexOfWith.js +0 -23
  913. package/.output/server/node_modules/lodash/_baseIntersection.js +0 -74
  914. package/.output/server/node_modules/lodash/_baseIsArguments.js +0 -18
  915. package/.output/server/node_modules/lodash/_baseIsEqual.js +0 -28
  916. package/.output/server/node_modules/lodash/_baseIsEqualDeep.js +0 -83
  917. package/.output/server/node_modules/lodash/_baseIsMap.js +0 -18
  918. package/.output/server/node_modules/lodash/_baseIsMatch.js +0 -62
  919. package/.output/server/node_modules/lodash/_baseIsNaN.js +0 -12
  920. package/.output/server/node_modules/lodash/_baseIsNative.js +0 -47
  921. package/.output/server/node_modules/lodash/_baseIsSet.js +0 -18
  922. package/.output/server/node_modules/lodash/_baseIsTypedArray.js +0 -60
  923. package/.output/server/node_modules/lodash/_baseIteratee.js +0 -31
  924. package/.output/server/node_modules/lodash/_baseKeys.js +0 -30
  925. package/.output/server/node_modules/lodash/_baseKeysIn.js +0 -33
  926. package/.output/server/node_modules/lodash/_baseMap.js +0 -22
  927. package/.output/server/node_modules/lodash/_baseMatches.js +0 -22
  928. package/.output/server/node_modules/lodash/_baseMatchesProperty.js +0 -33
  929. package/.output/server/node_modules/lodash/_baseMerge.js +0 -42
  930. package/.output/server/node_modules/lodash/_baseMergeDeep.js +0 -94
  931. package/.output/server/node_modules/lodash/_baseOrderBy.js +0 -49
  932. package/.output/server/node_modules/lodash/_baseProperty.js +0 -14
  933. package/.output/server/node_modules/lodash/_basePropertyDeep.js +0 -16
  934. package/.output/server/node_modules/lodash/_basePullAll.js +0 -51
  935. package/.output/server/node_modules/lodash/_baseRest.js +0 -17
  936. package/.output/server/node_modules/lodash/_baseSetToString.js +0 -22
  937. package/.output/server/node_modules/lodash/_baseSortBy.js +0 -21
  938. package/.output/server/node_modules/lodash/_baseTimes.js +0 -20
  939. package/.output/server/node_modules/lodash/_baseToString.js +0 -37
  940. package/.output/server/node_modules/lodash/_baseUnary.js +0 -14
  941. package/.output/server/node_modules/lodash/_baseUniq.js +0 -72
  942. package/.output/server/node_modules/lodash/_cacheHas.js +0 -13
  943. package/.output/server/node_modules/lodash/_castArrayLikeObject.js +0 -14
  944. package/.output/server/node_modules/lodash/_castFunction.js +0 -14
  945. package/.output/server/node_modules/lodash/_castPath.js +0 -21
  946. package/.output/server/node_modules/lodash/_cloneArrayBuffer.js +0 -16
  947. package/.output/server/node_modules/lodash/_cloneBuffer.js +0 -35
  948. package/.output/server/node_modules/lodash/_cloneDataView.js +0 -16
  949. package/.output/server/node_modules/lodash/_cloneRegExp.js +0 -17
  950. package/.output/server/node_modules/lodash/_cloneSymbol.js +0 -18
  951. package/.output/server/node_modules/lodash/_cloneTypedArray.js +0 -16
  952. package/.output/server/node_modules/lodash/_compareAscending.js +0 -41
  953. package/.output/server/node_modules/lodash/_compareMultiple.js +0 -44
  954. package/.output/server/node_modules/lodash/_copyArray.js +0 -20
  955. package/.output/server/node_modules/lodash/_copyObject.js +0 -40
  956. package/.output/server/node_modules/lodash/_copySymbols.js +0 -16
  957. package/.output/server/node_modules/lodash/_copySymbolsIn.js +0 -16
  958. package/.output/server/node_modules/lodash/_coreJsData.js +0 -6
  959. package/.output/server/node_modules/lodash/_createAssigner.js +0 -37
  960. package/.output/server/node_modules/lodash/_createBaseEach.js +0 -32
  961. package/.output/server/node_modules/lodash/_createBaseFor.js +0 -25
  962. package/.output/server/node_modules/lodash/_createSet.js +0 -19
  963. package/.output/server/node_modules/lodash/_customDefaultsMerge.js +0 -28
  964. package/.output/server/node_modules/lodash/_defineProperty.js +0 -11
  965. package/.output/server/node_modules/lodash/_equalArrays.js +0 -84
  966. package/.output/server/node_modules/lodash/_equalByTag.js +0 -112
  967. package/.output/server/node_modules/lodash/_equalObjects.js +0 -90
  968. package/.output/server/node_modules/lodash/_freeGlobal.js +0 -4
  969. package/.output/server/node_modules/lodash/_getAllKeys.js +0 -16
  970. package/.output/server/node_modules/lodash/_getAllKeysIn.js +0 -17
  971. package/.output/server/node_modules/lodash/_getMapData.js +0 -18
  972. package/.output/server/node_modules/lodash/_getMatchData.js +0 -24
  973. package/.output/server/node_modules/lodash/_getNative.js +0 -17
  974. package/.output/server/node_modules/lodash/_getPrototype.js +0 -6
  975. package/.output/server/node_modules/lodash/_getRawTag.js +0 -46
  976. package/.output/server/node_modules/lodash/_getSymbols.js +0 -30
  977. package/.output/server/node_modules/lodash/_getSymbolsIn.js +0 -25
  978. package/.output/server/node_modules/lodash/_getTag.js +0 -58
  979. package/.output/server/node_modules/lodash/_getValue.js +0 -13
  980. package/.output/server/node_modules/lodash/_hasPath.js +0 -39
  981. package/.output/server/node_modules/lodash/_hashClear.js +0 -15
  982. package/.output/server/node_modules/lodash/_hashDelete.js +0 -17
  983. package/.output/server/node_modules/lodash/_hashGet.js +0 -30
  984. package/.output/server/node_modules/lodash/_hashHas.js +0 -23
  985. package/.output/server/node_modules/lodash/_hashSet.js +0 -23
  986. package/.output/server/node_modules/lodash/_initCloneArray.js +0 -26
  987. package/.output/server/node_modules/lodash/_initCloneByTag.js +0 -77
  988. package/.output/server/node_modules/lodash/_initCloneObject.js +0 -18
  989. package/.output/server/node_modules/lodash/_isFlattenable.js +0 -20
  990. package/.output/server/node_modules/lodash/_isIndex.js +0 -25
  991. package/.output/server/node_modules/lodash/_isIterateeCall.js +0 -30
  992. package/.output/server/node_modules/lodash/_isKey.js +0 -29
  993. package/.output/server/node_modules/lodash/_isKeyable.js +0 -15
  994. package/.output/server/node_modules/lodash/_isMasked.js +0 -20
  995. package/.output/server/node_modules/lodash/_isPrototype.js +0 -18
  996. package/.output/server/node_modules/lodash/_isStrictComparable.js +0 -15
  997. package/.output/server/node_modules/lodash/_listCacheClear.js +0 -13
  998. package/.output/server/node_modules/lodash/_listCacheDelete.js +0 -35
  999. package/.output/server/node_modules/lodash/_listCacheGet.js +0 -19
  1000. package/.output/server/node_modules/lodash/_listCacheHas.js +0 -16
  1001. package/.output/server/node_modules/lodash/_listCacheSet.js +0 -26
  1002. package/.output/server/node_modules/lodash/_mapCacheClear.js +0 -21
  1003. package/.output/server/node_modules/lodash/_mapCacheDelete.js +0 -18
  1004. package/.output/server/node_modules/lodash/_mapCacheGet.js +0 -16
  1005. package/.output/server/node_modules/lodash/_mapCacheHas.js +0 -16
  1006. package/.output/server/node_modules/lodash/_mapCacheSet.js +0 -22
  1007. package/.output/server/node_modules/lodash/_mapToArray.js +0 -18
  1008. package/.output/server/node_modules/lodash/_matchesStrictComparable.js +0 -20
  1009. package/.output/server/node_modules/lodash/_memoizeCapped.js +0 -26
  1010. package/.output/server/node_modules/lodash/_nativeCreate.js +0 -6
  1011. package/.output/server/node_modules/lodash/_nativeKeys.js +0 -6
  1012. package/.output/server/node_modules/lodash/_nativeKeysIn.js +0 -20
  1013. package/.output/server/node_modules/lodash/_nodeUtil.js +0 -30
  1014. package/.output/server/node_modules/lodash/_objectToString.js +0 -22
  1015. package/.output/server/node_modules/lodash/_overArg.js +0 -15
  1016. package/.output/server/node_modules/lodash/_overRest.js +0 -36
  1017. package/.output/server/node_modules/lodash/_root.js +0 -9
  1018. package/.output/server/node_modules/lodash/_safeGet.js +0 -21
  1019. package/.output/server/node_modules/lodash/_setCacheAdd.js +0 -19
  1020. package/.output/server/node_modules/lodash/_setCacheHas.js +0 -14
  1021. package/.output/server/node_modules/lodash/_setToArray.js +0 -18
  1022. package/.output/server/node_modules/lodash/_setToString.js +0 -14
  1023. package/.output/server/node_modules/lodash/_shortOut.js +0 -37
  1024. package/.output/server/node_modules/lodash/_stackClear.js +0 -15
  1025. package/.output/server/node_modules/lodash/_stackDelete.js +0 -18
  1026. package/.output/server/node_modules/lodash/_stackGet.js +0 -14
  1027. package/.output/server/node_modules/lodash/_stackHas.js +0 -14
  1028. package/.output/server/node_modules/lodash/_stackSet.js +0 -34
  1029. package/.output/server/node_modules/lodash/_strictIndexOf.js +0 -23
  1030. package/.output/server/node_modules/lodash/_stringToPath.js +0 -27
  1031. package/.output/server/node_modules/lodash/_toKey.js +0 -21
  1032. package/.output/server/node_modules/lodash/_toSource.js +0 -26
  1033. package/.output/server/node_modules/lodash/cloneDeep.js +0 -29
  1034. package/.output/server/node_modules/lodash/constant.js +0 -26
  1035. package/.output/server/node_modules/lodash/defaults.js +0 -64
  1036. package/.output/server/node_modules/lodash/defaultsDeep.js +0 -30
  1037. package/.output/server/node_modules/lodash/eq.js +0 -37
  1038. package/.output/server/node_modules/lodash/flatten.js +0 -22
  1039. package/.output/server/node_modules/lodash/flattenDeep.js +0 -25
  1040. package/.output/server/node_modules/lodash/forEach.js +0 -41
  1041. package/.output/server/node_modules/lodash/get.js +0 -33
  1042. package/.output/server/node_modules/lodash/hasIn.js +0 -34
  1043. package/.output/server/node_modules/lodash/identity.js +0 -21
  1044. package/.output/server/node_modules/lodash/intersection.js +0 -30
  1045. package/.output/server/node_modules/lodash/intersectionWith.js +0 -41
  1046. package/.output/server/node_modules/lodash/isArguments.js +0 -36
  1047. package/.output/server/node_modules/lodash/isArray.js +0 -26
  1048. package/.output/server/node_modules/lodash/isArrayLike.js +0 -33
  1049. package/.output/server/node_modules/lodash/isArrayLikeObject.js +0 -33
  1050. package/.output/server/node_modules/lodash/isBoolean.js +0 -29
  1051. package/.output/server/node_modules/lodash/isBuffer.js +0 -38
  1052. package/.output/server/node_modules/lodash/isEqual.js +0 -35
  1053. package/.output/server/node_modules/lodash/isFunction.js +0 -37
  1054. package/.output/server/node_modules/lodash/isLength.js +0 -35
  1055. package/.output/server/node_modules/lodash/isMap.js +0 -27
  1056. package/.output/server/node_modules/lodash/isObject.js +0 -31
  1057. package/.output/server/node_modules/lodash/isObjectLike.js +0 -29
  1058. package/.output/server/node_modules/lodash/isPlainObject.js +0 -62
  1059. package/.output/server/node_modules/lodash/isSet.js +0 -27
  1060. package/.output/server/node_modules/lodash/isSymbol.js +0 -29
  1061. package/.output/server/node_modules/lodash/isTypedArray.js +0 -27
  1062. package/.output/server/node_modules/lodash/keys.js +0 -37
  1063. package/.output/server/node_modules/lodash/keysIn.js +0 -32
  1064. package/.output/server/node_modules/lodash/last.js +0 -20
  1065. package/.output/server/node_modules/lodash/memoize.js +0 -73
  1066. package/.output/server/node_modules/lodash/mergeWith.js +0 -39
  1067. package/.output/server/node_modules/lodash/noop.js +0 -17
  1068. package/.output/server/node_modules/lodash/package.json +0 -19
  1069. package/.output/server/node_modules/lodash/property.js +0 -32
  1070. package/.output/server/node_modules/lodash/pullAll.js +0 -29
  1071. package/.output/server/node_modules/lodash/sortBy.js +0 -48
  1072. package/.output/server/node_modules/lodash/stubArray.js +0 -23
  1073. package/.output/server/node_modules/lodash/stubFalse.js +0 -18
  1074. package/.output/server/node_modules/lodash/toPlainObject.js +0 -32
  1075. package/.output/server/node_modules/lodash/toString.js +0 -28
  1076. package/.output/server/node_modules/lodash/uniq.js +0 -25
  1077. package/.output/server/node_modules/lodash/uniqWith.js +0 -28
  1078. package/.output/server/node_modules/lodash/without.js +0 -31
  1079. package/.output/server/node_modules/lodash.camelcase/index.js +0 -599
  1080. package/.output/server/node_modules/lodash.camelcase/package.json +0 -19
  1081. package/.output/server/node_modules/lru-queue/index.js +0 -48
  1082. package/.output/server/node_modules/lru-queue/package.json +0 -25
  1083. package/.output/server/node_modules/marked/lib/marked.cjs +0 -2811
  1084. package/.output/server/node_modules/marked/package.json +0 -93
  1085. package/.output/server/node_modules/memoizee/ext/async.js +0 -154
  1086. package/.output/server/node_modules/memoizee/ext/dispose.js +0 -27
  1087. package/.output/server/node_modules/memoizee/ext/max-age.js +0 -90
  1088. package/.output/server/node_modules/memoizee/ext/max.js +0 -32
  1089. package/.output/server/node_modules/memoizee/ext/promise.js +0 -147
  1090. package/.output/server/node_modules/memoizee/ext/ref-counter.js +0 -42
  1091. package/.output/server/node_modules/memoizee/index.js +0 -34
  1092. package/.output/server/node_modules/memoizee/lib/configure-map.js +0 -182
  1093. package/.output/server/node_modules/memoizee/lib/registered-extensions.js +0 -1
  1094. package/.output/server/node_modules/memoizee/lib/resolve-length.js +0 -15
  1095. package/.output/server/node_modules/memoizee/lib/resolve-normalize.js +0 -17
  1096. package/.output/server/node_modules/memoizee/lib/resolve-resolve.js +0 -19
  1097. package/.output/server/node_modules/memoizee/normalizers/get-1.js +0 -29
  1098. package/.output/server/node_modules/memoizee/normalizers/get-fixed.js +0 -71
  1099. package/.output/server/node_modules/memoizee/normalizers/get-primitive-fixed.js +0 -14
  1100. package/.output/server/node_modules/memoizee/normalizers/get.js +0 -90
  1101. package/.output/server/node_modules/memoizee/normalizers/primitive.js +0 -9
  1102. package/.output/server/node_modules/memoizee/package.json +0 -114
  1103. package/.output/server/node_modules/memoizee/plain.js +0 -37
  1104. package/.output/server/node_modules/mustache/mustache.js +0 -772
  1105. package/.output/server/node_modules/mustache/package.json +0 -67
  1106. package/.output/server/node_modules/next-tick/index.js +0 -74
  1107. package/.output/server/node_modules/next-tick/package.json +0 -27
  1108. package/.output/server/node_modules/node-fetch-h2/lib/index.js +0 -1585
  1109. package/.output/server/node_modules/node-fetch-h2/package.json +0 -68
  1110. package/.output/server/node_modules/oas/dist/chunk-5EP6HY2E.js +0 -943
  1111. package/.output/server/node_modules/oas/dist/chunk-7MARUOFZ.js +0 -24
  1112. package/.output/server/node_modules/oas/dist/chunk-HGVFNEKW.js +0 -1684
  1113. package/.output/server/node_modules/oas/dist/chunk-LSH3X5NA.js +0 -822
  1114. package/.output/server/node_modules/oas/dist/chunk-S27IGTVG.js +0 -95
  1115. package/.output/server/node_modules/oas/dist/chunk-VA3NKXX7.js +0 -9
  1116. package/.output/server/node_modules/oas/dist/index.js +0 -12
  1117. package/.output/server/node_modules/oas/dist/types.js +0 -15
  1118. package/.output/server/node_modules/oas/dist/utils.js +0 -19
  1119. package/.output/server/node_modules/oas/package.json +0 -113
  1120. package/.output/server/node_modules/oas-kit-common/index.js +0 -137
  1121. package/.output/server/node_modules/oas-kit-common/package.json +0 -28
  1122. package/.output/server/node_modules/oas-normalize/dist/chunk-45XXAYDL.js +0 -19
  1123. package/.output/server/node_modules/oas-normalize/dist/chunk-SZISBDLH.js +0 -86
  1124. package/.output/server/node_modules/oas-normalize/dist/index.js +0 -248
  1125. package/.output/server/node_modules/oas-normalize/package.json +0 -87
  1126. package/.output/server/node_modules/oas-resolver/index.js +0 -535
  1127. package/.output/server/node_modules/oas-resolver/package.json +0 -40
  1128. package/.output/server/node_modules/oas-schema-walker/index.js +0 -125
  1129. package/.output/server/node_modules/oas-schema-walker/package.json +0 -27
  1130. package/.output/server/node_modules/p-limit/index.js +0 -127
  1131. package/.output/server/node_modules/p-limit/package.json +0 -58
  1132. package/.output/server/node_modules/path-to-regexp/dist/index.js +0 -431
  1133. package/.output/server/node_modules/path-to-regexp/package.json +0 -64
  1134. package/.output/server/node_modules/picocolors/package.json +0 -25
  1135. package/.output/server/node_modules/picocolors/picocolors.js +0 -75
  1136. package/.output/server/node_modules/pluralize/package.json +0 -40
  1137. package/.output/server/node_modules/pluralize/pluralize.js +0 -503
  1138. package/.output/server/node_modules/react-devtools-core/dist/backend.js +0 -18302
  1139. package/.output/server/node_modules/react-devtools-core/package.json +0 -38
  1140. package/.output/server/node_modules/reftools/lib/clone.js +0 -102
  1141. package/.output/server/node_modules/reftools/lib/dereference.js +0 -105
  1142. package/.output/server/node_modules/reftools/lib/isref.js +0 -10
  1143. package/.output/server/node_modules/reftools/lib/jptr.js +0 -97
  1144. package/.output/server/node_modules/reftools/lib/recurse.js +0 -62
  1145. package/.output/server/node_modules/reftools/package.json +0 -37
  1146. package/.output/server/node_modules/remove-undefined-objects/dist/index.mjs +0 -94
  1147. package/.output/server/node_modules/remove-undefined-objects/package.json +0 -47
  1148. package/.output/server/node_modules/semver/classes/comparator.js +0 -143
  1149. package/.output/server/node_modules/semver/classes/range.js +0 -557
  1150. package/.output/server/node_modules/semver/classes/semver.js +0 -333
  1151. package/.output/server/node_modules/semver/functions/clean.js +0 -8
  1152. package/.output/server/node_modules/semver/functions/cmp.js +0 -54
  1153. package/.output/server/node_modules/semver/functions/coerce.js +0 -62
  1154. package/.output/server/node_modules/semver/functions/compare-build.js +0 -9
  1155. package/.output/server/node_modules/semver/functions/compare-loose.js +0 -5
  1156. package/.output/server/node_modules/semver/functions/compare.js +0 -7
  1157. package/.output/server/node_modules/semver/functions/diff.js +0 -60
  1158. package/.output/server/node_modules/semver/functions/eq.js +0 -5
  1159. package/.output/server/node_modules/semver/functions/gt.js +0 -5
  1160. package/.output/server/node_modules/semver/functions/gte.js +0 -5
  1161. package/.output/server/node_modules/semver/functions/inc.js +0 -21
  1162. package/.output/server/node_modules/semver/functions/lt.js +0 -5
  1163. package/.output/server/node_modules/semver/functions/lte.js +0 -5
  1164. package/.output/server/node_modules/semver/functions/major.js +0 -5
  1165. package/.output/server/node_modules/semver/functions/minor.js +0 -5
  1166. package/.output/server/node_modules/semver/functions/neq.js +0 -5
  1167. package/.output/server/node_modules/semver/functions/parse.js +0 -18
  1168. package/.output/server/node_modules/semver/functions/patch.js +0 -5
  1169. package/.output/server/node_modules/semver/functions/prerelease.js +0 -8
  1170. package/.output/server/node_modules/semver/functions/rcompare.js +0 -5
  1171. package/.output/server/node_modules/semver/functions/rsort.js +0 -5
  1172. package/.output/server/node_modules/semver/functions/satisfies.js +0 -12
  1173. package/.output/server/node_modules/semver/functions/sort.js +0 -5
  1174. package/.output/server/node_modules/semver/functions/valid.js +0 -8
  1175. package/.output/server/node_modules/semver/index.js +0 -91
  1176. package/.output/server/node_modules/semver/internal/constants.js +0 -37
  1177. package/.output/server/node_modules/semver/internal/debug.js +0 -11
  1178. package/.output/server/node_modules/semver/internal/identifiers.js +0 -29
  1179. package/.output/server/node_modules/semver/internal/lrucache.js +0 -42
  1180. package/.output/server/node_modules/semver/internal/parse-options.js +0 -17
  1181. package/.output/server/node_modules/semver/internal/re.js +0 -223
  1182. package/.output/server/node_modules/semver/package.json +0 -78
  1183. package/.output/server/node_modules/semver/preload.js +0 -4
  1184. package/.output/server/node_modules/semver/ranges/gtr.js +0 -6
  1185. package/.output/server/node_modules/semver/ranges/intersects.js +0 -9
  1186. package/.output/server/node_modules/semver/ranges/ltr.js +0 -6
  1187. package/.output/server/node_modules/semver/ranges/max-satisfying.js +0 -27
  1188. package/.output/server/node_modules/semver/ranges/min-satisfying.js +0 -26
  1189. package/.output/server/node_modules/semver/ranges/min-version.js +0 -63
  1190. package/.output/server/node_modules/semver/ranges/outside.js +0 -82
  1191. package/.output/server/node_modules/semver/ranges/simplify.js +0 -49
  1192. package/.output/server/node_modules/semver/ranges/subset.js +0 -249
  1193. package/.output/server/node_modules/semver/ranges/to-comparators.js +0 -10
  1194. package/.output/server/node_modules/semver/ranges/valid.js +0 -13
  1195. package/.output/server/node_modules/sisteransi/package.json +0 -34
  1196. package/.output/server/node_modules/sisteransi/src/index.js +0 -58
  1197. package/.output/server/node_modules/source-map/lib/array-set.js +0 -121
  1198. package/.output/server/node_modules/source-map/lib/base64-vlq.js +0 -140
  1199. package/.output/server/node_modules/source-map/lib/base64.js +0 -67
  1200. package/.output/server/node_modules/source-map/lib/binary-search.js +0 -111
  1201. package/.output/server/node_modules/source-map/lib/mapping-list.js +0 -79
  1202. package/.output/server/node_modules/source-map/lib/quick-sort.js +0 -114
  1203. package/.output/server/node_modules/source-map/lib/source-map-consumer.js +0 -1145
  1204. package/.output/server/node_modules/source-map/lib/source-map-generator.js +0 -425
  1205. package/.output/server/node_modules/source-map/lib/source-node.js +0 -413
  1206. package/.output/server/node_modules/source-map/lib/util.js +0 -488
  1207. package/.output/server/node_modules/source-map/package.json +0 -73
  1208. package/.output/server/node_modules/source-map/source-map.js +0 -8
  1209. package/.output/server/node_modules/source-map-support/package.json +0 -31
  1210. package/.output/server/node_modules/source-map-support/source-map-support.js +0 -625
  1211. package/.output/server/node_modules/swagger2openapi/index.js +0 -1666
  1212. package/.output/server/node_modules/swagger2openapi/lib/statusCodes.js +0 -19
  1213. package/.output/server/node_modules/swagger2openapi/package.json +0 -63
  1214. package/.output/server/node_modules/timers-ext/max-timeout.js +0 -3
  1215. package/.output/server/node_modules/timers-ext/package.json +0 -97
  1216. package/.output/server/node_modules/timers-ext/valid-timeout.js +0 -10
  1217. package/.output/server/node_modules/tslib/package.json +0 -47
  1218. package/.output/server/node_modules/tslib/tslib.js +0 -484
  1219. package/.output/server/node_modules/type/function/is.js +0 -19
  1220. package/.output/server/node_modules/type/object/is.js +0 -11
  1221. package/.output/server/node_modules/type/package.json +0 -121
  1222. package/.output/server/node_modules/type/plain-function/is.js +0 -11
  1223. package/.output/server/node_modules/type/prototype/is.js +0 -13
  1224. package/.output/server/node_modules/type/value/is.js +0 -6
  1225. package/.output/server/node_modules/typescript/lib/typescript.js +0 -200276
  1226. package/.output/server/node_modules/typescript/package.json +0 -120
  1227. package/.output/server/node_modules/validate.io-array/lib/index.js +0 -16
  1228. package/.output/server/node_modules/validate.io-array/package.json +0 -51
  1229. package/.output/server/node_modules/validate.io-function/lib/index.js +0 -45
  1230. package/.output/server/node_modules/validate.io-function/package.json +0 -53
  1231. package/.output/server/node_modules/validate.io-integer/lib/index.js +0 -52
  1232. package/.output/server/node_modules/validate.io-integer/package.json +0 -58
  1233. package/.output/server/node_modules/validate.io-integer-array/lib/index.js +0 -66
  1234. package/.output/server/node_modules/validate.io-integer-array/package.json +0 -58
  1235. package/.output/server/node_modules/validate.io-number/lib/index.js +0 -45
  1236. package/.output/server/node_modules/validate.io-number/package.json +0 -55
  1237. package/.output/server/node_modules/yaml/dist/Document-a8d0fbf9.js +0 -637
  1238. package/.output/server/node_modules/yaml/dist/PlainValue-516d5bc2.js +0 -765
  1239. package/.output/server/node_modules/yaml/dist/Schema-bcc6c2d7.js +0 -469
  1240. package/.output/server/node_modules/yaml/dist/index.js +0 -67
  1241. package/.output/server/node_modules/yaml/dist/parse-cst.js +0 -1507
  1242. package/.output/server/node_modules/yaml/dist/resolveSeq-95613e94.js +0 -1859
  1243. package/.output/server/node_modules/yaml/dist/warnings-793925ce.js +0 -359
  1244. package/.output/server/node_modules/yaml/index.js +0 -1
  1245. package/.output/server/node_modules/yaml/package.json +0 -105
  1246. package/.output/server/node_modules/yaml-ast-parser/dist/src/common.js +0 -45
  1247. package/.output/server/node_modules/yaml-ast-parser/dist/src/dumper.js +0 -644
  1248. package/.output/server/node_modules/yaml-ast-parser/dist/src/exception.js +0 -40
  1249. package/.output/server/node_modules/yaml-ast-parser/dist/src/index.js +0 -22
  1250. package/.output/server/node_modules/yaml-ast-parser/dist/src/loader.js +0 -1416
  1251. package/.output/server/node_modules/yaml-ast-parser/dist/src/mark.js +0 -62
  1252. package/.output/server/node_modules/yaml-ast-parser/dist/src/scalarInference.js +0 -82
  1253. package/.output/server/node_modules/yaml-ast-parser/dist/src/schema/core.js +0 -8
  1254. package/.output/server/node_modules/yaml-ast-parser/dist/src/schema/default_full.js +0 -14
  1255. package/.output/server/node_modules/yaml-ast-parser/dist/src/schema/default_safe.js +0 -19
  1256. package/.output/server/node_modules/yaml-ast-parser/dist/src/schema/failsafe.js +0 -10
  1257. package/.output/server/node_modules/yaml-ast-parser/dist/src/schema/json.js +0 -14
  1258. package/.output/server/node_modules/yaml-ast-parser/dist/src/schema.js +0 -78
  1259. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/binary.js +0 -92
  1260. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/bool.js +0 -32
  1261. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/float.js +0 -95
  1262. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/int.js +0 -155
  1263. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/js/regexp.js +0 -64
  1264. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/js/undefined.js +0 -22
  1265. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/map.js +0 -7
  1266. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/merge.js +0 -10
  1267. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/null.js +0 -30
  1268. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/omap.js +0 -46
  1269. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/pairs.js +0 -55
  1270. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/seq.js +0 -7
  1271. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/set.js +0 -22
  1272. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/str.js +0 -7
  1273. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/timestamp.js +0 -70
  1274. package/.output/server/node_modules/yaml-ast-parser/dist/src/type.js +0 -54
  1275. package/.output/server/node_modules/yaml-ast-parser/dist/src/yamlAST.js +0 -82
  1276. package/.output/server/node_modules/yaml-ast-parser/package.json +0 -39
  1277. package/.output/server/node_modules/yocto-queue/index.js +0 -90
  1278. package/.output/server/node_modules/yocto-queue/package.json +0 -48
  1279. /package/.output/server/node_modules/{.nitro/picomatch@2.3.2 → picomatch}/index.js +0 -0
  1280. /package/.output/server/node_modules/{.nitro/picomatch@2.3.2 → picomatch}/lib/constants.js +0 -0
  1281. /package/.output/server/node_modules/{.nitro/picomatch@2.3.2 → picomatch}/lib/parse.js +0 -0
  1282. /package/.output/server/node_modules/{.nitro/picomatch@2.3.2 → picomatch}/lib/picomatch.js +0 -0
  1283. /package/.output/server/node_modules/{.nitro/picomatch@2.3.2 → picomatch}/lib/scan.js +0 -0
  1284. /package/.output/server/node_modules/{.nitro/picomatch@2.3.2 → picomatch}/lib/utils.js +0 -0
  1285. /package/.output/server/node_modules/{.nitro/picomatch@2.3.2 → picomatch}/package.json +0 -0
  1286. /package/.output/server/node_modules/{.nitro/ws@8.18.0 → ws}/lib/buffer-util.js +0 -0
  1287. /package/.output/server/node_modules/{.nitro/ws@8.20.0 → ws}/lib/constants.js +0 -0
  1288. /package/.output/server/node_modules/{.nitro/ws@8.18.0 → ws}/lib/event-target.js +0 -0
  1289. /package/.output/server/node_modules/{.nitro/ws@8.18.0 → ws}/lib/extension.js +0 -0
  1290. /package/.output/server/node_modules/{.nitro/ws@8.18.0 → ws}/lib/limiter.js +0 -0
  1291. /package/.output/server/node_modules/{.nitro/ws@8.20.0 → ws}/lib/permessage-deflate.js +0 -0
  1292. /package/.output/server/node_modules/{.nitro/ws@8.18.0 → ws}/lib/receiver.js +0 -0
  1293. /package/.output/server/node_modules/{.nitro/ws@8.20.0 → ws}/lib/sender.js +0 -0
  1294. /package/.output/server/node_modules/{.nitro/ws@8.20.0 → ws}/lib/stream.js +0 -0
  1295. /package/.output/server/node_modules/{.nitro/ws@8.18.0 → ws}/lib/subprotocol.js +0 -0
  1296. /package/.output/server/node_modules/{.nitro/ws@8.18.0 → ws}/lib/validation.js +0 -0
  1297. /package/.output/server/node_modules/{.nitro/ws@8.20.0 → ws}/lib/websocket-server.js +0 -0
  1298. /package/.output/server/node_modules/{.nitro/ws@8.20.0 → ws}/lib/websocket.js +0 -0
  1299. /package/.output/server/node_modules/{.nitro/ws@8.20.0 → ws}/package.json +0 -0
  1300. /package/.output/server/node_modules/{.nitro/ws@8.20.0 → ws}/wrapper.mjs +0 -0
@@ -1,1166 +0,0 @@
1
- 'use strict';
2
-
3
- exports.__esModule = true;
4
- // istanbul ignore next
5
-
6
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
7
-
8
- var _base = require('../base');
9
-
10
- var _exception = require('../exception');
11
-
12
- var _exception2 = _interopRequireDefault(_exception);
13
-
14
- var _utils = require('../utils');
15
-
16
- var _codeGen = require('./code-gen');
17
-
18
- var _codeGen2 = _interopRequireDefault(_codeGen);
19
-
20
- function Literal(value) {
21
- this.value = value;
22
- }
23
-
24
- function JavaScriptCompiler() {}
25
-
26
- JavaScriptCompiler.prototype = {
27
- // PUBLIC API: You can override these methods in a subclass to provide
28
- // alternative compiled forms for name lookup and buffering semantics
29
- nameLookup: function nameLookup(parent, name /*, type */) {
30
- return this.internalNameLookup(parent, name);
31
- },
32
- depthedLookup: function depthedLookup(name) {
33
- return [this.aliasable('container.lookup'), '(depths, ', JSON.stringify(name), ')'];
34
- },
35
-
36
- compilerInfo: function compilerInfo() {
37
- var revision = _base.COMPILER_REVISION,
38
- versions = _base.REVISION_CHANGES[revision];
39
- return [revision, versions];
40
- },
41
-
42
- appendToBuffer: function appendToBuffer(source, location, explicit) {
43
- // Force a source as this simplifies the merge logic.
44
- if (!_utils.isArray(source)) {
45
- source = [source];
46
- }
47
- source = this.source.wrap(source, location);
48
-
49
- if (this.environment.isSimple) {
50
- return ['return ', source, ';'];
51
- } else if (explicit) {
52
- // This is a case where the buffer operation occurs as a child of another
53
- // construct, generally braces. We have to explicitly output these buffer
54
- // operations to ensure that the emitted code goes in the correct location.
55
- return ['buffer += ', source, ';'];
56
- } else {
57
- source.appendToBuffer = true;
58
- return source;
59
- }
60
- },
61
-
62
- initializeBuffer: function initializeBuffer() {
63
- return this.quotedString('');
64
- },
65
- // END PUBLIC API
66
- internalNameLookup: function internalNameLookup(parent, name) {
67
- this.lookupPropertyFunctionIsUsed = true;
68
- return ['lookupProperty(', parent, ',', JSON.stringify(name), ')'];
69
- },
70
-
71
- lookupPropertyFunctionIsUsed: false,
72
-
73
- compile: function compile(environment, options, context, asObject) {
74
- this.environment = environment;
75
- this.options = options;
76
- this.stringParams = this.options.stringParams;
77
- this.trackIds = this.options.trackIds;
78
- this.precompile = !asObject;
79
-
80
- this.name = this.environment.name;
81
- this.isChild = !!context;
82
- this.context = context || {
83
- decorators: [],
84
- programs: [],
85
- environments: []
86
- };
87
-
88
- this.preamble();
89
-
90
- this.stackSlot = 0;
91
- this.stackVars = [];
92
- this.aliases = {};
93
- this.registers = { list: [] };
94
- this.hashes = [];
95
- this.compileStack = [];
96
- this.inlineStack = [];
97
- this.blockParams = [];
98
-
99
- this.compileChildren(environment, options);
100
-
101
- this.useDepths = this.useDepths || environment.useDepths || environment.useDecorators || this.options.compat;
102
- this.useBlockParams = this.useBlockParams || environment.useBlockParams;
103
-
104
- var opcodes = environment.opcodes,
105
- opcode = undefined,
106
- firstLoc = undefined,
107
- i = undefined,
108
- l = undefined;
109
-
110
- for (i = 0, l = opcodes.length; i < l; i++) {
111
- opcode = opcodes[i];
112
-
113
- this.source.currentLocation = opcode.loc;
114
- firstLoc = firstLoc || opcode.loc;
115
- this[opcode.opcode].apply(this, opcode.args);
116
- }
117
-
118
- // Flush any trailing content that might be pending.
119
- this.source.currentLocation = firstLoc;
120
- this.pushSource('');
121
-
122
- /* istanbul ignore next */
123
- if (this.stackSlot || this.inlineStack.length || this.compileStack.length) {
124
- throw new _exception2['default']('Compile completed with content left on stack');
125
- }
126
-
127
- if (!this.decorators.isEmpty()) {
128
- this.useDecorators = true;
129
-
130
- this.decorators.prepend(['var decorators = container.decorators, ', this.lookupPropertyFunctionVarDeclaration(), ';\n']);
131
- this.decorators.push('return fn;');
132
-
133
- if (asObject) {
134
- this.decorators = Function.apply(this, ['fn', 'props', 'container', 'depth0', 'data', 'blockParams', 'depths', this.decorators.merge()]);
135
- } else {
136
- this.decorators.prepend('function(fn, props, container, depth0, data, blockParams, depths) {\n');
137
- this.decorators.push('}\n');
138
- this.decorators = this.decorators.merge();
139
- }
140
- } else {
141
- this.decorators = undefined;
142
- }
143
-
144
- var fn = this.createFunctionContext(asObject);
145
- if (!this.isChild) {
146
- var ret = {
147
- compiler: this.compilerInfo(),
148
- main: fn
149
- };
150
-
151
- if (this.decorators) {
152
- ret.main_d = this.decorators; // eslint-disable-line camelcase
153
- ret.useDecorators = true;
154
- }
155
-
156
- var _context = this.context;
157
- var programs = _context.programs;
158
- var decorators = _context.decorators;
159
-
160
- for (i = 0, l = programs.length; i < l; i++) {
161
- ret[i] = programs[i];
162
- if (decorators[i]) {
163
- ret[i + '_d'] = decorators[i];
164
- ret.useDecorators = true;
165
- }
166
- }
167
-
168
- if (this.environment.usePartial) {
169
- ret.usePartial = true;
170
- }
171
- if (this.options.data) {
172
- ret.useData = true;
173
- }
174
- if (this.useDepths) {
175
- ret.useDepths = true;
176
- }
177
- if (this.useBlockParams) {
178
- ret.useBlockParams = true;
179
- }
180
- if (this.options.compat) {
181
- ret.compat = true;
182
- }
183
-
184
- if (!asObject) {
185
- ret.compiler = JSON.stringify(ret.compiler);
186
-
187
- this.source.currentLocation = { start: { line: 1, column: 0 } };
188
- ret = this.objectLiteral(ret);
189
-
190
- if (options.srcName) {
191
- ret = ret.toStringWithSourceMap({ file: options.destName });
192
- ret.map = ret.map && ret.map.toString();
193
- } else {
194
- ret = ret.toString();
195
- }
196
- } else {
197
- ret.compilerOptions = this.options;
198
- }
199
-
200
- return ret;
201
- } else {
202
- return fn;
203
- }
204
- },
205
-
206
- preamble: function preamble() {
207
- // track the last context pushed into place to allow skipping the
208
- // getContext opcode when it would be a noop
209
- this.lastContext = 0;
210
- this.source = new _codeGen2['default'](this.options.srcName);
211
- this.decorators = new _codeGen2['default'](this.options.srcName);
212
- },
213
-
214
- createFunctionContext: function createFunctionContext(asObject) {
215
- // istanbul ignore next
216
-
217
- var _this = this;
218
-
219
- var varDeclarations = '';
220
-
221
- var locals = this.stackVars.concat(this.registers.list);
222
- if (locals.length > 0) {
223
- varDeclarations += ', ' + locals.join(', ');
224
- }
225
-
226
- // Generate minimizer alias mappings
227
- //
228
- // When using true SourceNodes, this will update all references to the given alias
229
- // as the source nodes are reused in situ. For the non-source node compilation mode,
230
- // aliases will not be used, but this case is already being run on the client and
231
- // we aren't concern about minimizing the template size.
232
- var aliasCount = 0;
233
- Object.keys(this.aliases).forEach(function (alias) {
234
- var node = _this.aliases[alias];
235
- if (node.children && node.referenceCount > 1) {
236
- varDeclarations += ', alias' + ++aliasCount + '=' + alias;
237
- node.children[0] = 'alias' + aliasCount;
238
- }
239
- });
240
-
241
- if (this.lookupPropertyFunctionIsUsed) {
242
- varDeclarations += ', ' + this.lookupPropertyFunctionVarDeclaration();
243
- }
244
-
245
- var params = ['container', 'depth0', 'helpers', 'partials', 'data'];
246
-
247
- if (this.useBlockParams || this.useDepths) {
248
- params.push('blockParams');
249
- }
250
- if (this.useDepths) {
251
- params.push('depths');
252
- }
253
-
254
- // Perform a second pass over the output to merge content when possible
255
- var source = this.mergeSource(varDeclarations);
256
-
257
- if (asObject) {
258
- params.push(source);
259
-
260
- return Function.apply(this, params);
261
- } else {
262
- return this.source.wrap(['function(', params.join(','), ') {\n ', source, '}']);
263
- }
264
- },
265
- mergeSource: function mergeSource(varDeclarations) {
266
- var isSimple = this.environment.isSimple,
267
- appendOnly = !this.forceBuffer,
268
- appendFirst = undefined,
269
- sourceSeen = undefined,
270
- bufferStart = undefined,
271
- bufferEnd = undefined;
272
- this.source.each(function (line) {
273
- if (line.appendToBuffer) {
274
- if (bufferStart) {
275
- line.prepend(' + ');
276
- } else {
277
- bufferStart = line;
278
- }
279
- bufferEnd = line;
280
- } else {
281
- if (bufferStart) {
282
- if (!sourceSeen) {
283
- appendFirst = true;
284
- } else {
285
- bufferStart.prepend('buffer += ');
286
- }
287
- bufferEnd.add(';');
288
- bufferStart = bufferEnd = undefined;
289
- }
290
-
291
- sourceSeen = true;
292
- if (!isSimple) {
293
- appendOnly = false;
294
- }
295
- }
296
- });
297
-
298
- if (appendOnly) {
299
- if (bufferStart) {
300
- bufferStart.prepend('return ');
301
- bufferEnd.add(';');
302
- } else if (!sourceSeen) {
303
- this.source.push('return "";');
304
- }
305
- } else {
306
- varDeclarations += ', buffer = ' + (appendFirst ? '' : this.initializeBuffer());
307
-
308
- if (bufferStart) {
309
- bufferStart.prepend('return buffer + ');
310
- bufferEnd.add(';');
311
- } else {
312
- this.source.push('return buffer;');
313
- }
314
- }
315
-
316
- if (varDeclarations) {
317
- this.source.prepend('var ' + varDeclarations.substring(2) + (appendFirst ? '' : ';\n'));
318
- }
319
-
320
- return this.source.merge();
321
- },
322
-
323
- lookupPropertyFunctionVarDeclaration: function lookupPropertyFunctionVarDeclaration() {
324
- return '\n lookupProperty = container.lookupProperty || function(parent, propertyName) {\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n return parent[propertyName];\n }\n return undefined\n }\n '.trim();
325
- },
326
-
327
- // [blockValue]
328
- //
329
- // On stack, before: hash, inverse, program, value
330
- // On stack, after: return value of blockHelperMissing
331
- //
332
- // The purpose of this opcode is to take a block of the form
333
- // `{{#this.foo}}...{{/this.foo}}`, resolve the value of `foo`, and
334
- // replace it on the stack with the result of properly
335
- // invoking blockHelperMissing.
336
- blockValue: function blockValue(name) {
337
- var blockHelperMissing = this.aliasable('container.hooks.blockHelperMissing'),
338
- params = [this.contextName(0)];
339
- this.setupHelperArgs(name, 0, params);
340
-
341
- var blockName = this.popStack();
342
- params.splice(1, 0, blockName);
343
-
344
- this.push(this.source.functionCall(blockHelperMissing, 'call', params));
345
- },
346
-
347
- // [ambiguousBlockValue]
348
- //
349
- // On stack, before: hash, inverse, program, value
350
- // Compiler value, before: lastHelper=value of last found helper, if any
351
- // On stack, after, if no lastHelper: same as [blockValue]
352
- // On stack, after, if lastHelper: value
353
- ambiguousBlockValue: function ambiguousBlockValue() {
354
- // We're being a bit cheeky and reusing the options value from the prior exec
355
- var blockHelperMissing = this.aliasable('container.hooks.blockHelperMissing'),
356
- params = [this.contextName(0)];
357
- this.setupHelperArgs('', 0, params, true);
358
-
359
- this.flushInline();
360
-
361
- var current = this.topStack();
362
- params.splice(1, 0, current);
363
-
364
- this.pushSource(['if (!', this.lastHelper, ') { ', current, ' = ', this.source.functionCall(blockHelperMissing, 'call', params), '}']);
365
- },
366
-
367
- // [appendContent]
368
- //
369
- // On stack, before: ...
370
- // On stack, after: ...
371
- //
372
- // Appends the string value of `content` to the current buffer
373
- appendContent: function appendContent(content) {
374
- if (this.pendingContent) {
375
- content = this.pendingContent + content;
376
- } else {
377
- this.pendingLocation = this.source.currentLocation;
378
- }
379
-
380
- this.pendingContent = content;
381
- },
382
-
383
- // [append]
384
- //
385
- // On stack, before: value, ...
386
- // On stack, after: ...
387
- //
388
- // Coerces `value` to a String and appends it to the current buffer.
389
- //
390
- // If `value` is truthy, or 0, it is coerced into a string and appended
391
- // Otherwise, the empty string is appended
392
- append: function append() {
393
- if (this.isInline()) {
394
- this.replaceStack(function (current) {
395
- return [' != null ? ', current, ' : ""'];
396
- });
397
-
398
- this.pushSource(this.appendToBuffer(this.popStack()));
399
- } else {
400
- var local = this.popStack();
401
- this.pushSource(['if (', local, ' != null) { ', this.appendToBuffer(local, undefined, true), ' }']);
402
- if (this.environment.isSimple) {
403
- this.pushSource(['else { ', this.appendToBuffer("''", undefined, true), ' }']);
404
- }
405
- }
406
- },
407
-
408
- // [appendEscaped]
409
- //
410
- // On stack, before: value, ...
411
- // On stack, after: ...
412
- //
413
- // Escape `value` and append it to the buffer
414
- appendEscaped: function appendEscaped() {
415
- this.pushSource(this.appendToBuffer([this.aliasable('container.escapeExpression'), '(', this.popStack(), ')']));
416
- },
417
-
418
- // [getContext]
419
- //
420
- // On stack, before: ...
421
- // On stack, after: ...
422
- // Compiler value, after: lastContext=depth
423
- //
424
- // Set the value of the `lastContext` compiler value to the depth
425
- getContext: function getContext(depth) {
426
- this.lastContext = depth;
427
- },
428
-
429
- // [pushContext]
430
- //
431
- // On stack, before: ...
432
- // On stack, after: currentContext, ...
433
- //
434
- // Pushes the value of the current context onto the stack.
435
- pushContext: function pushContext() {
436
- this.pushStackLiteral(this.contextName(this.lastContext));
437
- },
438
-
439
- // [lookupOnContext]
440
- //
441
- // On stack, before: ...
442
- // On stack, after: currentContext[name], ...
443
- //
444
- // Looks up the value of `name` on the current context and pushes
445
- // it onto the stack.
446
- lookupOnContext: function lookupOnContext(parts, falsy, strict, scoped) {
447
- var i = 0;
448
-
449
- if (!scoped && this.options.compat && !this.lastContext) {
450
- // The depthed query is expected to handle the undefined logic for the root level that
451
- // is implemented below, so we evaluate that directly in compat mode
452
- this.push(this.depthedLookup(parts[i++]));
453
- } else {
454
- this.pushContext();
455
- }
456
-
457
- this.resolvePath('context', parts, i, falsy, strict);
458
- },
459
-
460
- // [lookupBlockParam]
461
- //
462
- // On stack, before: ...
463
- // On stack, after: blockParam[name], ...
464
- //
465
- // Looks up the value of `parts` on the given block param and pushes
466
- // it onto the stack.
467
- lookupBlockParam: function lookupBlockParam(blockParamId, parts) {
468
- this.useBlockParams = true;
469
-
470
- this.push(['blockParams[', blockParamId[0], '][', blockParamId[1], ']']);
471
- this.resolvePath('context', parts, 1);
472
- },
473
-
474
- // [lookupData]
475
- //
476
- // On stack, before: ...
477
- // On stack, after: data, ...
478
- //
479
- // Push the data lookup operator
480
- lookupData: function lookupData(depth, parts, strict) {
481
- if (!depth) {
482
- this.pushStackLiteral('data');
483
- } else {
484
- this.pushStackLiteral('container.data(data, ' + depth + ')');
485
- }
486
-
487
- this.resolvePath('data', parts, 0, true, strict);
488
- },
489
-
490
- resolvePath: function resolvePath(type, parts, startPartIndex, falsy, strict) {
491
- // istanbul ignore next
492
-
493
- var _this2 = this;
494
-
495
- if (this.options.strict || this.options.assumeObjects) {
496
- this.push(strictLookup(this.options.strict && strict, this, parts, startPartIndex, type));
497
- return;
498
- }
499
-
500
- var len = parts.length;
501
-
502
- var _loop = function (i) {
503
- /* eslint-disable no-loop-func */
504
- _this2.replaceStack(function (current) {
505
- var lookup = _this2.nameLookup(current, parts[i], type);
506
- // We want to ensure that zero and false are handled properly if the context (falsy flag)
507
- // needs to have the special handling for these values.
508
- if (!falsy) {
509
- return [' != null ? ', lookup, ' : ', current];
510
- } else {
511
- // Otherwise we can use generic falsy handling
512
- return [' && ', lookup];
513
- }
514
- });
515
- /* eslint-enable no-loop-func */
516
- };
517
-
518
- for (var i = startPartIndex; i < len; i++) {
519
- _loop(i);
520
- }
521
- },
522
-
523
- // [resolvePossibleLambda]
524
- //
525
- // On stack, before: value, ...
526
- // On stack, after: resolved value, ...
527
- //
528
- // If the `value` is a lambda, replace it on the stack by
529
- // the return value of the lambda
530
- resolvePossibleLambda: function resolvePossibleLambda() {
531
- this.push([this.aliasable('container.lambda'), '(', this.popStack(), ', ', this.contextName(0), ')']);
532
- },
533
-
534
- // [pushStringParam]
535
- //
536
- // On stack, before: ...
537
- // On stack, after: string, currentContext, ...
538
- //
539
- // This opcode is designed for use in string mode, which
540
- // provides the string value of a parameter along with its
541
- // depth rather than resolving it immediately.
542
- pushStringParam: function pushStringParam(string, type) {
543
- this.pushContext();
544
- this.pushString(type);
545
-
546
- // If it's a subexpression, the string result
547
- // will be pushed after this opcode.
548
- if (type !== 'SubExpression') {
549
- if (typeof string === 'string') {
550
- this.pushString(string);
551
- } else {
552
- this.pushStackLiteral(string);
553
- }
554
- }
555
- },
556
-
557
- emptyHash: function emptyHash(omitEmpty) {
558
- if (this.trackIds) {
559
- this.push('{}'); // hashIds
560
- }
561
- if (this.stringParams) {
562
- this.push('{}'); // hashContexts
563
- this.push('{}'); // hashTypes
564
- }
565
- this.pushStackLiteral(omitEmpty ? 'undefined' : '{}');
566
- },
567
- pushHash: function pushHash() {
568
- if (this.hash) {
569
- this.hashes.push(this.hash);
570
- }
571
- this.hash = { values: {}, types: [], contexts: [], ids: [] };
572
- },
573
- popHash: function popHash() {
574
- var hash = this.hash;
575
- this.hash = this.hashes.pop();
576
-
577
- if (this.trackIds) {
578
- this.push(this.objectLiteral(hash.ids));
579
- }
580
- if (this.stringParams) {
581
- this.push(this.objectLiteral(hash.contexts));
582
- this.push(this.objectLiteral(hash.types));
583
- }
584
-
585
- this.push(this.objectLiteral(hash.values));
586
- },
587
-
588
- // [pushString]
589
- //
590
- // On stack, before: ...
591
- // On stack, after: quotedString(string), ...
592
- //
593
- // Push a quoted version of `string` onto the stack
594
- pushString: function pushString(string) {
595
- this.pushStackLiteral(this.quotedString(string));
596
- },
597
-
598
- // [pushLiteral]
599
- //
600
- // On stack, before: ...
601
- // On stack, after: value, ...
602
- //
603
- // Pushes a value onto the stack. This operation prevents
604
- // the compiler from creating a temporary variable to hold
605
- // it.
606
- pushLiteral: function pushLiteral(value) {
607
- this.pushStackLiteral(value);
608
- },
609
-
610
- // [pushProgram]
611
- //
612
- // On stack, before: ...
613
- // On stack, after: program(guid), ...
614
- //
615
- // Push a program expression onto the stack. This takes
616
- // a compile-time guid and converts it into a runtime-accessible
617
- // expression.
618
- pushProgram: function pushProgram(guid) {
619
- if (guid != null) {
620
- this.pushStackLiteral(this.programExpression(guid));
621
- } else {
622
- this.pushStackLiteral(null);
623
- }
624
- },
625
-
626
- // [registerDecorator]
627
- //
628
- // On stack, before: hash, program, params..., ...
629
- // On stack, after: ...
630
- //
631
- // Pops off the decorator's parameters, invokes the decorator,
632
- // and inserts the decorator into the decorators list.
633
- registerDecorator: function registerDecorator(paramSize, name) {
634
- var foundDecorator = this.nameLookup('decorators', name, 'decorator'),
635
- options = this.setupHelperArgs(name, paramSize);
636
-
637
- // Store the resolved decorator in a variable and verify it is a function before
638
- // calling it. Without this, unregistered decorators can cause an unhandled TypeError
639
- // (calling undefined), which crashes the process — enabling Denial of Service.
640
- this.decorators.push(['var decorator = ', foundDecorator, ';']);
641
- this.decorators.push(['if (typeof decorator !== "function") { throw new Error(', this.quotedString('Missing decorator: "' + name + '"'), '); }']);
642
- this.decorators.push(['fn = ', this.decorators.functionCall('decorator', '', ['fn', 'props', 'container', options]), ' || fn;']);
643
- },
644
-
645
- // [invokeHelper]
646
- //
647
- // On stack, before: hash, inverse, program, params..., ...
648
- // On stack, after: result of helper invocation
649
- //
650
- // Pops off the helper's parameters, invokes the helper,
651
- // and pushes the helper's return value onto the stack.
652
- //
653
- // If the helper is not found, `helperMissing` is called.
654
- invokeHelper: function invokeHelper(paramSize, name, isSimple) {
655
- var nonHelper = this.popStack(),
656
- helper = this.setupHelper(paramSize, name);
657
-
658
- var possibleFunctionCalls = [];
659
-
660
- if (isSimple) {
661
- // direct call to helper
662
- possibleFunctionCalls.push(helper.name);
663
- }
664
- // call a function from the input object
665
- possibleFunctionCalls.push(nonHelper);
666
- if (!this.options.strict) {
667
- possibleFunctionCalls.push(this.aliasable('container.hooks.helperMissing'));
668
- }
669
-
670
- var functionLookupCode = ['(', this.itemsSeparatedBy(possibleFunctionCalls, '||'), ')'];
671
- var functionCall = this.source.functionCall(functionLookupCode, 'call', helper.callParams);
672
- this.push(functionCall);
673
- },
674
-
675
- itemsSeparatedBy: function itemsSeparatedBy(items, separator) {
676
- var result = [];
677
- result.push(items[0]);
678
- for (var i = 1; i < items.length; i++) {
679
- result.push(separator, items[i]);
680
- }
681
- return result;
682
- },
683
- // [invokeKnownHelper]
684
- //
685
- // On stack, before: hash, inverse, program, params..., ...
686
- // On stack, after: result of helper invocation
687
- //
688
- // This operation is used when the helper is known to exist,
689
- // so a `helperMissing` fallback is not required.
690
- invokeKnownHelper: function invokeKnownHelper(paramSize, name) {
691
- var helper = this.setupHelper(paramSize, name);
692
- this.push(this.source.functionCall(helper.name, 'call', helper.callParams));
693
- },
694
-
695
- // [invokeAmbiguous]
696
- //
697
- // On stack, before: hash, inverse, program, params..., ...
698
- // On stack, after: result of disambiguation
699
- //
700
- // This operation is used when an expression like `{{foo}}`
701
- // is provided, but we don't know at compile-time whether it
702
- // is a helper or a path.
703
- //
704
- // This operation emits more code than the other options,
705
- // and can be avoided by passing the `knownHelpers` and
706
- // `knownHelpersOnly` flags at compile-time.
707
- invokeAmbiguous: function invokeAmbiguous(name, helperCall) {
708
- this.useRegister('helper');
709
-
710
- var nonHelper = this.popStack();
711
-
712
- this.emptyHash();
713
- var helper = this.setupHelper(0, name, helperCall);
714
-
715
- var helperName = this.lastHelper = this.nameLookup('helpers', name, 'helper');
716
-
717
- var lookup = ['(', '(helper = ', helperName, ' || ', nonHelper, ')'];
718
- if (!this.options.strict) {
719
- lookup[0] = '(helper = ';
720
- lookup.push(' != null ? helper : ', this.aliasable('container.hooks.helperMissing'));
721
- }
722
-
723
- this.push(['(', lookup, helper.paramsInit ? ['),(', helper.paramsInit] : [], '),', '(typeof helper === ', this.aliasable('"function"'), ' ? ', this.source.functionCall('helper', 'call', helper.callParams), ' : helper))']);
724
- },
725
-
726
- // [invokePartial]
727
- //
728
- // On stack, before: context, ...
729
- // On stack after: result of partial invocation
730
- //
731
- // This operation pops off a context, invokes a partial with that context,
732
- // and pushes the result of the invocation back.
733
- invokePartial: function invokePartial(isDynamic, name, indent) {
734
- var params = [],
735
- options = this.setupParams(name, 1, params);
736
-
737
- if (isDynamic) {
738
- name = this.popStack();
739
- delete options.name;
740
- }
741
-
742
- if (indent) {
743
- options.indent = JSON.stringify(indent);
744
- }
745
- options.helpers = 'helpers';
746
- options.partials = 'partials';
747
- options.decorators = 'container.decorators';
748
-
749
- if (!isDynamic) {
750
- params.unshift(this.nameLookup('partials', name, 'partial'));
751
- } else {
752
- params.unshift(name);
753
- }
754
-
755
- if (this.options.compat) {
756
- options.depths = 'depths';
757
- }
758
- options = this.objectLiteral(options);
759
- params.push(options);
760
-
761
- this.push(this.source.functionCall('container.invokePartial', '', params));
762
- },
763
-
764
- // [assignToHash]
765
- //
766
- // On stack, before: value, ..., hash, ...
767
- // On stack, after: ..., hash, ...
768
- //
769
- // Pops a value off the stack and assigns it to the current hash
770
- assignToHash: function assignToHash(key) {
771
- var value = this.popStack(),
772
- context = undefined,
773
- type = undefined,
774
- id = undefined;
775
-
776
- if (this.trackIds) {
777
- id = this.popStack();
778
- }
779
- if (this.stringParams) {
780
- type = this.popStack();
781
- context = this.popStack();
782
- }
783
-
784
- var hash = this.hash;
785
- if (context) {
786
- hash.contexts[key] = context;
787
- }
788
- if (type) {
789
- hash.types[key] = type;
790
- }
791
- if (id) {
792
- hash.ids[key] = id;
793
- }
794
- hash.values[key] = value;
795
- },
796
-
797
- pushId: function pushId(type, name, child) {
798
- if (type === 'BlockParam') {
799
- this.pushStackLiteral('blockParams[' + name[0] + '].path[' + name[1] + ']' + (child ? ' + ' + JSON.stringify('.' + child) : ''));
800
- } else if (type === 'PathExpression') {
801
- this.pushString(name);
802
- } else if (type === 'SubExpression') {
803
- this.pushStackLiteral('true');
804
- } else {
805
- this.pushStackLiteral('null');
806
- }
807
- },
808
-
809
- // HELPERS
810
-
811
- compiler: JavaScriptCompiler,
812
-
813
- compileChildren: function compileChildren(environment, options) {
814
- var children = environment.children,
815
- child = undefined,
816
- compiler = undefined;
817
-
818
- for (var i = 0, l = children.length; i < l; i++) {
819
- child = children[i];
820
- compiler = new this.compiler(); // eslint-disable-line new-cap
821
-
822
- var existing = this.matchExistingProgram(child);
823
-
824
- if (existing == null) {
825
- // Placeholder to prevent name conflicts for nested children
826
- var index = this.context.programs.push('') - 1;
827
- child.index = index;
828
- child.name = 'program' + index;
829
- this.context.programs[index] = compiler.compile(child, options, this.context, !this.precompile);
830
- this.context.decorators[index] = compiler.decorators;
831
- this.context.environments[index] = child;
832
-
833
- this.useDepths = this.useDepths || compiler.useDepths;
834
- this.useBlockParams = this.useBlockParams || compiler.useBlockParams;
835
- child.useDepths = this.useDepths;
836
- child.useBlockParams = this.useBlockParams;
837
- } else {
838
- child.index = existing.index;
839
- child.name = 'program' + existing.index;
840
-
841
- this.useDepths = this.useDepths || existing.useDepths;
842
- this.useBlockParams = this.useBlockParams || existing.useBlockParams;
843
- }
844
- }
845
- },
846
- matchExistingProgram: function matchExistingProgram(child) {
847
- for (var i = 0, len = this.context.environments.length; i < len; i++) {
848
- var environment = this.context.environments[i];
849
- if (environment && environment.equals(child)) {
850
- return environment;
851
- }
852
- }
853
- },
854
-
855
- programExpression: function programExpression(guid) {
856
- var child = this.environment.children[guid],
857
- programParams = [child.index, 'data', child.blockParams];
858
-
859
- if (this.useBlockParams || this.useDepths) {
860
- programParams.push('blockParams');
861
- }
862
- if (this.useDepths) {
863
- programParams.push('depths');
864
- }
865
-
866
- return 'container.program(' + programParams.join(', ') + ')';
867
- },
868
-
869
- useRegister: function useRegister(name) {
870
- if (!this.registers[name]) {
871
- this.registers[name] = true;
872
- this.registers.list.push(name);
873
- }
874
- },
875
-
876
- push: function push(expr) {
877
- if (!(expr instanceof Literal)) {
878
- expr = this.source.wrap(expr);
879
- }
880
-
881
- this.inlineStack.push(expr);
882
- return expr;
883
- },
884
-
885
- pushStackLiteral: function pushStackLiteral(item) {
886
- this.push(new Literal(item));
887
- },
888
-
889
- pushSource: function pushSource(source) {
890
- if (this.pendingContent) {
891
- this.source.push(this.appendToBuffer(this.source.quotedString(this.pendingContent), this.pendingLocation));
892
- this.pendingContent = undefined;
893
- }
894
-
895
- if (source) {
896
- this.source.push(source);
897
- }
898
- },
899
-
900
- replaceStack: function replaceStack(callback) {
901
- var prefix = ['('],
902
- stack = undefined,
903
- createdStack = undefined,
904
- usedLiteral = undefined;
905
-
906
- /* istanbul ignore next */
907
- if (!this.isInline()) {
908
- throw new _exception2['default']('replaceStack on non-inline');
909
- }
910
-
911
- // We want to merge the inline statement into the replacement statement via ','
912
- var top = this.popStack(true);
913
-
914
- if (top instanceof Literal) {
915
- // Literals do not need to be inlined
916
- stack = [top.value];
917
- prefix = ['(', stack];
918
- usedLiteral = true;
919
- } else {
920
- // Get or create the current stack name for use by the inline
921
- createdStack = true;
922
- var _name = this.incrStack();
923
-
924
- prefix = ['((', this.push(_name), ' = ', top, ')'];
925
- stack = this.topStack();
926
- }
927
-
928
- var item = callback.call(this, stack);
929
-
930
- if (!usedLiteral) {
931
- this.popStack();
932
- }
933
- if (createdStack) {
934
- this.stackSlot--;
935
- }
936
- this.push(prefix.concat(item, ')'));
937
- },
938
-
939
- incrStack: function incrStack() {
940
- this.stackSlot++;
941
- if (this.stackSlot > this.stackVars.length) {
942
- this.stackVars.push('stack' + this.stackSlot);
943
- }
944
- return this.topStackName();
945
- },
946
- topStackName: function topStackName() {
947
- return 'stack' + this.stackSlot;
948
- },
949
- flushInline: function flushInline() {
950
- var inlineStack = this.inlineStack;
951
- this.inlineStack = [];
952
- for (var i = 0, len = inlineStack.length; i < len; i++) {
953
- var entry = inlineStack[i];
954
- /* istanbul ignore if */
955
- if (entry instanceof Literal) {
956
- this.compileStack.push(entry);
957
- } else {
958
- var stack = this.incrStack();
959
- this.pushSource([stack, ' = ', entry, ';']);
960
- this.compileStack.push(stack);
961
- }
962
- }
963
- },
964
- isInline: function isInline() {
965
- return this.inlineStack.length;
966
- },
967
-
968
- popStack: function popStack(wrapped) {
969
- var inline = this.isInline(),
970
- item = (inline ? this.inlineStack : this.compileStack).pop();
971
-
972
- if (!wrapped && item instanceof Literal) {
973
- return item.value;
974
- } else {
975
- if (!inline) {
976
- /* istanbul ignore next */
977
- if (!this.stackSlot) {
978
- throw new _exception2['default']('Invalid stack pop');
979
- }
980
- this.stackSlot--;
981
- }
982
- return item;
983
- }
984
- },
985
-
986
- topStack: function topStack() {
987
- var stack = this.isInline() ? this.inlineStack : this.compileStack,
988
- item = stack[stack.length - 1];
989
-
990
- /* istanbul ignore if */
991
- if (item instanceof Literal) {
992
- return item.value;
993
- } else {
994
- return item;
995
- }
996
- },
997
-
998
- contextName: function contextName(context) {
999
- if (this.useDepths && context) {
1000
- return 'depths[' + context + ']';
1001
- } else {
1002
- return 'depth' + context;
1003
- }
1004
- },
1005
-
1006
- quotedString: function quotedString(str) {
1007
- return this.source.quotedString(str);
1008
- },
1009
-
1010
- objectLiteral: function objectLiteral(obj) {
1011
- return this.source.objectLiteral(obj);
1012
- },
1013
-
1014
- aliasable: function aliasable(name) {
1015
- var ret = this.aliases[name];
1016
- if (ret) {
1017
- ret.referenceCount++;
1018
- return ret;
1019
- }
1020
-
1021
- ret = this.aliases[name] = this.source.wrap(name);
1022
- ret.aliasable = true;
1023
- ret.referenceCount = 1;
1024
-
1025
- return ret;
1026
- },
1027
-
1028
- setupHelper: function setupHelper(paramSize, name, blockHelper) {
1029
- var params = [],
1030
- paramsInit = this.setupHelperArgs(name, paramSize, params, blockHelper);
1031
- var foundHelper = this.nameLookup('helpers', name, 'helper'),
1032
- callContext = this.aliasable(this.contextName(0) + ' != null ? ' + this.contextName(0) + ' : (container.nullContext || {})');
1033
-
1034
- return {
1035
- params: params,
1036
- paramsInit: paramsInit,
1037
- name: foundHelper,
1038
- callParams: [callContext].concat(params)
1039
- };
1040
- },
1041
-
1042
- setupParams: function setupParams(helper, paramSize, params) {
1043
- var options = {},
1044
- contexts = [],
1045
- types = [],
1046
- ids = [],
1047
- objectArgs = !params,
1048
- param = undefined;
1049
-
1050
- if (objectArgs) {
1051
- params = [];
1052
- }
1053
-
1054
- options.name = this.quotedString(helper);
1055
- options.hash = this.popStack();
1056
-
1057
- if (this.trackIds) {
1058
- options.hashIds = this.popStack();
1059
- }
1060
- if (this.stringParams) {
1061
- options.hashTypes = this.popStack();
1062
- options.hashContexts = this.popStack();
1063
- }
1064
-
1065
- var inverse = this.popStack(),
1066
- program = this.popStack();
1067
-
1068
- // Avoid setting fn and inverse if neither are set. This allows
1069
- // helpers to do a check for `if (options.fn)`
1070
- if (program || inverse) {
1071
- options.fn = program || 'container.noop';
1072
- options.inverse = inverse || 'container.noop';
1073
- }
1074
-
1075
- // The parameters go on to the stack in order (making sure that they are evaluated in order)
1076
- // so we need to pop them off the stack in reverse order
1077
- var i = paramSize;
1078
- while (i--) {
1079
- param = this.popStack();
1080
- params[i] = param;
1081
-
1082
- if (this.trackIds) {
1083
- ids[i] = this.popStack();
1084
- }
1085
- if (this.stringParams) {
1086
- types[i] = this.popStack();
1087
- contexts[i] = this.popStack();
1088
- }
1089
- }
1090
-
1091
- if (objectArgs) {
1092
- options.args = this.source.generateArray(params);
1093
- }
1094
-
1095
- if (this.trackIds) {
1096
- options.ids = this.source.generateArray(ids);
1097
- }
1098
- if (this.stringParams) {
1099
- options.types = this.source.generateArray(types);
1100
- options.contexts = this.source.generateArray(contexts);
1101
- }
1102
-
1103
- if (this.options.data) {
1104
- options.data = 'data';
1105
- }
1106
- if (this.useBlockParams) {
1107
- options.blockParams = 'blockParams';
1108
- }
1109
- return options;
1110
- },
1111
-
1112
- setupHelperArgs: function setupHelperArgs(helper, paramSize, params, useRegister) {
1113
- var options = this.setupParams(helper, paramSize, params);
1114
- options.loc = JSON.stringify(this.source.currentLocation);
1115
- options = this.objectLiteral(options);
1116
- if (useRegister) {
1117
- this.useRegister('options');
1118
- params.push('options');
1119
- return ['options=', options];
1120
- } else if (params) {
1121
- params.push(options);
1122
- return '';
1123
- } else {
1124
- return options;
1125
- }
1126
- }
1127
- };
1128
-
1129
- (function () {
1130
- var reservedWords = ('break else new var' + ' case finally return void' + ' catch for switch while' + ' continue function this with' + ' default if throw' + ' delete in try' + ' do instanceof typeof' + ' abstract enum int short' + ' boolean export interface static' + ' byte extends long super' + ' char final native synchronized' + ' class float package throws' + ' const goto private transient' + ' debugger implements protected volatile' + ' double import public let yield await' + ' null true false').split(' ');
1131
-
1132
- var compilerWords = JavaScriptCompiler.RESERVED_WORDS = {};
1133
-
1134
- for (var i = 0, l = reservedWords.length; i < l; i++) {
1135
- compilerWords[reservedWords[i]] = true;
1136
- }
1137
- })();
1138
-
1139
- /**
1140
- * @deprecated May be removed in the next major version
1141
- */
1142
- JavaScriptCompiler.isValidJavaScriptVariableName = function (name) {
1143
- return !JavaScriptCompiler.RESERVED_WORDS[name] && /^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(name);
1144
- };
1145
-
1146
- function strictLookup(requireTerminal, compiler, parts, startPartIndex, type) {
1147
- var stack = compiler.popStack(),
1148
- len = parts.length;
1149
- if (requireTerminal) {
1150
- len--;
1151
- }
1152
-
1153
- for (var i = startPartIndex; i < len; i++) {
1154
- stack = compiler.nameLookup(stack, parts[i], type);
1155
- }
1156
-
1157
- if (requireTerminal) {
1158
- return [compiler.aliasable('container.strict'), '(', stack, ', ', compiler.quotedString(parts[len]), ', ', JSON.stringify(compiler.source.currentLocation), ' )'];
1159
- } else {
1160
- return stack;
1161
- }
1162
- }
1163
-
1164
- exports['default'] = JavaScriptCompiler;
1165
- module.exports = exports['default'];
1166
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2NvbXBpbGVyL2phdmFzY3JpcHQtY29tcGlsZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztvQkFBb0QsU0FBUzs7eUJBQ3ZDLGNBQWM7Ozs7cUJBQ1osVUFBVTs7dUJBQ2QsWUFBWTs7OztBQUVoQyxTQUFTLE9BQU8sQ0FBQyxLQUFLLEVBQUU7QUFDdEIsTUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7Q0FDcEI7O0FBRUQsU0FBUyxrQkFBa0IsR0FBRyxFQUFFOztBQUVoQyxrQkFBa0IsQ0FBQyxTQUFTLEdBQUc7OztBQUc3QixZQUFVLEVBQUUsb0JBQVMsTUFBTSxFQUFFLElBQUksZUFBZTtBQUM5QyxXQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7R0FDOUM7QUFDRCxlQUFhLEVBQUUsdUJBQVMsSUFBSSxFQUFFO0FBQzVCLFdBQU8sQ0FDTCxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLEVBQ2xDLFdBQVcsRUFDWCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUNwQixHQUFHLENBQ0osQ0FBQztHQUNIOztBQUVELGNBQVksRUFBRSx3QkFBVztBQUN2QixRQUFNLFFBQVEsMEJBQW9CO1FBQ2hDLFFBQVEsR0FBRyx1QkFBaUIsUUFBUSxDQUFDLENBQUM7QUFDeEMsV0FBTyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztHQUM3Qjs7QUFFRCxnQkFBYyxFQUFFLHdCQUFTLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFOztBQUVuRCxRQUFJLENBQUMsZUFBUSxNQUFNLENBQUMsRUFBRTtBQUNwQixZQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUNuQjtBQUNELFVBQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7O0FBRTVDLFFBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUU7QUFDN0IsYUFBTyxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUM7S0FDakMsTUFBTSxJQUFJLFFBQVEsRUFBRTs7OztBQUluQixhQUFPLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztLQUNwQyxNQUFNO0FBQ0wsWUFBTSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7QUFDN0IsYUFBTyxNQUFNLENBQUM7S0FDZjtHQUNGOztBQUVELGtCQUFnQixFQUFFLDRCQUFXO0FBQzNCLFdBQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQztHQUM5Qjs7QUFFRCxvQkFBa0IsRUFBRSw0QkFBUyxNQUFNLEVBQUUsSUFBSSxFQUFFO0FBQ3pDLFFBQUksQ0FBQyw0QkFBNEIsR0FBRyxJQUFJLENBQUM7QUFDekMsV0FBTyxDQUFDLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztHQUNwRTs7QUFFRCw4QkFBNEIsRUFBRSxLQUFLOztBQUVuQyxTQUFPLEVBQUUsaUJBQVMsV0FBVyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFO0FBQ3pELFFBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0FBQy9CLFFBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0FBQ3ZCLFFBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7QUFDOUMsUUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztBQUN0QyxRQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsUUFBUSxDQUFDOztBQUU1QixRQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO0FBQ2xDLFFBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQztBQUN6QixRQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sSUFBSTtBQUN4QixnQkFBVSxFQUFFLEVBQUU7QUFDZCxjQUFRLEVBQUUsRUFBRTtBQUNaLGtCQUFZLEVBQUUsRUFBRTtLQUNqQixDQUFDOztBQUVGLFFBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQzs7QUFFaEIsUUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7QUFDbkIsUUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7QUFDcEIsUUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7QUFDbEIsUUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQztBQUM5QixRQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztBQUNqQixRQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztBQUN2QixRQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztBQUN0QixRQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQzs7QUFFdEIsUUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7O0FBRTNDLFFBQUksQ0FBQyxTQUFTLEdBQ1osSUFBSSxDQUFDLFNBQVMsSUFDZCxXQUFXLENBQUMsU0FBUyxJQUNyQixXQUFXLENBQUMsYUFBYSxJQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztBQUN0QixRQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLElBQUksV0FBVyxDQUFDLGNBQWMsQ0FBQzs7QUFFeEUsUUFBSSxPQUFPLEdBQUcsV0FBVyxDQUFDLE9BQU87UUFDL0IsTUFBTSxZQUFBO1FBQ04sUUFBUSxZQUFBO1FBQ1IsQ0FBQyxZQUFBO1FBQ0QsQ0FBQyxZQUFBLENBQUM7O0FBRUosU0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDMUMsWUFBTSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQzs7QUFFcEIsVUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQztBQUN6QyxjQUFRLEdBQUcsUUFBUSxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUM7QUFDbEMsVUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUM5Qzs7O0FBR0QsUUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEdBQUcsUUFBUSxDQUFDO0FBQ3ZDLFFBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7OztBQUdwQixRQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUU7QUFDekUsWUFBTSwyQkFBYyw4Q0FBOEMsQ0FBQyxDQUFDO0tBQ3JFOztBQUVELFFBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxFQUFFO0FBQzlCLFVBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDOztBQUUxQixVQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUN0Qix5Q0FBeUMsRUFDekMsSUFBSSxDQUFDLG9DQUFvQyxFQUFFLEVBQzNDLEtBQUssQ0FDTixDQUFDLENBQUM7QUFDSCxVQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzs7QUFFbkMsVUFBSSxRQUFRLEVBQUU7QUFDWixZQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQ3JDLElBQUksRUFDSixPQUFPLEVBQ1AsV0FBVyxFQUNYLFFBQVEsRUFDUixNQUFNLEVBQ04sYUFBYSxFQUNiLFFBQVEsRUFDUixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUN4QixDQUFDLENBQUM7T0FDSixNQUFNO0FBQ0wsWUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQ3JCLHVFQUF1RSxDQUN4RSxDQUFDO0FBQ0YsWUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDNUIsWUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO09BQzNDO0tBQ0YsTUFBTTtBQUNMLFVBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO0tBQzdCOztBQUVELFFBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUM5QyxRQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtBQUNqQixVQUFJLEdBQUcsR0FBRztBQUNSLGdCQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRTtBQUM3QixZQUFJLEVBQUUsRUFBRTtPQUNULENBQUM7O0FBRUYsVUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO0FBQ25CLFdBQUcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztBQUM3QixXQUFHLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztPQUMxQjs7cUJBRThCLElBQUksQ0FBQyxPQUFPO1VBQXJDLFFBQVEsWUFBUixRQUFRO1VBQUUsVUFBVSxZQUFWLFVBQVU7O0FBQzFCLFdBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQzNDLFdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsWUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUU7QUFDakIsYUFBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUIsYUFBRyxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7U0FDMUI7T0FDRjs7QUFFRCxVQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFO0FBQy9CLFdBQUcsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO09BQ3ZCO0FBQ0QsVUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRTtBQUNyQixXQUFHLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztPQUNwQjtBQUNELFVBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtBQUNsQixXQUFHLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztPQUN0QjtBQUNELFVBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtBQUN2QixXQUFHLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztPQUMzQjtBQUNELFVBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7QUFDdkIsV0FBRyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7T0FDbkI7O0FBRUQsVUFBSSxDQUFDLFFBQVEsRUFBRTtBQUNiLFdBQUcsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7O0FBRTVDLFlBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUNoRSxXQUFHLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQzs7QUFFOUIsWUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFO0FBQ25CLGFBQUcsR0FBRyxHQUFHLENBQUMscUJBQXFCLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7QUFDNUQsYUFBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDekMsTUFBTTtBQUNMLGFBQUcsR0FBRyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDdEI7T0FDRixNQUFNO0FBQ0wsV0FBRyxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO09BQ3BDOztBQUVELGFBQU8sR0FBRyxDQUFDO0tBQ1osTUFBTTtBQUNMLGFBQU8sRUFBRSxDQUFDO0tBQ1g7R0FDRjs7QUFFRCxVQUFRLEVBQUUsb0JBQVc7OztBQUduQixRQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztBQUNyQixRQUFJLENBQUMsTUFBTSxHQUFHLHlCQUFZLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDaEQsUUFBSSxDQUFDLFVBQVUsR0FBRyx5QkFBWSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0dBQ3JEOztBQUVELHVCQUFxQixFQUFFLCtCQUFTLFFBQVEsRUFBRTs7Ozs7QUFDeEMsUUFBSSxlQUFlLEdBQUcsRUFBRSxDQUFDOztBQUV6QixRQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3hELFFBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7QUFDckIscUJBQWUsSUFBSSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUM3Qzs7Ozs7Ozs7QUFRRCxRQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7QUFDbkIsVUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQUEsS0FBSyxFQUFJO0FBQ3pDLFVBQUksSUFBSSxHQUFHLE1BQUssT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQy9CLFVBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsRUFBRTtBQUM1Qyx1QkFBZSxJQUFJLFNBQVMsR0FBRyxFQUFFLFVBQVUsR0FBRyxHQUFHLEdBQUcsS0FBSyxDQUFDO0FBQzFELFlBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxHQUFHLFVBQVUsQ0FBQztPQUN6QztLQUNGLENBQUMsQ0FBQzs7QUFFSCxRQUFJLElBQUksQ0FBQyw0QkFBNEIsRUFBRTtBQUNyQyxxQkFBZSxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsb0NBQW9DLEVBQUUsQ0FBQztLQUN2RTs7QUFFRCxRQUFJLE1BQU0sR0FBRyxDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQzs7QUFFcEUsUUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7QUFDekMsWUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztLQUM1QjtBQUNELFFBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtBQUNsQixZQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBQ3ZCOzs7QUFHRCxRQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDOztBQUUvQyxRQUFJLFFBQVEsRUFBRTtBQUNaLFlBQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7O0FBRXBCLGFBQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7S0FDckMsTUFBTTtBQUNMLGFBQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FDdEIsV0FBVyxFQUNYLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQ2hCLFNBQVMsRUFDVCxNQUFNLEVBQ04sR0FBRyxDQUNKLENBQUMsQ0FBQztLQUNKO0dBQ0Y7QUFDRCxhQUFXLEVBQUUscUJBQVMsZUFBZSxFQUFFO0FBQ3JDLFFBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUTtRQUN0QyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVztRQUM5QixXQUFXLFlBQUE7UUFDWCxVQUFVLFlBQUE7UUFDVixXQUFXLFlBQUE7UUFDWCxTQUFTLFlBQUEsQ0FBQztBQUNaLFFBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQUEsSUFBSSxFQUFJO0FBQ3ZCLFVBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtBQUN2QixZQUFJLFdBQVcsRUFBRTtBQUNmLGNBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDdEIsTUFBTTtBQUNMLHFCQUFXLEdBQUcsSUFBSSxDQUFDO1NBQ3BCO0FBQ0QsaUJBQVMsR0FBRyxJQUFJLENBQUM7T0FDbEIsTUFBTTtBQUNMLFlBQUksV0FBVyxFQUFFO0FBQ2YsY0FBSSxDQUFDLFVBQVUsRUFBRTtBQUNmLHVCQUFXLEdBQUcsSUFBSSxDQUFDO1dBQ3BCLE1BQU07QUFDTCx1QkFBVyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztXQUNuQztBQUNELG1CQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ25CLHFCQUFXLEdBQUcsU0FBUyxHQUFHLFNBQVMsQ0FBQztTQUNyQzs7QUFFRCxrQkFBVSxHQUFHLElBQUksQ0FBQztBQUNsQixZQUFJLENBQUMsUUFBUSxFQUFFO0FBQ2Isb0JBQVUsR0FBRyxLQUFLLENBQUM7U0FDcEI7T0FDRjtLQUNGLENBQUMsQ0FBQzs7QUFFSCxRQUFJLFVBQVUsRUFBRTtBQUNkLFVBQUksV0FBVyxFQUFFO0FBQ2YsbUJBQVcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDL0IsaUJBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7T0FDcEIsTUFBTSxJQUFJLENBQUMsVUFBVSxFQUFFO0FBQ3RCLFlBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO09BQ2hDO0tBQ0YsTUFBTTtBQUNMLHFCQUFlLElBQ2IsYUFBYSxJQUFJLFdBQVcsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUEsQUFBQyxDQUFDOztBQUUvRCxVQUFJLFdBQVcsRUFBRTtBQUNmLG1CQUFXLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFDeEMsaUJBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7T0FDcEIsTUFBTTtBQUNMLFlBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7T0FDcEM7S0FDRjs7QUFFRCxRQUFJLGVBQWUsRUFBRTtBQUNuQixVQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FDakIsTUFBTSxHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksV0FBVyxHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUEsQUFBQyxDQUNuRSxDQUFDO0tBQ0g7O0FBRUQsV0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO0dBQzVCOztBQUVELHNDQUFvQyxFQUFFLGdEQUFXO0FBQy9DLFdBQU8sNlBBT0wsSUFBSSxFQUFFLENBQUM7R0FDVjs7Ozs7Ozs7Ozs7QUFXRCxZQUFVLEVBQUUsb0JBQVMsSUFBSSxFQUFFO0FBQ3pCLFFBQUksa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FDbkMsb0NBQW9DLENBQ3JDO1FBQ0QsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2pDLFFBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQzs7QUFFdEMsUUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQ2hDLFVBQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQzs7QUFFL0IsUUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztHQUN6RTs7Ozs7Ozs7QUFRRCxxQkFBbUIsRUFBRSwrQkFBVzs7QUFFOUIsUUFBSSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUNuQyxvQ0FBb0MsQ0FDckM7UUFDRCxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakMsUUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQzs7QUFFMUMsUUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDOztBQUVuQixRQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDOUIsVUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDOztBQUU3QixRQUFJLENBQUMsVUFBVSxDQUFDLENBQ2QsT0FBTyxFQUNQLElBQUksQ0FBQyxVQUFVLEVBQ2YsTUFBTSxFQUNOLE9BQU8sRUFDUCxLQUFLLEVBQ0wsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxFQUM1RCxHQUFHLENBQ0osQ0FBQyxDQUFDO0dBQ0o7Ozs7Ozs7O0FBUUQsZUFBYSxFQUFFLHVCQUFTLE9BQU8sRUFBRTtBQUMvQixRQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7QUFDdkIsYUFBTyxHQUFHLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDO0tBQ3pDLE1BQU07QUFDTCxVQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDO0tBQ3BEOztBQUVELFFBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDO0dBQy9COzs7Ozs7Ozs7OztBQVdELFFBQU0sRUFBRSxrQkFBVztBQUNqQixRQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRTtBQUNuQixVQUFJLENBQUMsWUFBWSxDQUFDLFVBQUEsT0FBTztlQUFJLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUM7T0FBQSxDQUFDLENBQUM7O0FBRWhFLFVBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0tBQ3ZELE1BQU07QUFDTCxVQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDNUIsVUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUNkLE1BQU0sRUFDTixLQUFLLEVBQ0wsY0FBYyxFQUNkLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsRUFDM0MsSUFBSSxDQUNMLENBQUMsQ0FBQztBQUNILFVBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUU7QUFDN0IsWUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUNkLFNBQVMsRUFDVCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLEVBQzFDLElBQUksQ0FDTCxDQUFDLENBQUM7T0FDSjtLQUNGO0dBQ0Y7Ozs7Ozs7O0FBUUQsZUFBYSxFQUFFLHlCQUFXO0FBQ3hCLFFBQUksQ0FBQyxVQUFVLENBQ2IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLDRCQUE0QixDQUFDLEVBQzVDLEdBQUcsRUFDSCxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQ2YsR0FBRyxDQUNKLENBQUMsQ0FDSCxDQUFDO0dBQ0g7Ozs7Ozs7OztBQVNELFlBQVUsRUFBRSxvQkFBUyxLQUFLLEVBQUU7QUFDMUIsUUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7R0FDMUI7Ozs7Ozs7O0FBUUQsYUFBVyxFQUFFLHVCQUFXO0FBQ3RCLFFBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0dBQzNEOzs7Ozs7Ozs7QUFTRCxpQkFBZSxFQUFFLHlCQUFTLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRTtBQUN0RCxRQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7O0FBRVYsUUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7OztBQUd2RCxVQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQzNDLE1BQU07QUFDTCxVQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7S0FDcEI7O0FBRUQsUUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7R0FDdEQ7Ozs7Ozs7OztBQVNELGtCQUFnQixFQUFFLDBCQUFTLFlBQVksRUFBRSxLQUFLLEVBQUU7QUFDOUMsUUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7O0FBRTNCLFFBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxjQUFjLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUN6RSxRQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7R0FDdkM7Ozs7Ozs7O0FBUUQsWUFBVSxFQUFFLG9CQUFTLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO0FBQ3pDLFFBQUksQ0FBQyxLQUFLLEVBQUU7QUFDVixVQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDL0IsTUFBTTtBQUNMLFVBQUksQ0FBQyxnQkFBZ0IsQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUM7S0FDOUQ7O0FBRUQsUUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7R0FDbEQ7O0FBRUQsYUFBVyxFQUFFLHFCQUFTLElBQUksRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUU7Ozs7O0FBQ2hFLFFBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUU7QUFDckQsVUFBSSxDQUFDLElBQUksQ0FDUCxZQUFZLENBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksTUFBTSxFQUM3QixJQUFJLEVBQ0osS0FBSyxFQUNMLGNBQWMsRUFDZCxJQUFJLENBQ0wsQ0FDRixDQUFDO0FBQ0YsYUFBTztLQUNSOztBQUVELFFBQUksR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7OzBCQUNkLENBQUM7O0FBRVIsYUFBSyxZQUFZLENBQUMsVUFBQSxPQUFPLEVBQUk7QUFDM0IsWUFBSSxNQUFNLEdBQUcsT0FBSyxVQUFVLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQzs7O0FBR3RELFlBQUksQ0FBQyxLQUFLLEVBQUU7QUFDVixpQkFBTyxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ2hELE1BQU07O0FBRUwsaUJBQU8sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDekI7T0FDRixDQUFDLENBQUM7Ozs7QUFaTCxTQUFLLElBQUksQ0FBQyxHQUFHLGNBQWMsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQWxDLENBQUM7S0FjVDtHQUNGOzs7Ozs7Ozs7QUFTRCx1QkFBcUIsRUFBRSxpQ0FBVztBQUNoQyxRQUFJLENBQUMsSUFBSSxDQUFDLENBQ1IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxFQUNsQyxHQUFHLEVBQ0gsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUNmLElBQUksRUFDSixJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUNuQixHQUFHLENBQ0osQ0FBQyxDQUFDO0dBQ0o7Ozs7Ozs7Ozs7QUFVRCxpQkFBZSxFQUFFLHlCQUFTLE1BQU0sRUFBRSxJQUFJLEVBQUU7QUFDdEMsUUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0FBQ25CLFFBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7Ozs7QUFJdEIsUUFBSSxJQUFJLEtBQUssZUFBZSxFQUFFO0FBQzVCLFVBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFO0FBQzlCLFlBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7T0FDekIsTUFBTTtBQUNMLFlBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztPQUMvQjtLQUNGO0dBQ0Y7O0FBRUQsV0FBUyxFQUFFLG1CQUFTLFNBQVMsRUFBRTtBQUM3QixRQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7QUFDakIsVUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUNqQjtBQUNELFFBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtBQUNyQixVQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2hCLFVBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDakI7QUFDRCxRQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxHQUFHLFdBQVcsR0FBRyxJQUFJLENBQUMsQ0FBQztHQUN2RDtBQUNELFVBQVEsRUFBRSxvQkFBVztBQUNuQixRQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7QUFDYixVQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDN0I7QUFDRCxRQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDO0dBQzlEO0FBQ0QsU0FBTyxFQUFFLG1CQUFXO0FBQ2xCLFFBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7QUFDckIsUUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDOztBQUU5QixRQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7QUFDakIsVUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0tBQ3pDO0FBQ0QsUUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO0FBQ3JCLFVBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztBQUM3QyxVQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7S0FDM0M7O0FBRUQsUUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0dBQzVDOzs7Ozs7OztBQVFELFlBQVUsRUFBRSxvQkFBUyxNQUFNLEVBQUU7QUFDM0IsUUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztHQUNsRDs7Ozs7Ozs7OztBQVVELGFBQVcsRUFBRSxxQkFBUyxLQUFLLEVBQUU7QUFDM0IsUUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0dBQzlCOzs7Ozs7Ozs7O0FBVUQsYUFBVyxFQUFFLHFCQUFTLElBQUksRUFBRTtBQUMxQixRQUFJLElBQUksSUFBSSxJQUFJLEVBQUU7QUFDaEIsVUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0tBQ3JELE1BQU07QUFDTCxVQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDN0I7R0FDRjs7Ozs7Ozs7O0FBU0QsbUJBQWlCLEVBQUEsMkJBQUMsU0FBUyxFQUFFLElBQUksRUFBRTtBQUNqQyxRQUFJLGNBQWMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsV0FBVyxDQUFDO1FBQ25FLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQzs7Ozs7QUFLbEQsUUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNoRSxRQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUNuQix5REFBeUQsRUFDekQsSUFBSSxDQUFDLFlBQVksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLEdBQUcsR0FBRyxDQUFDLEVBQ3RELE1BQU0sQ0FDUCxDQUFDLENBQUM7QUFDSCxRQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUNuQixPQUFPLEVBQ1AsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLEVBQUUsRUFBRSxDQUM1QyxJQUFJLEVBQ0osT0FBTyxFQUNQLFdBQVcsRUFDWCxPQUFPLENBQ1IsQ0FBQyxFQUNGLFNBQVMsQ0FDVixDQUFDLENBQUM7R0FDSjs7Ozs7Ozs7Ozs7QUFXRCxjQUFZLEVBQUUsc0JBQVMsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7QUFDaEQsUUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUM3QixNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7O0FBRTdDLFFBQUkscUJBQXFCLEdBQUcsRUFBRSxDQUFDOztBQUUvQixRQUFJLFFBQVEsRUFBRTs7QUFFWiwyQkFBcUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3pDOztBQUVELHlCQUFxQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUN0QyxRQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7QUFDeEIsMkJBQXFCLENBQUMsSUFBSSxDQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLCtCQUErQixDQUFDLENBQ2hELENBQUM7S0FDSDs7QUFFRCxRQUFJLGtCQUFrQixHQUFHLENBQ3ZCLEdBQUcsRUFDSCxJQUFJLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLEVBQUUsSUFBSSxDQUFDLEVBQ2xELEdBQUcsQ0FDSixDQUFDO0FBQ0YsUUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQ3pDLGtCQUFrQixFQUNsQixNQUFNLEVBQ04sTUFBTSxDQUFDLFVBQVUsQ0FDbEIsQ0FBQztBQUNGLFFBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7R0FDekI7O0FBRUQsa0JBQWdCLEVBQUUsMEJBQVMsS0FBSyxFQUFFLFNBQVMsRUFBRTtBQUMzQyxRQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7QUFDaEIsVUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0QixTQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUNyQyxZQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNsQztBQUNELFdBQU8sTUFBTSxDQUFDO0dBQ2Y7Ozs7Ozs7O0FBUUQsbUJBQWlCLEVBQUUsMkJBQVMsU0FBUyxFQUFFLElBQUksRUFBRTtBQUMzQyxRQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUMvQyxRQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0dBQzdFOzs7Ozs7Ozs7Ozs7OztBQWNELGlCQUFlLEVBQUUseUJBQVMsSUFBSSxFQUFFLFVBQVUsRUFBRTtBQUMxQyxRQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDOztBQUUzQixRQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7O0FBRWhDLFFBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztBQUNqQixRQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7O0FBRW5ELFFBQUksVUFBVSxHQUFJLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FDakQsU0FBUyxFQUNULElBQUksRUFDSixRQUFRLENBQ1QsQUFBQyxDQUFDOztBQUVILFFBQUksTUFBTSxHQUFHLENBQUMsR0FBRyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztBQUNyRSxRQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7QUFDeEIsWUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQztBQUN6QixZQUFNLENBQUMsSUFBSSxDQUNULHNCQUFzQixFQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLCtCQUErQixDQUFDLENBQ2hELENBQUM7S0FDSDs7QUFFRCxRQUFJLENBQUMsSUFBSSxDQUFDLENBQ1IsR0FBRyxFQUNILE1BQU0sRUFDTixNQUFNLENBQUMsVUFBVSxHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLEVBQ25ELElBQUksRUFDSixxQkFBcUIsRUFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsRUFDNUIsS0FBSyxFQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUM3RCxhQUFhLENBQ2QsQ0FBQyxDQUFDO0dBQ0o7Ozs7Ozs7OztBQVNELGVBQWEsRUFBRSx1QkFBUyxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtBQUMvQyxRQUFJLE1BQU0sR0FBRyxFQUFFO1FBQ2IsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQzs7QUFFOUMsUUFBSSxTQUFTLEVBQUU7QUFDYixVQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQ3ZCLGFBQU8sT0FBTyxDQUFDLElBQUksQ0FBQztLQUNyQjs7QUFFRCxRQUFJLE1BQU0sRUFBRTtBQUNWLGFBQU8sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUN6QztBQUNELFdBQU8sQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDO0FBQzVCLFdBQU8sQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO0FBQzlCLFdBQU8sQ0FBQyxVQUFVLEdBQUcsc0JBQXNCLENBQUM7O0FBRTVDLFFBQUksQ0FBQyxTQUFTLEVBQUU7QUFDZCxZQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO0tBQzlELE1BQU07QUFDTCxZQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3RCOztBQUVELFFBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7QUFDdkIsYUFBTyxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUM7S0FDM0I7QUFDRCxXQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUN0QyxVQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDOztBQUVyQixRQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLHlCQUF5QixFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0dBQzVFOzs7Ozs7OztBQVFELGNBQVksRUFBRSxzQkFBUyxHQUFHLEVBQUU7QUFDMUIsUUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUN6QixPQUFPLFlBQUE7UUFDUCxJQUFJLFlBQUE7UUFDSixFQUFFLFlBQUEsQ0FBQzs7QUFFTCxRQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7QUFDakIsUUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztLQUN0QjtBQUNELFFBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtBQUNyQixVQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQ3ZCLGFBQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7S0FDM0I7O0FBRUQsUUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztBQUNyQixRQUFJLE9BQU8sRUFBRTtBQUNYLFVBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO0tBQzlCO0FBQ0QsUUFBSSxJQUFJLEVBQUU7QUFDUixVQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQztLQUN4QjtBQUNELFFBQUksRUFBRSxFQUFFO0FBQ04sVUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7S0FDcEI7QUFDRCxRQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztHQUMxQjs7QUFFRCxRQUFNLEVBQUUsZ0JBQVMsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7QUFDbEMsUUFBSSxJQUFJLEtBQUssWUFBWSxFQUFFO0FBQ3pCLFVBQUksQ0FBQyxnQkFBZ0IsQ0FDbkIsY0FBYyxHQUNaLElBQUksQ0FBQyxDQUFDLENBQUMsR0FDUCxTQUFTLEdBQ1QsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUNQLEdBQUcsSUFDRixLQUFLLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQSxBQUFDLENBQ3JELENBQUM7S0FDSCxNQUFNLElBQUksSUFBSSxLQUFLLGdCQUFnQixFQUFFO0FBQ3BDLFVBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDdkIsTUFBTSxJQUFJLElBQUksS0FBSyxlQUFlLEVBQUU7QUFDbkMsVUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQy9CLE1BQU07QUFDTCxVQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDL0I7R0FDRjs7OztBQUlELFVBQVEsRUFBRSxrQkFBa0I7O0FBRTVCLGlCQUFlLEVBQUUseUJBQVMsV0FBVyxFQUFFLE9BQU8sRUFBRTtBQUM5QyxRQUFJLFFBQVEsR0FBRyxXQUFXLENBQUMsUUFBUTtRQUNqQyxLQUFLLFlBQUE7UUFDTCxRQUFRLFlBQUEsQ0FBQzs7QUFFWCxTQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQy9DLFdBQUssR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEIsY0FBUSxHQUFHLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDOztBQUUvQixVQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7O0FBRWhELFVBQUksUUFBUSxJQUFJLElBQUksRUFBRTs7QUFFcEIsWUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUMvQyxhQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztBQUNwQixhQUFLLENBQUMsSUFBSSxHQUFHLFNBQVMsR0FBRyxLQUFLLENBQUM7QUFDL0IsWUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FDN0MsS0FBSyxFQUNMLE9BQU8sRUFDUCxJQUFJLENBQUMsT0FBTyxFQUNaLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FDakIsQ0FBQztBQUNGLFlBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUM7QUFDckQsWUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDOztBQUV6QyxZQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksUUFBUSxDQUFDLFNBQVMsQ0FBQztBQUN0RCxZQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLElBQUksUUFBUSxDQUFDLGNBQWMsQ0FBQztBQUNyRSxhQUFLLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7QUFDakMsYUFBSyxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO09BQzVDLE1BQU07QUFDTCxhQUFLLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUM7QUFDN0IsYUFBSyxDQUFDLElBQUksR0FBRyxTQUFTLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQzs7QUFFeEMsWUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUM7QUFDdEQsWUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxJQUFJLFFBQVEsQ0FBQyxjQUFjLENBQUM7T0FDdEU7S0FDRjtHQUNGO0FBQ0Qsc0JBQW9CLEVBQUUsOEJBQVMsS0FBSyxFQUFFO0FBQ3BDLFNBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUNwRSxVQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMvQyxVQUFJLFdBQVcsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO0FBQzVDLGVBQU8sV0FBVyxDQUFDO09BQ3BCO0tBQ0Y7R0FDRjs7QUFFRCxtQkFBaUIsRUFBRSwyQkFBUyxJQUFJLEVBQUU7QUFDaEMsUUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ3pDLGFBQWEsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQzs7QUFFM0QsUUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7QUFDekMsbUJBQWEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7S0FDbkM7QUFDRCxRQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7QUFDbEIsbUJBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7S0FDOUI7O0FBRUQsV0FBTyxvQkFBb0IsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQztHQUM5RDs7QUFFRCxhQUFXLEVBQUUscUJBQVMsSUFBSSxFQUFFO0FBQzFCLFFBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO0FBQ3pCLFVBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO0FBQzVCLFVBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUNoQztHQUNGOztBQUVELE1BQUksRUFBRSxjQUFTLElBQUksRUFBRTtBQUNuQixRQUFJLEVBQUUsSUFBSSxZQUFZLE9BQU8sQ0FBQSxBQUFDLEVBQUU7QUFDOUIsVUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQy9COztBQUVELFFBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzVCLFdBQU8sSUFBSSxDQUFDO0dBQ2I7O0FBRUQsa0JBQWdCLEVBQUUsMEJBQVMsSUFBSSxFQUFFO0FBQy9CLFFBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztHQUM5Qjs7QUFFRCxZQUFVLEVBQUUsb0JBQVMsTUFBTSxFQUFFO0FBQzNCLFFBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtBQUN2QixVQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDZCxJQUFJLENBQUMsY0FBYyxDQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQzdDLElBQUksQ0FBQyxlQUFlLENBQ3JCLENBQ0YsQ0FBQztBQUNGLFVBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDO0tBQ2pDOztBQUVELFFBQUksTUFBTSxFQUFFO0FBQ1YsVUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDMUI7R0FDRjs7QUFFRCxjQUFZLEVBQUUsc0JBQVMsUUFBUSxFQUFFO0FBQy9CLFFBQUksTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDO1FBQ2hCLEtBQUssWUFBQTtRQUNMLFlBQVksWUFBQTtRQUNaLFdBQVcsWUFBQSxDQUFDOzs7QUFHZCxRQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFO0FBQ3BCLFlBQU0sMkJBQWMsNEJBQTRCLENBQUMsQ0FBQztLQUNuRDs7O0FBR0QsUUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQzs7QUFFOUIsUUFBSSxHQUFHLFlBQVksT0FBTyxFQUFFOztBQUUxQixXQUFLLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDcEIsWUFBTSxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3RCLGlCQUFXLEdBQUcsSUFBSSxDQUFDO0tBQ3BCLE1BQU07O0FBRUwsa0JBQVksR0FBRyxJQUFJLENBQUM7QUFDcEIsVUFBSSxLQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDOztBQUU1QixZQUFNLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQ2xELFdBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7S0FDekI7O0FBRUQsUUFBSSxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7O0FBRXRDLFFBQUksQ0FBQyxXQUFXLEVBQUU7QUFDaEIsVUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0tBQ2pCO0FBQ0QsUUFBSSxZQUFZLEVBQUU7QUFDaEIsVUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0tBQ2xCO0FBQ0QsUUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0dBQ3JDOztBQUVELFdBQVMsRUFBRSxxQkFBVztBQUNwQixRQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7QUFDakIsUUFBSSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFO0FBQzFDLFVBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7S0FDL0M7QUFDRCxXQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztHQUM1QjtBQUNELGNBQVksRUFBRSx3QkFBVztBQUN2QixXQUFPLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO0dBQ2pDO0FBQ0QsYUFBVyxFQUFFLHVCQUFXO0FBQ3RCLFFBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7QUFDbkMsUUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7QUFDdEIsU0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUN0RCxVQUFJLEtBQUssR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7O0FBRTNCLFVBQUksS0FBSyxZQUFZLE9BQU8sRUFBRTtBQUM1QixZQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztPQUMvQixNQUFNO0FBQ0wsWUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0FBQzdCLFlBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQzVDLFlBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO09BQy9CO0tBQ0Y7R0FDRjtBQUNELFVBQVEsRUFBRSxvQkFBVztBQUNuQixXQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO0dBQ2hDOztBQUVELFVBQVEsRUFBRSxrQkFBUyxPQUFPLEVBQUU7QUFDMUIsUUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUMxQixJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFBLENBQUUsR0FBRyxFQUFFLENBQUM7O0FBRS9ELFFBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxZQUFZLE9BQU8sRUFBRTtBQUN2QyxhQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7S0FDbkIsTUFBTTtBQUNMLFVBQUksQ0FBQyxNQUFNLEVBQUU7O0FBRVgsWUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7QUFDbkIsZ0JBQU0sMkJBQWMsbUJBQW1CLENBQUMsQ0FBQztTQUMxQztBQUNELFlBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztPQUNsQjtBQUNELGFBQU8sSUFBSSxDQUFDO0tBQ2I7R0FDRjs7QUFFRCxVQUFRLEVBQUUsb0JBQVc7QUFDbkIsUUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVk7UUFDaEUsSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDOzs7QUFHakMsUUFBSSxJQUFJLFlBQVksT0FBTyxFQUFFO0FBQzNCLGFBQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztLQUNuQixNQUFNO0FBQ0wsYUFBTyxJQUFJLENBQUM7S0FDYjtHQUNGOztBQUVELGFBQVcsRUFBRSxxQkFBUyxPQUFPLEVBQUU7QUFDN0IsUUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLE9BQU8sRUFBRTtBQUM3QixhQUFPLFNBQVMsR0FBRyxPQUFPLEdBQUcsR0FBRyxDQUFDO0tBQ2xDLE1BQU07QUFDTCxhQUFPLE9BQU8sR0FBRyxPQUFPLENBQUM7S0FDMUI7R0FDRjs7QUFFRCxjQUFZLEVBQUUsc0JBQVMsR0FBRyxFQUFFO0FBQzFCLFdBQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7R0FDdEM7O0FBRUQsZUFBYSxFQUFFLHVCQUFTLEdBQUcsRUFBRTtBQUMzQixXQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0dBQ3ZDOztBQUVELFdBQVMsRUFBRSxtQkFBUyxJQUFJLEVBQUU7QUFDeEIsUUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUM3QixRQUFJLEdBQUcsRUFBRTtBQUNQLFNBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztBQUNyQixhQUFPLEdBQUcsQ0FBQztLQUNaOztBQUVELE9BQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2xELE9BQUcsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO0FBQ3JCLE9BQUcsQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDOztBQUV2QixXQUFPLEdBQUcsQ0FBQztHQUNaOztBQUVELGFBQVcsRUFBRSxxQkFBUyxTQUFTLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtBQUNsRCxRQUFJLE1BQU0sR0FBRyxFQUFFO1FBQ2IsVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFDMUUsUUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQztRQUMxRCxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsbUJBQWMsSUFBSSxDQUFDLFdBQVcsQ0FDbEQsQ0FBQyxDQUNGLHNDQUNGLENBQUM7O0FBRUosV0FBTztBQUNMLFlBQU0sRUFBRSxNQUFNO0FBQ2QsZ0JBQVUsRUFBRSxVQUFVO0FBQ3RCLFVBQUksRUFBRSxXQUFXO0FBQ2pCLGdCQUFVLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0tBQ3pDLENBQUM7R0FDSDs7QUFFRCxhQUFXLEVBQUUscUJBQVMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUU7QUFDL0MsUUFBSSxPQUFPLEdBQUcsRUFBRTtRQUNkLFFBQVEsR0FBRyxFQUFFO1FBQ2IsS0FBSyxHQUFHLEVBQUU7UUFDVixHQUFHLEdBQUcsRUFBRTtRQUNSLFVBQVUsR0FBRyxDQUFDLE1BQU07UUFDcEIsS0FBSyxZQUFBLENBQUM7O0FBRVIsUUFBSSxVQUFVLEVBQUU7QUFDZCxZQUFNLEdBQUcsRUFBRSxDQUFDO0tBQ2I7O0FBRUQsV0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3pDLFdBQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDOztBQUUvQixRQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7QUFDakIsYUFBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7S0FDbkM7QUFDRCxRQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7QUFDckIsYUFBTyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDcEMsYUFBTyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7S0FDeEM7O0FBRUQsUUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUMzQixPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDOzs7O0FBSTVCLFFBQUksT0FBTyxJQUFJLE9BQU8sRUFBRTtBQUN0QixhQUFPLENBQUMsRUFBRSxHQUFHLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQztBQUN6QyxhQUFPLENBQUMsT0FBTyxHQUFHLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQztLQUMvQzs7OztBQUlELFFBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQztBQUNsQixXQUFPLENBQUMsRUFBRSxFQUFFO0FBQ1YsV0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUN4QixZQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDOztBQUVsQixVQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7QUFDakIsV0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztPQUMxQjtBQUNELFVBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtBQUNyQixhQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQzNCLGdCQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO09BQy9CO0tBQ0Y7O0FBRUQsUUFBSSxVQUFVLEVBQUU7QUFDZCxhQUFPLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQ2xEOztBQUVELFFBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtBQUNqQixhQUFPLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQzlDO0FBQ0QsUUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO0FBQ3JCLGFBQU8sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDakQsYUFBTyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztLQUN4RDs7QUFFRCxRQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFO0FBQ3JCLGFBQU8sQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO0tBQ3ZCO0FBQ0QsUUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO0FBQ3ZCLGFBQU8sQ0FBQyxXQUFXLEdBQUcsYUFBYSxDQUFDO0tBQ3JDO0FBQ0QsV0FBTyxPQUFPLENBQUM7R0FDaEI7O0FBRUQsaUJBQWUsRUFBRSx5QkFBUyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUU7QUFDaEUsUUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQzFELFdBQU8sQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQzFELFdBQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3RDLFFBQUksV0FBVyxFQUFFO0FBQ2YsVUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUM1QixZQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ3ZCLGFBQU8sQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDOUIsTUFBTSxJQUFJLE1BQU0sRUFBRTtBQUNqQixZQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3JCLGFBQU8sRUFBRSxDQUFDO0tBQ1gsTUFBTTtBQUNMLGFBQU8sT0FBTyxDQUFDO0tBQ2hCO0dBQ0Y7Q0FDRixDQUFDOztBQUVGLENBQUMsWUFBVztBQUNWLE1BQU0sYUFBYSxHQUFHLENBQ3BCLG9CQUFvQixHQUNwQiwyQkFBMkIsR0FDM0IseUJBQXlCLEdBQ3pCLDhCQUE4QixHQUM5QixtQkFBbUIsR0FDbkIsZ0JBQWdCLEdBQ2hCLHVCQUF1QixHQUN2QiwwQkFBMEIsR0FDMUIsa0NBQWtDLEdBQ2xDLDBCQUEwQixHQUMxQixpQ0FBaUMsR0FDakMsNkJBQTZCLEdBQzdCLCtCQUErQixHQUMvQix5Q0FBeUMsR0FDekMsdUNBQXVDLEdBQ3ZDLGtCQUFrQixDQUFBLENBQ2xCLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQzs7QUFFYixNQUFNLGFBQWEsR0FBSSxrQkFBa0IsQ0FBQyxjQUFjLEdBQUcsRUFBRSxBQUFDLENBQUM7O0FBRS9ELE9BQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDcEQsaUJBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7R0FDeEM7Q0FDRixDQUFBLEVBQUcsQ0FBQzs7Ozs7QUFLTCxrQkFBa0IsQ0FBQyw2QkFBNkIsR0FBRyxVQUFTLElBQUksRUFBRTtBQUNoRSxTQUNFLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUN4Qyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQ3ZDO0NBQ0gsQ0FBQzs7QUFFRixTQUFTLFlBQVksQ0FBQyxlQUFlLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFO0FBQzVFLE1BQUksS0FBSyxHQUFHLFFBQVEsQ0FBQyxRQUFRLEVBQUU7TUFDN0IsR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7QUFDckIsTUFBSSxlQUFlLEVBQUU7QUFDbkIsT0FBRyxFQUFFLENBQUM7R0FDUDs7QUFFRCxPQUFLLElBQUksQ0FBQyxHQUFHLGNBQWMsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQ3pDLFNBQUssR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7R0FDcEQ7O0FBRUQsTUFBSSxlQUFlLEVBQUU7QUFDbkIsV0FBTyxDQUNMLFFBQVEsQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsRUFDdEMsR0FBRyxFQUNILEtBQUssRUFDTCxJQUFJLEVBQ0osUUFBUSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsRUFDakMsSUFBSSxFQUNKLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsRUFDL0MsSUFBSSxDQUNMLENBQUM7R0FDSCxNQUFNO0FBQ0wsV0FBTyxLQUFLLENBQUM7R0FDZDtDQUNGOztxQkFFYyxrQkFBa0IiLCJmaWxlIjoiamF2YXNjcmlwdC1jb21waWxlci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENPTVBJTEVSX1JFVklTSU9OLCBSRVZJU0lPTl9DSEFOR0VTIH0gZnJvbSAnLi4vYmFzZSc7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gJy4uL2V4Y2VwdGlvbic7XG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IENvZGVHZW4gZnJvbSAnLi9jb2RlLWdlbic7XG5cbmZ1bmN0aW9uIExpdGVyYWwodmFsdWUpIHtcbiAgdGhpcy52YWx1ZSA9IHZhbHVlO1xufVxuXG5mdW5jdGlvbiBKYXZhU2NyaXB0Q29tcGlsZXIoKSB7fVxuXG5KYXZhU2NyaXB0Q29tcGlsZXIucHJvdG90eXBlID0ge1xuICAvLyBQVUJMSUMgQVBJOiBZb3UgY2FuIG92ZXJyaWRlIHRoZXNlIG1ldGhvZHMgaW4gYSBzdWJjbGFzcyB0byBwcm92aWRlXG4gIC8vIGFsdGVybmF0aXZlIGNvbXBpbGVkIGZvcm1zIGZvciBuYW1lIGxvb2t1cCBhbmQgYnVmZmVyaW5nIHNlbWFudGljc1xuICBuYW1lTG9va3VwOiBmdW5jdGlvbihwYXJlbnQsIG5hbWUgLyosICB0eXBlICovKSB7XG4gICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxOYW1lTG9va3VwKHBhcmVudCwgbmFtZSk7XG4gIH0sXG4gIGRlcHRoZWRMb29rdXA6IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICByZXR1cm4gW1xuICAgICAgdGhpcy5hbGlhc2FibGUoJ2NvbnRhaW5lci5sb29rdXAnKSxcbiAgICAgICcoZGVwdGhzLCAnLFxuICAgICAgSlNPTi5zdHJpbmdpZnkobmFtZSksXG4gICAgICAnKSdcbiAgICBdO1xuICB9LFxuXG4gIGNvbXBpbGVySW5mbzogZnVuY3Rpb24oKSB7XG4gICAgY29uc3QgcmV2aXNpb24gPSBDT01QSUxFUl9SRVZJU0lPTixcbiAgICAgIHZlcnNpb25zID0gUkVWSVNJT05fQ0hBTkdFU1tyZXZpc2lvbl07XG4gICAgcmV0dXJuIFtyZXZpc2lvbiwgdmVyc2lvbnNdO1xuICB9LFxuXG4gIGFwcGVuZFRvQnVmZmVyOiBmdW5jdGlvbihzb3VyY2UsIGxvY2F0aW9uLCBleHBsaWNpdCkge1xuICAgIC8vIEZvcmNlIGEgc291cmNlIGFzIHRoaXMgc2ltcGxpZmllcyB0aGUgbWVyZ2UgbG9naWMuXG4gICAgaWYgKCFpc0FycmF5KHNvdXJjZSkpIHtcbiAgICAgIHNvdXJjZSA9IFtzb3VyY2VdO1xuICAgIH1cbiAgICBzb3VyY2UgPSB0aGlzLnNvdXJjZS53cmFwKHNvdXJjZSwgbG9jYXRpb24pO1xuXG4gICAgaWYgKHRoaXMuZW52aXJvbm1lbnQuaXNTaW1wbGUpIHtcbiAgICAgIHJldHVybiBbJ3JldHVybiAnLCBzb3VyY2UsICc7J107XG4gICAgfSBlbHNlIGlmIChleHBsaWNpdCkge1xuICAgICAgLy8gVGhpcyBpcyBhIGNhc2Ugd2hlcmUgdGhlIGJ1ZmZlciBvcGVyYXRpb24gb2NjdXJzIGFzIGEgY2hpbGQgb2YgYW5vdGhlclxuICAgICAgLy8gY29uc3RydWN0LCBnZW5lcmFsbHkgYnJhY2VzLiBXZSBoYXZlIHRvIGV4cGxpY2l0bHkgb3V0cHV0IHRoZXNlIGJ1ZmZlclxuICAgICAgLy8gb3BlcmF0aW9ucyB0byBlbnN1cmUgdGhhdCB0aGUgZW1pdHRlZCBjb2RlIGdvZXMgaW4gdGhlIGNvcnJlY3QgbG9jYXRpb24uXG4gICAgICByZXR1cm4gWydidWZmZXIgKz0gJywgc291cmNlLCAnOyddO1xuICAgIH0gZWxzZSB7XG4gICAgICBzb3VyY2UuYXBwZW5kVG9CdWZmZXIgPSB0cnVlO1xuICAgICAgcmV0dXJuIHNvdXJjZTtcbiAgICB9XG4gIH0sXG5cbiAgaW5pdGlhbGl6ZUJ1ZmZlcjogZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMucXVvdGVkU3RyaW5nKCcnKTtcbiAgfSxcbiAgLy8gRU5EIFBVQkxJQyBBUElcbiAgaW50ZXJuYWxOYW1lTG9va3VwOiBmdW5jdGlvbihwYXJlbnQsIG5hbWUpIHtcbiAgICB0aGlzLmxvb2t1cFByb3BlcnR5RnVuY3Rpb25Jc1VzZWQgPSB0cnVlO1xuICAgIHJldHVybiBbJ2xvb2t1cFByb3BlcnR5KCcsIHBhcmVudCwgJywnLCBKU09OLnN0cmluZ2lmeShuYW1lKSwgJyknXTtcbiAgfSxcblxuICBsb29rdXBQcm9wZXJ0eUZ1bmN0aW9uSXNVc2VkOiBmYWxzZSxcblxuICBjb21waWxlOiBmdW5jdGlvbihlbnZpcm9ubWVudCwgb3B0aW9ucywgY29udGV4dCwgYXNPYmplY3QpIHtcbiAgICB0aGlzLmVudmlyb25tZW50ID0gZW52aXJvbm1lbnQ7XG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICB0aGlzLnN0cmluZ1BhcmFtcyA9IHRoaXMub3B0aW9ucy5zdHJpbmdQYXJhbXM7XG4gICAgdGhpcy50cmFja0lkcyA9IHRoaXMub3B0aW9ucy50cmFja0lkcztcbiAgICB0aGlzLnByZWNvbXBpbGUgPSAhYXNPYmplY3Q7XG5cbiAgICB0aGlzLm5hbWUgPSB0aGlzLmVudmlyb25tZW50Lm5hbWU7XG4gICAgdGhpcy5pc0NoaWxkID0gISFjb250ZXh0O1xuICAgIHRoaXMuY29udGV4dCA9IGNvbnRleHQgfHwge1xuICAgICAgZGVjb3JhdG9yczogW10sXG4gICAgICBwcm9ncmFtczogW10sXG4gICAgICBlbnZpcm9ubWVudHM6IFtdXG4gICAgfTtcblxuICAgIHRoaXMucHJlYW1ibGUoKTtcblxuICAgIHRoaXMuc3RhY2tTbG90ID0gMDtcbiAgICB0aGlzLnN0YWNrVmFycyA9IFtdO1xuICAgIHRoaXMuYWxpYXNlcyA9IHt9O1xuICAgIHRoaXMucmVnaXN0ZXJzID0geyBsaXN0OiBbXSB9O1xuICAgIHRoaXMuaGFzaGVzID0gW107XG4gICAgdGhpcy5jb21waWxlU3RhY2sgPSBbXTtcbiAgICB0aGlzLmlubGluZVN0YWNrID0gW107XG4gICAgdGhpcy5ibG9ja1BhcmFtcyA9IFtdO1xuXG4gICAgdGhpcy5jb21waWxlQ2hpbGRyZW4oZW52aXJvbm1lbnQsIG9wdGlvbnMpO1xuXG4gICAgdGhpcy51c2VEZXB0aHMgPVxuICAgICAgdGhpcy51c2VEZXB0aHMgfHxcbiAgICAgIGVudmlyb25tZW50LnVzZURlcHRocyB8fFxuICAgICAgZW52aXJvbm1lbnQudXNlRGVjb3JhdG9ycyB8fFxuICAgICAgdGhpcy5vcHRpb25zLmNvbXBhdDtcbiAgICB0aGlzLnVzZUJsb2NrUGFyYW1zID0gdGhpcy51c2VCbG9ja1BhcmFtcyB8fCBlbnZpcm9ubWVudC51c2VCbG9ja1BhcmFtcztcblxuICAgIGxldCBvcGNvZGVzID0gZW52aXJvbm1lbnQub3Bjb2RlcyxcbiAgICAgIG9wY29kZSxcbiAgICAgIGZpcnN0TG9jLFxuICAgICAgaSxcbiAgICAgIGw7XG5cbiAgICBmb3IgKGkgPSAwLCBsID0gb3Bjb2Rlcy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgIG9wY29kZSA9IG9wY29kZXNbaV07XG5cbiAgICAgIHRoaXMuc291cmNlLmN1cnJlbnRMb2NhdGlvbiA9IG9wY29kZS5sb2M7XG4gICAgICBmaXJzdExvYyA9IGZpcnN0TG9jIHx8IG9wY29kZS5sb2M7XG4gICAgICB0aGlzW29wY29kZS5vcGNvZGVdLmFwcGx5KHRoaXMsIG9wY29kZS5hcmdzKTtcbiAgICB9XG5cbiAgICAvLyBGbHVzaCBhbnkgdHJhaWxpbmcgY29udGVudCB0aGF0IG1pZ2h0IGJlIHBlbmRpbmcuXG4gICAgdGhpcy5zb3VyY2UuY3VycmVudExvY2F0aW9uID0gZmlyc3RMb2M7XG4gICAgdGhpcy5wdXNoU291cmNlKCcnKTtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgaWYgKHRoaXMuc3RhY2tTbG90IHx8IHRoaXMuaW5saW5lU3RhY2subGVuZ3RoIHx8IHRoaXMuY29tcGlsZVN0YWNrLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignQ29tcGlsZSBjb21wbGV0ZWQgd2l0aCBjb250ZW50IGxlZnQgb24gc3RhY2snKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuZGVjb3JhdG9ycy5pc0VtcHR5KCkpIHtcbiAgICAgIHRoaXMudXNlRGVjb3JhdG9ycyA9IHRydWU7XG5cbiAgICAgIHRoaXMuZGVjb3JhdG9ycy5wcmVwZW5kKFtcbiAgICAgICAgJ3ZhciBkZWNvcmF0b3JzID0gY29udGFpbmVyLmRlY29yYXRvcnMsICcsXG4gICAgICAgIHRoaXMubG9va3VwUHJvcGVydHlGdW5jdGlvblZhckRlY2xhcmF0aW9uKCksXG4gICAgICAgICc7XFxuJ1xuICAgICAgXSk7XG4gICAgICB0aGlzLmRlY29yYXRvcnMucHVzaCgncmV0dXJuIGZuOycpO1xuXG4gICAgICBpZiAoYXNPYmplY3QpIHtcbiAgICAgICAgdGhpcy5kZWNvcmF0b3JzID0gRnVuY3Rpb24uYXBwbHkodGhpcywgW1xuICAgICAgICAgICdmbicsXG4gICAgICAgICAgJ3Byb3BzJyxcbiAgICAgICAgICAnY29udGFpbmVyJyxcbiAgICAgICAgICAnZGVwdGgwJyxcbiAgICAgICAgICAnZGF0YScsXG4gICAgICAgICAgJ2Jsb2NrUGFyYW1zJyxcbiAgICAgICAgICAnZGVwdGhzJyxcbiAgICAgICAgICB0aGlzLmRlY29yYXRvcnMubWVyZ2UoKVxuICAgICAgICBdKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZGVjb3JhdG9ycy5wcmVwZW5kKFxuICAgICAgICAgICdmdW5jdGlvbihmbiwgcHJvcHMsIGNvbnRhaW5lciwgZGVwdGgwLCBkYXRhLCBibG9ja1BhcmFtcywgZGVwdGhzKSB7XFxuJ1xuICAgICAgICApO1xuICAgICAgICB0aGlzLmRlY29yYXRvcnMucHVzaCgnfVxcbicpO1xuICAgICAgICB0aGlzLmRlY29yYXRvcnMgPSB0aGlzLmRlY29yYXRvcnMubWVyZ2UoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kZWNvcmF0b3JzID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGxldCBmbiA9IHRoaXMuY3JlYXRlRnVuY3Rpb25Db250ZXh0KGFzT2JqZWN0KTtcbiAgICBpZiAoIXRoaXMuaXNDaGlsZCkge1xuICAgICAgbGV0IHJldCA9IHtcbiAgICAgICAgY29tcGlsZXI6IHRoaXMuY29tcGlsZXJJbmZvKCksXG4gICAgICAgIG1haW46IGZuXG4gICAgICB9O1xuXG4gICAgICBpZiAodGhpcy5kZWNvcmF0b3JzKSB7XG4gICAgICAgIHJldC5tYWluX2QgPSB0aGlzLmRlY29yYXRvcnM7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgY2FtZWxjYXNlXG4gICAgICAgIHJldC51c2VEZWNvcmF0b3JzID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgbGV0IHsgcHJvZ3JhbXMsIGRlY29yYXRvcnMgfSA9IHRoaXMuY29udGV4dDtcbiAgICAgIGZvciAoaSA9IDAsIGwgPSBwcm9ncmFtcy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgcmV0W2ldID0gcHJvZ3JhbXNbaV07XG4gICAgICAgIGlmIChkZWNvcmF0b3JzW2ldKSB7XG4gICAgICAgICAgcmV0W2kgKyAnX2QnXSA9IGRlY29yYXRvcnNbaV07XG4gICAgICAgICAgcmV0LnVzZURlY29yYXRvcnMgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmVudmlyb25tZW50LnVzZVBhcnRpYWwpIHtcbiAgICAgICAgcmV0LnVzZVBhcnRpYWwgPSB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMub3B0aW9ucy5kYXRhKSB7XG4gICAgICAgIHJldC51c2VEYXRhID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnVzZURlcHRocykge1xuICAgICAgICByZXQudXNlRGVwdGhzID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnVzZUJsb2NrUGFyYW1zKSB7XG4gICAgICAgIHJldC51c2VCbG9ja1BhcmFtcyA9IHRydWU7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5vcHRpb25zLmNvbXBhdCkge1xuICAgICAgICByZXQuY29tcGF0ID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFhc09iamVjdCkge1xuICAgICAgICByZXQuY29tcGlsZXIgPSBKU09OLnN0cmluZ2lmeShyZXQuY29tcGlsZXIpO1xuXG4gICAgICAgIHRoaXMuc291cmNlLmN1cnJlbnRMb2NhdGlvbiA9IHsgc3RhcnQ6IHsgbGluZTogMSwgY29sdW1uOiAwIH0gfTtcbiAgICAgICAgcmV0ID0gdGhpcy5vYmplY3RMaXRlcmFsKHJldCk7XG5cbiAgICAgICAgaWYgKG9wdGlvbnMuc3JjTmFtZSkge1xuICAgICAgICAgIHJldCA9IHJldC50b1N0cmluZ1dpdGhTb3VyY2VNYXAoeyBmaWxlOiBvcHRpb25zLmRlc3ROYW1lIH0pO1xuICAgICAgICAgIHJldC5tYXAgPSByZXQubWFwICYmIHJldC5tYXAudG9TdHJpbmcoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXQgPSByZXQudG9TdHJpbmcoKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0LmNvbXBpbGVyT3B0aW9ucyA9IHRoaXMub3B0aW9ucztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJldDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZuO1xuICAgIH1cbiAgfSxcblxuICBwcmVhbWJsZTogZnVuY3Rpb24oKSB7XG4gICAgLy8gdHJhY2sgdGhlIGxhc3QgY29udGV4dCBwdXNoZWQgaW50byBwbGFjZSB0byBhbGxvdyBza2lwcGluZyB0aGVcbiAgICAvLyBnZXRDb250ZXh0IG9wY29kZSB3aGVuIGl0IHdvdWxkIGJlIGEgbm9vcFxuICAgIHRoaXMubGFzdENvbnRleHQgPSAwO1xuICAgIHRoaXMuc291cmNlID0gbmV3IENvZGVHZW4odGhpcy5vcHRpb25zLnNyY05hbWUpO1xuICAgIHRoaXMuZGVjb3JhdG9ycyA9IG5ldyBDb2RlR2VuKHRoaXMub3B0aW9ucy5zcmNOYW1lKTtcbiAgfSxcblxuICBjcmVhdGVGdW5jdGlvbkNvbnRleHQ6IGZ1bmN0aW9uKGFzT2JqZWN0KSB7XG4gICAgbGV0IHZhckRlY2xhcmF0aW9ucyA9ICcnO1xuXG4gICAgbGV0IGxvY2FscyA9IHRoaXMuc3RhY2tWYXJzLmNvbmNhdCh0aGlzLnJlZ2lzdGVycy5saXN0KTtcbiAgICBpZiAobG9jYWxzLmxlbmd0aCA+IDApIHtcbiAgICAgIHZhckRlY2xhcmF0aW9ucyArPSAnLCAnICsgbG9jYWxzLmpvaW4oJywgJyk7XG4gICAgfVxuXG4gICAgLy8gR2VuZXJhdGUgbWluaW1pemVyIGFsaWFzIG1hcHBpbmdzXG4gICAgLy9cbiAgICAvLyBXaGVuIHVzaW5nIHRydWUgU291cmNlTm9kZXMsIHRoaXMgd2lsbCB1cGRhdGUgYWxsIHJlZmVyZW5jZXMgdG8gdGhlIGdpdmVuIGFsaWFzXG4gICAgLy8gYXMgdGhlIHNvdXJjZSBub2RlcyBhcmUgcmV1c2VkIGluIHNpdHUuIEZvciB0aGUgbm9uLXNvdXJjZSBub2RlIGNvbXBpbGF0aW9uIG1vZGUsXG4gICAgLy8gYWxpYXNlcyB3aWxsIG5vdCBiZSB1c2VkLCBidXQgdGhpcyBjYXNlIGlzIGFscmVhZHkgYmVpbmcgcnVuIG9uIHRoZSBjbGllbnQgYW5kXG4gICAgLy8gd2UgYXJlbid0IGNvbmNlcm4gYWJvdXQgbWluaW1pemluZyB0aGUgdGVtcGxhdGUgc2l6ZS5cbiAgICBsZXQgYWxpYXNDb3VudCA9IDA7XG4gICAgT2JqZWN0LmtleXModGhpcy5hbGlhc2VzKS5mb3JFYWNoKGFsaWFzID0+IHtcbiAgICAgIGxldCBub2RlID0gdGhpcy5hbGlhc2VzW2FsaWFzXTtcbiAgICAgIGlmIChub2RlLmNoaWxkcmVuICYmIG5vZGUucmVmZXJlbmNlQ291bnQgPiAxKSB7XG4gICAgICAgIHZhckRlY2xhcmF0aW9ucyArPSAnLCBhbGlhcycgKyArK2FsaWFzQ291bnQgKyAnPScgKyBhbGlhcztcbiAgICAgICAgbm9kZS5jaGlsZHJlblswXSA9ICdhbGlhcycgKyBhbGlhc0NvdW50O1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMubG9va3VwUHJvcGVydHlGdW5jdGlvbklzVXNlZCkge1xuICAgICAgdmFyRGVjbGFyYXRpb25zICs9ICcsICcgKyB0aGlzLmxvb2t1cFByb3BlcnR5RnVuY3Rpb25WYXJEZWNsYXJhdGlvbigpO1xuICAgIH1cblxuICAgIGxldCBwYXJhbXMgPSBbJ2NvbnRhaW5lcicsICdkZXB0aDAnLCAnaGVscGVycycsICdwYXJ0aWFscycsICdkYXRhJ107XG5cbiAgICBpZiAodGhpcy51c2VCbG9ja1BhcmFtcyB8fCB0aGlzLnVzZURlcHRocykge1xuICAgICAgcGFyYW1zLnB1c2goJ2Jsb2NrUGFyYW1zJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLnVzZURlcHRocykge1xuICAgICAgcGFyYW1zLnB1c2goJ2RlcHRocycpO1xuICAgIH1cblxuICAgIC8vIFBlcmZvcm0gYSBzZWNvbmQgcGFzcyBvdmVyIHRoZSBvdXRwdXQgdG8gbWVyZ2UgY29udGVudCB3aGVuIHBvc3NpYmxlXG4gICAgbGV0IHNvdXJjZSA9IHRoaXMubWVyZ2VTb3VyY2UodmFyRGVjbGFyYXRpb25zKTtcblxuICAgIGlmIChhc09iamVjdCkge1xuICAgICAgcGFyYW1zLnB1c2goc291cmNlKTtcblxuICAgICAgcmV0dXJuIEZ1bmN0aW9uLmFwcGx5KHRoaXMsIHBhcmFtcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnNvdXJjZS53cmFwKFtcbiAgICAgICAgJ2Z1bmN0aW9uKCcsXG4gICAgICAgIHBhcmFtcy5qb2luKCcsJyksXG4gICAgICAgICcpIHtcXG4gICcsXG4gICAgICAgIHNvdXJjZSxcbiAgICAgICAgJ30nXG4gICAgICBdKTtcbiAgICB9XG4gIH0sXG4gIG1lcmdlU291cmNlOiBmdW5jdGlvbih2YXJEZWNsYXJhdGlvbnMpIHtcbiAgICBsZXQgaXNTaW1wbGUgPSB0aGlzLmVudmlyb25tZW50LmlzU2ltcGxlLFxuICAgICAgYXBwZW5kT25seSA9ICF0aGlzLmZvcmNlQnVmZmVyLFxuICAgICAgYXBwZW5kRmlyc3QsXG4gICAgICBzb3VyY2VTZWVuLFxuICAgICAgYnVmZmVyU3RhcnQsXG4gICAgICBidWZmZXJFbmQ7XG4gICAgdGhpcy5zb3VyY2UuZWFjaChsaW5lID0+IHtcbiAgICAgIGlmIChsaW5lLmFwcGVuZFRvQnVmZmVyKSB7XG4gICAgICAgIGlmIChidWZmZXJTdGFydCkge1xuICAgICAgICAgIGxpbmUucHJlcGVuZCgnICArICcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGJ1ZmZlclN0YXJ0ID0gbGluZTtcbiAgICAgICAgfVxuICAgICAgICBidWZmZXJFbmQgPSBsaW5lO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGJ1ZmZlclN0YXJ0KSB7XG4gICAgICAgICAgaWYgKCFzb3VyY2VTZWVuKSB7XG4gICAgICAgICAgICBhcHBlbmRGaXJzdCA9IHRydWU7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGJ1ZmZlclN0YXJ0LnByZXBlbmQoJ2J1ZmZlciArPSAnKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnVmZmVyRW5kLmFkZCgnOycpO1xuICAgICAgICAgIGJ1ZmZlclN0YXJ0ID0gYnVmZmVyRW5kID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgc291cmNlU2VlbiA9IHRydWU7XG4gICAgICAgIGlmICghaXNTaW1wbGUpIHtcbiAgICAgICAgICBhcHBlbmRPbmx5ID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChhcHBlbmRPbmx5KSB7XG4gICAgICBpZiAoYnVmZmVyU3RhcnQpIHtcbiAgICAgICAgYnVmZmVyU3RhcnQucHJlcGVuZCgncmV0dXJuICcpO1xuICAgICAgICBidWZmZXJFbmQuYWRkKCc7Jyk7XG4gICAgICB9IGVsc2UgaWYgKCFzb3VyY2VTZWVuKSB7XG4gICAgICAgIHRoaXMuc291cmNlLnB1c2goJ3JldHVybiBcIlwiOycpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB2YXJEZWNsYXJhdGlvbnMgKz1cbiAgICAgICAgJywgYnVmZmVyID0gJyArIChhcHBlbmRGaXJzdCA/ICcnIDogdGhpcy5pbml0aWFsaXplQnVmZmVyKCkpO1xuXG4gICAgICBpZiAoYnVmZmVyU3RhcnQpIHtcbiAgICAgICAgYnVmZmVyU3RhcnQucHJlcGVuZCgncmV0dXJuIGJ1ZmZlciArICcpO1xuICAgICAgICBidWZmZXJFbmQuYWRkKCc7Jyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNvdXJjZS5wdXNoKCdyZXR1cm4gYnVmZmVyOycpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh2YXJEZWNsYXJhdGlvbnMpIHtcbiAgICAgIHRoaXMuc291cmNlLnByZXBlbmQoXG4gICAgICAgICd2YXIgJyArIHZhckRlY2xhcmF0aW9ucy5zdWJzdHJpbmcoMikgKyAoYXBwZW5kRmlyc3QgPyAnJyA6ICc7XFxuJylcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc291cmNlLm1lcmdlKCk7XG4gIH0sXG5cbiAgbG9va3VwUHJvcGVydHlGdW5jdGlvblZhckRlY2xhcmF0aW9uOiBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gYFxuICAgICAgbG9va3VwUHJvcGVydHkgPSBjb250YWluZXIubG9va3VwUHJvcGVydHkgfHwgZnVuY3Rpb24ocGFyZW50LCBwcm9wZXJ0eU5hbWUpIHtcbiAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChwYXJlbnQsIHByb3BlcnR5TmFtZSkpIHtcbiAgICAgICAgICByZXR1cm4gcGFyZW50W3Byb3BlcnR5TmFtZV07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cbiAgICBgLnRyaW0oKTtcbiAgfSxcblxuICAvLyBbYmxvY2tWYWx1ZV1cbiAgLy9cbiAgLy8gT24gc3RhY2ssIGJlZm9yZTogaGFzaCwgaW52ZXJzZSwgcHJvZ3JhbSwgdmFsdWVcbiAgLy8gT24gc3RhY2ssIGFmdGVyOiByZXR1cm4gdmFsdWUgb2YgYmxvY2tIZWxwZXJNaXNzaW5nXG4gIC8vXG4gIC8vIFRoZSBwdXJwb3NlIG9mIHRoaXMgb3Bjb2RlIGlzIHRvIHRha2UgYSBibG9jayBvZiB0aGUgZm9ybVxuICAvLyBge3sjdGhpcy5mb299fS4uLnt7L3RoaXMuZm9vfX1gLCByZXNvbHZlIHRoZSB2YWx1ZSBvZiBgZm9vYCwgYW5kXG4gIC8vIHJlcGxhY2UgaXQgb24gdGhlIHN0YWNrIHdpdGggdGhlIHJlc3VsdCBvZiBwcm9wZXJseVxuICAvLyBpbnZva2luZyBibG9ja0hlbHBlck1pc3NpbmcuXG4gIGJsb2NrVmFsdWU6IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICBsZXQgYmxvY2tIZWxwZXJNaXNzaW5nID0gdGhpcy5hbGlhc2FibGUoXG4gICAgICAgICdjb250YWluZXIuaG9va3MuYmxvY2tIZWxwZXJNaXNzaW5nJ1xuICAgICAgKSxcbiAgICAgIHBhcmFtcyA9IFt0aGlzLmNvbnRleHROYW1lKDApXTtcbiAgICB0aGlzLnNldHVwSGVscGVyQXJncyhuYW1lLCAwLCBwYXJhbXMpO1xuXG4gICAgbGV0IGJsb2NrTmFtZSA9IHRoaXMucG9wU3RhY2soKTtcbiAgICBwYXJhbXMuc3BsaWNlKDEsIDAsIGJsb2NrTmFtZSk7XG5cbiAgICB0aGlzLnB1c2godGhpcy5zb3VyY2UuZnVuY3Rpb25DYWxsKGJsb2NrSGVscGVyTWlzc2luZywgJ2NhbGwnLCBwYXJhbXMpKTtcbiAgfSxcblxuICAvLyBbYW1iaWd1b3VzQmxvY2tWYWx1ZV1cbiAgLy9cbiAgLy8gT24gc3RhY2ssIGJlZm9yZTogaGFzaCwgaW52ZXJzZSwgcHJvZ3JhbSwgdmFsdWVcbiAgLy8gQ29tcGlsZXIgdmFsdWUsIGJlZm9yZTogbGFzdEhlbHBlcj12YWx1ZSBvZiBsYXN0IGZvdW5kIGhlbHBlciwgaWYgYW55XG4gIC8vIE9uIHN0YWNrLCBhZnRlciwgaWYgbm8gbGFzdEhlbHBlcjogc2FtZSBhcyBbYmxvY2tWYWx1ZV1cbiAgLy8gT24gc3RhY2ssIGFmdGVyLCBpZiBsYXN0SGVscGVyOiB2YWx1ZVxuICBhbWJpZ3VvdXNCbG9ja1ZhbHVlOiBmdW5jdGlvbigpIHtcbiAgICAvLyBXZSdyZSBiZWluZyBhIGJpdCBjaGVla3kgYW5kIHJldXNpbmcgdGhlIG9wdGlvbnMgdmFsdWUgZnJvbSB0aGUgcHJpb3IgZXhlY1xuICAgIGxldCBibG9ja0hlbHBlck1pc3NpbmcgPSB0aGlzLmFsaWFzYWJsZShcbiAgICAgICAgJ2NvbnRhaW5lci5ob29rcy5ibG9ja0hlbHBlck1pc3NpbmcnXG4gICAgICApLFxuICAgICAgcGFyYW1zID0gW3RoaXMuY29udGV4dE5hbWUoMCldO1xuICAgIHRoaXMuc2V0dXBIZWxwZXJBcmdzKCcnLCAwLCBwYXJhbXMsIHRydWUpO1xuXG4gICAgdGhpcy5mbHVzaElubGluZSgpO1xuXG4gICAgbGV0IGN1cnJlbnQgPSB0aGlzLnRvcFN0YWNrKCk7XG4gICAgcGFyYW1zLnNwbGljZSgxLCAwLCBjdXJyZW50KTtcblxuICAgIHRoaXMucHVzaFNvdXJjZShbXG4gICAgICAnaWYgKCEnLFxuICAgICAgdGhpcy5sYXN0SGVscGVyLFxuICAgICAgJykgeyAnLFxuICAgICAgY3VycmVudCxcbiAgICAgICcgPSAnLFxuICAgICAgdGhpcy5zb3VyY2UuZnVuY3Rpb25DYWxsKGJsb2NrSGVscGVyTWlzc2luZywgJ2NhbGwnLCBwYXJhbXMpLFxuICAgICAgJ30nXG4gICAgXSk7XG4gIH0sXG5cbiAgLy8gW2FwcGVuZENvbnRlbnRdXG4gIC8vXG4gIC8vIE9uIHN0YWNrLCBiZWZvcmU6IC4uLlxuICAvLyBPbiBzdGFjaywgYWZ0ZXI6IC4uLlxuICAvL1xuICAvLyBBcHBlbmRzIHRoZSBzdHJpbmcgdmFsdWUgb2YgYGNvbnRlbnRgIHRvIHRoZSBjdXJyZW50IGJ1ZmZlclxuICBhcHBlbmRDb250ZW50OiBmdW5jdGlvbihjb250ZW50KSB7XG4gICAgaWYgKHRoaXMucGVuZGluZ0NvbnRlbnQpIHtcbiAgICAgIGNvbnRlbnQgPSB0aGlzLnBlbmRpbmdDb250ZW50ICsgY29udGVudDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wZW5kaW5nTG9jYXRpb24gPSB0aGlzLnNvdXJjZS5jdXJyZW50TG9jYXRpb247XG4gICAgfVxuXG4gICAgdGhpcy5wZW5kaW5nQ29udGVudCA9IGNvbnRlbnQ7XG4gIH0sXG5cbiAgLy8gW2FwcGVuZF1cbiAgLy9cbiAgLy8gT24gc3RhY2ssIGJlZm9yZTogdmFsdWUsIC4uLlxuICAvLyBPbiBzdGFjaywgYWZ0ZXI6IC4uLlxuICAvL1xuICAvLyBDb2VyY2VzIGB2YWx1ZWAgdG8gYSBTdHJpbmcgYW5kIGFwcGVuZHMgaXQgdG8gdGhlIGN1cnJlbnQgYnVmZmVyLlxuICAvL1xuICAvLyBJZiBgdmFsdWVgIGlzIHRydXRoeSwgb3IgMCwgaXQgaXMgY29lcmNlZCBpbnRvIGEgc3RyaW5nIGFuZCBhcHBlbmRlZFxuICAvLyBPdGhlcndpc2UsIHRoZSBlbXB0eSBzdHJpbmcgaXMgYXBwZW5kZWRcbiAgYXBwZW5kOiBmdW5jdGlvbigpIHtcbiAgICBpZiAodGhpcy5pc0lubGluZSgpKSB7XG4gICAgICB0aGlzLnJlcGxhY2VTdGFjayhjdXJyZW50ID0+IFsnICE9IG51bGwgPyAnLCBjdXJyZW50LCAnIDogXCJcIiddKTtcblxuICAgICAgdGhpcy5wdXNoU291cmNlKHRoaXMuYXBwZW5kVG9CdWZmZXIodGhpcy5wb3BTdGFjaygpKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBsb2NhbCA9IHRoaXMucG9wU3RhY2soKTtcbiAgICAgIHRoaXMucHVzaFNvdXJjZShbXG4gICAgICAgICdpZiAoJyxcbiAgICAgICAgbG9jYWwsXG4gICAgICAgICcgIT0gbnVsbCkgeyAnLFxuICAgICAgICB0aGlzLmFwcGVuZFRvQnVmZmVyKGxvY2FsLCB1bmRlZmluZWQsIHRydWUpLFxuICAgICAgICAnIH0nXG4gICAgICBdKTtcbiAgICAgIGlmICh0aGlzLmVudmlyb25tZW50LmlzU2ltcGxlKSB7XG4gICAgICAgIHRoaXMucHVzaFNvdXJjZShbXG4gICAgICAgICAgJ2Vsc2UgeyAnLFxuICAgICAgICAgIHRoaXMuYXBwZW5kVG9CdWZmZXIoXCInJ1wiLCB1bmRlZmluZWQsIHRydWUpLFxuICAgICAgICAgICcgfSdcbiAgICAgICAgXSk7XG4gICAgICB9XG4gICAgfVxuICB9LFxuXG4gIC8vIFthcHBlbmRFc2NhcGVkXVxuICAvL1xuICAvLyBPbiBzdGFjaywgYmVmb3JlOiB2YWx1ZSwgLi4uXG4gIC8vIE9uIHN0YWNrLCBhZnRlcjogLi4uXG4gIC8vXG4gIC8vIEVzY2FwZSBgdmFsdWVgIGFuZCBhcHBlbmQgaXQgdG8gdGhlIGJ1ZmZlclxuICBhcHBlbmRFc2NhcGVkOiBmdW5jdGlvbigpIHtcbiAgICB0aGlzLnB1c2hTb3VyY2UoXG4gICAgICB0aGlzLmFwcGVuZFRvQnVmZmVyKFtcbiAgICAgICAgdGhpcy5hbGlhc2FibGUoJ2NvbnRhaW5lci5lc2NhcGVFeHByZXNzaW9uJyksXG4gICAgICAgICcoJyxcbiAgICAgICAgdGhpcy5wb3BTdGFjaygpLFxuICAgICAgICAnKSdcbiAgICAgIF0pXG4gICAgKTtcbiAgfSxcblxuICAvLyBbZ2V0Q29udGV4dF1cbiAgLy9cbiAgLy8gT24gc3RhY2ssIGJlZm9yZTogLi4uXG4gIC8vIE9uIHN0YWNrLCBhZnRlcjogLi4uXG4gIC8vIENvbXBpbGVyIHZhbHVlLCBhZnRlcjogbGFzdENvbnRleHQ9ZGVwdGhcbiAgLy9cbiAgLy8gU2V0IHRoZSB2YWx1ZSBvZiB0aGUgYGxhc3RDb250ZXh0YCBjb21waWxlciB2YWx1ZSB0byB0aGUgZGVwdGhcbiAgZ2V0Q29udGV4dDogZnVuY3Rpb24oZGVwdGgpIHtcbiAgICB0aGlzLmxhc3RDb250ZXh0ID0gZGVwdGg7XG4gIH0sXG5cbiAgLy8gW3B1c2hDb250ZXh0XVxuICAvL1xuICAvLyBPbiBzdGFjaywgYmVmb3JlOiAuLi5cbiAgLy8gT24gc3RhY2ssIGFmdGVyOiBjdXJyZW50Q29udGV4dCwgLi4uXG4gIC8vXG4gIC8vIFB1c2hlcyB0aGUgdmFsdWUgb2YgdGhlIGN1cnJlbnQgY29udGV4dCBvbnRvIHRoZSBzdGFjay5cbiAgcHVzaENvbnRleHQ6IGZ1bmN0aW9uKCkge1xuICAgIHRoaXMucHVzaFN0YWNrTGl0ZXJhbCh0aGlzLmNvbnRleHROYW1lKHRoaXMubGFzdENvbnRleHQpKTtcbiAgfSxcblxuICAvLyBbbG9va3VwT25Db250ZXh0XVxuICAvL1xuICAvLyBPbiBzdGFjaywgYmVmb3JlOiAuLi5cbiAgLy8gT24gc3RhY2ssIGFmdGVyOiBjdXJyZW50Q29udGV4dFtuYW1lXSwgLi4uXG4gIC8vXG4gIC8vIExvb2tzIHVwIHRoZSB2YWx1ZSBvZiBgbmFtZWAgb24gdGhlIGN1cnJlbnQgY29udGV4dCBhbmQgcHVzaGVzXG4gIC8vIGl0IG9udG8gdGhlIHN0YWNrLlxuICBsb29rdXBPbkNvbnRleHQ6IGZ1bmN0aW9uKHBhcnRzLCBmYWxzeSwgc3RyaWN0LCBzY29wZWQpIHtcbiAgICBsZXQgaSA9IDA7XG5cbiAgICBpZiAoIXNjb3BlZCAmJiB0aGlzLm9wdGlvbnMuY29tcGF0ICYmICF0aGlzLmxhc3RDb250ZXh0KSB7XG4gICAgICAvLyBUaGUgZGVwdGhlZCBxdWVyeSBpcyBleHBlY3RlZCB0byBoYW5kbGUgdGhlIHVuZGVmaW5lZCBsb2dpYyBmb3IgdGhlIHJvb3QgbGV2ZWwgdGhhdFxuICAgICAgLy8gaXMgaW1wbGVtZW50ZWQgYmVsb3csIHNvIHdlIGV2YWx1YXRlIHRoYXQgZGlyZWN0bHkgaW4gY29tcGF0IG1vZGVcbiAgICAgIHRoaXMucHVzaCh0aGlzLmRlcHRoZWRMb29rdXAocGFydHNbaSsrXSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnB1c2hDb250ZXh0KCk7XG4gICAgfVxuXG4gICAgdGhpcy5yZXNvbHZlUGF0aCgnY29udGV4dCcsIHBhcnRzLCBpLCBmYWxzeSwgc3RyaWN0KTtcbiAgfSxcblxuICAvLyBbbG9va3VwQmxvY2tQYXJhbV1cbiAgLy9cbiAgLy8gT24gc3RhY2ssIGJlZm9yZTogLi4uXG4gIC8vIE9uIHN0YWNrLCBhZnRlcjogYmxvY2tQYXJhbVtuYW1lXSwgLi4uXG4gIC8vXG4gIC8vIExvb2tzIHVwIHRoZSB2YWx1ZSBvZiBgcGFydHNgIG9uIHRoZSBnaXZlbiBibG9jayBwYXJhbSBhbmQgcHVzaGVzXG4gIC8vIGl0IG9udG8gdGhlIHN0YWNrLlxuICBsb29rdXBCbG9ja1BhcmFtOiBmdW5jdGlvbihibG9ja1BhcmFtSWQsIHBhcnRzKSB7XG4gICAgdGhpcy51c2VCbG9ja1BhcmFtcyA9IHRydWU7XG5cbiAgICB0aGlzLnB1c2goWydibG9ja1BhcmFtc1snLCBibG9ja1BhcmFtSWRbMF0sICddWycsIGJsb2NrUGFyYW1JZFsxXSwgJ10nXSk7XG4gICAgdGhpcy5yZXNvbHZlUGF0aCgnY29udGV4dCcsIHBhcnRzLCAxKTtcbiAgfSxcblxuICAvLyBbbG9va3VwRGF0YV1cbiAgLy9cbiAgLy8gT24gc3RhY2ssIGJlZm9yZTogLi4uXG4gIC8vIE9uIHN0YWNrLCBhZnRlcjogZGF0YSwgLi4uXG4gIC8vXG4gIC8vIFB1c2ggdGhlIGRhdGEgbG9va3VwIG9wZXJhdG9yXG4gIGxvb2t1cERhdGE6IGZ1bmN0aW9uKGRlcHRoLCBwYXJ0cywgc3RyaWN0KSB7XG4gICAgaWYgKCFkZXB0aCkge1xuICAgICAgdGhpcy5wdXNoU3RhY2tMaXRlcmFsKCdkYXRhJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHVzaFN0YWNrTGl0ZXJhbCgnY29udGFpbmVyLmRhdGEoZGF0YSwgJyArIGRlcHRoICsgJyknKTtcbiAgICB9XG5cbiAgICB0aGlzLnJlc29sdmVQYXRoKCdkYXRhJywgcGFydHMsIDAsIHRydWUsIHN0cmljdCk7XG4gIH0sXG5cbiAgcmVzb2x2ZVBhdGg6IGZ1bmN0aW9uKHR5cGUsIHBhcnRzLCBzdGFydFBhcnRJbmRleCwgZmFsc3ksIHN0cmljdCkge1xuICAgIGlmICh0aGlzLm9wdGlvbnMuc3RyaWN0IHx8IHRoaXMub3B0aW9ucy5hc3N1bWVPYmplY3RzKSB7XG4gICAgICB0aGlzLnB1c2goXG4gICAgICAgIHN0cmljdExvb2t1cChcbiAgICAgICAgICB0aGlzLm9wdGlvbnMuc3RyaWN0ICYmIHN0cmljdCxcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgIHBhcnRzLFxuICAgICAgICAgIHN0YXJ0UGFydEluZGV4LFxuICAgICAgICAgIHR5cGVcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgbGVuID0gcGFydHMubGVuZ3RoO1xuICAgIGZvciAobGV0IGkgPSBzdGFydFBhcnRJbmRleDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAvKiBlc2xpbnQtZGlzYWJsZSBuby1sb29wLWZ1bmMgKi9cbiAgICAgIHRoaXMucmVwbGFjZVN0YWNrKGN1cnJlbnQgPT4ge1xuICAgICAgICBsZXQgbG9va3VwID0gdGhpcy5uYW1lTG9va3VwKGN1cnJlbnQsIHBhcnRzW2ldLCB0eXBlKTtcbiAgICAgICAgLy8gV2Ugd2FudCB0byBlbnN1cmUgdGhhdCB6ZXJvIGFuZCBmYWxzZSBhcmUgaGFuZGxlZCBwcm9wZXJseSBpZiB0aGUgY29udGV4dCAoZmFsc3kgZmxhZylcbiAgICAgICAgLy8gbmVlZHMgdG8gaGF2ZSB0aGUgc3BlY2lhbCBoYW5kbGluZyBmb3IgdGhlc2UgdmFsdWVzLlxuICAgICAgICBpZiAoIWZhbHN5KSB7XG4gICAgICAgICAgcmV0dXJuIFsnICE9IG51bGwgPyAnLCBsb29rdXAsICcgOiAnLCBjdXJyZW50XTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBPdGhlcndpc2Ugd2UgY2FuIHVzZSBnZW5lcmljIGZhbHN5IGhhbmRsaW5nXG4gICAgICAgICAgcmV0dXJuIFsnICYmICcsIGxvb2t1cF07XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgLyogZXNsaW50LWVuYWJsZSBuby1sb29wLWZ1bmMgKi9cbiAgICB9XG4gIH0sXG5cbiAgLy8gW3Jlc29sdmVQb3NzaWJsZUxhbWJkYV1cbiAgLy9cbiAgLy8gT24gc3RhY2ssIGJlZm9yZTogdmFsdWUsIC4uLlxuICAvLyBPbiBzdGFjaywgYWZ0ZXI6IHJlc29sdmVkIHZhbHVlLCAuLi5cbiAgLy9cbiAgLy8gSWYgdGhlIGB2YWx1ZWAgaXMgYSBsYW1iZGEsIHJlcGxhY2UgaXQgb24gdGhlIHN0YWNrIGJ5XG4gIC8vIHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGxhbWJkYVxuICByZXNvbHZlUG9zc2libGVMYW1iZGE6IGZ1bmN0aW9uKCkge1xuICAgIHRoaXMucHVzaChbXG4gICAgICB0aGlzLmFsaWFzYWJsZSgnY29udGFpbmVyLmxhbWJkYScpLFxuICAgICAgJygnLFxuICAgICAgdGhpcy5wb3BTdGFjaygpLFxuICAgICAgJywgJyxcbiAgICAgIHRoaXMuY29udGV4dE5hbWUoMCksXG4gICAgICAnKSdcbiAgICBdKTtcbiAgfSxcblxuICAvLyBbcHVzaFN0cmluZ1BhcmFtXVxuICAvL1xuICAvLyBPbiBzdGFjaywgYmVmb3JlOiAuLi5cbiAgLy8gT24gc3RhY2ssIGFmdGVyOiBzdHJpbmcsIGN1cnJlbnRDb250ZXh0LCAuLi5cbiAgLy9cbiAgLy8gVGhpcyBvcGNvZGUgaXMgZGVzaWduZWQgZm9yIHVzZSBpbiBzdHJpbmcgbW9kZSwgd2hpY2hcbiAgLy8gcHJvdmlkZXMgdGhlIHN0cmluZyB2YWx1ZSBvZiBhIHBhcmFtZXRlciBhbG9uZyB3aXRoIGl0c1xuICAvLyBkZXB0aCByYXRoZXIgdGhhbiByZXNvbHZpbmcgaXQgaW1tZWRpYXRlbHkuXG4gIHB1c2hTdHJpbmdQYXJhbTogZnVuY3Rpb24oc3RyaW5nLCB0eXBlKSB7XG4gICAgdGhpcy5wdXNoQ29udGV4dCgpO1xuICAgIHRoaXMucHVzaFN0cmluZyh0eXBlKTtcblxuICAgIC8vIElmIGl0J3MgYSBzdWJleHByZXNzaW9uLCB0aGUgc3RyaW5nIHJlc3VsdFxuICAgIC8vIHdpbGwgYmUgcHVzaGVkIGFmdGVyIHRoaXMgb3Bjb2RlLlxuICAgIGlmICh0eXBlICE9PSAnU3ViRXhwcmVzc2lvbicpIHtcbiAgICAgIGlmICh0eXBlb2Ygc3RyaW5nID09PSAnc3RyaW5nJykge1xuICAgICAgICB0aGlzLnB1c2hTdHJpbmcoc3RyaW5nKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucHVzaFN0YWNrTGl0ZXJhbChzdHJpbmcpO1xuICAgICAgfVxuICAgIH1cbiAgfSxcblxuICBlbXB0eUhhc2g6IGZ1bmN0aW9uKG9taXRFbXB0eSkge1xuICAgIGlmICh0aGlzLnRyYWNrSWRzKSB7XG4gICAgICB0aGlzLnB1c2goJ3t9Jyk7IC8vIGhhc2hJZHNcbiAgICB9XG4gICAgaWYgKHRoaXMuc3RyaW5nUGFyYW1zKSB7XG4gICAgICB0aGlzLnB1c2goJ3t9Jyk7IC8vIGhhc2hDb250ZXh0c1xuICAgICAgdGhpcy5wdXNoKCd7fScpOyAvLyBoYXNoVHlwZXNcbiAgICB9XG4gICAgdGhpcy5wdXNoU3RhY2tMaXRlcmFsKG9taXRFbXB0eSA/ICd1bmRlZmluZWQnIDogJ3t9Jyk7XG4gIH0sXG4gIHB1c2hIYXNoOiBmdW5jdGlvbigpIHtcbiAgICBpZiAodGhpcy5oYXNoKSB7XG4gICAgICB0aGlzLmhhc2hlcy5wdXNoKHRoaXMuaGFzaCk7XG4gICAgfVxuICAgIHRoaXMuaGFzaCA9IHsgdmFsdWVzOiB7fSwgdHlwZXM6IFtdLCBjb250ZXh0czogW10sIGlkczogW10gfTtcbiAgfSxcbiAgcG9wSGFzaDogZnVuY3Rpb24oKSB7XG4gICAgbGV0IGhhc2ggPSB0aGlzLmhhc2g7XG4gICAgdGhpcy5oYXNoID0gdGhpcy5oYXNoZXMucG9wKCk7XG5cbiAgICBpZiAodGhpcy50cmFja0lkcykge1xuICAgICAgdGhpcy5wdXNoKHRoaXMub2JqZWN0TGl0ZXJhbChoYXNoLmlkcykpO1xuICAgIH1cbiAgICBpZiAodGhpcy5zdHJpbmdQYXJhbXMpIHtcbiAgICAgIHRoaXMucHVzaCh0aGlzLm9iamVjdExpdGVyYWwoaGFzaC5jb250ZXh0cykpO1xuICAgICAgdGhpcy5wdXNoKHRoaXMub2JqZWN0TGl0ZXJhbChoYXNoLnR5cGVzKSk7XG4gICAgfVxuXG4gICAgdGhpcy5wdXNoKHRoaXMub2JqZWN0TGl0ZXJhbChoYXNoLnZhbHVlcykpO1xuICB9LFxuXG4gIC8vIFtwdXNoU3RyaW5nXVxuICAvL1xuICAvLyBPbiBzdGFjaywgYmVmb3JlOiAuLi5cbiAgLy8gT24gc3RhY2ssIGFmdGVyOiBxdW90ZWRTdHJpbmcoc3RyaW5nKSwgLi4uXG4gIC8vXG4gIC8vIFB1c2ggYSBxdW90ZWQgdmVyc2lvbiBvZiBgc3RyaW5nYCBvbnRvIHRoZSBzdGFja1xuICBwdXNoU3RyaW5nOiBmdW5jdGlvbihzdHJpbmcpIHtcbiAgICB0aGlzLnB1c2hTdGFja0xpdGVyYWwodGhpcy5xdW90ZWRTdHJpbmcoc3RyaW5nKSk7XG4gIH0sXG5cbiAgLy8gW3B1c2hMaXRlcmFsXVxuICAvL1xuICAvLyBPbiBzdGFjaywgYmVmb3JlOiAuLi5cbiAgLy8gT24gc3RhY2ssIGFmdGVyOiB2YWx1ZSwgLi4uXG4gIC8vXG4gIC8vIFB1c2hlcyBhIHZhbHVlIG9udG8gdGhlIHN0YWNrLiBUaGlzIG9wZXJhdGlvbiBwcmV2ZW50c1xuICAvLyB0aGUgY29tcGlsZXIgZnJvbSBjcmVhdGluZyBhIHRlbXBvcmFyeSB2YXJpYWJsZSB0byBob2xkXG4gIC8vIGl0LlxuICBwdXNoTGl0ZXJhbDogZnVuY3Rpb24odmFsdWUpIHtcbiAgICB0aGlzLnB1c2hTdGFja0xpdGVyYWwodmFsdWUpO1xuICB9LFxuXG4gIC8vIFtwdXNoUHJvZ3JhbV1cbiAgLy9cbiAgLy8gT24gc3RhY2ssIGJlZm9yZTogLi4uXG4gIC8vIE9uIHN0YWNrLCBhZnRlcjogcHJvZ3JhbShndWlkKSwgLi4uXG4gIC8vXG4gIC8vIFB1c2ggYSBwcm9ncmFtIGV4cHJlc3Npb24gb250byB0aGUgc3RhY2suIFRoaXMgdGFrZXNcbiAgLy8gYSBjb21waWxlLXRpbWUgZ3VpZCBhbmQgY29udmVydHMgaXQgaW50byBhIHJ1bnRpbWUtYWNjZXNzaWJsZVxuICAvLyBleHByZXNzaW9uLlxuICBwdXNoUHJvZ3JhbTogZnVuY3Rpb24oZ3VpZCkge1xuICAgIGlmIChndWlkICE9IG51bGwpIHtcbiAgICAgIHRoaXMucHVzaFN0YWNrTGl0ZXJhbCh0aGlzLnByb2dyYW1FeHByZXNzaW9uKGd1aWQpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wdXNoU3RhY2tMaXRlcmFsKG51bGwpO1xuICAgIH1cbiAgfSxcblxuICAvLyBbcmVnaXN0ZXJEZWNvcmF0b3JdXG4gIC8vXG4gIC8vIE9uIHN0YWNrLCBiZWZvcmU6IGhhc2gsIHByb2dyYW0sIHBhcmFtcy4uLiwgLi4uXG4gIC8vIE9uIHN0YWNrLCBhZnRlcjogLi4uXG4gIC8vXG4gIC8vIFBvcHMgb2ZmIHRoZSBkZWNvcmF0b3IncyBwYXJhbWV0ZXJzLCBpbnZva2VzIHRoZSBkZWNvcmF0b3IsXG4gIC8vIGFuZCBpbnNlcnRzIHRoZSBkZWNvcmF0b3IgaW50byB0aGUgZGVjb3JhdG9ycyBsaXN0LlxuICByZWdpc3RlckRlY29yYXRvcihwYXJhbVNpemUsIG5hbWUpIHtcbiAgICBsZXQgZm91bmREZWNvcmF0b3IgPSB0aGlzLm5hbWVMb29rdXAoJ2RlY29yYXRvcnMnLCBuYW1lLCAnZGVjb3JhdG9yJyksXG4gICAgICBvcHRpb25zID0gdGhpcy5zZXR1cEhlbHBlckFyZ3MobmFtZSwgcGFyYW1TaXplKTtcblxuICAgIC8vIFN0b3JlIHRoZSByZXNvbHZlZCBkZWNvcmF0b3IgaW4gYSB2YXJpYWJsZSBhbmQgdmVyaWZ5IGl0IGlzIGEgZnVuY3Rpb24gYmVmb3JlXG4gICAgLy8gY2FsbGluZyBpdC4gV2l0aG91dCB0aGlzLCB1bnJlZ2lzdGVyZWQgZGVjb3JhdG9ycyBjYW4gY2F1c2UgYW4gdW5oYW5kbGVkIFR5cGVFcnJvclxuICAgIC8vIChjYWxsaW5nIHVuZGVmaW5lZCksIHdoaWNoIGNyYXNoZXMgdGhlIHByb2Nlc3Mg4oCUIGVuYWJsaW5nIERlbmlhbCBvZiBTZXJ2aWNlLlxuICAgIHRoaXMuZGVjb3JhdG9ycy5wdXNoKFsndmFyIGRlY29yYXRvciA9ICcsIGZvdW5kRGVjb3JhdG9yLCAnOyddKTtcbiAgICB0aGlzLmRlY29yYXRvcnMucHVzaChbXG4gICAgICAnaWYgKHR5cGVvZiBkZWNvcmF0b3IgIT09IFwiZnVuY3Rpb25cIikgeyB0aHJvdyBuZXcgRXJyb3IoJyxcbiAgICAgIHRoaXMucXVvdGVkU3RyaW5nKCdNaXNzaW5nIGRlY29yYXRvcjogXCInICsgbmFtZSArICdcIicpLFxuICAgICAgJyk7IH0nXG4gICAgXSk7XG4gICAgdGhpcy5kZWNvcmF0b3JzLnB1c2goW1xuICAgICAgJ2ZuID0gJyxcbiAgICAgIHRoaXMuZGVjb3JhdG9ycy5mdW5jdGlvbkNhbGwoJ2RlY29yYXRvcicsICcnLCBbXG4gICAgICAgICdmbicsXG4gICAgICAgICdwcm9wcycsXG4gICAgICAgICdjb250YWluZXInLFxuICAgICAgICBvcHRpb25zXG4gICAgICBdKSxcbiAgICAgICcgfHwgZm47J1xuICAgIF0pO1xuICB9LFxuXG4gIC8vIFtpbnZva2VIZWxwZXJdXG4gIC8vXG4gIC8vIE9uIHN0YWNrLCBiZWZvcmU6IGhhc2gsIGludmVyc2UsIHByb2dyYW0sIHBhcmFtcy4uLiwgLi4uXG4gIC8vIE9uIHN0YWNrLCBhZnRlcjogcmVzdWx0IG9mIGhlbHBlciBpbnZvY2F0aW9uXG4gIC8vXG4gIC8vIFBvcHMgb2ZmIHRoZSBoZWxwZXIncyBwYXJhbWV0ZXJzLCBpbnZva2VzIHRoZSBoZWxwZXIsXG4gIC8vIGFuZCBwdXNoZXMgdGhlIGhlbHBlcidzIHJldHVybiB2YWx1ZSBvbnRvIHRoZSBzdGFjay5cbiAgLy9cbiAgLy8gSWYgdGhlIGhlbHBlciBpcyBub3QgZm91bmQsIGBoZWxwZXJNaXNzaW5nYCBpcyBjYWxsZWQuXG4gIGludm9rZUhlbHBlcjogZnVuY3Rpb24ocGFyYW1TaXplLCBuYW1lLCBpc1NpbXBsZSkge1xuICAgIGxldCBub25IZWxwZXIgPSB0aGlzLnBvcFN0YWNrKCksXG4gICAgICBoZWxwZXIgPSB0aGlzLnNldHVwSGVscGVyKHBhcmFtU2l6ZSwgbmFtZSk7XG5cbiAgICBsZXQgcG9zc2libGVGdW5jdGlvbkNhbGxzID0gW107XG5cbiAgICBpZiAoaXNTaW1wbGUpIHtcbiAgICAgIC8vIGRpcmVjdCBjYWxsIHRvIGhlbHBlclxuICAgICAgcG9zc2libGVGdW5jdGlvbkNhbGxzLnB1c2goaGVscGVyLm5hbWUpO1xuICAgIH1cbiAgICAvLyBjYWxsIGEgZnVuY3Rpb24gZnJvbSB0aGUgaW5wdXQgb2JqZWN0XG4gICAgcG9zc2libGVGdW5jdGlvbkNhbGxzLnB1c2gobm9uSGVscGVyKTtcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5zdHJpY3QpIHtcbiAgICAgIHBvc3NpYmxlRnVuY3Rpb25DYWxscy5wdXNoKFxuICAgICAgICB0aGlzLmFsaWFzYWJsZSgnY29udGFpbmVyLmhvb2tzLmhlbHBlck1pc3NpbmcnKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBsZXQgZnVuY3Rpb25Mb29rdXBDb2RlID0gW1xuICAgICAgJygnLFxuICAgICAgdGhpcy5pdGVtc1NlcGFyYXRlZEJ5KHBvc3NpYmxlRnVuY3Rpb25DYWxscywgJ3x8JyksXG4gICAgICAnKSdcbiAgICBdO1xuICAgIGxldCBmdW5jdGlvbkNhbGwgPSB0aGlzLnNvdXJjZS5mdW5jdGlvbkNhbGwoXG4gICAgICBmdW5jdGlvbkxvb2t1cENvZGUsXG4gICAgICAnY2FsbCcsXG4gICAgICBoZWxwZXIuY2FsbFBhcmFtc1xuICAgICk7XG4gICAgdGhpcy5wdXNoKGZ1bmN0aW9uQ2FsbCk7XG4gIH0sXG5cbiAgaXRlbXNTZXBhcmF0ZWRCeTogZnVuY3Rpb24oaXRlbXMsIHNlcGFyYXRvcikge1xuICAgIGxldCByZXN1bHQgPSBbXTtcbiAgICByZXN1bHQucHVzaChpdGVtc1swXSk7XG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPCBpdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgcmVzdWx0LnB1c2goc2VwYXJhdG9yLCBpdGVtc1tpXSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH0sXG4gIC8vIFtpbnZva2VLbm93bkhlbHBlcl1cbiAgLy9cbiAgLy8gT24gc3RhY2ssIGJlZm9yZTogaGFzaCwgaW52ZXJzZSwgcHJvZ3JhbSwgcGFyYW1zLi4uLCAuLi5cbiAgLy8gT24gc3RhY2ssIGFmdGVyOiByZXN1bHQgb2YgaGVscGVyIGludm9jYXRpb25cbiAgLy9cbiAgLy8gVGhpcyBvcGVyYXRpb24gaXMgdXNlZCB3aGVuIHRoZSBoZWxwZXIgaXMga25vd24gdG8gZXhpc3QsXG4gIC8vIHNvIGEgYGhlbHBlck1pc3NpbmdgIGZhbGxiYWNrIGlzIG5vdCByZXF1aXJlZC5cbiAgaW52b2tlS25vd25IZWxwZXI6IGZ1bmN0aW9uKHBhcmFtU2l6ZSwgbmFtZSkge1xuICAgIGxldCBoZWxwZXIgPSB0aGlzLnNldHVwSGVscGVyKHBhcmFtU2l6ZSwgbmFtZSk7XG4gICAgdGhpcy5wdXNoKHRoaXMuc291cmNlLmZ1bmN0aW9uQ2FsbChoZWxwZXIubmFtZSwgJ2NhbGwnLCBoZWxwZXIuY2FsbFBhcmFtcykpO1xuICB9LFxuXG4gIC8vIFtpbnZva2VBbWJpZ3VvdXNdXG4gIC8vXG4gIC8vIE9uIHN0YWNrLCBiZWZvcmU6IGhhc2gsIGludmVyc2UsIHByb2dyYW0sIHBhcmFtcy4uLiwgLi4uXG4gIC8vIE9uIHN0YWNrLCBhZnRlcjogcmVzdWx0IG9mIGRpc2FtYmlndWF0aW9uXG4gIC8vXG4gIC8vIFRoaXMgb3BlcmF0aW9uIGlzIHVzZWQgd2hlbiBhbiBleHByZXNzaW9uIGxpa2UgYHt7Zm9vfX1gXG4gIC8vIGlzIHByb3ZpZGVkLCBidXQgd2UgZG9uJ3Qga25vdyBhdCBjb21waWxlLXRpbWUgd2hldGhlciBpdFxuICAvLyBpcyBhIGhlbHBlciBvciBhIHBhdGguXG4gIC8vXG4gIC8vIFRoaXMgb3BlcmF0aW9uIGVtaXRzIG1vcmUgY29kZSB0aGFuIHRoZSBvdGhlciBvcHRpb25zLFxuICAvLyBhbmQgY2FuIGJlIGF2b2lkZWQgYnkgcGFzc2luZyB0aGUgYGtub3duSGVscGVyc2AgYW5kXG4gIC8vIGBrbm93bkhlbHBlcnNPbmx5YCBmbGFncyBhdCBjb21waWxlLXRpbWUuXG4gIGludm9rZUFtYmlndW91czogZnVuY3Rpb24obmFtZSwgaGVscGVyQ2FsbCkge1xuICAgIHRoaXMudXNlUmVnaXN0ZXIoJ2hlbHBlcicpO1xuXG4gICAgbGV0IG5vbkhlbHBlciA9IHRoaXMucG9wU3RhY2soKTtcblxuICAgIHRoaXMuZW1wdHlIYXNoKCk7XG4gICAgbGV0IGhlbHBlciA9IHRoaXMuc2V0dXBIZWxwZXIoMCwgbmFtZSwgaGVscGVyQ2FsbCk7XG5cbiAgICBsZXQgaGVscGVyTmFtZSA9ICh0aGlzLmxhc3RIZWxwZXIgPSB0aGlzLm5hbWVMb29rdXAoXG4gICAgICAnaGVscGVycycsXG4gICAgICBuYW1lLFxuICAgICAgJ2hlbHBlcidcbiAgICApKTtcblxuICAgIGxldCBsb29rdXAgPSBbJygnLCAnKGhlbHBlciA9ICcsIGhlbHBlck5hbWUsICcgfHwgJywgbm9uSGVscGVyLCAnKSddO1xuICAgIGlmICghdGhpcy5vcHRpb25zLnN0cmljdCkge1xuICAgICAgbG9va3VwWzBdID0gJyhoZWxwZXIgPSAnO1xuICAgICAgbG9va3VwLnB1c2goXG4gICAgICAgICcgIT0gbnVsbCA/IGhlbHBlciA6ICcsXG4gICAgICAgIHRoaXMuYWxpYXNhYmxlKCdjb250YWluZXIuaG9va3MuaGVscGVyTWlzc2luZycpXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMucHVzaChbXG4gICAgICAnKCcsXG4gICAgICBsb29rdXAsXG4gICAgICBoZWxwZXIucGFyYW1zSW5pdCA/IFsnKSwoJywgaGVscGVyLnBhcmFtc0luaXRdIDogW10sXG4gICAgICAnKSwnLFxuICAgICAgJyh0eXBlb2YgaGVscGVyID09PSAnLFxuICAgICAgdGhpcy5hbGlhc2FibGUoJ1wiZnVuY3Rpb25cIicpLFxuICAgICAgJyA/ICcsXG4gICAgICB0aGlzLnNvdXJjZS5mdW5jdGlvbkNhbGwoJ2hlbHBlcicsICdjYWxsJywgaGVscGVyLmNhbGxQYXJhbXMpLFxuICAgICAgJyA6IGhlbHBlcikpJ1xuICAgIF0pO1xuICB9LFxuXG4gIC8vIFtpbnZva2VQYXJ0aWFsXVxuICAvL1xuICAvLyBPbiBzdGFjaywgYmVmb3JlOiBjb250ZXh0LCAuLi5cbiAgLy8gT24gc3RhY2sgYWZ0ZXI6IHJlc3VsdCBvZiBwYXJ0aWFsIGludm9jYXRpb25cbiAgLy9cbiAgLy8gVGhpcyBvcGVyYXRpb24gcG9wcyBvZmYgYSBjb250ZXh0LCBpbnZva2VzIGEgcGFydGlhbCB3aXRoIHRoYXQgY29udGV4dCxcbiAgLy8gYW5kIHB1c2hlcyB0aGUgcmVzdWx0IG9mIHRoZSBpbnZvY2F0aW9uIGJhY2suXG4gIGludm9rZVBhcnRpYWw6IGZ1bmN0aW9uKGlzRHluYW1pYywgbmFtZSwgaW5kZW50KSB7XG4gICAgbGV0IHBhcmFtcyA9IFtdLFxuICAgICAgb3B0aW9ucyA9IHRoaXMuc2V0dXBQYXJhbXMobmFtZSwgMSwgcGFyYW1zKTtcblxuICAgIGlmIChpc0R5bmFtaWMpIHtcbiAgICAgIG5hbWUgPSB0aGlzLnBvcFN0YWNrKCk7XG4gICAgICBkZWxldGUgb3B0aW9ucy5uYW1lO1xuICAgIH1cblxuICAgIGlmIChpbmRlbnQpIHtcbiAgICAgIG9wdGlvbnMuaW5kZW50ID0gSlNPTi5zdHJpbmdpZnkoaW5kZW50KTtcbiAgICB9XG4gICAgb3B0aW9ucy5oZWxwZXJzID0gJ2hlbHBlcnMnO1xuICAgIG9wdGlvbnMucGFydGlhbHMgPSAncGFydGlhbHMnO1xuICAgIG9wdGlvbnMuZGVjb3JhdG9ycyA9ICdjb250YWluZXIuZGVjb3JhdG9ycyc7XG5cbiAgICBpZiAoIWlzRHluYW1pYykge1xuICAgICAgcGFyYW1zLnVuc2hpZnQodGhpcy5uYW1lTG9va3VwKCdwYXJ0aWFscycsIG5hbWUsICdwYXJ0aWFsJykpO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXJhbXMudW5zaGlmdChuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5vcHRpb25zLmNvbXBhdCkge1xuICAgICAgb3B0aW9ucy5kZXB0aHMgPSAnZGVwdGhzJztcbiAgICB9XG4gICAgb3B0aW9ucyA9IHRoaXMub2JqZWN0TGl0ZXJhbChvcHRpb25zKTtcbiAgICBwYXJhbXMucHVzaChvcHRpb25zKTtcblxuICAgIHRoaXMucHVzaCh0aGlzLnNvdXJjZS5mdW5jdGlvbkNhbGwoJ2NvbnRhaW5lci5pbnZva2VQYXJ0aWFsJywgJycsIHBhcmFtcykpO1xuICB9LFxuXG4gIC8vIFthc3NpZ25Ub0hhc2hdXG4gIC8vXG4gIC8vIE9uIHN0YWNrLCBiZWZvcmU6IHZhbHVlLCAuLi4sIGhhc2gsIC4uLlxuICAvLyBPbiBzdGFjaywgYWZ0ZXI6IC4uLiwgaGFzaCwgLi4uXG4gIC8vXG4gIC8vIFBvcHMgYSB2YWx1ZSBvZmYgdGhlIHN0YWNrIGFuZCBhc3NpZ25zIGl0IHRvIHRoZSBjdXJyZW50IGhhc2hcbiAgYXNzaWduVG9IYXNoOiBmdW5jdGlvbihrZXkpIHtcbiAgICBsZXQgdmFsdWUgPSB0aGlzLnBvcFN0YWNrKCksXG4gICAgICBjb250ZXh0LFxuICAgICAgdHlwZSxcbiAgICAgIGlkO1xuXG4gICAgaWYgKHRoaXMudHJhY2tJZHMpIHtcbiAgICAgIGlkID0gdGhpcy5wb3BTdGFjaygpO1xuICAgIH1cbiAgICBpZiAodGhpcy5zdHJpbmdQYXJhbXMpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnBvcFN0YWNrKCk7XG4gICAgICBjb250ZXh0ID0gdGhpcy5wb3BTdGFjaygpO1xuICAgIH1cblxuICAgIGxldCBoYXNoID0gdGhpcy5oYXNoO1xuICAgIGlmIChjb250ZXh0KSB7XG4gICAgICBoYXNoLmNvbnRleHRzW2tleV0gPSBjb250ZXh0O1xuICAgIH1cbiAgICBpZiAodHlwZSkge1xuICAgICAgaGFzaC50eXBlc1trZXldID0gdHlwZTtcbiAgICB9XG4gICAgaWYgKGlkKSB7XG4gICAgICBoYXNoLmlkc1trZXldID0gaWQ7XG4gICAgfVxuICAgIGhhc2gudmFsdWVzW2tleV0gPSB2YWx1ZTtcbiAgfSxcblxuICBwdXNoSWQ6IGZ1bmN0aW9uKHR5cGUsIG5hbWUsIGNoaWxkKSB7XG4gICAgaWYgKHR5cGUgPT09ICdCbG9ja1BhcmFtJykge1xuICAgICAgdGhpcy5wdXNoU3RhY2tMaXRlcmFsKFxuICAgICAgICAnYmxvY2tQYXJhbXNbJyArXG4gICAgICAgICAgbmFtZVswXSArXG4gICAgICAgICAgJ10ucGF0aFsnICtcbiAgICAgICAgICBuYW1lWzFdICtcbiAgICAgICAgICAnXScgK1xuICAgICAgICAgIChjaGlsZCA/ICcgKyAnICsgSlNPTi5zdHJpbmdpZnkoJy4nICsgY2hpbGQpIDogJycpXG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ1BhdGhFeHByZXNzaW9uJykge1xuICAgICAgdGhpcy5wdXNoU3RyaW5nKG5hbWUpO1xuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ1N1YkV4cHJlc3Npb24nKSB7XG4gICAgICB0aGlzLnB1c2hTdGFja0xpdGVyYWwoJ3RydWUnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wdXNoU3RhY2tMaXRlcmFsKCdudWxsJyk7XG4gICAgfVxuICB9LFxuXG4gIC8vIEhFTFBFUlNcblxuICBjb21waWxlcjogSmF2YVNjcmlwdENvbXBpbGVyLFxuXG4gIGNvbXBpbGVDaGlsZHJlbjogZnVuY3Rpb24oZW52aXJvbm1lbnQsIG9wdGlvbnMpIHtcbiAgICBsZXQgY2hpbGRyZW4gPSBlbnZpcm9ubWVudC5jaGlsZHJlbixcbiAgICAgIGNoaWxkLFxuICAgICAgY29tcGlsZXI7XG5cbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IGNoaWxkcmVuLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgY2hpbGQgPSBjaGlsZHJlbltpXTtcbiAgICAgIGNvbXBpbGVyID0gbmV3IHRoaXMuY29tcGlsZXIoKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuZXctY2FwXG5cbiAgICAgIGxldCBleGlzdGluZyA9IHRoaXMubWF0Y2hFeGlzdGluZ1Byb2dyYW0oY2hpbGQpO1xuXG4gICAgICBpZiAoZXhpc3RpbmcgPT0gbnVsbCkge1xuICAgICAgICAvLyBQbGFjZWhvbGRlciB0byBwcmV2ZW50IG5hbWUgY29uZmxpY3RzIGZvciBuZXN0ZWQgY2hpbGRyZW5cbiAgICAgICAgbGV0IGluZGV4ID0gdGhpcy5jb250ZXh0LnByb2dyYW1zLnB1c2goJycpIC0gMTtcbiAgICAgICAgY2hpbGQuaW5kZXggPSBpbmRleDtcbiAgICAgICAgY2hpbGQubmFtZSA9ICdwcm9ncmFtJyArIGluZGV4O1xuICAgICAgICB0aGlzLmNvbnRleHQucHJvZ3JhbXNbaW5kZXhdID0gY29tcGlsZXIuY29tcGlsZShcbiAgICAgICAgICBjaGlsZCxcbiAgICAgICAgICBvcHRpb25zLFxuICAgICAgICAgIHRoaXMuY29udGV4dCxcbiAgICAgICAgICAhdGhpcy5wcmVjb21waWxlXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuY29udGV4dC5kZWNvcmF0b3JzW2luZGV4XSA9IGNvbXBpbGVyLmRlY29yYXRvcnM7XG4gICAgICAgIHRoaXMuY29udGV4dC5lbnZpcm9ubWVudHNbaW5kZXhdID0gY2hpbGQ7XG5cbiAgICAgICAgdGhpcy51c2VEZXB0aHMgPSB0aGlzLnVzZURlcHRocyB8fCBjb21waWxlci51c2VEZXB0aHM7XG4gICAgICAgIHRoaXMudXNlQmxvY2tQYXJhbXMgPSB0aGlzLnVzZUJsb2NrUGFyYW1zIHx8IGNvbXBpbGVyLnVzZUJsb2NrUGFyYW1zO1xuICAgICAgICBjaGlsZC51c2VEZXB0aHMgPSB0aGlzLnVzZURlcHRocztcbiAgICAgICAgY2hpbGQudXNlQmxvY2tQYXJhbXMgPSB0aGlzLnVzZUJsb2NrUGFyYW1zO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2hpbGQuaW5kZXggPSBleGlzdGluZy5pbmRleDtcbiAgICAgICAgY2hpbGQubmFtZSA9ICdwcm9ncmFtJyArIGV4aXN0aW5nLmluZGV4O1xuXG4gICAgICAgIHRoaXMudXNlRGVwdGhzID0gdGhpcy51c2VEZXB0aHMgfHwgZXhpc3RpbmcudXNlRGVwdGhzO1xuICAgICAgICB0aGlzLnVzZUJsb2NrUGFyYW1zID0gdGhpcy51c2VCbG9ja1BhcmFtcyB8fCBleGlzdGluZy51c2VCbG9ja1BhcmFtcztcbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gIG1hdGNoRXhpc3RpbmdQcm9ncmFtOiBmdW5jdGlvbihjaGlsZCkge1xuICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSB0aGlzLmNvbnRleHQuZW52aXJvbm1lbnRzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICBsZXQgZW52aXJvbm1lbnQgPSB0aGlzLmNvbnRleHQuZW52aXJvbm1lbnRzW2ldO1xuICAgICAgaWYgKGVudmlyb25tZW50ICYmIGVudmlyb25tZW50LmVxdWFscyhjaGlsZCkpIHtcbiAgICAgICAgcmV0dXJuIGVudmlyb25tZW50O1xuICAgICAgfVxuICAgIH1cbiAgfSxcblxuICBwcm9ncmFtRXhwcmVzc2lvbjogZnVuY3Rpb24oZ3VpZCkge1xuICAgIGxldCBjaGlsZCA9IHRoaXMuZW52aXJvbm1lbnQuY2hpbGRyZW5bZ3VpZF0sXG4gICAgICBwcm9ncmFtUGFyYW1zID0gW2NoaWxkLmluZGV4LCAnZGF0YScsIGNoaWxkLmJsb2NrUGFyYW1zXTtcblxuICAgIGlmICh0aGlzLnVzZUJsb2NrUGFyYW1zIHx8IHRoaXMudXNlRGVwdGhzKSB7XG4gICAgICBwcm9ncmFtUGFyYW1zLnB1c2goJ2Jsb2NrUGFyYW1zJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLnVzZURlcHRocykge1xuICAgICAgcHJvZ3JhbVBhcmFtcy5wdXNoKCdkZXB0aHMnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gJ2NvbnRhaW5lci5wcm9ncmFtKCcgKyBwcm9ncmFtUGFyYW1zLmpvaW4oJywgJykgKyAnKSc7XG4gIH0sXG5cbiAgdXNlUmVnaXN0ZXI6IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICBpZiAoIXRoaXMucmVnaXN0ZXJzW25hbWVdKSB7XG4gICAgICB0aGlzLnJlZ2lzdGVyc1tuYW1lXSA9IHRydWU7XG4gICAgICB0aGlzLnJlZ2lzdGVycy5saXN0LnB1c2gobmFtZSk7XG4gICAgfVxuICB9LFxuXG4gIHB1c2g6IGZ1bmN0aW9uKGV4cHIpIHtcbiAgICBpZiAoIShleHByIGluc3RhbmNlb2YgTGl0ZXJhbCkpIHtcbiAgICAgIGV4cHIgPSB0aGlzLnNvdXJjZS53cmFwKGV4cHIpO1xuICAgIH1cblxuICAgIHRoaXMuaW5saW5lU3RhY2sucHVzaChleHByKTtcbiAgICByZXR1cm4gZXhwcjtcbiAgfSxcblxuICBwdXNoU3RhY2tMaXRlcmFsOiBmdW5jdGlvbihpdGVtKSB7XG4gICAgdGhpcy5wdXNoKG5ldyBMaXRlcmFsKGl0ZW0pKTtcbiAgfSxcblxuICBwdXNoU291cmNlOiBmdW5jdGlvbihzb3VyY2UpIHtcbiAgICBpZiAodGhpcy5wZW5kaW5nQ29udGVudCkge1xuICAgICAgdGhpcy5zb3VyY2UucHVzaChcbiAgICAgICAgdGhpcy5hcHBlbmRUb0J1ZmZlcihcbiAgICAgICAgICB0aGlzLnNvdXJjZS5xdW90ZWRTdHJpbmcodGhpcy5wZW5kaW5nQ29udGVudCksXG4gICAgICAgICAgdGhpcy5wZW5kaW5nTG9jYXRpb25cbiAgICAgICAgKVxuICAgICAgKTtcbiAgICAgIHRoaXMucGVuZGluZ0NvbnRlbnQgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYgKHNvdXJjZSkge1xuICAgICAgdGhpcy5zb3VyY2UucHVzaChzb3VyY2UpO1xuICAgIH1cbiAgfSxcblxuICByZXBsYWNlU3RhY2s6IGZ1bmN0aW9uKGNhbGxiYWNrKSB7XG4gICAgbGV0IHByZWZpeCA9IFsnKCddLFxuICAgICAgc3RhY2ssXG4gICAgICBjcmVhdGVkU3RhY2ssXG4gICAgICB1c2VkTGl0ZXJhbDtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgaWYgKCF0aGlzLmlzSW5saW5lKCkpIHtcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ3JlcGxhY2VTdGFjayBvbiBub24taW5saW5lJyk7XG4gICAgfVxuXG4gICAgLy8gV2Ugd2FudCB0byBtZXJnZSB0aGUgaW5saW5lIHN0YXRlbWVudCBpbnRvIHRoZSByZXBsYWNlbWVudCBzdGF0ZW1lbnQgdmlhICcsJ1xuICAgIGxldCB0b3AgPSB0aGlzLnBvcFN0YWNrKHRydWUpO1xuXG4gICAgaWYgKHRvcCBpbnN0YW5jZW9mIExpdGVyYWwpIHtcbiAgICAgIC8vIExpdGVyYWxzIGRvIG5vdCBuZWVkIHRvIGJlIGlubGluZWRcbiAgICAgIHN0YWNrID0gW3RvcC52YWx1ZV07XG4gICAgICBwcmVmaXggPSBbJygnLCBzdGFja107XG4gICAgICB1c2VkTGl0ZXJhbCA9IHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEdldCBvciBjcmVhdGUgdGhlIGN1cnJlbnQgc3RhY2sgbmFtZSBmb3IgdXNlIGJ5IHRoZSBpbmxpbmVcbiAgICAgIGNyZWF0ZWRTdGFjayA9IHRydWU7XG4gICAgICBsZXQgbmFtZSA9IHRoaXMuaW5jclN0YWNrKCk7XG5cbiAgICAgIHByZWZpeCA9IFsnKCgnLCB0aGlzLnB1c2gobmFtZSksICcgPSAnLCB0b3AsICcpJ107XG4gICAgICBzdGFjayA9IHRoaXMudG9wU3RhY2soKTtcbiAgICB9XG5cbiAgICBsZXQgaXRlbSA9IGNhbGxiYWNrLmNhbGwodGhpcywgc3RhY2spO1xuXG4gICAgaWYgKCF1c2VkTGl0ZXJhbCkge1xuICAgICAgdGhpcy5wb3BTdGFjaygpO1xuICAgIH1cbiAgICBpZiAoY3JlYXRlZFN0YWNrKSB7XG4gICAgICB0aGlzLnN0YWNrU2xvdC0tO1xuICAgIH1cbiAgICB0aGlzLnB1c2gocHJlZml4LmNvbmNhdChpdGVtLCAnKScpKTtcbiAgfSxcblxuICBpbmNyU3RhY2s6IGZ1bmN0aW9uKCkge1xuICAgIHRoaXMuc3RhY2tTbG90Kys7XG4gICAgaWYgKHRoaXMuc3RhY2tTbG90ID4gdGhpcy5zdGFja1ZhcnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnN0YWNrVmFycy5wdXNoKCdzdGFjaycgKyB0aGlzLnN0YWNrU2xvdCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnRvcFN0YWNrTmFtZSgpO1xuICB9LFxuICB0b3BTdGFja05hbWU6IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiAnc3RhY2snICsgdGhpcy5zdGFja1Nsb3Q7XG4gIH0sXG4gIGZsdXNoSW5saW5lOiBmdW5jdGlvbigpIHtcbiAgICBsZXQgaW5saW5lU3RhY2sgPSB0aGlzLmlubGluZVN0YWNrO1xuICAgIHRoaXMuaW5saW5lU3RhY2sgPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gaW5saW5lU3RhY2subGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIGxldCBlbnRyeSA9IGlubGluZVN0YWNrW2ldO1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICBpZiAoZW50cnkgaW5zdGFuY2VvZiBMaXRlcmFsKSB7XG4gICAgICAgIHRoaXMuY29tcGlsZVN0YWNrLnB1c2goZW50cnkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGV0IHN0YWNrID0gdGhpcy5pbmNyU3RhY2soKTtcbiAgICAgICAgdGhpcy5wdXNoU291cmNlKFtzdGFjaywgJyA9ICcsIGVudHJ5LCAnOyddKTtcbiAgICAgICAgdGhpcy5jb21waWxlU3RhY2sucHVzaChzdGFjayk7XG4gICAgICB9XG4gICAgfVxuICB9LFxuICBpc0lubGluZTogZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuaW5saW5lU3RhY2subGVuZ3RoO1xuICB9LFxuXG4gIHBvcFN0YWNrOiBmdW5jdGlvbih3cmFwcGVkKSB7XG4gICAgbGV0IGlubGluZSA9IHRoaXMuaXNJbmxpbmUoKSxcbiAgICAgIGl0ZW0gPSAoaW5saW5lID8gdGhpcy5pbmxpbmVTdGFjayA6IHRoaXMuY29tcGlsZVN0YWNrKS5wb3AoKTtcblxuICAgIGlmICghd3JhcHBlZCAmJiBpdGVtIGluc3RhbmNlb2YgTGl0ZXJhbCkge1xuICAgICAgcmV0dXJuIGl0ZW0udmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghaW5saW5lKSB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgIGlmICghdGhpcy5zdGFja1Nsb3QpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbnZhbGlkIHN0YWNrIHBvcCcpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc3RhY2tTbG90LS07XG4gICAgICB9XG4gICAgICByZXR1cm4gaXRlbTtcbiAgICB9XG4gIH0sXG5cbiAgdG9wU3RhY2s6IGZ1bmN0aW9uKCkge1xuICAgIGxldCBzdGFjayA9IHRoaXMuaXNJbmxpbmUoKSA/IHRoaXMuaW5saW5lU3RhY2sgOiB0aGlzLmNvbXBpbGVTdGFjayxcbiAgICAgIGl0ZW0gPSBzdGFja1tzdGFjay5sZW5ndGggLSAxXTtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChpdGVtIGluc3RhbmNlb2YgTGl0ZXJhbCkge1xuICAgICAgcmV0dXJuIGl0ZW0udmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBpdGVtO1xuICAgIH1cbiAgfSxcblxuICBjb250ZXh0TmFtZTogZnVuY3Rpb24oY29udGV4dCkge1xuICAgIGlmICh0aGlzLnVzZURlcHRocyAmJiBjb250ZXh0KSB7XG4gICAgICByZXR1cm4gJ2RlcHRoc1snICsgY29udGV4dCArICddJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICdkZXB0aCcgKyBjb250ZXh0O1xuICAgIH1cbiAgfSxcblxuICBxdW90ZWRTdHJpbmc6IGZ1bmN0aW9uKHN0cikge1xuICAgIHJldHVybiB0aGlzLnNvdXJjZS5xdW90ZWRTdHJpbmcoc3RyKTtcbiAgfSxcblxuICBvYmplY3RMaXRlcmFsOiBmdW5jdGlvbihvYmopIHtcbiAgICByZXR1cm4gdGhpcy5zb3VyY2Uub2JqZWN0TGl0ZXJhbChvYmopO1xuICB9LFxuXG4gIGFsaWFzYWJsZTogZnVuY3Rpb24obmFtZSkge1xuICAgIGxldCByZXQgPSB0aGlzLmFsaWFzZXNbbmFtZV07XG4gICAgaWYgKHJldCkge1xuICAgICAgcmV0LnJlZmVyZW5jZUNvdW50Kys7XG4gICAgICByZXR1cm4gcmV0O1xuICAgIH1cblxuICAgIHJldCA9IHRoaXMuYWxpYXNlc1tuYW1lXSA9IHRoaXMuc291cmNlLndyYXAobmFtZSk7XG4gICAgcmV0LmFsaWFzYWJsZSA9IHRydWU7XG4gICAgcmV0LnJlZmVyZW5jZUNvdW50ID0gMTtcblxuICAgIHJldHVybiByZXQ7XG4gIH0sXG5cbiAgc2V0dXBIZWxwZXI6IGZ1bmN0aW9uKHBhcmFtU2l6ZSwgbmFtZSwgYmxvY2tIZWxwZXIpIHtcbiAgICBsZXQgcGFyYW1zID0gW10sXG4gICAgICBwYXJhbXNJbml0ID0gdGhpcy5zZXR1cEhlbHBlckFyZ3MobmFtZSwgcGFyYW1TaXplLCBwYXJhbXMsIGJsb2NrSGVscGVyKTtcbiAgICBsZXQgZm91bmRIZWxwZXIgPSB0aGlzLm5hbWVMb29rdXAoJ2hlbHBlcnMnLCBuYW1lLCAnaGVscGVyJyksXG4gICAgICBjYWxsQ29udGV4dCA9IHRoaXMuYWxpYXNhYmxlKFxuICAgICAgICBgJHt0aGlzLmNvbnRleHROYW1lKDApfSAhPSBudWxsID8gJHt0aGlzLmNvbnRleHROYW1lKFxuICAgICAgICAgIDBcbiAgICAgICAgKX0gOiAoY29udGFpbmVyLm51bGxDb250ZXh0IHx8IHt9KWBcbiAgICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcGFyYW1zOiBwYXJhbXMsXG4gICAgICBwYXJhbXNJbml0OiBwYXJhbXNJbml0LFxuICAgICAgbmFtZTogZm91bmRIZWxwZXIsXG4gICAgICBjYWxsUGFyYW1zOiBbY2FsbENvbnRleHRdLmNvbmNhdChwYXJhbXMpXG4gICAgfTtcbiAgfSxcblxuICBzZXR1cFBhcmFtczogZnVuY3Rpb24oaGVscGVyLCBwYXJhbVNpemUsIHBhcmFtcykge1xuICAgIGxldCBvcHRpb25zID0ge30sXG4gICAgICBjb250ZXh0cyA9IFtdLFxuICAgICAgdHlwZXMgPSBbXSxcbiAgICAgIGlkcyA9IFtdLFxuICAgICAgb2JqZWN0QXJncyA9ICFwYXJhbXMsXG4gICAgICBwYXJhbTtcblxuICAgIGlmIChvYmplY3RBcmdzKSB7XG4gICAgICBwYXJhbXMgPSBbXTtcbiAgICB9XG5cbiAgICBvcHRpb25zLm5hbWUgPSB0aGlzLnF1b3RlZFN0cmluZyhoZWxwZXIpO1xuICAgIG9wdGlvbnMuaGFzaCA9IHRoaXMucG9wU3RhY2soKTtcblxuICAgIGlmICh0aGlzLnRyYWNrSWRzKSB7XG4gICAgICBvcHRpb25zLmhhc2hJZHMgPSB0aGlzLnBvcFN0YWNrKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnN0cmluZ1BhcmFtcykge1xuICAgICAgb3B0aW9ucy5oYXNoVHlwZXMgPSB0aGlzLnBvcFN0YWNrKCk7XG4gICAgICBvcHRpb25zLmhhc2hDb250ZXh0cyA9IHRoaXMucG9wU3RhY2soKTtcbiAgICB9XG5cbiAgICBsZXQgaW52ZXJzZSA9IHRoaXMucG9wU3RhY2soKSxcbiAgICAgIHByb2dyYW0gPSB0aGlzLnBvcFN0YWNrKCk7XG5cbiAgICAvLyBBdm9pZCBzZXR0aW5nIGZuIGFuZCBpbnZlcnNlIGlmIG5laXRoZXIgYXJlIHNldC4gVGhpcyBhbGxvd3NcbiAgICAvLyBoZWxwZXJzIHRvIGRvIGEgY2hlY2sgZm9yIGBpZiAob3B0aW9ucy5mbilgXG4gICAgaWYgKHByb2dyYW0gfHwgaW52ZXJzZSkge1xuICAgICAgb3B0aW9ucy5mbiA9IHByb2dyYW0gfHwgJ2NvbnRhaW5lci5ub29wJztcbiAgICAgIG9wdGlvbnMuaW52ZXJzZSA9IGludmVyc2UgfHwgJ2NvbnRhaW5lci5ub29wJztcbiAgICB9XG5cbiAgICAvLyBUaGUgcGFyYW1ldGVycyBnbyBvbiB0byB0aGUgc3RhY2sgaW4gb3JkZXIgKG1ha2luZyBzdXJlIHRoYXQgdGhleSBhcmUgZXZhbHVhdGVkIGluIG9yZGVyKVxuICAgIC8vIHNvIHdlIG5lZWQgdG8gcG9wIHRoZW0gb2ZmIHRoZSBzdGFjayBpbiByZXZlcnNlIG9yZGVyXG4gICAgbGV0IGkgPSBwYXJhbVNpemU7XG4gICAgd2hpbGUgKGktLSkge1xuICAgICAgcGFyYW0gPSB0aGlzLnBvcFN0YWNrKCk7XG4gICAgICBwYXJhbXNbaV0gPSBwYXJhbTtcblxuICAgICAgaWYgKHRoaXMudHJhY2tJZHMpIHtcbiAgICAgICAgaWRzW2ldID0gdGhpcy5wb3BTdGFjaygpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuc3RyaW5nUGFyYW1zKSB7XG4gICAgICAgIHR5cGVzW2ldID0gdGhpcy5wb3BTdGFjaygpO1xuICAgICAgICBjb250ZXh0c1tpXSA9IHRoaXMucG9wU3RhY2soKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAob2JqZWN0QXJncykge1xuICAgICAgb3B0aW9ucy5hcmdzID0gdGhpcy5zb3VyY2UuZ2VuZXJhdGVBcnJheShwYXJhbXMpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnRyYWNrSWRzKSB7XG4gICAgICBvcHRpb25zLmlkcyA9IHRoaXMuc291cmNlLmdlbmVyYXRlQXJyYXkoaWRzKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc3RyaW5nUGFyYW1zKSB7XG4gICAgICBvcHRpb25zLnR5cGVzID0gdGhpcy5zb3VyY2UuZ2VuZXJhdGVBcnJheSh0eXBlcyk7XG4gICAgICBvcHRpb25zLmNvbnRleHRzID0gdGhpcy5zb3VyY2UuZ2VuZXJhdGVBcnJheShjb250ZXh0cyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMub3B0aW9ucy5kYXRhKSB7XG4gICAgICBvcHRpb25zLmRhdGEgPSAnZGF0YSc7XG4gICAgfVxuICAgIGlmICh0aGlzLnVzZUJsb2NrUGFyYW1zKSB7XG4gICAgICBvcHRpb25zLmJsb2NrUGFyYW1zID0gJ2Jsb2NrUGFyYW1zJztcbiAgICB9XG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH0sXG5cbiAgc2V0dXBIZWxwZXJBcmdzOiBmdW5jdGlvbihoZWxwZXIsIHBhcmFtU2l6ZSwgcGFyYW1zLCB1c2VSZWdpc3Rlcikge1xuICAgIGxldCBvcHRpb25zID0gdGhpcy5zZXR1cFBhcmFtcyhoZWxwZXIsIHBhcmFtU2l6ZSwgcGFyYW1zKTtcbiAgICBvcHRpb25zLmxvYyA9IEpTT04uc3RyaW5naWZ5KHRoaXMuc291cmNlLmN1cnJlbnRMb2NhdGlvbik7XG4gICAgb3B0aW9ucyA9IHRoaXMub2JqZWN0TGl0ZXJhbChvcHRpb25zKTtcbiAgICBpZiAodXNlUmVnaXN0ZXIpIHtcbiAgICAgIHRoaXMudXNlUmVnaXN0ZXIoJ29wdGlvbnMnKTtcbiAgICAgIHBhcmFtcy5wdXNoKCdvcHRpb25zJyk7XG4gICAgICByZXR1cm4gWydvcHRpb25zPScsIG9wdGlvbnNdO1xuICAgIH0gZWxzZSBpZiAocGFyYW1zKSB7XG4gICAgICBwYXJhbXMucHVzaChvcHRpb25zKTtcbiAgICAgIHJldHVybiAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG9wdGlvbnM7XG4gICAgfVxuICB9XG59O1xuXG4oZnVuY3Rpb24oKSB7XG4gIGNvbnN0IHJlc2VydmVkV29yZHMgPSAoXG4gICAgJ2JyZWFrIGVsc2UgbmV3IHZhcicgK1xuICAgICcgY2FzZSBmaW5hbGx5IHJldHVybiB2b2lkJyArXG4gICAgJyBjYXRjaCBmb3Igc3dpdGNoIHdoaWxlJyArXG4gICAgJyBjb250aW51ZSBmdW5jdGlvbiB0aGlzIHdpdGgnICtcbiAgICAnIGRlZmF1bHQgaWYgdGhyb3cnICtcbiAgICAnIGRlbGV0ZSBpbiB0cnknICtcbiAgICAnIGRvIGluc3RhbmNlb2YgdHlwZW9mJyArXG4gICAgJyBhYnN0cmFjdCBlbnVtIGludCBzaG9ydCcgK1xuICAgICcgYm9vbGVhbiBleHBvcnQgaW50ZXJmYWNlIHN0YXRpYycgK1xuICAgICcgYnl0ZSBleHRlbmRzIGxvbmcgc3VwZXInICtcbiAgICAnIGNoYXIgZmluYWwgbmF0aXZlIHN5bmNocm9uaXplZCcgK1xuICAgICcgY2xhc3MgZmxvYXQgcGFja2FnZSB0aHJvd3MnICtcbiAgICAnIGNvbnN0IGdvdG8gcHJpdmF0ZSB0cmFuc2llbnQnICtcbiAgICAnIGRlYnVnZ2VyIGltcGxlbWVudHMgcHJvdGVjdGVkIHZvbGF0aWxlJyArXG4gICAgJyBkb3VibGUgaW1wb3J0IHB1YmxpYyBsZXQgeWllbGQgYXdhaXQnICtcbiAgICAnIG51bGwgdHJ1ZSBmYWxzZSdcbiAgKS5zcGxpdCgnICcpO1xuXG4gIGNvbnN0IGNvbXBpbGVyV29yZHMgPSAoSmF2YVNjcmlwdENvbXBpbGVyLlJFU0VSVkVEX1dPUkRTID0ge30pO1xuXG4gIGZvciAobGV0IGkgPSAwLCBsID0gcmVzZXJ2ZWRXb3Jkcy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICBjb21waWxlcldvcmRzW3Jlc2VydmVkV29yZHNbaV1dID0gdHJ1ZTtcbiAgfVxufSkoKTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBNYXkgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uXG4gKi9cbkphdmFTY3JpcHRDb21waWxlci5pc1ZhbGlkSmF2YVNjcmlwdFZhcmlhYmxlTmFtZSA9IGZ1bmN0aW9uKG5hbWUpIHtcbiAgcmV0dXJuIChcbiAgICAhSmF2YVNjcmlwdENvbXBpbGVyLlJFU0VSVkVEX1dPUkRTW25hbWVdICYmXG4gICAgL15bYS16QS1aXyRdWzAtOWEtekEtWl8kXSokLy50ZXN0KG5hbWUpXG4gICk7XG59O1xuXG5mdW5jdGlvbiBzdHJpY3RMb29rdXAocmVxdWlyZVRlcm1pbmFsLCBjb21waWxlciwgcGFydHMsIHN0YXJ0UGFydEluZGV4LCB0eXBlKSB7XG4gIGxldCBzdGFjayA9IGNvbXBpbGVyLnBvcFN0YWNrKCksXG4gICAgbGVuID0gcGFydHMubGVuZ3RoO1xuICBpZiAocmVxdWlyZVRlcm1pbmFsKSB7XG4gICAgbGVuLS07XG4gIH1cblxuICBmb3IgKGxldCBpID0gc3RhcnRQYXJ0SW5kZXg7IGkgPCBsZW47IGkrKykge1xuICAgIHN0YWNrID0gY29tcGlsZXIubmFtZUxvb2t1cChzdGFjaywgcGFydHNbaV0sIHR5cGUpO1xuICB9XG5cbiAgaWYgKHJlcXVpcmVUZXJtaW5hbCkge1xuICAgIHJldHVybiBbXG4gICAgICBjb21waWxlci5hbGlhc2FibGUoJ2NvbnRhaW5lci5zdHJpY3QnKSxcbiAgICAgICcoJyxcbiAgICAgIHN0YWNrLFxuICAgICAgJywgJyxcbiAgICAgIGNvbXBpbGVyLnF1b3RlZFN0cmluZyhwYXJ0c1tsZW5dKSxcbiAgICAgICcsICcsXG4gICAgICBKU09OLnN0cmluZ2lmeShjb21waWxlci5zb3VyY2UuY3VycmVudExvY2F0aW9uKSxcbiAgICAgICcgKSdcbiAgICBdO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBzdGFjaztcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBKYXZhU2NyaXB0Q29tcGlsZXI7XG4iXX0=