taon-typeorm 18.0.18 → 18.0.20

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 (871) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/README.md +24 -24
  3. package/browser/esm2022/lib/typeorm/driver/cordova/CordovaDriver.mjs +1 -1
  4. package/browser/esm2022/lib/typeorm/driver/cordova/CordovaQueryRunner.mjs +1 -1
  5. package/browser/esm2022/lib/typeorm/driver/nativescript/NativescriptDriver.mjs +1 -1
  6. package/browser/esm2022/lib/typeorm/driver/nativescript/NativescriptQueryRunner.mjs +1 -1
  7. package/browser/esm2022/lib/typeorm/driver/react-native/ReactNativeDriver.mjs +1 -1
  8. package/browser/esm2022/lib/typeorm/driver/react-native/ReactNativeQueryRunner.mjs +1 -1
  9. package/browser/esm2022/lib/typeorm/driver/sqljs/SqljsDriver.mjs +1 -1
  10. package/browser/esm2022/lib/typeorm/driver/sqljs/SqljsQueryRunner.mjs +1 -1
  11. package/browser/esm2022/lib/typeorm/index.mjs +1 -3
  12. package/browser/fesm2022/taon-typeorm.mjs.map +1 -1
  13. package/client/README.md +24 -24
  14. package/client/esm2022/lib/typeorm/driver/cordova/CordovaDriver.mjs +1 -1
  15. package/client/esm2022/lib/typeorm/driver/cordova/CordovaQueryRunner.mjs +1 -1
  16. package/client/esm2022/lib/typeorm/driver/nativescript/NativescriptDriver.mjs +1 -1
  17. package/client/esm2022/lib/typeorm/driver/nativescript/NativescriptQueryRunner.mjs +1 -1
  18. package/client/esm2022/lib/typeorm/driver/react-native/ReactNativeDriver.mjs +1 -1
  19. package/client/esm2022/lib/typeorm/driver/react-native/ReactNativeQueryRunner.mjs +1 -1
  20. package/client/esm2022/lib/typeorm/driver/sqljs/SqljsDriver.mjs +1 -1
  21. package/client/esm2022/lib/typeorm/driver/sqljs/SqljsQueryRunner.mjs +1 -1
  22. package/client/esm2022/lib/typeorm/index.mjs +1 -3
  23. package/client/fesm2022/taon-typeorm.mjs.map +1 -1
  24. package/index.js +15 -2
  25. package/index.js.map +1 -1
  26. package/lib/build-info._auto-generated_.js.map +1 -1
  27. package/lib/index._auto-generated_.d.ts +1 -0
  28. package/lib/index._auto-generated_.js.map +1 -1
  29. package/lib/index.js +15 -2
  30. package/lib/index.js.map +1 -1
  31. package/lib/typeorm/cache/DbQueryResultCache.js +178 -231
  32. package/lib/typeorm/cache/DbQueryResultCache.js.map +1 -1
  33. package/lib/typeorm/cache/QueryResultCache.js.map +1 -1
  34. package/lib/typeorm/cache/QueryResultCacheFactory.js +11 -11
  35. package/lib/typeorm/cache/QueryResultCacheFactory.js.map +1 -1
  36. package/lib/typeorm/cache/QueryResultCacheOptions.js.map +1 -1
  37. package/lib/typeorm/cache/RedisQueryResultCache.js +121 -149
  38. package/lib/typeorm/cache/RedisQueryResultCache.js.map +1 -1
  39. package/lib/typeorm/cli-ts-node-commonjs.js.map +1 -1
  40. package/lib/typeorm/cli-ts-node-esm.js +7 -5
  41. package/lib/typeorm/cli-ts-node-esm.js.map +1 -1
  42. package/lib/typeorm/cli.d.ts +1 -1
  43. package/lib/typeorm/cli.js +15 -16
  44. package/lib/typeorm/cli.js.map +1 -1
  45. package/lib/typeorm/commands/CacheClearCommand.js +37 -65
  46. package/lib/typeorm/commands/CacheClearCommand.js.map +1 -1
  47. package/lib/typeorm/commands/CommandUtils.js +57 -112
  48. package/lib/typeorm/commands/CommandUtils.js.map +1 -1
  49. package/lib/typeorm/commands/EntityCreateCommand.js +35 -47
  50. package/lib/typeorm/commands/EntityCreateCommand.js.map +1 -1
  51. package/lib/typeorm/commands/InitCommand.js +397 -168
  52. package/lib/typeorm/commands/InitCommand.js.map +1 -1
  53. package/lib/typeorm/commands/MigrationCreateCommand.js +58 -52
  54. package/lib/typeorm/commands/MigrationCreateCommand.js.map +1 -1
  55. package/lib/typeorm/commands/MigrationGenerateCommand.js +141 -138
  56. package/lib/typeorm/commands/MigrationGenerateCommand.js.map +1 -1
  57. package/lib/typeorm/commands/MigrationRevertCommand.js +49 -77
  58. package/lib/typeorm/commands/MigrationRevertCommand.js.map +1 -1
  59. package/lib/typeorm/commands/MigrationRunCommand.js +52 -82
  60. package/lib/typeorm/commands/MigrationRunCommand.js.map +1 -1
  61. package/lib/typeorm/commands/MigrationShowCommand.js +32 -60
  62. package/lib/typeorm/commands/MigrationShowCommand.js.map +1 -1
  63. package/lib/typeorm/commands/QueryCommand.js +47 -83
  64. package/lib/typeorm/commands/QueryCommand.js.map +1 -1
  65. package/lib/typeorm/commands/SchemaDropCommand.js +33 -61
  66. package/lib/typeorm/commands/SchemaDropCommand.js.map +1 -1
  67. package/lib/typeorm/commands/SchemaLogCommand.js +57 -81
  68. package/lib/typeorm/commands/SchemaLogCommand.js.map +1 -1
  69. package/lib/typeorm/commands/SchemaSyncCommand.js +33 -61
  70. package/lib/typeorm/commands/SchemaSyncCommand.js.map +1 -1
  71. package/lib/typeorm/commands/SubscriberCreateCommand.js +35 -47
  72. package/lib/typeorm/commands/SubscriberCreateCommand.js.map +1 -1
  73. package/lib/typeorm/commands/VersionCommand.js +38 -54
  74. package/lib/typeorm/commands/VersionCommand.js.map +1 -1
  75. package/lib/typeorm/common/DeepPartial.js.map +1 -1
  76. package/lib/typeorm/common/EntityTarget.js.map +1 -1
  77. package/lib/typeorm/common/MixedList.js.map +1 -1
  78. package/lib/typeorm/common/NonNever.js.map +1 -1
  79. package/lib/typeorm/common/ObjectLiteral.js.map +1 -1
  80. package/lib/typeorm/common/ObjectType.js.map +1 -1
  81. package/lib/typeorm/common/RelationType.js.map +1 -1
  82. package/lib/typeorm/connection/BaseConnectionOptions.js.map +1 -1
  83. package/lib/typeorm/connection/Connection.js +3 -9
  84. package/lib/typeorm/connection/Connection.js.map +1 -1
  85. package/lib/typeorm/connection/ConnectionManager.js +23 -31
  86. package/lib/typeorm/connection/ConnectionManager.js.map +1 -1
  87. package/lib/typeorm/connection/ConnectionMetadataBuilder.js +48 -78
  88. package/lib/typeorm/connection/ConnectionMetadataBuilder.js.map +1 -1
  89. package/lib/typeorm/connection/ConnectionOptions.js.map +1 -1
  90. package/lib/typeorm/connection/ConnectionOptionsReader.js +146 -214
  91. package/lib/typeorm/connection/ConnectionOptionsReader.js.map +1 -1
  92. package/lib/typeorm/connection/options-reader/ConnectionOptionsEnvReader.js +50 -58
  93. package/lib/typeorm/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  94. package/lib/typeorm/connection/options-reader/ConnectionOptionsXmlReader.js +45 -58
  95. package/lib/typeorm/connection/options-reader/ConnectionOptionsXmlReader.js.map +1 -1
  96. package/lib/typeorm/connection/options-reader/ConnectionOptionsYmlReader.js +14 -23
  97. package/lib/typeorm/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
  98. package/lib/typeorm/constants.js.map +1 -1
  99. package/lib/typeorm/container.js +9 -12
  100. package/lib/typeorm/container.js.map +1 -1
  101. package/lib/typeorm/data-source/BaseDataSourceOptions.js.map +1 -1
  102. package/lib/typeorm/data-source/DataSource.js +320 -478
  103. package/lib/typeorm/data-source/DataSource.js.map +1 -1
  104. package/lib/typeorm/data-source/DataSourceOptions.js.map +1 -1
  105. package/lib/typeorm/data-source/index.js +16 -3
  106. package/lib/typeorm/data-source/index.js.map +1 -1
  107. package/lib/typeorm/decorator/Check.js +5 -5
  108. package/lib/typeorm/decorator/Check.js.map +1 -1
  109. package/lib/typeorm/decorator/EntityRepository.js +1 -1
  110. package/lib/typeorm/decorator/EntityRepository.js.map +1 -1
  111. package/lib/typeorm/decorator/Exclusion.js +5 -5
  112. package/lib/typeorm/decorator/Exclusion.js.map +1 -1
  113. package/lib/typeorm/decorator/Generated.js +2 -3
  114. package/lib/typeorm/decorator/Generated.js.map +1 -1
  115. package/lib/typeorm/decorator/Index.js +5 -5
  116. package/lib/typeorm/decorator/Index.js.map +1 -1
  117. package/lib/typeorm/decorator/Unique.js +8 -8
  118. package/lib/typeorm/decorator/Unique.js.map +1 -1
  119. package/lib/typeorm/decorator/columns/Column.js +4 -4
  120. package/lib/typeorm/decorator/columns/Column.js.map +1 -1
  121. package/lib/typeorm/decorator/columns/CreateDateColumn.js +1 -1
  122. package/lib/typeorm/decorator/columns/CreateDateColumn.js.map +1 -1
  123. package/lib/typeorm/decorator/columns/DeleteDateColumn.js +1 -1
  124. package/lib/typeorm/decorator/columns/DeleteDateColumn.js.map +1 -1
  125. package/lib/typeorm/decorator/columns/ObjectIdColumn.js +1 -1
  126. package/lib/typeorm/decorator/columns/ObjectIdColumn.js.map +1 -1
  127. package/lib/typeorm/decorator/columns/PrimaryColumn.js +5 -5
  128. package/lib/typeorm/decorator/columns/PrimaryColumn.js.map +1 -1
  129. package/lib/typeorm/decorator/columns/PrimaryGeneratedColumn.js +4 -4
  130. package/lib/typeorm/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  131. package/lib/typeorm/decorator/columns/UpdateDateColumn.js +1 -1
  132. package/lib/typeorm/decorator/columns/UpdateDateColumn.js.map +1 -1
  133. package/lib/typeorm/decorator/columns/VersionColumn.js +1 -1
  134. package/lib/typeorm/decorator/columns/VersionColumn.js.map +1 -1
  135. package/lib/typeorm/decorator/columns/ViewColumn.js +1 -1
  136. package/lib/typeorm/decorator/columns/ViewColumn.js.map +1 -1
  137. package/lib/typeorm/decorator/columns/VirtualColumn.js +5 -5
  138. package/lib/typeorm/decorator/columns/VirtualColumn.js.map +1 -1
  139. package/lib/typeorm/decorator/entity/ChildEntity.js +1 -1
  140. package/lib/typeorm/decorator/entity/ChildEntity.js.map +1 -1
  141. package/lib/typeorm/decorator/entity/Entity.js +4 -4
  142. package/lib/typeorm/decorator/entity/Entity.js.map +1 -1
  143. package/lib/typeorm/decorator/entity/TableInheritance.js +1 -1
  144. package/lib/typeorm/decorator/entity/TableInheritance.js.map +1 -1
  145. package/lib/typeorm/decorator/entity-view/ViewEntity.js +4 -4
  146. package/lib/typeorm/decorator/entity-view/ViewEntity.js.map +1 -1
  147. package/lib/typeorm/decorator/listeners/AfterInsert.js +2 -2
  148. package/lib/typeorm/decorator/listeners/AfterInsert.js.map +1 -1
  149. package/lib/typeorm/decorator/listeners/AfterLoad.js +2 -2
  150. package/lib/typeorm/decorator/listeners/AfterLoad.js.map +1 -1
  151. package/lib/typeorm/decorator/listeners/AfterRecover.js +2 -2
  152. package/lib/typeorm/decorator/listeners/AfterRecover.js.map +1 -1
  153. package/lib/typeorm/decorator/listeners/AfterRemove.js +2 -2
  154. package/lib/typeorm/decorator/listeners/AfterRemove.js.map +1 -1
  155. package/lib/typeorm/decorator/listeners/AfterSoftRemove.js +2 -2
  156. package/lib/typeorm/decorator/listeners/AfterSoftRemove.js.map +1 -1
  157. package/lib/typeorm/decorator/listeners/AfterUpdate.js +2 -2
  158. package/lib/typeorm/decorator/listeners/AfterUpdate.js.map +1 -1
  159. package/lib/typeorm/decorator/listeners/BeforeInsert.js +2 -2
  160. package/lib/typeorm/decorator/listeners/BeforeInsert.js.map +1 -1
  161. package/lib/typeorm/decorator/listeners/BeforeRecover.js +2 -2
  162. package/lib/typeorm/decorator/listeners/BeforeRecover.js.map +1 -1
  163. package/lib/typeorm/decorator/listeners/BeforeRemove.js +2 -2
  164. package/lib/typeorm/decorator/listeners/BeforeRemove.js.map +1 -1
  165. package/lib/typeorm/decorator/listeners/BeforeSoftRemove.js +2 -2
  166. package/lib/typeorm/decorator/listeners/BeforeSoftRemove.js.map +1 -1
  167. package/lib/typeorm/decorator/listeners/BeforeUpdate.js +2 -2
  168. package/lib/typeorm/decorator/listeners/BeforeUpdate.js.map +1 -1
  169. package/lib/typeorm/decorator/listeners/EventSubscriber.js +1 -1
  170. package/lib/typeorm/decorator/listeners/EventSubscriber.js.map +1 -1
  171. package/lib/typeorm/decorator/options/ColumnCommonOptions.js.map +1 -1
  172. package/lib/typeorm/decorator/options/ColumnEmbeddedOptions.js.map +1 -1
  173. package/lib/typeorm/decorator/options/ColumnEnumOptions.js.map +1 -1
  174. package/lib/typeorm/decorator/options/ColumnHstoreOptions.js.map +1 -1
  175. package/lib/typeorm/decorator/options/ColumnNumericOptions.js.map +1 -1
  176. package/lib/typeorm/decorator/options/ColumnOptions.js.map +1 -1
  177. package/lib/typeorm/decorator/options/ColumnWithLengthOptions.js.map +1 -1
  178. package/lib/typeorm/decorator/options/ColumnWithWidthOptions.js.map +1 -1
  179. package/lib/typeorm/decorator/options/EntityOptions.js.map +1 -1
  180. package/lib/typeorm/decorator/options/IndexOptions.js.map +1 -1
  181. package/lib/typeorm/decorator/options/JoinColumnOptions.js.map +1 -1
  182. package/lib/typeorm/decorator/options/JoinTableMultipleColumnsOptions.js.map +1 -1
  183. package/lib/typeorm/decorator/options/JoinTableOptions.js.map +1 -1
  184. package/lib/typeorm/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -1
  185. package/lib/typeorm/decorator/options/PrimaryGeneratedColumnNumericOptions.js.map +1 -1
  186. package/lib/typeorm/decorator/options/PrimaryGeneratedColumnUUIDOptions.js.map +1 -1
  187. package/lib/typeorm/decorator/options/RelationOptions.js.map +1 -1
  188. package/lib/typeorm/decorator/options/SpatialColumnOptions.js.map +1 -1
  189. package/lib/typeorm/decorator/options/TransactionOptions.js.map +1 -1
  190. package/lib/typeorm/decorator/options/UniqueOptions.js.map +1 -1
  191. package/lib/typeorm/decorator/options/ValueTransformer.js.map +1 -1
  192. package/lib/typeorm/decorator/options/ViewColumnOptions.js.map +1 -1
  193. package/lib/typeorm/decorator/options/ViewEntityOptions.js.map +1 -1
  194. package/lib/typeorm/decorator/options/VirtualColumnOptions.js.map +1 -1
  195. package/lib/typeorm/decorator/relations/JoinColumn.js +3 -3
  196. package/lib/typeorm/decorator/relations/JoinColumn.js.map +1 -1
  197. package/lib/typeorm/decorator/relations/JoinTable.js +1 -1
  198. package/lib/typeorm/decorator/relations/JoinTable.js.map +1 -1
  199. package/lib/typeorm/decorator/relations/ManyToMany.js +5 -5
  200. package/lib/typeorm/decorator/relations/ManyToMany.js.map +1 -1
  201. package/lib/typeorm/decorator/relations/ManyToOne.js +5 -5
  202. package/lib/typeorm/decorator/relations/ManyToOne.js.map +1 -1
  203. package/lib/typeorm/decorator/relations/OneToMany.js +3 -3
  204. package/lib/typeorm/decorator/relations/OneToMany.js.map +1 -1
  205. package/lib/typeorm/decorator/relations/OneToOne.js +5 -5
  206. package/lib/typeorm/decorator/relations/OneToOne.js.map +1 -1
  207. package/lib/typeorm/decorator/relations/RelationCount.js +1 -1
  208. package/lib/typeorm/decorator/relations/RelationCount.js.map +1 -1
  209. package/lib/typeorm/decorator/relations/RelationId.js +1 -1
  210. package/lib/typeorm/decorator/relations/RelationId.js.map +1 -1
  211. package/lib/typeorm/decorator/tree/Tree.js +1 -1
  212. package/lib/typeorm/decorator/tree/Tree.js.map +1 -1
  213. package/lib/typeorm/decorator/tree/TreeChildren.js +4 -4
  214. package/lib/typeorm/decorator/tree/TreeChildren.js.map +1 -1
  215. package/lib/typeorm/decorator/tree/TreeLevelColumn.js +1 -1
  216. package/lib/typeorm/decorator/tree/TreeLevelColumn.js.map +1 -1
  217. package/lib/typeorm/decorator/tree/TreeParent.js +4 -4
  218. package/lib/typeorm/decorator/tree/TreeParent.js.map +1 -1
  219. package/lib/typeorm/driver/Driver.js.map +1 -1
  220. package/lib/typeorm/driver/DriverFactory.js +24 -27
  221. package/lib/typeorm/driver/DriverFactory.js.map +1 -1
  222. package/lib/typeorm/driver/DriverUtils.js +78 -126
  223. package/lib/typeorm/driver/DriverUtils.js.map +1 -1
  224. package/lib/typeorm/driver/Query.js +6 -5
  225. package/lib/typeorm/driver/Query.js.map +1 -1
  226. package/lib/typeorm/driver/SqlInMemory.js +4 -7
  227. package/lib/typeorm/driver/SqlInMemory.js.map +1 -1
  228. package/lib/typeorm/driver/aurora-mysql/AuroraMysqlConnection.js +9 -12
  229. package/lib/typeorm/driver/aurora-mysql/AuroraMysqlConnection.js.map +1 -1
  230. package/lib/typeorm/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js.map +1 -1
  231. package/lib/typeorm/driver/aurora-mysql/AuroraMysqlConnectionOptions.js.map +1 -1
  232. package/lib/typeorm/driver/aurora-mysql/AuroraMysqlDriver.js +392 -399
  233. package/lib/typeorm/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
  234. package/lib/typeorm/driver/aurora-mysql/AuroraMysqlQueryRunner.js +1320 -2084
  235. package/lib/typeorm/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  236. package/lib/typeorm/driver/aurora-postgres/AuroraPostgresConnectionOptions.js.map +1 -1
  237. package/lib/typeorm/driver/aurora-postgres/AuroraPostgresDriver.js +50 -78
  238. package/lib/typeorm/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -1
  239. package/lib/typeorm/driver/aurora-postgres/AuroraPostgresQueryRunner.js +89 -160
  240. package/lib/typeorm/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  241. package/lib/typeorm/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +1 -1
  242. package/lib/typeorm/driver/better-sqlite3/BetterSqlite3Driver.js +78 -152
  243. package/lib/typeorm/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  244. package/lib/typeorm/driver/better-sqlite3/BetterSqlite3QueryRunner.js +96 -155
  245. package/lib/typeorm/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  246. package/lib/typeorm/driver/capacitor/CapacitorConnectionOptions.js.map +1 -1
  247. package/lib/typeorm/driver/capacitor/CapacitorDriver.js +44 -89
  248. package/lib/typeorm/driver/capacitor/CapacitorDriver.js.map +1 -1
  249. package/lib/typeorm/driver/capacitor/CapacitorQueryRunner.js +70 -122
  250. package/lib/typeorm/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
  251. package/lib/typeorm/driver/cockroachdb/CockroachConnectionCredentialsOptions.js.map +1 -1
  252. package/lib/typeorm/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
  253. package/lib/typeorm/driver/cockroachdb/CockroachDriver.js +368 -404
  254. package/lib/typeorm/driver/cockroachdb/CockroachDriver.js.map +1 -1
  255. package/lib/typeorm/driver/cockroachdb/CockroachQueryRunner.js +1752 -2862
  256. package/lib/typeorm/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  257. package/lib/typeorm/driver/cordova/CordovaConnectionOptions.js.map +1 -1
  258. package/lib/typeorm/driver/cordova/CordovaDriver.js +36 -58
  259. package/lib/typeorm/driver/cordova/CordovaDriver.js.map +1 -1
  260. package/lib/typeorm/driver/cordova/CordovaQueryRunner.js +86 -164
  261. package/lib/typeorm/driver/cordova/CordovaQueryRunner.js.map +1 -1
  262. package/lib/typeorm/driver/expo/ExpoConnectionOptions.js.map +1 -1
  263. package/lib/typeorm/driver/expo/ExpoDriver.js +34 -44
  264. package/lib/typeorm/driver/expo/ExpoDriver.js.map +1 -1
  265. package/lib/typeorm/driver/expo/ExpoQueryRunner.js +114 -204
  266. package/lib/typeorm/driver/expo/ExpoQueryRunner.js.map +1 -1
  267. package/lib/typeorm/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  268. package/lib/typeorm/driver/mongodb/MongoDriver.js +269 -243
  269. package/lib/typeorm/driver/mongodb/MongoDriver.js.map +1 -1
  270. package/lib/typeorm/driver/mongodb/MongoQueryRunner.js +357 -793
  271. package/lib/typeorm/driver/mongodb/MongoQueryRunner.js.map +1 -1
  272. package/lib/typeorm/driver/mongodb/typings.js.map +1 -1
  273. package/lib/typeorm/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
  274. package/lib/typeorm/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  275. package/lib/typeorm/driver/mysql/MysqlDriver.js +475 -480
  276. package/lib/typeorm/driver/mysql/MysqlDriver.js.map +1 -1
  277. package/lib/typeorm/driver/mysql/MysqlQueryRunner.js +1692 -2466
  278. package/lib/typeorm/driver/mysql/MysqlQueryRunner.js.map +1 -1
  279. package/lib/typeorm/driver/nativescript/NativescriptConnectionOptions.js.map +1 -1
  280. package/lib/typeorm/driver/nativescript/NativescriptDriver.js +46 -50
  281. package/lib/typeorm/driver/nativescript/NativescriptDriver.js.map +1 -1
  282. package/lib/typeorm/driver/nativescript/NativescriptQueryRunner.js +62 -101
  283. package/lib/typeorm/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  284. package/lib/typeorm/driver/oracle/OracleConnectionCredentialsOptions.js.map +1 -1
  285. package/lib/typeorm/driver/oracle/OracleConnectionOptions.js.map +1 -1
  286. package/lib/typeorm/driver/oracle/OracleDriver.js +345 -377
  287. package/lib/typeorm/driver/oracle/OracleDriver.js.map +1 -1
  288. package/lib/typeorm/driver/oracle/OracleQueryRunner.js +1484 -2384
  289. package/lib/typeorm/driver/oracle/OracleQueryRunner.js.map +1 -1
  290. package/lib/typeorm/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
  291. package/lib/typeorm/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  292. package/lib/typeorm/driver/postgres/PostgresDriver.js +574 -690
  293. package/lib/typeorm/driver/postgres/PostgresDriver.js.map +1 -1
  294. package/lib/typeorm/driver/postgres/PostgresQueryRunner.js +2153 -3379
  295. package/lib/typeorm/driver/postgres/PostgresQueryRunner.js.map +1 -1
  296. package/lib/typeorm/driver/react-native/ReactNativeConnectionOptions.js.map +1 -1
  297. package/lib/typeorm/driver/react-native/ReactNativeDriver.js +34 -44
  298. package/lib/typeorm/driver/react-native/ReactNativeDriver.js.map +1 -1
  299. package/lib/typeorm/driver/react-native/ReactNativeQueryRunner.js +60 -94
  300. package/lib/typeorm/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  301. package/lib/typeorm/driver/sap/SapConnectionCredentialsOptions.js.map +1 -1
  302. package/lib/typeorm/driver/sap/SapConnectionOptions.js.map +1 -1
  303. package/lib/typeorm/driver/sap/SapDriver.js +310 -305
  304. package/lib/typeorm/driver/sap/SapDriver.js.map +1 -1
  305. package/lib/typeorm/driver/sap/SapQueryRunner.js +1635 -2561
  306. package/lib/typeorm/driver/sap/SapQueryRunner.js.map +1 -1
  307. package/lib/typeorm/driver/spanner/SpannerConnectionCredentialsOptions.js.map +1 -1
  308. package/lib/typeorm/driver/spanner/SpannerConnectionOptions.js.map +1 -1
  309. package/lib/typeorm/driver/spanner/SpannerDriver.js +250 -236
  310. package/lib/typeorm/driver/spanner/SpannerDriver.js.map +1 -1
  311. package/lib/typeorm/driver/spanner/SpannerQueryRunner.js +1136 -2168
  312. package/lib/typeorm/driver/spanner/SpannerQueryRunner.js.map +1 -1
  313. package/lib/typeorm/driver/sqlite/SqliteConnectionOptions.js.map +1 -1
  314. package/lib/typeorm/driver/sqlite/SqliteDriver.js +82 -169
  315. package/lib/typeorm/driver/sqlite/SqliteDriver.js.map +1 -1
  316. package/lib/typeorm/driver/sqlite/SqliteQueryRunner.js +78 -122
  317. package/lib/typeorm/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  318. package/lib/typeorm/driver/sqlite-abstract/AbstractSqliteDriver.js +280 -268
  319. package/lib/typeorm/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  320. package/lib/typeorm/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +1158 -1990
  321. package/lib/typeorm/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  322. package/lib/typeorm/driver/sqljs/SqljsConnectionOptions.js.map +1 -1
  323. package/lib/typeorm/driver/sqljs/SqljsDriver.js +187 -253
  324. package/lib/typeorm/driver/sqljs/SqljsDriver.js.map +1 -1
  325. package/lib/typeorm/driver/sqljs/SqljsQueryRunner.js +88 -147
  326. package/lib/typeorm/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  327. package/lib/typeorm/driver/sqlserver/MssqlParameter.js +10 -13
  328. package/lib/typeorm/driver/sqlserver/MssqlParameter.js.map +1 -1
  329. package/lib/typeorm/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
  330. package/lib/typeorm/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  331. package/lib/typeorm/driver/sqlserver/SqlServerDriver.js +352 -372
  332. package/lib/typeorm/driver/sqlserver/SqlServerDriver.js.map +1 -1
  333. package/lib/typeorm/driver/sqlserver/SqlServerQueryRunner.js +1979 -3068
  334. package/lib/typeorm/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  335. package/lib/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -1
  336. package/lib/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -1
  337. package/lib/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -1
  338. package/lib/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -1
  339. package/lib/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -1
  340. package/lib/typeorm/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -1
  341. package/lib/typeorm/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -1
  342. package/lib/typeorm/driver/types/ColumnTypes.js.map +1 -1
  343. package/lib/typeorm/driver/types/CteCapabilities.js.map +1 -1
  344. package/lib/typeorm/driver/types/DataTypeDefaults.js.map +1 -1
  345. package/lib/typeorm/driver/types/DatabaseType.js.map +1 -1
  346. package/lib/typeorm/driver/types/IsolationLevel.js.map +1 -1
  347. package/lib/typeorm/driver/types/MappedColumnTypes.js.map +1 -1
  348. package/lib/typeorm/driver/types/MetadataTableType.js.map +1 -1
  349. package/lib/typeorm/driver/types/ReplicationMode.js.map +1 -1
  350. package/lib/typeorm/driver/types/UpsertType.js.map +1 -1
  351. package/lib/typeorm/entity-manager/EntityManager.js +351 -469
  352. package/lib/typeorm/entity-manager/EntityManager.js.map +1 -1
  353. package/lib/typeorm/entity-manager/EntityManagerFactory.js +7 -10
  354. package/lib/typeorm/entity-manager/EntityManagerFactory.js.map +1 -1
  355. package/lib/typeorm/entity-manager/MongoEntityManager.js +371 -487
  356. package/lib/typeorm/entity-manager/MongoEntityManager.js.map +1 -1
  357. package/lib/typeorm/entity-manager/SqljsEntityManager.js +16 -37
  358. package/lib/typeorm/entity-manager/SqljsEntityManager.js.map +1 -1
  359. package/lib/typeorm/entity-schema/EntitySchema.js +5 -5
  360. package/lib/typeorm/entity-schema/EntitySchema.js.map +1 -1
  361. package/lib/typeorm/entity-schema/EntitySchemaCheckOptions.js.map +1 -1
  362. package/lib/typeorm/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
  363. package/lib/typeorm/entity-schema/EntitySchemaEmbeddedColumnOptions.js +17 -5
  364. package/lib/typeorm/entity-schema/EntitySchemaEmbeddedColumnOptions.js.map +1 -1
  365. package/lib/typeorm/entity-schema/EntitySchemaEmbeddedError.js +11 -14
  366. package/lib/typeorm/entity-schema/EntitySchemaEmbeddedError.js.map +1 -1
  367. package/lib/typeorm/entity-schema/EntitySchemaExclusionOptions.js.map +1 -1
  368. package/lib/typeorm/entity-schema/EntitySchemaIndexOptions.js.map +1 -1
  369. package/lib/typeorm/entity-schema/EntitySchemaOptions.js +82 -5
  370. package/lib/typeorm/entity-schema/EntitySchemaOptions.js.map +1 -1
  371. package/lib/typeorm/entity-schema/EntitySchemaRelationIdOptions.js.map +1 -1
  372. package/lib/typeorm/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
  373. package/lib/typeorm/entity-schema/EntitySchemaTransformer.js +51 -68
  374. package/lib/typeorm/entity-schema/EntitySchemaTransformer.js.map +1 -1
  375. package/lib/typeorm/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
  376. package/lib/typeorm/error/AlreadyHasActiveConnectionError.js +6 -9
  377. package/lib/typeorm/error/AlreadyHasActiveConnectionError.js.map +1 -1
  378. package/lib/typeorm/error/CannotAttachTreeChildrenEntityError.js +6 -9
  379. package/lib/typeorm/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
  380. package/lib/typeorm/error/CannotConnectAlreadyConnectedError.js +5 -8
  381. package/lib/typeorm/error/CannotConnectAlreadyConnectedError.js.map +1 -1
  382. package/lib/typeorm/error/CannotCreateEntityIdMapError.js +7 -11
  383. package/lib/typeorm/error/CannotCreateEntityIdMapError.js.map +1 -1
  384. package/lib/typeorm/error/CannotDetermineEntityError.js +6 -9
  385. package/lib/typeorm/error/CannotDetermineEntityError.js.map +1 -1
  386. package/lib/typeorm/error/CannotExecuteNotConnectedError.js +5 -8
  387. package/lib/typeorm/error/CannotExecuteNotConnectedError.js.map +1 -1
  388. package/lib/typeorm/error/CannotGetEntityManagerNotConnectedError.js +5 -8
  389. package/lib/typeorm/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
  390. package/lib/typeorm/error/CannotReflectMethodParameterTypeError.js +7 -10
  391. package/lib/typeorm/error/CannotReflectMethodParameterTypeError.js.map +1 -1
  392. package/lib/typeorm/error/CircularRelationsError.js +6 -9
  393. package/lib/typeorm/error/CircularRelationsError.js.map +1 -1
  394. package/lib/typeorm/error/ColumnTypeUndefinedError.js +8 -11
  395. package/lib/typeorm/error/ColumnTypeUndefinedError.js.map +1 -1
  396. package/lib/typeorm/error/ConnectionIsNotSetError.js +5 -8
  397. package/lib/typeorm/error/ConnectionIsNotSetError.js.map +1 -1
  398. package/lib/typeorm/error/ConnectionNotFoundError.js +5 -8
  399. package/lib/typeorm/error/ConnectionNotFoundError.js.map +1 -1
  400. package/lib/typeorm/error/CustomRepositoryCannotInheritRepositoryError.js +7 -10
  401. package/lib/typeorm/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -1
  402. package/lib/typeorm/error/CustomRepositoryDoesNotHaveEntityError.js +7 -10
  403. package/lib/typeorm/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -1
  404. package/lib/typeorm/error/CustomRepositoryNotFoundError.js +7 -10
  405. package/lib/typeorm/error/CustomRepositoryNotFoundError.js.map +1 -1
  406. package/lib/typeorm/error/DataTypeNotSupportedError.js +7 -11
  407. package/lib/typeorm/error/DataTypeNotSupportedError.js.map +1 -1
  408. package/lib/typeorm/error/DriverOptionNotSetError.js +6 -9
  409. package/lib/typeorm/error/DriverOptionNotSetError.js.map +1 -1
  410. package/lib/typeorm/error/DriverPackageNotInstalledError.js +6 -9
  411. package/lib/typeorm/error/DriverPackageNotInstalledError.js.map +1 -1
  412. package/lib/typeorm/error/EntityMetadataNotFoundError.js +10 -14
  413. package/lib/typeorm/error/EntityMetadataNotFoundError.js.map +1 -1
  414. package/lib/typeorm/error/EntityNotFoundError.js +13 -17
  415. package/lib/typeorm/error/EntityNotFoundError.js.map +1 -1
  416. package/lib/typeorm/error/EntityPropertyNotFoundError.js +7 -11
  417. package/lib/typeorm/error/EntityPropertyNotFoundError.js.map +1 -1
  418. package/lib/typeorm/error/FindRelationsNotFoundError.js +9 -13
  419. package/lib/typeorm/error/FindRelationsNotFoundError.js.map +1 -1
  420. package/lib/typeorm/error/ForbiddenTransactionModeOverrideError.js +6 -9
  421. package/lib/typeorm/error/ForbiddenTransactionModeOverrideError.js.map +1 -1
  422. package/lib/typeorm/error/InitializedRelationError.js +7 -10
  423. package/lib/typeorm/error/InitializedRelationError.js.map +1 -1
  424. package/lib/typeorm/error/InsertValuesMissingError.js +6 -9
  425. package/lib/typeorm/error/InsertValuesMissingError.js.map +1 -1
  426. package/lib/typeorm/error/LimitOnUpdateNotSupportedError.js +5 -8
  427. package/lib/typeorm/error/LimitOnUpdateNotSupportedError.js.map +1 -1
  428. package/lib/typeorm/error/LockNotSupportedOnGivenDriverError.js +5 -8
  429. package/lib/typeorm/error/LockNotSupportedOnGivenDriverError.js.map +1 -1
  430. package/lib/typeorm/error/MetadataAlreadyExistsError.js +6 -9
  431. package/lib/typeorm/error/MetadataAlreadyExistsError.js.map +1 -1
  432. package/lib/typeorm/error/MetadataWithSuchNameAlreadyExistsError.js +6 -9
  433. package/lib/typeorm/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -1
  434. package/lib/typeorm/error/MissingDeleteDateColumnError.js +5 -8
  435. package/lib/typeorm/error/MissingDeleteDateColumnError.js.map +1 -1
  436. package/lib/typeorm/error/MissingDriverError.js +6 -10
  437. package/lib/typeorm/error/MissingDriverError.js.map +1 -1
  438. package/lib/typeorm/error/MissingJoinColumnError.js +12 -16
  439. package/lib/typeorm/error/MissingJoinColumnError.js.map +1 -1
  440. package/lib/typeorm/error/MissingJoinTableError.js +12 -16
  441. package/lib/typeorm/error/MissingJoinTableError.js.map +1 -1
  442. package/lib/typeorm/error/MissingPrimaryColumnError.js +6 -9
  443. package/lib/typeorm/error/MissingPrimaryColumnError.js.map +1 -1
  444. package/lib/typeorm/error/MustBeEntityError.js +5 -8
  445. package/lib/typeorm/error/MustBeEntityError.js.map +1 -1
  446. package/lib/typeorm/error/NamingStrategyNotFoundError.js +9 -13
  447. package/lib/typeorm/error/NamingStrategyNotFoundError.js.map +1 -1
  448. package/lib/typeorm/error/NestedSetMultipleRootError.js +5 -8
  449. package/lib/typeorm/error/NestedSetMultipleRootError.js.map +1 -1
  450. package/lib/typeorm/error/NoConnectionForRepositoryError.js +6 -9
  451. package/lib/typeorm/error/NoConnectionForRepositoryError.js.map +1 -1
  452. package/lib/typeorm/error/NoConnectionOptionError.js +6 -9
  453. package/lib/typeorm/error/NoConnectionOptionError.js.map +1 -1
  454. package/lib/typeorm/error/NoNeedToReleaseEntityManagerError.js +7 -10
  455. package/lib/typeorm/error/NoNeedToReleaseEntityManagerError.js.map +1 -1
  456. package/lib/typeorm/error/NoVersionOrUpdateDateColumnError.js +5 -8
  457. package/lib/typeorm/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
  458. package/lib/typeorm/error/OffsetWithoutLimitNotSupportedError.js +7 -10
  459. package/lib/typeorm/error/OffsetWithoutLimitNotSupportedError.js.map +1 -1
  460. package/lib/typeorm/error/OptimisticLockCanNotBeUsedError.js +5 -8
  461. package/lib/typeorm/error/OptimisticLockCanNotBeUsedError.js.map +1 -1
  462. package/lib/typeorm/error/OptimisticLockVersionMismatchError.js +5 -8
  463. package/lib/typeorm/error/OptimisticLockVersionMismatchError.js.map +1 -1
  464. package/lib/typeorm/error/PersistedEntityNotFoundError.js +5 -8
  465. package/lib/typeorm/error/PersistedEntityNotFoundError.js.map +1 -1
  466. package/lib/typeorm/error/PessimisticLockTransactionRequiredError.js +5 -8
  467. package/lib/typeorm/error/PessimisticLockTransactionRequiredError.js.map +1 -1
  468. package/lib/typeorm/error/PrimaryColumnCannotBeNullableError.js +6 -9
  469. package/lib/typeorm/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
  470. package/lib/typeorm/error/QueryFailedError.js +18 -17
  471. package/lib/typeorm/error/QueryFailedError.js.map +1 -1
  472. package/lib/typeorm/error/QueryRunnerAlreadyReleasedError.js +5 -8
  473. package/lib/typeorm/error/QueryRunnerAlreadyReleasedError.js.map +1 -1
  474. package/lib/typeorm/error/QueryRunnerProviderAlreadyReleasedError.js +6 -9
  475. package/lib/typeorm/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -1
  476. package/lib/typeorm/error/RepositoryNotTreeError.js +9 -13
  477. package/lib/typeorm/error/RepositoryNotTreeError.js.map +1 -1
  478. package/lib/typeorm/error/ReturningStatementNotSupportedError.js +5 -8
  479. package/lib/typeorm/error/ReturningStatementNotSupportedError.js.map +1 -1
  480. package/lib/typeorm/error/SubjectRemovedAndUpdatedError.js +6 -9
  481. package/lib/typeorm/error/SubjectRemovedAndUpdatedError.js.map +1 -1
  482. package/lib/typeorm/error/SubjectWithoutIdentifierError.js +5 -8
  483. package/lib/typeorm/error/SubjectWithoutIdentifierError.js.map +1 -1
  484. package/lib/typeorm/error/TransactionAlreadyStartedError.js +5 -8
  485. package/lib/typeorm/error/TransactionAlreadyStartedError.js.map +1 -1
  486. package/lib/typeorm/error/TransactionNotStartedError.js +5 -8
  487. package/lib/typeorm/error/TransactionNotStartedError.js.map +1 -1
  488. package/lib/typeorm/error/TreeRepositoryNotSupportedError.js +5 -8
  489. package/lib/typeorm/error/TreeRepositoryNotSupportedError.js.map +1 -1
  490. package/lib/typeorm/error/TypeORMError.js +9 -18
  491. package/lib/typeorm/error/TypeORMError.js.map +1 -1
  492. package/lib/typeorm/error/UpdateValuesMissingError.js +5 -8
  493. package/lib/typeorm/error/UpdateValuesMissingError.js.map +1 -1
  494. package/lib/typeorm/error/UsingJoinColumnIsNotAllowedError.js +6 -9
  495. package/lib/typeorm/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
  496. package/lib/typeorm/error/UsingJoinColumnOnlyOnOneSideAllowedError.js +7 -10
  497. package/lib/typeorm/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
  498. package/lib/typeorm/error/UsingJoinTableIsNotAllowedError.js +7 -10
  499. package/lib/typeorm/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
  500. package/lib/typeorm/error/UsingJoinTableOnlyOnOneSideAllowedError.js +7 -10
  501. package/lib/typeorm/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
  502. package/lib/typeorm/error/index.js +75 -62
  503. package/lib/typeorm/error/index.js.map +1 -1
  504. package/lib/typeorm/find-options/EqualOperator.js +6 -10
  505. package/lib/typeorm/find-options/EqualOperator.js.map +1 -1
  506. package/lib/typeorm/find-options/FindManyOptions.js.map +1 -1
  507. package/lib/typeorm/find-options/FindOneOptions.js.map +1 -1
  508. package/lib/typeorm/find-options/FindOperator.js +90 -94
  509. package/lib/typeorm/find-options/FindOperator.js.map +1 -1
  510. package/lib/typeorm/find-options/FindOperatorType.js.map +1 -1
  511. package/lib/typeorm/find-options/FindOptionsOrder.js.map +1 -1
  512. package/lib/typeorm/find-options/FindOptionsRelations.js.map +1 -1
  513. package/lib/typeorm/find-options/FindOptionsSelect.js.map +1 -1
  514. package/lib/typeorm/find-options/FindOptionsUtils.js +56 -87
  515. package/lib/typeorm/find-options/FindOptionsUtils.js.map +1 -1
  516. package/lib/typeorm/find-options/FindOptionsWhere.js.map +1 -1
  517. package/lib/typeorm/find-options/FindTreeOptions.js.map +1 -1
  518. package/lib/typeorm/find-options/JoinOptions.js.map +1 -1
  519. package/lib/typeorm/find-options/OrderByCondition.js.map +1 -1
  520. package/lib/typeorm/find-options/mongodb/MongoFindManyOptions.js.map +1 -1
  521. package/lib/typeorm/find-options/mongodb/MongoFindOneOptions.js.map +1 -1
  522. package/lib/typeorm/find-options/operator/And.js +2 -6
  523. package/lib/typeorm/find-options/operator/And.js.map +1 -1
  524. package/lib/typeorm/find-options/operator/Any.js +1 -1
  525. package/lib/typeorm/find-options/operator/Any.js.map +1 -1
  526. package/lib/typeorm/find-options/operator/ArrayContainedBy.js +1 -1
  527. package/lib/typeorm/find-options/operator/ArrayContainedBy.js.map +1 -1
  528. package/lib/typeorm/find-options/operator/ArrayContains.js +1 -1
  529. package/lib/typeorm/find-options/operator/ArrayContains.js.map +1 -1
  530. package/lib/typeorm/find-options/operator/ArrayOverlap.js +1 -1
  531. package/lib/typeorm/find-options/operator/ArrayOverlap.js.map +1 -1
  532. package/lib/typeorm/find-options/operator/Between.js +1 -1
  533. package/lib/typeorm/find-options/operator/Between.js.map +1 -1
  534. package/lib/typeorm/find-options/operator/Equal.js +1 -1
  535. package/lib/typeorm/find-options/operator/Equal.js.map +1 -1
  536. package/lib/typeorm/find-options/operator/ILike.js +1 -1
  537. package/lib/typeorm/find-options/operator/ILike.js.map +1 -1
  538. package/lib/typeorm/find-options/operator/In.js +1 -1
  539. package/lib/typeorm/find-options/operator/In.js.map +1 -1
  540. package/lib/typeorm/find-options/operator/IsNull.js +1 -1
  541. package/lib/typeorm/find-options/operator/IsNull.js.map +1 -1
  542. package/lib/typeorm/find-options/operator/LessThan.js +1 -1
  543. package/lib/typeorm/find-options/operator/LessThan.js.map +1 -1
  544. package/lib/typeorm/find-options/operator/LessThanOrEqual.js +1 -1
  545. package/lib/typeorm/find-options/operator/LessThanOrEqual.js.map +1 -1
  546. package/lib/typeorm/find-options/operator/Like.js +1 -1
  547. package/lib/typeorm/find-options/operator/Like.js.map +1 -1
  548. package/lib/typeorm/find-options/operator/MoreThan.js +1 -1
  549. package/lib/typeorm/find-options/operator/MoreThan.js.map +1 -1
  550. package/lib/typeorm/find-options/operator/MoreThanOrEqual.js +1 -1
  551. package/lib/typeorm/find-options/operator/MoreThanOrEqual.js.map +1 -1
  552. package/lib/typeorm/find-options/operator/Not.js +1 -1
  553. package/lib/typeorm/find-options/operator/Not.js.map +1 -1
  554. package/lib/typeorm/find-options/operator/Raw.js +1 -1
  555. package/lib/typeorm/find-options/operator/Raw.js.map +1 -1
  556. package/lib/typeorm/globals.js +33 -99
  557. package/lib/typeorm/globals.js.map +1 -1
  558. package/lib/typeorm/index.d.ts +0 -1
  559. package/lib/typeorm/index.js +136 -126
  560. package/lib/typeorm/index.js.map +1 -1
  561. package/lib/typeorm/logger/AdvancedConsoleLogger.js +26 -26
  562. package/lib/typeorm/logger/AdvancedConsoleLogger.js.map +1 -1
  563. package/lib/typeorm/logger/DebugLogger.js +24 -27
  564. package/lib/typeorm/logger/DebugLogger.js.map +1 -1
  565. package/lib/typeorm/logger/FileLogger.js +31 -30
  566. package/lib/typeorm/logger/FileLogger.js.map +1 -1
  567. package/lib/typeorm/logger/Logger.js.map +1 -1
  568. package/lib/typeorm/logger/LoggerFactory.js +9 -12
  569. package/lib/typeorm/logger/LoggerFactory.js.map +1 -1
  570. package/lib/typeorm/logger/LoggerOptions.js.map +1 -1
  571. package/lib/typeorm/logger/SimpleConsoleLogger.js +25 -25
  572. package/lib/typeorm/logger/SimpleConsoleLogger.js.map +1 -1
  573. package/lib/typeorm/metadata/CheckMetadata.js +30 -6
  574. package/lib/typeorm/metadata/CheckMetadata.js.map +1 -1
  575. package/lib/typeorm/metadata/ColumnMetadata.js +343 -199
  576. package/lib/typeorm/metadata/ColumnMetadata.js.map +1 -1
  577. package/lib/typeorm/metadata/EmbeddedMetadata.js +174 -153
  578. package/lib/typeorm/metadata/EmbeddedMetadata.js.map +1 -1
  579. package/lib/typeorm/metadata/EntityListenerMetadata.js +35 -15
  580. package/lib/typeorm/metadata/EntityListenerMetadata.js.map +1 -1
  581. package/lib/typeorm/metadata/EntityMetadata.js +516 -372
  582. package/lib/typeorm/metadata/EntityMetadata.js.map +1 -1
  583. package/lib/typeorm/metadata/ExclusionMetadata.js +30 -6
  584. package/lib/typeorm/metadata/ExclusionMetadata.js.map +1 -1
  585. package/lib/typeorm/metadata/ForeignKeyMetadata.js +60 -24
  586. package/lib/typeorm/metadata/ForeignKeyMetadata.js.map +1 -1
  587. package/lib/typeorm/metadata/IndexMetadata.js +119 -73
  588. package/lib/typeorm/metadata/IndexMetadata.js.map +1 -1
  589. package/lib/typeorm/metadata/RelationCountMetadata.js +40 -10
  590. package/lib/typeorm/metadata/RelationCountMetadata.js.map +1 -1
  591. package/lib/typeorm/metadata/RelationIdMetadata.js +47 -18
  592. package/lib/typeorm/metadata/RelationIdMetadata.js.map +1 -1
  593. package/lib/typeorm/metadata/RelationMetadata.js +270 -187
  594. package/lib/typeorm/metadata/RelationMetadata.js.map +1 -1
  595. package/lib/typeorm/metadata/UniqueMetadata.js +72 -47
  596. package/lib/typeorm/metadata/UniqueMetadata.js.map +1 -1
  597. package/lib/typeorm/metadata/types/ClosureTreeOptions.js.map +1 -1
  598. package/lib/typeorm/metadata/types/DeferrableType.js.map +1 -1
  599. package/lib/typeorm/metadata/types/EventListenerTypes.js +13 -16
  600. package/lib/typeorm/metadata/types/EventListenerTypes.js.map +1 -1
  601. package/lib/typeorm/metadata/types/OnDeleteType.js.map +1 -1
  602. package/lib/typeorm/metadata/types/OnUpdateType.js.map +1 -1
  603. package/lib/typeorm/metadata/types/PropertyTypeInFunction.js.map +1 -1
  604. package/lib/typeorm/metadata/types/RelationTypeInFunction.js.map +1 -1
  605. package/lib/typeorm/metadata/types/RelationTypes.js.map +1 -1
  606. package/lib/typeorm/metadata/types/TableTypes.js.map +1 -1
  607. package/lib/typeorm/metadata/types/TreeTypes.js.map +1 -1
  608. package/lib/typeorm/metadata-args/CheckMetadataArgs.js.map +1 -1
  609. package/lib/typeorm/metadata-args/ColumnMetadataArgs.js.map +1 -1
  610. package/lib/typeorm/metadata-args/DiscriminatorValueMetadataArgs.js.map +1 -1
  611. package/lib/typeorm/metadata-args/EmbeddedMetadataArgs.js.map +1 -1
  612. package/lib/typeorm/metadata-args/EntityListenerMetadataArgs.js.map +1 -1
  613. package/lib/typeorm/metadata-args/EntityRepositoryMetadataArgs.js.map +1 -1
  614. package/lib/typeorm/metadata-args/EntitySubscriberMetadataArgs.js.map +1 -1
  615. package/lib/typeorm/metadata-args/ExclusionMetadataArgs.js.map +1 -1
  616. package/lib/typeorm/metadata-args/GeneratedMetadataArgs.js.map +1 -1
  617. package/lib/typeorm/metadata-args/IndexMetadataArgs.js.map +1 -1
  618. package/lib/typeorm/metadata-args/InheritanceMetadataArgs.js.map +1 -1
  619. package/lib/typeorm/metadata-args/JoinColumnMetadataArgs.js.map +1 -1
  620. package/lib/typeorm/metadata-args/JoinTableMetadataArgs.js.map +1 -1
  621. package/lib/typeorm/metadata-args/MetadataArgsStorage.js +108 -113
  622. package/lib/typeorm/metadata-args/MetadataArgsStorage.js.map +1 -1
  623. package/lib/typeorm/metadata-args/NamingStrategyMetadataArgs.js.map +1 -1
  624. package/lib/typeorm/metadata-args/RelationCountMetadataArgs.js.map +1 -1
  625. package/lib/typeorm/metadata-args/RelationIdMetadataArgs.js.map +1 -1
  626. package/lib/typeorm/metadata-args/RelationMetadataArgs.js.map +1 -1
  627. package/lib/typeorm/metadata-args/TableMetadataArgs.js.map +1 -1
  628. package/lib/typeorm/metadata-args/TransactionEntityMetadataArgs.js.map +1 -1
  629. package/lib/typeorm/metadata-args/TransactionRepositoryMetadataArgs.js.map +1 -1
  630. package/lib/typeorm/metadata-args/TreeMetadataArgs.js.map +1 -1
  631. package/lib/typeorm/metadata-args/UniqueMetadataArgs.js.map +1 -1
  632. package/lib/typeorm/metadata-args/types/ColumnMode.js.map +1 -1
  633. package/lib/typeorm/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +14 -15
  634. package/lib/typeorm/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  635. package/lib/typeorm/metadata-builder/EntityMetadataBuilder.js +291 -347
  636. package/lib/typeorm/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  637. package/lib/typeorm/metadata-builder/EntityMetadataValidator.js +63 -77
  638. package/lib/typeorm/metadata-builder/EntityMetadataValidator.js.map +1 -1
  639. package/lib/typeorm/metadata-builder/JunctionEntityMetadataBuilder.js +64 -69
  640. package/lib/typeorm/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  641. package/lib/typeorm/metadata-builder/MetadataUtils.js +12 -15
  642. package/lib/typeorm/metadata-builder/MetadataUtils.js.map +1 -1
  643. package/lib/typeorm/metadata-builder/RelationJoinColumnBuilder.js +43 -49
  644. package/lib/typeorm/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  645. package/lib/typeorm/migration/Migration.js +23 -4
  646. package/lib/typeorm/migration/Migration.js.map +1 -1
  647. package/lib/typeorm/migration/MigrationExecutor.js +432 -691
  648. package/lib/typeorm/migration/MigrationExecutor.js.map +1 -1
  649. package/lib/typeorm/migration/MigrationInterface.js.map +1 -1
  650. package/lib/typeorm/naming-strategy/DefaultNamingStrategy.js +80 -84
  651. package/lib/typeorm/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  652. package/lib/typeorm/naming-strategy/NamingStrategyInterface.js.map +1 -1
  653. package/lib/typeorm/persistence/EntityPersistExecutor.js +154 -212
  654. package/lib/typeorm/persistence/EntityPersistExecutor.js.map +1 -1
  655. package/lib/typeorm/persistence/Subject.js +162 -149
  656. package/lib/typeorm/persistence/Subject.js.map +1 -1
  657. package/lib/typeorm/persistence/SubjectChangeMap.js.map +1 -1
  658. package/lib/typeorm/persistence/SubjectChangedColumnsComputer.js +29 -35
  659. package/lib/typeorm/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  660. package/lib/typeorm/persistence/SubjectDatabaseEntityLoader.js +99 -130
  661. package/lib/typeorm/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  662. package/lib/typeorm/persistence/SubjectExecutor.js +635 -879
  663. package/lib/typeorm/persistence/SubjectExecutor.js.map +1 -1
  664. package/lib/typeorm/persistence/SubjectTopoligicalSorter.js +62 -58
  665. package/lib/typeorm/persistence/SubjectTopoligicalSorter.js.map +1 -1
  666. package/lib/typeorm/persistence/subject-builder/CascadesSubjectBuilder.js +16 -19
  667. package/lib/typeorm/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  668. package/lib/typeorm/persistence/subject-builder/ManyToManySubjectBuilder.js +50 -53
  669. package/lib/typeorm/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  670. package/lib/typeorm/persistence/subject-builder/OneToManySubjectBuilder.js +28 -33
  671. package/lib/typeorm/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  672. package/lib/typeorm/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +19 -20
  673. package/lib/typeorm/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
  674. package/lib/typeorm/persistence/tree/ClosureSubjectExecutor.js +202 -271
  675. package/lib/typeorm/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  676. package/lib/typeorm/persistence/tree/MaterializedPathSubjectExecutor.js +79 -121
  677. package/lib/typeorm/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  678. package/lib/typeorm/persistence/tree/NestedSetSubjectExecutor.js +220 -353
  679. package/lib/typeorm/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
  680. package/lib/typeorm/platform/PlatformTools.js +66 -78
  681. package/lib/typeorm/platform/PlatformTools.js.map +1 -1
  682. package/lib/typeorm/query-builder/Alias.js +31 -32
  683. package/lib/typeorm/query-builder/Alias.js.map +1 -1
  684. package/lib/typeorm/query-builder/Brackets.js +8 -5
  685. package/lib/typeorm/query-builder/Brackets.js.map +1 -1
  686. package/lib/typeorm/query-builder/DeleteQueryBuilder.js +96 -120
  687. package/lib/typeorm/query-builder/DeleteQueryBuilder.js.map +1 -1
  688. package/lib/typeorm/query-builder/InsertOrUpdateOptions.js.map +1 -1
  689. package/lib/typeorm/query-builder/InsertQueryBuilder.js +321 -367
  690. package/lib/typeorm/query-builder/InsertQueryBuilder.js.map +1 -1
  691. package/lib/typeorm/query-builder/JoinAttribute.js +175 -206
  692. package/lib/typeorm/query-builder/JoinAttribute.js.map +1 -1
  693. package/lib/typeorm/query-builder/JoinOptions.js.map +1 -1
  694. package/lib/typeorm/query-builder/NotBrackets.js +4 -11
  695. package/lib/typeorm/query-builder/NotBrackets.js.map +1 -1
  696. package/lib/typeorm/query-builder/QueryBuilder.js +400 -646
  697. package/lib/typeorm/query-builder/QueryBuilder.js.map +1 -1
  698. package/lib/typeorm/query-builder/QueryBuilderCte.js.map +1 -1
  699. package/lib/typeorm/query-builder/QueryBuilderUtils.js +5 -9
  700. package/lib/typeorm/query-builder/QueryBuilderUtils.js.map +1 -1
  701. package/lib/typeorm/query-builder/QueryExpressionMap.js +304 -233
  702. package/lib/typeorm/query-builder/QueryExpressionMap.js.map +1 -1
  703. package/lib/typeorm/query-builder/QueryPartialEntity.js.map +1 -1
  704. package/lib/typeorm/query-builder/RelationIdLoader.js +166 -189
  705. package/lib/typeorm/query-builder/RelationIdLoader.js.map +1 -1
  706. package/lib/typeorm/query-builder/RelationLoader.js +81 -94
  707. package/lib/typeorm/query-builder/RelationLoader.js.map +1 -1
  708. package/lib/typeorm/query-builder/RelationQueryBuilder.js +91 -127
  709. package/lib/typeorm/query-builder/RelationQueryBuilder.js.map +1 -1
  710. package/lib/typeorm/query-builder/RelationRemover.js +121 -124
  711. package/lib/typeorm/query-builder/RelationRemover.js.map +1 -1
  712. package/lib/typeorm/query-builder/RelationUpdater.js +130 -148
  713. package/lib/typeorm/query-builder/RelationUpdater.js.map +1 -1
  714. package/lib/typeorm/query-builder/ReturningResultsEntityUpdator.js +131 -159
  715. package/lib/typeorm/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  716. package/lib/typeorm/query-builder/SelectQuery.js.map +1 -1
  717. package/lib/typeorm/query-builder/SelectQueryBuilder.js +955 -1211
  718. package/lib/typeorm/query-builder/SelectQueryBuilder.js.map +1 -1
  719. package/lib/typeorm/query-builder/SelectQueryBuilderOption.js.map +1 -1
  720. package/lib/typeorm/query-builder/SoftDeleteQueryBuilder.js +155 -194
  721. package/lib/typeorm/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  722. package/lib/typeorm/query-builder/UpdateQueryBuilder.js +204 -246
  723. package/lib/typeorm/query-builder/UpdateQueryBuilder.js.map +1 -1
  724. package/lib/typeorm/query-builder/WhereClause.js.map +1 -1
  725. package/lib/typeorm/query-builder/WhereExpressionBuilder.js.map +1 -1
  726. package/lib/typeorm/query-builder/relation-count/RelationCountAttribute.js +85 -98
  727. package/lib/typeorm/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
  728. package/lib/typeorm/query-builder/relation-count/RelationCountLoadResult.js.map +1 -1
  729. package/lib/typeorm/query-builder/relation-count/RelationCountLoader.js +153 -172
  730. package/lib/typeorm/query-builder/relation-count/RelationCountLoader.js.map +1 -1
  731. package/lib/typeorm/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js +16 -17
  732. package/lib/typeorm/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +1 -1
  733. package/lib/typeorm/query-builder/relation-id/RelationIdAttribute.js +93 -107
  734. package/lib/typeorm/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  735. package/lib/typeorm/query-builder/relation-id/RelationIdLoadResult.js.map +1 -1
  736. package/lib/typeorm/query-builder/relation-id/RelationIdLoader.js +259 -267
  737. package/lib/typeorm/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  738. package/lib/typeorm/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js +16 -17
  739. package/lib/typeorm/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
  740. package/lib/typeorm/query-builder/result/DeleteResult.js +14 -8
  741. package/lib/typeorm/query-builder/result/DeleteResult.js.map +1 -1
  742. package/lib/typeorm/query-builder/result/InsertResult.js +19 -18
  743. package/lib/typeorm/query-builder/result/InsertResult.js.map +1 -1
  744. package/lib/typeorm/query-builder/result/UpdateResult.js +24 -18
  745. package/lib/typeorm/query-builder/result/UpdateResult.js.map +1 -1
  746. package/lib/typeorm/query-builder/transformer/DocumentToEntityTransformer.js +24 -26
  747. package/lib/typeorm/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
  748. package/lib/typeorm/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +77 -112
  749. package/lib/typeorm/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  750. package/lib/typeorm/query-builder/transformer/PlainObjectToNewEntityTransformer.js +16 -22
  751. package/lib/typeorm/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
  752. package/lib/typeorm/query-builder/transformer/RawSqlResultsToEntityTransformer.js +117 -132
  753. package/lib/typeorm/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  754. package/lib/typeorm/query-runner/BaseQueryRunner.js +227 -393
  755. package/lib/typeorm/query-runner/BaseQueryRunner.js.map +1 -1
  756. package/lib/typeorm/query-runner/QueryLock.js +19 -32
  757. package/lib/typeorm/query-runner/QueryLock.js.map +1 -1
  758. package/lib/typeorm/query-runner/QueryResult.js +14 -9
  759. package/lib/typeorm/query-runner/QueryResult.js.map +1 -1
  760. package/lib/typeorm/query-runner/QueryRunner.js.map +1 -1
  761. package/lib/typeorm/repository/AbstractRepository.js +46 -50
  762. package/lib/typeorm/repository/AbstractRepository.js.map +1 -1
  763. package/lib/typeorm/repository/BaseEntity.js +106 -123
  764. package/lib/typeorm/repository/BaseEntity.js.map +1 -1
  765. package/lib/typeorm/repository/EntityId.js.map +1 -1
  766. package/lib/typeorm/repository/FindTreesOptions.js.map +1 -1
  767. package/lib/typeorm/repository/MongoRepository.js +109 -135
  768. package/lib/typeorm/repository/MongoRepository.js.map +1 -1
  769. package/lib/typeorm/repository/RemoveOptions.js.map +1 -1
  770. package/lib/typeorm/repository/Repository.js +108 -140
  771. package/lib/typeorm/repository/Repository.js.map +1 -1
  772. package/lib/typeorm/repository/SaveOptions.js.map +1 -1
  773. package/lib/typeorm/repository/TreeRepository.js +107 -154
  774. package/lib/typeorm/repository/TreeRepository.js.map +1 -1
  775. package/lib/typeorm/repository/UpsertOptions.js.map +1 -1
  776. package/lib/typeorm/schema-builder/MongoSchemaBuilder.js +30 -42
  777. package/lib/typeorm/schema-builder/MongoSchemaBuilder.js.map +1 -1
  778. package/lib/typeorm/schema-builder/RdbmsSchemaBuilder.js +727 -1938
  779. package/lib/typeorm/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  780. package/lib/typeorm/schema-builder/SchemaBuilder.js.map +1 -1
  781. package/lib/typeorm/schema-builder/options/TableCheckOptions.js.map +1 -1
  782. package/lib/typeorm/schema-builder/options/TableColumnOptions.js.map +1 -1
  783. package/lib/typeorm/schema-builder/options/TableExclusionOptions.js.map +1 -1
  784. package/lib/typeorm/schema-builder/options/TableForeignKeyOptions.js.map +1 -1
  785. package/lib/typeorm/schema-builder/options/TableIndexOptions.js.map +1 -1
  786. package/lib/typeorm/schema-builder/options/TableOptions.js.map +1 -1
  787. package/lib/typeorm/schema-builder/options/TableUniqueOptions.js.map +1 -1
  788. package/lib/typeorm/schema-builder/options/ViewOptions.js.map +1 -1
  789. package/lib/typeorm/schema-builder/table/Table.js +160 -157
  790. package/lib/typeorm/schema-builder/table/Table.js.map +1 -1
  791. package/lib/typeorm/schema-builder/table/TableCheck.js +24 -15
  792. package/lib/typeorm/schema-builder/table/TableCheck.js.map +1 -1
  793. package/lib/typeorm/schema-builder/table/TableColumn.js +123 -41
  794. package/lib/typeorm/schema-builder/table/TableColumn.js.map +1 -1
  795. package/lib/typeorm/schema-builder/table/TableExclusion.js +19 -9
  796. package/lib/typeorm/schema-builder/table/TableExclusion.js.map +1 -1
  797. package/lib/typeorm/schema-builder/table/TableForeignKey.js +52 -20
  798. package/lib/typeorm/schema-builder/table/TableForeignKey.js.map +1 -1
  799. package/lib/typeorm/schema-builder/table/TableIndex.js +52 -16
  800. package/lib/typeorm/schema-builder/table/TableIndex.js.map +1 -1
  801. package/lib/typeorm/schema-builder/table/TableUnique.js +26 -16
  802. package/lib/typeorm/schema-builder/table/TableUnique.js.map +1 -1
  803. package/lib/typeorm/schema-builder/util/TableUtils.js +5 -8
  804. package/lib/typeorm/schema-builder/util/TableUtils.js.map +1 -1
  805. package/lib/typeorm/schema-builder/util/ViewUtils.js +4 -7
  806. package/lib/typeorm/schema-builder/util/ViewUtils.js.map +1 -1
  807. package/lib/typeorm/schema-builder/view/View.js +32 -10
  808. package/lib/typeorm/schema-builder/view/View.js.map +1 -1
  809. package/lib/typeorm/subscriber/Broadcaster.js +180 -216
  810. package/lib/typeorm/subscriber/Broadcaster.js.map +1 -1
  811. package/lib/typeorm/subscriber/BroadcasterResult.js +16 -29
  812. package/lib/typeorm/subscriber/BroadcasterResult.js.map +1 -1
  813. package/lib/typeorm/subscriber/EntitySubscriberInterface.js.map +1 -1
  814. package/lib/typeorm/subscriber/event/InsertEvent.js.map +1 -1
  815. package/lib/typeorm/subscriber/event/LoadEvent.js.map +1 -1
  816. package/lib/typeorm/subscriber/event/RecoverEvent.js.map +1 -1
  817. package/lib/typeorm/subscriber/event/RemoveEvent.js.map +1 -1
  818. package/lib/typeorm/subscriber/event/SoftRemoveEvent.js.map +1 -1
  819. package/lib/typeorm/subscriber/event/TransactionCommitEvent.js.map +1 -1
  820. package/lib/typeorm/subscriber/event/TransactionRollbackEvent.js.map +1 -1
  821. package/lib/typeorm/subscriber/event/TransactionStartEvent.js.map +1 -1
  822. package/lib/typeorm/subscriber/event/UpdateEvent.js.map +1 -1
  823. package/lib/typeorm/util/ApplyValueTransformers.js +9 -12
  824. package/lib/typeorm/util/ApplyValueTransformers.js.map +1 -1
  825. package/lib/typeorm/util/DateUtils.js +44 -53
  826. package/lib/typeorm/util/DateUtils.js.map +1 -1
  827. package/lib/typeorm/util/DepGraph.js +50 -53
  828. package/lib/typeorm/util/DepGraph.js.map +1 -1
  829. package/lib/typeorm/util/DirectoryExportedClassesLoader.js +48 -70
  830. package/lib/typeorm/util/DirectoryExportedClassesLoader.js.map +1 -1
  831. package/lib/typeorm/util/ImportUtils.js +43 -65
  832. package/lib/typeorm/util/ImportUtils.js.map +1 -1
  833. package/lib/typeorm/util/InstanceChecker.js +64 -67
  834. package/lib/typeorm/util/InstanceChecker.js.map +1 -1
  835. package/lib/typeorm/util/ObjectUtils.js +13 -42
  836. package/lib/typeorm/util/ObjectUtils.js.map +1 -1
  837. package/lib/typeorm/util/OrmUtils.js +91 -158
  838. package/lib/typeorm/util/OrmUtils.js.map +1 -1
  839. package/lib/typeorm/util/PathUtils.js +8 -8
  840. package/lib/typeorm/util/PathUtils.js.map +1 -1
  841. package/lib/typeorm/util/RandomGenerator.js +22 -25
  842. package/lib/typeorm/util/RandomGenerator.js.map +1 -1
  843. package/lib/typeorm/util/StringUtils.js +17 -21
  844. package/lib/typeorm/util/StringUtils.js.map +1 -1
  845. package/lib/typeorm/util/TreeRepositoryUtils.js +27 -30
  846. package/lib/typeorm/util/TreeRepositoryUtils.js.map +1 -1
  847. package/lib/typeorm/util/VersionUtils.js +9 -13
  848. package/lib/typeorm/util/VersionUtils.js.map +1 -1
  849. package/lib/typeorm/util/escapeRegExp.js +2 -2
  850. package/lib/typeorm/util/escapeRegExp.js.map +1 -1
  851. package/migrations/index.js +15 -2
  852. package/migrations/index.js.map +1 -1
  853. package/migrations/migrations_index._auto-generated_.d.ts +1 -0
  854. package/migrations/migrations_index._auto-generated_.js.map +1 -1
  855. package/package.json +8 -44
  856. package/src.d.ts +1 -1
  857. package/taon.jsonc +7 -34
  858. package/tmp-environment.json +8 -370
  859. package/websql/README.md +24 -24
  860. package/websql/esm2022/lib/typeorm/driver/cordova/CordovaDriver.mjs +1 -1
  861. package/websql/esm2022/lib/typeorm/driver/cordova/CordovaQueryRunner.mjs +1 -1
  862. package/websql/esm2022/lib/typeorm/driver/nativescript/NativescriptDriver.mjs +1 -1
  863. package/websql/esm2022/lib/typeorm/driver/nativescript/NativescriptQueryRunner.mjs +1 -1
  864. package/websql/esm2022/lib/typeorm/driver/react-native/ReactNativeDriver.mjs +1 -1
  865. package/websql/esm2022/lib/typeorm/driver/react-native/ReactNativeQueryRunner.mjs +1 -1
  866. package/websql/esm2022/lib/typeorm/driver/sqljs/SqljsDriver.mjs +1 -1
  867. package/websql/esm2022/lib/typeorm/driver/sqljs/SqljsQueryRunner.mjs +1 -1
  868. package/websql/esm2022/lib/typeorm/index.mjs +1 -3
  869. package/websql/fesm2022/taon-typeorm.mjs.map +1 -1
  870. package/browser/package.json +0 -25
  871. package/websql/package.json +0 -25
