@payloadcms/db-postgres 0.8.0 → 0.8.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (123) hide show
  1. package/dist/connect.js +1 -1
  2. package/dist/count.d.ts +3 -0
  3. package/dist/count.d.ts.map +1 -0
  4. package/dist/count.js +65 -0
  5. package/dist/create.d.ts.map +1 -1
  6. package/dist/create.js +9 -6
  7. package/dist/createGlobal.d.ts.map +1 -1
  8. package/dist/createGlobal.js +9 -6
  9. package/dist/createGlobalVersion.d.ts.map +1 -1
  10. package/dist/createGlobalVersion.js +11 -10
  11. package/dist/createMigration.js +1 -1
  12. package/dist/createVersion.d.ts.map +1 -1
  13. package/dist/createVersion.js +22 -21
  14. package/dist/deleteMany.d.ts.map +1 -1
  15. package/dist/deleteMany.js +8 -6
  16. package/dist/deleteOne.d.ts.map +1 -1
  17. package/dist/deleteOne.js +3 -6
  18. package/dist/deleteVersions.d.ts.map +1 -1
  19. package/dist/deleteVersions.js +8 -7
  20. package/dist/destroy.js +1 -1
  21. package/dist/find/buildFindManyArgs.js +1 -1
  22. package/dist/find/chainMethods.js +1 -1
  23. package/dist/find/findMany.js +1 -1
  24. package/dist/find/traverseFields.d.ts.map +1 -1
  25. package/dist/find/traverseFields.js +13 -22
  26. package/dist/find.d.ts.map +1 -1
  27. package/dist/find.js +8 -6
  28. package/dist/findGlobal.d.ts.map +1 -1
  29. package/dist/findGlobal.js +8 -6
  30. package/dist/findGlobalVersions.d.ts.map +1 -1
  31. package/dist/findGlobalVersions.js +8 -7
  32. package/dist/findOne.d.ts.map +1 -1
  33. package/dist/findOne.js +8 -6
  34. package/dist/findVersions.d.ts.map +1 -1
  35. package/dist/findVersions.js +8 -7
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +8 -8
  38. package/dist/init.d.ts.map +1 -1
  39. package/dist/init.js +10 -8
  40. package/dist/migrate.js +1 -1
  41. package/dist/migrateDown.js +1 -1
  42. package/dist/migrateFresh.js +1 -1
  43. package/dist/migrateRefresh.js +1 -1
  44. package/dist/migrateReset.js +1 -1
  45. package/dist/migrateStatus.js +1 -1
  46. package/dist/queries/buildAndOrConditions.js +1 -1
  47. package/dist/queries/buildQuery.js +1 -1
  48. package/dist/queries/createJSONQuery/convertPathToJSONTraversal.js +1 -1
  49. package/dist/queries/createJSONQuery/formatJSONPathSegment.js +1 -1
  50. package/dist/queries/createJSONQuery/index.js +1 -1
  51. package/dist/queries/getTableColumnFromPath.d.ts.map +1 -1
  52. package/dist/queries/getTableColumnFromPath.js +12 -41
  53. package/dist/queries/operatorMap.js +1 -1
  54. package/dist/queries/parseParams.js +2 -2
  55. package/dist/queries/sanitizeQueryValue.js +1 -1
  56. package/dist/queries/selectDistinct.js +1 -1
  57. package/dist/queryDrafts.d.ts.map +1 -1
  58. package/dist/queryDrafts.js +8 -7
  59. package/dist/schema/build.d.ts +4 -3
  60. package/dist/schema/build.d.ts.map +1 -1
  61. package/dist/schema/build.js +86 -45
  62. package/dist/schema/createIndex.js +1 -1
  63. package/dist/schema/{getTableName.d.ts → createTableName.d.ts} +5 -7
  64. package/dist/schema/createTableName.d.ts.map +1 -0
  65. package/dist/schema/createTableName.js +43 -0
  66. package/dist/schema/idToUUID.js +1 -1
  67. package/dist/schema/parentIDColumnMap.js +1 -1
  68. package/dist/schema/setColumnID.js +1 -1
  69. package/dist/schema/traverseFields.d.ts.map +1 -1
  70. package/dist/schema/traverseFields.js +43 -23
  71. package/dist/schema/validateExistingBlockIsIdentical.d.ts.map +1 -1
  72. package/dist/schema/validateExistingBlockIsIdentical.js +4 -4
  73. package/dist/transactions/beginTransaction.js +1 -1
  74. package/dist/transactions/commitTransaction.js +1 -1
  75. package/dist/transactions/rollbackTransaction.js +1 -1
  76. package/dist/transform/read/hasManyNumber.js +1 -1
  77. package/dist/transform/read/hasManyText.d.ts +2 -2
  78. package/dist/transform/read/hasManyText.d.ts.map +1 -1
  79. package/dist/transform/read/hasManyText.js +2 -2
  80. package/dist/transform/read/index.js +3 -3
  81. package/dist/transform/read/relationship.js +1 -1
  82. package/dist/transform/read/traverseFields.js +1 -1
  83. package/dist/transform/write/array.d.ts +2 -2
  84. package/dist/transform/write/array.d.ts.map +1 -1
  85. package/dist/transform/write/array.js +4 -4
  86. package/dist/transform/write/blocks.js +2 -2
  87. package/dist/transform/write/index.js +5 -5
  88. package/dist/transform/write/numbers.js +1 -1
  89. package/dist/transform/write/relationships.js +1 -1
  90. package/dist/transform/write/selects.js +1 -1
  91. package/dist/transform/write/texts.js +3 -3
  92. package/dist/transform/write/traverseFields.d.ts.map +1 -1
  93. package/dist/transform/write/traverseFields.js +6 -15
  94. package/dist/transform/write/types.d.ts +1 -1
  95. package/dist/transform/write/types.d.ts.map +1 -1
  96. package/dist/transform/write/types.js +1 -1
  97. package/dist/types.d.ts +3 -6
  98. package/dist/types.d.ts.map +1 -1
  99. package/dist/types.js +1 -1
  100. package/dist/update.d.ts.map +1 -1
  101. package/dist/update.js +3 -6
  102. package/dist/updateGlobal.d.ts.map +1 -1
  103. package/dist/updateGlobal.js +8 -6
  104. package/dist/updateGlobalVersion.d.ts.map +1 -1
  105. package/dist/updateGlobalVersion.js +3 -7
  106. package/dist/updateVersion.d.ts.map +1 -1
  107. package/dist/updateVersion.js +3 -7
  108. package/dist/upsertRow/deleteExistingArrayRows.js +1 -1
  109. package/dist/upsertRow/deleteExistingRowsByPath.js +1 -1
  110. package/dist/upsertRow/index.js +3 -3
  111. package/dist/upsertRow/insertArrays.js +2 -2
  112. package/dist/upsertRow/types.js +1 -1
  113. package/dist/utilities/appendPrefixToKeys.js +1 -1
  114. package/dist/utilities/createBlocksMap.js +1 -1
  115. package/dist/utilities/createMigrationTable.js +1 -1
  116. package/dist/utilities/createRelationshipMap.js +1 -1
  117. package/dist/utilities/hasLocalesTable.js +1 -1
  118. package/dist/utilities/isArrayOfRows.js +1 -1
  119. package/dist/utilities/migrationTableExists.js +1 -1
  120. package/dist/utilities/parseError.js +1 -1
  121. package/package.json +2 -2
  122. package/dist/schema/getTableName.d.ts.map +0 -1
  123. package/dist/schema/getTableName.js +0 -43