package/client/README.md CHANGED
@@ -1,24 +1,24 @@
1
- # MyLib
2
-
3
- This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
4
-
5
- ## Code scaffolding
6
-
7
- Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
8
- > Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file.
9
-
10
- ## Build
11
-
12
- Run `ng build my-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
13
-
14
- ## Publishing
15
-
16
- After building your library with `ng build my-lib`, go to the dist folder `cd dist/my-lib` and run `npm publish`.
17
-
18
- ## Running unit tests
19
-
20
- Run `ng test my-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
-
22
- ## Further help
23
-
24
- To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
1
+ # MyLib
2
+
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
4
+
5
+ ## Code scaffolding
6
+
7
+ Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
8
+ > Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file.
9
+
10
+ ## Build
11
+
12
+ Run `ng build my-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
13
+
14
+ ## Publishing
15
+
16
+ After building your library with `ng build my-lib`, go to the dist folder `cd dist/my-lib` and run `npm publish`.
17
+
18
+ ## Running unit tests
19
+
20
+ Run `ng test my-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
+
22
+ ## Further help
23
+
24
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
@@ -60,4 +60,4 @@ export class CordovaDriver extends AbstractSqliteDriver {
60
60
  }
61
61
  ;
62
62
  ({}); // @--end-of-file-for-module=taon-typeorm lib/typeorm/driver/cordova/CordovaDriver.ts
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29yZG92YURyaXZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3Rhb24tdHlwZW9ybS9wcm9qZWN0cy90YW9uLXR5cGVvcm0vc3JjL2xpYi90eXBlb3JtL2RyaXZlci9jb3Jkb3ZhL0NvcmRvdmFEcml2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFFOUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFHekQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDN0UsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNENBQTRDLENBQUE7QUFVM0YsTUFBTSxPQUFPLGFBQWMsU0FBUSxvQkFBb0I7SUFPbkQsWUFBWSxVQUFzQjtRQUM5QixLQUFLLENBQUMsVUFBVSxDQUFDLENBQUE7UUFJakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQTtRQUdyQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRO1lBQ3RCLE1BQU0sSUFBSSx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUVqRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRO1lBQ3RCLE1BQU0sSUFBSSx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUdqRCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtJQUMzQixDQUFDO0lBTUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsVUFBVTtRQUNaLElBQUksQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFBO1FBRTVCLE9BQU8sSUFBSSxPQUFPLENBQU8sQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDbEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDM0MsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSCxpQkFBaUIsQ0FBQyxJQUFxQjtRQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVc7WUFBRSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUE7UUFFdEUsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFBO0lBQzNCLENBQUM7SUFNRDs7T0FFRztJQUNPLEtBQUssQ0FBQyx3QkFBd0I7UUFDcEMsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FDekIsRUFBRSxFQUNGO1lBQ0ksSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUTtZQUMzQixRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRO1NBQ2xDLEVBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUMzQixDQUFBO1FBRUQsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLE9BQU8sQ0FBTSxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ2xELElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDL0QsQ0FBQyxDQUFDLENBQUE7UUFFRixNQUFNLElBQUksT0FBTyxDQUFPLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFO1lBR2pDLFVBQVUsQ0FBQyxVQUFVLENBQ2pCLDBCQUEwQixFQUMxQixFQUFFLEVBQ0YsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQ1YsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FDMUIsQ0FBQTtRQUNMLENBQUMsQ0FBQyxDQUFBO1FBRUYsT0FBTyxVQUFVLENBQUE7SUFDckIsQ0FBQztJQUVEOztPQUVHO0lBQ08sZ0JBQWdCO1FBQ3RCLElBQUksQ0FBQztZQUNELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUE7WUFDekQsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7UUFDeEIsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDVCxNQUFNLElBQUksOEJBQThCLENBQ3BDLGdCQUFnQixFQUNoQix3QkFBd0IsQ0FDM0IsQ0FBQTtRQUNMLENBQUM7SUFDTCxDQUFDO0NBQ0o7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHFGQUFxRiIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBBYnN0cmFjdFNxbGl0ZURyaXZlciB9IGZyb20gXCIuLi9zcWxpdGUtYWJzdHJhY3QvQWJzdHJhY3RTcWxpdGVEcml2ZXJcIlxuaW1wb3J0IHsgQ29yZG92YUNvbm5lY3Rpb25PcHRpb25zIH0gZnJvbSBcIi4vQ29yZG92YUNvbm5lY3Rpb25PcHRpb25zXCJcbmltcG9ydCB7IENvcmRvdmFRdWVyeVJ1bm5lciB9IGZyb20gXCIuL0NvcmRvdmFRdWVyeVJ1bm5lclwiXG5pbXBvcnQgeyBRdWVyeVJ1bm5lciB9IGZyb20gXCIuLi8uLi9xdWVyeS1ydW5uZXIvUXVlcnlSdW5uZXJcIlxuaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gXCIuLi8uLi9kYXRhLXNvdXJjZS9EYXRhU291cmNlXCJcbmltcG9ydCB7IERyaXZlck9wdGlvbk5vdFNldEVycm9yIH0gZnJvbSBcIi4uLy4uL2Vycm9yL0RyaXZlck9wdGlvbk5vdFNldEVycm9yXCJcbmltcG9ydCB7IERyaXZlclBhY2thZ2VOb3RJbnN0YWxsZWRFcnJvciB9IGZyb20gXCIuLi8uLi9lcnJvci9Ecml2ZXJQYWNrYWdlTm90SW5zdGFsbGVkRXJyb3JcIlxuaW1wb3J0IHsgUmVwbGljYXRpb25Nb2RlIH0gZnJvbSBcIi4uL3R5cGVzL1JlcGxpY2F0aW9uTW9kZVwiXG5cblxuaW50ZXJmYWNlIFdpbmRvdyB7XG4gICAgc3FsaXRlUGx1Z2luOiBhbnlcbn1cblxuZGVjbGFyZSBsZXQgd2luZG93OiBXaW5kb3dcblxuZXhwb3J0IGNsYXNzIENvcmRvdmFEcml2ZXIgZXh0ZW5kcyBBYnN0cmFjdFNxbGl0ZURyaXZlciB7XG4gICAgb3B0aW9uczogQ29yZG92YUNvbm5lY3Rpb25PcHRpb25zXG5cblxuXG5cblxuICAgIGNvbnN0cnVjdG9yKGNvbm5lY3Rpb246IERhdGFTb3VyY2UpIHtcbiAgICAgICAgc3VwZXIoY29ubmVjdGlvbilcblxuXG5cbiAgICAgICAgdGhpcy5kYXRhYmFzZSA9IHRoaXMub3B0aW9ucy5kYXRhYmFzZVxuXG5cbiAgICAgICAgaWYgKCF0aGlzLm9wdGlvbnMuZGF0YWJhc2UpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRHJpdmVyT3B0aW9uTm90U2V0RXJyb3IoXCJkYXRhYmFzZVwiKVxuXG4gICAgICAgIGlmICghdGhpcy5vcHRpb25zLmxvY2F0aW9uKVxuICAgICAgICAgICAgdGhyb3cgbmV3IERyaXZlck9wdGlvbk5vdFNldEVycm9yKFwibG9jYXRpb25cIilcblxuXG4gICAgICAgIHRoaXMubG9hZERlcGVuZGVuY2llcygpXG4gICAgfVxuXG5cblxuXG5cbiAgICAvKipcbiAgICAgKiBDbG9zZXMgY29ubmVjdGlvbiB3aXRoIGRhdGFiYXNlLlxuICAgICAqL1xuICAgIGFzeW5jIGRpc2Nvbm5lY3QoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRoaXMucXVlcnlSdW5uZXIgPSB1bmRlZmluZWRcblxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKG9rLCBmYWlsKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRhdGFiYXNlQ29ubmVjdGlvbi5jbG9zZShvaywgZmFpbClcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgcXVlcnkgcnVubmVyIHVzZWQgdG8gZXhlY3V0ZSBkYXRhYmFzZSBxdWVyaWVzLlxuICAgICAqL1xuICAgIGNyZWF0ZVF1ZXJ5UnVubmVyKG1vZGU6IFJlcGxpY2F0aW9uTW9kZSk6IFF1ZXJ5UnVubmVyIHtcbiAgICAgICAgaWYgKCF0aGlzLnF1ZXJ5UnVubmVyKSB0aGlzLnF1ZXJ5UnVubmVyID0gbmV3IENvcmRvdmFRdWVyeVJ1bm5lcih0aGlzKVxuXG4gICAgICAgIHJldHVybiB0aGlzLnF1ZXJ5UnVubmVyXG4gICAgfVxuXG5cblxuXG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGNvbm5lY3Rpb24gd2l0aCB0aGUgZGF0YWJhc2UuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFzeW5jIGNyZWF0ZURhdGFiYXNlQ29ubmVjdGlvbigpIHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oXG4gICAgICAgICAgICB7fSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiB0aGlzLm9wdGlvbnMuZGF0YWJhc2UsXG4gICAgICAgICAgICAgICAgbG9jYXRpb246IHRoaXMub3B0aW9ucy5sb2NhdGlvbixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMuZXh0cmEgfHwge30sXG4gICAgICAgIClcblxuICAgICAgICBjb25zdCBjb25uZWN0aW9uID0gYXdhaXQgbmV3IFByb21pc2U8YW55PigocmVzb2x2ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zcWxpdGUub3BlbkRhdGFiYXNlKG9wdGlvbnMsIChkYjogYW55KSA9PiByZXNvbHZlKGRiKSlcbiAgICAgICAgfSlcblxuICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZTx2b2lkPigob2ssIGZhaWwpID0+IHtcblxuXG4gICAgICAgICAgICBjb25uZWN0aW9uLmV4ZWN1dGVTcWwoXG4gICAgICAgICAgICAgICAgYFBSQUdNQSBmb3JlaWduX2tleXMgPSBPTmAsXG4gICAgICAgICAgICAgICAgW10sXG4gICAgICAgICAgICAgICAgKCkgPT4gb2soKSxcbiAgICAgICAgICAgICAgICAoZXJyOiBhbnkpID0+IGZhaWwoZXJyKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgfSlcblxuICAgICAgICByZXR1cm4gY29ubmVjdGlvblxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIElmIGRyaXZlciBkZXBlbmRlbmN5IGlzIG5vdCBnaXZlbiBleHBsaWNpdGx5LCB0aGVuIHRyeSB0byBsb2FkIGl0IHZpYSBcInJlcXVpcmVcIi5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgbG9hZERlcGVuZGVuY2llcygpOiB2b2lkIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHNxbGl0ZSA9IHRoaXMub3B0aW9ucy5kcml2ZXIgfHwgd2luZG93LnNxbGl0ZVBsdWdpblxuICAgICAgICAgICAgdGhpcy5zcWxpdGUgPSBzcWxpdGVcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IERyaXZlclBhY2thZ2VOb3RJbnN0YWxsZWRFcnJvcihcbiAgICAgICAgICAgICAgICBcIkNvcmRvdmEtU1FMaXRlXCIsXG4gICAgICAgICAgICAgICAgXCJjb3Jkb3ZhLXNxbGl0ZS1zdG9yYWdlXCIsXG4gICAgICAgICAgICApXG4gICAgICAgIH1cbiAgICB9XG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10YW9uLXR5cGVvcm0gbGliL3R5cGVvcm0vZHJpdmVyL2NvcmRvdmEvQ29yZG92YURyaXZlci50cyJdfQ==
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29yZG92YURyaXZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3Rhb24tdHlwZW9ybS9wcm9qZWN0cy90YW9uLXR5cGVvcm0vc3JjL2xpYi90eXBlb3JtL2RyaXZlci9jb3Jkb3ZhL0NvcmRvdmFEcml2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFFOUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFHekQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDN0UsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNENBQTRDLENBQUE7QUFVM0YsTUFBTSxPQUFPLGFBQWMsU0FBUSxvQkFBb0I7SUFPbkQsWUFBWSxVQUFzQjtRQUM5QixLQUFLLENBQUMsVUFBVSxDQUFDLENBQUE7UUFJakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQTtRQUdyQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRO1lBQ3RCLE1BQU0sSUFBSSx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUVqRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRO1lBQ3RCLE1BQU0sSUFBSSx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUdqRCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtJQUMzQixDQUFDO0lBTUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsVUFBVTtRQUNaLElBQUksQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFBO1FBRTVCLE9BQU8sSUFBSSxPQUFPLENBQU8sQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDbEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDM0MsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSCxpQkFBaUIsQ0FBQyxJQUFxQjtRQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVc7WUFBRSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUE7UUFFdEUsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFBO0lBQzNCLENBQUM7SUFNRDs7T0FFRztJQUNPLEtBQUssQ0FBQyx3QkFBd0I7UUFDcEMsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FDekIsRUFBRSxFQUNGO1lBQ0ksSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUTtZQUMzQixRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRO1NBQ2xDLEVBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUMzQixDQUFBO1FBRUQsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLE9BQU8sQ0FBTSxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ2xELElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDL0QsQ0FBQyxDQUFDLENBQUE7UUFFRixNQUFNLElBQUksT0FBTyxDQUFPLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFO1lBR2pDLFVBQVUsQ0FBQyxVQUFVLENBQ2pCLDBCQUEwQixFQUMxQixFQUFFLEVBQ0YsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQ1YsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FDMUIsQ0FBQTtRQUNMLENBQUMsQ0FBQyxDQUFBO1FBRUYsT0FBTyxVQUFVLENBQUE7SUFDckIsQ0FBQztJQUVEOztPQUVHO0lBQ08sZ0JBQWdCO1FBQ3RCLElBQUksQ0FBQztZQUNELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUE7WUFDekQsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7UUFDeEIsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDVCxNQUFNLElBQUksOEJBQThCLENBQ3BDLGdCQUFnQixFQUNoQix3QkFBd0IsQ0FDM0IsQ0FBQTtRQUNMLENBQUM7SUFDTCxDQUFDO0NBQ0o7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHFGQUFxRiIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBBYnN0cmFjdFNxbGl0ZURyaXZlciB9IGZyb20gXCIuLi9zcWxpdGUtYWJzdHJhY3QvQWJzdHJhY3RTcWxpdGVEcml2ZXJcIlxuaW1wb3J0IHsgQ29yZG92YUNvbm5lY3Rpb25PcHRpb25zIH0gZnJvbSBcIi4vQ29yZG92YUNvbm5lY3Rpb25PcHRpb25zXCJcbmltcG9ydCB7IENvcmRvdmFRdWVyeVJ1bm5lciB9IGZyb20gXCIuL0NvcmRvdmFRdWVyeVJ1bm5lclwiXG5pbXBvcnQgeyBRdWVyeVJ1bm5lciB9IGZyb20gXCIuLi8uLi9xdWVyeS1ydW5uZXIvUXVlcnlSdW5uZXJcIlxuaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gXCIuLi8uLi9kYXRhLXNvdXJjZS9EYXRhU291cmNlXCJcbmltcG9ydCB7IERyaXZlck9wdGlvbk5vdFNldEVycm9yIH0gZnJvbSBcIi4uLy4uL2Vycm9yL0RyaXZlck9wdGlvbk5vdFNldEVycm9yXCJcbmltcG9ydCB7IERyaXZlclBhY2thZ2VOb3RJbnN0YWxsZWRFcnJvciB9IGZyb20gXCIuLi8uLi9lcnJvci9Ecml2ZXJQYWNrYWdlTm90SW5zdGFsbGVkRXJyb3JcIlxuaW1wb3J0IHsgUmVwbGljYXRpb25Nb2RlIH0gZnJvbSBcIi4uL3R5cGVzL1JlcGxpY2F0aW9uTW9kZVwiXG5cblxuaW50ZXJmYWNlIFdpbmRvdyB7XG4gICAgc3FsaXRlUGx1Z2luOiBhbnlcbn1cblxuZGVjbGFyZSBsZXQgd2luZG93OiBXaW5kb3dcblxuZXhwb3J0IGNsYXNzIENvcmRvdmFEcml2ZXIgZXh0ZW5kcyBBYnN0cmFjdFNxbGl0ZURyaXZlciB7XG4gICAgZGVjbGFyZSBvcHRpb25zOiBDb3Jkb3ZhQ29ubmVjdGlvbk9wdGlvbnNcblxuXG5cblxuXG4gICAgY29uc3RydWN0b3IoY29ubmVjdGlvbjogRGF0YVNvdXJjZSkge1xuICAgICAgICBzdXBlcihjb25uZWN0aW9uKVxuXG5cblxuICAgICAgICB0aGlzLmRhdGFiYXNlID0gdGhpcy5vcHRpb25zLmRhdGFiYXNlXG5cblxuICAgICAgICBpZiAoIXRoaXMub3B0aW9ucy5kYXRhYmFzZSlcbiAgICAgICAgICAgIHRocm93IG5ldyBEcml2ZXJPcHRpb25Ob3RTZXRFcnJvcihcImRhdGFiYXNlXCIpXG5cbiAgICAgICAgaWYgKCF0aGlzLm9wdGlvbnMubG9jYXRpb24pXG4gICAgICAgICAgICB0aHJvdyBuZXcgRHJpdmVyT3B0aW9uTm90U2V0RXJyb3IoXCJsb2NhdGlvblwiKVxuXG5cbiAgICAgICAgdGhpcy5sb2FkRGVwZW5kZW5jaWVzKClcbiAgICB9XG5cblxuXG5cblxuICAgIC8qKlxuICAgICAqIENsb3NlcyBjb25uZWN0aW9uIHdpdGggZGF0YWJhc2UuXG4gICAgICovXG4gICAgYXN5bmMgZGlzY29ubmVjdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdGhpcy5xdWVyeVJ1bm5lciA9IHVuZGVmaW5lZFxuXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigob2ssIGZhaWwpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZGF0YWJhc2VDb25uZWN0aW9uLmNsb3NlKG9rLCBmYWlsKVxuICAgICAgICB9KVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBxdWVyeSBydW5uZXIgdXNlZCB0byBleGVjdXRlIGRhdGFiYXNlIHF1ZXJpZXMuXG4gICAgICovXG4gICAgY3JlYXRlUXVlcnlSdW5uZXIobW9kZTogUmVwbGljYXRpb25Nb2RlKTogUXVlcnlSdW5uZXIge1xuICAgICAgICBpZiAoIXRoaXMucXVlcnlSdW5uZXIpIHRoaXMucXVlcnlSdW5uZXIgPSBuZXcgQ29yZG92YVF1ZXJ5UnVubmVyKHRoaXMpXG5cbiAgICAgICAgcmV0dXJuIHRoaXMucXVlcnlSdW5uZXJcbiAgICB9XG5cblxuXG5cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgY29ubmVjdGlvbiB3aXRoIHRoZSBkYXRhYmFzZS5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYXN5bmMgY3JlYXRlRGF0YWJhc2VDb25uZWN0aW9uKCkge1xuICAgICAgICBjb25zdCBvcHRpb25zID0gT2JqZWN0LmFzc2lnbihcbiAgICAgICAgICAgIHt9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6IHRoaXMub3B0aW9ucy5kYXRhYmFzZSxcbiAgICAgICAgICAgICAgICBsb2NhdGlvbjogdGhpcy5vcHRpb25zLmxvY2F0aW9uLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucy5leHRyYSB8fCB7fSxcbiAgICAgICAgKVxuXG4gICAgICAgIGNvbnN0IGNvbm5lY3Rpb24gPSBhd2FpdCBuZXcgUHJvbWlzZTxhbnk+KChyZXNvbHZlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNxbGl0ZS5vcGVuRGF0YWJhc2Uob3B0aW9ucywgKGRiOiBhbnkpID0+IHJlc29sdmUoZGIpKVxuICAgICAgICB9KVxuXG4gICAgICAgIGF3YWl0IG5ldyBQcm9taXNlPHZvaWQ+KChvaywgZmFpbCkgPT4ge1xuXG5cbiAgICAgICAgICAgIGNvbm5lY3Rpb24uZXhlY3V0ZVNxbChcbiAgICAgICAgICAgICAgICBgUFJBR01BIGZvcmVpZ25fa2V5cyA9IE9OYCxcbiAgICAgICAgICAgICAgICBbXSxcbiAgICAgICAgICAgICAgICAoKSA9PiBvaygpLFxuICAgICAgICAgICAgICAgIChlcnI6IGFueSkgPT4gZmFpbChlcnIpLFxuICAgICAgICAgICAgKVxuICAgICAgICB9KVxuXG4gICAgICAgIHJldHVybiBjb25uZWN0aW9uXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSWYgZHJpdmVyIGRlcGVuZGVuY3kgaXMgbm90IGdpdmVuIGV4cGxpY2l0bHksIHRoZW4gdHJ5IHRvIGxvYWQgaXQgdmlhIFwicmVxdWlyZVwiLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBsb2FkRGVwZW5kZW5jaWVzKCk6IHZvaWQge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3Qgc3FsaXRlID0gdGhpcy5vcHRpb25zLmRyaXZlciB8fCB3aW5kb3cuc3FsaXRlUGx1Z2luXG4gICAgICAgICAgICB0aGlzLnNxbGl0ZSA9IHNxbGl0ZVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRHJpdmVyUGFja2FnZU5vdEluc3RhbGxlZEVycm9yKFxuICAgICAgICAgICAgICAgIFwiQ29yZG92YS1TUUxpdGVcIixcbiAgICAgICAgICAgICAgICBcImNvcmRvdmEtc3FsaXRlLXN0b3JhZ2VcIixcbiAgICAgICAgICAgIClcbiAgICAgICAgfVxuICAgIH1cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRhb24tdHlwZW9ybSBsaWIvdHlwZW9ybS9kcml2ZXIvY29yZG92YS9Db3Jkb3ZhRHJpdmVyLnRzIl19
@@ -149,4 +149,4 @@ export class CordovaQueryRunner extends AbstractSqliteQueryRunner {
149
149
  }
150
150
  ;
151
151
  ({}); // @--end-of-file-for-module=taon-typeorm lib/typeorm/driver/cordova/CordovaQueryRunner.ts
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29yZG92YVF1ZXJ5UnVubmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdGFvbi10eXBlb3JtL3Byb2plY3RzL3Rhb24tdHlwZW9ybS9zcmMvbGliL3R5cGVvcm0vZHJpdmVyL2NvcmRvdmEvQ29yZG92YVF1ZXJ5UnVubmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFBO0FBQzdGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQy9ELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFBO0FBRXhGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUU1RDs7R0FFRztBQUNILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSx5QkFBeUI7SUFVN0QsWUFBWSxNQUFxQjtRQUM3QixLQUFLLEVBQUUsQ0FBQTtRQUNQLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFBO1FBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQTtRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzVDLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxlQUFlO1FBQ2pCLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFBO0lBQ2pELENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxjQUFjO1FBQ2hCLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFBO0lBQ2hELENBQUM7SUFF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RUc7SUFDTyxXQUFXLENBQ2pCLGFBQTRCLEVBQzVCLGFBQXFCLENBQUM7UUFFdEIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUE7SUFDNUUsQ0FBQztDQUNKO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQywwRkFBMEYiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgT2JqZWN0TGl0ZXJhbCB9IGZyb20gXCIuLi8uLi9jb21tb24vT2JqZWN0TGl0ZXJhbFwiXG5pbXBvcnQgeyBRdWVyeVJ1bm5lckFscmVhZHlSZWxlYXNlZEVycm9yIH0gZnJvbSBcIi4uLy4uL2Vycm9yL1F1ZXJ5UnVubmVyQWxyZWFkeVJlbGVhc2VkRXJyb3JcIlxuaW1wb3J0IHsgUXVlcnlGYWlsZWRFcnJvciB9IGZyb20gXCIuLi8uLi9lcnJvci9RdWVyeUZhaWxlZEVycm9yXCJcbmltcG9ydCB7IEFic3RyYWN0U3FsaXRlUXVlcnlSdW5uZXIgfSBmcm9tIFwiLi4vc3FsaXRlLWFic3RyYWN0L0Fic3RyYWN0U3FsaXRlUXVlcnlSdW5uZXJcIlxuaW1wb3J0IHsgQ29yZG92YURyaXZlciB9IGZyb20gXCIuL0NvcmRvdmFEcml2ZXJcIlxuaW1wb3J0IHsgQnJvYWRjYXN0ZXIgfSBmcm9tIFwiLi4vLi4vc3Vic2NyaWJlci9Ccm9hZGNhc3RlclwiXG5pbXBvcnQgeyBUeXBlT1JNRXJyb3IgfSBmcm9tIFwiLi4vLi4vZXJyb3JcIlxuaW1wb3J0IHsgUXVlcnlSZXN1bHQgfSBmcm9tIFwiLi4vLi4vcXVlcnktcnVubmVyL1F1ZXJ5UmVzdWx0XCJcblxuLyoqXG4gKiBSdW5zIHF1ZXJpZXMgb24gYSBzaW5nbGUgc3FsaXRlIGRhdGFiYXNlIGNvbm5lY3Rpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBDb3Jkb3ZhUXVlcnlSdW5uZXIgZXh0ZW5kcyBBYnN0cmFjdFNxbGl0ZVF1ZXJ5UnVubmVyIHtcbiAgICAvKipcbiAgICAgKiBEYXRhYmFzZSBkcml2ZXIgdXNlZCBieSBjb25uZWN0aW9uLlxuICAgICAqL1xuICAgIGRyaXZlcjogQ29yZG92YURyaXZlclxuXG5cblxuXG5cbiAgICBjb25zdHJ1Y3Rvcihkcml2ZXI6IENvcmRvdmFEcml2ZXIpIHtcbiAgICAgICAgc3VwZXIoKVxuICAgICAgICB0aGlzLmRyaXZlciA9IGRyaXZlclxuICAgICAgICB0aGlzLmNvbm5lY3Rpb24gPSBkcml2ZXIuY29ubmVjdGlvblxuICAgICAgICB0aGlzLmJyb2FkY2FzdGVyID0gbmV3IEJyb2FkY2FzdGVyKHRoaXMpXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsbGVkIGJlZm9yZSBtaWdyYXRpb25zIGFyZSBydW4uXG4gICAgICovXG4gICAgYXN5bmMgYmVmb3JlTWlncmF0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBhd2FpdCB0aGlzLnF1ZXJ5KGBQUkFHTUEgZm9yZWlnbl9rZXlzID0gT0ZGYClcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxsZWQgYWZ0ZXIgbWlncmF0aW9ucyBhcmUgcnVuLlxuICAgICAqL1xuICAgIGFzeW5jIGFmdGVyTWlncmF0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBhd2FpdCB0aGlzLnF1ZXJ5KGBQUkFHTUEgZm9yZWlnbl9rZXlzID0gT05gKVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGEgZ2l2ZW4gU1FMIHF1ZXJ5LlxuICAgICAqL1xuICAgIGFzeW5jIHF1ZXJ5KFxuICAgICAgICBxdWVyeTogc3RyaW5nLFxuICAgICAgICBwYXJhbWV0ZXJzPzogYW55W10sXG4gICAgICAgIHVzZVN0cnVjdHVyZWRSZXN1bHQgPSBmYWxzZSxcbiAgICApOiBQcm9taXNlPGFueT4ge1xuICAgICAgICBpZiAodGhpcy5pc1JlbGVhc2VkKSB0aHJvdyBuZXcgUXVlcnlSdW5uZXJBbHJlYWR5UmVsZWFzZWRFcnJvcigpXG5cbiAgICAgICAgY29uc3QgZGF0YWJhc2VDb25uZWN0aW9uID0gYXdhaXQgdGhpcy5jb25uZWN0KClcbiAgICAgICAgdGhpcy5kcml2ZXIuY29ubmVjdGlvbi5sb2dnZXIubG9nUXVlcnkocXVlcnksIHBhcmFtZXRlcnMsIHRoaXMpXG4gICAgICAgIGNvbnN0IHF1ZXJ5U3RhcnRUaW1lID0gK25ldyBEYXRlKClcblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcmF3ID0gYXdhaXQgbmV3IFByb21pc2U8YW55Pihhc3luYyAob2ssIGZhaWwpID0+IHtcbiAgICAgICAgICAgICAgICBkYXRhYmFzZUNvbm5lY3Rpb24uZXhlY3V0ZVNxbChcbiAgICAgICAgICAgICAgICAgICAgcXVlcnksXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnMsXG4gICAgICAgICAgICAgICAgICAgIChyYXc6IGFueSkgPT4gb2socmF3KSxcbiAgICAgICAgICAgICAgICAgICAgKGVycjogYW55KSA9PiBmYWlsKGVyciksXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfSlcblxuXG4gICAgICAgICAgICBjb25zdCBtYXhRdWVyeUV4ZWN1dGlvblRpbWUgPVxuICAgICAgICAgICAgICAgIHRoaXMuZHJpdmVyLm9wdGlvbnMubWF4UXVlcnlFeGVjdXRpb25UaW1lXG4gICAgICAgICAgICBjb25zdCBxdWVyeUVuZFRpbWUgPSArbmV3IERhdGUoKVxuICAgICAgICAgICAgY29uc3QgcXVlcnlFeGVjdXRpb25UaW1lID0gcXVlcnlFbmRUaW1lIC0gcXVlcnlTdGFydFRpbWVcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBtYXhRdWVyeUV4ZWN1dGlvblRpbWUgJiZcbiAgICAgICAgICAgICAgICBxdWVyeUV4ZWN1dGlvblRpbWUgPiBtYXhRdWVyeUV4ZWN1dGlvblRpbWVcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHRoaXMuZHJpdmVyLmNvbm5lY3Rpb24ubG9nZ2VyLmxvZ1F1ZXJ5U2xvdyhcbiAgICAgICAgICAgICAgICAgICAgcXVlcnlFeGVjdXRpb25UaW1lLFxuICAgICAgICAgICAgICAgICAgICBxdWVyeSxcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVycyxcbiAgICAgICAgICAgICAgICAgICAgdGhpcyxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBRdWVyeVJlc3VsdCgpXG5cbiAgICAgICAgICAgIGlmIChxdWVyeS5zdWJzdHIoMCwgMTEpID09PSBcIklOU0VSVCBJTlRPXCIpIHtcbiAgICAgICAgICAgICAgICByZXN1bHQucmF3ID0gcmF3Lmluc2VydElkXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGxldCByZXN1bHRTZXQgPSBbXVxuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmF3LnJvd3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0U2V0LnB1c2gocmF3LnJvd3MuaXRlbShpKSlcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXN1bHQucmVjb3JkcyA9IHJlc3VsdFNldFxuICAgICAgICAgICAgICAgIHJlc3VsdC5yYXcgPSByZXN1bHRTZXRcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHVzZVN0cnVjdHVyZWRSZXN1bHQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQucmF3XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgdGhpcy5kcml2ZXIuY29ubmVjdGlvbi5sb2dnZXIubG9nUXVlcnlFcnJvcihcbiAgICAgICAgICAgICAgICBlcnIsXG4gICAgICAgICAgICAgICAgcXVlcnksXG4gICAgICAgICAgICAgICAgcGFyYW1ldGVycyxcbiAgICAgICAgICAgICAgICB0aGlzLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgdGhyb3cgbmV3IFF1ZXJ5RmFpbGVkRXJyb3IocXVlcnksIHBhcmFtZXRlcnMsIGVycilcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEluc2VydCBhIG5ldyByb3cgd2l0aCBnaXZlbiB2YWx1ZXMgaW50byB0aGUgZ2l2ZW4gdGFibGUuXG4gICAgICogUmV0dXJucyB2YWx1ZSBvZiB0aGUgZ2VuZXJhdGVkIGNvbHVtbiBpZiBnaXZlbiBhbmQgZ2VuZXJhdGUgY29sdW1uIGV4aXN0IGluIHRoZSB0YWJsZS5cblxuICAgIGFzeW5jIGluc2VydCh0YWJsZU5hbWU6IHN0cmluZywga2V5VmFsdWVzOiBPYmplY3RMaXRlcmFsKTogUHJvbWlzZTxJbnNlcnRSZXN1bHQ+IHtcbiAgICAgICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKGtleVZhbHVlcyk7XG4gICAgICAgIGNvbnN0IGNvbHVtbnMgPSBrZXlzLm1hcChrZXkgPT4gYFwiJHtrZXl9XCJgKS5qb2luKFwiLCBcIik7XG4gICAgICAgIGNvbnN0IHZhbHVlcyA9IGtleXMubWFwKGtleSA9PiBcIj9cIikuam9pbihcIixcIik7XG4gICAgICAgIGNvbnN0IGdlbmVyYXRlZENvbHVtbnMgPSB0aGlzLmNvbm5lY3Rpb24uaGFzTWV0YWRhdGEodGFibGVOYW1lKSA/IHRoaXMuY29ubmVjdGlvbi5nZXRNZXRhZGF0YSh0YWJsZU5hbWUpLmdlbmVyYXRlZENvbHVtbnMgOiBbXTtcbiAgICAgICAgY29uc3Qgc3FsID0gY29sdW1ucy5sZW5ndGggPiAwID8gKGBJTlNFUlQgSU5UTyBcIiR7dGFibGVOYW1lfVwiKCR7Y29sdW1uc30pIFZBTFVFUyAoJHt2YWx1ZXN9KWApIDogYElOU0VSVCBJTlRPIFwiJHt0YWJsZU5hbWV9XCIgREVGQVVMVCBWQUxVRVNgO1xuICAgICAgICBjb25zdCBwYXJhbWV0ZXJzID0ga2V5cy5tYXAoa2V5ID0+IGtleVZhbHVlc1trZXldKTtcblxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8SW5zZXJ0UmVzdWx0Pihhc3luYyAob2ssIGZhaWwpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZHJpdmVyLmNvbm5lY3Rpb24ubG9nZ2VyLmxvZ1F1ZXJ5KHNxbCwgcGFyYW1ldGVycywgdGhpcyk7XG4gICAgICAgICAgICBjb25zdCBfX3RoaXMgPSB0aGlzO1xuICAgICAgICAgICAgY29uc3QgZGF0YWJhc2VDb25uZWN0aW9uID0gYXdhaXQgdGhpcy5jb25uZWN0KCk7XG4gICAgICAgICAgICBkYXRhYmFzZUNvbm5lY3Rpb24uZXhlY3V0ZVNxbChzcWwsIHBhcmFtZXRlcnMsIChyZXN1bHRTZXQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGdlbmVyYXRlZE1hcCA9IGdlbmVyYXRlZENvbHVtbnMucmVkdWNlKChtYXAsIGdlbmVyYXRlZENvbHVtbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGdlbmVyYXRlZENvbHVtbi5pc1ByaW1hcnkgJiYgZ2VuZXJhdGVkQ29sdW1uLmdlbmVyYXRpb25TdHJhdGVneSA9PT0gXCJpbmNyZW1lbnRcIiAmJiByZXN1bHRTZXQuaW5zZXJ0SWQgPyByZXN1bHRTZXQuaW5zZXJ0SWQgOiBrZXlWYWx1ZXNbZ2VuZXJhdGVkQ29sdW1uLmRhdGFiYXNlTmFtZV07XG4gICAgICAgICAgICAgICAgICAgIGlmICghdmFsdWUpIHJldHVybiBtYXA7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBPcm1VdGlscy5tZXJnZURlZXAobWFwLCBnZW5lcmF0ZWRDb2x1bW4uY3JlYXRlVmFsdWVNYXAodmFsdWUpKTtcbiAgICAgICAgICAgICAgICB9LCB7fSBhcyBPYmplY3RMaXRlcmFsKTtcblxuICAgICAgICAgICAgICAgIG9rKHtcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0OiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlZE1hcDogT2JqZWN0LmtleXMoZ2VuZXJhdGVkTWFwKS5sZW5ndGggPiAwID8gZ2VuZXJhdGVkTWFwIDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LCAoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBfX3RoaXMuZHJpdmVyLmNvbm5lY3Rpb24ubG9nZ2VyLmxvZ1F1ZXJ5RXJyb3IoZXJyLCBzcWwsIHBhcmFtZXRlcnMsIHRoaXMpO1xuICAgICAgICAgICAgICAgIGZhaWwoZXJyKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9Ki9cblxuICAgIC8qKlxuICAgICAqIFdvdWxkIHN0YXJ0IGEgdHJhbnNhY3Rpb24gYnV0IHRoaXMgZHJpdmVyIGRvZXMgbm90IHN1cHBvcnQgdHJhbnNhY3Rpb25zLlxuICAgICAqL1xuICAgIGFzeW5jIHN0YXJ0VHJhbnNhY3Rpb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlT1JNRXJyb3IoXG4gICAgICAgICAgICBcIlRyYW5zYWN0aW9ucyBhcmUgbm90IHN1cHBvcnRlZCBieSB0aGUgQ29yZG92YSBkcml2ZXJcIixcbiAgICAgICAgKVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFdvdWxkIHN0YXJ0IGEgdHJhbnNhY3Rpb24gYnV0IHRoaXMgZHJpdmVyIGRvZXMgbm90IHN1cHBvcnQgdHJhbnNhY3Rpb25zLlxuICAgICAqL1xuICAgIGFzeW5jIGNvbW1pdFRyYW5zYWN0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZU9STUVycm9yKFxuICAgICAgICAgICAgXCJUcmFuc2FjdGlvbnMgYXJlIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIENvcmRvdmEgZHJpdmVyXCIsXG4gICAgICAgIClcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBXb3VsZCBzdGFydCBhIHRyYW5zYWN0aW9uIGJ1dCB0aGlzIGRyaXZlciBkb2VzIG5vdCBzdXBwb3J0IHRyYW5zYWN0aW9ucy5cbiAgICAgKi9cbiAgICBhc3luYyByb2xsYmFja1RyYW5zYWN0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZU9STUVycm9yKFxuICAgICAgICAgICAgXCJUcmFuc2FjdGlvbnMgYXJlIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIENvcmRvdmEgZHJpdmVyXCIsXG4gICAgICAgIClcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGFsbCB0YWJsZXMgZnJvbSB0aGUgY3VycmVudGx5IGNvbm5lY3RlZCBkYXRhYmFzZS5cbiAgICAgKiBCZSBjYXJlZnVsIHdpdGggdXNpbmcgdGhpcyBtZXRob2QgYW5kIGF2b2lkIHVzaW5nIGl0IGluIHByb2R1Y3Rpb24gb3IgbWlncmF0aW9uc1xuICAgICAqIChiZWNhdXNlIGl0IGNhbiBjbGVhciBhbGwgeW91ciBkYXRhYmFzZSkuXG4gICAgICovXG4gICAgYXN5bmMgY2xlYXJEYXRhYmFzZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5xdWVyeShgUFJBR01BIGZvcmVpZ25fa2V5cyA9IE9GRmApXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3RWaWV3RHJvcHNRdWVyeSA9IGBTRUxFQ1QgJ0RST1AgVklFVyBcIicgfHwgbmFtZSB8fCAnXCI7JyBhcyBxdWVyeSBGUk9NIFwic3FsaXRlX21hc3RlclwiIFdIRVJFIFwidHlwZVwiID0gJ3ZpZXcnYFxuICAgICAgICAgICAgY29uc3QgZHJvcFZpZXdRdWVyaWVzOiBPYmplY3RMaXRlcmFsW10gPSBhd2FpdCB0aGlzLnF1ZXJ5KFxuICAgICAgICAgICAgICAgIHNlbGVjdFZpZXdEcm9wc1F1ZXJ5LFxuICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICBjb25zdCBzZWxlY3RUYWJsZURyb3BzUXVlcnkgPSBgU0VMRUNUICdEUk9QIFRBQkxFIFwiJyB8fCBuYW1lIHx8ICdcIjsnIGFzIHF1ZXJ5IEZST00gXCJzcWxpdGVfbWFzdGVyXCIgV0hFUkUgXCJ0eXBlXCIgPSAndGFibGUnIEFORCBcIm5hbWVcIiAhPSAnc3FsaXRlX3NlcXVlbmNlJ2BcbiAgICAgICAgICAgIGNvbnN0IGRyb3BUYWJsZVF1ZXJpZXM6IE9iamVjdExpdGVyYWxbXSA9IGF3YWl0IHRoaXMucXVlcnkoXG4gICAgICAgICAgICAgICAgc2VsZWN0VGFibGVEcm9wc1F1ZXJ5LFxuICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgICAgICAgICBkcm9wVmlld1F1ZXJpZXMubWFwKChxKSA9PiB0aGlzLnF1ZXJ5KHFbXCJxdWVyeVwiXSkpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgICAgICAgICAgZHJvcFRhYmxlUXVlcmllcy5tYXAoKHEpID0+IHRoaXMucXVlcnkocVtcInF1ZXJ5XCJdKSksXG4gICAgICAgICAgICApXG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnF1ZXJ5KGBQUkFHTUEgZm9yZWlnbl9rZXlzID0gT05gKVxuICAgICAgICB9XG4gICAgfVxuXG5cblxuXG5cbiAgICAvKipcbiAgICAgKiBQYXJhbWV0cml6ZXMgZ2l2ZW4gb2JqZWN0IG9mIHZhbHVlcy4gVXNlZCB0byBjcmVhdGUgY29sdW1uPXZhbHVlIHF1ZXJpZXMuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHBhcmFtZXRyaXplKFxuICAgICAgICBvYmplY3RMaXRlcmFsOiBPYmplY3RMaXRlcmFsLFxuICAgICAgICBzdGFydEluZGV4OiBudW1iZXIgPSAwLFxuICAgICk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKG9iamVjdExpdGVyYWwpLm1hcCgoa2V5LCBpbmRleCkgPT4gYFwiJHtrZXl9XCJgICsgXCI9P1wiKVxuICAgIH1cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRhb24tdHlwZW9ybSBsaWIvdHlwZW9ybS9kcml2ZXIvY29yZG92YS9Db3Jkb3ZhUXVlcnlSdW5uZXIudHMiXX0=
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29yZG92YVF1ZXJ5UnVubmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdGFvbi10eXBlb3JtL3Byb2plY3RzL3Rhb24tdHlwZW9ybS9zcmMvbGliL3R5cGVvcm0vZHJpdmVyL2NvcmRvdmEvQ29yZG92YVF1ZXJ5UnVubmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFBO0FBQzdGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQy9ELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFBO0FBRXhGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUU1RDs7R0FFRztBQUNILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSx5QkFBeUI7SUFVN0QsWUFBWSxNQUFxQjtRQUM3QixLQUFLLEVBQUUsQ0FBQTtRQUNQLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFBO1FBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQTtRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzVDLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxlQUFlO1FBQ2pCLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFBO0lBQ2pELENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxjQUFjO1FBQ2hCLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFBO0lBQ2hELENBQUM7SUFF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RUc7SUFDTyxXQUFXLENBQ2pCLGFBQTRCLEVBQzVCLGFBQXFCLENBQUM7UUFFdEIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUE7SUFDNUUsQ0FBQztDQUNKO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQywwRkFBMEYiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgT2JqZWN0TGl0ZXJhbCB9IGZyb20gXCIuLi8uLi9jb21tb24vT2JqZWN0TGl0ZXJhbFwiXG5pbXBvcnQgeyBRdWVyeVJ1bm5lckFscmVhZHlSZWxlYXNlZEVycm9yIH0gZnJvbSBcIi4uLy4uL2Vycm9yL1F1ZXJ5UnVubmVyQWxyZWFkeVJlbGVhc2VkRXJyb3JcIlxuaW1wb3J0IHsgUXVlcnlGYWlsZWRFcnJvciB9IGZyb20gXCIuLi8uLi9lcnJvci9RdWVyeUZhaWxlZEVycm9yXCJcbmltcG9ydCB7IEFic3RyYWN0U3FsaXRlUXVlcnlSdW5uZXIgfSBmcm9tIFwiLi4vc3FsaXRlLWFic3RyYWN0L0Fic3RyYWN0U3FsaXRlUXVlcnlSdW5uZXJcIlxuaW1wb3J0IHsgQ29yZG92YURyaXZlciB9IGZyb20gXCIuL0NvcmRvdmFEcml2ZXJcIlxuaW1wb3J0IHsgQnJvYWRjYXN0ZXIgfSBmcm9tIFwiLi4vLi4vc3Vic2NyaWJlci9Ccm9hZGNhc3RlclwiXG5pbXBvcnQgeyBUeXBlT1JNRXJyb3IgfSBmcm9tIFwiLi4vLi4vZXJyb3JcIlxuaW1wb3J0IHsgUXVlcnlSZXN1bHQgfSBmcm9tIFwiLi4vLi4vcXVlcnktcnVubmVyL1F1ZXJ5UmVzdWx0XCJcblxuLyoqXG4gKiBSdW5zIHF1ZXJpZXMgb24gYSBzaW5nbGUgc3FsaXRlIGRhdGFiYXNlIGNvbm5lY3Rpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBDb3Jkb3ZhUXVlcnlSdW5uZXIgZXh0ZW5kcyBBYnN0cmFjdFNxbGl0ZVF1ZXJ5UnVubmVyIHtcbiAgICAvKipcbiAgICAgKiBEYXRhYmFzZSBkcml2ZXIgdXNlZCBieSBjb25uZWN0aW9uLlxuICAgICAqL1xuICAgIGRlY2xhcmUgZHJpdmVyOiBDb3Jkb3ZhRHJpdmVyXG5cblxuXG5cblxuICAgIGNvbnN0cnVjdG9yKGRyaXZlcjogQ29yZG92YURyaXZlcikge1xuICAgICAgICBzdXBlcigpXG4gICAgICAgIHRoaXMuZHJpdmVyID0gZHJpdmVyXG4gICAgICAgIHRoaXMuY29ubmVjdGlvbiA9IGRyaXZlci5jb25uZWN0aW9uXG4gICAgICAgIHRoaXMuYnJvYWRjYXN0ZXIgPSBuZXcgQnJvYWRjYXN0ZXIodGhpcylcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxsZWQgYmVmb3JlIG1pZ3JhdGlvbnMgYXJlIHJ1bi5cbiAgICAgKi9cbiAgICBhc3luYyBiZWZvcmVNaWdyYXRpb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0IHRoaXMucXVlcnkoYFBSQUdNQSBmb3JlaWduX2tleXMgPSBPRkZgKVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGxlZCBhZnRlciBtaWdyYXRpb25zIGFyZSBydW4uXG4gICAgICovXG4gICAgYXN5bmMgYWZ0ZXJNaWdyYXRpb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0IHRoaXMucXVlcnkoYFBSQUdNQSBmb3JlaWduX2tleXMgPSBPTmApXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRXhlY3V0ZXMgYSBnaXZlbiBTUUwgcXVlcnkuXG4gICAgICovXG4gICAgYXN5bmMgcXVlcnkoXG4gICAgICAgIHF1ZXJ5OiBzdHJpbmcsXG4gICAgICAgIHBhcmFtZXRlcnM/OiBhbnlbXSxcbiAgICAgICAgdXNlU3RydWN0dXJlZFJlc3VsdCA9IGZhbHNlLFxuICAgICk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIGlmICh0aGlzLmlzUmVsZWFzZWQpIHRocm93IG5ldyBRdWVyeVJ1bm5lckFscmVhZHlSZWxlYXNlZEVycm9yKClcblxuICAgICAgICBjb25zdCBkYXRhYmFzZUNvbm5lY3Rpb24gPSBhd2FpdCB0aGlzLmNvbm5lY3QoKVxuICAgICAgICB0aGlzLmRyaXZlci5jb25uZWN0aW9uLmxvZ2dlci5sb2dRdWVyeShxdWVyeSwgcGFyYW1ldGVycywgdGhpcylcbiAgICAgICAgY29uc3QgcXVlcnlTdGFydFRpbWUgPSArbmV3IERhdGUoKVxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCByYXcgPSBhd2FpdCBuZXcgUHJvbWlzZTxhbnk+KGFzeW5jIChvaywgZmFpbCkgPT4ge1xuICAgICAgICAgICAgICAgIGRhdGFiYXNlQ29ubmVjdGlvbi5leGVjdXRlU3FsKFxuICAgICAgICAgICAgICAgICAgICBxdWVyeSxcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVycyxcbiAgICAgICAgICAgICAgICAgICAgKHJhdzogYW55KSA9PiBvayhyYXcpLFxuICAgICAgICAgICAgICAgICAgICAoZXJyOiBhbnkpID0+IGZhaWwoZXJyKSxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9KVxuXG5cbiAgICAgICAgICAgIGNvbnN0IG1heFF1ZXJ5RXhlY3V0aW9uVGltZSA9XG4gICAgICAgICAgICAgICAgdGhpcy5kcml2ZXIub3B0aW9ucy5tYXhRdWVyeUV4ZWN1dGlvblRpbWVcbiAgICAgICAgICAgIGNvbnN0IHF1ZXJ5RW5kVGltZSA9ICtuZXcgRGF0ZSgpXG4gICAgICAgICAgICBjb25zdCBxdWVyeUV4ZWN1dGlvblRpbWUgPSBxdWVyeUVuZFRpbWUgLSBxdWVyeVN0YXJ0VGltZVxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIG1heFF1ZXJ5RXhlY3V0aW9uVGltZSAmJlxuICAgICAgICAgICAgICAgIHF1ZXJ5RXhlY3V0aW9uVGltZSA+IG1heFF1ZXJ5RXhlY3V0aW9uVGltZVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kcml2ZXIuY29ubmVjdGlvbi5sb2dnZXIubG9nUXVlcnlTbG93KFxuICAgICAgICAgICAgICAgICAgICBxdWVyeUV4ZWN1dGlvblRpbWUsXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5LFxuICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gbmV3IFF1ZXJ5UmVzdWx0KClcblxuICAgICAgICAgICAgaWYgKHF1ZXJ5LnN1YnN0cigwLCAxMSkgPT09IFwiSU5TRVJUIElOVE9cIikge1xuICAgICAgICAgICAgICAgIHJlc3VsdC5yYXcgPSByYXcuaW5zZXJ0SWRcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbGV0IHJlc3VsdFNldCA9IFtdXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByYXcucm93cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHRTZXQucHVzaChyYXcucm93cy5pdGVtKGkpKVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJlc3VsdC5yZWNvcmRzID0gcmVzdWx0U2V0XG4gICAgICAgICAgICAgICAgcmVzdWx0LnJhdyA9IHJlc3VsdFNldFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodXNlU3RydWN0dXJlZFJlc3VsdCkge1xuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5yYXdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICB0aGlzLmRyaXZlci5jb25uZWN0aW9uLmxvZ2dlci5sb2dRdWVyeUVycm9yKFxuICAgICAgICAgICAgICAgIGVycixcbiAgICAgICAgICAgICAgICBxdWVyeSxcbiAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzLFxuICAgICAgICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgICApXG4gICAgICAgICAgICB0aHJvdyBuZXcgUXVlcnlGYWlsZWRFcnJvcihxdWVyeSwgcGFyYW1ldGVycywgZXJyKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5zZXJ0IGEgbmV3IHJvdyB3aXRoIGdpdmVuIHZhbHVlcyBpbnRvIHRoZSBnaXZlbiB0YWJsZS5cbiAgICAgKiBSZXR1cm5zIHZhbHVlIG9mIHRoZSBnZW5lcmF0ZWQgY29sdW1uIGlmIGdpdmVuIGFuZCBnZW5lcmF0ZSBjb2x1bW4gZXhpc3QgaW4gdGhlIHRhYmxlLlxuXG4gICAgYXN5bmMgaW5zZXJ0KHRhYmxlTmFtZTogc3RyaW5nLCBrZXlWYWx1ZXM6IE9iamVjdExpdGVyYWwpOiBQcm9taXNlPEluc2VydFJlc3VsdD4ge1xuICAgICAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoa2V5VmFsdWVzKTtcbiAgICAgICAgY29uc3QgY29sdW1ucyA9IGtleXMubWFwKGtleSA9PiBgXCIke2tleX1cImApLmpvaW4oXCIsIFwiKTtcbiAgICAgICAgY29uc3QgdmFsdWVzID0ga2V5cy5tYXAoa2V5ID0+IFwiP1wiKS5qb2luKFwiLFwiKTtcbiAgICAgICAgY29uc3QgZ2VuZXJhdGVkQ29sdW1ucyA9IHRoaXMuY29ubmVjdGlvbi5oYXNNZXRhZGF0YSh0YWJsZU5hbWUpID8gdGhpcy5jb25uZWN0aW9uLmdldE1ldGFkYXRhKHRhYmxlTmFtZSkuZ2VuZXJhdGVkQ29sdW1ucyA6IFtdO1xuICAgICAgICBjb25zdCBzcWwgPSBjb2x1bW5zLmxlbmd0aCA+IDAgPyAoYElOU0VSVCBJTlRPIFwiJHt0YWJsZU5hbWV9XCIoJHtjb2x1bW5zfSkgVkFMVUVTICgke3ZhbHVlc30pYCkgOiBgSU5TRVJUIElOVE8gXCIke3RhYmxlTmFtZX1cIiBERUZBVUxUIFZBTFVFU2A7XG4gICAgICAgIGNvbnN0IHBhcmFtZXRlcnMgPSBrZXlzLm1hcChrZXkgPT4ga2V5VmFsdWVzW2tleV0pO1xuXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxJbnNlcnRSZXN1bHQ+KGFzeW5jIChvaywgZmFpbCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5kcml2ZXIuY29ubmVjdGlvbi5sb2dnZXIubG9nUXVlcnkoc3FsLCBwYXJhbWV0ZXJzLCB0aGlzKTtcbiAgICAgICAgICAgIGNvbnN0IF9fdGhpcyA9IHRoaXM7XG4gICAgICAgICAgICBjb25zdCBkYXRhYmFzZUNvbm5lY3Rpb24gPSBhd2FpdCB0aGlzLmNvbm5lY3QoKTtcbiAgICAgICAgICAgIGRhdGFiYXNlQ29ubmVjdGlvbi5leGVjdXRlU3FsKHNxbCwgcGFyYW1ldGVycywgKHJlc3VsdFNldDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZ2VuZXJhdGVkTWFwID0gZ2VuZXJhdGVkQ29sdW1ucy5yZWR1Y2UoKG1hcCwgZ2VuZXJhdGVkQ29sdW1uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gZ2VuZXJhdGVkQ29sdW1uLmlzUHJpbWFyeSAmJiBnZW5lcmF0ZWRDb2x1bW4uZ2VuZXJhdGlvblN0cmF0ZWd5ID09PSBcImluY3JlbWVudFwiICYmIHJlc3VsdFNldC5pbnNlcnRJZCA/IHJlc3VsdFNldC5pbnNlcnRJZCA6IGtleVZhbHVlc1tnZW5lcmF0ZWRDb2x1bW4uZGF0YWJhc2VOYW1lXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSkgcmV0dXJuIG1hcDtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9ybVV0aWxzLm1lcmdlRGVlcChtYXAsIGdlbmVyYXRlZENvbHVtbi5jcmVhdGVWYWx1ZU1hcCh2YWx1ZSkpO1xuICAgICAgICAgICAgICAgIH0sIHt9IGFzIE9iamVjdExpdGVyYWwpO1xuXG4gICAgICAgICAgICAgICAgb2soe1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQ6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVkTWFwOiBPYmplY3Qua2V5cyhnZW5lcmF0ZWRNYXApLmxlbmd0aCA+IDAgPyBnZW5lcmF0ZWRNYXAgOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sIChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIF9fdGhpcy5kcml2ZXIuY29ubmVjdGlvbi5sb2dnZXIubG9nUXVlcnlFcnJvcihlcnIsIHNxbCwgcGFyYW1ldGVycywgdGhpcyk7XG4gICAgICAgICAgICAgICAgZmFpbChlcnIpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH0qL1xuXG4gICAgLyoqXG4gICAgICogV291bGQgc3RhcnQgYSB0cmFuc2FjdGlvbiBidXQgdGhpcyBkcml2ZXIgZG9lcyBub3Qgc3VwcG9ydCB0cmFuc2FjdGlvbnMuXG4gICAgICovXG4gICAgYXN5bmMgc3RhcnRUcmFuc2FjdGlvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVPUk1FcnJvcihcbiAgICAgICAgICAgIFwiVHJhbnNhY3Rpb25zIGFyZSBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBDb3Jkb3ZhIGRyaXZlclwiLFxuICAgICAgICApXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogV291bGQgc3RhcnQgYSB0cmFuc2FjdGlvbiBidXQgdGhpcyBkcml2ZXIgZG9lcyBub3Qgc3VwcG9ydCB0cmFuc2FjdGlvbnMuXG4gICAgICovXG4gICAgYXN5bmMgY29tbWl0VHJhbnNhY3Rpb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlT1JNRXJyb3IoXG4gICAgICAgICAgICBcIlRyYW5zYWN0aW9ucyBhcmUgbm90IHN1cHBvcnRlZCBieSB0aGUgQ29yZG92YSBkcml2ZXJcIixcbiAgICAgICAgKVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFdvdWxkIHN0YXJ0IGEgdHJhbnNhY3Rpb24gYnV0IHRoaXMgZHJpdmVyIGRvZXMgbm90IHN1cHBvcnQgdHJhbnNhY3Rpb25zLlxuICAgICAqL1xuICAgIGFzeW5jIHJvbGxiYWNrVHJhbnNhY3Rpb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlT1JNRXJyb3IoXG4gICAgICAgICAgICBcIlRyYW5zYWN0aW9ucyBhcmUgbm90IHN1cHBvcnRlZCBieSB0aGUgQ29yZG92YSBkcml2ZXJcIixcbiAgICAgICAgKVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgYWxsIHRhYmxlcyBmcm9tIHRoZSBjdXJyZW50bHkgY29ubmVjdGVkIGRhdGFiYXNlLlxuICAgICAqIEJlIGNhcmVmdWwgd2l0aCB1c2luZyB0aGlzIG1ldGhvZCBhbmQgYXZvaWQgdXNpbmcgaXQgaW4gcHJvZHVjdGlvbiBvciBtaWdyYXRpb25zXG4gICAgICogKGJlY2F1c2UgaXQgY2FuIGNsZWFyIGFsbCB5b3VyIGRhdGFiYXNlKS5cbiAgICAgKi9cbiAgICBhc3luYyBjbGVhckRhdGFiYXNlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBhd2FpdCB0aGlzLnF1ZXJ5KGBQUkFHTUEgZm9yZWlnbl9rZXlzID0gT0ZGYClcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdFZpZXdEcm9wc1F1ZXJ5ID0gYFNFTEVDVCAnRFJPUCBWSUVXIFwiJyB8fCBuYW1lIHx8ICdcIjsnIGFzIHF1ZXJ5IEZST00gXCJzcWxpdGVfbWFzdGVyXCIgV0hFUkUgXCJ0eXBlXCIgPSAndmlldydgXG4gICAgICAgICAgICBjb25zdCBkcm9wVmlld1F1ZXJpZXM6IE9iamVjdExpdGVyYWxbXSA9IGF3YWl0IHRoaXMucXVlcnkoXG4gICAgICAgICAgICAgICAgc2VsZWN0Vmlld0Ryb3BzUXVlcnksXG4gICAgICAgICAgICApXG5cbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdFRhYmxlRHJvcHNRdWVyeSA9IGBTRUxFQ1QgJ0RST1AgVEFCTEUgXCInIHx8IG5hbWUgfHwgJ1wiOycgYXMgcXVlcnkgRlJPTSBcInNxbGl0ZV9tYXN0ZXJcIiBXSEVSRSBcInR5cGVcIiA9ICd0YWJsZScgQU5EIFwibmFtZVwiICE9ICdzcWxpdGVfc2VxdWVuY2UnYFxuICAgICAgICAgICAgY29uc3QgZHJvcFRhYmxlUXVlcmllczogT2JqZWN0TGl0ZXJhbFtdID0gYXdhaXQgdGhpcy5xdWVyeShcbiAgICAgICAgICAgICAgICBzZWxlY3RUYWJsZURyb3BzUXVlcnksXG4gICAgICAgICAgICApXG5cbiAgICAgICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICAgICAgICAgIGRyb3BWaWV3UXVlcmllcy5tYXAoKHEpID0+IHRoaXMucXVlcnkocVtcInF1ZXJ5XCJdKSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgICAgICAgICBkcm9wVGFibGVRdWVyaWVzLm1hcCgocSkgPT4gdGhpcy5xdWVyeShxW1wicXVlcnlcIl0pKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMucXVlcnkoYFBSQUdNQSBmb3JlaWduX2tleXMgPSBPTmApXG4gICAgICAgIH1cbiAgICB9XG5cblxuXG5cblxuICAgIC8qKlxuICAgICAqIFBhcmFtZXRyaXplcyBnaXZlbiBvYmplY3Qgb2YgdmFsdWVzLiBVc2VkIHRvIGNyZWF0ZSBjb2x1bW49dmFsdWUgcXVlcmllcy5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcGFyYW1ldHJpemUoXG4gICAgICAgIG9iamVjdExpdGVyYWw6IE9iamVjdExpdGVyYWwsXG4gICAgICAgIHN0YXJ0SW5kZXg6IG51bWJlciA9IDAsXG4gICAgKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMob2JqZWN0TGl0ZXJhbCkubWFwKChrZXksIGluZGV4KSA9PiBgXCIke2tleX1cImAgKyBcIj0/XCIpXG4gICAgfVxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dGFvbi10eXBlb3JtIGxpYi90eXBlb3JtL2RyaXZlci9jb3Jkb3ZhL0NvcmRvdmFRdWVyeVJ1bm5lci50cyJdfQ==
@@ -79,4 +79,4 @@ export class NativescriptDriver extends AbstractSqliteDriver {
79
79
  }