@@ -184,13 +184,13 @@ const upsertRow = async ({ id, adapter, data, db, fields, operation, path = '',
184
184
  const insertedBlockRows = {};
185
185
  if (operation === 'update') {
186
186
  for (const blockName of rowToInsert.blocksToDelete){
187
- const blockTableName = adapter.blockTableNames[`${tableName}.${blockName}`];
187
+ const blockTableName = adapter.tableNameMap.get(`${tableName}_blocks_${blockName}`);
188
188
  const blockTable = adapter.tables[blockTableName];
189
189
  await db.delete(blockTable).where((0, _drizzleorm.eq)(blockTable._parentID, insertedRow.id));
190
190
  }
191
191
  }
192
192
  for (const [blockName, blockRows] of Object.entries(blocksToInsert)){
193
- const blockTableName = adapter.blockTableNames[`${tableName}.${blockName}`];
193
+ const blockTableName = adapter.tableNameMap.get(`${tableName}_blocks_${blockName}`);
194
194
  insertedBlockRows[blockName] = await db.insert(adapter.tables[blockTableName]).values(blockRows.map(({ row })=>row)).returning();
195
195
  insertedBlockRows[blockName].forEach((row, i)=>{
196
196
  blockRows[i].row = row;
@@ -285,4 +285,4 @@ const upsertRow = async ({ id, adapter, data, db, fields, operation, path = '',
285
285
  return result;
286
286
  };
287
287
 
288
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cHNlcnRSb3cvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgVHlwZVdpdGhJRCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IGVxIH0gZnJvbSAnZHJpenpsZS1vcm0nXG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICdwYXlsb2FkL2Vycm9ycydcbmltcG9ydCB7IGkxOG5Jbml0IH0gZnJvbSAncGF5bG9hZC91dGlsaXRpZXMnXG5cbmltcG9ydCB0eXBlIHsgQmxvY2tSb3dUb0luc2VydCB9IGZyb20gJy4uL3RyYW5zZm9ybS93cml0ZS90eXBlcydcbmltcG9ydCB0eXBlIHsgQXJncyB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGJ1aWxkRmluZE1hbnlBcmdzIH0gZnJvbSAnLi4vZmluZC9idWlsZEZpbmRNYW55QXJncydcbmltcG9ydCB7IHRyYW5zZm9ybSB9IGZyb20gJy4uL3RyYW5zZm9ybS9yZWFkJ1xuaW1wb3J0IHsgdHJhbnNmb3JtRm9yV3JpdGUgfSBmcm9tICcuLi90cmFuc2Zvcm0vd3JpdGUnXG5pbXBvcnQgeyBkZWxldGVFeGlzdGluZ0FycmF5Um93cyB9IGZyb20gJy4vZGVsZXRlRXhpc3RpbmdBcnJheVJvd3MnXG5pbXBvcnQgeyBkZWxldGVFeGlzdGluZ1Jvd3NCeVBhdGggfSBmcm9tICcuL2RlbGV0ZUV4aXN0aW5nUm93c0J5UGF0aCdcbmltcG9ydCB7IGluc2VydEFycmF5cyB9IGZyb20gJy4vaW5zZXJ0QXJyYXlzJ1xuXG5leHBvcnQgY29uc3QgdXBzZXJ0Um93ID0gYXN5bmMgPFQgZXh0ZW5kcyBUeXBlV2l0aElEPih7XG4gIGlkLFxuICBhZGFwdGVyLFxuICBkYXRhLFxuICBkYixcbiAgZmllbGRzLFxuICBvcGVyYXRpb24sXG4gIHBhdGggPSAnJyxcbiAgcmVxLFxuICB0YWJsZU5hbWUsXG4gIHVwc2VydFRhcmdldCxcbiAgd2hlcmUsXG59OiBBcmdzKTogUHJvbWlzZTxUPiA9PiB7XG4gIC8vIFNwbGl0IG91dCB0aGUgaW5jb21pbmcgZGF0YSBpbnRvIHRoZSBjb3JyZXNwb25kaW5nOlxuICAvLyBiYXNlIHJvdywgbG9jYWxlcywgcmVsYXRpb25zaGlwcywgYmxvY2tzLCBhbmQgYXJyYXlzXG4gIGNvbnN0IHJvd1RvSW5zZXJ0ID0gdHJhbnNmb3JtRm9yV3JpdGUoe1xuICAgIGFkYXB0ZXIsXG4gICAgZGF0YSxcbiAgICBmaWVsZHMsXG4gICAgcGF0aCxcbiAgICB0YWJsZU5hbWUsXG4gIH0pXG5cbiAgLy8gRmlyc3QsIHdlIGluc2VydCB0aGUgbWFpbiByb3dcbiAgbGV0IGluc2VydGVkUm93OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuXG4gIHRyeSB7XG4gICAgaWYgKG9wZXJhdGlvbiA9PT0gJ3VwZGF0ZScpIHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IHVwc2VydFRhcmdldCB8fCBhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdLmlkXG5cbiAgICAgIGlmIChpZCkge1xuICAgICAgICByb3dUb0luc2VydC5yb3cuaWQgPSBpZFxuICAgICAgICA7W2luc2VydGVkUm93XSA9IGF3YWl0IGRiXG4gICAgICAgICAgLmluc2VydChhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdKVxuICAgICAgICAgIC52YWx1ZXMocm93VG9JbnNlcnQucm93KVxuICAgICAgICAgIC5vbkNvbmZsaWN0RG9VcGRhdGUoeyBzZXQ6IHJvd1RvSW5zZXJ0LnJvdywgdGFyZ2V0IH0pXG4gICAgICAgICAgLnJldHVybmluZygpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICA7W2luc2VydGVkUm93XSA9IGF3YWl0IGRiXG4gICAgICAgICAgLmluc2VydChhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdKVxuICAgICAgICAgIC52YWx1ZXMocm93VG9JbnNlcnQucm93KVxuICAgICAgICAgIC5vbkNvbmZsaWN0RG9VcGRhdGUoeyBzZXQ6IHJvd1RvSW5zZXJ0LnJvdywgdGFyZ2V0LCB3aGVyZSB9KVxuICAgICAgICAgIC5yZXR1cm5pbmcoKVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICA7W2luc2VydGVkUm93XSA9IGF3YWl0IGRiXG4gICAgICAgIC5pbnNlcnQoYWRhcHRlci50YWJsZXNbdGFibGVOYW1lXSlcbiAgICAgICAgLnZhbHVlcyhyb3dUb0luc2VydC5yb3cpXG4gICAgICAgIC5yZXR1cm5pbmcoKVxuICAgIH1cblxuICAgIGNvbnN0IGxvY2FsZXNUb0luc2VydDogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXSA9IFtdXG4gICAgY29uc3QgcmVsYXRpb25zVG9JbnNlcnQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W10gPSBbXVxuICAgIGNvbnN0IHRleHRzVG9JbnNlcnQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W10gPSBbXVxuICAgIGNvbnN0IG51bWJlcnNUb0luc2VydDogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXSA9IFtdXG4gICAgY29uc3QgYmxvY2tzVG9JbnNlcnQ6IHsgW2Jsb2NrVHlwZTogc3RyaW5nXTogQmxvY2tSb3dUb0luc2VydFtdIH0gPSB7fVxuICAgIGNvbnN0IHNlbGVjdHNUb0luc2VydDogeyBbc2VsZWN0VGFibGVOYW1lOiBzdHJpbmddOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdIH0gPSB7fVxuXG4gICAgLy8gSWYgdGhlcmUgYXJlIGxvY2FsZSByb3dzIHdpdGggZGF0YSwgYWRkIHRoZSBwYXJlbnQgYW5kIGxvY2FsZSB0byBlYWNoXG4gICAgaWYgKE9iamVjdC5rZXlzKHJvd1RvSW5zZXJ0LmxvY2FsZXMpLmxlbmd0aCA+IDApIHtcbiAgICAgIE9iamVjdC5lbnRyaWVzKHJvd1RvSW5zZXJ0LmxvY2FsZXMpLmZvckVhY2goKFtsb2NhbGUsIGxvY2FsZVJvd10pID0+IHtcbiAgICAgICAgbG9jYWxlUm93Ll9wYXJlbnRJRCA9IGluc2VydGVkUm93LmlkXG4gICAgICAgIGxvY2FsZVJvdy5fbG9jYWxlID0gbG9jYWxlXG4gICAgICAgIGxvY2FsZXNUb0luc2VydC5wdXNoKGxvY2FsZVJvdylcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgLy8gSWYgdGhlcmUgYXJlIHJlbGF0aW9uc2hpcHMsIGFkZCBwYXJlbnQgdG8gZWFjaFxuICAgIGlmIChyb3dUb0luc2VydC5yZWxhdGlvbnNoaXBzLmxlbmd0aCA+IDApIHtcbiAgICAgIHJvd1RvSW5zZXJ0LnJlbGF0aW9uc2hpcHMuZm9yRWFjaCgocmVsYXRpb24pID0+IHtcbiAgICAgICAgcmVsYXRpb24ucGFyZW50ID0gaW5zZXJ0ZWRSb3cuaWRcbiAgICAgICAgcmVsYXRpb25zVG9JbnNlcnQucHVzaChyZWxhdGlvbilcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgLy8gSWYgdGhlcmUgYXJlIHRleHRzLCBhZGQgcGFyZW50IHRvIGVhY2hcbiAgICBpZiAocm93VG9JbnNlcnQudGV4dHMubGVuZ3RoID4gMCkge1xuICAgICAgcm93VG9JbnNlcnQudGV4dHMuZm9yRWFjaCgodGV4dFJvdykgPT4ge1xuICAgICAgICB0ZXh0Um93LnBhcmVudCA9IGluc2VydGVkUm93LmlkXG4gICAgICAgIHRleHRzVG9JbnNlcnQucHVzaCh0ZXh0Um93KVxuICAgICAgfSlcbiAgICB9XG5cbiAgICAvLyBJZiB0aGVyZSBhcmUgbnVtYmVycywgYWRkIHBhcmVudCB0byBlYWNoXG4gICAgaWYgKHJvd1RvSW5zZXJ0Lm51bWJlcnMubGVuZ3RoID4gMCkge1xuICAgICAgcm93VG9JbnNlcnQubnVtYmVycy5mb3JFYWNoKChudW1iZXJSb3cpID0+IHtcbiAgICAgICAgbnVtYmVyUm93LnBhcmVudCA9IGluc2VydGVkUm93LmlkXG4gICAgICAgIG51bWJlcnNUb0luc2VydC5wdXNoKG51bWJlclJvdylcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgLy8gSWYgdGhlcmUgYXJlIHNlbGVjdHMsIGFkZCBwYXJlbnQgdG8gZWFjaCwgYW5kIHRoZW5cbiAgICAvLyBzdG9yZSBieSB0YWJsZSBuYW1lIGFuZCByb3dzXG4gICAgaWYgKE9iamVjdC5rZXlzKHJvd1RvSW5zZXJ0LnNlbGVjdHMpLmxlbmd0aCA+IDApIHtcbiAgICAgIE9iamVjdC5lbnRyaWVzKHJvd1RvSW5zZXJ0LnNlbGVjdHMpLmZvckVhY2goKFtzZWxlY3RUYWJsZU5hbWUsIHNlbGVjdFJvd3NdKSA9PiB7XG4gICAgICAgIHNlbGVjdFJvd3MuZm9yRWFjaCgocm93KSA9PiB7XG4gICAgICAgICAgaWYgKHR5cGVvZiByb3cucGFyZW50ID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgcm93LnBhcmVudCA9IGluc2VydGVkUm93LmlkXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICghc2VsZWN0c1RvSW5zZXJ0W3NlbGVjdFRhYmxlTmFtZV0pIHNlbGVjdHNUb0luc2VydFtzZWxlY3RUYWJsZU5hbWVdID0gW11cbiAgICAgICAgICBzZWxlY3RzVG9JbnNlcnRbc2VsZWN0VGFibGVOYW1lXS5wdXNoKHJvdylcbiAgICAgICAgfSlcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgLy8gSWYgdGhlcmUgYXJlIGJsb2NrcywgYWRkIHBhcmVudCB0byBlYWNoLCBhbmQgdGhlblxuICAgIC8vIHN0b3JlIGJ5IHRhYmxlIG5hbWUgYW5kIHJvd3NcbiAgICBPYmplY3Qua2V5cyhyb3dUb0luc2VydC5ibG9ja3MpLmZvckVhY2goKGJsb2NrTmFtZSkgPT4ge1xuICAgICAgcm93VG9JbnNlcnQuYmxvY2tzW2Jsb2NrTmFtZV0uZm9yRWFjaCgoYmxvY2tSb3cpID0+IHtcbiAgICAgICAgYmxvY2tSb3cucm93Ll9wYXJlbnRJRCA9IGluc2VydGVkUm93LmlkXG4gICAgICAgIGlmICghYmxvY2tzVG9JbnNlcnRbYmxvY2tOYW1lXSkgYmxvY2tzVG9JbnNlcnRbYmxvY2tOYW1lXSA9IFtdXG4gICAgICAgIGlmIChibG9ja1Jvdy5yb3cudXVpZCkge1xuICAgICAgICAgIGRlbGV0ZSBibG9ja1Jvdy5yb3cudXVpZFxuICAgICAgICB9XG4gICAgICAgIGJsb2Nrc1RvSW5zZXJ0W2Jsb2NrTmFtZV0ucHVzaChibG9ja1JvdylcbiAgICAgIH0pXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBJTlNFUlQgTE9DQUxFU1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmIChsb2NhbGVzVG9JbnNlcnQubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgbG9jYWxlVGFibGUgPSBhZGFwdGVyLnRhYmxlc1tgJHt0YWJsZU5hbWV9JHthZGFwdGVyLmxvY2FsZXNTdWZmaXh9YF1cblxuICAgICAgaWYgKG9wZXJhdGlvbiA9PT0gJ3VwZGF0ZScpIHtcbiAgICAgICAgYXdhaXQgZGIuZGVsZXRlKGxvY2FsZVRhYmxlKS53aGVyZShlcShsb2NhbGVUYWJsZS5fcGFyZW50SUQsIGluc2VydGVkUm93LmlkKSlcbiAgICAgIH1cblxuICAgICAgYXdhaXQgZGIuaW5zZXJ0KGxvY2FsZVRhYmxlKS52YWx1ZXMobG9jYWxlc1RvSW5zZXJ0KVxuICAgIH1cblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBJTlNFUlQgUkVMQVRJT05TSElQU1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGNvbnN0IHJlbGF0aW9uc2hpcHNUYWJsZU5hbWUgPSBgJHt0YWJsZU5hbWV9JHthZGFwdGVyLnJlbGF0aW9uc2hpcHNTdWZmaXh9YFxuXG4gICAgaWYgKG9wZXJhdGlvbiA9PT0gJ3VwZGF0ZScpIHtcbiAgICAgIGF3YWl0IGRlbGV0ZUV4aXN0aW5nUm93c0J5UGF0aCh7XG4gICAgICAgIGFkYXB0ZXIsXG4gICAgICAgIGRiLFxuICAgICAgICBsb2NhbGVDb2x1bW5OYW1lOiAnbG9jYWxlJyxcbiAgICAgICAgcGFyZW50Q29sdW1uTmFtZTogJ3BhcmVudCcsXG4gICAgICAgIHBhcmVudElEOiBpbnNlcnRlZFJvdy5pZCxcbiAgICAgICAgcGF0aENvbHVtbk5hbWU6ICdwYXRoJyxcbiAgICAgICAgcm93czogWy4uLnJlbGF0aW9uc1RvSW5zZXJ0LCAuLi5yb3dUb0luc2VydC5yZWxhdGlvbnNoaXBzVG9EZWxldGVdLFxuICAgICAgICB0YWJsZU5hbWU6IHJlbGF0aW9uc2hpcHNUYWJsZU5hbWUsXG4gICAgICB9KVxuICAgIH1cblxuICAgIGlmIChyZWxhdGlvbnNUb0luc2VydC5sZW5ndGggPiAwKSB7XG4gICAgICBhd2FpdCBkYi5pbnNlcnQoYWRhcHRlci50YWJsZXNbcmVsYXRpb25zaGlwc1RhYmxlTmFtZV0pLnZhbHVlcyhyZWxhdGlvbnNUb0luc2VydClcbiAgICB9XG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gSU5TRVJUIGhhc01hbnkgVEVYVFNcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBjb25zdCB0ZXh0c1RhYmxlTmFtZSA9IGAke3RhYmxlTmFtZX1fdGV4dHNgXG5cbiAgICBpZiAob3BlcmF0aW9uID09PSAndXBkYXRlJykge1xuICAgICAgYXdhaXQgZGVsZXRlRXhpc3RpbmdSb3dzQnlQYXRoKHtcbiAgICAgICAgYWRhcHRlcixcbiAgICAgICAgZGIsXG4gICAgICAgIGxvY2FsZUNvbHVtbk5hbWU6ICdsb2NhbGUnLFxuICAgICAgICBwYXJlbnRDb2x1bW5OYW1lOiAncGFyZW50JyxcbiAgICAgICAgcGFyZW50SUQ6IGluc2VydGVkUm93LmlkLFxuICAgICAgICBwYXRoQ29sdW1uTmFtZTogJ3BhdGgnLFxuICAgICAgICByb3dzOiB0ZXh0c1RvSW5zZXJ0LFxuICAgICAgICB0YWJsZU5hbWU6IHRleHRzVGFibGVOYW1lLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBpZiAodGV4dHNUb0luc2VydC5sZW5ndGggPiAwKSB7XG4gICAgICBhd2FpdCBkYi5pbnNlcnQoYWRhcHRlci50YWJsZXNbdGV4dHNUYWJsZU5hbWVdKS52YWx1ZXModGV4dHNUb0luc2VydCkucmV0dXJuaW5nKClcbiAgICB9XG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gSU5TRVJUIGhhc01hbnkgTlVNQkVSU1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGNvbnN0IG51bWJlcnNUYWJsZU5hbWUgPSBgJHt0YWJsZU5hbWV9X251bWJlcnNgXG5cbiAgICBpZiAob3BlcmF0aW9uID09PSAndXBkYXRlJykge1xuICAgICAgYXdhaXQgZGVsZXRlRXhpc3RpbmdSb3dzQnlQYXRoKHtcbiAgICAgICAgYWRhcHRlcixcbiAgICAgICAgZGIsXG4gICAgICAgIGxvY2FsZUNvbHVtbk5hbWU6ICdsb2NhbGUnLFxuICAgICAgICBwYXJlbnRDb2x1bW5OYW1lOiAncGFyZW50JyxcbiAgICAgICAgcGFyZW50SUQ6IGluc2VydGVkUm93LmlkLFxuICAgICAgICBwYXRoQ29sdW1uTmFtZTogJ3BhdGgnLFxuICAgICAgICByb3dzOiBudW1iZXJzVG9JbnNlcnQsXG4gICAgICAgIHRhYmxlTmFtZTogbnVtYmVyc1RhYmxlTmFtZSxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgaWYgKG51bWJlcnNUb0luc2VydC5sZW5ndGggPiAwKSB7XG4gICAgICBhd2FpdCBkYi5pbnNlcnQoYWRhcHRlci50YWJsZXNbbnVtYmVyc1RhYmxlTmFtZV0pLnZhbHVlcyhudW1iZXJzVG9JbnNlcnQpLnJldHVybmluZygpXG4gICAgfVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIElOU0VSVCBCTE9DS1NcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBjb25zdCBpbnNlcnRlZEJsb2NrUm93czogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXT4gPSB7fVxuXG4gICAgaWYgKG9wZXJhdGlvbiA9PT0gJ3VwZGF0ZScpIHtcbiAgICAgIGZvciAoY29uc3QgYmxvY2tOYW1lIG9mIHJvd1RvSW5zZXJ0LmJsb2Nrc1RvRGVsZXRlKSB7XG4gICAgICAgIGNvbnN0IGJsb2NrVGFibGVOYW1lID0gYWRhcHRlci5ibG9ja1RhYmxlTmFtZXNbYCR7dGFibGVOYW1lfS4ke2Jsb2NrTmFtZX1gXVxuICAgICAgICBjb25zdCBibG9ja1RhYmxlID0gYWRhcHRlci50YWJsZXNbYmxvY2tUYWJsZU5hbWVdXG4gICAgICAgIGF3YWl0IGRiLmRlbGV0ZShibG9ja1RhYmxlKS53aGVyZShlcShibG9ja1RhYmxlLl9wYXJlbnRJRCwgaW5zZXJ0ZWRSb3cuaWQpKVxuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgW2Jsb2NrTmFtZSwgYmxvY2tSb3dzXSBvZiBPYmplY3QuZW50cmllcyhibG9ja3NUb0luc2VydCkpIHtcbiAgICAgIGNvbnN0IGJsb2NrVGFibGVOYW1lID0gYWRhcHRlci5ibG9ja1RhYmxlTmFtZXNbYCR7dGFibGVOYW1lfS4ke2Jsb2NrTmFtZX1gXVxuICAgICAgaW5zZXJ0ZWRCbG9ja1Jvd3NbYmxvY2tOYW1lXSA9IGF3YWl0IGRiXG4gICAgICAgIC5pbnNlcnQoYWRhcHRlci50YWJsZXNbYmxvY2tUYWJsZU5hbWVdKVxuICAgICAgICAudmFsdWVzKGJsb2NrUm93cy5tYXAoKHsgcm93IH0pID0+IHJvdykpXG4gICAgICAgIC5yZXR1cm5pbmcoKVxuXG4gICAgICBpbnNlcnRlZEJsb2NrUm93c1tibG9ja05hbWVdLmZvckVhY2goKHJvdywgaSkgPT4ge1xuICAgICAgICBibG9ja1Jvd3NbaV0ucm93ID0gcm93XG4gICAgICB9KVxuXG4gICAgICBjb25zdCBibG9ja0xvY2FsZUluZGV4TWFwOiBudW1iZXJbXSA9IFtdXG5cbiAgICAgIGNvbnN0IGJsb2NrTG9jYWxlUm93c1RvSW5zZXJ0ID0gYmxvY2tSb3dzLnJlZHVjZSgoYWNjLCBibG9ja1JvdywgaSkgPT4ge1xuICAgICAgICBpZiAoT2JqZWN0LmVudHJpZXMoYmxvY2tSb3cubG9jYWxlcykubGVuZ3RoID4gMCkge1xuICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGJsb2NrUm93LmxvY2FsZXMpLmZvckVhY2goKFtibG9ja0xvY2FsZSwgYmxvY2tMb2NhbGVEYXRhXSkgPT4ge1xuICAgICAgICAgICAgaWYgKE9iamVjdC5rZXlzKGJsb2NrTG9jYWxlRGF0YSkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICBibG9ja0xvY2FsZURhdGEuX3BhcmVudElEID0gYmxvY2tSb3cucm93LmlkXG4gICAgICAgICAgICAgIGJsb2NrTG9jYWxlRGF0YS5fbG9jYWxlID0gYmxvY2tMb2NhbGVcbiAgICAgICAgICAgICAgYWNjLnB1c2goYmxvY2tMb2NhbGVEYXRhKVxuICAgICAgICAgICAgICBibG9ja0xvY2FsZUluZGV4TWFwLnB1c2goaSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFjY1xuICAgICAgfSwgW10pXG5cbiAgICAgIGlmIChibG9ja0xvY2FsZVJvd3NUb0luc2VydC5sZW5ndGggPiAwKSB7XG4gICAgICAgIGF3YWl0IGRiXG4gICAgICAgICAgLmluc2VydChhZGFwdGVyLnRhYmxlc1tgJHtibG9ja1RhYmxlTmFtZX0ke2FkYXB0ZXIubG9jYWxlc1N1ZmZpeH1gXSlcbiAgICAgICAgICAudmFsdWVzKGJsb2NrTG9jYWxlUm93c1RvSW5zZXJ0KVxuICAgICAgICAgIC5yZXR1cm5pbmcoKVxuICAgICAgfVxuXG4gICAgICBhd2FpdCBpbnNlcnRBcnJheXMoe1xuICAgICAgICBhZGFwdGVyLFxuICAgICAgICBhcnJheXM6IGJsb2NrUm93cy5tYXAoKHsgYXJyYXlzIH0pID0+IGFycmF5cyksXG4gICAgICAgIGRiLFxuICAgICAgICBwYXJlbnRSb3dzOiBpbnNlcnRlZEJsb2NrUm93c1tibG9ja05hbWVdLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gSU5TRVJUIEFSUkFZUyBSRUNVUlNJVkVMWVxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmIChvcGVyYXRpb24gPT09ICd1cGRhdGUnKSB7XG4gICAgICBmb3IgKGNvbnN0IGFycmF5VGFibGVOYW1lIG9mIE9iamVjdC5rZXlzKHJvd1RvSW5zZXJ0LmFycmF5cykpIHtcbiAgICAgICAgYXdhaXQgZGVsZXRlRXhpc3RpbmdBcnJheVJvd3Moe1xuICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgZGIsXG4gICAgICAgICAgcGFyZW50SUQ6IGluc2VydGVkUm93LmlkLFxuICAgICAgICAgIHRhYmxlTmFtZTogYXJyYXlUYWJsZU5hbWUsXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfVxuXG4gICAgYXdhaXQgaW5zZXJ0QXJyYXlzKHtcbiAgICAgIGFkYXB0ZXIsXG4gICAgICBhcnJheXM6IFtyb3dUb0luc2VydC5hcnJheXNdLFxuICAgICAgZGIsXG4gICAgICBwYXJlbnRSb3dzOiBbaW5zZXJ0ZWRSb3ddLFxuICAgIH0pXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gSU5TRVJUIGhhc01hbnkgU0VMRUNUU1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGZvciAoY29uc3QgW3NlbGVjdFRhYmxlTmFtZSwgdGFibGVSb3dzXSBvZiBPYmplY3QuZW50cmllcyhzZWxlY3RzVG9JbnNlcnQpKSB7XG4gICAgICBjb25zdCBzZWxlY3RUYWJsZSA9IGFkYXB0ZXIudGFibGVzW3NlbGVjdFRhYmxlTmFtZV1cbiAgICAgIGlmIChvcGVyYXRpb24gPT09ICd1cGRhdGUnKSB7XG4gICAgICAgIGF3YWl0IGRiLmRlbGV0ZShzZWxlY3RUYWJsZSkud2hlcmUoZXEoc2VsZWN0VGFibGUucGFyZW50LCBpbnNlcnRlZFJvdy5pZCkpXG4gICAgICB9XG4gICAgICBhd2FpdCBkYi5pbnNlcnQoc2VsZWN0VGFibGUpLnZhbHVlcyh0YWJsZVJvd3MpLnJldHVybmluZygpXG4gICAgfVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIEVycm9yIEhhbmRsaW5nXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHRocm93IGVycm9yLmNvZGUgPT09ICcyMzUwNSdcbiAgICAgID8gbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgICBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGZpZWxkOiBhZGFwdGVyLmZpZWxkQ29uc3RyYWludHNbdGFibGVOYW1lXVtlcnJvci5jb25zdHJhaW50XSxcbiAgICAgICAgICAgICAgbWVzc2FnZTogcmVxLnQoJ2Vycm9yOnZhbHVlTXVzdEJlVW5pcXVlJyksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgcmVxPy50ID8/IGkxOG5Jbml0KHJlcS5wYXlsb2FkLmNvbmZpZy5pMThuKS50LFxuICAgICAgICApXG4gICAgICA6IGVycm9yXG4gIH1cblxuICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gIC8vIFJFVFJJRVZFIE5FV0xZIFVQREFURUQgUk9XXG4gIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICBjb25zdCBmaW5kTWFueUFyZ3MgPSBidWlsZEZpbmRNYW55QXJncyh7XG4gICAgYWRhcHRlcixcbiAgICBkZXB0aDogMCxcbiAgICBmaWVsZHMsXG4gICAgdGFibGVOYW1lLFxuICB9KVxuXG4gIGZpbmRNYW55QXJncy53aGVyZSA9IGVxKGFkYXB0ZXIudGFibGVzW3RhYmxlTmFtZV0uaWQsIGluc2VydGVkUm93LmlkKVxuXG4gIGNvbnN0IGRvYyA9IGF3YWl0IGRiLnF1ZXJ5W3RhYmxlTmFtZV0uZmluZEZpcnN0KGZpbmRNYW55QXJncylcblxuICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gIC8vIFRSQU5TRk9STSBEQVRBXG4gIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICBjb25zdCByZXN1bHQgPSB0cmFuc2Zvcm08VD4oe1xuICAgIGNvbmZpZzogYWRhcHRlci5wYXlsb2FkLmNvbmZpZyxcbiAgICBkYXRhOiBkb2MsXG4gICAgZmllbGRzLFxuICB9KVxuXG4gIHJldHVybiByZXN1bHRcbn1cbiJdLCJuYW1lcyI6WyJ1cHNlcnRSb3ciLCJpZCIsImFkYXB0ZXIiLCJkYXRhIiwiZGIiLCJmaWVsZHMiLCJvcGVyYXRpb24iLCJwYXRoIiwicmVxIiwidGFibGVOYW1lIiwidXBzZXJ0VGFyZ2V0Iiwid2hlcmUiLCJyb3dUb0luc2VydCIsInRyYW5zZm9ybUZvcldyaXRlIiwiaW5zZXJ0ZWRSb3ciLCJ0YXJnZXQiLCJ0YWJsZXMiLCJyb3ciLCJpbnNlcnQiLCJ2YWx1ZXMiLCJvbkNvbmZsaWN0RG9VcGRhdGUiLCJzZXQiLCJyZXR1cm5pbmciLCJsb2NhbGVzVG9JbnNlcnQiLCJyZWxhdGlvbnNUb0luc2VydCIsInRleHRzVG9JbnNlcnQiLCJudW1iZXJzVG9JbnNlcnQiLCJibG9ja3NUb0luc2VydCIsInNlbGVjdHNUb0luc2VydCIsIk9iamVjdCIsImtleXMiLCJsb2NhbGVzIiwibGVuZ3RoIiwiZW50cmllcyIsImZvckVhY2giLCJsb2NhbGUiLCJsb2NhbGVSb3ciLCJfcGFyZW50SUQiLCJfbG9jYWxlIiwicHVzaCIsInJlbGF0aW9uc2hpcHMiLCJyZWxhdGlvbiIsInBhcmVudCIsInRleHRzIiwidGV4dFJvdyIsIm51bWJlcnMiLCJudW1iZXJSb3ciLCJzZWxlY3RzIiwic2VsZWN0VGFibGVOYW1lIiwic2VsZWN0Um93cyIsImJsb2NrcyIsImJsb2NrTmFtZSIsImJsb2NrUm93IiwidXVpZCIsImxvY2FsZVRhYmxlIiwibG9jYWxlc1N1ZmZpeCIsImRlbGV0ZSIsImVxIiwicmVsYXRpb25zaGlwc1RhYmxlTmFtZSIsInJlbGF0aW9uc2hpcHNTdWZmaXgiLCJkZWxldGVFeGlzdGluZ1Jvd3NCeVBhdGgiLCJsb2NhbGVDb2x1bW5OYW1lIiwicGFyZW50Q29sdW1uTmFtZSIsInBhcmVudElEIiwicGF0aENvbHVtbk5hbWUiLCJyb3dzIiwicmVsYXRpb25zaGlwc1RvRGVsZXRlIiwidGV4dHNUYWJsZU5hbWUiLCJudW1iZXJzVGFibGVOYW1lIiwiaW5zZXJ0ZWRCbG9ja1Jvd3MiLCJibG9ja3NUb0RlbGV0ZSIsImJsb2NrVGFibGVOYW1lIiwiYmxvY2tUYWJsZU5hbWVzIiwiYmxvY2tUYWJsZSIsImJsb2NrUm93cyIsIm1hcCIsImkiLCJibG9ja0xvY2FsZUluZGV4TWFwIiwiYmxvY2tMb2NhbGVSb3dzVG9JbnNlcnQiLCJyZWR1Y2UiLCJhY2MiLCJibG9ja0xvY2FsZSIsImJsb2NrTG9jYWxlRGF0YSIsImluc2VydEFycmF5cyIsImFycmF5cyIsInBhcmVudFJvd3MiLCJhcnJheVRhYmxlTmFtZSIsImRlbGV0ZUV4aXN0aW5nQXJyYXlSb3dzIiwidGFibGVSb3dzIiwic2VsZWN0VGFibGUiLCJlcnJvciIsImNvZGUiLCJWYWxpZGF0aW9uRXJyb3IiLCJmaWVsZCIsImZpZWxkQ29uc3RyYWludHMiLCJjb25zdHJhaW50IiwibWVzc2FnZSIsInQiLCJpMThuSW5pdCIsInBheWxvYWQiLCJjb25maWciLCJpMThuIiwiZmluZE1hbnlBcmdzIiwiYnVpbGRGaW5kTWFueUFyZ3MiLCJkZXB0aCIsImRvYyIsInF1ZXJ5IiwiZmluZEZpcnN0IiwicmVzdWx0IiwidHJhbnNmb3JtIl0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
288
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cHNlcnRSb3cvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgVHlwZVdpdGhJRCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IGVxIH0gZnJvbSAnZHJpenpsZS1vcm0nXG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICdwYXlsb2FkL2Vycm9ycydcbmltcG9ydCB7IGkxOG5Jbml0IH0gZnJvbSAncGF5bG9hZC91dGlsaXRpZXMnXG5cbmltcG9ydCB0eXBlIHsgQmxvY2tSb3dUb0luc2VydCB9IGZyb20gJy4uL3RyYW5zZm9ybS93cml0ZS90eXBlcydcbmltcG9ydCB0eXBlIHsgQXJncyB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGJ1aWxkRmluZE1hbnlBcmdzIH0gZnJvbSAnLi4vZmluZC9idWlsZEZpbmRNYW55QXJncydcbmltcG9ydCB7IHRyYW5zZm9ybSB9IGZyb20gJy4uL3RyYW5zZm9ybS9yZWFkJ1xuaW1wb3J0IHsgdHJhbnNmb3JtRm9yV3JpdGUgfSBmcm9tICcuLi90cmFuc2Zvcm0vd3JpdGUnXG5pbXBvcnQgeyBkZWxldGVFeGlzdGluZ0FycmF5Um93cyB9IGZyb20gJy4vZGVsZXRlRXhpc3RpbmdBcnJheVJvd3MnXG5pbXBvcnQgeyBkZWxldGVFeGlzdGluZ1Jvd3NCeVBhdGggfSBmcm9tICcuL2RlbGV0ZUV4aXN0aW5nUm93c0J5UGF0aCdcbmltcG9ydCB7IGluc2VydEFycmF5cyB9IGZyb20gJy4vaW5zZXJ0QXJyYXlzJ1xuXG5leHBvcnQgY29uc3QgdXBzZXJ0Um93ID0gYXN5bmMgPFQgZXh0ZW5kcyBUeXBlV2l0aElEPih7XG4gIGlkLFxuICBhZGFwdGVyLFxuICBkYXRhLFxuICBkYixcbiAgZmllbGRzLFxuICBvcGVyYXRpb24sXG4gIHBhdGggPSAnJyxcbiAgcmVxLFxuICB0YWJsZU5hbWUsXG4gIHVwc2VydFRhcmdldCxcbiAgd2hlcmUsXG59OiBBcmdzKTogUHJvbWlzZTxUPiA9PiB7XG4gIC8vIFNwbGl0IG91dCB0aGUgaW5jb21pbmcgZGF0YSBpbnRvIHRoZSBjb3JyZXNwb25kaW5nOlxuICAvLyBiYXNlIHJvdywgbG9jYWxlcywgcmVsYXRpb25zaGlwcywgYmxvY2tzLCBhbmQgYXJyYXlzXG4gIGNvbnN0IHJvd1RvSW5zZXJ0ID0gdHJhbnNmb3JtRm9yV3JpdGUoe1xuICAgIGFkYXB0ZXIsXG4gICAgZGF0YSxcbiAgICBmaWVsZHMsXG4gICAgcGF0aCxcbiAgICB0YWJsZU5hbWUsXG4gIH0pXG5cbiAgLy8gRmlyc3QsIHdlIGluc2VydCB0aGUgbWFpbiByb3dcbiAgbGV0IGluc2VydGVkUm93OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuXG4gIHRyeSB7XG4gICAgaWYgKG9wZXJhdGlvbiA9PT0gJ3VwZGF0ZScpIHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IHVwc2VydFRhcmdldCB8fCBhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdLmlkXG5cbiAgICAgIGlmIChpZCkge1xuICAgICAgICByb3dUb0luc2VydC5yb3cuaWQgPSBpZFxuICAgICAgICA7W2luc2VydGVkUm93XSA9IGF3YWl0IGRiXG4gICAgICAgICAgLmluc2VydChhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdKVxuICAgICAgICAgIC52YWx1ZXMocm93VG9JbnNlcnQucm93KVxuICAgICAgICAgIC5vbkNvbmZsaWN0RG9VcGRhdGUoeyBzZXQ6IHJvd1RvSW5zZXJ0LnJvdywgdGFyZ2V0IH0pXG4gICAgICAgICAgLnJldHVybmluZygpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICA7W2luc2VydGVkUm93XSA9IGF3YWl0IGRiXG4gICAgICAgICAgLmluc2VydChhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdKVxuICAgICAgICAgIC52YWx1ZXMocm93VG9JbnNlcnQucm93KVxuICAgICAgICAgIC5vbkNvbmZsaWN0RG9VcGRhdGUoeyBzZXQ6IHJvd1RvSW5zZXJ0LnJvdywgdGFyZ2V0LCB3aGVyZSB9KVxuICAgICAgICAgIC5yZXR1cm5pbmcoKVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICA7W2luc2VydGVkUm93XSA9IGF3YWl0IGRiXG4gICAgICAgIC5pbnNlcnQoYWRhcHRlci50YWJsZXNbdGFibGVOYW1lXSlcbiAgICAgICAgLnZhbHVlcyhyb3dUb0luc2VydC5yb3cpXG4gICAgICAgIC5yZXR1cm5pbmcoKVxuICAgIH1cblxuICAgIGNvbnN0IGxvY2FsZXNUb0luc2VydDogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXSA9IFtdXG4gICAgY29uc3QgcmVsYXRpb25zVG9JbnNlcnQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W10gPSBbXVxuICAgIGNvbnN0IHRleHRzVG9JbnNlcnQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W10gPSBbXVxuICAgIGNvbnN0IG51bWJlcnNUb0luc2VydDogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXSA9IFtdXG4gICAgY29uc3QgYmxvY2tzVG9JbnNlcnQ6IHsgW2Jsb2NrVHlwZTogc3RyaW5nXTogQmxvY2tSb3dUb0luc2VydFtdIH0gPSB7fVxuICAgIGNvbnN0IHNlbGVjdHNUb0luc2VydDogeyBbc2VsZWN0VGFibGVOYW1lOiBzdHJpbmddOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdIH0gPSB7fVxuXG4gICAgLy8gSWYgdGhlcmUgYXJlIGxvY2FsZSByb3dzIHdpdGggZGF0YSwgYWRkIHRoZSBwYXJlbnQgYW5kIGxvY2FsZSB0byBlYWNoXG4gICAgaWYgKE9iamVjdC5rZXlzKHJvd1RvSW5zZXJ0LmxvY2FsZXMpLmxlbmd0aCA+IDApIHtcbiAgICAgIE9iamVjdC5lbnRyaWVzKHJvd1RvSW5zZXJ0LmxvY2FsZXMpLmZvckVhY2goKFtsb2NhbGUsIGxvY2FsZVJvd10pID0+IHtcbiAgICAgICAgbG9jYWxlUm93Ll9wYXJlbnRJRCA9IGluc2VydGVkUm93LmlkXG4gICAgICAgIGxvY2FsZVJvdy5fbG9jYWxlID0gbG9jYWxlXG4gICAgICAgIGxvY2FsZXNUb0luc2VydC5wdXNoKGxvY2FsZVJvdylcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgLy8gSWYgdGhlcmUgYXJlIHJlbGF0aW9uc2hpcHMsIGFkZCBwYXJlbnQgdG8gZWFjaFxuICAgIGlmIChyb3dUb0luc2VydC5yZWxhdGlvbnNoaXBzLmxlbmd0aCA+IDApIHtcbiAgICAgIHJvd1RvSW5zZXJ0LnJlbGF0aW9uc2hpcHMuZm9yRWFjaCgocmVsYXRpb24pID0+IHtcbiAgICAgICAgcmVsYXRpb24ucGFyZW50ID0gaW5zZXJ0ZWRSb3cuaWRcbiAgICAgICAgcmVsYXRpb25zVG9JbnNlcnQucHVzaChyZWxhdGlvbilcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgLy8gSWYgdGhlcmUgYXJlIHRleHRzLCBhZGQgcGFyZW50IHRvIGVhY2hcbiAgICBpZiAocm93VG9JbnNlcnQudGV4dHMubGVuZ3RoID4gMCkge1xuICAgICAgcm93VG9JbnNlcnQudGV4dHMuZm9yRWFjaCgodGV4dFJvdykgPT4ge1xuICAgICAgICB0ZXh0Um93LnBhcmVudCA9IGluc2VydGVkUm93LmlkXG4gICAgICAgIHRleHRzVG9JbnNlcnQucHVzaCh0ZXh0Um93KVxuICAgICAgfSlcbiAgICB9XG5cbiAgICAvLyBJZiB0aGVyZSBhcmUgbnVtYmVycywgYWRkIHBhcmVudCB0byBlYWNoXG4gICAgaWYgKHJvd1RvSW5zZXJ0Lm51bWJlcnMubGVuZ3RoID4gMCkge1xuICAgICAgcm93VG9JbnNlcnQubnVtYmVycy5mb3JFYWNoKChudW1iZXJSb3cpID0+IHtcbiAgICAgICAgbnVtYmVyUm93LnBhcmVudCA9IGluc2VydGVkUm93LmlkXG4gICAgICAgIG51bWJlcnNUb0luc2VydC5wdXNoKG51bWJlclJvdylcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgLy8gSWYgdGhlcmUgYXJlIHNlbGVjdHMsIGFkZCBwYXJlbnQgdG8gZWFjaCwgYW5kIHRoZW5cbiAgICAvLyBzdG9yZSBieSB0YWJsZSBuYW1lIGFuZCByb3dzXG4gICAgaWYgKE9iamVjdC5rZXlzKHJvd1RvSW5zZXJ0LnNlbGVjdHMpLmxlbmd0aCA+IDApIHtcbiAgICAgIE9iamVjdC5lbnRyaWVzKHJvd1RvSW5zZXJ0LnNlbGVjdHMpLmZvckVhY2goKFtzZWxlY3RUYWJsZU5hbWUsIHNlbGVjdFJvd3NdKSA9PiB7XG4gICAgICAgIHNlbGVjdFJvd3MuZm9yRWFjaCgocm93KSA9PiB7XG4gICAgICAgICAgaWYgKHR5cGVvZiByb3cucGFyZW50ID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgcm93LnBhcmVudCA9IGluc2VydGVkUm93LmlkXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICghc2VsZWN0c1RvSW5zZXJ0W3NlbGVjdFRhYmxlTmFtZV0pIHNlbGVjdHNUb0luc2VydFtzZWxlY3RUYWJsZU5hbWVdID0gW11cbiAgICAgICAgICBzZWxlY3RzVG9JbnNlcnRbc2VsZWN0VGFibGVOYW1lXS5wdXNoKHJvdylcbiAgICAgICAgfSlcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgLy8gSWYgdGhlcmUgYXJlIGJsb2NrcywgYWRkIHBhcmVudCB0byBlYWNoLCBhbmQgdGhlblxuICAgIC8vIHN0b3JlIGJ5IHRhYmxlIG5hbWUgYW5kIHJvd3NcbiAgICBPYmplY3Qua2V5cyhyb3dUb0luc2VydC5ibG9ja3MpLmZvckVhY2goKGJsb2NrTmFtZSkgPT4ge1xuICAgICAgcm93VG9JbnNlcnQuYmxvY2tzW2Jsb2NrTmFtZV0uZm9yRWFjaCgoYmxvY2tSb3cpID0+IHtcbiAgICAgICAgYmxvY2tSb3cucm93Ll9wYXJlbnRJRCA9IGluc2VydGVkUm93LmlkXG4gICAgICAgIGlmICghYmxvY2tzVG9JbnNlcnRbYmxvY2tOYW1lXSkgYmxvY2tzVG9JbnNlcnRbYmxvY2tOYW1lXSA9IFtdXG4gICAgICAgIGlmIChibG9ja1Jvdy5yb3cudXVpZCkge1xuICAgICAgICAgIGRlbGV0ZSBibG9ja1Jvdy5yb3cudXVpZFxuICAgICAgICB9XG4gICAgICAgIGJsb2Nrc1RvSW5zZXJ0W2Jsb2NrTmFtZV0ucHVzaChibG9ja1JvdylcbiAgICAgIH0pXG4gICAgfSlcblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBJTlNFUlQgTE9DQUxFU1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGlmIChsb2NhbGVzVG9JbnNlcnQubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgbG9jYWxlVGFibGUgPSBhZGFwdGVyLnRhYmxlc1tgJHt0YWJsZU5hbWV9JHthZGFwdGVyLmxvY2FsZXNTdWZmaXh9YF1cblxuICAgICAgaWYgKG9wZXJhdGlvbiA9PT0gJ3VwZGF0ZScpIHtcbiAgICAgICAgYXdhaXQgZGIuZGVsZXRlKGxvY2FsZVRhYmxlKS53aGVyZShlcShsb2NhbGVUYWJsZS5fcGFyZW50SUQsIGluc2VydGVkUm93LmlkKSlcbiAgICAgIH1cblxuICAgICAgYXdhaXQgZGIuaW5zZXJ0KGxvY2FsZVRhYmxlKS52YWx1ZXMobG9jYWxlc1RvSW5zZXJ0KVxuICAgIH1cblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBJTlNFUlQgUkVMQVRJT05TSElQU1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGNvbnN0IHJlbGF0aW9uc2hpcHNUYWJsZU5hbWUgPSBgJHt0YWJsZU5hbWV9JHthZGFwdGVyLnJlbGF0aW9uc2hpcHNTdWZmaXh9YFxuXG4gICAgaWYgKG9wZXJhdGlvbiA9PT0gJ3VwZGF0ZScpIHtcbiAgICAgIGF3YWl0IGRlbGV0ZUV4aXN0aW5nUm93c0J5UGF0aCh7XG4gICAgICAgIGFkYXB0ZXIsXG4gICAgICAgIGRiLFxuICAgICAgICBsb2NhbGVDb2x1bW5OYW1lOiAnbG9jYWxlJyxcbiAgICAgICAgcGFyZW50Q29sdW1uTmFtZTogJ3BhcmVudCcsXG4gICAgICAgIHBhcmVudElEOiBpbnNlcnRlZFJvdy5pZCxcbiAgICAgICAgcGF0aENvbHVtbk5hbWU6ICdwYXRoJyxcbiAgICAgICAgcm93czogWy4uLnJlbGF0aW9uc1RvSW5zZXJ0LCAuLi5yb3dUb0luc2VydC5yZWxhdGlvbnNoaXBzVG9EZWxldGVdLFxuICAgICAgICB0YWJsZU5hbWU6IHJlbGF0aW9uc2hpcHNUYWJsZU5hbWUsXG4gICAgICB9KVxuICAgIH1cblxuICAgIGlmIChyZWxhdGlvbnNUb0luc2VydC5sZW5ndGggPiAwKSB7XG4gICAgICBhd2FpdCBkYi5pbnNlcnQoYWRhcHRlci50YWJsZXNbcmVsYXRpb25zaGlwc1RhYmxlTmFtZV0pLnZhbHVlcyhyZWxhdGlvbnNUb0luc2VydClcbiAgICB9XG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gSU5TRVJUIGhhc01hbnkgVEVYVFNcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBjb25zdCB0ZXh0c1RhYmxlTmFtZSA9IGAke3RhYmxlTmFtZX1fdGV4dHNgXG5cbiAgICBpZiAob3BlcmF0aW9uID09PSAndXBkYXRlJykge1xuICAgICAgYXdhaXQgZGVsZXRlRXhpc3RpbmdSb3dzQnlQYXRoKHtcbiAgICAgICAgYWRhcHRlcixcbiAgICAgICAgZGIsXG4gICAgICAgIGxvY2FsZUNvbHVtbk5hbWU6ICdsb2NhbGUnLFxuICAgICAgICBwYXJlbnRDb2x1bW5OYW1lOiAncGFyZW50JyxcbiAgICAgICAgcGFyZW50SUQ6IGluc2VydGVkUm93LmlkLFxuICAgICAgICBwYXRoQ29sdW1uTmFtZTogJ3BhdGgnLFxuICAgICAgICByb3dzOiB0ZXh0c1RvSW5zZXJ0LFxuICAgICAgICB0YWJsZU5hbWU6IHRleHRzVGFibGVOYW1lLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBpZiAodGV4dHNUb0luc2VydC5sZW5ndGggPiAwKSB7XG4gICAgICBhd2FpdCBkYi5pbnNlcnQoYWRhcHRlci50YWJsZXNbdGV4dHNUYWJsZU5hbWVdKS52YWx1ZXModGV4dHNUb0luc2VydCkucmV0dXJuaW5nKClcbiAgICB9XG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gSU5TRVJUIGhhc01hbnkgTlVNQkVSU1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAgIGNvbnN0IG51bWJlcnNUYWJsZU5hbWUgPSBgJHt0YWJsZU5hbWV9X251bWJlcnNgXG5cbiAgICBpZiAob3BlcmF0aW9uID09PSAndXBkYXRlJykge1xuICAgICAgYXdhaXQgZGVsZXRlRXhpc3RpbmdSb3dzQnlQYXRoKHtcbiAgICAgICAgYWRhcHRlcixcbiAgICAgICAgZGIsXG4gICAgICAgIGxvY2FsZUNvbHVtbk5hbWU6ICdsb2NhbGUnLFxuICAgICAgICBwYXJlbnRDb2x1bW5OYW1lOiAncGFyZW50JyxcbiAgICAgICAgcGFyZW50SUQ6IGluc2VydGVkUm93LmlkLFxuICAgICAgICBwYXRoQ29sdW1uTmFtZTogJ3BhdGgnLFxuICAgICAgICByb3dzOiBudW1iZXJzVG9JbnNlcnQsXG4gICAgICAgIHRhYmxlTmFtZTogbnVtYmVyc1RhYmxlTmFtZSxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgaWYgKG51bWJlcnNUb0luc2VydC5sZW5ndGggPiAwKSB7XG4gICAgICBhd2FpdCBkYi5pbnNlcnQoYWRhcHRlci50YWJsZXNbbnVtYmVyc1RhYmxlTmFtZV0pLnZhbHVlcyhudW1iZXJzVG9JbnNlcnQpLnJldHVybmluZygpXG4gICAgfVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIElOU0VSVCBCTE9DS1NcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBjb25zdCBpbnNlcnRlZEJsb2NrUm93czogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXT4gPSB7fVxuXG4gICAgaWYgKG9wZXJhdGlvbiA9PT0gJ3VwZGF0ZScpIHtcbiAgICAgIGZvciAoY29uc3QgYmxvY2tOYW1lIG9mIHJvd1RvSW5zZXJ0LmJsb2Nrc1RvRGVsZXRlKSB7XG4gICAgICAgIGNvbnN0IGJsb2NrVGFibGVOYW1lID0gYWRhcHRlci50YWJsZU5hbWVNYXAuZ2V0KGAke3RhYmxlTmFtZX1fYmxvY2tzXyR7YmxvY2tOYW1lfWApXG4gICAgICAgIGNvbnN0IGJsb2NrVGFibGUgPSBhZGFwdGVyLnRhYmxlc1tibG9ja1RhYmxlTmFtZV1cbiAgICAgICAgYXdhaXQgZGIuZGVsZXRlKGJsb2NrVGFibGUpLndoZXJlKGVxKGJsb2NrVGFibGUuX3BhcmVudElELCBpbnNlcnRlZFJvdy5pZCkpXG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBbYmxvY2tOYW1lLCBibG9ja1Jvd3NdIG9mIE9iamVjdC5lbnRyaWVzKGJsb2Nrc1RvSW5zZXJ0KSkge1xuICAgICAgY29uc3QgYmxvY2tUYWJsZU5hbWUgPSBhZGFwdGVyLnRhYmxlTmFtZU1hcC5nZXQoYCR7dGFibGVOYW1lfV9ibG9ja3NfJHtibG9ja05hbWV9YClcbiAgICAgIGluc2VydGVkQmxvY2tSb3dzW2Jsb2NrTmFtZV0gPSBhd2FpdCBkYlxuICAgICAgICAuaW5zZXJ0KGFkYXB0ZXIudGFibGVzW2Jsb2NrVGFibGVOYW1lXSlcbiAgICAgICAgLnZhbHVlcyhibG9ja1Jvd3MubWFwKCh7IHJvdyB9KSA9PiByb3cpKVxuICAgICAgICAucmV0dXJuaW5nKClcblxuICAgICAgaW5zZXJ0ZWRCbG9ja1Jvd3NbYmxvY2tOYW1lXS5mb3JFYWNoKChyb3csIGkpID0+IHtcbiAgICAgICAgYmxvY2tSb3dzW2ldLnJvdyA9IHJvd1xuICAgICAgfSlcblxuICAgICAgY29uc3QgYmxvY2tMb2NhbGVJbmRleE1hcDogbnVtYmVyW10gPSBbXVxuXG4gICAgICBjb25zdCBibG9ja0xvY2FsZVJvd3NUb0luc2VydCA9IGJsb2NrUm93cy5yZWR1Y2UoKGFjYywgYmxvY2tSb3csIGkpID0+IHtcbiAgICAgICAgaWYgKE9iamVjdC5lbnRyaWVzKGJsb2NrUm93LmxvY2FsZXMpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBPYmplY3QuZW50cmllcyhibG9ja1Jvdy5sb2NhbGVzKS5mb3JFYWNoKChbYmxvY2tMb2NhbGUsIGJsb2NrTG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICAgIGlmIChPYmplY3Qua2V5cyhibG9ja0xvY2FsZURhdGEpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgYmxvY2tMb2NhbGVEYXRhLl9wYXJlbnRJRCA9IGJsb2NrUm93LnJvdy5pZFxuICAgICAgICAgICAgICBibG9ja0xvY2FsZURhdGEuX2xvY2FsZSA9IGJsb2NrTG9jYWxlXG4gICAgICAgICAgICAgIGFjYy5wdXNoKGJsb2NrTG9jYWxlRGF0YSlcbiAgICAgICAgICAgICAgYmxvY2tMb2NhbGVJbmRleE1hcC5wdXNoKGkpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhY2NcbiAgICAgIH0sIFtdKVxuXG4gICAgICBpZiAoYmxvY2tMb2NhbGVSb3dzVG9JbnNlcnQubGVuZ3RoID4gMCkge1xuICAgICAgICBhd2FpdCBkYlxuICAgICAgICAgIC5pbnNlcnQoYWRhcHRlci50YWJsZXNbYCR7YmxvY2tUYWJsZU5hbWV9JHthZGFwdGVyLmxvY2FsZXNTdWZmaXh9YF0pXG4gICAgICAgICAgLnZhbHVlcyhibG9ja0xvY2FsZVJvd3NUb0luc2VydClcbiAgICAgICAgICAucmV0dXJuaW5nKClcbiAgICAgIH1cblxuICAgICAgYXdhaXQgaW5zZXJ0QXJyYXlzKHtcbiAgICAgICAgYWRhcHRlcixcbiAgICAgICAgYXJyYXlzOiBibG9ja1Jvd3MubWFwKCh7IGFycmF5cyB9KSA9PiBhcnJheXMpLFxuICAgICAgICBkYixcbiAgICAgICAgcGFyZW50Um93czogaW5zZXJ0ZWRCbG9ja1Jvd3NbYmxvY2tOYW1lXSxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIElOU0VSVCBBUlJBWVMgUkVDVVJTSVZFTFlcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBpZiAob3BlcmF0aW9uID09PSAndXBkYXRlJykge1xuICAgICAgZm9yIChjb25zdCBhcnJheVRhYmxlTmFtZSBvZiBPYmplY3Qua2V5cyhyb3dUb0luc2VydC5hcnJheXMpKSB7XG4gICAgICAgIGF3YWl0IGRlbGV0ZUV4aXN0aW5nQXJyYXlSb3dzKHtcbiAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgIGRiLFxuICAgICAgICAgIHBhcmVudElEOiBpbnNlcnRlZFJvdy5pZCxcbiAgICAgICAgICB0YWJsZU5hbWU6IGFycmF5VGFibGVOYW1lLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH1cblxuICAgIGF3YWl0IGluc2VydEFycmF5cyh7XG4gICAgICBhZGFwdGVyLFxuICAgICAgYXJyYXlzOiBbcm93VG9JbnNlcnQuYXJyYXlzXSxcbiAgICAgIGRiLFxuICAgICAgcGFyZW50Um93czogW2luc2VydGVkUm93XSxcbiAgICB9KVxuXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIElOU0VSVCBoYXNNYW55IFNFTEVDVFNcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBmb3IgKGNvbnN0IFtzZWxlY3RUYWJsZU5hbWUsIHRhYmxlUm93c10gb2YgT2JqZWN0LmVudHJpZXMoc2VsZWN0c1RvSW5zZXJ0KSkge1xuICAgICAgY29uc3Qgc2VsZWN0VGFibGUgPSBhZGFwdGVyLnRhYmxlc1tzZWxlY3RUYWJsZU5hbWVdXG4gICAgICBpZiAob3BlcmF0aW9uID09PSAndXBkYXRlJykge1xuICAgICAgICBhd2FpdCBkYi5kZWxldGUoc2VsZWN0VGFibGUpLndoZXJlKGVxKHNlbGVjdFRhYmxlLnBhcmVudCwgaW5zZXJ0ZWRSb3cuaWQpKVxuICAgICAgfVxuICAgICAgYXdhaXQgZGIuaW5zZXJ0KHNlbGVjdFRhYmxlKS52YWx1ZXModGFibGVSb3dzKS5yZXR1cm5pbmcoKVxuICAgIH1cblxuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBFcnJvciBIYW5kbGluZ1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICB0aHJvdyBlcnJvci5jb2RlID09PSAnMjM1MDUnXG4gICAgICA/IG5ldyBWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgICAgW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBmaWVsZDogYWRhcHRlci5maWVsZENvbnN0cmFpbnRzW3RhYmxlTmFtZV1bZXJyb3IuY29uc3RyYWludF0sXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IHJlcS50KCdlcnJvcjp2YWx1ZU11c3RCZVVuaXF1ZScpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHJlcT8udCA/PyBpMThuSW5pdChyZXEucGF5bG9hZC5jb25maWcuaTE4bikudCxcbiAgICAgICAgKVxuICAgICAgOiBlcnJvclxuICB9XG5cbiAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAvLyBSRVRSSUVWRSBORVdMWSBVUERBVEVEIFJPV1xuICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgY29uc3QgZmluZE1hbnlBcmdzID0gYnVpbGRGaW5kTWFueUFyZ3Moe1xuICAgIGFkYXB0ZXIsXG4gICAgZGVwdGg6IDAsXG4gICAgZmllbGRzLFxuICAgIHRhYmxlTmFtZSxcbiAgfSlcblxuICBmaW5kTWFueUFyZ3Mud2hlcmUgPSBlcShhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdLmlkLCBpbnNlcnRlZFJvdy5pZClcblxuICBjb25zdCBkb2MgPSBhd2FpdCBkYi5xdWVyeVt0YWJsZU5hbWVdLmZpbmRGaXJzdChmaW5kTWFueUFyZ3MpXG5cbiAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAvLyBUUkFOU0ZPUk0gREFUQVxuICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgY29uc3QgcmVzdWx0ID0gdHJhbnNmb3JtPFQ+KHtcbiAgICBjb25maWc6IGFkYXB0ZXIucGF5bG9hZC5jb25maWcsXG4gICAgZGF0YTogZG9jLFxuICAgIGZpZWxkcyxcbiAgfSlcblxuICByZXR1cm4gcmVzdWx0XG59XG4iXSwibmFtZXMiOlsidXBzZXJ0Um93IiwiaWQiLCJhZGFwdGVyIiwiZGF0YSIsImRiIiwiZmllbGRzIiwib3BlcmF0aW9uIiwicGF0aCIsInJlcSIsInRhYmxlTmFtZSIsInVwc2VydFRhcmdldCIsIndoZXJlIiwicm93VG9JbnNlcnQiLCJ0cmFuc2Zvcm1Gb3JXcml0ZSIsImluc2VydGVkUm93IiwidGFyZ2V0IiwidGFibGVzIiwicm93IiwiaW5zZXJ0IiwidmFsdWVzIiwib25Db25mbGljdERvVXBkYXRlIiwic2V0IiwicmV0dXJuaW5nIiwibG9jYWxlc1RvSW5zZXJ0IiwicmVsYXRpb25zVG9JbnNlcnQiLCJ0ZXh0c1RvSW5zZXJ0IiwibnVtYmVyc1RvSW5zZXJ0IiwiYmxvY2tzVG9JbnNlcnQiLCJzZWxlY3RzVG9JbnNlcnQiLCJPYmplY3QiLCJrZXlzIiwibG9jYWxlcyIsImxlbmd0aCIsImVudHJpZXMiLCJmb3JFYWNoIiwibG9jYWxlIiwibG9jYWxlUm93IiwiX3BhcmVudElEIiwiX2xvY2FsZSIsInB1c2giLCJyZWxhdGlvbnNoaXBzIiwicmVsYXRpb24iLCJwYXJlbnQiLCJ0ZXh0cyIsInRleHRSb3ciLCJudW1iZXJzIiwibnVtYmVyUm93Iiwic2VsZWN0cyIsInNlbGVjdFRhYmxlTmFtZSIsInNlbGVjdFJvd3MiLCJibG9ja3MiLCJibG9ja05hbWUiLCJibG9ja1JvdyIsInV1aWQiLCJsb2NhbGVUYWJsZSIsImxvY2FsZXNTdWZmaXgiLCJkZWxldGUiLCJlcSIsInJlbGF0aW9uc2hpcHNUYWJsZU5hbWUiLCJyZWxhdGlvbnNoaXBzU3VmZml4IiwiZGVsZXRlRXhpc3RpbmdSb3dzQnlQYXRoIiwibG9jYWxlQ29sdW1uTmFtZSIsInBhcmVudENvbHVtbk5hbWUiLCJwYXJlbnRJRCIsInBhdGhDb2x1bW5OYW1lIiwicm93cyIsInJlbGF0aW9uc2hpcHNUb0RlbGV0ZSIsInRleHRzVGFibGVOYW1lIiwibnVtYmVyc1RhYmxlTmFtZSIsImluc2VydGVkQmxvY2tSb3dzIiwiYmxvY2tzVG9EZWxldGUiLCJibG9ja1RhYmxlTmFtZSIsInRhYmxlTmFtZU1hcCIsImdldCIsImJsb2NrVGFibGUiLCJibG9ja1Jvd3MiLCJtYXAiLCJpIiwiYmxvY2tMb2NhbGVJbmRleE1hcCIsImJsb2NrTG9jYWxlUm93c1RvSW5zZXJ0IiwicmVkdWNlIiwiYWNjIiwiYmxvY2tMb2NhbGUiLCJibG9ja0xvY2FsZURhdGEiLCJpbnNlcnRBcnJheXMiLCJhcnJheXMiLCJwYXJlbnRSb3dzIiwiYXJyYXlUYWJsZU5hbWUiLCJkZWxldGVFeGlzdGluZ0FycmF5Um93cyIsInRhYmxlUm93cyIsInNlbGVjdFRhYmxlIiwiZXJyb3IiLCJjb2RlIiwiVmFsaWRhdGlvbkVycm9yIiwiZmllbGQiLCJmaWVsZENvbnN0cmFpbnRzIiwiY29uc3RyYWludCIsIm1lc3NhZ2UiLCJ0IiwiaTE4bkluaXQiLCJwYXlsb2FkIiwiY29uZmlnIiwiaTE4biIsImZpbmRNYW55QXJncyIsImJ1aWxkRmluZE1hbnlBcmdzIiwiZGVwdGgiLCJkb2MiLCJxdWVyeSIsImZpbmRGaXJzdCIsInJlc3VsdCIsInRyYW5zZm9ybSJdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DOzs7OytCQWlCdkJBOzs7ZUFBQUE7Ozs0QkFkTTt3QkFDYTsyQkFDUDttQ0FL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
@@ -53,7 +53,7 @@ const insertArrays = async ({ adapter, arrays, db, parentRows })=>{
53
53
  // Insert locale rows
54
54
  if (adapter.tables[`${tableName}${adapter.localesSuffix}`] && row.locales.length > 0) {
55
55
  if (!row.locales[0]._parentID) {
56
- row.locales = row.locales.map((localeRow, i)=>{
56
+ row.locales = row.locales.map((localeRow)=>{
57
57
  if (typeof localeRow._getParentID === 'function') {
58
58
  localeRow._parentID = localeRow._getParentID(insertedRows);
59
59
  delete localeRow._getParentID;
@@ -75,4 +75,4 @@ const insertArrays = async ({ adapter, arrays, db, parentRows })=>{
75
75
  }
76
76
  };
77
77
 
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cHNlcnRSb3cvaW5zZXJ0QXJyYXlzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXBhcmFtLXJlYXNzaWduICovXG5pbXBvcnQgdHlwZSB7IEFycmF5Um93VG9JbnNlcnQgfSBmcm9tICcuLi90cmFuc2Zvcm0vd3JpdGUvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IERyaXp6bGVEQiwgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi4vdHlwZXMnXG5cbnR5cGUgQXJncyA9IHtcbiAgYWRhcHRlcjogUG9zdGdyZXNBZGFwdGVyXG4gIGFycmF5czoge1xuICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IEFycmF5Um93VG9JbnNlcnRbXVxuICB9W11cbiAgZGI6IERyaXp6bGVEQlxuICBwYXJlbnRSb3dzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG59XG5cbnR5cGUgUm93c0J5VGFibGUgPSB7XG4gIFt0YWJsZU5hbWU6IHN0cmluZ106IHtcbiAgICBhcnJheXM6IHtcbiAgICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IEFycmF5Um93VG9JbnNlcnRbXVxuICAgIH1bXVxuICAgIGxvY2FsZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgICByb3dzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGluc2VydEFycmF5cyA9IGFzeW5jICh7IGFkYXB0ZXIsIGFycmF5cywgZGIsIHBhcmVudFJvd3MgfTogQXJncyk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAvLyBNYWludGFpbiBhIG1hcCBvZiBmbGF0dGVuZWQgcm93cyBieSB0YWJsZVxuICBjb25zdCByb3dzQnlUYWJsZTogUm93c0J5VGFibGUgPSB7fVxuXG4gIGFycmF5cy5mb3JFYWNoKChhcnJheXNCeVRhYmxlLCBwYXJlbnRSb3dJbmRleCkgPT4ge1xuICAgIE9iamVjdC5lbnRyaWVzKGFycmF5c0J5VGFibGUpLmZvckVhY2goKFt0YWJsZU5hbWUsIGFycmF5Um93c10pID0+IHtcbiAgICAgIC8vIElmIHRoZSB0YWJsZSBkb2Vzbid0IGV4aXN0IGluIG1hcCwgaW5pdGlhbGl6ZSBpdFxuICAgICAgaWYgKCFyb3dzQnlUYWJsZVt0YWJsZU5hbWVdKSB7XG4gICAgICAgIHJvd3NCeVRhYmxlW3RhYmxlTmFtZV0gPSB7XG4gICAgICAgICAgYXJyYXlzOiBbXSxcbiAgICAgICAgICBsb2NhbGVzOiBbXSxcbiAgICAgICAgICByb3dzOiBbXSxcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCBwYXJlbnRJRCA9IHBhcmVudFJvd3NbcGFyZW50Um93SW5kZXhdLmlkXG5cbiAgICAgIC8vIEFkZCBhbnkgc3ViIGFycmF5cyB0aGF0IG5lZWQgdG8gYmUgY3JlYXRlZFxuICAgICAgLy8gV2Ugd2lsbCBjYWxsIHRoaXMgcmVjdXJzaXZlbHkgYmVsb3dcbiAgICAgIGFycmF5Um93cy5mb3JFYWNoKChhcnJheVJvdywgaSkgPT4ge1xuICAgICAgICBpZiAoT2JqZWN0LmtleXMoYXJyYXlSb3cuYXJyYXlzKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgcm93c0J5VGFibGVbdGFibGVOYW1lXS5hcnJheXMucHVzaChhcnJheVJvdy5hcnJheXMpXG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZXQgdXAgcGFyZW50IElEcyBmb3IgYm90aCByb3cgYW5kIGxvY2FsZSByb3dcbiAgICAgICAgYXJyYXlSb3cucm93Ll9wYXJlbnRJRCA9IHBhcmVudElEXG4gICAgICAgIHJvd3NCeVRhYmxlW3RhYmxlTmFtZV0ucm93cy5wdXNoKGFycmF5Um93LnJvdylcblxuICAgICAgICBPYmplY3QuZW50cmllcyhhcnJheVJvdy5sb2NhbGVzKS5mb3JFYWNoKChbYXJyYXlSb3dMb2NhbGUsIGFycmF5Um93TG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICBhcnJheVJvd0xvY2FsZURhdGEuX3BhcmVudElEID0gYXJyYXlSb3cucm93LmlkXG4gICAgICAgICAgYXJyYXlSb3dMb2NhbGVEYXRhLl9sb2NhbGUgPSBhcnJheVJvd0xvY2FsZVxuICAgICAgICAgIHJvd3NCeVRhYmxlW3RhYmxlTmFtZV0ubG9jYWxlcy5wdXNoKGFycmF5Um93TG9jYWxlRGF0YSlcbiAgICAgICAgICBpZiAoIWFycmF5Um93LnJvdy5pZCkge1xuICAgICAgICAgICAgYXJyYXlSb3dMb2NhbGVEYXRhLl9nZXRQYXJlbnRJRCA9IChyb3dzKSA9PiByb3dzW2ldLmlkXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgfSlcbiAgICB9KVxuICB9KVxuXG4gIC8vIEluc2VydCBhbGwgY29ycmVzcG9uZGluZyBhcnJheXNcbiAgLy8gKG9uZSBpbnNlcnQgcGVyIGFycmF5IHRhYmxlKVxuICBmb3IgKGNvbnN0IFt0YWJsZU5hbWUsIHJvd10gb2YgT2JqZWN0LmVudHJpZXMocm93c0J5VGFibGUpKSB7XG4gICAgLy8gdGhlIG5lc3RlZCBhcnJheXMgbmVlZCB0aGUgSUQgZm9yIHRoZSBwYXJlbnRJRCBmb3JlaWduIGtleVxuICAgIGxldCBpbnNlcnRlZFJvd3M6IEFyZ3NbJ3BhcmVudFJvd3MnXVxuICAgIGlmIChyb3cucm93cy5sZW5ndGggPiAwKSB7XG4gICAgICBpbnNlcnRlZFJvd3MgPSBhd2FpdCBkYi5pbnNlcnQoYWRhcHRlci50YWJsZXNbdGFibGVOYW1lXSkudmFsdWVzKHJvdy5yb3dzKS5yZXR1cm5pbmcoKVxuICAgIH1cblxuICAgIC8vIEluc2VydCBsb2NhbGUgcm93c1xuICAgIGlmIChhZGFwdGVyLnRhYmxlc1tgJHt0YWJsZU5hbWV9JHthZGFwdGVyLmxvY2FsZXNTdWZmaXh9YF0gJiYgcm93LmxvY2FsZXMubGVuZ3RoID4gMCkge1xuICAgICAgaWYgKCFyb3cubG9jYWxlc1swXS5fcGFyZW50SUQpIHtcbiAgICAgICAgcm93LmxvY2FsZXMgPSByb3cubG9jYWxlcy5tYXAoKGxvY2FsZVJvdywgaSkgPT4ge1xuICAgICAgICAgIGlmICh0eXBlb2YgbG9jYWxlUm93Ll9nZXRQYXJlbnRJRCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgbG9jYWxlUm93Ll9wYXJlbnRJRCA9IGxvY2FsZVJvdy5fZ2V0UGFyZW50SUQoaW5zZXJ0ZWRSb3dzKVxuICAgICAgICAgICAgZGVsZXRlIGxvY2FsZVJvdy5fZ2V0UGFyZW50SURcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGxvY2FsZVJvd1xuICAgICAgICB9KVxuICAgICAgfVxuICAgICAgYXdhaXQgZGJcbiAgICAgICAgLmluc2VydChhZGFwdGVyLnRhYmxlc1tgJHt0YWJsZU5hbWV9JHthZGFwdGVyLmxvY2FsZXNTdWZmaXh9YF0pXG4gICAgICAgIC52YWx1ZXMocm93LmxvY2FsZXMpXG4gICAgICAgIC5yZXR1cm5pbmcoKVxuICAgIH1cblxuICAgIC8vIElmIHRoZXJlIGFyZSBzdWIgYXJyYXlzLCBjYWxsIHRoaXMgZnVuY3Rpb24gcmVjdXJzaXZlbHlcbiAgICBpZiAocm93LmFycmF5cy5sZW5ndGggPiAwKSB7XG4gICAgICBhd2FpdCBpbnNlcnRBcnJheXMoe1xuICAgICAgICBhZGFwdGVyLFxuICAgICAgICBhcnJheXM6IHJvdy5hcnJheXMsXG4gICAgICAgIGRiLFxuICAgICAgICBwYXJlbnRSb3dzOiBpbnNlcnRlZFJvd3MsXG4gICAgICB9KVxuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbImluc2VydEFycmF5cyIsImFkYXB0ZXIiLCJhcnJheXMiLCJkYiIsInBhcmVudFJvd3MiLCJyb3dzQnlUYWJsZSIsImZvckVhY2giLCJhcnJheXNCeVRhYmxlIiwicGFyZW50Um93SW5kZXgiLCJPYmplY3QiLCJlbnRyaWVzIiwidGFibGVOYW1lIiwiYXJyYXlSb3dzIiwibG9jYWxlcyIsInJvd3MiLCJwYXJlbnRJRCIsImlkIiwiYXJyYXlSb3ciLCJpIiwia2V5cyIsImxlbmd0aCIsInB1c2giLCJyb3ciLCJfcGFyZW50SUQiLCJhcnJheVJvd0xvY2FsZSIsImFycmF5Um93TG9jYWxlRGF0YSIsIl9sb2NhbGUiLCJfZ2V0UGFyZW50SUQiLCJpbnNlcnRlZFJvd3MiLCJpbnNlcnQiLCJ0YWJsZXMiLCJ2YWx1ZXMiLCJyZXR1cm5pbmciLCJsb2NhbGVzU3VmZml4IiwibWFwIiwibG9jYWxlUm93Il0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsiLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DOzs7OytCQXVCdkJBOzs7ZUFBQUE7OztBQUFOLE1BQU1BLGVBQWUsT0FBTyxFQUFFQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsRUFBRSxFQUFFQyxVQUFVLEVBQVE7SUFDMUUsNENBQTRDO0lBQzVDLE1BQU1DLGNBQTJCLENBQUM7SUFFbENILE9BQU9JLE9BQU8sQ0FBQyxDQUFDQyxlQUFlQztRQUM3QkMsT0FBT0MsT0FBTyxDQUFDSCxlQUFlRCxPQUFPLENBQUMsQ0FBQyxDQUFDSyxXQUFXQyxVQUFVO1lBQzNELG1EQUFtRDtZQUNuRCxJQUFJLENBQUNQLFdBQVcsQ0FBQ00sVUFBVSxFQUFFO2dCQUMzQk4sV0FBVyxDQUFDTSxVQUFVLEdBQUc7b0JBQ3ZCVCxRQUFRLEVBQUU7b0JBQ1ZXLFNBQVMsRUFBRTtvQkFDWEMsTUFBTSxFQUFFO2dCQUNWO1lBQ0Y7WUFFQSxNQUFNQyxXQUFXWCxVQUFVLENBQUNJLGVBQWUsQ0FBQ1EsRUFBRTtZQUU5Qyw2Q0FBNkM7WUFDN0Msc0NBQXNDO1lBQ3RDSixVQUFVTixPQUFPLENBQUMsQ0FBQ1csVUFBVUM7Z0JBQzNCLElBQUlULE9BQU9VLElBQUksQ0FBQ0YsU0FBU2YsTUFBTSxFQUFFa0IsTUFBTSxHQUFHLEdBQUc7b0JBQzNDZixXQUFXLENBQUNNLFVBQVUsQ0FBQ1QsTUFBTSxDQUFDbUIsSUFBSSxDQUFDSixTQUFTZixNQUFNO2dCQUNwRDtnQkFFQSxnREFBZ0Q7Z0JBQ2hEZSxTQUFTSyxHQUFHLENBQUNDLFNBQVMsR0FBR1I7Z0JBQ3pCVixXQUFXLENBQUNNLFVBQVUsQ0FBQ0csSUFBSSxDQUFDTyxJQUFJLENBQUNKLFNBQVNLLEdBQUc7Z0JBRTdDYixPQUFPQyxPQUFPLENBQUNPLFNBQVNKLE9BQU8sRUFBRVAsT0FBTyxDQUFDLENBQUMsQ0FBQ2tCLGdCQUFnQkMsbUJBQW1CO29CQUM1RUEsbUJBQW1CRixTQUFTLEdBQUdOLFNBQVNLLEdBQUcsQ0FBQ04sRUFBRTtvQkFDOUNTLG1CQUFtQkMsT0FBTyxHQUFHRjtvQkFDN0JuQixXQUFXLENBQUNNLFVBQVUsQ0FBQ0UsT0FBTyxDQUFDUSxJQUFJLENBQUNJO29CQUNwQyxJQUFJLENBQUNSLFNBQVNLLEdBQUcsQ0FBQ04sRUFBRSxFQUFFO3dCQUNwQlMsbUJBQW1CRSxZQUFZLEdBQUcsQ0FBQ2IsT0FBU0EsSUFBSSxDQUFDSSxFQUFFLENBQUNGLEVBQUU7b0JBQ3hEO2dCQUNGO1lBQ0Y7UUFDRjtJQUNGO0lBRUEsa0NBQWtDO0lBQ2xDLCtCQUErQjtJQUMvQixLQUFLLE1BQU0sQ0FBQ0wsV0FBV1csSUFBSSxJQUFJYixPQUFPQyxPQUFPLENBQUNMLGFBQWM7UUFDMUQsNkRBQTZEO1FBQzdELElBQUl1QjtRQUNKLElBQUlOLElBQUlSLElBQUksQ0FBQ00sTUFBTSxHQUFHLEdBQUc7WUFDdkJRLGVBQWUsTUFBTXpCLEdBQUcwQixNQUFNLENBQUM1QixRQUFRNkIsTUFBTSxDQUFDbkIsVUFBVSxFQUFFb0IsTUFBTSxDQUFDVCxJQUFJUixJQUFJLEVBQUVrQixTQUFTO1FBQ3RGO1FBRUEscUJBQXFCO1FBQ3JCLElBQUkvQixRQUFRNkIsTUFBTSxDQUFDLENBQUMsRUFBRW5CLFVBQVUsRUFBRVYsUUFBUWdDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSVgsSUFBSVQsT0FBTyxDQUFDTyxNQUFNLEdBQUcsR0FBRztZQUNwRixJQUFJLENBQUNFLElBQUlULE9BQU8sQ0FBQyxFQUFFLENBQUNVLFNBQVMsRUFBRTtnQkFDN0JELElBQUlULE9BQU8sR0FBR1MsSUFBSVQsT0FBTyxDQUFDcUIsR0FBRyxDQUFDLENBQUNDLFdBQVdqQjtvQkFDeEMsSUFBSSxPQUFPaUIsVUFBVVIsWUFBWSxLQUFLLFlBQVk7d0JBQ2hEUSxVQUFVWixTQUFTLEdBQUdZLFVBQVVSLFlBQVksQ0FBQ0M7d0JBQzdDLE9BQU9PLFVBQVVSLFlBQVk7b0JBQy9CO29CQUNBLE9BQU9RO2dCQUNUO1lBQ0Y7WUFDQSxNQUFNaEMsR0FDSDBCLE1BQU0sQ0FBQzVCLFFBQVE2QixNQUFNLENBQUMsQ0FBQyxFQUFFbkIsVUFBVSxFQUFFVixRQUFRZ0MsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUM3REYsTUFBTSxDQUFDVCxJQUFJVCxPQUFPLEVBQ2xCbUIsU0FBUztRQUNkO1FBRUEsMERBQTBEO1FBQzFELElBQUlWLElBQUlwQixNQUFNLENBQUNrQixNQUFNLEdBQUcsR0FBRztZQUN6QixNQUFNcEIsYUFBYTtnQkFDakJDO2dCQUNBQyxRQUFRb0IsSUFBSXBCLE1BQU07Z0JBQ2xCQztnQkFDQUMsWUFBWXdCO1lBQ2Q7UUFDRjtJQUNGO0FBQ0YifQ==
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91cHNlcnRSb3cvaW5zZXJ0QXJyYXlzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXBhcmFtLXJlYXNzaWduICovXG5pbXBvcnQgdHlwZSB7IEFycmF5Um93VG9JbnNlcnQgfSBmcm9tICcuLi90cmFuc2Zvcm0vd3JpdGUvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IERyaXp6bGVEQiwgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi4vdHlwZXMnXG5cbnR5cGUgQXJncyA9IHtcbiAgYWRhcHRlcjogUG9zdGdyZXNBZGFwdGVyXG4gIGFycmF5czoge1xuICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IEFycmF5Um93VG9JbnNlcnRbXVxuICB9W11cbiAgZGI6IERyaXp6bGVEQlxuICBwYXJlbnRSb3dzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG59XG5cbnR5cGUgUm93c0J5VGFibGUgPSB7XG4gIFt0YWJsZU5hbWU6IHN0cmluZ106IHtcbiAgICBhcnJheXM6IHtcbiAgICAgIFt0YWJsZU5hbWU6IHN0cmluZ106IEFycmF5Um93VG9JbnNlcnRbXVxuICAgIH1bXVxuICAgIGxvY2FsZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W11cbiAgICByb3dzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGluc2VydEFycmF5cyA9IGFzeW5jICh7IGFkYXB0ZXIsIGFycmF5cywgZGIsIHBhcmVudFJvd3MgfTogQXJncyk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAvLyBNYWludGFpbiBhIG1hcCBvZiBmbGF0dGVuZWQgcm93cyBieSB0YWJsZVxuICBjb25zdCByb3dzQnlUYWJsZTogUm93c0J5VGFibGUgPSB7fVxuXG4gIGFycmF5cy5mb3JFYWNoKChhcnJheXNCeVRhYmxlLCBwYXJlbnRSb3dJbmRleCkgPT4ge1xuICAgIE9iamVjdC5lbnRyaWVzKGFycmF5c0J5VGFibGUpLmZvckVhY2goKFt0YWJsZU5hbWUsIGFycmF5Um93c10pID0+IHtcbiAgICAgIC8vIElmIHRoZSB0YWJsZSBkb2Vzbid0IGV4aXN0IGluIG1hcCwgaW5pdGlhbGl6ZSBpdFxuICAgICAgaWYgKCFyb3dzQnlUYWJsZVt0YWJsZU5hbWVdKSB7XG4gICAgICAgIHJvd3NCeVRhYmxlW3RhYmxlTmFtZV0gPSB7XG4gICAgICAgICAgYXJyYXlzOiBbXSxcbiAgICAgICAgICBsb2NhbGVzOiBbXSxcbiAgICAgICAgICByb3dzOiBbXSxcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCBwYXJlbnRJRCA9IHBhcmVudFJvd3NbcGFyZW50Um93SW5kZXhdLmlkXG5cbiAgICAgIC8vIEFkZCBhbnkgc3ViIGFycmF5cyB0aGF0IG5lZWQgdG8gYmUgY3JlYXRlZFxuICAgICAgLy8gV2Ugd2lsbCBjYWxsIHRoaXMgcmVjdXJzaXZlbHkgYmVsb3dcbiAgICAgIGFycmF5Um93cy5mb3JFYWNoKChhcnJheVJvdywgaSkgPT4ge1xuICAgICAgICBpZiAoT2JqZWN0LmtleXMoYXJyYXlSb3cuYXJyYXlzKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgcm93c0J5VGFibGVbdGFibGVOYW1lXS5hcnJheXMucHVzaChhcnJheVJvdy5hcnJheXMpXG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZXQgdXAgcGFyZW50IElEcyBmb3IgYm90aCByb3cgYW5kIGxvY2FsZSByb3dcbiAgICAgICAgYXJyYXlSb3cucm93Ll9wYXJlbnRJRCA9IHBhcmVudElEXG4gICAgICAgIHJvd3NCeVRhYmxlW3RhYmxlTmFtZV0ucm93cy5wdXNoKGFycmF5Um93LnJvdylcblxuICAgICAgICBPYmplY3QuZW50cmllcyhhcnJheVJvdy5sb2NhbGVzKS5mb3JFYWNoKChbYXJyYXlSb3dMb2NhbGUsIGFycmF5Um93TG9jYWxlRGF0YV0pID0+IHtcbiAgICAgICAgICBhcnJheVJvd0xvY2FsZURhdGEuX3BhcmVudElEID0gYXJyYXlSb3cucm93LmlkXG4gICAgICAgICAgYXJyYXlSb3dMb2NhbGVEYXRhLl9sb2NhbGUgPSBhcnJheVJvd0xvY2FsZVxuICAgICAgICAgIHJvd3NCeVRhYmxlW3RhYmxlTmFtZV0ubG9jYWxlcy5wdXNoKGFycmF5Um93TG9jYWxlRGF0YSlcbiAgICAgICAgICBpZiAoIWFycmF5Um93LnJvdy5pZCkge1xuICAgICAgICAgICAgYXJyYXlSb3dMb2NhbGVEYXRhLl9nZXRQYXJlbnRJRCA9IChyb3dzKSA9PiByb3dzW2ldLmlkXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgfSlcbiAgICB9KVxuICB9KVxuXG4gIC8vIEluc2VydCBhbGwgY29ycmVzcG9uZGluZyBhcnJheXNcbiAgLy8gKG9uZSBpbnNlcnQgcGVyIGFycmF5IHRhYmxlKVxuICBmb3IgKGNvbnN0IFt0YWJsZU5hbWUsIHJvd10gb2YgT2JqZWN0LmVudHJpZXMocm93c0J5VGFibGUpKSB7XG4gICAgLy8gdGhlIG5lc3RlZCBhcnJheXMgbmVlZCB0aGUgSUQgZm9yIHRoZSBwYXJlbnRJRCBmb3JlaWduIGtleVxuICAgIGxldCBpbnNlcnRlZFJvd3M6IEFyZ3NbJ3BhcmVudFJvd3MnXVxuICAgIGlmIChyb3cucm93cy5sZW5ndGggPiAwKSB7XG4gICAgICBpbnNlcnRlZFJvd3MgPSBhd2FpdCBkYi5pbnNlcnQoYWRhcHRlci50YWJsZXNbdGFibGVOYW1lXSkudmFsdWVzKHJvdy5yb3dzKS5yZXR1cm5pbmcoKVxuICAgIH1cblxuICAgIC8vIEluc2VydCBsb2NhbGUgcm93c1xuICAgIGlmIChhZGFwdGVyLnRhYmxlc1tgJHt0YWJsZU5hbWV9JHthZGFwdGVyLmxvY2FsZXNTdWZmaXh9YF0gJiYgcm93LmxvY2FsZXMubGVuZ3RoID4gMCkge1xuICAgICAgaWYgKCFyb3cubG9jYWxlc1swXS5fcGFyZW50SUQpIHtcbiAgICAgICAgcm93LmxvY2FsZXMgPSByb3cubG9jYWxlcy5tYXAoKGxvY2FsZVJvdykgPT4ge1xuICAgICAgICAgIGlmICh0eXBlb2YgbG9jYWxlUm93Ll9nZXRQYXJlbnRJRCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgbG9jYWxlUm93Ll9wYXJlbnRJRCA9IGxvY2FsZVJvdy5fZ2V0UGFyZW50SUQoaW5zZXJ0ZWRSb3dzKVxuICAgICAgICAgICAgZGVsZXRlIGxvY2FsZVJvdy5fZ2V0UGFyZW50SURcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGxvY2FsZVJvd1xuICAgICAgICB9KVxuICAgICAgfVxuICAgICAgYXdhaXQgZGJcbiAgICAgICAgLmluc2VydChhZGFwdGVyLnRhYmxlc1tgJHt0YWJsZU5hbWV9JHthZGFwdGVyLmxvY2FsZXNTdWZmaXh9YF0pXG4gICAgICAgIC52YWx1ZXMocm93LmxvY2FsZXMpXG4gICAgICAgIC5yZXR1cm5pbmcoKVxuICAgIH1cblxuICAgIC8vIElmIHRoZXJlIGFyZSBzdWIgYXJyYXlzLCBjYWxsIHRoaXMgZnVuY3Rpb24gcmVjdXJzaXZlbHlcbiAgICBpZiAocm93LmFycmF5cy5sZW5ndGggPiAwKSB7XG4gICAgICBhd2FpdCBpbnNlcnRBcnJheXMoe1xuICAgICAgICBhZGFwdGVyLFxuICAgICAgICBhcnJheXM6IHJvdy5hcnJheXMsXG4gICAgICAgIGRiLFxuICAgICAgICBwYXJlbnRSb3dzOiBpbnNlcnRlZFJvd3MsXG4gICAgICB9KVxuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbImluc2VydEFycmF5cyIsImFkYXB0ZXIiLCJhcnJheXMiLCJkYiIsInBhcmVudFJvd3MiLCJyb3dzQnlUYWJsZSIsImZvckVhY2giLCJhcnJheXNCeVRhYmxlIiwicGFyZW50Um93SW5kZXgiLCJPYmplY3QiLCJlbnRyaWVzIiwidGFibGVOYW1lIiwiYXJyYXlSb3dzIiwibG9jYWxlcyIsInJvd3MiLCJwYXJlbnRJRCIsImlkIiwiYXJyYXlSb3ciLCJpIiwia2V5cyIsImxlbmd0aCIsInB1c2giLCJyb3ciLCJfcGFyZW50SUQiLCJhcnJheVJvd0xvY2FsZSIsImFycmF5Um93TG9jYWxlRGF0YSIsIl9sb2NhbGUiLCJfZ2V0UGFyZW50SUQiLCJpbnNlcnRlZFJvd3MiLCJpbnNlcnQiLCJ0YWJsZXMiLCJ2YWx1ZXMiLCJyZXR1cm5pbmciLCJsb2NhbGVzU3VmZml4IiwibWFwIiwibG9jYWxlUm93Il0sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7Ozs7K0JBdUJ2QkE7OztlQUFBQTs7O0FBQU4sTUFBTUEsZUFBZSxPQUFPLEVBQUVDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxFQUFFLEVBQUVDLFVBQVUsRUFBUTtJQUMxRSw0Q0FBNEM7SUFDNUMsTUFBTUMsY0FBMkIsQ0FBQztJQUVsQ0gsT0FBT0ksT0FBTyxDQUFDLENBQUNDLGVBQWVDO1FBQzdCQyxPQUFPQyxPQUFPLENBQUNILGVBQWVELE9BQU8sQ0FBQyxDQUFDLENBQUNLLFdBQVdDLFVBQVU7WUFDM0QsbURBQW1EO1lBQ25ELElBQUksQ0FBQ1AsV0FBVyxDQUFDTSxVQUFVLEVBQUU7Z0JBQzNCTixXQUFXLENBQUNNLFVBQVUsR0FBRztvQkFDdkJULFFBQVEsRUFBRTtvQkFDVlcsU0FBUyxFQUFFO29CQUNYQyxNQUFNLEVBQUU7Z0JBQ1Y7WUFDRjtZQUVBLE1BQU1DLFdBQVdYLFVBQVUsQ0FBQ0ksZUFBZSxDQUFDUSxFQUFFO1lBRTlDLDZDQUE2QztZQUM3QyxzQ0FBc0M7WUFDdENKLFVBQVVOLE9BQU8sQ0FBQyxDQUFDVyxVQUFVQztnQkFDM0IsSUFBSVQsT0FBT1UsSUFBSSxDQUFDRixTQUFTZixNQUFNLEVBQUVrQixNQUFNLEdBQUcsR0FBRztvQkFDM0NmLFdBQVcsQ0FBQ00sVUFBVSxDQUFDVCxNQUFNLENBQUNtQixJQUFJLENBQUNKLFNBQVNmLE1BQU07Z0JBQ3BEO2dCQUVBLGdEQUFnRDtnQkFDaERlLFNBQVNLLEdBQUcsQ0FBQ0MsU0FBUyxHQUFHUjtnQkFDekJWLFdBQVcsQ0FBQ00sVUFBVSxDQUFDRyxJQUFJLENBQUNPLElBQUksQ0FBQ0osU0FBU0ssR0FBRztnQkFFN0NiLE9BQU9DLE9BQU8sQ0FBQ08sU0FBU0osT0FBTyxFQUFFUCxPQUFPLENBQUMsQ0FBQyxDQUFDa0IsZ0JBQWdCQyxtQkFBbUI7b0JBQzVFQSxtQkFBbUJGLFNBQVMsR0FBR04sU0FBU0ssR0FBRyxDQUFDTixFQUFFO29CQUM5Q1MsbUJBQW1CQyxPQUFPLEdBQUdGO29CQUM3Qm5CLFdBQVcsQ0FBQ00sVUFBVSxDQUFDRSxPQUFPLENBQUNRLElBQUksQ0FBQ0k7b0JBQ3BDLElBQUksQ0FBQ1IsU0FBU0ssR0FBRyxDQUFDTixFQUFFLEVBQUU7d0JBQ3BCUyxtQkFBbUJFLFlBQVksR0FBRyxDQUFDYixPQUFTQSxJQUFJLENBQUNJLEVBQUUsQ0FBQ0YsRUFBRTtvQkFDeEQ7Z0JBQ0Y7WUFDRjtRQUNGO0lBQ0Y7SUFFQSxrQ0FBa0M7SUFDbEMsK0JBQStCO0lBQy9CLEtBQUssTUFBTSxDQUFDTCxXQUFXVyxJQUFJLElBQUliLE9BQU9DLE9BQU8sQ0FBQ0wsYUFBYztRQUMxRCw2REFBNkQ7UUFDN0QsSUFBSXVCO1FBQ0osSUFBSU4sSUFBSVIsSUFBSSxDQUFDTSxNQUFNLEdBQUcsR0FBRztZQUN2QlEsZUFBZSxNQUFNekIsR0FBRzBCLE1BQU0sQ0FBQzVCLFFBQVE2QixNQUFNLENBQUNuQixVQUFVLEVBQUVvQixNQUFNLENBQUNULElBQUlSLElBQUksRUFBRWtCLFNBQVM7UUFDdEY7UUFFQSxxQkFBcUI7UUFDckIsSUFBSS9CLFFBQVE2QixNQUFNLENBQUMsQ0FBQyxFQUFFbkIsVUFBVSxFQUFFVixRQUFRZ0MsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJWCxJQUFJVCxPQUFPLENBQUNPLE1BQU0sR0FBRyxHQUFHO1lBQ3BGLElBQUksQ0FBQ0UsSUFBSVQsT0FBTyxDQUFDLEVBQUUsQ0FBQ1UsU0FBUyxFQUFFO2dCQUM3QkQsSUFBSVQsT0FBTyxHQUFHUyxJQUFJVCxPQUFPLENBQUNxQixHQUFHLENBQUMsQ0FBQ0M7b0JBQzdCLElBQUksT0FBT0EsVUFBVVIsWUFBWSxLQUFLLFlBQVk7d0JBQ2hEUSxVQUFVWixTQUFTLEdBQUdZLFVBQVVSLFlBQVksQ0FBQ0M7d0JBQzdDLE9BQU9PLFVBQVVSLFlBQVk7b0JBQy9CO29CQUNBLE9BQU9RO2dCQUNUO1lBQ0Y7WUFDQSxNQUFNaEMsR0FDSDBCLE1BQU0sQ0FBQzVCLFFBQVE2QixNQUFNLENBQUMsQ0FBQyxFQUFFbkIsVUFBVSxFQUFFVixRQUFRZ0MsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUM3REYsTUFBTSxDQUFDVCxJQUFJVCxPQUFPLEVBQ2xCbUIsU0FBUztRQUNkO1FBRUEsMERBQTBEO1FBQzFELElBQUlWLElBQUlwQixNQUFNLENBQUNrQixNQUFNLEdBQUcsR0FBRztZQUN6QixNQUFNcEIsYUFBYTtnQkFDakJDO2dCQUNBQyxRQUFRb0IsSUFBSXBCLE1BQU07Z0JBQ2xCQztnQkFDQUMsWUFBWXdCO1lBQ2Q7UUFDRjtJQUNGO0FBQ0YifQ==
@@ -3,4 +3,4 @@ Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
5
 
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJyYW5nZU1hcHBpbmdzIjoiIiwibWFwcGluZ3MiOiIifQ==
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -13,4 +13,4 @@ const appendPrefixToObjectKeys = (obj, prefix)=>Object.entries(obj).reduce((res,
13
13
  return res;
14
14
  }, {});
15
15
 
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYXBwZW5kUHJlZml4VG9LZXlzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBhcHBlbmRQcmVmaXhUb09iamVjdEtleXMgPSA8VD4ob2JqOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwgcHJlZml4OiBzdHJpbmcpOiBUID0+XG4gIE9iamVjdC5lbnRyaWVzKG9iaikucmVkdWNlKChyZXMsIFtrZXksIHZhbF0pID0+IHtcbiAgICByZXNbYCR7cHJlZml4fV8ke2tleX1gXSA9IHZhbFxuICAgIHJldHVybiByZXNcbiAgfSwge30gYXMgVClcbiJdLCJuYW1lcyI6WyJhcHBlbmRQcmVmaXhUb09iamVjdEtleXMiLCJvYmoiLCJwcmVmaXgiLCJPYmplY3QiLCJlbnRyaWVzIiwicmVkdWNlIiwicmVzIiwia2V5IiwidmFsIl0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7IiwibWFwcGluZ3MiOiI7Ozs7K0JBQWFBOzs7ZUFBQUE7OztBQUFOLE1BQU1BLDJCQUEyQixDQUFJQyxLQUE4QkMsU0FDeEVDLE9BQU9DLE9BQU8sQ0FBQ0gsS0FBS0ksTUFBTSxDQUFDLENBQUNDLEtBQUssQ0FBQ0MsS0FBS0MsSUFBSTtRQUN6Q0YsR0FBRyxDQUFDLENBQUMsRUFBRUosT0FBTyxDQUFDLEVBQUVLLElBQUksQ0FBQyxDQUFDLEdBQUdDO1FBQzFCLE9BQU9GO0lBQ1QsR0FBRyxDQUFDIn0=
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYXBwZW5kUHJlZml4VG9LZXlzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBhcHBlbmRQcmVmaXhUb09iamVjdEtleXMgPSA8VD4ob2JqOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwgcHJlZml4OiBzdHJpbmcpOiBUID0+XG4gIE9iamVjdC5lbnRyaWVzKG9iaikucmVkdWNlKChyZXMsIFtrZXksIHZhbF0pID0+IHtcbiAgICByZXNbYCR7cHJlZml4fV8ke2tleX1gXSA9IHZhbFxuICAgIHJldHVybiByZXNcbiAgfSwge30gYXMgVClcbiJdLCJuYW1lcyI6WyJhcHBlbmRQcmVmaXhUb09iamVjdEtleXMiLCJvYmoiLCJwcmVmaXgiLCJPYmplY3QiLCJlbnRyaWVzIiwicmVkdWNlIiwicmVzIiwia2V5IiwidmFsIl0sIm1hcHBpbmdzIjoiOzs7OytCQUFhQTs7O2VBQUFBOzs7QUFBTixNQUFNQSwyQkFBMkIsQ0FBSUMsS0FBOEJDLFNBQ3hFQyxPQUFPQyxPQUFPLENBQUNILEtBQUtJLE1BQU0sQ0FBQyxDQUFDQyxLQUFLLENBQUNDLEtBQUtDLElBQUk7UUFDekNGLEdBQUcsQ0FBQyxDQUFDLEVBQUVKLE9BQU8sQ0FBQyxFQUFFSyxJQUFJLENBQUMsQ0FBQyxHQUFHQztRQUMxQixPQUFPRjtJQUNULEdBQUcsQ0FBQyJ9
@@ -36,4 +36,4 @@ const createBlocksMap = (data)=>{
36
36
  return blocksMap;
37
37
  };
38
38
 
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY3JlYXRlQmxvY2tzTWFwLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXBhcmFtLXJlYXNzaWduICovXG5leHBvcnQgdHlwZSBCbG9ja3NNYXAgPSB7XG4gIFtwYXRoOiBzdHJpbmddOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVCbG9ja3NNYXAgPSAoZGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiBCbG9ja3NNYXAgPT4ge1xuICBjb25zdCBibG9ja3NNYXA6IEJsb2Nrc01hcCA9IHt9XG5cbiAgT2JqZWN0LmVudHJpZXMoZGF0YSkuZm9yRWFjaCgoW2tleSwgcm93c10pID0+IHtcbiAgICBpZiAoa2V5LnN0YXJ0c1dpdGgoJ19ibG9ja3NfJykgJiYgQXJyYXkuaXNBcnJheShyb3dzKSkge1xuICAgICAgY29uc3QgYmxvY2tUeXBlID0ga2V5LnJlcGxhY2UoJ19ibG9ja3NfJywgJycpXG5cbiAgICAgIHJvd3MuZm9yRWFjaCgocm93KSA9PiB7XG4gICAgICAgIGlmICgnX3BhdGgnIGluIHJvdykge1xuICAgICAgICAgIGlmICghKHJvdy5fcGF0aCBpbiBibG9ja3NNYXApKSBibG9ja3NNYXBbcm93Ll9wYXRoXSA9IFtdXG5cbiAgICAgICAgICByb3cuYmxvY2tUeXBlID0gYmxvY2tUeXBlXG4gICAgICAgICAgYmxvY2tzTWFwW3Jvdy5fcGF0aF0ucHVzaChyb3cpXG5cbiAgICAgICAgICBkZWxldGUgcm93Ll9wYXRoXG4gICAgICAgIH1cbiAgICAgIH0pXG5cbiAgICAgIGRlbGV0ZSBkYXRhW2tleV1cbiAgICB9XG4gIH0pXG5cbiAgT2JqZWN0LmVudHJpZXMoYmxvY2tzTWFwKS5yZWR1Y2UoKHNvcnRlZEJsb2Nrc01hcCwgW3BhdGgsIGJsb2Nrc10pID0+IHtcbiAgICBzb3J0ZWRCbG9ja3NNYXBbcGF0aF0gPSBibG9ja3Muc29ydCgoYSwgYikgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBhLl9vcmRlciA9PT0gJ251bWJlcicgJiYgdHlwZW9mIGIuX29yZGVyID09PSAnbnVtYmVyJykge1xuICAgICAgICByZXR1cm4gYS5fb3JkZXIgLSBiLl9vcmRlclxuICAgICAgfVxuXG4gICAgICByZXR1cm4gMFxuICAgIH0pXG5cbiAgICByZXR1cm4gc29ydGVkQmxvY2tzTWFwXG4gIH0sIHt9KVxuXG4gIHJldHVybiBibG9ja3NNYXBcbn1cbiJdLCJuYW1lcyI6WyJjcmVhdGVCbG9ja3NNYXAiLCJkYXRhIiwiYmxvY2tzTWFwIiwiT2JqZWN0IiwiZW50cmllcyIsImZvckVhY2giLCJrZXkiLCJyb3dzIiwic3RhcnRzV2l0aCIsIkFycmF5IiwiaXNBcnJheSIsImJsb2NrVHlwZSIsInJlcGxhY2UiLCJyb3ciLCJfcGF0aCIsInB1c2giLCJyZWR1Y2UiLCJzb3J0ZWRCbG9ja3NNYXAiLCJwYXRoIiwiYmxvY2tzIiwic29ydCIsImEiLCJiIiwiX29yZGVyIl0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsiLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DOzs7OytCQUt2QkE7OztlQUFBQTs7O0FBQU4sTUFBTUEsa0JBQWtCLENBQUNDO0lBQzlCLE1BQU1DLFlBQXVCLENBQUM7SUFFOUJDLE9BQU9DLE9BQU8sQ0FBQ0gsTUFBTUksT0FBTyxDQUFDLENBQUMsQ0FBQ0MsS0FBS0MsS0FBSztRQUN2QyxJQUFJRCxJQUFJRSxVQUFVLENBQUMsZUFBZUMsTUFBTUMsT0FBTyxDQUFDSCxPQUFPO1lBQ3JELE1BQU1JLFlBQVlMLElBQUlNLE9BQU8sQ0FBQyxZQUFZO1lBRTFDTCxLQUFLRixPQUFPLENBQUMsQ0FBQ1E7Z0JBQ1osSUFBSSxXQUFXQSxLQUFLO29CQUNsQixJQUFJLENBQUVBLENBQUFBLElBQUlDLEtBQUssSUFBSVosU0FBUSxHQUFJQSxTQUFTLENBQUNXLElBQUlDLEtBQUssQ0FBQyxHQUFHLEVBQUU7b0JBRXhERCxJQUFJRixTQUFTLEdBQUdBO29CQUNoQlQsU0FBUyxDQUFDVyxJQUFJQyxLQUFLLENBQUMsQ0FBQ0MsSUFBSSxDQUFDRjtvQkFFMUIsT0FBT0EsSUFBSUMsS0FBSztnQkFDbEI7WUFDRjtZQUVBLE9BQU9iLElBQUksQ0FBQ0ssSUFBSTtRQUNsQjtJQUNGO0lBRUFILE9BQU9DLE9BQU8sQ0FBQ0YsV0FBV2MsTUFBTSxDQUFDLENBQUNDLGlCQUFpQixDQUFDQyxNQUFNQyxPQUFPO1FBQy9ERixlQUFlLENBQUNDLEtBQUssR0FBR0MsT0FBT0MsSUFBSSxDQUFDLENBQUNDLEdBQUdDO1lBQ3RDLElBQUksT0FBT0QsRUFBRUUsTUFBTSxLQUFLLFlBQVksT0FBT0QsRUFBRUMsTUFBTSxLQUFLLFVBQVU7Z0JBQ2hFLE9BQU9GLEVBQUVFLE1BQU0sR0FBR0QsRUFBRUMsTUFBTTtZQUM1QjtZQUVBLE9BQU87UUFDVDtRQUVBLE9BQU9OO0lBQ1QsR0FBRyxDQUFDO0lBRUosT0FBT2Y7QUFDVCJ9
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY3JlYXRlQmxvY2tzTWFwLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXBhcmFtLXJlYXNzaWduICovXG5leHBvcnQgdHlwZSBCbG9ja3NNYXAgPSB7XG4gIFtwYXRoOiBzdHJpbmddOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdXG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVCbG9ja3NNYXAgPSAoZGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiBCbG9ja3NNYXAgPT4ge1xuICBjb25zdCBibG9ja3NNYXA6IEJsb2Nrc01hcCA9IHt9XG5cbiAgT2JqZWN0LmVudHJpZXMoZGF0YSkuZm9yRWFjaCgoW2tleSwgcm93c10pID0+IHtcbiAgICBpZiAoa2V5LnN0YXJ0c1dpdGgoJ19ibG9ja3NfJykgJiYgQXJyYXkuaXNBcnJheShyb3dzKSkge1xuICAgICAgY29uc3QgYmxvY2tUeXBlID0ga2V5LnJlcGxhY2UoJ19ibG9ja3NfJywgJycpXG5cbiAgICAgIHJvd3MuZm9yRWFjaCgocm93KSA9PiB7XG4gICAgICAgIGlmICgnX3BhdGgnIGluIHJvdykge1xuICAgICAgICAgIGlmICghKHJvdy5fcGF0aCBpbiBibG9ja3NNYXApKSBibG9ja3NNYXBbcm93Ll9wYXRoXSA9IFtdXG5cbiAgICAgICAgICByb3cuYmxvY2tUeXBlID0gYmxvY2tUeXBlXG4gICAgICAgICAgYmxvY2tzTWFwW3Jvdy5fcGF0aF0ucHVzaChyb3cpXG5cbiAgICAgICAgICBkZWxldGUgcm93Ll9wYXRoXG4gICAgICAgIH1cbiAgICAgIH0pXG5cbiAgICAgIGRlbGV0ZSBkYXRhW2tleV1cbiAgICB9XG4gIH0pXG5cbiAgT2JqZWN0LmVudHJpZXMoYmxvY2tzTWFwKS5yZWR1Y2UoKHNvcnRlZEJsb2Nrc01hcCwgW3BhdGgsIGJsb2Nrc10pID0+IHtcbiAgICBzb3J0ZWRCbG9ja3NNYXBbcGF0aF0gPSBibG9ja3Muc29ydCgoYSwgYikgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBhLl9vcmRlciA9PT0gJ251bWJlcicgJiYgdHlwZW9mIGIuX29yZGVyID09PSAnbnVtYmVyJykge1xuICAgICAgICByZXR1cm4gYS5fb3JkZXIgLSBiLl9vcmRlclxuICAgICAgfVxuXG4gICAgICByZXR1cm4gMFxuICAgIH0pXG5cbiAgICByZXR1cm4gc29ydGVkQmxvY2tzTWFwXG4gIH0sIHt9KVxuXG4gIHJldHVybiBibG9ja3NNYXBcbn1cbiJdLCJuYW1lcyI6WyJjcmVhdGVCbG9ja3NNYXAiLCJkYXRhIiwiYmxvY2tzTWFwIiwiT2JqZWN0IiwiZW50cmllcyIsImZvckVhY2giLCJrZXkiLCJyb3dzIiwic3RhcnRzV2l0aCIsIkFycmF5IiwiaXNBcnJheSIsImJsb2NrVHlwZSIsInJlcGxhY2UiLCJyb3ciLCJfcGF0aCIsInB1c2giLCJyZWR1Y2UiLCJzb3J0ZWRCbG9ja3NNYXAiLCJwYXRoIiwiYmxvY2tzIiwic29ydCIsImEiLCJiIiwiX29yZGVyIl0sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7Ozs7K0JBS3ZCQTs7O2VBQUFBOzs7QUFBTixNQUFNQSxrQkFBa0IsQ0FBQ0M7SUFDOUIsTUFBTUMsWUFBdUIsQ0FBQztJQUU5QkMsT0FBT0MsT0FBTyxDQUFDSCxNQUFNSSxPQUFPLENBQUMsQ0FBQyxDQUFDQyxLQUFLQyxLQUFLO1FBQ3ZDLElBQUlELElBQUlFLFVBQVUsQ0FBQyxlQUFlQyxNQUFNQyxPQUFPLENBQUNILE9BQU87WUFDckQsTUFBTUksWUFBWUwsSUFBSU0sT0FBTyxDQUFDLFlBQVk7WUFFMUNMLEtBQUtGLE9BQU8sQ0FBQyxDQUFDUTtnQkFDWixJQUFJLFdBQVdBLEtBQUs7b0JBQ2xCLElBQUksQ0FBRUEsQ0FBQUEsSUFBSUMsS0FBSyxJQUFJWixTQUFRLEdBQUlBLFNBQVMsQ0FBQ1csSUFBSUMsS0FBSyxDQUFDLEdBQUcsRUFBRTtvQkFFeERELElBQUlGLFNBQVMsR0FBR0E7b0JBQ2hCVCxTQUFTLENBQUNXLElBQUlDLEtBQUssQ0FBQyxDQUFDQyxJQUFJLENBQUNGO29CQUUxQixPQUFPQSxJQUFJQyxLQUFLO2dCQUNsQjtZQUNGO1lBRUEsT0FBT2IsSUFBSSxDQUFDSyxJQUFJO1FBQ2xCO0lBQ0Y7SUFFQUgsT0FBT0MsT0FBTyxDQUFDRixXQUFXYyxNQUFNLENBQUMsQ0FBQ0MsaUJBQWlCLENBQUNDLE1BQU1DLE9BQU87UUFDL0RGLGVBQWUsQ0FBQ0MsS0FBSyxHQUFHQyxPQUFPQyxJQUFJLENBQUMsQ0FBQ0MsR0FBR0M7WUFDdEMsSUFBSSxPQUFPRCxFQUFFRSxNQUFNLEtBQUssWUFBWSxPQUFPRCxFQUFFQyxNQUFNLEtBQUssVUFBVTtnQkFDaEUsT0FBT0YsRUFBRUUsTUFBTSxHQUFHRCxFQUFFQyxNQUFNO1lBQzVCO1lBRUEsT0FBTztRQUNUO1FBRUEsT0FBT047SUFDVCxHQUFHLENBQUM7SUFFSixPQUFPZjtBQUNUIn0=
@@ -20,4 +20,4 @@ const createMigrationTable = async (adapter)=>{
20
20
  );`));
21
21
  };
22
22
 
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY3JlYXRlTWlncmF0aW9uVGFibGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc3FsIH0gZnJvbSAnZHJpenpsZS1vcm0nXG5cbmltcG9ydCB0eXBlIHsgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi4vdHlwZXMnXG5cbmV4cG9ydCBjb25zdCBjcmVhdGVNaWdyYXRpb25UYWJsZSA9IGFzeW5jIChhZGFwdGVyOiBQb3N0Z3Jlc0FkYXB0ZXIpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgY29uc3QgcHJlcGVuZFNjaGVtYSA9IGFkYXB0ZXIuc2NoZW1hTmFtZSA/IGBcIiR7YWRhcHRlci5zY2hlbWFOYW1lfVwiLmAgOiAnJ1xuXG4gIGF3YWl0IGFkYXB0ZXIuZHJpenpsZS5leGVjdXRlKFxuICAgIHNxbC5yYXcoYENSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTICR7cHJlcGVuZFNjaGVtYX1cInBheWxvYWRfbWlncmF0aW9uc1wiIChcbiAgXCJpZFwiIHNlcmlhbCBQUklNQVJZIEtFWSBOT1QgTlVMTCxcbiAgXCJuYW1lXCIgdmFyY2hhcixcbiAgXCJiYXRjaFwiIG51bWVyaWMsXG4gIFwidXBkYXRlZF9hdFwiIHRpbWVzdGFtcCgzKSB3aXRoIHRpbWUgem9uZSBERUZBVUxUIG5vdygpIE5PVCBOVUxMLFxuICBcImNyZWF0ZWRfYXRcIiB0aW1lc3RhbXAoMykgd2l0aCB0aW1lIHpvbmUgREVGQVVMVCBub3coKSBOT1QgTlVMTFxuKTtgKSxcbiAgKVxufVxuIl0sIm5hbWVzIjpbImNyZWF0ZU1pZ3JhdGlvblRhYmxlIiwiYWRhcHRlciIsInByZXBlbmRTY2hlbWEiLCJzY2hlbWFOYW1lIiwiZHJpenpsZSIsImV4ZWN1dGUiLCJzcWwiLCJyYXciXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7IiwibWFwcGluZ3MiOiI7Ozs7K0JBSWFBOzs7ZUFBQUE7Ozs0QkFKTztBQUliLE1BQU1BLHVCQUF1QixPQUFPQztJQUN6QyxNQUFNQyxnQkFBZ0JELFFBQVFFLFVBQVUsR0FBRyxDQUFDLENBQUMsRUFBRUYsUUFBUUUsVUFBVSxDQUFDLEVBQUUsQ0FBQyxHQUFHO0lBRXhFLE1BQU1GLFFBQVFHLE9BQU8sQ0FBQ0MsT0FBTyxDQUMzQkMsZUFBRyxDQUFDQyxHQUFHLENBQUMsQ0FBQywyQkFBMkIsRUFBRUwsY0FBYzs7Ozs7O0VBTXRELENBQUM7QUFFSCJ9
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY3JlYXRlTWlncmF0aW9uVGFibGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc3FsIH0gZnJvbSAnZHJpenpsZS1vcm0nXG5cbmltcG9ydCB0eXBlIHsgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi4vdHlwZXMnXG5cbmV4cG9ydCBjb25zdCBjcmVhdGVNaWdyYXRpb25UYWJsZSA9IGFzeW5jIChhZGFwdGVyOiBQb3N0Z3Jlc0FkYXB0ZXIpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgY29uc3QgcHJlcGVuZFNjaGVtYSA9IGFkYXB0ZXIuc2NoZW1hTmFtZSA/IGBcIiR7YWRhcHRlci5zY2hlbWFOYW1lfVwiLmAgOiAnJ1xuXG4gIGF3YWl0IGFkYXB0ZXIuZHJpenpsZS5leGVjdXRlKFxuICAgIHNxbC5yYXcoYENSRUFURSBUQUJMRSBJRiBOT1QgRVhJU1RTICR7cHJlcGVuZFNjaGVtYX1cInBheWxvYWRfbWlncmF0aW9uc1wiIChcbiAgXCJpZFwiIHNlcmlhbCBQUklNQVJZIEtFWSBOT1QgTlVMTCxcbiAgXCJuYW1lXCIgdmFyY2hhcixcbiAgXCJiYXRjaFwiIG51bWVyaWMsXG4gIFwidXBkYXRlZF9hdFwiIHRpbWVzdGFtcCgzKSB3aXRoIHRpbWUgem9uZSBERUZBVUxUIG5vdygpIE5PVCBOVUxMLFxuICBcImNyZWF0ZWRfYXRcIiB0aW1lc3RhbXAoMykgd2l0aCB0aW1lIHpvbmUgREVGQVVMVCBub3coKSBOT1QgTlVMTFxuKTtgKSxcbiAgKVxufVxuIl0sIm5hbWVzIjpbImNyZWF0ZU1pZ3JhdGlvblRhYmxlIiwiYWRhcHRlciIsInByZXBlbmRTY2hlbWEiLCJzY2hlbWFOYW1lIiwiZHJpenpsZSIsImV4ZWN1dGUiLCJzcWwiLCJyYXciXSwibWFwcGluZ3MiOiI7Ozs7K0JBSWFBOzs7ZUFBQUE7Ozs0QkFKTztBQUliLE1BQU1BLHVCQUF1QixPQUFPQztJQUN6QyxNQUFNQyxnQkFBZ0JELFFBQVFFLFVBQVUsR0FBRyxDQUFDLENBQUMsRUFBRUYsUUFBUUUsVUFBVSxDQUFDLEVBQUUsQ0FBQyxHQUFHO0lBRXhFLE1BQU1GLFFBQVFHLE9BQU8sQ0FBQ0MsT0FBTyxDQUMzQkMsZUFBRyxDQUFDQyxHQUFHLENBQUMsQ0FBQywyQkFBMkIsRUFBRUwsY0FBYzs7Ozs7O0VBTXRELENBQUM7QUFFSCJ9
@@ -26,4 +26,4 @@ const createPathMap = (rows)=>{
26
26
  return rowsByPath;
27
27
  };
28
28
 
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY3JlYXRlUmVsYXRpb25zaGlwTWFwLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEZsYXR0ZW4gcm93cyB0byBvYmplY3Qgd2l0aCBwYXRoIGtleXNcbi8vIGZvciBlYXNpZXIgcmV0cmlldmFsXG5leHBvcnQgY29uc3QgY3JlYXRlUGF0aE1hcCA9IChyb3dzOiB1bmtub3duKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXT4gPT4ge1xuICBsZXQgcm93c0J5UGF0aCA9IHt9XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkocm93cykpIHtcbiAgICByb3dzQnlQYXRoID0gcm93cy5yZWR1Y2UoKHJlcywgcm93KSA9PiB7XG4gICAgICBjb25zdCBmb3JtYXR0ZWRSb3cgPSB7XG4gICAgICAgIC4uLnJvdyxcbiAgICAgIH1cblxuICAgICAgZGVsZXRlIGZvcm1hdHRlZFJvdy5wYXRoXG5cbiAgICAgIGlmICghcmVzW3Jvdy5wYXRoXSkgcmVzW3Jvdy5wYXRoXSA9IFtdXG4gICAgICByZXNbcm93LnBhdGhdLnB1c2gocm93KVxuXG4gICAgICByZXR1cm4gcmVzXG4gICAgfSwge30pXG4gIH1cblxuICByZXR1cm4gcm93c0J5UGF0aFxufVxuIl0sIm5hbWVzIjpbImNyZWF0ZVBhdGhNYXAiLCJyb3dzIiwicm93c0J5UGF0aCIsIkFycmF5IiwiaXNBcnJheSIsInJlZHVjZSIsInJlcyIsInJvdyIsImZvcm1hdHRlZFJvdyIsInBhdGgiLCJwdXNoIl0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiQUFBQSx3Q0FBd0M7QUFDeEMsdUJBQXVCOzs7OzsrQkFDVkE7OztlQUFBQTs7O0FBQU4sTUFBTUEsZ0JBQWdCLENBQUNDO0lBQzVCLElBQUlDLGFBQWEsQ0FBQztJQUVsQixJQUFJQyxNQUFNQyxPQUFPLENBQUNILE9BQU87UUFDdkJDLGFBQWFELEtBQUtJLE1BQU0sQ0FBQyxDQUFDQyxLQUFLQztZQUM3QixNQUFNQyxlQUFlO2dCQUNuQixHQUFHRCxHQUFHO1lBQ1I7WUFFQSxPQUFPQyxhQUFhQyxJQUFJO1lBRXhCLElBQUksQ0FBQ0gsR0FBRyxDQUFDQyxJQUFJRSxJQUFJLENBQUMsRUFBRUgsR0FBRyxDQUFDQyxJQUFJRSxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ3RDSCxHQUFHLENBQUNDLElBQUlFLElBQUksQ0FBQyxDQUFDQyxJQUFJLENBQUNIO1lBRW5CLE9BQU9EO1FBQ1QsR0FBRyxDQUFDO0lBQ047SUFFQSxPQUFPSjtBQUNUIn0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY3JlYXRlUmVsYXRpb25zaGlwTWFwLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEZsYXR0ZW4gcm93cyB0byBvYmplY3Qgd2l0aCBwYXRoIGtleXNcbi8vIGZvciBlYXNpZXIgcmV0cmlldmFsXG5leHBvcnQgY29uc3QgY3JlYXRlUGF0aE1hcCA9IChyb3dzOiB1bmtub3duKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXT4gPT4ge1xuICBsZXQgcm93c0J5UGF0aCA9IHt9XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkocm93cykpIHtcbiAgICByb3dzQnlQYXRoID0gcm93cy5yZWR1Y2UoKHJlcywgcm93KSA9PiB7XG4gICAgICBjb25zdCBmb3JtYXR0ZWRSb3cgPSB7XG4gICAgICAgIC4uLnJvdyxcbiAgICAgIH1cblxuICAgICAgZGVsZXRlIGZvcm1hdHRlZFJvdy5wYXRoXG5cbiAgICAgIGlmICghcmVzW3Jvdy5wYXRoXSkgcmVzW3Jvdy5wYXRoXSA9IFtdXG4gICAgICByZXNbcm93LnBhdGhdLnB1c2gocm93KVxuXG4gICAgICByZXR1cm4gcmVzXG4gICAgfSwge30pXG4gIH1cblxuICByZXR1cm4gcm93c0J5UGF0aFxufVxuIl0sIm5hbWVzIjpbImNyZWF0ZVBhdGhNYXAiLCJyb3dzIiwicm93c0J5UGF0aCIsIkFycmF5IiwiaXNBcnJheSIsInJlZHVjZSIsInJlcyIsInJvdyIsImZvcm1hdHRlZFJvdyIsInBhdGgiLCJwdXNoIl0sIm1hcHBpbmdzIjoiQUFBQSx3Q0FBd0M7QUFDeEMsdUJBQXVCOzs7OzsrQkFDVkE7OztlQUFBQTs7O0FBQU4sTUFBTUEsZ0JBQWdCLENBQUNDO0lBQzVCLElBQUlDLGFBQWEsQ0FBQztJQUVsQixJQUFJQyxNQUFNQyxPQUFPLENBQUNILE9BQU87UUFDdkJDLGFBQWFELEtBQUtJLE1BQU0sQ0FBQyxDQUFDQyxLQUFLQztZQUM3QixNQUFNQyxlQUFlO2dCQUNuQixHQUFHRCxHQUFHO1lBQ1I7WUFFQSxPQUFPQyxhQUFhQyxJQUFJO1lBRXhCLElBQUksQ0FBQ0gsR0FBRyxDQUFDQyxJQUFJRSxJQUFJLENBQUMsRUFBRUgsR0FBRyxDQUFDQyxJQUFJRSxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ3RDSCxHQUFHLENBQUNDLElBQUlFLElBQUksQ0FBQyxDQUFDQyxJQUFJLENBQUNIO1lBRW5CLE9BQU9EO1FBQ1QsR0FBRyxDQUFDO0lBQ047SUFFQSxPQUFPSjtBQUNUIn0=
@@ -18,4 +18,4 @@ const hasLocalesTable = (fields)=>{
18
18
  });
19
19
  };
20
20
 
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvaGFzTG9jYWxlc1RhYmxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhLCBmaWVsZEhhc1N1YkZpZWxkcyB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmV4cG9ydCBjb25zdCBoYXNMb2NhbGVzVGFibGUgPSAoZmllbGRzOiBGaWVsZFtdKTogYm9vbGVhbiA9PiB7XG4gIHJldHVybiBmaWVsZHMuc29tZSgoZmllbGQpID0+IHtcbiAgICBpZiAoZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgZmllbGQubG9jYWxpemVkKSByZXR1cm4gdHJ1ZVxuICAgIGlmIChmaWVsZEhhc1N1YkZpZWxkcyhmaWVsZCkgJiYgZmllbGQudHlwZSAhPT0gJ2FycmF5JykgcmV0dXJuIGhhc0xvY2FsZXNUYWJsZShmaWVsZC5maWVsZHMpXG4gICAgaWYgKGZpZWxkLnR5cGUgPT09ICd0YWJzJykgcmV0dXJuIGZpZWxkLnRhYnMuc29tZSgodGFiKSA9PiBoYXNMb2NhbGVzVGFibGUodGFiLmZpZWxkcykpXG4gICAgcmV0dXJuIGZhbHNlXG4gIH0pXG59XG4iXSwibmFtZXMiOlsiaGFzTG9jYWxlc1RhYmxlIiwiZmllbGRzIiwic29tZSIsImZpZWxkIiwiZmllbGRBZmZlY3RzRGF0YSIsImxvY2FsaXplZCIsImZpZWxkSGFzU3ViRmllbGRzIiwidHlwZSIsInRhYnMiLCJ0YWIiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiOzs7OytCQUlhQTs7O2VBQUFBOzs7dUJBRnVDO0FBRTdDLE1BQU1BLGtCQUFrQixDQUFDQztJQUM5QixPQUFPQSxPQUFPQyxJQUFJLENBQUMsQ0FBQ0M7UUFDbEIsSUFBSUMsSUFBQUEsdUJBQWdCLEVBQUNELFVBQVVBLE1BQU1FLFNBQVMsRUFBRSxPQUFPO1FBQ3ZELElBQUlDLElBQUFBLHdCQUFpQixFQUFDSCxVQUFVQSxNQUFNSSxJQUFJLEtBQUssU0FBUyxPQUFPUCxnQkFBZ0JHLE1BQU1GLE1BQU07UUFDM0YsSUFBSUUsTUFBTUksSUFBSSxLQUFLLFFBQVEsT0FBT0osTUFBTUssSUFBSSxDQUFDTixJQUFJLENBQUMsQ0FBQ08sTUFBUVQsZ0JBQWdCUyxJQUFJUixNQUFNO1FBQ3JGLE9BQU87SUFDVDtBQUNGIn0=
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvaGFzTG9jYWxlc1RhYmxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhLCBmaWVsZEhhc1N1YkZpZWxkcyB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmV4cG9ydCBjb25zdCBoYXNMb2NhbGVzVGFibGUgPSAoZmllbGRzOiBGaWVsZFtdKTogYm9vbGVhbiA9PiB7XG4gIHJldHVybiBmaWVsZHMuc29tZSgoZmllbGQpID0+IHtcbiAgICBpZiAoZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgZmllbGQubG9jYWxpemVkKSByZXR1cm4gdHJ1ZVxuICAgIGlmIChmaWVsZEhhc1N1YkZpZWxkcyhmaWVsZCkgJiYgZmllbGQudHlwZSAhPT0gJ2FycmF5JykgcmV0dXJuIGhhc0xvY2FsZXNUYWJsZShmaWVsZC5maWVsZHMpXG4gICAgaWYgKGZpZWxkLnR5cGUgPT09ICd0YWJzJykgcmV0dXJuIGZpZWxkLnRhYnMuc29tZSgodGFiKSA9PiBoYXNMb2NhbGVzVGFibGUodGFiLmZpZWxkcykpXG4gICAgcmV0dXJuIGZhbHNlXG4gIH0pXG59XG4iXSwibmFtZXMiOlsiaGFzTG9jYWxlc1RhYmxlIiwiZmllbGRzIiwic29tZSIsImZpZWxkIiwiZmllbGRBZmZlY3RzRGF0YSIsImxvY2FsaXplZCIsImZpZWxkSGFzU3ViRmllbGRzIiwidHlwZSIsInRhYnMiLCJ0YWIiXSwibWFwcGluZ3MiOiI7Ozs7K0JBSWFBOzs7ZUFBQUE7Ozt1QkFGdUM7QUFFN0MsTUFBTUEsa0JBQWtCLENBQUNDO0lBQzlCLE9BQU9BLE9BQU9DLElBQUksQ0FBQyxDQUFDQztRQUNsQixJQUFJQyxJQUFBQSx1QkFBZ0IsRUFBQ0QsVUFBVUEsTUFBTUUsU0FBUyxFQUFFLE9BQU87UUFDdkQsSUFBSUMsSUFBQUEsd0JBQWlCLEVBQUNILFVBQVVBLE1BQU1JLElBQUksS0FBSyxTQUFTLE9BQU9QLGdCQUFnQkcsTUFBTUYsTUFBTTtRQUMzRixJQUFJRSxNQUFNSSxJQUFJLEtBQUssUUFBUSxPQUFPSixNQUFNSyxJQUFJLENBQUNOLElBQUksQ0FBQyxDQUFDTyxNQUFRVCxnQkFBZ0JTLElBQUlSLE1BQU07UUFDckYsT0FBTztJQUNUO0FBQ0YifQ==
@@ -12,4 +12,4 @@ function isArrayOfRows(data) {
12
12
  return Array.isArray(data);
13
13
  }
14
14
 
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvaXNBcnJheU9mUm93cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gaXNBcnJheU9mUm93cyhkYXRhOiB1bmtub3duKTogZGF0YSBpcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkoZGF0YSlcbn1cbiJdLCJuYW1lcyI6WyJpc0FycmF5T2ZSb3dzIiwiZGF0YSIsIkFycmF5IiwiaXNBcnJheSJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7IiwibWFwcGluZ3MiOiI7Ozs7K0JBQWdCQTs7O2VBQUFBOzs7QUFBVCxTQUFTQSxjQUFjQyxJQUFhO0lBQ3pDLE9BQU9DLE1BQU1DLE9BQU8sQ0FBQ0Y7QUFDdkIifQ==
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvaXNBcnJheU9mUm93cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gaXNBcnJheU9mUm93cyhkYXRhOiB1bmtub3duKTogZGF0YSBpcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPltdIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkoZGF0YSlcbn1cbiJdLCJuYW1lcyI6WyJpc0FycmF5T2ZSb3dzIiwiZGF0YSIsIkFycmF5IiwiaXNBcnJheSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFBZ0JBOzs7ZUFBQUE7OztBQUFULFNBQVNBLGNBQWNDLElBQWE7SUFDekMsT0FBT0MsTUFBTUMsT0FBTyxDQUFDRjtBQUN2QiJ9
@@ -16,4 +16,4 @@ const migrationTableExists = async (db)=>{
16
16
  return exists;
17
17
  };
18
18
 
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbWlncmF0aW9uVGFibGVFeGlzdHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc3FsIH0gZnJvbSAnZHJpenpsZS1vcm0nXG5cbmltcG9ydCB0eXBlIHsgRHJpenpsZURCIH0gZnJvbSAnLi4vdHlwZXMnXG5cbmV4cG9ydCBjb25zdCBtaWdyYXRpb25UYWJsZUV4aXN0cyA9IGFzeW5jIChkYjogRHJpenpsZURCKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XG4gIGNvbnN0IHF1ZXJ5UmVzID0gYXdhaXQgZGIuZXhlY3V0ZShzcWxgU0VMRUNUIHRvX3JlZ2NsYXNzKCdwdWJsaWMucGF5bG9hZF9taWdyYXRpb25zJyk7YClcblxuICAvLyBSZXR1cm5zIHRhYmxlIG5hbWUgJ3BheWxvYWRfbWlncmF0aW9ucycgb3IgbnVsbFxuICBjb25zdCBleGlzdHMgPSBxdWVyeVJlcy5yb3dzPy5bMF0/LnRvX3JlZ2NsYXNzID09PSAncGF5bG9hZF9taWdyYXRpb25zJ1xuICByZXR1cm4gZXhpc3RzXG59XG4iXSwibmFtZXMiOlsibWlncmF0aW9uVGFibGVFeGlzdHMiLCJkYiIsInF1ZXJ5UmVzIiwiZXhlY3V0ZSIsInNxbCIsImV4aXN0cyIsInJvd3MiLCJ0b19yZWdjbGFzcyJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiOzs7OytCQUlhQTs7O2VBQUFBOzs7NEJBSk87QUFJYixNQUFNQSx1QkFBdUIsT0FBT0M7SUFDekMsTUFBTUMsV0FBVyxNQUFNRCxHQUFHRSxPQUFPLENBQUNDLElBQUFBLGVBQUcsQ0FBQSxDQUFDLGdEQUFnRCxDQUFDO0lBRXZGLGtEQUFrRDtJQUNsRCxNQUFNQyxTQUFTSCxTQUFTSSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUVDLGdCQUFnQjtJQUNuRCxPQUFPRjtBQUNUIn0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbWlncmF0aW9uVGFibGVFeGlzdHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc3FsIH0gZnJvbSAnZHJpenpsZS1vcm0nXG5cbmltcG9ydCB0eXBlIHsgRHJpenpsZURCIH0gZnJvbSAnLi4vdHlwZXMnXG5cbmV4cG9ydCBjb25zdCBtaWdyYXRpb25UYWJsZUV4aXN0cyA9IGFzeW5jIChkYjogRHJpenpsZURCKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XG4gIGNvbnN0IHF1ZXJ5UmVzID0gYXdhaXQgZGIuZXhlY3V0ZShzcWxgU0VMRUNUIHRvX3JlZ2NsYXNzKCdwdWJsaWMucGF5bG9hZF9taWdyYXRpb25zJyk7YClcblxuICAvLyBSZXR1cm5zIHRhYmxlIG5hbWUgJ3BheWxvYWRfbWlncmF0aW9ucycgb3IgbnVsbFxuICBjb25zdCBleGlzdHMgPSBxdWVyeVJlcy5yb3dzPy5bMF0/LnRvX3JlZ2NsYXNzID09PSAncGF5bG9hZF9taWdyYXRpb25zJ1xuICByZXR1cm4gZXhpc3RzXG59XG4iXSwibmFtZXMiOlsibWlncmF0aW9uVGFibGVFeGlzdHMiLCJkYiIsInF1ZXJ5UmVzIiwiZXhlY3V0ZSIsInNxbCIsImV4aXN0cyIsInJvd3MiLCJ0b19yZWdjbGFzcyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFJYUE7OztlQUFBQTs7OzRCQUpPO0FBSWIsTUFBTUEsdUJBQXVCLE9BQU9DO0lBQ3pDLE1BQU1DLFdBQVcsTUFBTUQsR0FBR0UsT0FBTyxDQUFDQyxJQUFBQSxlQUFHLENBQUEsQ0FBQyxnREFBZ0QsQ0FBQztJQUV2RixrREFBa0Q7SUFDbEQsTUFBTUMsU0FBU0gsU0FBU0ksSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFQyxnQkFBZ0I7SUFDbkQsT0FBT0Y7QUFDVCJ9
@@ -21,4 +21,4 @@ const parseError = (err, msg)=>{
21
21
  return formattedMsg;
22
22
  };
23
23
 
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcGFyc2VFcnJvci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhYmFzZUVycm9yIH0gZnJvbSAncGcnXG5cbi8qKlxuICogRm9ybWF0IGVycm9yIG1lc3NhZ2Ugd2l0aCBoaW50IGlmIGF2YWlsYWJsZVxuICovXG5leHBvcnQgY29uc3QgcGFyc2VFcnJvciA9IChlcnI6IHVua25vd24sIG1zZzogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgbGV0IGZvcm1hdHRlZE1zZyA9IGAke21zZ31gXG4gIGlmIChlcnIgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgIGZvcm1hdHRlZE1zZyArPSBgICR7ZXJyLm1lc3NhZ2V9LmBcbiAgICBpZiAoZXJyIGluc3RhbmNlb2YgRGF0YWJhc2VFcnJvcikge1xuICAgICAgbXNnICs9IGA6ICR7ZXJyLm1lc3NhZ2V9YFxuICAgICAgaWYgKGVyci5oaW50KSBtc2cgKz0gYCAke2Vyci5oaW50fS5gXG4gICAgfVxuICB9XG4gIHJldHVybiBmb3JtYXR0ZWRNc2dcbn1cbiJdLCJuYW1lcyI6WyJwYXJzZUVycm9yIiwiZXJyIiwibXNnIiwiZm9ybWF0dGVkTXNnIiwiRXJyb3IiLCJtZXNzYWdlIiwiRGF0YWJhc2VFcnJvciIsImhpbnQiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiOzs7OytCQUthQTs7O2VBQUFBOzs7b0JBTGlCO0FBS3ZCLE1BQU1BLGFBQWEsQ0FBQ0MsS0FBY0M7SUFDdkMsSUFBSUMsZUFBZSxDQUFDLEVBQUVELElBQUksQ0FBQztJQUMzQixJQUFJRCxlQUFlRyxPQUFPO1FBQ3hCRCxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUVGLElBQUlJLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDbEMsSUFBSUosZUFBZUssaUJBQWEsRUFBRTtZQUNoQ0osT0FBTyxDQUFDLEVBQUUsRUFBRUQsSUFBSUksT0FBTyxDQUFDLENBQUM7WUFDekIsSUFBSUosSUFBSU0sSUFBSSxFQUFFTCxPQUFPLENBQUMsQ0FBQyxFQUFFRCxJQUFJTSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3RDO0lBQ0Y7SUFDQSxPQUFPSjtBQUNUIn0=
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcGFyc2VFcnJvci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhYmFzZUVycm9yIH0gZnJvbSAncGcnXG5cbi8qKlxuICogRm9ybWF0IGVycm9yIG1lc3NhZ2Ugd2l0aCBoaW50IGlmIGF2YWlsYWJsZVxuICovXG5leHBvcnQgY29uc3QgcGFyc2VFcnJvciA9IChlcnI6IHVua25vd24sIG1zZzogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgbGV0IGZvcm1hdHRlZE1zZyA9IGAke21zZ31gXG4gIGlmIChlcnIgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgIGZvcm1hdHRlZE1zZyArPSBgICR7ZXJyLm1lc3NhZ2V9LmBcbiAgICBpZiAoZXJyIGluc3RhbmNlb2YgRGF0YWJhc2VFcnJvcikge1xuICAgICAgbXNnICs9IGA6ICR7ZXJyLm1lc3NhZ2V9YFxuICAgICAgaWYgKGVyci5oaW50KSBtc2cgKz0gYCAke2Vyci5oaW50fS5gXG4gICAgfVxuICB9XG4gIHJldHVybiBmb3JtYXR0ZWRNc2dcbn1cbiJdLCJuYW1lcyI6WyJwYXJzZUVycm9yIiwiZXJyIiwibXNnIiwiZm9ybWF0dGVkTXNnIiwiRXJyb3IiLCJtZXNzYWdlIiwiRGF0YWJhc2VFcnJvciIsImhpbnQiXSwibWFwcGluZ3MiOiI7Ozs7K0JBS2FBOzs7ZUFBQUE7OztvQkFMaUI7QUFLdkIsTUFBTUEsYUFBYSxDQUFDQyxLQUFjQztJQUN2QyxJQUFJQyxlQUFlLENBQUMsRUFBRUQsSUFBSSxDQUFDO0lBQzNCLElBQUlELGVBQWVHLE9BQU87UUFDeEJELGdCQUFnQixDQUFDLENBQUMsRUFBRUYsSUFBSUksT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNsQyxJQUFJSixlQUFlSyxpQkFBYSxFQUFFO1lBQ2hDSixPQUFPLENBQUMsRUFBRSxFQUFFRCxJQUFJSSxPQUFPLENBQUMsQ0FBQztZQUN6QixJQUFJSixJQUFJTSxJQUFJLEVBQUVMLE9BQU8sQ0FBQyxDQUFDLEVBQUVELElBQUlNLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdEM7SUFDRjtJQUNBLE9BQU9KO0FBQ1QifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/db-postgres",
3
- "version": "0.8.0",
3
+ "version": "0.8.2",
4
4
  "description": "The officially supported Postgres database adapter for Payload",
5
5
  "repository": {
6
6
  "type": "git",
@@ -30,7 +30,7 @@
30
30
  "@types/pg": "8.10.2",
31
31
  "@types/to-snake-case": "1.0.0",
32
32
  "@payloadcms/eslint-config": "1.1.1",
33
- "payload": "2.13.0"
33
+ "payload": "2.14.1"
34
34
  },
35
35
  "peerDependencies": {
36
36
  "payload": "^2.0.0"
@@ -1 +0,0 @@
1
- {"version":3,"file":"getTableName.d.ts","sourceRoot":"","sources":["../../src/schema/getTableName.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAKxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE/C,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,8CAA8C;IAC9C,MAAM,EAAE;QACN,MAAM,CAAC,EAAE,gBAAgB,CAAA;QACzB,QAAQ,CAAC,EAAE,gBAAgB,CAAA;QAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAA;IACD,2DAA2D;IAC3D,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,mGAAmG;IACnG,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,oCAAoC;IACpC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,uHAAuH;IACvH,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAA;IAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,kGAAkG;IAClG,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,0IAWtB,IAAI,KAAG,MA4BT,CAAA"}
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "getTableName", {
6
- enumerable: true,
7
- get: function() {
8
- return getTableName;
9
- }
10
- });
11
- const _errors = require("payload/errors");
12
- const _tosnakecase = /*#__PURE__*/ _interop_require_default(require("to-snake-case"));
13
- function _interop_require_default(obj) {
14
- return obj && obj.__esModule ? obj : {
15
- default: obj
16
- };
17
- }
18
- const getTableName = ({ adapter, config: { name, slug }, config, locales = false, parentTableName, prefix = '', relationships = false, target = 'dbName', throwValidationError = false, versions = false })=>{
19
- let result;
20
- let custom = config[target];
21
- if (!custom && target === 'enumName') {
22
- custom = config['dbName'];
23
- }
24
- if (custom) {
25
- result = typeof custom === 'function' ? custom({
26
- tableName: parentTableName
27
- }) : custom;
28
- } else {
29
- result = `${prefix}${(0, _tosnakecase.default)(name ?? slug)}`;
30
- }
31
- if (locales) result = `${result}${adapter.localesSuffix}`;
32
- if (versions) result = `_${result}${adapter.versionsSuffix}`;
33
- if (relationships) result = `${result}${adapter.relationshipsSuffix}`;
34
- if (!throwValidationError) {
35
- return result;
36
- }
37
- if (result.length > 63) {
38
- throw new _errors.APIError(`Exceeded max identifier length for table or enum name of 63 characters. Invalid name: ${result}`);
39
- }
40
- return result;
41
- };
42
-
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvZ2V0VGFibGVOYW1lLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgREJJZGVudGlmaWVyTmFtZSB9IGZyb20gJ3BheWxvYWQvZGF0YWJhc2UnXG5cbmltcG9ydCB7IEFQSUVycm9yIH0gZnJvbSAncGF5bG9hZC9lcnJvcnMnXG5pbXBvcnQgdG9TbmFrZUNhc2UgZnJvbSAndG8tc25ha2UtY2FzZSdcblxuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuLi90eXBlcydcblxudHlwZSBBcmdzID0ge1xuICBhZGFwdGVyOiBQb3N0Z3Jlc0FkYXB0ZXJcbiAgLyoqIFRoZSBjb2xsZWN0aW9uLCBnbG9iYWwgb3IgZmllbGQgY29uZmlnICoqL1xuICBjb25maWc6IHtcbiAgICBkYk5hbWU/OiBEQklkZW50aWZpZXJOYW1lXG4gICAgZW51bU5hbWU/OiBEQklkZW50aWZpZXJOYW1lXG4gICAgbmFtZT86IHN0cmluZ1xuICAgIHNsdWc/OiBzdHJpbmdcbiAgfVxuICAvKiogTG9jYWxpemVkIHRhYmxlcyBuZWVkIHRvIGJlIGdpdmVuIHRoZSBsb2NhbGVzIHN1ZmZpeCAqL1xuICBsb2NhbGVzPzogYm9vbGVhblxuICAvKiogRm9yIG5lc3RlZCB0YWJsZXMgcGFzc2VkIGZvciB0aGUgdXNlciBjdXN0b20gZGJOYW1lIGZ1bmN0aW9ucyB0byBoYW5kbGUgdGhlaXIgb3duIGl0ZXJhdGlvbnMgKi9cbiAgcGFyZW50VGFibGVOYW1lPzogc3RyaW5nXG4gIC8qKiBGb3Igc3ViIHRhYmxlcyAoYXJyYXkgZm9yIGV4YW1wbGUpIHRoaXMgbmVlZHMgdG8gaW5jbHVkZSB0aGUgcGFyZW50VGFibGVOYW1lICovXG4gIHByZWZpeD86IHN0cmluZ1xuICAvKiogQWRkcyB0aGUgcmVsYXRpb25zaGlwcyBzdWZmaXggKi9cbiAgcmVsYXRpb25zaGlwcz86IGJvb2xlYW5cbiAgLyoqIEZvciB0YWJsZXMgYmFzZWQgb24gZmllbGRzIHRoYXQgY291bGQgaGF2ZSBib3RoIGVudW1OYW1lIGFuZCBkYk5hbWUgKGllOiBzZWxlY3Qgd2l0aCBoYXNNYW55KSwgZGVmYXVsdDogJ2RiTmFtZScgKi9cbiAgdGFyZ2V0PzogJ2RiTmFtZScgfCAnZW51bU5hbWUnXG4gIHRocm93VmFsaWRhdGlvbkVycm9yPzogYm9vbGVhblxuICAvKiogQWRkcyB0aGUgdmVyc2lvbnMgc3VmZml4LCBzaG91bGQgb25seSBiZSB1c2VkIG9uIHRoZSBiYXNlIGNvbGxlY3Rpb24gdG8gZHVwbGljYXRlIHN1ZmZpeGluZyAqL1xuICB2ZXJzaW9ucz86IGJvb2xlYW5cbn1cblxuLyoqXG4gKiBVc2VkIHRvIG5hbWUgZGF0YWJhc2UgZW51bXMgYW5kIHRhYmxlc1xuICogUmV0dXJucyB0aGUgdGFibGUgb3IgZW51bSBuYW1lIGZvciBhIGdpdmVuIGVudGl0eVxuICovXG5leHBvcnQgY29uc3QgZ2V0VGFibGVOYW1lID0gKHtcbiAgYWRhcHRlcixcbiAgY29uZmlnOiB7IG5hbWUsIHNsdWcgfSxcbiAgY29uZmlnLFxuICBsb2NhbGVzID0gZmFsc2UsXG4gIHBhcmVudFRhYmxlTmFtZSxcbiAgcHJlZml4ID0gJycsXG4gIHJlbGF0aW9uc2hpcHMgPSBmYWxzZSxcbiAgdGFyZ2V0ID0gJ2RiTmFtZScsXG4gIHRocm93VmFsaWRhdGlvbkVycm9yID0gZmFsc2UsXG4gIHZlcnNpb25zID0gZmFsc2UsXG59OiBBcmdzKTogc3RyaW5nID0+IHtcbiAgbGV0IHJlc3VsdDogc3RyaW5nXG4gIGxldCBjdXN0b20gPSBjb25maWdbdGFyZ2V0XVxuXG4gIGlmICghY3VzdG9tICYmIHRhcmdldCA9PT0gJ2VudW1OYW1lJykge1xuICAgIGN1c3RvbSA9IGNvbmZpZ1snZGJOYW1lJ11cbiAgfVxuXG4gIGlmIChjdXN0b20pIHtcbiAgICByZXN1bHQgPSB0eXBlb2YgY3VzdG9tID09PSAnZnVuY3Rpb24nID8gY3VzdG9tKHsgdGFibGVOYW1lOiBwYXJlbnRUYWJsZU5hbWUgfSkgOiBjdXN0b21cbiAgfSBlbHNlIHtcbiAgICByZXN1bHQgPSBgJHtwcmVmaXh9JHt0b1NuYWtlQ2FzZShuYW1lID8/IHNsdWcpfWBcbiAgfVxuXG4gIGlmIChsb2NhbGVzKSByZXN1bHQgPSBgJHtyZXN1bHR9JHthZGFwdGVyLmxvY2FsZXNTdWZmaXh9YFxuICBpZiAodmVyc2lvbnMpIHJlc3VsdCA9IGBfJHtyZXN1bHR9JHthZGFwdGVyLnZlcnNpb25zU3VmZml4fWBcbiAgaWYgKHJlbGF0aW9uc2hpcHMpIHJlc3VsdCA9IGAke3Jlc3VsdH0ke2FkYXB0ZXIucmVsYXRpb25zaGlwc1N1ZmZpeH1gXG5cbiAgaWYgKCF0aHJvd1ZhbGlkYXRpb25FcnJvcikge1xuICAgIHJldHVybiByZXN1bHRcbiAgfVxuXG4gIGlmIChyZXN1bHQubGVuZ3RoID4gNjMpIHtcbiAgICB0aHJvdyBuZXcgQVBJRXJyb3IoXG4gICAgICBgRXhjZWVkZWQgbWF4IGlkZW50aWZpZXIgbGVuZ3RoIGZvciB0YWJsZSBvciBlbnVtIG5hbWUgb2YgNjMgY2hhcmFjdGVycy4gSW52YWxpZCBuYW1lOiAke3Jlc3VsdH1gLFxuICAgIClcbiAgfVxuICByZXR1cm4gcmVzdWx0XG59XG4iXSwibmFtZXMiOlsiZ2V0VGFibGVOYW1lIiwiYWRhcHRlciIsImNvbmZpZyIsIm5hbWUiLCJzbHVnIiwibG9jYWxlcyIsInBhcmVudFRhYmxlTmFtZSIsInByZWZpeCIsInJlbGF0aW9uc2hpcHMiLCJ0YXJnZXQiLCJ0aHJvd1ZhbGlkYXRpb25FcnJvciIsInZlcnNpb25zIiwicmVzdWx0IiwiY3VzdG9tIiwidGFibGVOYW1lIiwidG9TbmFrZUNhc2UiLCJsb2NhbGVzU3VmZml4IiwidmVyc2lvbnNTdWZmaXgiLCJyZWxhdGlvbnNoaXBzU3VmZml4IiwibGVuZ3RoIiwiQVBJRXJyb3IiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsiLCJtYXBwaW5ncyI6Ijs7OzsrQkFtQ2FBOzs7ZUFBQUE7Ozt3QkFqQ1k7b0VBQ0Q7Ozs7OztBQWdDakIsTUFBTUEsZUFBZSxDQUFDLEVBQzNCQyxPQUFPLEVBQ1BDLFFBQVEsRUFBRUMsSUFBSSxFQUFFQyxJQUFJLEVBQUUsRUFDdEJGLE1BQU0sRUFDTkcsVUFBVSxLQUFLLEVBQ2ZDLGVBQWUsRUFDZkMsU0FBUyxFQUFFLEVBQ1hDLGdCQUFnQixLQUFLLEVBQ3JCQyxTQUFTLFFBQVEsRUFDakJDLHVCQUF1QixLQUFLLEVBQzVCQyxXQUFXLEtBQUssRUFDWDtJQUNMLElBQUlDO0lBQ0osSUFBSUMsU0FBU1gsTUFBTSxDQUFDTyxPQUFPO0lBRTNCLElBQUksQ0FBQ0ksVUFBVUosV0FBVyxZQUFZO1FBQ3BDSSxTQUFTWCxNQUFNLENBQUMsU0FBUztJQUMzQjtJQUVBLElBQUlXLFFBQVE7UUFDVkQsU0FBUyxPQUFPQyxXQUFXLGFBQWFBLE9BQU87WUFBRUMsV0FBV1I7UUFBZ0IsS0FBS087SUFDbkYsT0FBTztRQUNMRCxTQUFTLENBQUMsRUFBRUwsT0FBTyxFQUFFUSxJQUFBQSxvQkFBVyxFQUFDWixRQUFRQyxNQUFNLENBQUM7SUFDbEQ7SUFFQSxJQUFJQyxTQUFTTyxTQUFTLENBQUMsRUFBRUEsT0FBTyxFQUFFWCxRQUFRZSxhQUFhLENBQUMsQ0FBQztJQUN6RCxJQUFJTCxVQUFVQyxTQUFTLENBQUMsQ0FBQyxFQUFFQSxPQUFPLEVBQUVYLFFBQVFnQixjQUFjLENBQUMsQ0FBQztJQUM1RCxJQUFJVCxlQUFlSSxTQUFTLENBQUMsRUFBRUEsT0FBTyxFQUFFWCxRQUFRaUIsbUJBQW1CLENBQUMsQ0FBQztJQUVyRSxJQUFJLENBQUNSLHNCQUFzQjtRQUN6QixPQUFPRTtJQUNUO0lBRUEsSUFBSUEsT0FBT08sTUFBTSxHQUFHLElBQUk7UUFDdEIsTUFBTSxJQUFJQyxnQkFBUSxDQUNoQixDQUFDLHNGQUFzRixFQUFFUixPQUFPLENBQUM7SUFFckc7SUFDQSxPQUFPQTtBQUNUIn0=