80
80
  ;
81
81
  ({}); // @--end-of-file-for-module=taon-typeorm lib/typeorm/driver/nativescript/NativescriptDriver.ts
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmF0aXZlc2NyaXB0RHJpdmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdGFvbi10eXBlb3JtL3Byb2plY3RzL3Rhb24tdHlwZW9ybS9zcmMvbGliL3R5cGVvcm0vZHJpdmVyL25hdGl2ZXNjcmlwdC9OYXRpdmVzY3JpcHREcml2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFFOUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFHbkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDN0UsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNENBQTRDLENBQUE7QUFJM0Y7O0dBRUc7QUFDSCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsb0JBQW9CO0lBcUJ4RCxZQUFZLFVBQXNCO1FBQzlCLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUVqQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQTtRQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxPQUF3QyxDQUFBO1FBQ2xFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUE7UUFDckMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQTtRQUdqQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN6QixNQUFNLElBQUksdUJBQXVCLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDakQsQ0FBQztRQUdELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFBO0lBQzNCLENBQUM7SUFNRDs7T0FFRztJQUNILEtBQUssQ0FBQyxVQUFVO1FBQ1osT0FBTyxJQUFJLE9BQU8sQ0FBTyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUNsQyxJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQTtZQUM1QixJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN4RCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNILGlCQUFpQixDQUFDLElBQXFCO1FBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3hELENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUE7SUFDM0IsQ0FBQztJQUVELGFBQWEsQ0FBQyxNQUtiO1FBQ0csYUFBYTtRQUNiLElBQUssTUFBTSxDQUFDLElBQVksS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUNsQyxPQUFPLE1BQU0sQ0FBQTtRQUNqQixDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ3RDLENBQUM7SUFLRDs7T0FFRztJQUNPLHdCQUF3QjtRQUM5QixPQUFPLElBQUksT0FBTyxDQUFPLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFO1lBQ2xDLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQ3pCLEVBQUUsRUFDRjtnQkFDSSxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRO2dCQUMvQixHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHO2dCQUNyQixjQUFjLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjO2dCQUMzQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPO2dCQUM3QixRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRO2dCQUMvQixZQUFZLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZO2FBQzFDLEVBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUMzQixDQUFBO1lBRUQsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUNYLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUNyQixPQUFPLEVBQ1AsQ0FBQyxHQUFVLEVBQUUsRUFBTyxFQUFPLEVBQUU7Z0JBQ3pCLElBQUksR0FBRztvQkFBRSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtnQkFHekIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFBO2dCQUkxQyxFQUFFLENBQUMsT0FBTyxDQUNOLDBCQUEwQixFQUMxQixFQUFFLEVBQ0YsQ0FBQyxHQUFVLEVBQUUsTUFBVyxFQUFPLEVBQUU7b0JBQzdCLElBQUksR0FBRzt3QkFBRSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtvQkFFekIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFBO2dCQUNWLENBQUMsQ0FDSixDQUFBO1lBQ0wsQ0FBQyxDQUNKLENBQUE7UUFDTCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNPLGdCQUFnQjtRQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUE7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNmLE1BQU0sSUFBSSw4QkFBOEIsQ0FDcEMsY0FBYyxFQUNkLHFCQUFxQixDQUN4QixDQUFBO1FBQ0wsQ0FBQztJQUNMLENBQUM7Q0FDSjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsK0ZBQStGIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IEFic3RyYWN0U3FsaXRlRHJpdmVyIH0gZnJvbSBcIi4uL3NxbGl0ZS1hYnN0cmFjdC9BYnN0cmFjdFNxbGl0ZURyaXZlclwiXG5pbXBvcnQgeyBOYXRpdmVzY3JpcHRDb25uZWN0aW9uT3B0aW9ucyB9IGZyb20gXCIuL05hdGl2ZXNjcmlwdENvbm5lY3Rpb25PcHRpb25zXCJcbmltcG9ydCB7IE5hdGl2ZXNjcmlwdFF1ZXJ5UnVubmVyIH0gZnJvbSBcIi4vTmF0aXZlc2NyaXB0UXVlcnlSdW5uZXJcIlxuaW1wb3J0IHsgUXVlcnlSdW5uZXIgfSBmcm9tIFwiLi4vLi4vcXVlcnktcnVubmVyL1F1ZXJ5UnVubmVyXCJcbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tIFwiLi4vLi4vZGF0YS1zb3VyY2UvRGF0YVNvdXJjZVwiXG5pbXBvcnQgeyBEcml2ZXJPcHRpb25Ob3RTZXRFcnJvciB9IGZyb20gXCIuLi8uLi9lcnJvci9Ecml2ZXJPcHRpb25Ob3RTZXRFcnJvclwiXG5pbXBvcnQgeyBEcml2ZXJQYWNrYWdlTm90SW5zdGFsbGVkRXJyb3IgfSBmcm9tIFwiLi4vLi4vZXJyb3IvRHJpdmVyUGFja2FnZU5vdEluc3RhbGxlZEVycm9yXCJcbmltcG9ydCB7IENvbHVtblR5cGUgfSBmcm9tIFwiLi4vdHlwZXMvQ29sdW1uVHlwZXNcIlxuaW1wb3J0IHsgUmVwbGljYXRpb25Nb2RlIH0gZnJvbSBcIi4uL3R5cGVzL1JlcGxpY2F0aW9uTW9kZVwiXG5cbi8qKlxuICogT3JnYW5pemVzIGNvbW11bmljYXRpb24gd2l0aCBzcWxpdGUgREJNUyB3aXRoaW4gTmF0aXZlc2NyaXB0LlxuICovXG5leHBvcnQgY2xhc3MgTmF0aXZlc2NyaXB0RHJpdmVyIGV4dGVuZHMgQWJzdHJhY3RTcWxpdGVEcml2ZXIge1xuXG5cblxuXG4gICAgLyoqXG4gICAgICogQ29ubmVjdGlvbiBvcHRpb25zLlxuICAgICAqL1xuICAgIG9wdGlvbnM6IE5hdGl2ZXNjcmlwdENvbm5lY3Rpb25PcHRpb25zXG5cbiAgICAvKipcbiAgICAgKiBOYXRpdmVzY3JpcHQgZHJpdmVyIG1vZHVsZVxuICAgICAqIHRoaXMgaXMgbW9zdCBsaWtlbHkgYG5hdGl2ZXNjcmlwdC1zcWxpdGVgXG4gICAgICogYnV0IHVzZXIgY2FuIHBhc3MgaGlzIG93blxuICAgICAqL1xuICAgIGRyaXZlcjogYW55XG5cblxuXG5cblxuICAgIGNvbnN0cnVjdG9yKGNvbm5lY3Rpb246IERhdGFTb3VyY2UpIHtcbiAgICAgICAgc3VwZXIoY29ubmVjdGlvbilcblxuICAgICAgICB0aGlzLmNvbm5lY3Rpb24gPSBjb25uZWN0aW9uXG4gICAgICAgIHRoaXMub3B0aW9ucyA9IGNvbm5lY3Rpb24ub3B0aW9ucyBhcyBOYXRpdmVzY3JpcHRDb25uZWN0aW9uT3B0aW9uc1xuICAgICAgICB0aGlzLmRhdGFiYXNlID0gdGhpcy5vcHRpb25zLmRhdGFiYXNlXG4gICAgICAgIHRoaXMuZHJpdmVyID0gdGhpcy5vcHRpb25zLmRyaXZlclxuXG5cbiAgICAgICAgaWYgKCF0aGlzLm9wdGlvbnMuZGF0YWJhc2UpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBEcml2ZXJPcHRpb25Ob3RTZXRFcnJvcihcImRhdGFiYXNlXCIpXG4gICAgICAgIH1cblxuXG4gICAgICAgIHRoaXMubG9hZERlcGVuZGVuY2llcygpXG4gICAgfVxuXG5cblxuXG5cbiAgICAvKipcbiAgICAgKiBDbG9zZXMgY29ubmVjdGlvbiB3aXRoIGRhdGFiYXNlLlxuICAgICAqL1xuICAgIGFzeW5jIGRpc2Nvbm5lY3QoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigob2ssIGZhaWwpID0+IHtcbiAgICAgICAgICAgIHRoaXMucXVlcnlSdW5uZXIgPSB1bmRlZmluZWRcbiAgICAgICAgICAgIHRoaXMuZGF0YWJhc2VDb25uZWN0aW9uLmNsb3NlKCkudGhlbihvaykuY2F0Y2goZmFpbClcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgcXVlcnkgcnVubmVyIHVzZWQgdG8gZXhlY3V0ZSBkYXRhYmFzZSBxdWVyaWVzLlxuICAgICAqL1xuICAgIGNyZWF0ZVF1ZXJ5UnVubmVyKG1vZGU6IFJlcGxpY2F0aW9uTW9kZSk6IFF1ZXJ5UnVubmVyIHtcbiAgICAgICAgaWYgKCF0aGlzLnF1ZXJ5UnVubmVyKSB7XG4gICAgICAgICAgICB0aGlzLnF1ZXJ5UnVubmVyID0gbmV3IE5hdGl2ZXNjcmlwdFF1ZXJ5UnVubmVyKHRoaXMpXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5xdWVyeVJ1bm5lclxuICAgIH1cblxuICAgIG5vcm1hbGl6ZVR5cGUoY29sdW1uOiB7XG4gICAgICAgIHR5cGU/OiBDb2x1bW5UeXBlXG4gICAgICAgIGxlbmd0aD86IG51bWJlciB8IHN0cmluZ1xuICAgICAgICBwcmVjaXNpb24/OiBudW1iZXIgfCBudWxsXG4gICAgICAgIHNjYWxlPzogbnVtYmVyXG4gICAgfSk6IHN0cmluZyB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgaWYgKChjb2x1bW4udHlwZSBhcyBhbnkpID09PSBCdWZmZXIpIHtcbiAgICAgICAgICAgIHJldHVybiBcImJsb2JcIlxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHN1cGVyLm5vcm1hbGl6ZVR5cGUoY29sdW1uKVxuICAgIH1cblxuXG5cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgY29ubmVjdGlvbiB3aXRoIHRoZSBkYXRhYmFzZS5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgY3JlYXRlRGF0YWJhc2VDb25uZWN0aW9uKCkge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKG9rLCBmYWlsKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBvcHRpb25zID0gT2JqZWN0LmFzc2lnbihcbiAgICAgICAgICAgICAgICB7fSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5OiB0aGlzLm9wdGlvbnMucmVhZE9ubHksXG4gICAgICAgICAgICAgICAgICAgIGtleTogdGhpcy5vcHRpb25zLmtleSxcbiAgICAgICAgICAgICAgICAgICAgbXVsdGl0aHJlYWRpbmc6IHRoaXMub3B0aW9ucy5tdWx0aXRocmVhZGluZyxcbiAgICAgICAgICAgICAgICAgICAgbWlncmF0ZTogdGhpcy5vcHRpb25zLm1pZ3JhdGUsXG4gICAgICAgICAgICAgICAgICAgIGlvc0ZsYWdzOiB0aGlzLm9wdGlvbnMuaW9zRmxhZ3MsXG4gICAgICAgICAgICAgICAgICAgIGFuZHJvaWRGbGFnczogdGhpcy5vcHRpb25zLmFuZHJvaWRGbGFncyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucy5leHRyYSB8fCB7fSxcbiAgICAgICAgICAgIClcblxuICAgICAgICAgICAgbmV3IHRoaXMuc3FsaXRlKFxuICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucy5kYXRhYmFzZSxcbiAgICAgICAgICAgICAgICBvcHRpb25zLFxuICAgICAgICAgICAgICAgIChlcnI6IEVycm9yLCBkYjogYW55KTogYW55ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVycikgcmV0dXJuIGZhaWwoZXJyKVxuXG5cbiAgICAgICAgICAgICAgICAgICAgZGIucmVzdWx0VHlwZSh0aGlzLnNxbGl0ZS5SRVNVTFRTQVNPQkpFQ1QpXG5cblxuXG4gICAgICAgICAgICAgICAgICAgIGRiLmV4ZWNTUUwoXG4gICAgICAgICAgICAgICAgICAgICAgICBgUFJBR01BIGZvcmVpZ25fa2V5cyA9IE9OYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIFtdLFxuICAgICAgICAgICAgICAgICAgICAgICAgKGVycjogRXJyb3IsIHJlc3VsdDogYW55KTogYW55ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXJyKSByZXR1cm4gZmFpbChlcnIpXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvayhkYilcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKVxuICAgICAgICB9KVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIElmIGRyaXZlciBkZXBlbmRlbmN5IGlzIG5vdCBnaXZlbiBleHBsaWNpdGx5LCB0aGVuIHRyeSB0byBsb2FkIGl0IHZpYSBcInJlcXVpcmVcIi5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgbG9hZERlcGVuZGVuY2llcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zcWxpdGUgPSB0aGlzLmRyaXZlclxuICAgICAgICBpZiAoIXRoaXMuZHJpdmVyKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRHJpdmVyUGFja2FnZU5vdEluc3RhbGxlZEVycm9yKFxuICAgICAgICAgICAgICAgIFwiTmF0aXZlc2NyaXB0XCIsXG4gICAgICAgICAgICAgICAgXCJuYXRpdmVzY3JpcHQtc3FsaXRlXCIsXG4gICAgICAgICAgICApXG4gICAgICAgIH1cbiAgICB9XG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10YW9uLXR5cGVvcm0gbGliL3R5cGVvcm0vZHJpdmVyL25hdGl2ZXNjcmlwdC9OYXRpdmVzY3JpcHREcml2ZXIudHMiXX0=
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmF0aXZlc2NyaXB0RHJpdmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdGFvbi10eXBlb3JtL3Byb2plY3RzL3Rhb24tdHlwZW9ybS9zcmMvbGliL3R5cGVvcm0vZHJpdmVyL25hdGl2ZXNjcmlwdC9OYXRpdmVzY3JpcHREcml2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFFOUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFHbkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDN0UsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNENBQTRDLENBQUE7QUFJM0Y7O0dBRUc7QUFDSCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsb0JBQW9CO0lBcUJ4RCxZQUFZLFVBQXNCO1FBQzlCLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUVqQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQTtRQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxPQUF3QyxDQUFBO1FBQ2xFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUE7UUFDckMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQTtRQUdqQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN6QixNQUFNLElBQUksdUJBQXVCLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDakQsQ0FBQztRQUdELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFBO0lBQzNCLENBQUM7SUFNRDs7T0FFRztJQUNILEtBQUssQ0FBQyxVQUFVO1FBQ1osT0FBTyxJQUFJLE9BQU8sQ0FBTyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUNsQyxJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQTtZQUM1QixJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN4RCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNILGlCQUFpQixDQUFDLElBQXFCO1FBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3hELENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUE7SUFDM0IsQ0FBQztJQUVELGFBQWEsQ0FBQyxNQUtiO1FBQ0csYUFBYTtRQUNiLElBQUssTUFBTSxDQUFDLElBQVksS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUNsQyxPQUFPLE1BQU0sQ0FBQTtRQUNqQixDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ3RDLENBQUM7SUFLRDs7T0FFRztJQUNPLHdCQUF3QjtRQUM5QixPQUFPLElBQUksT0FBTyxDQUFPLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFO1lBQ2xDLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQ3pCLEVBQUUsRUFDRjtnQkFDSSxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRO2dCQUMvQixHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHO2dCQUNyQixjQUFjLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjO2dCQUMzQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPO2dCQUM3QixRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRO2dCQUMvQixZQUFZLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZO2FBQzFDLEVBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUMzQixDQUFBO1lBRUQsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUNYLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUNyQixPQUFPLEVBQ1AsQ0FBQyxHQUFVLEVBQUUsRUFBTyxFQUFPLEVBQUU7Z0JBQ3pCLElBQUksR0FBRztvQkFBRSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtnQkFHekIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFBO2dCQUkxQyxFQUFFLENBQUMsT0FBTyxDQUNOLDBCQUEwQixFQUMxQixFQUFFLEVBQ0YsQ0FBQyxHQUFVLEVBQUUsTUFBVyxFQUFPLEVBQUU7b0JBQzdCLElBQUksR0FBRzt3QkFBRSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtvQkFFekIsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFBO2dCQUNWLENBQUMsQ0FDSixDQUFBO1lBQ0wsQ0FBQyxDQUNKLENBQUE7UUFDTCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNPLGdCQUFnQjtRQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUE7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNmLE1BQU0sSUFBSSw4QkFBOEIsQ0FDcEMsY0FBYyxFQUNkLHFCQUFxQixDQUN4QixDQUFBO1FBQ0wsQ0FBQztJQUNMLENBQUM7Q0FDSjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsK0ZBQStGIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IEFic3RyYWN0U3FsaXRlRHJpdmVyIH0gZnJvbSBcIi4uL3NxbGl0ZS1hYnN0cmFjdC9BYnN0cmFjdFNxbGl0ZURyaXZlclwiXG5pbXBvcnQgeyBOYXRpdmVzY3JpcHRDb25uZWN0aW9uT3B0aW9ucyB9IGZyb20gXCIuL05hdGl2ZXNjcmlwdENvbm5lY3Rpb25PcHRpb25zXCJcbmltcG9ydCB7IE5hdGl2ZXNjcmlwdFF1ZXJ5UnVubmVyIH0gZnJvbSBcIi4vTmF0aXZlc2NyaXB0UXVlcnlSdW5uZXJcIlxuaW1wb3J0IHsgUXVlcnlSdW5uZXIgfSBmcm9tIFwiLi4vLi4vcXVlcnktcnVubmVyL1F1ZXJ5UnVubmVyXCJcbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tIFwiLi4vLi4vZGF0YS1zb3VyY2UvRGF0YVNvdXJjZVwiXG5pbXBvcnQgeyBEcml2ZXJPcHRpb25Ob3RTZXRFcnJvciB9IGZyb20gXCIuLi8uLi9lcnJvci9Ecml2ZXJPcHRpb25Ob3RTZXRFcnJvclwiXG5pbXBvcnQgeyBEcml2ZXJQYWNrYWdlTm90SW5zdGFsbGVkRXJyb3IgfSBmcm9tIFwiLi4vLi4vZXJyb3IvRHJpdmVyUGFja2FnZU5vdEluc3RhbGxlZEVycm9yXCJcbmltcG9ydCB7IENvbHVtblR5cGUgfSBmcm9tIFwiLi4vdHlwZXMvQ29sdW1uVHlwZXNcIlxuaW1wb3J0IHsgUmVwbGljYXRpb25Nb2RlIH0gZnJvbSBcIi4uL3R5cGVzL1JlcGxpY2F0aW9uTW9kZVwiXG5cbi8qKlxuICogT3JnYW5pemVzIGNvbW11bmljYXRpb24gd2l0aCBzcWxpdGUgREJNUyB3aXRoaW4gTmF0aXZlc2NyaXB0LlxuICovXG5leHBvcnQgY2xhc3MgTmF0aXZlc2NyaXB0RHJpdmVyIGV4dGVuZHMgQWJzdHJhY3RTcWxpdGVEcml2ZXIge1xuXG5cblxuXG4gICAgLyoqXG4gICAgICogQ29ubmVjdGlvbiBvcHRpb25zLlxuICAgICAqL1xuICAgIGRlY2xhcmUgb3B0aW9uczogTmF0aXZlc2NyaXB0Q29ubmVjdGlvbk9wdGlvbnNcblxuICAgIC8qKlxuICAgICAqIE5hdGl2ZXNjcmlwdCBkcml2ZXIgbW9kdWxlXG4gICAgICogdGhpcyBpcyBtb3N0IGxpa2VseSBgbmF0aXZlc2NyaXB0LXNxbGl0ZWBcbiAgICAgKiBidXQgdXNlciBjYW4gcGFzcyBoaXMgb3duXG4gICAgICovXG4gICAgZHJpdmVyOiBhbnlcblxuXG5cblxuXG4gICAgY29uc3RydWN0b3IoY29ubmVjdGlvbjogRGF0YVNvdXJjZSkge1xuICAgICAgICBzdXBlcihjb25uZWN0aW9uKVxuXG4gICAgICAgIHRoaXMuY29ubmVjdGlvbiA9IGNvbm5lY3Rpb25cbiAgICAgICAgdGhpcy5vcHRpb25zID0gY29ubmVjdGlvbi5vcHRpb25zIGFzIE5hdGl2ZXNjcmlwdENvbm5lY3Rpb25PcHRpb25zXG4gICAgICAgIHRoaXMuZGF0YWJhc2UgPSB0aGlzLm9wdGlvbnMuZGF0YWJhc2VcbiAgICAgICAgdGhpcy5kcml2ZXIgPSB0aGlzLm9wdGlvbnMuZHJpdmVyXG5cblxuICAgICAgICBpZiAoIXRoaXMub3B0aW9ucy5kYXRhYmFzZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IERyaXZlck9wdGlvbk5vdFNldEVycm9yKFwiZGF0YWJhc2VcIilcbiAgICAgICAgfVxuXG5cbiAgICAgICAgdGhpcy5sb2FkRGVwZW5kZW5jaWVzKClcbiAgICB9XG5cblxuXG5cblxuICAgIC8qKlxuICAgICAqIENsb3NlcyBjb25uZWN0aW9uIHdpdGggZGF0YWJhc2UuXG4gICAgICovXG4gICAgYXN5bmMgZGlzY29ubmVjdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChvaywgZmFpbCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5xdWVyeVJ1bm5lciA9IHVuZGVmaW5lZFxuICAgICAgICAgICAgdGhpcy5kYXRhYmFzZUNvbm5lY3Rpb24uY2xvc2UoKS50aGVuKG9rKS5jYXRjaChmYWlsKVxuICAgICAgICB9KVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBxdWVyeSBydW5uZXIgdXNlZCB0byBleGVjdXRlIGRhdGFiYXNlIHF1ZXJpZXMuXG4gICAgICovXG4gICAgY3JlYXRlUXVlcnlSdW5uZXIobW9kZTogUmVwbGljYXRpb25Nb2RlKTogUXVlcnlSdW5uZXIge1xuICAgICAgICBpZiAoIXRoaXMucXVlcnlSdW5uZXIpIHtcbiAgICAgICAgICAgIHRoaXMucXVlcnlSdW5uZXIgPSBuZXcgTmF0aXZlc2NyaXB0UXVlcnlSdW5uZXIodGhpcylcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnF1ZXJ5UnVubmVyXG4gICAgfVxuXG4gICAgbm9ybWFsaXplVHlwZShjb2x1bW46IHtcbiAgICAgICAgdHlwZT86IENvbHVtblR5cGVcbiAgICAgICAgbGVuZ3RoPzogbnVtYmVyIHwgc3RyaW5nXG4gICAgICAgIHByZWNpc2lvbj86IG51bWJlciB8IG51bGxcbiAgICAgICAgc2NhbGU/OiBudW1iZXJcbiAgICB9KTogc3RyaW5nIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBpZiAoKGNvbHVtbi50eXBlIGFzIGFueSkgPT09IEJ1ZmZlcikge1xuICAgICAgICAgICAgcmV0dXJuIFwiYmxvYlwiXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gc3VwZXIubm9ybWFsaXplVHlwZShjb2x1bW4pXG4gICAgfVxuXG5cblxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBjb25uZWN0aW9uIHdpdGggdGhlIGRhdGFiYXNlLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBjcmVhdGVEYXRhYmFzZUNvbm5lY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigob2ssIGZhaWwpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSBPYmplY3QuYXNzaWduKFxuICAgICAgICAgICAgICAgIHt9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcmVhZE9ubHk6IHRoaXMub3B0aW9ucy5yZWFkT25seSxcbiAgICAgICAgICAgICAgICAgICAga2V5OiB0aGlzLm9wdGlvbnMua2V5LFxuICAgICAgICAgICAgICAgICAgICBtdWx0aXRocmVhZGluZzogdGhpcy5vcHRpb25zLm11bHRpdGhyZWFkaW5nLFxuICAgICAgICAgICAgICAgICAgICBtaWdyYXRlOiB0aGlzLm9wdGlvbnMubWlncmF0ZSxcbiAgICAgICAgICAgICAgICAgICAgaW9zRmxhZ3M6IHRoaXMub3B0aW9ucy5pb3NGbGFncyxcbiAgICAgICAgICAgICAgICAgICAgYW5kcm9pZEZsYWdzOiB0aGlzLm9wdGlvbnMuYW5kcm9pZEZsYWdzLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zLmV4dHJhIHx8IHt9LFxuICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICBuZXcgdGhpcy5zcWxpdGUoXG4gICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zLmRhdGFiYXNlLFxuICAgICAgICAgICAgICAgIG9wdGlvbnMsXG4gICAgICAgICAgICAgICAgKGVycjogRXJyb3IsIGRiOiBhbnkpOiBhbnkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyKSByZXR1cm4gZmFpbChlcnIpXG5cblxuICAgICAgICAgICAgICAgICAgICBkYi5yZXN1bHRUeXBlKHRoaXMuc3FsaXRlLlJFU1VMVFNBU09CSkVDVClcblxuXG5cbiAgICAgICAgICAgICAgICAgICAgZGIuZXhlY1NRTChcbiAgICAgICAgICAgICAgICAgICAgICAgIGBQUkFHTUEgZm9yZWlnbl9rZXlzID0gT05gLFxuICAgICAgICAgICAgICAgICAgICAgICAgW10sXG4gICAgICAgICAgICAgICAgICAgICAgICAoZXJyOiBFcnJvciwgcmVzdWx0OiBhbnkpOiBhbnkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnIpIHJldHVybiBmYWlsKGVycilcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9rKGRiKVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSWYgZHJpdmVyIGRlcGVuZGVuY3kgaXMgbm90IGdpdmVuIGV4cGxpY2l0bHksIHRoZW4gdHJ5IHRvIGxvYWQgaXQgdmlhIFwicmVxdWlyZVwiLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBsb2FkRGVwZW5kZW5jaWVzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNxbGl0ZSA9IHRoaXMuZHJpdmVyXG4gICAgICAgIGlmICghdGhpcy5kcml2ZXIpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBEcml2ZXJQYWNrYWdlTm90SW5zdGFsbGVkRXJyb3IoXG4gICAgICAgICAgICAgICAgXCJOYXRpdmVzY3JpcHRcIixcbiAgICAgICAgICAgICAgICBcIm5hdGl2ZXNjcmlwdC1zcWxpdGVcIixcbiAgICAgICAgICAgIClcbiAgICAgICAgfVxuICAgIH1cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRhb24tdHlwZW9ybSBsaWIvdHlwZW9ybS9kcml2ZXIvbmF0aXZlc2NyaXB0L05hdGl2ZXNjcmlwdERyaXZlci50cyJdfQ==
@@ -79,4 +79,4 @@ export class NativescriptQueryRunner extends AbstractSqliteQueryRunner {
79
79
  }
80
80
  ;
81
81
  ({}); // @--end-of-file-for-module=taon-typeorm lib/typeorm/driver/nativescript/NativescriptQueryRunner.ts
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmF0aXZlc2NyaXB0UXVlcnlSdW5uZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90YW9uLXR5cGVvcm0vcHJvamVjdHMvdGFvbi10eXBlb3JtL3NyYy9saWIvdHlwZW9ybS9kcml2ZXIvbmF0aXZlc2NyaXB0L05hdGl2ZXNjcmlwdFF1ZXJ5UnVubmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFBO0FBQzdGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQy9ELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFBO0FBRXhGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFFNUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEseUJBQXlCO0lBVWxFLFlBQVksTUFBMEI7UUFDbEMsS0FBSyxFQUFFLENBQUE7UUFDUCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUE7UUFDbkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUM1QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsZUFBZTtRQUNqQixNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtJQUNqRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsY0FBYztRQUNoQixNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQTtJQUNoRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsS0FB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QUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLG9HQUFvRyIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBPYmplY3RMaXRlcmFsIH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9PYmplY3RMaXRlcmFsXCJcbmltcG9ydCB7IFF1ZXJ5UnVubmVyQWxyZWFkeVJlbGVhc2VkRXJyb3IgfSBmcm9tIFwiLi4vLi4vZXJyb3IvUXVlcnlSdW5uZXJBbHJlYWR5UmVsZWFzZWRFcnJvclwiXG5pbXBvcnQgeyBRdWVyeUZhaWxlZEVycm9yIH0gZnJvbSBcIi4uLy4uL2Vycm9yL1F1ZXJ5RmFpbGVkRXJyb3JcIlxuaW1wb3J0IHsgQWJzdHJhY3RTcWxpdGVRdWVyeVJ1bm5lciB9IGZyb20gXCIuLi9zcWxpdGUtYWJzdHJhY3QvQWJzdHJhY3RTcWxpdGVRdWVyeVJ1bm5lclwiXG5pbXBvcnQgeyBOYXRpdmVzY3JpcHREcml2ZXIgfSBmcm9tIFwiLi9OYXRpdmVzY3JpcHREcml2ZXJcIlxuaW1wb3J0IHsgQnJvYWRjYXN0ZXIgfSBmcm9tIFwiLi4vLi4vc3Vic2NyaWJlci9Ccm9hZGNhc3RlclwiXG5pbXBvcnQgeyBRdWVyeVJlc3VsdCB9IGZyb20gXCIuLi8uLi9xdWVyeS1ydW5uZXIvUXVlcnlSZXN1bHRcIlxuXG4vKipcbiAqIFJ1bnMgcXVlcmllcyBvbiBhIHNpbmdsZSBzcWxpdGUgZGF0YWJhc2UgY29ubmVjdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIE5hdGl2ZXNjcmlwdFF1ZXJ5UnVubmVyIGV4dGVuZHMgQWJzdHJhY3RTcWxpdGVRdWVyeVJ1bm5lciB7XG4gICAgLyoqXG4gICAgICogRGF0YWJhc2UgZHJpdmVyIHVzZWQgYnkgY29ubmVjdGlvbi5cbiAgICAgKi9cbiAgICBkcml2ZXI6IE5hdGl2ZXNjcmlwdERyaXZlclxuXG5cblxuXG5cbiAgICBjb25zdHJ1Y3Rvcihkcml2ZXI6IE5hdGl2ZXNjcmlwdERyaXZlcikge1xuICAgICAgICBzdXBlcigpXG4gICAgICAgIHRoaXMuZHJpdmVyID0gZHJpdmVyXG4gICAgICAgIHRoaXMuY29ubmVjdGlvbiA9IGRyaXZlci5jb25uZWN0aW9uXG4gICAgICAgIHRoaXMuYnJvYWRjYXN0ZXIgPSBuZXcgQnJvYWRjYXN0ZXIodGhpcylcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxsZWQgYmVmb3JlIG1pZ3JhdGlvbnMgYXJlIHJ1bi5cbiAgICAgKi9cbiAgICBhc3luYyBiZWZvcmVNaWdyYXRpb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0IHRoaXMucXVlcnkoYFBSQUdNQSBmb3JlaWduX2tleXMgPSBPRkZgKVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGxlZCBhZnRlciBtaWdyYXRpb25zIGFyZSBydW4uXG4gICAgICovXG4gICAgYXN5bmMgYWZ0ZXJNaWdyYXRpb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0IHRoaXMucXVlcnkoYFBSQUdNQSBmb3JlaWduX2tleXMgPSBPTmApXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRXhlY3V0ZXMgYSBnaXZlbiBTUUwgcXVlcnkuXG4gICAgICovXG4gICAgYXN5bmMgcXVlcnkoXG4gICAgICAgIHF1ZXJ5OiBzdHJpbmcsXG4gICAgICAgIHBhcmFtZXRlcnM/OiBhbnlbXSxcbiAgICAgICAgdXNlU3RydWN0dXJlZFJlc3VsdCA9IGZhbHNlLFxuICAgICk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIGlmICh0aGlzLmlzUmVsZWFzZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBRdWVyeVJ1bm5lckFscmVhZHlSZWxlYXNlZEVycm9yKClcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNvbm5lY3Rpb24gPSB0aGlzLmRyaXZlci5jb25uZWN0aW9uXG5cbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGFzeW5jIChvaywgZmFpbCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZGF0YWJhc2VDb25uZWN0aW9uID0gYXdhaXQgdGhpcy5jb25uZWN0KClcbiAgICAgICAgICAgIGNvbnN0IGlzSW5zZXJ0UXVlcnkgPSBxdWVyeS5zdWJzdHIoMCwgMTEpID09PSBcIklOU0VSVCBJTlRPXCJcbiAgICAgICAgICAgIGNvbm5lY3Rpb24ubG9nZ2VyLmxvZ1F1ZXJ5KHF1ZXJ5LCBwYXJhbWV0ZXJzLCB0aGlzKVxuXG4gICAgICAgICAgICBjb25zdCBoYW5kbGVyID0gKGVycjogYW55LCByYXc6IGFueSkgPT4ge1xuXG4gICAgICAgICAgICAgICAgY29uc3QgbWF4UXVlcnlFeGVjdXRpb25UaW1lID1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kcml2ZXIub3B0aW9ucy5tYXhRdWVyeUV4ZWN1dGlvblRpbWVcbiAgICAgICAgICAgICAgICBjb25zdCBxdWVyeUVuZFRpbWUgPSArbmV3IERhdGUoKVxuICAgICAgICAgICAgICAgIGNvbnN0IHF1ZXJ5RXhlY3V0aW9uVGltZSA9IHF1ZXJ5RW5kVGltZSAtIHF1ZXJ5U3RhcnRUaW1lXG5cbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIG1heFF1ZXJ5RXhlY3V0aW9uVGltZSAmJlxuICAgICAgICAgICAgICAgICAgICBxdWVyeUV4ZWN1dGlvblRpbWUgPiBtYXhRdWVyeUV4ZWN1dGlvblRpbWVcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgY29ubmVjdGlvbi5sb2dnZXIubG9nUXVlcnlTbG93KFxuICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnlFeGVjdXRpb25UaW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnksXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcyxcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgICAgICAgICAgY29ubmVjdGlvbi5sb2dnZXIubG9nUXVlcnlFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycixcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5LFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVycyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgZmFpbChuZXcgUXVlcnlGYWlsZWRFcnJvcihxdWVyeSwgcGFyYW1ldGVycywgZXJyKSlcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSBuZXcgUXVlcnlSZXN1bHQoKVxuICAgICAgICAgICAgICAgIHJlc3VsdC5yYXcgPSByYXdcblxuICAgICAgICAgICAgICAgIGlmICghaXNJbnNlcnRRdWVyeSAmJiBBcnJheS5pc0FycmF5KHJhdykpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnJlY29yZHMgPSByYXdcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAodXNlU3RydWN0dXJlZFJlc3VsdCkge1xuICAgICAgICAgICAgICAgICAgICBvayhyZXN1bHQpXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgb2socmVzdWx0LnJhdylcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBxdWVyeVN0YXJ0VGltZSA9ICtuZXcgRGF0ZSgpXG5cbiAgICAgICAgICAgIGlmIChpc0luc2VydFF1ZXJ5KSB7XG4gICAgICAgICAgICAgICAgZGF0YWJhc2VDb25uZWN0aW9uLmV4ZWNTUUwocXVlcnksIHBhcmFtZXRlcnMsIGhhbmRsZXIpXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGRhdGFiYXNlQ29ubmVjdGlvbi5hbGwocXVlcnksIHBhcmFtZXRlcnMsIGhhbmRsZXIpXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgfVxuXG5cblxuXG5cbiAgICAvKipcbiAgICAgKiBQYXJhbWV0cml6ZXMgZ2l2ZW4gb2JqZWN0IG9mIHZhbHVlcy4gVXNlZCB0byBjcmVhdGUgY29sdW1uPXZhbHVlIHF1ZXJpZXMuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHBhcmFtZXRyaXplKFxuICAgICAgICBvYmplY3RMaXRlcmFsOiBPYmplY3RMaXRlcmFsLFxuICAgICAgICBzdGFydEluZGV4OiBudW1iZXIgPSAwLFxuICAgICk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKG9iamVjdExpdGVyYWwpLm1hcCgoa2V5LCBpbmRleCkgPT4gYFwiJHtrZXl9XCJgICsgXCI9P1wiKVxuICAgIH1cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRhb24tdHlwZW9ybSBsaWIvdHlwZW9ybS9kcml2ZXIvbmF0aXZlc2NyaXB0L05hdGl2ZXNjcmlwdFF1ZXJ5UnVubmVyLnRzIl19
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmF0aXZlc2NyaXB0UXVlcnlSdW5uZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90YW9uLXR5cGVvcm0vcHJvamVjdHMvdGFvbi10eXBlb3JtL3NyYy9saWIvdHlwZW9ybS9kcml2ZXIvbmF0aXZlc2NyaXB0L05hdGl2ZXNjcmlwdFF1ZXJ5UnVubmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFBO0FBQzdGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQy9ELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFBO0FBRXhGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFFNUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEseUJBQXlCO0lBVWxFLFlBQVksTUFBMEI7UUFDbEMsS0FBSyxFQUFFLENBQUE7UUFDUCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUE7UUFDbkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUM1QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsZUFBZTtRQUNqQixNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtJQUNqRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsY0FBYztRQUNoQixNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQTtJQUNoRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsS0FBSyxDQUNQLEtBQWEsRUFDYixVQUFrQixFQUNsQixtQkFBbUIsR0FBRyxLQUFLO1FBRTNCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xCLE1BQU0sSUFBSSwrQkFBK0IsRUFBRSxDQUFBO1FBQy9DLENBQUM7UUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQTtRQUV6QyxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDbEMsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQTtZQUMvQyxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxhQUFhLENBQUE7WUFDM0QsVUFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQTtZQUVuRCxNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQVEsRUFBRSxHQUFRLEVBQUUsRUFBRTtnQkFFbkMsTUFBTSxxQkFBcUIsR0FDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUE7Z0JBQzdDLE1BQU0sWUFBWSxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQTtnQkFDaEMsTUFBTSxrQkFBa0IsR0FBRyxZQUFZLEdBQUcsY0FBYyxDQUFBO2dCQUV4RCxJQUNJLHFCQUFxQjtvQkFDckIsa0JBQWtCLEdBQUcscUJBQXFCLEVBQzVDLENBQUM7b0JBQ0MsVUFBVSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQzFCLGtCQUFrQixFQUNsQixLQUFLLEVBQ0wsVUFBVSxFQUNWLElBQUksQ0FDUCxDQUFBO2dCQUNMLENBQUM7Z0JBRUQsSUFBSSxHQUFHLEVBQUUsQ0FBQztvQkFDTixVQUFVLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FDM0IsR0FBRyxFQUNILEtBQUssRUFDTCxVQUFVLEVBQ1YsSUFBSSxDQUNQLENBQUE7b0JBQ0QsSUFBSSxDQUFDLElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFBO2dCQUN0RCxDQUFDO2dCQUVELE1BQU0sTUFBTSxHQUFHLElBQUksV0FBVyxFQUFFLENBQUE7Z0JBQ2hDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFBO2dCQUVoQixJQUFJLENBQUMsYUFBYSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDdkMsTUFBTSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUE7Z0JBQ3hCLENBQUM7Z0JBRUQsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO29CQUN0QixFQUFFLENBQUMsTUFBTSxDQUFDLENBQUE7Z0JBQ2QsQ0FBQztxQkFBTSxDQUFDO29CQUNKLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7Z0JBQ2xCLENBQUM7WUFDTCxDQUFDLENBQUE7WUFDRCxNQUFNLGNBQWMsR0FBRyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUE7WUFFbEMsSUFBSSxhQUFhLEVBQUUsQ0FBQztnQkFDaEIsa0JBQWtCLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUE7WUFDMUQsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFBO1lBQ3RELENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFNRDs7T0FFRztJQUNPLFdBQVcsQ0FDakIsYUFBNEIsRUFDNUIsYUFBcUIsQ0FBQztRQUV0QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQTtJQUM1RSxDQUFDO0NBQ0o7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLG9HQUFvRyIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBPYmplY3RMaXRlcmFsIH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9PYmplY3RMaXRlcmFsXCJcbmltcG9ydCB7IFF1ZXJ5UnVubmVyQWxyZWFkeVJlbGVhc2VkRXJyb3IgfSBmcm9tIFwiLi4vLi4vZXJyb3IvUXVlcnlSdW5uZXJBbHJlYWR5UmVsZWFzZWRFcnJvclwiXG5pbXBvcnQgeyBRdWVyeUZhaWxlZEVycm9yIH0gZnJvbSBcIi4uLy4uL2Vycm9yL1F1ZXJ5RmFpbGVkRXJyb3JcIlxuaW1wb3J0IHsgQWJzdHJhY3RTcWxpdGVRdWVyeVJ1bm5lciB9IGZyb20gXCIuLi9zcWxpdGUtYWJzdHJhY3QvQWJzdHJhY3RTcWxpdGVRdWVyeVJ1bm5lclwiXG5pbXBvcnQgeyBOYXRpdmVzY3JpcHREcml2ZXIgfSBmcm9tIFwiLi9OYXRpdmVzY3JpcHREcml2ZXJcIlxuaW1wb3J0IHsgQnJvYWRjYXN0ZXIgfSBmcm9tIFwiLi4vLi4vc3Vic2NyaWJlci9Ccm9hZGNhc3RlclwiXG5pbXBvcnQgeyBRdWVyeVJlc3VsdCB9IGZyb20gXCIuLi8uLi9xdWVyeS1ydW5uZXIvUXVlcnlSZXN1bHRcIlxuXG4vKipcbiAqIFJ1bnMgcXVlcmllcyBvbiBhIHNpbmdsZSBzcWxpdGUgZGF0YWJhc2UgY29ubmVjdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIE5hdGl2ZXNjcmlwdFF1ZXJ5UnVubmVyIGV4dGVuZHMgQWJzdHJhY3RTcWxpdGVRdWVyeVJ1bm5lciB7XG4gICAgLyoqXG4gICAgICogRGF0YWJhc2UgZHJpdmVyIHVzZWQgYnkgY29ubmVjdGlvbi5cbiAgICAgKi9cbiAgICBkZWNsYXJlIGRyaXZlcjogTmF0aXZlc2NyaXB0RHJpdmVyXG5cblxuXG5cblxuICAgIGNvbnN0cnVjdG9yKGRyaXZlcjogTmF0aXZlc2NyaXB0RHJpdmVyKSB7XG4gICAgICAgIHN1cGVyKClcbiAgICAgICAgdGhpcy5kcml2ZXIgPSBkcml2ZXJcbiAgICAgICAgdGhpcy5jb25uZWN0aW9uID0gZHJpdmVyLmNvbm5lY3Rpb25cbiAgICAgICAgdGhpcy5icm9hZGNhc3RlciA9IG5ldyBCcm9hZGNhc3Rlcih0aGlzKVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGxlZCBiZWZvcmUgbWlncmF0aW9ucyBhcmUgcnVuLlxuICAgICAqL1xuICAgIGFzeW5jIGJlZm9yZU1pZ3JhdGlvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5xdWVyeShgUFJBR01BIGZvcmVpZ25fa2V5cyA9IE9GRmApXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsbGVkIGFmdGVyIG1pZ3JhdGlvbnMgYXJlIHJ1bi5cbiAgICAgKi9cbiAgICBhc3luYyBhZnRlck1pZ3JhdGlvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5xdWVyeShgUFJBR01BIGZvcmVpZ25fa2V5cyA9IE9OYClcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFeGVjdXRlcyBhIGdpdmVuIFNRTCBxdWVyeS5cbiAgICAgKi9cbiAgICBhc3luYyBxdWVyeShcbiAgICAgICAgcXVlcnk6IHN0cmluZyxcbiAgICAgICAgcGFyYW1ldGVycz86IGFueVtdLFxuICAgICAgICB1c2VTdHJ1Y3R1cmVkUmVzdWx0ID0gZmFsc2UsXG4gICAgKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNSZWxlYXNlZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFF1ZXJ5UnVubmVyQWxyZWFkeVJlbGVhc2VkRXJyb3IoKVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY29ubmVjdGlvbiA9IHRoaXMuZHJpdmVyLmNvbm5lY3Rpb25cblxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgKG9rLCBmYWlsKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBkYXRhYmFzZUNvbm5lY3Rpb24gPSBhd2FpdCB0aGlzLmNvbm5lY3QoKVxuICAgICAgICAgICAgY29uc3QgaXNJbnNlcnRRdWVyeSA9IHF1ZXJ5LnN1YnN0cigwLCAxMSkgPT09IFwiSU5TRVJUIElOVE9cIlxuICAgICAgICAgICAgY29ubmVjdGlvbi5sb2dnZXIubG9nUXVlcnkocXVlcnksIHBhcmFtZXRlcnMsIHRoaXMpXG5cbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZXIgPSAoZXJyOiBhbnksIHJhdzogYW55KSA9PiB7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBtYXhRdWVyeUV4ZWN1dGlvblRpbWUgPVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRyaXZlci5vcHRpb25zLm1heFF1ZXJ5RXhlY3V0aW9uVGltZVxuICAgICAgICAgICAgICAgIGNvbnN0IHF1ZXJ5RW5kVGltZSA9ICtuZXcgRGF0ZSgpXG4gICAgICAgICAgICAgICAgY29uc3QgcXVlcnlFeGVjdXRpb25UaW1lID0gcXVlcnlFbmRUaW1lIC0gcXVlcnlTdGFydFRpbWVcblxuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgbWF4UXVlcnlFeGVjdXRpb25UaW1lICYmXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5RXhlY3V0aW9uVGltZSA+IG1heFF1ZXJ5RXhlY3V0aW9uVGltZVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBjb25uZWN0aW9uLmxvZ2dlci5sb2dRdWVyeVNsb3coXG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVyeUV4ZWN1dGlvblRpbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVyeSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnMsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLFxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgICAgICAgICBjb25uZWN0aW9uLmxvZ2dlci5sb2dRdWVyeUVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyLFxuICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnksXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcyxcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICBmYWlsKG5ldyBRdWVyeUZhaWxlZEVycm9yKHF1ZXJ5LCBwYXJhbWV0ZXJzLCBlcnIpKVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBRdWVyeVJlc3VsdCgpXG4gICAgICAgICAgICAgICAgcmVzdWx0LnJhdyA9IHJhd1xuXG4gICAgICAgICAgICAgICAgaWYgKCFpc0luc2VydFF1ZXJ5ICYmIEFycmF5LmlzQXJyYXkocmF3KSkge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQucmVjb3JkcyA9IHJhd1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh1c2VTdHJ1Y3R1cmVkUmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgICAgIG9rKHJlc3VsdClcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBvayhyZXN1bHQucmF3KVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHF1ZXJ5U3RhcnRUaW1lID0gK25ldyBEYXRlKClcblxuICAgICAgICAgICAgaWYgKGlzSW5zZXJ0UXVlcnkpIHtcbiAgICAgICAgICAgICAgICBkYXRhYmFzZUNvbm5lY3Rpb24uZXhlY1NRTChxdWVyeSwgcGFyYW1ldGVycywgaGFuZGxlcilcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZGF0YWJhc2VDb25uZWN0aW9uLmFsbChxdWVyeSwgcGFyYW1ldGVycywgaGFuZGxlcilcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICB9XG5cblxuXG5cblxuICAgIC8qKlxuICAgICAqIFBhcmFtZXRyaXplcyBnaXZlbiBvYmplY3Qgb2YgdmFsdWVzLiBVc2VkIHRvIGNyZWF0ZSBjb2x1bW49dmFsdWUgcXVlcmllcy5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcGFyYW1ldHJpemUoXG4gICAgICAgIG9iamVjdExpdGVyYWw6IE9iamVjdExpdGVyYWwsXG4gICAgICAgIHN0YXJ0SW5kZXg6IG51bWJlciA9IDAsXG4gICAgKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMob2JqZWN0TGl0ZXJhbCkubWFwKChrZXksIGluZGV4KSA9PiBgXCIke2tleX1cImAgKyBcIj0/XCIpXG4gICAgfVxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dGFvbi10eXBlb3JtIGxpYi90eXBlb3JtL2RyaXZlci9uYXRpdmVzY3JpcHQvTmF0aXZlc2NyaXB0UXVlcnlSdW5uZXIudHMiXX0=
@@ -66,4 +66,4 @@ export class ReactNativeDriver extends AbstractSqliteDriver {
66
66
  }
67
67
  ;
68
68
  ({}); // @--end-of-file-for-module=taon-typeorm lib/typeorm/driver/react-native/ReactNativeDriver.ts
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVhY3ROYXRpdmVEcml2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90YW9uLXR5cGVvcm0vcHJvamVjdHMvdGFvbi10eXBlb3JtL3NyYy9saWIvdHlwZW9ybS9kcml2ZXIvcmVhY3QtbmF0aXZlL1JlYWN0TmF0aXZlRHJpdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBRTlFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBR2pFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQzdFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDRDQUE0QyxDQUFBO0FBRzNGLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxvQkFBb0I7SUFPdkQsWUFBWSxVQUFzQjtRQUM5QixLQUFLLENBQUMsVUFBVSxDQUFDLENBQUE7UUFFakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQTtRQUdyQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRO1lBQ3RCLE1BQU0sSUFBSSx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUVqRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRO1lBQ3RCLE1BQU0sSUFBSSx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUdqRCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtJQUMzQixDQUFDO0lBTUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsVUFBVTtRQUNaLE9BQU8sSUFBSSxPQUFPLENBQU8sQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDbEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUE7WUFDNUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDM0MsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSCxpQkFBaUIsQ0FBQyxJQUFxQjtRQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVc7WUFDakIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFBO1FBRXZELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQTtJQUMzQixDQUFDO0lBTUQ7O09BRUc7SUFDTyx3QkFBd0I7UUFDOUIsT0FBTyxJQUFJLE9BQU8sQ0FBTyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUNsQyxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUN6QixFQUFFLEVBQ0Y7Z0JBQ0ksSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUTtnQkFDM0IsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUTthQUNsQyxFQUNELElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FDM0IsQ0FBQTtZQUVELElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUNwQixPQUFPLEVBQ1AsQ0FBQyxFQUFPLEVBQUUsRUFBRTtnQkFDUixNQUFNLGtCQUFrQixHQUFHLEVBQUUsQ0FBQTtnQkFJN0Isa0JBQWtCLENBQUMsVUFBVSxDQUN6QiwwQkFBMEIsRUFDMUIsRUFBRSxFQUNGLENBQUMsTUFBVyxFQUFFLEVBQUU7b0JBQ1osRUFBRSxDQUFDLGtCQUFrQixDQUFDLENBQUE7Z0JBQzFCLENBQUMsRUFDRCxDQUFDLEtBQVUsRUFBRSxFQUFFO29CQUNYLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtnQkFDZixDQUFDLENBQ0osQ0FBQTtZQUNMLENBQUMsRUFDRCxDQUFDLEtBQVUsRUFBRSxFQUFFO2dCQUNYLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUNmLENBQUMsQ0FDSixDQUFBO1FBQ0wsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDTyxnQkFBZ0I7UUFDdEIsSUFBSSxDQUFDO1lBQ0QsTUFBTSxNQUFNLEdBQUcsYUFBYTthQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsNkJBQTZCLENBQUMsQ0FBQTtZQUNqRSxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUN4QixDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNULE1BQU0sSUFBSSw4QkFBOEIsQ0FDcEMsY0FBYyxFQUNkLDZCQUE2QixDQUNoQyxDQUFBO1FBQ0wsQ0FBQztJQUNMLENBQUM7Q0FDSjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsOEZBQThGIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IEFic3RyYWN0U3FsaXRlRHJpdmVyIH0gZnJvbSBcIi4uL3NxbGl0ZS1hYnN0cmFjdC9BYnN0cmFjdFNxbGl0ZURyaXZlclwiXG5pbXBvcnQgeyBSZWFjdE5hdGl2ZUNvbm5lY3Rpb25PcHRpb25zIH0gZnJvbSBcIi4vUmVhY3ROYXRpdmVDb25uZWN0aW9uT3B0aW9uc1wiXG5pbXBvcnQgeyBSZWFjdE5hdGl2ZVF1ZXJ5UnVubmVyIH0gZnJvbSBcIi4vUmVhY3ROYXRpdmVRdWVyeVJ1bm5lclwiXG5pbXBvcnQgeyBRdWVyeVJ1bm5lciB9IGZyb20gXCIuLi8uLi9xdWVyeS1ydW5uZXIvUXVlcnlSdW5uZXJcIlxuaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gXCIuLi8uLi9kYXRhLXNvdXJjZS9EYXRhU291cmNlXCJcbmltcG9ydCB7IERyaXZlck9wdGlvbk5vdFNldEVycm9yIH0gZnJvbSBcIi4uLy4uL2Vycm9yL0RyaXZlck9wdGlvbk5vdFNldEVycm9yXCJcbmltcG9ydCB7IERyaXZlclBhY2thZ2VOb3RJbnN0YWxsZWRFcnJvciB9IGZyb20gXCIuLi8uLi9lcnJvci9Ecml2ZXJQYWNrYWdlTm90SW5zdGFsbGVkRXJyb3JcIlxuaW1wb3J0IHsgUmVwbGljYXRpb25Nb2RlIH0gZnJvbSBcIi4uL3R5cGVzL1JlcGxpY2F0aW9uTW9kZVwiXG5cbmV4cG9ydCBjbGFzcyBSZWFjdE5hdGl2ZURyaXZlciBleHRlbmRzIEFic3RyYWN0U3FsaXRlRHJpdmVyIHtcbiAgICBvcHRpb25zOiBSZWFjdE5hdGl2ZUNvbm5lY3Rpb25PcHRpb25zXG5cblxuXG5cblxuICAgIGNvbnN0cnVjdG9yKGNvbm5lY3Rpb246IERhdGFTb3VyY2UpIHtcbiAgICAgICAgc3VwZXIoY29ubmVjdGlvbilcblxuICAgICAgICB0aGlzLmRhdGFiYXNlID0gdGhpcy5vcHRpb25zLmRhdGFiYXNlXG5cblxuICAgICAgICBpZiAoIXRoaXMub3B0aW9ucy5kYXRhYmFzZSlcbiAgICAgICAgICAgIHRocm93IG5ldyBEcml2ZXJPcHRpb25Ob3RTZXRFcnJvcihcImRhdGFiYXNlXCIpXG5cbiAgICAgICAgaWYgKCF0aGlzLm9wdGlvbnMubG9jYXRpb24pXG4gICAgICAgICAgICB0aHJvdyBuZXcgRHJpdmVyT3B0aW9uTm90U2V0RXJyb3IoXCJsb2NhdGlvblwiKVxuXG5cbiAgICAgICAgdGhpcy5sb2FkRGVwZW5kZW5jaWVzKClcbiAgICB9XG5cblxuXG5cblxuICAgIC8qKlxuICAgICAqIENsb3NlcyBjb25uZWN0aW9uIHdpdGggZGF0YWJhc2UuXG4gICAgICovXG4gICAgYXN5bmMgZGlzY29ubmVjdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChvaywgZmFpbCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5xdWVyeVJ1bm5lciA9IHVuZGVmaW5lZFxuICAgICAgICAgICAgdGhpcy5kYXRhYmFzZUNvbm5lY3Rpb24uY2xvc2Uob2ssIGZhaWwpXG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIHF1ZXJ5IHJ1bm5lciB1c2VkIHRvIGV4ZWN1dGUgZGF0YWJhc2UgcXVlcmllcy5cbiAgICAgKi9cbiAgICBjcmVhdGVRdWVyeVJ1bm5lcihtb2RlOiBSZXBsaWNhdGlvbk1vZGUpOiBRdWVyeVJ1bm5lciB7XG4gICAgICAgIGlmICghdGhpcy5xdWVyeVJ1bm5lcilcbiAgICAgICAgICAgIHRoaXMucXVlcnlSdW5uZXIgPSBuZXcgUmVhY3ROYXRpdmVRdWVyeVJ1bm5lcih0aGlzKVxuXG4gICAgICAgIHJldHVybiB0aGlzLnF1ZXJ5UnVubmVyXG4gICAgfVxuXG5cblxuXG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGNvbm5lY3Rpb24gd2l0aCB0aGUgZGF0YWJhc2UuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGNyZWF0ZURhdGFiYXNlQ29ubmVjdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChvaywgZmFpbCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oXG4gICAgICAgICAgICAgICAge30sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiB0aGlzLm9wdGlvbnMuZGF0YWJhc2UsXG4gICAgICAgICAgICAgICAgICAgIGxvY2F0aW9uOiB0aGlzLm9wdGlvbnMubG9jYXRpb24sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMuZXh0cmEgfHwge30sXG4gICAgICAgICAgICApXG5cbiAgICAgICAgICAgIHRoaXMuc3FsaXRlLm9wZW5EYXRhYmFzZShcbiAgICAgICAgICAgICAgICBvcHRpb25zLFxuICAgICAgICAgICAgICAgIChkYjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGFiYXNlQ29ubmVjdGlvbiA9IGRiXG5cblxuXG4gICAgICAgICAgICAgICAgICAgIGRhdGFiYXNlQ29ubmVjdGlvbi5leGVjdXRlU3FsKFxuICAgICAgICAgICAgICAgICAgICAgICAgYFBSQUdNQSBmb3JlaWduX2tleXMgPSBPTmAsXG4gICAgICAgICAgICAgICAgICAgICAgICBbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIChyZXN1bHQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9rKGRhdGFiYXNlQ29ubmVjdGlvbilcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhaWwoZXJyb3IpXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBmYWlsKGVycm9yKVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSWYgZHJpdmVyIGRlcGVuZGVuY3kgaXMgbm90IGdpdmVuIGV4cGxpY2l0bHksIHRoZW4gdHJ5IHRvIGxvYWQgaXQgdmlhIFwicmVxdWlyZVwiLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBsb2FkRGVwZW5kZW5jaWVzKCk6IHZvaWQge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3Qgc3FsaXRlID0gLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucy5kcml2ZXIgfHwgcmVxdWlyZShcInJlYWN0LW5hdGl2ZS1zcWxpdGUtc3RvcmFnZVwiKVxuICAgICAgICAgICAgdGhpcy5zcWxpdGUgPSBzcWxpdGVcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IERyaXZlclBhY2thZ2VOb3RJbnN0YWxsZWRFcnJvcihcbiAgICAgICAgICAgICAgICBcIlJlYWN0LU5hdGl2ZVwiLFxuICAgICAgICAgICAgICAgIFwicmVhY3QtbmF0aXZlLXNxbGl0ZS1zdG9yYWdlXCIsXG4gICAgICAgICAgICApXG4gICAgICAgIH1cbiAgICB9XG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10YW9uLXR5cGVvcm0gbGliL3R5cGVvcm0vZHJpdmVyL3JlYWN0LW5hdGl2ZS9SZWFjdE5hdGl2ZURyaXZlci50cyJdfQ==
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVhY3ROYXRpdmVEcml2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90YW9uLXR5cGVvcm0vcHJvamVjdHMvdGFvbi10eXBlb3JtL3NyYy9saWIvdHlwZW9ybS9kcml2ZXIvcmVhY3QtbmF0aXZlL1JlYWN0TmF0aXZlRHJpdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBRTlFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBR2pFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQzdFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDRDQUE0QyxDQUFBO0FBRzNGLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxvQkFBb0I7SUFPdkQsWUFBWSxVQUFzQjtRQUM5QixLQUFLLENBQUMsVUFBVSxDQUFDLENBQUE7UUFFakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQTtRQUdyQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRO1lBQ3RCLE1BQU0sSUFBSSx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUVqRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRO1lBQ3RCLE1BQU0sSUFBSSx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUdqRCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtJQUMzQixDQUFDO0lBTUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsVUFBVTtRQUNaLE9BQU8sSUFBSSxPQUFPLENBQU8sQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDbEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUE7WUFDNUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDM0MsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSCxpQkFBaUIsQ0FBQyxJQUFxQjtRQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVc7WUFDakIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFBO1FBRXZELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQTtJQUMzQixDQUFDO0lBTUQ7O09BRUc7SUFDTyx3QkFBd0I7UUFDOUIsT0FBTyxJQUFJLE9BQU8sQ0FBTyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUNsQyxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUN6QixFQUFFLEVBQ0Y7Z0JBQ0ksSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUTtnQkFDM0IsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUTthQUNsQyxFQUNELElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FDM0IsQ0FBQTtZQUVELElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUNwQixPQUFPLEVBQ1AsQ0FBQyxFQUFPLEVBQUUsRUFBRTtnQkFDUixNQUFNLGtCQUFrQixHQUFHLEVBQUUsQ0FBQTtnQkFJN0Isa0JBQWtCLENBQUMsVUFBVSxDQUN6QiwwQkFBMEIsRUFDMUIsRUFBRSxFQUNGLENBQUMsTUFBVyxFQUFFLEVBQUU7b0JBQ1osRUFBRSxDQUFDLGtCQUFrQixDQUFDLENBQUE7Z0JBQzFCLENBQUMsRUFDRCxDQUFDLEtBQVUsRUFBRSxFQUFFO29CQUNYLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtnQkFDZixDQUFDLENBQ0osQ0FBQTtZQUNMLENBQUMsRUFDRCxDQUFDLEtBQVUsRUFBRSxFQUFFO2dCQUNYLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUNmLENBQUMsQ0FDSixDQUFBO1FBQ0wsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDTyxnQkFBZ0I7UUFDdEIsSUFBSSxDQUFDO1lBQ0QsTUFBTSxNQUFNLEdBQUcsYUFBYTthQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsNkJBQTZCLENBQUMsQ0FBQTtZQUNqRSxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUN4QixDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNULE1BQU0sSUFBSSw4QkFBOEIsQ0FDcEMsY0FBYyxFQUNkLDZCQUE2QixDQUNoQyxDQUFBO1FBQ0wsQ0FBQztJQUNMLENBQUM7Q0FDSjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsOEZBQThGIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IEFic3RyYWN0U3FsaXRlRHJpdmVyIH0gZnJvbSBcIi4uL3NxbGl0ZS1hYnN0cmFjdC9BYnN0cmFjdFNxbGl0ZURyaXZlclwiXG5pbXBvcnQgeyBSZWFjdE5hdGl2ZUNvbm5lY3Rpb25PcHRpb25zIH0gZnJvbSBcIi4vUmVhY3ROYXRpdmVDb25uZWN0aW9uT3B0aW9uc1wiXG5pbXBvcnQgeyBSZWFjdE5hdGl2ZVF1ZXJ5UnVubmVyIH0gZnJvbSBcIi4vUmVhY3ROYXRpdmVRdWVyeVJ1bm5lclwiXG5pbXBvcnQgeyBRdWVyeVJ1bm5lciB9IGZyb20gXCIuLi8uLi9xdWVyeS1ydW5uZXIvUXVlcnlSdW5uZXJcIlxuaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gXCIuLi8uLi9kYXRhLXNvdXJjZS9EYXRhU291cmNlXCJcbmltcG9ydCB7IERyaXZlck9wdGlvbk5vdFNldEVycm9yIH0gZnJvbSBcIi4uLy4uL2Vycm9yL0RyaXZlck9wdGlvbk5vdFNldEVycm9yXCJcbmltcG9ydCB7IERyaXZlclBhY2thZ2VOb3RJbnN0YWxsZWRFcnJvciB9IGZyb20gXCIuLi8uLi9lcnJvci9Ecml2ZXJQYWNrYWdlTm90SW5zdGFsbGVkRXJyb3JcIlxuaW1wb3J0IHsgUmVwbGljYXRpb25Nb2RlIH0gZnJvbSBcIi4uL3R5cGVzL1JlcGxpY2F0aW9uTW9kZVwiXG5cbmV4cG9ydCBjbGFzcyBSZWFjdE5hdGl2ZURyaXZlciBleHRlbmRzIEFic3RyYWN0U3FsaXRlRHJpdmVyIHtcbiAgICBkZWNsYXJlIG9wdGlvbnM6IFJlYWN0TmF0aXZlQ29ubmVjdGlvbk9wdGlvbnNcblxuXG5cblxuXG4gICAgY29uc3RydWN0b3IoY29ubmVjdGlvbjogRGF0YVNvdXJjZSkge1xuICAgICAgICBzdXBlcihjb25uZWN0aW9uKVxuXG4gICAgICAgIHRoaXMuZGF0YWJhc2UgPSB0aGlzLm9wdGlvbnMuZGF0YWJhc2VcblxuXG4gICAgICAgIGlmICghdGhpcy5vcHRpb25zLmRhdGFiYXNlKVxuICAgICAgICAgICAgdGhyb3cgbmV3IERyaXZlck9wdGlvbk5vdFNldEVycm9yKFwiZGF0YWJhc2VcIilcblxuICAgICAgICBpZiAoIXRoaXMub3B0aW9ucy5sb2NhdGlvbilcbiAgICAgICAgICAgIHRocm93IG5ldyBEcml2ZXJPcHRpb25Ob3RTZXRFcnJvcihcImxvY2F0aW9uXCIpXG5cblxuICAgICAgICB0aGlzLmxvYWREZXBlbmRlbmNpZXMoKVxuICAgIH1cblxuXG5cblxuXG4gICAgLyoqXG4gICAgICogQ2xvc2VzIGNvbm5lY3Rpb24gd2l0aCBkYXRhYmFzZS5cbiAgICAgKi9cbiAgICBhc3luYyBkaXNjb25uZWN0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKG9rLCBmYWlsKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnF1ZXJ5UnVubmVyID0gdW5kZWZpbmVkXG4gICAgICAgICAgICB0aGlzLmRhdGFiYXNlQ29ubmVjdGlvbi5jbG9zZShvaywgZmFpbClcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgcXVlcnkgcnVubmVyIHVzZWQgdG8gZXhlY3V0ZSBkYXRhYmFzZSBxdWVyaWVzLlxuICAgICAqL1xuICAgIGNyZWF0ZVF1ZXJ5UnVubmVyKG1vZGU6IFJlcGxpY2F0aW9uTW9kZSk6IFF1ZXJ5UnVubmVyIHtcbiAgICAgICAgaWYgKCF0aGlzLnF1ZXJ5UnVubmVyKVxuICAgICAgICAgICAgdGhpcy5xdWVyeVJ1bm5lciA9IG5ldyBSZWFjdE5hdGl2ZVF1ZXJ5UnVubmVyKHRoaXMpXG5cbiAgICAgICAgcmV0dXJuIHRoaXMucXVlcnlSdW5uZXJcbiAgICB9XG5cblxuXG5cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgY29ubmVjdGlvbiB3aXRoIHRoZSBkYXRhYmFzZS5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgY3JlYXRlRGF0YWJhc2VDb25uZWN0aW9uKCkge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKG9rLCBmYWlsKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBvcHRpb25zID0gT2JqZWN0LmFzc2lnbihcbiAgICAgICAgICAgICAgICB7fSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IHRoaXMub3B0aW9ucy5kYXRhYmFzZSxcbiAgICAgICAgICAgICAgICAgICAgbG9jYXRpb246IHRoaXMub3B0aW9ucy5sb2NhdGlvbixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucy5leHRyYSB8fCB7fSxcbiAgICAgICAgICAgIClcblxuICAgICAgICAgICAgdGhpcy5zcWxpdGUub3BlbkRhdGFiYXNlKFxuICAgICAgICAgICAgICAgIG9wdGlvbnMsXG4gICAgICAgICAgICAgICAgKGRiOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YWJhc2VDb25uZWN0aW9uID0gZGJcblxuXG5cbiAgICAgICAgICAgICAgICAgICAgZGF0YWJhc2VDb25uZWN0aW9uLmV4ZWN1dGVTcWwoXG4gICAgICAgICAgICAgICAgICAgICAgICBgUFJBR01BIGZvcmVpZ25fa2V5cyA9IE9OYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIFtdLFxuICAgICAgICAgICAgICAgICAgICAgICAgKHJlc3VsdDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2soZGF0YWJhc2VDb25uZWN0aW9uKVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFpbChlcnJvcilcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGZhaWwoZXJyb3IpXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJZiBkcml2ZXIgZGVwZW5kZW5jeSBpcyBub3QgZ2l2ZW4gZXhwbGljaXRseSwgdGhlbiB0cnkgdG8gbG9hZCBpdCB2aWEgXCJyZXF1aXJlXCIuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGxvYWREZXBlbmRlbmNpZXMoKTogdm9pZCB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBzcWxpdGUgPSAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zLmRyaXZlciB8fCByZXF1aXJlKFwicmVhY3QtbmF0aXZlLXNxbGl0ZS1zdG9yYWdlXCIpXG4gICAgICAgICAgICB0aGlzLnNxbGl0ZSA9IHNxbGl0ZVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRHJpdmVyUGFja2FnZU5vdEluc3RhbGxlZEVycm9yKFxuICAgICAgICAgICAgICAgIFwiUmVhY3QtTmF0aXZlXCIsXG4gICAgICAgICAgICAgICAgXCJyZWFjdC1uYXRpdmUtc3FsaXRlLXN0b3JhZ2VcIixcbiAgICAgICAgICAgIClcbiAgICAgICAgfVxuICAgIH1cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRhb24tdHlwZW9ybSBsaWIvdHlwZW9ybS9kcml2ZXIvcmVhY3QtbmF0aXZlL1JlYWN0TmF0aXZlRHJpdmVyLnRzIl19
@@ -78,4 +78,4 @@ export class ReactNativeQueryRunner extends AbstractSqliteQueryRunner {
78
78
  }
79
79
  ;
80
80
  ({}); // @--end-of-file-for-module=taon-typeorm lib/typeorm/driver/react-native/ReactNativeQueryRunner.ts
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVhY3ROYXRpdmVRdWVyeVJ1bm5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3Rhb24tdHlwZW9ybS9wcm9qZWN0cy90YW9uLXR5cGVvcm0vc3JjL2xpYi90eXBlb3JtL2RyaXZlci9yZWFjdC1uYXRpdmUvUmVhY3ROYXRpdmVRdWVyeVJ1bm5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQTtBQUM3RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUMvRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQTtBQUV4RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBRTVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHNCQUF1QixTQUFRLHlCQUF5QjtJQVVqRSxZQUFZLE1BQXlCO1FBQ2pDLEtBQUssRUFBRSxDQUFBO1FBQ1AsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7UUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFBO1FBQ25DLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDNUMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLGVBQWU7UUFDakIsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUE7SUFDakQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLGNBQWM7UUFDaEIsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUE7SUFDaEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUNELEtBQWEs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QztRQUV0QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQTtJQUM1RSxDQUFDO0NBQ0o7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLG1HQUFtRyIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBPYmplY3RMaXRlcmFsIH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9PYmplY3RMaXRlcmFsXCJcbmltcG9ydCB7IFF1ZXJ5UnVubmVyQWxyZWFkeVJlbGVhc2VkRXJyb3IgfSBmcm9tIFwiLi4vLi4vZXJyb3IvUXVlcnlSdW5uZXJBbHJlYWR5UmVsZWFzZWRFcnJvclwiXG5pbXBvcnQgeyBRdWVyeUZhaWxlZEVycm9yIH0gZnJvbSBcIi4uLy4uL2Vycm9yL1F1ZXJ5RmFpbGVkRXJyb3JcIlxuaW1wb3J0IHsgQWJzdHJhY3RTcWxpdGVRdWVyeVJ1bm5lciB9IGZyb20gXCIuLi9zcWxpdGUtYWJzdHJhY3QvQWJzdHJhY3RTcWxpdGVRdWVyeVJ1bm5lclwiXG5pbXBvcnQgeyBSZWFjdE5hdGl2ZURyaXZlciB9IGZyb20gXCIuL1JlYWN0TmF0aXZlRHJpdmVyXCJcbmltcG9ydCB7IEJyb2FkY2FzdGVyIH0gZnJvbSBcIi4uLy4uL3N1YnNjcmliZXIvQnJvYWRjYXN0ZXJcIlxuaW1wb3J0IHsgUXVlcnlSZXN1bHQgfSBmcm9tIFwiLi4vLi4vcXVlcnktcnVubmVyL1F1ZXJ5UmVzdWx0XCJcblxuLyoqXG4gKiBSdW5zIHF1ZXJpZXMgb24gYSBzaW5nbGUgc3FsaXRlIGRhdGFiYXNlIGNvbm5lY3Rpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBSZWFjdE5hdGl2ZVF1ZXJ5UnVubmVyIGV4dGVuZHMgQWJzdHJhY3RTcWxpdGVRdWVyeVJ1bm5lciB7XG4gICAgLyoqXG4gICAgICogRGF0YWJhc2UgZHJpdmVyIHVzZWQgYnkgY29ubmVjdGlvbi5cbiAgICAgKi9cbiAgICBkcml2ZXI6IFJlYWN0TmF0aXZlRHJpdmVyXG5cblxuXG5cblxuICAgIGNvbnN0cnVjdG9yKGRyaXZlcjogUmVhY3ROYXRpdmVEcml2ZXIpIHtcbiAgICAgICAgc3VwZXIoKVxuICAgICAgICB0aGlzLmRyaXZlciA9IGRyaXZlclxuICAgICAgICB0aGlzLmNvbm5lY3Rpb24gPSBkcml2ZXIuY29ubmVjdGlvblxuICAgICAgICB0aGlzLmJyb2FkY2FzdGVyID0gbmV3IEJyb2FkY2FzdGVyKHRoaXMpXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsbGVkIGJlZm9yZSBtaWdyYXRpb25zIGFyZSBydW4uXG4gICAgICovXG4gICAgYXN5bmMgYmVmb3JlTWlncmF0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBhd2FpdCB0aGlzLnF1ZXJ5KGBQUkFHTUEgZm9yZWlnbl9rZXlzID0gT0ZGYClcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxsZWQgYWZ0ZXIgbWlncmF0aW9ucyBhcmUgcnVuLlxuICAgICAqL1xuICAgIGFzeW5jIGFmdGVyTWlncmF0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBhd2FpdCB0aGlzLnF1ZXJ5KGBQUkFHTUEgZm9yZWlnbl9rZXlzID0gT05gKVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGEgZ2l2ZW4gU1FMIHF1ZXJ5LlxuICAgICAqL1xuICAgIHF1ZXJ5KFxuICAgICAgICBxdWVyeTogc3RyaW5nLFxuICAgICAgICBwYXJhbWV0ZXJzPzogYW55W10sXG4gICAgICAgIHVzZVN0cnVjdHVyZWRSZXN1bHQgPSBmYWxzZSxcbiAgICApOiBQcm9taXNlPGFueT4ge1xuICAgICAgICBpZiAodGhpcy5pc1JlbGVhc2VkKSB0aHJvdyBuZXcgUXVlcnlSdW5uZXJBbHJlYWR5UmVsZWFzZWRFcnJvcigpXG5cbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGFzeW5jIChvaywgZmFpbCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZGF0YWJhc2VDb25uZWN0aW9uID0gYXdhaXQgdGhpcy5jb25uZWN0KClcbiAgICAgICAgICAgIHRoaXMuZHJpdmVyLmNvbm5lY3Rpb24ubG9nZ2VyLmxvZ1F1ZXJ5KHF1ZXJ5LCBwYXJhbWV0ZXJzLCB0aGlzKVxuICAgICAgICAgICAgY29uc3QgcXVlcnlTdGFydFRpbWUgPSArbmV3IERhdGUoKVxuICAgICAgICAgICAgZGF0YWJhc2VDb25uZWN0aW9uLmV4ZWN1dGVTcWwoXG4gICAgICAgICAgICAgICAgcXVlcnksXG4gICAgICAgICAgICAgICAgcGFyYW1ldGVycyxcbiAgICAgICAgICAgICAgICAocmF3OiBhbnkpID0+IHtcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXhRdWVyeUV4ZWN1dGlvblRpbWUgPVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kcml2ZXIub3B0aW9ucy5tYXhRdWVyeUV4ZWN1dGlvblRpbWVcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcXVlcnlFbmRUaW1lID0gK25ldyBEYXRlKClcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcXVlcnlFeGVjdXRpb25UaW1lID0gcXVlcnlFbmRUaW1lIC0gcXVlcnlTdGFydFRpbWVcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4UXVlcnlFeGVjdXRpb25UaW1lICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVyeUV4ZWN1dGlvblRpbWUgPiBtYXhRdWVyeUV4ZWN1dGlvblRpbWVcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kcml2ZXIuY29ubmVjdGlvbi5sb2dnZXIubG9nUXVlcnlTbG93KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5RXhlY3V0aW9uVGltZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBxdWVyeSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgICAgICAgICAgICAgICApXG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gbmV3IFF1ZXJ5UmVzdWx0KClcblxuXG4gICAgICAgICAgICAgICAgICAgIGlmIChxdWVyeS5zdWJzdHIoMCwgMTEpID09PSBcIklOU0VSVCBJTlRPXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5yYXcgPSByYXcuaW5zZXJ0SWRcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmIChyYXc/Lmhhc093blByb3BlcnR5KFwicm93c0FmZmVjdGVkXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQuYWZmZWN0ZWQgPSByYXcucm93c0FmZmVjdGVkXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAocmF3Py5oYXNPd25Qcm9wZXJ0eShcInJvd3NcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCByZWNvcmRzID0gW11cbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmF3LnJvd3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWNvcmRzLnB1c2gocmF3LnJvd3MuaXRlbShpKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnJhdyA9IHJlY29yZHNcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5yZWNvcmRzID0gcmVjb3Jkc1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHVzZVN0cnVjdHVyZWRSZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9rKHJlc3VsdClcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9rKHJlc3VsdC5yYXcpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRyaXZlci5jb25uZWN0aW9uLmxvZ2dlci5sb2dRdWVyeUVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyLFxuICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnksXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcyxcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICBmYWlsKG5ldyBRdWVyeUZhaWxlZEVycm9yKHF1ZXJ5LCBwYXJhbWV0ZXJzLCBlcnIpKVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgIH0pXG4gICAgfVxuXG5cblxuXG5cbiAgICAvKipcbiAgICAgKiBQYXJhbWV0cml6ZXMgZ2l2ZW4gb2JqZWN0IG9mIHZhbHVlcy4gVXNlZCB0byBjcmVhdGUgY29sdW1uPXZhbHVlIHF1ZXJpZXMuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHBhcmFtZXRyaXplKFxuICAgICAgICBvYmplY3RMaXRlcmFsOiBPYmplY3RMaXRlcmFsLFxuICAgICAgICBzdGFydEluZGV4OiBudW1iZXIgPSAwLFxuICAgICk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKG9iamVjdExpdGVyYWwpLm1hcCgoa2V5LCBpbmRleCkgPT4gYFwiJHtrZXl9XCJgICsgXCI9P1wiKVxuICAgIH1cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRhb24tdHlwZW9ybSBsaWIvdHlwZW9ybS9kcml2ZXIvcmVhY3QtbmF0aXZlL1JlYWN0TmF0aXZlUXVlcnlSdW5uZXIudHMiXX0=
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVhY3ROYXRpdmVRdWVyeVJ1bm5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3Rhb24tdHlwZW9ybS9wcm9qZWN0cy90YW9uLXR5cGVvcm0vc3JjL2xpYi90eXBlb3JtL2RyaXZlci9yZWFjdC1uYXRpdmUvUmVhY3ROYXRpdmVRdWVyeVJ1bm5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQTtBQUM3RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUMvRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQTtBQUV4RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBRTVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHNCQUF1QixTQUFRLHlCQUF5QjtJQVVqRSxZQUFZLE1BQXlCO1FBQ2pDLEtBQUssRUFBRSxDQUFBO1FBQ1AsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7UUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFBO1FBQ25DLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDNUMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLGVBQWU7UUFDakIsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUE7SUFDakQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLGNBQWM7UUFDaEIsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUE7SUFDaEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUNELEtBQWEs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QztRQUV0QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQTtJQUM1RSxDQUFDO0NBQ0o7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLG1HQUFtRyIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBPYmplY3RMaXRlcmFsIH0gZnJvbSBcIi4uLy4uL2NvbW1vbi9PYmplY3RMaXRlcmFsXCJcbmltcG9ydCB7IFF1ZXJ5UnVubmVyQWxyZWFkeVJlbGVhc2VkRXJyb3IgfSBmcm9tIFwiLi4vLi4vZXJyb3IvUXVlcnlSdW5uZXJBbHJlYWR5UmVsZWFzZWRFcnJvclwiXG5pbXBvcnQgeyBRdWVyeUZhaWxlZEVycm9yIH0gZnJvbSBcIi4uLy4uL2Vycm9yL1F1ZXJ5RmFpbGVkRXJyb3JcIlxuaW1wb3J0IHsgQWJzdHJhY3RTcWxpdGVRdWVyeVJ1bm5lciB9IGZyb20gXCIuLi9zcWxpdGUtYWJzdHJhY3QvQWJzdHJhY3RTcWxpdGVRdWVyeVJ1bm5lclwiXG5pbXBvcnQgeyBSZWFjdE5hdGl2ZURyaXZlciB9IGZyb20gXCIuL1JlYWN0TmF0aXZlRHJpdmVyXCJcbmltcG9ydCB7IEJyb2FkY2FzdGVyIH0gZnJvbSBcIi4uLy4uL3N1YnNjcmliZXIvQnJvYWRjYXN0ZXJcIlxuaW1wb3J0IHsgUXVlcnlSZXN1bHQgfSBmcm9tIFwiLi4vLi4vcXVlcnktcnVubmVyL1F1ZXJ5UmVzdWx0XCJcblxuLyoqXG4gKiBSdW5zIHF1ZXJpZXMgb24gYSBzaW5nbGUgc3FsaXRlIGRhdGFiYXNlIGNvbm5lY3Rpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBSZWFjdE5hdGl2ZVF1ZXJ5UnVubmVyIGV4dGVuZHMgQWJzdHJhY3RTcWxpdGVRdWVyeVJ1bm5lciB7XG4gICAgLyoqXG4gICAgICogRGF0YWJhc2UgZHJpdmVyIHVzZWQgYnkgY29ubmVjdGlvbi5cbiAgICAgKi9cbiAgICBkZWNsYXJlIGRyaXZlcjogUmVhY3ROYXRpdmVEcml2ZXJcblxuXG5cblxuXG4gICAgY29uc3RydWN0b3IoZHJpdmVyOiBSZWFjdE5hdGl2ZURyaXZlcikge1xuICAgICAgICBzdXBlcigpXG4gICAgICAgIHRoaXMuZHJpdmVyID0gZHJpdmVyXG4gICAgICAgIHRoaXMuY29ubmVjdGlvbiA9IGRyaXZlci5jb25uZWN0aW9uXG4gICAgICAgIHRoaXMuYnJvYWRjYXN0ZXIgPSBuZXcgQnJvYWRjYXN0ZXIodGhpcylcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxsZWQgYmVmb3JlIG1pZ3JhdGlvbnMgYXJlIHJ1bi5cbiAgICAgKi9cbiAgICBhc3luYyBiZWZvcmVNaWdyYXRpb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0IHRoaXMucXVlcnkoYFBSQUdNQSBmb3JlaWduX2tleXMgPSBPRkZgKVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGxlZCBhZnRlciBtaWdyYXRpb25zIGFyZSBydW4uXG4gICAgICovXG4gICAgYXN5bmMgYWZ0ZXJNaWdyYXRpb24oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGF3YWl0IHRoaXMucXVlcnkoYFBSQUdNQSBmb3JlaWduX2tleXMgPSBPTmApXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRXhlY3V0ZXMgYSBnaXZlbiBTUUwgcXVlcnkuXG4gICAgICovXG4gICAgcXVlcnkoXG4gICAgICAgIHF1ZXJ5OiBzdHJpbmcsXG4gICAgICAgIHBhcmFtZXRlcnM/OiBhbnlbXSxcbiAgICAgICAgdXNlU3RydWN0dXJlZFJlc3VsdCA9IGZhbHNlLFxuICAgICk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIGlmICh0aGlzLmlzUmVsZWFzZWQpIHRocm93IG5ldyBRdWVyeVJ1bm5lckFscmVhZHlSZWxlYXNlZEVycm9yKClcblxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgKG9rLCBmYWlsKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBkYXRhYmFzZUNvbm5lY3Rpb24gPSBhd2FpdCB0aGlzLmNvbm5lY3QoKVxuICAgICAgICAgICAgdGhpcy5kcml2ZXIuY29ubmVjdGlvbi5sb2dnZXIubG9nUXVlcnkocXVlcnksIHBhcmFtZXRlcnMsIHRoaXMpXG4gICAgICAgICAgICBjb25zdCBxdWVyeVN0YXJ0VGltZSA9ICtuZXcgRGF0ZSgpXG4gICAgICAgICAgICBkYXRhYmFzZUNvbm5lY3Rpb24uZXhlY3V0ZVNxbChcbiAgICAgICAgICAgICAgICBxdWVyeSxcbiAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzLFxuICAgICAgICAgICAgICAgIChyYXc6IGFueSkgPT4ge1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1heFF1ZXJ5RXhlY3V0aW9uVGltZSA9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRyaXZlci5vcHRpb25zLm1heFF1ZXJ5RXhlY3V0aW9uVGltZVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBxdWVyeUVuZFRpbWUgPSArbmV3IERhdGUoKVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBxdWVyeUV4ZWN1dGlvblRpbWUgPSBxdWVyeUVuZFRpbWUgLSBxdWVyeVN0YXJ0VGltZVxuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXhRdWVyeUV4ZWN1dGlvblRpbWUgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5RXhlY3V0aW9uVGltZSA+IG1heFF1ZXJ5RXhlY3V0aW9uVGltZVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRyaXZlci5jb25uZWN0aW9uLmxvZ2dlci5sb2dRdWVyeVNsb3coXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnlFeGVjdXRpb25UaW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIClcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSBuZXcgUXVlcnlSZXN1bHQoKVxuXG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHF1ZXJ5LnN1YnN0cigwLCAxMSkgPT09IFwiSU5TRVJUIElOVE9cIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnJhdyA9IHJhdy5pbnNlcnRJZFxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHJhdz8uaGFzT3duUHJvcGVydHkoXCJyb3dzQWZmZWN0ZWRcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdC5hZmZlY3RlZCA9IHJhdy5yb3dzQWZmZWN0ZWRcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmIChyYXc/Lmhhc093blByb3BlcnR5KFwicm93c1wiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHJlY29yZHMgPSBbXVxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByYXcucm93cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY29yZHMucHVzaChyYXcucm93cy5pdGVtKGkpKVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQucmF3ID0gcmVjb3Jkc1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LnJlY29yZHMgPSByZWNvcmRzXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAodXNlU3RydWN0dXJlZFJlc3VsdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgb2socmVzdWx0KVxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgb2socmVzdWx0LnJhdylcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZHJpdmVyLmNvbm5lY3Rpb24ubG9nZ2VyLmxvZ1F1ZXJ5RXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnIsXG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVyeSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnMsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLFxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIGZhaWwobmV3IFF1ZXJ5RmFpbGVkRXJyb3IocXVlcnksIHBhcmFtZXRlcnMsIGVycikpXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgfSlcbiAgICB9XG5cblxuXG5cblxuICAgIC8qKlxuICAgICAqIFBhcmFtZXRyaXplcyBnaXZlbiBvYmplY3Qgb2YgdmFsdWVzLiBVc2VkIHRvIGNyZWF0ZSBjb2x1bW49dmFsdWUgcXVlcmllcy5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcGFyYW1ldHJpemUoXG4gICAgICAgIG9iamVjdExpdGVyYWw6IE9iamVjdExpdGVyYWwsXG4gICAgICAgIHN0YXJ0SW5kZXg6IG51bWJlciA9IDAsXG4gICAgKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMob2JqZWN0TGl0ZXJhbCkubWFwKChrZXksIGluZGV4KSA9PiBgXCIke2tleX1cImAgKyBcIj0/XCIpXG4gICAgfVxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dGFvbi10eXBlb3JtIGxpYi90eXBlb3JtL2RyaXZlci9yZWFjdC1uYXRpdmUvUmVhY3ROYXRpdmVRdWVyeVJ1bm5lci50cyJdfQ==
@@ -246,4 +246,4 @@ export class SqljsDriver extends AbstractSqliteDriver {
246
246
  }
247
247
  ;
248
248
  ({}); // @--end-of-file-for-module=taon-typeorm lib/typeorm/driver/sqljs/SqljsDriver.ts
249
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3FsanNEcml2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90YW9uLXR5cGVvcm0vcHJvamVjdHMvdGFvbi10eXBlb3JtL3NyYy9saWIvdHlwZW9ybS9kcml2ZXIvc3FsanMvU3FsanNEcml2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFFOUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFHckQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNENBQTRDLENBQUE7QUFDM0YsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDN0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBRTVELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUc5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVyQyxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFJTCxJQUFJLFdBQVcsR0FBRyxFQUFTLENBQUM7QUFDNUIsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBR0wsYUFBYTtBQUNiLFdBQVcsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFJNUIsTUFBTSx3QkFBd0IsR0FBRyxHQUFHLENBQUM7QUFFckMsTUFBTSxPQUFPLFdBQVksU0FBUSxvQkFBb0I7SUFrQmpELFlBQVksVUFBc0I7UUFDaEMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBZm5CLHNCQUFpQixHQUFHLEVBQUUsQ0FBQztRQUN2QixpQkFBWSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLElBQUksRUFBQyxF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QVEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUMzRCxDQUFDO2FBQU0sQ0FBQyxDQUFDLGFBQWE7WUFDbEIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFBO1FBQ25ELENBQUM7UUFFRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUE7UUFFeEQsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUE7SUFDbEMsQ0FBQztJQUVEOztPQUVHO0lBQ08sZ0JBQWdCO1FBQ3RCLElBQUksYUFBYSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUVuQyxhQUFhO1lBQ2IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBLENBQUMsYUFBYTtZQUNqRSxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUV4QixDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQztnQkFDRCxNQUFNLE1BQU0sR0FDUixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBLENBQUMsYUFBYTtnQkFDckUsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7WUFDeEIsQ0FBQztZQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ1QsTUFBTSxJQUFJLDhCQUE4QixDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQTtZQUNoRSxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7Q0FDSjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUZBQWlGIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IEFic3RyYWN0U3FsaXRlRHJpdmVyIH0gZnJvbSBcIi4uL3NxbGl0ZS1hYnN0cmFjdC9BYnN0cmFjdFNxbGl0ZURyaXZlclwiXG5pbXBvcnQgeyBTcWxqc0Nvbm5lY3Rpb25PcHRpb25zIH0gZnJvbSBcIi4vU3FsanNDb25uZWN0aW9uT3B0aW9uc1wiXG5pbXBvcnQgeyBTcWxqc1F1ZXJ5UnVubmVyIH0gZnJvbSBcIi4vU3FsanNRdWVyeVJ1bm5lclwiXG5pbXBvcnQgeyBRdWVyeVJ1bm5lciB9IGZyb20gXCIuLi8uLi9xdWVyeS1ydW5uZXIvUXVlcnlSdW5uZXJcIlxuaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gXCIuLi8uLi9kYXRhLXNvdXJjZS9EYXRhU291cmNlXCJcbmltcG9ydCB7IERyaXZlclBhY2thZ2VOb3RJbnN0YWxsZWRFcnJvciB9IGZyb20gXCIuLi8uLi9lcnJvci9Ecml2ZXJQYWNrYWdlTm90SW5zdGFsbGVkRXJyb3JcIlxuaW1wb3J0IHsgRHJpdmVyT3B0aW9uTm90U2V0RXJyb3IgfSBmcm9tIFwiLi4vLi4vZXJyb3IvRHJpdmVyT3B0aW9uTm90U2V0RXJyb3JcIlxuaW1wb3J0IHsgUGxhdGZvcm1Ub29scyB9IGZyb20gXCIuLi8uLi9wbGF0Zm9ybS9QbGF0Zm9ybVRvb2xzXCJcbmltcG9ydCB7IEVudGl0eU1ldGFkYXRhIH0gZnJvbSBcIi4uLy4uL21ldGFkYXRhL0VudGl0eU1ldGFkYXRhXCJcbmltcG9ydCB7IE9ybVV0aWxzIH0gZnJvbSBcIi4uLy4uL3V0aWwvT3JtVXRpbHNcIlxuaW1wb3J0IHsgT2JqZWN0TGl0ZXJhbCB9IGZyb20gXCIuLi8uLi9jb21tb24vT2JqZWN0TGl0ZXJhbFwiXG5pbXBvcnQgeyBSZXBsaWNhdGlvbk1vZGUgfSBmcm9tIFwiLi4vdHlwZXMvUmVwbGljYXRpb25Nb2RlXCJcbmltcG9ydCB7IFR5cGVPUk1FcnJvciB9IGZyb20gXCIuLi8uLi9lcnJvclwiXG5pbXBvcnQgeyBfIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cblxubGV0IGVudmlyb25tZW50ID0ge30gYXMgYW55O1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuLy8gQHRzLWlnbm9yZVxuZW52aXJvbm1lbnQgPSB3aW5kb3dbJ0VOViddO1xuXG5cblxuY29uc3QgU0FWRV9MT0NBTF9GT1JHRV9USU1FT1VUID0gNTAwO1xuXG5leHBvcnQgY2xhc3MgU3FsanNEcml2ZXIgZXh0ZW5kcyBBYnN0cmFjdFNxbGl0ZURyaXZlciB7XG5cbiAgICBvcHRpb25zOiBTcWxqc0Nvbm5lY3Rpb25PcHRpb25zO1xuICAgIGxvY2FsRm9yZ2VJbnN0YW5jZTogYW55O1xuICAgIGRhdGFiYXNlQXJyYXlGYXN0ID0ge307XG4gICAgZGVib3VuY2VTYXZlID0gXy5kZWJvdW5jZShhc3luYyAocGF0aCk9PiB7XG5cbiAgICAgIGF3YWl0IHRoaXMubG9jYWxGb3JnZUluc3RhbmNlLnNldEl0ZW0oXG4gICAgICAgIHBhdGgsXG4gICAgICAgIHRoaXMuZGF0YWJhc2VBcnJheUZhc3RbcGF0aF0sXG4gICAgICApO1xuXG4gICAgfSxTQVZFX0xPQ0FMX0ZPUkdFX1RJTUVPVVQpO1xuXG5cblxuXG5cbiAgICBjb25zdHJ1Y3Rvcihjb25uZWN0aW9uOiBEYXRhU291cmNlKSB7XG4gICAgICBzdXBlcihjb25uZWN0aW9uKVxuXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBjb25zdCBsb2NhbEZvcmdlID0gd2luZG93Wydsb2NhbGZvcmFnZSddO1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgdGhpcy5sb2NhbEZvcmdlSW5zdGFuY2UgPSBsb2NhbEZvcmdlPy5jcmVhdGVJbnN0YW5jZSh7XG4gICAgICAgIGRyaXZlcjogbG9jYWxGb3JnZS5JTkRFWEVEREIsXG4gICAgICAgIHN0b3JlTmFtZTogJ2ZpcmVkZXYtdHlwZW9ybV8nICsgXy5rZWJhYkNhc2UoZW52aXJvbm1lbnQ/LmN1cnJlbnRQcm9qZWN0R2VuZXJpY05hbWUpLFxuICAgICAgfSlcblxuXG5cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLm9wdGlvbnMuYXV0b1NhdmUgJiZcbiAgICAgICAgICAgICF0aGlzLm9wdGlvbnMubG9jYXRpb24gJiZcbiAgICAgICAgICAgICF0aGlzLm9wdGlvbnMuYXV0b1NhdmVDYWxsYmFja1xuICAgICAgICApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBEcml2ZXJPcHRpb25Ob3RTZXRFcnJvcihgbG9jYXRpb24gb3IgYXV0b1NhdmVDYWxsYmFja2ApXG4gICAgICAgIH1cblxuXG4gICAgICAgIHRoaXMubG9hZERlcGVuZGVuY2llcygpXG4gICAgfVxuXG5cblxuXG5cbiAgICAvKipcbiAgICAgKiBQZXJmb3JtcyBjb25uZWN0aW9uIHRvIHRoZSBkYXRhYmFzZS5cbiAgICAgKi9cbiAgICBhc3luYyBjb25uZWN0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICB0aGlzLmRhdGFiYXNlQ29ubmVjdGlvbiA9IGF3YWl0IHRoaXMuY3JlYXRlRGF0YWJhc2VDb25uZWN0aW9uKClcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDbG9zZXMgY29ubmVjdGlvbiB3aXRoIGRhdGFiYXNlLlxuICAgICAqL1xuICAgIGFzeW5jIGRpc2Nvbm5lY3QoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRoaXMucXVlcnlSdW5uZXIgPSB1bmRlZmluZWRcbiAgICAgICAgdGhpcy5kYXRhYmFzZUNvbm5lY3Rpb24uY2xvc2UoKVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBxdWVyeSBydW5uZXIgdXNlZCB0byBleGVjdXRlIGRhdGFiYXNlIHF1ZXJpZXMuXG4gICAgICovXG4gICAgY3JlYXRlUXVlcnlSdW5uZXIobW9kZTogUmVwbGljYXRpb25Nb2RlKTogUXVlcnlSdW5uZXIgeyAvLyBAdHMtaWdub3JlXG4gICAgICAgIGlmICghdGhpcy5xdWVyeVJ1bm5lcikgdGhpcy5xdWVyeVJ1bm5lciA9IG5ldyBTcWxqc1F1ZXJ5UnVubmVyKHRoaXMpXG5cbiAgICAgICAgcmV0dXJuIHRoaXMucXVlcnlSdW5uZXJcbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIExvYWRzIGEgZGF0YWJhc2UgZnJvbSBhIGdpdmVuIGZpbGUgKE5vZGUuanMpLCBsb2NhbCBzdG9yYWdlIGtleSAoYnJvd3Nlcikgb3IgYXJyYXkuXG4gICAgICogVGhpcyB3aWxsIGRlbGV0ZSB0aGUgY3VycmVudCBkYXRhYmFzZSFcbiAgICAgKi9cbiAgICBhc3luYyBsb2FkKFxuICAgICAgICBmaWxlTmFtZU9yTG9jYWxTdG9yYWdlT3JEYXRhOiBzdHJpbmcgfCBVaW50OEFycmF5LFxuICAgICAgICBjaGVja0lmRmlsZU9yTG9jYWxTdG9yYWdlRXhpc3RzOiBib29sZWFuID0gdHJ1ZSxcbiAgICApOiBQcm9taXNlPGFueT4ge1xuICAgICAgICBpZiAodHlwZW9mIGZpbGVOYW1lT3JMb2NhbFN0b3JhZ2VPckRhdGEgPT09IFwic3RyaW5nXCIpIHtcblxuICAgICAgICAgICAgaWYgKFBsYXRmb3JtVG9vbHMudHlwZSA9PT0gXCJub2RlXCIpIHtcblxuXG4gICAgICAgICAgICAgICAgaWYgKFBsYXRmb3JtVG9vbHMuZmlsZUV4aXN0KGZpbGVOYW1lT3JMb2NhbFN0b3JhZ2VPckRhdGEpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGFiYXNlID0gUGxhdGZvcm1Ub29scy5yZWFkRmlsZVN5bmMoXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlTmFtZU9yTG9jYWxTdG9yYWdlT3JEYXRhLFxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZURhdGFiYXNlQ29ubmVjdGlvbldpdGhJbXBvcnQoZGF0YWJhc2UpXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChjaGVja0lmRmlsZU9yTG9jYWxTdG9yYWdlRXhpc3RzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBUeXBlT1JNRXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICBgRmlsZSAke2ZpbGVOYW1lT3JMb2NhbFN0b3JhZ2VPckRhdGF9IGRvZXMgbm90IGV4aXN0YCxcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG5cblxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZURhdGFiYXNlQ29ubmVjdGlvbldpdGhJbXBvcnQoKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG5cblxuICAgICAgICAgICAgICAgIGxldCBsb2NhbFN0b3JhZ2VDb250ZW50ID0gbnVsbFxuICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMudXNlTG9jYWxGb3JhZ2UpIHtcblxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5sb2NhbEZvcmdlSW5zdGFuY2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmKF8uaXNVbmRlZmluZWQodGhpcy5kYXRhYmFzZUFycmF5RmFzdFtmaWxlTmFtZU9yTG9jYWxTdG9yYWdlT3JEYXRhXSkpIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjb250ZW50ID0gYXdhaXQgdGhpcy5sb2NhbEZvcmdlSW5zdGFuY2UuZ2V0SXRlbShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVOYW1lT3JMb2NhbFN0b3JhZ2VPckRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIClcblxuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGFiYXNlQXJyYXlGYXN0W2ZpbGVOYW1lT3JMb2NhbFN0b3JhZ2VPckRhdGFdID0gY29udGVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZUNvbnRlbnQgPSB0aGlzLmRhdGFiYXNlQXJyYXlGYXN0W2ZpbGVOYW1lT3JMb2NhbFN0b3JhZ2VPckRhdGFdO1xuXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZU9STUVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBsb2NhbGZvcmFnZSBpcyBub3QgZGVmaW5lZCAtIHBsZWFzZSBpbXBvcnQgbG9jYWxmb3JhZ2UuanMgaW50byB5b3VyIHNpdGVgLFxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2VDb250ZW50ID1cbiAgICAgICAgICAgICAgICAgICAgICAgIFBsYXRmb3JtVG9vbHMuZ2V0R2xvYmFsVmFyaWFibGUoKS5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlTmFtZU9yTG9jYWxTdG9yYWdlT3JEYXRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChsb2NhbFN0b3JhZ2VDb250ZW50ICE9IG51bGwpIHtcblxuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbiA9IHRoaXMuY3JlYXRlRGF0YWJhc2VDb25uZWN0aW9uV2l0aEltcG9ydChcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvY2FsRm9yZ2VJbnN0YW5jZSA/IGxvY2FsU3RvcmFnZUNvbnRlbnQgOiBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZUNvbnRlbnQpLFxuICAgICAgICAgICAgICAgICAgICApXG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbjtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGNoZWNrSWZGaWxlT3JMb2NhbFN0b3JhZ2VFeGlzdHMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVPUk1FcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgIGBGaWxlICR7ZmlsZU5hbWVPckxvY2FsU3RvcmFnZU9yRGF0YX0gZG9lcyBub3QgZXhpc3RgLFxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcblxuXG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlRGF0YWJhc2VDb25uZWN0aW9uV2l0aEltcG9ydCgpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlRGF0YWJhc2VDb25uZWN0aW9uV2l0aEltcG9ydChcbiAgICAgICAgICAgICAgICBmaWxlTmFtZU9yTG9jYWxTdG9yYWdlT3JEYXRhLFxuICAgICAgICAgICAgKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2F2ZWQgdGhlIGN1cnJlbnQgZGF0YWJhc2UgdG8gdGhlIGdpdmVuIGZpbGUgKE5vZGUuanMpLCBsb2NhbCBzdG9yYWdlIGtleSAoYnJvd3Nlcikgb3JcbiAgICAgKiBpbmRleGVkREIga2V5IChicm93c2VyIHdpdGggZW5hYmxlZCB1c2VMb2NhbEZvcmFnZSBvcHRpb24pLlxuICAgICAqIElmIG5vIGxvY2F0aW9uIHBhdGggaXMgZ2l2ZW4sIHRoZSBsb2NhdGlvbiBwYXRoIGluIHRoZSBvcHRpb25zIChpZiBzcGVjaWZpZWQpIHdpbGwgYmUgdXNlZC5cbiAgICAgKi9cbiAgICBhc3luYyBzYXZlKGxvY2F0aW9uPzogc3RyaW5nKSB7XG4gICAgICAgIGlmICghbG9jYXRpb24gJiYgIXRoaXMub3B0aW9ucy5sb2NhdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVPUk1FcnJvcihcbiAgICAgICAgICAgICAgICBgTm8gbG9jYXRpb24gaXMgc2V0LCBzcGVjaWZ5IGEgbG9jYXRpb24gcGFyYW1ldGVyIG9yIGFkZCB0aGUgbG9jYXRpb24gb3B0aW9uIHRvIHlvdXIgY29uZmlndXJhdGlvbmAsXG4gICAgICAgICAgICApXG4gICAgICAgIH1cblxuICAgICAgICBsZXQgcGF0aCA9IFwiXCJcbiAgICAgICAgaWYgKGxvY2F0aW9uKSB7XG4gICAgICAgICAgICBwYXRoID0gbG9jYXRpb25cbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLm9wdGlvbnMubG9jYXRpb24pIHtcbiAgICAgICAgICAgIHBhdGggPSB0aGlzLm9wdGlvbnMubG9jYXRpb25cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChQbGF0Zm9ybVRvb2xzLnR5cGUgPT09IFwibm9kZVwiKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGFiYXNlOiBVaW50OEFycmF5ID0gdGhpcy5kYXRhYmFzZUNvbm5lY3Rpb24uZXhwb3J0KClcblxuICAgICAgICAgICAgY29uc3QgZGF0YWJhc2VBcnJheSA9IFtdLnNsaWNlLmNhbGwoZGF0YWJhc2UpXG4gICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLnVzZUxvY2FsRm9yYWdlKSB7XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5sb2NhbEZvcmdlSW5zdGFuY2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhYmFzZUFycmF5RmFzdFtwYXRoXSA9IGRhdGFiYXNlQXJyYXk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGVib3VuY2VTYXZlKHBhdGgpO1xuXG5cblxuXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVPUk1FcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgIGBsb2NhbGZvcmFnZSBpcyBub3QgZGVmaW5lZCAtIHBsZWFzZSBpbXBvcnQgbG9jYWxmb3JhZ2UuanMgaW50byB5b3VyIHNpdGVgLFxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIFBsYXRmb3JtVG9vbHMuZ2V0R2xvYmFsVmFyaWFibGUoKS5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShcbiAgICAgICAgICAgICAgICAgICAgcGF0aCxcbiAgICAgICAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkoZGF0YWJhc2VBcnJheSksXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBnZXRzIGNhbGxlZCBieSB0aGUgUXVlcnlSdW5uZXIgd2hlbiBhIGNoYW5nZSB0byB0aGUgZGF0YWJhc2UgaXMgbWFkZS5cbiAgICAgKiBJZiBhIGN1c3RvbSBhdXRvU2F2ZUNhbGxiYWNrIGlzIHNwZWNpZmllZCwgaXQgZ2V0J3MgY2FsbGVkIHdpdGggdGhlIGRhdGFiYXNlIGFzIFVpbnQ4QXJyYXksXG4gICAgICogb3RoZXJ3aXNlIHRoZSBzYXZlIG1ldGhvZCBpcyBjYWxsZWQgd2hpY2ggc2F2ZXMgaXQgdG8gZmlsZSAoTm9kZS5qcyksIGxvY2FsIHN0b3JhZ2UgKGJyb3dzZXIpXG4gICAgICogb3IgaW5kZXhlZERCIChicm93c2VyIHdpdGggZW5hYmxlZCB1c2VMb2NhbEZvcmFnZSBvcHRpb24pLlxuICAgICAqIERvbid0IGF1dG8tc2F2ZSB3aGVuIGluIHRyYW5zYWN0aW9uIGFzIHRoZSBjYWxsIHRvIGV4cG9ydCB3aWxsIGVuZCB0aGUgY3VycmVudCB0cmFuc2FjdGlvblxuICAgICAqL1xuICAgIGFzeW5jIGF1dG9TYXZlKCkge1xuICAgICAgICBpZiAodGhpcy5vcHRpb25zLmF1dG9TYXZlICYmICF0aGlzLnF1ZXJ5UnVubmVyPy5pc1RyYW5zYWN0aW9uQWN0aXZlKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLmF1dG9TYXZlQ2FsbGJhY2spIHtcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLm9wdGlvbnMuYXV0b1NhdmVDYWxsYmFjayh0aGlzLmV4cG9ydCgpKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnNhdmUoKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgY3VycmVudCBkYXRhYmFzZSBhcyBVaW50OEFycmF5LlxuICAgICAqL1xuICAgIGV4cG9ydCgpOiBVaW50OEFycmF5IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YWJhc2VDb25uZWN0aW9uLmV4cG9ydCgpXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBnZW5lcmF0ZWQgbWFwIG9mIHZhbHVlcyBnZW5lcmF0ZWQgb3IgcmV0dXJuZWQgYnkgZGF0YWJhc2UgYWZ0ZXIgSU5TRVJUIHF1ZXJ5LlxuICAgICAqL1xuICAgIGNyZWF0ZUdlbmVyYXRlZE1hcChtZXRhZGF0YTogRW50aXR5TWV0YWRhdGEsIGluc2VydFJlc3VsdDogYW55KSB7XG4gICAgICAgIGNvbnN0IGdlbmVyYXRlZE1hcCA9IG1ldGFkYXRhLmdlbmVyYXRlZENvbHVtbnMucmVkdWNlKFxuICAgICAgICAgICAgKG1hcCwgZ2VuZXJhdGVkQ29sdW1uKSA9PiB7XG5cbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlZENvbHVtbi5pc1ByaW1hcnkgJiZcbiAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVkQ29sdW1uLmdlbmVyYXRpb25TdHJhdGVneSA9PT0gXCJpbmNyZW1lbnRcIlxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBxdWVyeSA9IFwiU0VMRUNUIGxhc3RfaW5zZXJ0X3Jvd2lkKClcIlxuICAgICAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9IHRoaXMuZGF0YWJhc2VDb25uZWN0aW9uLmV4ZWMocXVlcnkpXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbm5lY3Rpb24ubG9nZ2VyLmxvZ1F1ZXJ5KHF1ZXJ5KVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9ybVV0aWxzLm1lcmdlRGVlcChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVkQ29sdW1uLmNyZWF0ZVZhbHVlTWFwKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRbMF0udmFsdWVzWzBdWzBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29ubmVjdGlvbi5sb2dnZXIubG9nUXVlcnlFcnJvcihlLCBxdWVyeSwgW10pXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gbWFwXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge30gYXMgT2JqZWN0TGl0ZXJhbCxcbiAgICAgICAgKVxuXG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhnZW5lcmF0ZWRNYXApLmxlbmd0aCA+IDAgPyBnZW5lcmF0ZWRNYXAgOiB1bmRlZmluZWRcbiAgICB9XG5cblxuXG5cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgY29ubmVjdGlvbiB3aXRoIHRoZSBkYXRhYmFzZS5cbiAgICAgKiBJZiB0aGUgbG9jYXRpb24gb3B0aW9uIGlzIHNldCwgdGhlIGRhdGFiYXNlIGlzIGxvYWRlZCBmaXJzdC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgY3JlYXRlRGF0YWJhc2VDb25uZWN0aW9uKCk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIGlmICh0aGlzLm9wdGlvbnMubG9jYXRpb24pIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmxvYWQodGhpcy5vcHRpb25zLmxvY2F0aW9uLCBmYWxzZSlcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZURhdGFiYXNlQ29ubmVjdGlvbldpdGhJbXBvcnQodGhpcy5vcHRpb25zLmRhdGFiYXNlKVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgY29ubmVjdGlvbiB3aXRoIGFuIG9wdGlvbmFsIGRhdGFiYXNlLlxuICAgICAqIElmIGRhdGFiYXNlIGlzIHNwZWNpZmllZCBpdCBpcyBsb2FkZWQsIG90aGVyd2lzZSBhIG5ldyBlbXB0eSBkYXRhYmFzZSBpcyBjcmVhdGVkLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBhc3luYyBjcmVhdGVEYXRhYmFzZUNvbm5lY3Rpb25XaXRoSW1wb3J0KFxuICAgICAgICBkYXRhYmFzZT86IFVpbnQ4QXJyYXksXG4gICAgKTogUHJvbWlzZTxhbnk+IHtcblxuICAgICAgICBjb25zdCBpc0xlZ2FjeVZlcnNpb24gPSB0eXBlb2YgdGhpcy5zcWxpdGUuRGF0YWJhc2UgPT09IFwiZnVuY3Rpb25cIlxuICAgICAgICBjb25zdCBzcWxpdGUgPSBpc0xlZ2FjeVZlcnNpb25cbiAgICAgICAgICAgID8gdGhpcy5zcWxpdGVcbiAgICAgICAgICAgIDogYXdhaXQgdGhpcy5zcWxpdGUodGhpcy5vcHRpb25zLnNxbEpzQ29uZmlnKVxuICAgICAgICBpZiAoZGF0YWJhc2UgJiYgZGF0YWJhc2UubGVuZ3RoID4gMCkgeyAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICB0aGlzLmRhdGFiYXNlQ29ubmVjdGlvbiA9IG5ldyBzcWxpdGUuRGF0YWJhc2UoZGF0YWJhc2UpXG4gICAgICAgIH0gZWxzZSB7IC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIHRoaXMuZGF0YWJhc2VDb25uZWN0aW9uID0gbmV3IHNxbGl0ZS5EYXRhYmFzZSgpXG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmRhdGFiYXNlQ29ubmVjdGlvbi5leGVjKGBQUkFHTUEgZm9yZWlnbl9rZXlzID0gT05gKVxuXG4gICAgICAgIHJldHVybiB0aGlzLmRhdGFiYXNlQ29ubmVjdGlvblxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIElmIGRyaXZlciBkZXBlbmRlbmN5IGlzIG5vdCBnaXZlbiBleHBsaWNpdGx5LCB0aGVuIHRyeSB0byBsb2FkIGl0IHZpYSBcInJlcXVpcmVcIi5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgbG9hZERlcGVuZGVuY2llcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKFBsYXRmb3JtVG9vbHMudHlwZSA9PT0gXCJicm93c2VyXCIpIHtcblxuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgY29uc3Qgc3FsaXRlID0gdGhpcy5vcHRpb25zLmRyaXZlciB8fCB3aW5kb3dbJ1NRTCddIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIHRoaXMuc3FsaXRlID0gc3FsaXRlXG5cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3FsaXRlID1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vcHRpb25zLmRyaXZlciB8fCBQbGF0Zm9ybVRvb2xzLmxvYWQoXCJzcWwuanNcIikgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIHRoaXMuc3FsaXRlID0gc3FsaXRlXG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IERyaXZlclBhY2thZ2VOb3RJbnN0YWxsZWRFcnJvcihcInNxbC5qc1wiLCBcInNxbC5qc1wiKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dGFvbi10eXBlb3JtIGxpYi90eXBlb3JtL2RyaXZlci9zcWxqcy9TcWxqc0RyaXZlci50cyJdfQ==
249
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3FsanNEcml2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90YW9uLXR5cGVvcm0vcHJvamVjdHMvdGFvbi10eXBlb3JtL3NyYy9saWIvdHlwZW9ybS9kcml2ZXIvc3FsanMvU3FsanNEcml2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFFOUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFHckQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNENBQTRDLENBQUE7QUFDM0YsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDN0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBRTVELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUc5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVyQyxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFJTCxJQUFJLFdBQVcsR0FBRyxFQUFTLENBQUM7QUFDNUIsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBR0wsYUFBYTtBQUNiLFdBQVcsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFJNUIsTUFBTSx3QkFBd0IsR0FBRyxHQUFHLENBQUM7QUFFckMsTUFBTSxPQUFPLFdBQVksU0FBUSxvQkFBb0I7SUFrQmpELFlBQVksVUFBc0I7UUFDaEMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBZm5CLHNCQUFpQixHQUFHLEVBQUUsQ0FBQztRQUN2QixpQkFBWSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLElBQUksRUFBQyxFQUFFO1lBRXRDLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FDbkMsSUFBSSxFQUNKLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FDN0IsQ0FBQztRQUVKLENBQUMsRUFBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBUzFCLGFBQWE7UUFDYixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDekMsYUFBYTtRQUNiLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxVQUFVLEVBQUUsY0FBYyxDQUFDO1lBQ25ELE1BQU0sRUFBRSxVQUFVLENBQUMsU0FBUztZQUM1QixTQUFTLEVBQUUsa0JBQWtCLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUseUJBQXlCLENBQUM7U0FDcEYsQ0FBQyxDQUFBO1FBS0EsSUFDSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVE7WUFDckIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVE7WUFDdEIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUNoQyxDQUFDO1lBQ0MsTUFBTSxJQUFJLHVCQUF1QixDQUFDLDhCQUE4QixDQUFDLENBQUE7UUFDckUsQ0FBQztRQUdELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFBO0lBQzNCLENBQUM7SUFNRDs7T0FFRztJQUNILEtBQUssQ0FBQyxPQUFPO1FBQ1QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE1BQU0sSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUE7SUFDbkUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLFVBQVU7UUFDWixJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQTtRQUM1QixJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLENBQUE7SUFDbkMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsaUJBQWlCLENBQUMsSUFBcUI7UUFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXO1lBQUUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFBO1FBRXBFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQTtJQUMzQixDQUFDO0lBR0Q7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLElBQUksQ0FDTiw0QkFBaUQsRUFDakQsa0NBQTJDLElBQUk7UUFFL0MsSUFBSSxPQUFPLDRCQUE0QixLQUFLLFFBQVEsRUFBRSxDQUFDO1lBRW5ELElBQUksYUFBYSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUUsQ0FBQztnQkFHaEMsSUFBSSxhQUFhLENBQUMsU0FBUyxDQUFDLDRCQUE0QixDQUFDLEVBQUUsQ0FBQztvQkFDeEQsTUFBTSxRQUFRLEdBQUcsYUFBYSxDQUFDLFlBQVksQ0FDdkMsNEJBQTRCLENBQy9CLENBQUE7b0JBQ0QsT0FBTyxJQUFJLENBQUMsa0NBQWtDLENBQUMsUUFBUSxDQUFDLENBQUE7Z0JBQzVELENBQUM7cUJBQU0sSUFBSSwrQkFBK0IsRUFBRSxDQUFDO29CQUN6QyxNQUFNLElBQUksWUFBWSxDQUNsQixRQUFRLDRCQUE0QixpQkFBaUIsQ0FDeEQsQ0FBQTtnQkFDTCxDQUFDO3FCQUFNLENBQUM7b0JBSUosT0FBTyxJQUFJLENBQUMsa0NBQWtDLEVBQUUsQ0FBQTtnQkFDcEQsQ0FBQztZQUNMLENBQUM7aUJBQU0sQ0FBQztnQkFHSixJQUFJLG1CQUFtQixHQUFHLElBQUksQ0FBQTtnQkFDOUIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDO29CQUU5QixJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO3dCQUMxQixJQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLDRCQUE0QixDQUFDLENBQUMsRUFBRSxDQUFDOzRCQUV2RSxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQ2pELDRCQUE0QixDQUMvQixDQUFBOzRCQUVELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyw0QkFBNEIsQ0FBQyxHQUFHLE9BQU8sQ0FBQzt3QkFDakUsQ0FBQzt3QkFDRCxtQkFBbUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsNEJBQTRCLENBQUMsQ0FBQztvQkFFL0UsQ0FBQzt5QkFBTSxDQUFDO3dCQUNKLE1BQU0sSUFBSSxZQUFZLENBQ2xCLDBFQUEwRSxDQUM3RSxDQUFBO29CQUNMLENBQUM7Z0JBRUwsQ0FBQztxQkFBTSxDQUFDO29CQUNKLG1CQUFtQjt3QkFDZixhQUFhLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUNsRCw0QkFBNEIsQ0FDL0IsQ0FBQTtnQkFDVCxDQUFDO2dCQUVELElBQUksbUJBQW1CLElBQUksSUFBSSxFQUFFLENBQUM7b0JBRzlCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxrQ0FBa0MsQ0FDakQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUNoRixDQUFBO29CQUVELE9BQU8sR0FBRyxDQUFDO2dCQUNmLENBQUM7cUJBQU0sSUFBSSwrQkFBK0IsRUFBRSxDQUFDO29CQUN6QyxNQUFNLElBQUksWUFBWSxDQUNsQixRQUFRLDRCQUE0QixpQkFBaUIsQ0FDeEQsQ0FBQTtnQkFDTCxDQUFDO3FCQUFNLENBQUM7b0JBSUosT0FBTyxJQUFJLENBQUMsa0NBQWtDLEVBQUUsQ0FBQTtnQkFDcEQsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sSUFBSSxDQUFDLGtDQUFrQyxDQUMxQyw0QkFBNEIsQ0FDL0IsQ0FBQTtRQUNMLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBaUI7UUFDeEIsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdEMsTUFBTSxJQUFJLFlBQVksQ0FDbEIsbUdBQW1HLENBQ3RHLENBQUE7UUFDTCxDQUFDO1FBRUQsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFBO1FBQ2IsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNYLElBQUksR0FBRyxRQUFRLENBQUE7UUFDbkIsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMvQixJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUE7UUFDaEMsQ0FBQztRQUVELElBQUksYUFBYSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUM1QyxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1FBRUcsQ0FBQzthQUFNLENBQUM7WUFDSixNQUFNLFFBQVEsR0FBZSxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLENBQUE7WUFFN0QsTUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7WUFDN0MsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUU5QixJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO29CQUMxQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEdBQUcsYUFBYSxDQUFDO29CQUM3QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUs1QixDQUFDO3FCQUFNLENBQUM7b0JBQ0osTUFBTSxJQUFJLFlBQVksQ0FDbEIsMEVBQTBFLENBQzdFLENBQUE7Z0JBQ0wsQ0FBQztZQUVMLENBQUM7aUJBQU0sQ0FBQztnQkFDSixhQUFhLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUNsRCxJQUFJLEVBQ0osSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FDaEMsQ0FBQTtZQUNMLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILEtBQUssQ0FBQyxRQUFRO1FBQ1YsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQztZQUNsRSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDaEMsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFBO1lBQ3RELENBQUM7aUJBQU0sQ0FBQztnQkFDSixNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtZQUNyQixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU07UUFDRixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtJQUMzQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxrQkFBa0IsQ0FBQyxRQUF3QixFQUFFLFlBQWlCO1FBQzFELE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQ2pELENBQUMsR0FBRyxFQUFFLGVBQWUsRUFBRSxFQUFFO1lBRXJCLElBQ0ksZUFBZSxDQUFDLFNBQVM7Z0JBQ3pCLGVBQWUsQ0FBQyxrQkFBa0IsS0FBSyxXQUFXLEVBQ3BELENBQUM7Z0JBQ0MsTUFBTSxLQUFLLEdBQUcsNEJBQTRCLENBQUE7Z0JBQzFDLElBQUksQ0FBQztvQkFDRCxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO29CQUNoRCxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUE7b0JBQ3RDLE9BQU8sUUFBUSxDQUFDLFNBQVMsQ0FDckIsR0FBRyxFQUNILGVBQWUsQ0FBQyxjQUFjLENBQzFCLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ3pCLENBQ0osQ0FBQTtnQkFDTCxDQUFDO2dCQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7b0JBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7Z0JBQ3RELENBQUM7WUFDTCxDQUFDO1lBRUQsT0FBTyxHQUFHLENBQUE7UUFDZCxDQUFDLEVBQ0QsRUFBbUIsQ0FDdEIsQ0FBQTtRQUVELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtJQUMxRSxDQUFDO0lBTUQ7OztPQUdHO0lBQ08sd0JBQXdCO1FBQzlCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN4QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDbEQsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLGtDQUFrQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDekUsQ0FBQztJQUVEOzs7T0FHRztJQUNPLEtBQUssQ0FBQyxrQ0FBa0MsQ0FDOUMsUUFBcUI7UUFHckIsTUFBTSxlQUFlLEdBQUcsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsS0FBSyxVQUFVLENBQUE7UUFDbEUsTUFBTSxNQUFNLEdBQUcsZUFBZTtZQUMxQixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU07WUFDYixDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUE7UUFDakQsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLGFBQWE7WUFDaEQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUMzRCxDQUFDO2FBQU0sQ0FBQyxDQUFDLGFBQWE7WUFDbEIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFBO1FBQ25ELENBQUM7UUFFRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUE7UUFFeEQsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUE7SUFDbEMsQ0FBQztJQUVEOztPQUVHO0lBQ08sZ0JBQWdCO1FBQ3RCLElBQUksYUFBYSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUVuQyxhQUFhO1lBQ2IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBLENBQUMsYUFBYTtZQUNqRSxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUV4QixDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQztnQkFDRCxNQUFNLE1BQU0sR0FDUixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBLENBQUMsYUFBYTtnQkFDckUsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7WUFDeEIsQ0FBQztZQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ1QsTUFBTSxJQUFJLDhCQUE4QixDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQTtZQUNoRSxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7Q0FDSjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUZBQWlGIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IEFic3RyYWN0U3FsaXRlRHJpdmVyIH0gZnJvbSBcIi4uL3NxbGl0ZS1hYnN0cmFjdC9BYnN0cmFjdFNxbGl0ZURyaXZlclwiXG5pbXBvcnQgeyBTcWxqc0Nvbm5lY3Rpb25PcHRpb25zIH0gZnJvbSBcIi4vU3FsanNDb25uZWN0aW9uT3B0aW9uc1wiXG5pbXBvcnQgeyBTcWxqc1F1ZXJ5UnVubmVyIH0gZnJvbSBcIi4vU3FsanNRdWVyeVJ1bm5lclwiXG5pbXBvcnQgeyBRdWVyeVJ1bm5lciB9IGZyb20gXCIuLi8uLi9xdWVyeS1ydW5uZXIvUXVlcnlSdW5uZXJcIlxuaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gXCIuLi8uLi9kYXRhLXNvdXJjZS9EYXRhU291cmNlXCJcbmltcG9ydCB7IERyaXZlclBhY2thZ2VOb3RJbnN0YWxsZWRFcnJvciB9IGZyb20gXCIuLi8uLi9lcnJvci9Ecml2ZXJQYWNrYWdlTm90SW5zdGFsbGVkRXJyb3JcIlxuaW1wb3J0IHsgRHJpdmVyT3B0aW9uTm90U2V0RXJyb3IgfSBmcm9tIFwiLi4vLi4vZXJyb3IvRHJpdmVyT3B0aW9uTm90U2V0RXJyb3JcIlxuaW1wb3J0IHsgUGxhdGZvcm1Ub29scyB9IGZyb20gXCIuLi8uLi9wbGF0Zm9ybS9QbGF0Zm9ybVRvb2xzXCJcbmltcG9ydCB7IEVudGl0eU1ldGFkYXRhIH0gZnJvbSBcIi4uLy4uL21ldGFkYXRhL0VudGl0eU1ldGFkYXRhXCJcbmltcG9ydCB7IE9ybVV0aWxzIH0gZnJvbSBcIi4uLy4uL3V0aWwvT3JtVXRpbHNcIlxuaW1wb3J0IHsgT2JqZWN0TGl0ZXJhbCB9IGZyb20gXCIuLi8uLi9jb21tb24vT2JqZWN0TGl0ZXJhbFwiXG5pbXBvcnQgeyBSZXBsaWNhdGlvbk1vZGUgfSBmcm9tIFwiLi4vdHlwZXMvUmVwbGljYXRpb25Nb2RlXCJcbmltcG9ydCB7IFR5cGVPUk1FcnJvciB9IGZyb20gXCIuLi8uLi9lcnJvclwiXG5pbXBvcnQgeyBfIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cblxubGV0IGVudmlyb25tZW50ID0ge30gYXMgYW55O1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuLy8gQHRzLWlnbm9yZVxuZW52aXJvbm1lbnQgPSB3aW5kb3dbJ0VOViddO1xuXG5cblxuY29uc3QgU0FWRV9MT0NBTF9GT1JHRV9USU1FT1VUID0gNTAwO1xuXG5leHBvcnQgY2xhc3MgU3FsanNEcml2ZXIgZXh0ZW5kcyBBYnN0cmFjdFNxbGl0ZURyaXZlciB7XG5cbiAgICBkZWNsYXJlIG9wdGlvbnM6IFNxbGpzQ29ubmVjdGlvbk9wdGlvbnM7XG4gICAgbG9jYWxGb3JnZUluc3RhbmNlOiBhbnk7XG4gICAgZGF0YWJhc2VBcnJheUZhc3QgPSB7fTtcbiAgICBkZWJvdW5jZVNhdmUgPSBfLmRlYm91bmNlKGFzeW5jIChwYXRoKT0+IHtcblxuICAgICAgYXdhaXQgdGhpcy5sb2NhbEZvcmdlSW5zdGFuY2Uuc2V0SXRlbShcbiAgICAgICAgcGF0aCxcbiAgICAgICAgdGhpcy5kYXRhYmFzZUFycmF5RmFzdFtwYXRoXSxcbiAgICAgICk7XG5cbiAgICB9LFNBVkVfTE9DQUxfRk9SR0VfVElNRU9VVCk7XG5cblxuXG5cblxuICAgIGNvbnN0cnVjdG9yKGNvbm5lY3Rpb246IERhdGFTb3VyY2UpIHtcbiAgICAgIHN1cGVyKGNvbm5lY3Rpb24pXG5cbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGNvbnN0IGxvY2FsRm9yZ2UgPSB3aW5kb3dbJ2xvY2FsZm9yYWdlJ107XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICB0aGlzLmxvY2FsRm9yZ2VJbnN0YW5jZSA9IGxvY2FsRm9yZ2U/LmNyZWF0ZUluc3RhbmNlKHtcbiAgICAgICAgZHJpdmVyOiBsb2NhbEZvcmdlLklOREVYRUREQixcbiAgICAgICAgc3RvcmVOYW1lOiAnZmlyZWRldi10eXBlb3JtXycgKyBfLmtlYmFiQ2FzZShlbnZpcm9ubWVudD8uY3VycmVudFByb2plY3RHZW5lcmljTmFtZSksXG4gICAgICB9KVxuXG5cblxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucy5hdXRvU2F2ZSAmJlxuICAgICAgICAgICAgIXRoaXMub3B0aW9ucy5sb2NhdGlvbiAmJlxuICAgICAgICAgICAgIXRoaXMub3B0aW9ucy5hdXRvU2F2ZUNhbGxiYWNrXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IERyaXZlck9wdGlvbk5vdFNldEVycm9yKGBsb2NhdGlvbiBvciBhdXRvU2F2ZUNhbGxiYWNrYClcbiAgICAgICAgfVxuXG5cbiAgICAgICAgdGhpcy5sb2FkRGVwZW5kZW5jaWVzKClcbiAgICB9XG5cblxuXG5cblxuICAgIC8qKlxuICAgICAqIFBlcmZvcm1zIGNvbm5lY3Rpb24gdG8gdGhlIGRhdGFiYXNlLlxuICAgICAqL1xuICAgIGFzeW5jIGNvbm5lY3QoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRoaXMuZGF0YWJhc2VDb25uZWN0aW9uID0gYXdhaXQgdGhpcy5jcmVhdGVEYXRhYmFzZUNvbm5lY3Rpb24oKVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENsb3NlcyBjb25uZWN0aW9uIHdpdGggZGF0YWJhc2UuXG4gICAgICovXG4gICAgYXN5bmMgZGlzY29ubmVjdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdGhpcy5xdWVyeVJ1bm5lciA9IHVuZGVmaW5lZFxuICAgICAgICB0aGlzLmRhdGFiYXNlQ29ubmVjdGlvbi5jbG9zZSgpXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIHF1ZXJ5IHJ1bm5lciB1c2VkIHRvIGV4ZWN1dGUgZGF0YWJhc2UgcXVlcmllcy5cbiAgICAgKi9cbiAgICBjcmVhdGVRdWVyeVJ1bm5lcihtb2RlOiBSZXBsaWNhdGlvbk1vZGUpOiBRdWVyeVJ1bm5lciB7IC8vIEB0cy1pZ25vcmVcbiAgICAgICAgaWYgKCF0aGlzLnF1ZXJ5UnVubmVyKSB0aGlzLnF1ZXJ5UnVubmVyID0gbmV3IFNxbGpzUXVlcnlSdW5uZXIodGhpcylcblxuICAgICAgICByZXR1cm4gdGhpcy5xdWVyeVJ1bm5lclxuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogTG9hZHMgYSBkYXRhYmFzZSBmcm9tIGEgZ2l2ZW4gZmlsZSAoTm9kZS5qcyksIGxvY2FsIHN0b3JhZ2Uga2V5IChicm93c2VyKSBvciBhcnJheS5cbiAgICAgKiBUaGlzIHdpbGwgZGVsZXRlIHRoZSBjdXJyZW50IGRhdGFiYXNlIVxuICAgICAqL1xuICAgIGFzeW5jIGxvYWQoXG4gICAgICAgIGZpbGVOYW1lT3JMb2NhbFN0b3JhZ2VPckRhdGE6IHN0cmluZyB8IFVpbnQ4QXJyYXksXG4gICAgICAgIGNoZWNrSWZGaWxlT3JMb2NhbFN0b3JhZ2VFeGlzdHM6IGJvb2xlYW4gPSB0cnVlLFxuICAgICk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIGlmICh0eXBlb2YgZmlsZU5hbWVPckxvY2FsU3RvcmFnZU9yRGF0YSA9PT0gXCJzdHJpbmdcIikge1xuXG4gICAgICAgICAgICBpZiAoUGxhdGZvcm1Ub29scy50eXBlID09PSBcIm5vZGVcIikge1xuXG5cbiAgICAgICAgICAgICAgICBpZiAoUGxhdGZvcm1Ub29scy5maWxlRXhpc3QoZmlsZU5hbWVPckxvY2FsU3RvcmFnZU9yRGF0YSkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YWJhc2UgPSBQbGF0Zm9ybVRvb2xzLnJlYWRGaWxlU3luYyhcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVOYW1lT3JMb2NhbFN0b3JhZ2VPckRhdGEsXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlRGF0YWJhc2VDb25uZWN0aW9uV2l0aEltcG9ydChkYXRhYmFzZSlcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGNoZWNrSWZGaWxlT3JMb2NhbFN0b3JhZ2VFeGlzdHMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVPUk1FcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgIGBGaWxlICR7ZmlsZU5hbWVPckxvY2FsU3RvcmFnZU9yRGF0YX0gZG9lcyBub3QgZXhpc3RgLFxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcblxuXG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlRGF0YWJhc2VDb25uZWN0aW9uV2l0aEltcG9ydCgpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcblxuXG4gICAgICAgICAgICAgICAgbGV0IGxvY2FsU3RvcmFnZUNvbnRlbnQgPSBudWxsXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy51c2VMb2NhbEZvcmFnZSkge1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmxvY2FsRm9yZ2VJbnN0YW5jZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYoXy5pc1VuZGVmaW5lZCh0aGlzLmRhdGFiYXNlQXJyYXlGYXN0W2ZpbGVOYW1lT3JMb2NhbFN0b3JhZ2VPckRhdGFdKSkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRlbnQgPSBhd2FpdCB0aGlzLmxvY2FsRm9yZ2VJbnN0YW5jZS5nZXRJdGVtKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZU5hbWVPckxvY2FsU3RvcmFnZU9yRGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YWJhc2VBcnJheUZhc3RbZmlsZU5hbWVPckxvY2FsU3RvcmFnZU9yRGF0YV0gPSBjb250ZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlQ29udGVudCA9IHRoaXMuZGF0YWJhc2VBcnJheUZhc3RbZmlsZU5hbWVPckxvY2FsU3RvcmFnZU9yRGF0YV07XG5cbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBUeXBlT1JNRXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYGxvY2FsZm9yYWdlIGlzIG5vdCBkZWZpbmVkIC0gcGxlYXNlIGltcG9ydCBsb2NhbGZvcmFnZS5qcyBpbnRvIHlvdXIgc2l0ZWAsXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZUNvbnRlbnQgPVxuICAgICAgICAgICAgICAgICAgICAgICAgUGxhdGZvcm1Ub29scy5nZXRHbG9iYWxWYXJpYWJsZSgpLmxvY2FsU3RvcmFnZS5nZXRJdGVtKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVOYW1lT3JMb2NhbFN0b3JhZ2VPckRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGxvY2FsU3RvcmFnZUNvbnRlbnQgIT0gbnVsbCkge1xuXG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29uID0gdGhpcy5jcmVhdGVEYXRhYmFzZUNvbm5lY3Rpb25XaXRoSW1wb3J0KFxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9jYWxGb3JnZUluc3RhbmNlID8gbG9jYWxTdG9yYWdlQ29udGVudCA6IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlQ29udGVudCksXG4gICAgICAgICAgICAgICAgICAgIClcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29uO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoY2hlY2tJZkZpbGVPckxvY2FsU3RvcmFnZUV4aXN0cykge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZU9STUVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgYEZpbGUgJHtmaWxlTmFtZU9yTG9jYWxTdG9yYWdlT3JEYXRhfSBkb2VzIG5vdCBleGlzdGAsXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuXG5cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVEYXRhYmFzZUNvbm5lY3Rpb25XaXRoSW1wb3J0KClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVEYXRhYmFzZUNvbm5lY3Rpb25XaXRoSW1wb3J0KFxuICAgICAgICAgICAgICAgIGZpbGVOYW1lT3JMb2NhbFN0b3JhZ2VPckRhdGEsXG4gICAgICAgICAgICApXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTYXZlZCB0aGUgY3VycmVudCBkYXRhYmFzZSB0byB0aGUgZ2l2ZW4gZmlsZSAoTm9kZS5qcyksIGxvY2FsIHN0b3JhZ2Uga2V5IChicm93c2VyKSBvclxuICAgICAqIGluZGV4ZWREQiBrZXkgKGJyb3dzZXIgd2l0aCBlbmFibGVkIHVzZUxvY2FsRm9yYWdlIG9wdGlvbikuXG4gICAgICogSWYgbm8gbG9jYXRpb24gcGF0aCBpcyBnaXZlbiwgdGhlIGxvY2F0aW9uIHBhdGggaW4gdGhlIG9wdGlvbnMgKGlmIHNwZWNpZmllZCkgd2lsbCBiZSB1c2VkLlxuICAgICAqL1xuICAgIGFzeW5jIHNhdmUobG9jYXRpb24/OiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCFsb2NhdGlvbiAmJiAhdGhpcy5vcHRpb25zLmxvY2F0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZU9STUVycm9yKFxuICAgICAgICAgICAgICAgIGBObyBsb2NhdGlvbiBpcyBzZXQsIHNwZWNpZnkgYSBsb2NhdGlvbiBwYXJhbWV0ZXIgb3IgYWRkIHRoZSBsb2NhdGlvbiBvcHRpb24gdG8geW91ciBjb25maWd1cmF0aW9uYCxcbiAgICAgICAgICAgIClcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBwYXRoID0gXCJcIlxuICAgICAgICBpZiAobG9jYXRpb24pIHtcbiAgICAgICAgICAgIHBhdGggPSBsb2NhdGlvblxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMub3B0aW9ucy5sb2NhdGlvbikge1xuICAgICAgICAgICAgcGF0aCA9IHRoaXMub3B0aW9ucy5sb2NhdGlvblxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFBsYXRmb3JtVG9vbHMudHlwZSA9PT0gXCJub2RlXCIpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZGF0YWJhc2U6IFVpbnQ4QXJyYXkgPSB0aGlzLmRhdGFiYXNlQ29ubmVjdGlvbi5leHBvcnQoKVxuXG4gICAgICAgICAgICBjb25zdCBkYXRhYmFzZUFycmF5ID0gW10uc2xpY2UuY2FsbChkYXRhYmFzZSlcbiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMudXNlTG9jYWxGb3JhZ2UpIHtcblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmxvY2FsRm9yZ2VJbnN0YW5jZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGFiYXNlQXJyYXlGYXN0W3BhdGhdID0gZGF0YWJhc2VBcnJheTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZWJvdW5jZVNhdmUocGF0aCk7XG5cblxuXG5cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZU9STUVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgYGxvY2FsZm9yYWdlIGlzIG5vdCBkZWZpbmVkIC0gcGxlYXNlIGltcG9ydCBsb2NhbGZvcmFnZS5qcyBpbnRvIHlvdXIgc2l0ZWAsXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgUGxhdGZvcm1Ub29scy5nZXRHbG9iYWxWYXJpYWJsZSgpLmxvY2FsU3RvcmFnZS5zZXRJdGVtKFxuICAgICAgICAgICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgICAgICAgICBKU09OLnN0cmluZ2lmeShkYXRhYmFzZUFycmF5KSxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGdldHMgY2FsbGVkIGJ5IHRoZSBRdWVyeVJ1bm5lciB3aGVuIGEgY2hhbmdlIHRvIHRoZSBkYXRhYmFzZSBpcyBtYWRlLlxuICAgICAqIElmIGEgY3VzdG9tIGF1dG9TYXZlQ2FsbGJhY2sgaXMgc3BlY2lmaWVkLCBpdCBnZXQncyBjYWxsZWQgd2l0aCB0aGUgZGF0YWJhc2UgYXMgVWludDhBcnJheSxcbiAgICAgKiBvdGhlcndpc2UgdGhlIHNhdmUgbWV0aG9kIGlzIGNhbGxlZCB3aGljaCBzYXZlcyBpdCB0byBmaWxlIChOb2RlLmpzKSwgbG9jYWwgc3RvcmFnZSAoYnJvd3NlcilcbiAgICAgKiBvciBpbmRleGVkREIgKGJyb3dzZXIgd2l0aCBlbmFibGVkIHVzZUxvY2FsRm9yYWdlIG9wdGlvbikuXG4gICAgICogRG9uJ3QgYXV0by1zYXZlIHdoZW4gaW4gdHJhbnNhY3Rpb24gYXMgdGhlIGNhbGwgdG8gZXhwb3J0IHdpbGwgZW5kIHRoZSBjdXJyZW50IHRyYW5zYWN0aW9uXG4gICAgICovXG4gICAgYXN5bmMgYXV0b1NhdmUoKSB7XG4gICAgICAgIGlmICh0aGlzLm9wdGlvbnMuYXV0b1NhdmUgJiYgIXRoaXMucXVlcnlSdW5uZXI/LmlzVHJhbnNhY3Rpb25BY3RpdmUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMuYXV0b1NhdmVDYWxsYmFjaykge1xuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMub3B0aW9ucy5hdXRvU2F2ZUNhbGxiYWNrKHRoaXMuZXhwb3J0KCkpXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuc2F2ZSgpXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGRhdGFiYXNlIGFzIFVpbnQ4QXJyYXkuXG4gICAgICovXG4gICAgZXhwb3J0KCk6IFVpbnQ4QXJyYXkge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhYmFzZUNvbm5lY3Rpb24uZXhwb3J0KClcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGdlbmVyYXRlZCBtYXAgb2YgdmFsdWVzIGdlbmVyYXRlZCBvciByZXR1cm5lZCBieSBkYXRhYmFzZSBhZnRlciBJTlNFUlQgcXVlcnkuXG4gICAgICovXG4gICAgY3JlYXRlR2VuZXJhdGVkTWFwKG1ldGFkYXRhOiBFbnRpdHlNZXRhZGF0YSwgaW5zZXJ0UmVzdWx0OiBhbnkpIHtcbiAgICAgICAgY29uc3QgZ2VuZXJhdGVkTWFwID0gbWV0YWRhdGEuZ2VuZXJhdGVkQ29sdW1ucy5yZWR1Y2UoXG4gICAgICAgICAgICAobWFwLCBnZW5lcmF0ZWRDb2x1bW4pID0+IHtcblxuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVkQ29sdW1uLmlzUHJpbWFyeSAmJlxuICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZWRDb2x1bW4uZ2VuZXJhdGlvblN0cmF0ZWd5ID09PSBcImluY3JlbWVudFwiXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHF1ZXJ5ID0gXCJTRUxFQ1QgbGFzdF9pbnNlcnRfcm93aWQoKVwiXG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgcmVzdWx0ID0gdGhpcy5kYXRhYmFzZUNvbm5lY3Rpb24uZXhlYyhxdWVyeSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29ubmVjdGlvbi5sb2dnZXIubG9nUXVlcnkocXVlcnkpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gT3JtVXRpbHMubWVyZ2VEZWVwKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZWRDb2x1bW4uY3JlYXRlVmFsdWVNYXAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdFswXS52YWx1ZXNbMF1bMF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25uZWN0aW9uLmxvZ2dlci5sb2dRdWVyeUVycm9yKGUsIHF1ZXJ5LCBbXSlcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBtYXBcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7fSBhcyBPYmplY3RMaXRlcmFsLFxuICAgICAgICApXG5cbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGdlbmVyYXRlZE1hcCkubGVuZ3RoID4gMCA/IGdlbmVyYXRlZE1hcCA6IHVuZGVmaW5lZFxuICAgIH1cblxuXG5cblxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBjb25uZWN0aW9uIHdpdGggdGhlIGRhdGFiYXNlLlxuICAgICAqIElmIHRoZSBsb2NhdGlvbiBvcHRpb24gaXMgc2V0LCB0aGUgZGF0YWJhc2UgaXMgbG9hZGVkIGZpcnN0LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBjcmVhdGVEYXRhYmFzZUNvbm5lY3Rpb24oKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5sb2NhdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9hZCh0aGlzLm9wdGlvbnMubG9jYXRpb24sIGZhbHNlKVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlRGF0YWJhc2VDb25uZWN0aW9uV2l0aEltcG9ydCh0aGlzLm9wdGlvbnMuZGF0YWJhc2UpXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBjb25uZWN0aW9uIHdpdGggYW4gb3B0aW9uYWwgZGF0YWJhc2UuXG4gICAgICogSWYgZGF0YWJhc2UgaXMgc3BlY2lmaWVkIGl0IGlzIGxvYWRlZCwgb3RoZXJ3aXNlIGEgbmV3IGVtcHR5IGRhdGFiYXNlIGlzIGNyZWF0ZWQuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFzeW5jIGNyZWF0ZURhdGFiYXNlQ29ubmVjdGlvbldpdGhJbXBvcnQoXG4gICAgICAgIGRhdGFiYXNlPzogVWludDhBcnJheSxcbiAgICApOiBQcm9taXNlPGFueT4ge1xuXG4gICAgICAgIGNvbnN0IGlzTGVnYWN5VmVyc2lvbiA9IHR5cGVvZiB0aGlzLnNxbGl0ZS5EYXRhYmFzZSA9PT0gXCJmdW5jdGlvblwiXG4gICAgICAgIGNvbnN0IHNxbGl0ZSA9IGlzTGVnYWN5VmVyc2lvblxuICAgICAgICAgICAgPyB0aGlzLnNxbGl0ZVxuICAgICAgICAgICAgOiBhd2FpdCB0aGlzLnNxbGl0ZSh0aGlzLm9wdGlvbnMuc3FsSnNDb25maWcpXG4gICAgICAgIGlmIChkYXRhYmFzZSAmJiBkYXRhYmFzZS5sZW5ndGggPiAwKSB7IC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIHRoaXMuZGF0YWJhc2VDb25uZWN0aW9uID0gbmV3IHNxbGl0ZS5EYXRhYmFzZShkYXRhYmFzZSlcbiAgICAgICAgfSBlbHNlIHsgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgdGhpcy5kYXRhYmFzZUNvbm5lY3Rpb24gPSBuZXcgc3FsaXRlLkRhdGFiYXNlKClcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZGF0YWJhc2VDb25uZWN0aW9uLmV4ZWMoYFBSQUdNQSBmb3JlaWduX2tleXMgPSBPTmApXG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YWJhc2VDb25uZWN0aW9uXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSWYgZHJpdmVyIGRlcGVuZGVuY3kgaXMgbm90IGdpdmVuIGV4cGxpY2l0bHksIHRoZW4gdHJ5IHRvIGxvYWQgaXQgdmlhIFwicmVxdWlyZVwiLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBsb2FkRGVwZW5kZW5jaWVzKCk6IHZvaWQge1xuICAgICAgICBpZiAoUGxhdGZvcm1Ub29scy50eXBlID09PSBcImJyb3dzZXJcIikge1xuXG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICBjb25zdCBzcWxpdGUgPSB0aGlzLm9wdGlvbnMuZHJpdmVyIHx8IHdpbmRvd1snU1FMJ10gLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgdGhpcy5zcWxpdGUgPSBzcWxpdGVcblxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzcWxpdGUgPVxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMuZHJpdmVyIHx8IFBsYXRmb3JtVG9vbHMubG9hZChcInNxbC5qc1wiKSAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgdGhpcy5zcWxpdGUgPSBzcWxpdGVcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRHJpdmVyUGFja2FnZU5vdEluc3RhbGxlZEVycm9yKFwic3FsLmpzXCIsIFwic3FsLmpzXCIpXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10YW9uLXR5cGVvcm0gbGliL3R5cGVvcm0vZHJpdmVyL3NxbGpzL1NxbGpzRHJpdmVyLnRzIl19
@@ -104,4 +104,4 @@ export class SqljsQueryRunner extends AbstractSqliteQueryRunner {
104
104
  }
105
105
  ;
106
106
  ({}); // @--end-of-file-for-module=taon-typeorm lib/typeorm/driver/sqljs/SqljsQueryRunner.ts
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3FsanNRdWVyeVJ1bm5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3Rhb24tdHlwZW9ybS9wcm9qZWN0cy90YW9uLXR5cGVvcm0vc3JjL2xpYi90eXBlb3JtL2RyaXZlci9zcWxqcy9TcWxqc1F1ZXJ5UnVubmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFBO0FBQzdGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFBO0FBRXhGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUMxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFFNUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEseUJBQXlCO0lBZTNELFlBQVksTUFBbUI7UUFDM0IsS0FBSyxFQUFFLENBQUE7UUFmWDs7V0FFRztRQUNLLFlBQU8sR0FBRyxLQUFLLENBQUE7UUFhbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7UUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFBLENBQUMsYUFBYTtRQUNqRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzVDLENBQUM7SUFNRDs7T0FFRztJQUNILEtBQUssQ0FBQyxlQUFlO1FBQ2pCLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFBO0lBQ2pELENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxjQUFjO1FBQ2hCLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFBO0lBQ2hELENBQUM7SUFF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SUFBSSxFQUFFLENBQUE7WUFFaEIsSUFBSSxPQUFPLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFBO1lBQ3ZCLENBQUM7WUFFRCxJQUFJLG1CQUFtQixFQUFFLENBQUM7Z0JBQ3RCLE9BQU8sTUFBTSxDQUFBO1lBQ2pCLENBQUM7aUJBQU0sQ0FBQztnQkFDSixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUE7WUFDckIsQ0FBQztRQUNMLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1QsSUFBSSxTQUFTLEVBQUUsQ0FBQztnQkFDWixTQUFTLENBQUMsSUFBSSxFQUFFLENBQUE7WUFDcEIsQ0FBQztZQUVELElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQ3ZDLENBQUMsRUFDRCxLQUFLLEVBQ0wsVUFBVSxFQUFFLGFBQWE7WUFDekIsSUFBSSxDQUNQLENBQUE7WUFDRCxNQUFNLElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUNwRCxDQUFDO0lBQ0wsQ0FBQztDQUNKO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxzRkFBc0YiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgUXVlcnlSdW5uZXJBbHJlYWR5UmVsZWFzZWRFcnJvciB9IGZyb20gXCIuLi8uLi9lcnJvci9RdWVyeVJ1bm5lckFscmVhZHlSZWxlYXNlZEVycm9yXCJcbmltcG9ydCB7IEFic3RyYWN0U3FsaXRlUXVlcnlSdW5uZXIgfSBmcm9tIFwiLi4vc3FsaXRlLWFic3RyYWN0L0Fic3RyYWN0U3FsaXRlUXVlcnlSdW5uZXJcIlxuaW1wb3J0IHsgU3FsanNEcml2ZXIgfSBmcm9tIFwiLi9TcWxqc0RyaXZlclwiXG5pbXBvcnQgeyBCcm9hZGNhc3RlciB9IGZyb20gXCIuLi8uLi9zdWJzY3JpYmVyL0Jyb2FkY2FzdGVyXCJcbmltcG9ydCB7IFF1ZXJ5RmFpbGVkRXJyb3IgfSBmcm9tIFwiLi4vLi4vZXJyb3IvUXVlcnlGYWlsZWRFcnJvclwiXG5pbXBvcnQgeyBRdWVyeVJlc3VsdCB9IGZyb20gXCIuLi8uLi9xdWVyeS1ydW5uZXIvUXVlcnlSZXN1bHRcIlxuXG4vKipcbiAqIFJ1bnMgcXVlcmllcyBvbiBhIHNpbmdsZSBzcWxpdGUgZGF0YWJhc2UgY29ubmVjdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIFNxbGpzUXVlcnlSdW5uZXIgZXh0ZW5kcyBBYnN0cmFjdFNxbGl0ZVF1ZXJ5UnVubmVyIHtcbiAgICAvKipcbiAgICAgKiBGbGFnIHRvIGRldGVybWluZSBpZiBhIG1vZGlmaWNhdGlvbiBoYXMgaGFwcGVuZWQgc2luY2UgdGhlIGxhc3QgdGltZSB0aGlzIHF1ZXJ5IHJ1bm5lciBoYXMgcmVxdWVzdGVkIGEgc2F2ZS5cbiAgICAgKi9cbiAgICBwcml2YXRlIGlzRGlydHkgPSBmYWxzZVxuXG4gICAgLyoqXG4gICAgICogRGF0YWJhc2UgZHJpdmVyIHVzZWQgYnkgY29ubmVjdGlvbi5cbiAgICAgKi9cbiAgICBkcml2ZXI6IFNxbGpzRHJpdmVyXG5cblxuXG5cblxuICAgIGNvbnN0cnVjdG9yKGRyaXZlcjogU3FsanNEcml2ZXIpIHtcbiAgICAgICAgc3VwZXIoKVxuICAgICAgICB0aGlzLmRyaXZlciA9IGRyaXZlclxuICAgICAgICB0aGlzLmNvbm5lY3Rpb24gPSBkcml2ZXIuY29ubmVjdGlvbiAvLyBAdHMtaWdub3JlXG4gICAgICAgIHRoaXMuYnJvYWRjYXN0ZXIgPSBuZXcgQnJvYWRjYXN0ZXIodGhpcylcbiAgICB9XG5cblxuXG5cblxuICAgIC8qKlxuICAgICAqIENhbGxlZCBiZWZvcmUgbWlncmF0aW9ucyBhcmUgcnVuLlxuICAgICAqL1xuICAgIGFzeW5jIGJlZm9yZU1pZ3JhdGlvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5xdWVyeShgUFJBR01BIGZvcmVpZ25fa2V5cyA9IE9GRmApXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsbGVkIGFmdGVyIG1pZ3JhdGlvbnMgYXJlIHJ1bi5cbiAgICAgKi9cbiAgICBhc3luYyBhZnRlck1pZ3JhdGlvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5xdWVyeShgUFJBR01BIGZvcmVpZ25fa2V5cyA9IE9OYClcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIGZsdXNoKCkge1xuICAgICAgICBpZiAodGhpcy5pc0RpcnR5KSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmRyaXZlci5hdXRvU2F2ZSgpXG4gICAgICAgICAgICB0aGlzLmlzRGlydHkgPSBmYWxzZVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXN5bmMgcmVsZWFzZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5mbHVzaCgpXG4gICAgICAgIHJldHVybiBzdXBlci5yZWxlYXNlKClcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb21taXRzIHRyYW5zYWN0aW9uLlxuICAgICAqIEVycm9yIHdpbGwgYmUgdGhyb3duIGlmIHRyYW5zYWN0aW9uIHdhcyBub3Qgc3RhcnRlZC5cbiAgICAgKi9cbiAgICBhc3luYyBjb21taXRUcmFuc2FjdGlvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgc3VwZXIuY29tbWl0VHJhbnNhY3Rpb24oKSAvLyBAdHMtaWdub3JlXG4gICAgICAgIGlmICghdGhpcy5pc1RyYW5zYWN0aW9uQWN0aXZlKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmZsdXNoKClcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGEgZ2l2ZW4gU1FMIHF1ZXJ5LlxuICAgICAqL1xuICAgIGFzeW5jIHF1ZXJ5KFxuICAgICAgICBxdWVyeTogc3RyaW5nLFxuICAgICAgICBwYXJhbWV0ZXJzOiBhbnlbXSA9IFtdLFxuICAgICAgICB1c2VTdHJ1Y3R1cmVkUmVzdWx0ID0gZmFsc2UsXG4gICAgKTogUHJvbWlzZTxhbnk+IHsgLy8gQHRzLWlnbm9yZVxuICAgICAgICBpZiAodGhpcy5pc1JlbGVhc2VkKSB0aHJvdyBuZXcgUXVlcnlSdW5uZXJBbHJlYWR5UmVsZWFzZWRFcnJvcigpXG5cbiAgICAgICAgY29uc3QgY29tbWFuZCA9IHF1ZXJ5LnRyaW0oKS5zcGxpdChcIiBcIiwgMSlbMF1cblxuICAgICAgICBjb25zdCBkYXRhYmFzZUNvbm5lY3Rpb24gPSB0aGlzLmRyaXZlci5kYXRhYmFzZUNvbm5lY3Rpb25cbiAgICAgICAgdGhpcy5kcml2ZXIuY29ubmVjdGlvbi5sb2dnZXIubG9nUXVlcnkocXVlcnksIHBhcmFtZXRlcnMsIHRoaXMpXG4gICAgICAgIGNvbnN0IHF1ZXJ5U3RhcnRUaW1lID0gK25ldyBEYXRlKClcbiAgICAgICAgbGV0IHN0YXRlbWVudDogYW55XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBzdGF0ZW1lbnQgPSBkYXRhYmFzZUNvbm5lY3Rpb24ucHJlcGFyZShxdWVyeSlcbiAgICAgICAgICAgIGlmIChwYXJhbWV0ZXJzKSB7XG4gICAgICAgICAgICAgICAgcGFyYW1ldGVycyA9IHBhcmFtZXRlcnMubWFwKChwKSA9PlxuICAgICAgICAgICAgICAgICAgICB0eXBlb2YgcCAhPT0gXCJ1bmRlZmluZWRcIiA/IHAgOiBudWxsLFxuICAgICAgICAgICAgICAgIClcblxuICAgICAgICAgICAgICAgIHN0YXRlbWVudC5iaW5kKHBhcmFtZXRlcnMpXG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgY29uc3QgbWF4UXVlcnlFeGVjdXRpb25UaW1lID1cbiAgICAgICAgICAgICAgICB0aGlzLmRyaXZlci5vcHRpb25zLm1heFF1ZXJ5RXhlY3V0aW9uVGltZVxuICAgICAgICAgICAgY29uc3QgcXVlcnlFbmRUaW1lID0gK25ldyBEYXRlKClcbiAgICAgICAgICAgIGNvbnN0IHF1ZXJ5RXhlY3V0aW9uVGltZSA9IHF1ZXJ5RW5kVGltZSAtIHF1ZXJ5U3RhcnRUaW1lXG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgbWF4UXVlcnlFeGVjdXRpb25UaW1lICYmXG4gICAgICAgICAgICAgICAgcXVlcnlFeGVjdXRpb25UaW1lID4gbWF4UXVlcnlFeGVjdXRpb25UaW1lXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgdGhpcy5kcml2ZXIuY29ubmVjdGlvbi5sb2dnZXIubG9nUXVlcnlTbG93KFxuICAgICAgICAgICAgICAgICAgICBxdWVyeUV4ZWN1dGlvblRpbWUsXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5LFxuICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzLCAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICBjb25zdCByZWNvcmRzOiBhbnlbXSA9IFtdXG5cbiAgICAgICAgICAgIHdoaWxlIChzdGF0ZW1lbnQuc3RlcCgpKSB7XG4gICAgICAgICAgICAgICAgcmVjb3Jkcy5wdXNoKHN0YXRlbWVudC5nZXRBc09iamVjdCgpKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBuZXcgUXVlcnlSZXN1bHQoKVxuXG4gICAgICAgICAgICByZXN1bHQuYWZmZWN0ZWQgPSBkYXRhYmFzZUNvbm5lY3Rpb24uZ2V0Um93c01vZGlmaWVkKClcbiAgICAgICAgICAgIHJlc3VsdC5yZWNvcmRzID0gcmVjb3Jkc1xuICAgICAgICAgICAgcmVzdWx0LnJhdyA9IHJlY29yZHNcblxuICAgICAgICAgICAgc3RhdGVtZW50LmZyZWUoKVxuXG4gICAgICAgICAgICBpZiAoY29tbWFuZCAhPT0gXCJTRUxFQ1RcIikge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNEaXJ0eSA9IHRydWVcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHVzZVN0cnVjdHVyZWRSZXN1bHQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQucmF3XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGlmIChzdGF0ZW1lbnQpIHtcbiAgICAgICAgICAgICAgICBzdGF0ZW1lbnQuZnJlZSgpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuZHJpdmVyLmNvbm5lY3Rpb24ubG9nZ2VyLmxvZ1F1ZXJ5RXJyb3IoXG4gICAgICAgICAgICAgICAgZSxcbiAgICAgICAgICAgICAgICBxdWVyeSxcbiAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzLCAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgdGhpcyxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIHRocm93IG5ldyBRdWVyeUZhaWxlZEVycm9yKHF1ZXJ5LCBwYXJhbWV0ZXJzLCBlKVxuICAgICAgICB9XG4gICAgfVxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dGFvbi10eXBlb3JtIGxpYi90eXBlb3JtL2RyaXZlci9zcWxqcy9TcWxqc1F1ZXJ5UnVubmVyLnRzIl19
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3FsanNRdWVyeVJ1bm5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3Rhb24tdHlwZW9ybS9wcm9qZWN0cy90YW9uLXR5cGVvcm0vc3JjL2xpYi90eXBlb3JtL2RyaXZlci9zcWxqcy9TcWxqc1F1ZXJ5UnVubmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFBO0FBQzdGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFBO0FBRXhGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUMxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFFNUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEseUJBQXlCO0lBZTNELFlBQVksTUFBbUI7UUFDM0IsS0FBSyxFQUFFLENBQUE7UUFmWDs7V0FFRztRQUNLLFlBQU8sR0FBRyxLQUFLLENBQUE7UUFhbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7UUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFBLENBQUMsYUFBYTtRQUNqRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzVDLENBQUM7SUFNRDs7T0FFRztJQUNILEtBQUssQ0FBQyxlQUFlO1FBQ2pCLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFBO0lBQ2pELENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxjQUFjO1FBQ2hCLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFBO0lBQ2hELENBQUM7SUFF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SUFBSSxFQUFFLENBQUE7WUFFaEIsSUFBSSxPQUFPLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFBO1lBQ3ZCLENBQUM7WUFFRCxJQUFJLG1CQUFtQixFQUFFLENBQUM7Z0JBQ3RCLE9BQU8sTUFBTSxDQUFBO1lBQ2pCLENBQUM7aUJBQU0sQ0FBQztnQkFDSixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUE7WUFDckIsQ0FBQztRQUNMLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1QsSUFBSSxTQUFTLEVBQUUsQ0FBQztnQkFDWixTQUFTLENBQUMsSUFBSSxFQUFFLENBQUE7WUFDcEIsQ0FBQztZQUVELElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQ3ZDLENBQUMsRUFDRCxLQUFLLEVBQ0wsVUFBVSxFQUFFLGFBQWE7WUFDekIsSUFBSSxDQUNQLENBQUE7WUFDRCxNQUFNLElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUNwRCxDQUFDO0lBQ0wsQ0FBQztDQUNKO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxzRkFBc0YiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgUXVlcnlSdW5uZXJBbHJlYWR5UmVsZWFzZWRFcnJvciB9IGZyb20gXCIuLi8uLi9lcnJvci9RdWVyeVJ1bm5lckFscmVhZHlSZWxlYXNlZEVycm9yXCJcbmltcG9ydCB7IEFic3RyYWN0U3FsaXRlUXVlcnlSdW5uZXIgfSBmcm9tIFwiLi4vc3FsaXRlLWFic3RyYWN0L0Fic3RyYWN0U3FsaXRlUXVlcnlSdW5uZXJcIlxuaW1wb3J0IHsgU3FsanNEcml2ZXIgfSBmcm9tIFwiLi9TcWxqc0RyaXZlclwiXG5pbXBvcnQgeyBCcm9hZGNhc3RlciB9IGZyb20gXCIuLi8uLi9zdWJzY3JpYmVyL0Jyb2FkY2FzdGVyXCJcbmltcG9ydCB7IFF1ZXJ5RmFpbGVkRXJyb3IgfSBmcm9tIFwiLi4vLi4vZXJyb3IvUXVlcnlGYWlsZWRFcnJvclwiXG5pbXBvcnQgeyBRdWVyeVJlc3VsdCB9IGZyb20gXCIuLi8uLi9xdWVyeS1ydW5uZXIvUXVlcnlSZXN1bHRcIlxuXG4vKipcbiAqIFJ1bnMgcXVlcmllcyBvbiBhIHNpbmdsZSBzcWxpdGUgZGF0YWJhc2UgY29ubmVjdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIFNxbGpzUXVlcnlSdW5uZXIgZXh0ZW5kcyBBYnN0cmFjdFNxbGl0ZVF1ZXJ5UnVubmVyIHtcbiAgICAvKipcbiAgICAgKiBGbGFnIHRvIGRldGVybWluZSBpZiBhIG1vZGlmaWNhdGlvbiBoYXMgaGFwcGVuZWQgc2luY2UgdGhlIGxhc3QgdGltZSB0aGlzIHF1ZXJ5IHJ1bm5lciBoYXMgcmVxdWVzdGVkIGEgc2F2ZS5cbiAgICAgKi9cbiAgICBwcml2YXRlIGlzRGlydHkgPSBmYWxzZVxuXG4gICAgLyoqXG4gICAgICogRGF0YWJhc2UgZHJpdmVyIHVzZWQgYnkgY29ubmVjdGlvbi5cbiAgICAgKi9cbiAgICBkZWNsYXJlIGRyaXZlcjogU3FsanNEcml2ZXJcblxuXG5cblxuXG4gICAgY29uc3RydWN0b3IoZHJpdmVyOiBTcWxqc0RyaXZlcikge1xuICAgICAgICBzdXBlcigpXG4gICAgICAgIHRoaXMuZHJpdmVyID0gZHJpdmVyXG4gICAgICAgIHRoaXMuY29ubmVjdGlvbiA9IGRyaXZlci5jb25uZWN0aW9uIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgdGhpcy5icm9hZGNhc3RlciA9IG5ldyBCcm9hZGNhc3Rlcih0aGlzKVxuICAgIH1cblxuXG5cblxuXG4gICAgLyoqXG4gICAgICogQ2FsbGVkIGJlZm9yZSBtaWdyYXRpb25zIGFyZSBydW4uXG4gICAgICovXG4gICAgYXN5bmMgYmVmb3JlTWlncmF0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBhd2FpdCB0aGlzLnF1ZXJ5KGBQUkFHTUEgZm9yZWlnbl9rZXlzID0gT0ZGYClcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxsZWQgYWZ0ZXIgbWlncmF0aW9ucyBhcmUgcnVuLlxuICAgICAqL1xuICAgIGFzeW5jIGFmdGVyTWlncmF0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBhd2FpdCB0aGlzLnF1ZXJ5KGBQUkFHTUEgZm9yZWlnbl9rZXlzID0gT05gKVxuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgZmx1c2goKSB7XG4gICAgICAgIGlmICh0aGlzLmlzRGlydHkpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZHJpdmVyLmF1dG9TYXZlKClcbiAgICAgICAgICAgIHRoaXMuaXNEaXJ0eSA9IGZhbHNlXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhc3luYyByZWxlYXNlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBhd2FpdCB0aGlzLmZsdXNoKClcbiAgICAgICAgcmV0dXJuIHN1cGVyLnJlbGVhc2UoKVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbW1pdHMgdHJhbnNhY3Rpb24uXG4gICAgICogRXJyb3Igd2lsbCBiZSB0aHJvd24gaWYgdHJhbnNhY3Rpb24gd2FzIG5vdCBzdGFydGVkLlxuICAgICAqL1xuICAgIGFzeW5jIGNvbW1pdFRyYW5zYWN0aW9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBhd2FpdCBzdXBlci5jb21taXRUcmFuc2FjdGlvbigpIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgaWYgKCF0aGlzLmlzVHJhbnNhY3Rpb25BY3RpdmUpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZmx1c2goKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRXhlY3V0ZXMgYSBnaXZlbiBTUUwgcXVlcnkuXG4gICAgICovXG4gICAgYXN5bmMgcXVlcnkoXG4gICAgICAgIHF1ZXJ5OiBzdHJpbmcsXG4gICAgICAgIHBhcmFtZXRlcnM6IGFueVtdID0gW10sXG4gICAgICAgIHVzZVN0cnVjdHVyZWRSZXN1bHQgPSBmYWxzZSxcbiAgICApOiBQcm9taXNlPGFueT4geyAvLyBAdHMtaWdub3JlXG4gICAgICAgIGlmICh0aGlzLmlzUmVsZWFzZWQpIHRocm93IG5ldyBRdWVyeVJ1bm5lckFscmVhZHlSZWxlYXNlZEVycm9yKClcblxuICAgICAgICBjb25zdCBjb21tYW5kID0gcXVlcnkudHJpbSgpLnNwbGl0KFwiIFwiLCAxKVswXVxuXG4gICAgICAgIGNvbnN0IGRhdGFiYXNlQ29ubmVjdGlvbiA9IHRoaXMuZHJpdmVyLmRhdGFiYXNlQ29ubmVjdGlvblxuICAgICAgICB0aGlzLmRyaXZlci5jb25uZWN0aW9uLmxvZ2dlci5sb2dRdWVyeShxdWVyeSwgcGFyYW1ldGVycywgdGhpcylcbiAgICAgICAgY29uc3QgcXVlcnlTdGFydFRpbWUgPSArbmV3IERhdGUoKVxuICAgICAgICBsZXQgc3RhdGVtZW50OiBhbnlcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHN0YXRlbWVudCA9IGRhdGFiYXNlQ29ubmVjdGlvbi5wcmVwYXJlKHF1ZXJ5KVxuICAgICAgICAgICAgaWYgKHBhcmFtZXRlcnMpIHtcbiAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzID0gcGFyYW1ldGVycy5tYXAoKHApID0+XG4gICAgICAgICAgICAgICAgICAgIHR5cGVvZiBwICE9PSBcInVuZGVmaW5lZFwiID8gcCA6IG51bGwsXG4gICAgICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICAgICAgc3RhdGVtZW50LmJpbmQocGFyYW1ldGVycylcbiAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICBjb25zdCBtYXhRdWVyeUV4ZWN1dGlvblRpbWUgPVxuICAgICAgICAgICAgICAgIHRoaXMuZHJpdmVyLm9wdGlvbnMubWF4UXVlcnlFeGVjdXRpb25UaW1lXG4gICAgICAgICAgICBjb25zdCBxdWVyeUVuZFRpbWUgPSArbmV3IERhdGUoKVxuICAgICAgICAgICAgY29uc3QgcXVlcnlFeGVjdXRpb25UaW1lID0gcXVlcnlFbmRUaW1lIC0gcXVlcnlTdGFydFRpbWVcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBtYXhRdWVyeUV4ZWN1dGlvblRpbWUgJiZcbiAgICAgICAgICAgICAgICBxdWVyeUV4ZWN1dGlvblRpbWUgPiBtYXhRdWVyeUV4ZWN1dGlvblRpbWVcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB0aGlzLmRyaXZlci5jb25uZWN0aW9uLmxvZ2dlci5sb2dRdWVyeVNsb3coXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5RXhlY3V0aW9uVGltZSxcbiAgICAgICAgICAgICAgICAgICAgcXVlcnksXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnMsIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgICAgdGhpcyxcbiAgICAgICAgICAgICAgICApXG5cbiAgICAgICAgICAgIGNvbnN0IHJlY29yZHM6IGFueVtdID0gW11cblxuICAgICAgICAgICAgd2hpbGUgKHN0YXRlbWVudC5zdGVwKCkpIHtcbiAgICAgICAgICAgICAgICByZWNvcmRzLnB1c2goc3RhdGVtZW50LmdldEFzT2JqZWN0KCkpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBRdWVyeVJlc3VsdCgpXG5cbiAgICAgICAgICAgIHJlc3VsdC5hZmZlY3RlZCA9IGRhdGFiYXNlQ29ubmVjdGlvbi5nZXRSb3dzTW9kaWZpZWQoKVxuICAgICAgICAgICAgcmVzdWx0LnJlY29yZHMgPSByZWNvcmRzXG4gICAgICAgICAgICByZXN1bHQucmF3ID0gcmVjb3Jkc1xuXG4gICAgICAgICAgICBzdGF0ZW1lbnQuZnJlZSgpXG5cbiAgICAgICAgICAgIGlmIChjb21tYW5kICE9PSBcIlNFTEVDVFwiKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0RpcnR5ID0gdHJ1ZVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodXNlU3RydWN0dXJlZFJlc3VsdCkge1xuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5yYXdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgaWYgKHN0YXRlbWVudCkge1xuICAgICAgICAgICAgICAgIHN0YXRlbWVudC5mcmVlKClcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5kcml2ZXIuY29ubmVjdGlvbi5sb2dnZXIubG9nUXVlcnlFcnJvcihcbiAgICAgICAgICAgICAgICBlLFxuICAgICAgICAgICAgICAgIHF1ZXJ5LFxuICAgICAgICAgICAgICAgIHBhcmFtZXRlcnMsIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICB0aGlzLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgdGhyb3cgbmV3IFF1ZXJ5RmFpbGVkRXJyb3IocXVlcnksIHBhcmFtZXRlcnMsIGUpXG4gICAgICAgIH1cbiAgICB9XG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10YW9uLXR5cGVvcm0gbGliL3R5cGVvcm0vZHJpdmVyL3NxbGpzL1NxbGpzUXVlcnlSdW5uZXIudHMiXX0=