@payloadcms/db-postgres 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- {"version":3,"file":"findMany.d.ts","sourceRoot":"","sources":["../../src/find/findMany.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,KAAK,EAAE,KAAK,EAA8B,MAAM,eAAe,CAAA;AAItE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAQ/C,KAAK,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,GAAG;IACzC,OAAO,EAAE,eAAe,CAAA;IACxB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,QAAQ,iHAYlB,IAAI;;;;;;;;;;;EAuKN,CAAA"}
1
+ {"version":3,"file":"findMany.d.ts","sourceRoot":"","sources":["../../src/find/findMany.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,KAAK,EAAE,KAAK,EAA8B,MAAM,eAAe,CAAA;AAItE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAQ/C,KAAK,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,GAAG;IACzC,OAAO,EAAE,eAAe,CAAA;IACxB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,QAAQ,iHAYlB,IAAI;;;;;;;;;;;EA0KN,CAAA"}
@@ -151,7 +151,8 @@ const findMany = async function find({ adapter, fields, limit: limitArg, locale,
151
151
  const countResult = await (0, _chainMethods.chainMethods)({
152
152
  methods: selectCountMethods,
153
153
  query: db.select({
154
- count: (0, _drizzleorm.sql)`count(*)`
154
+ count: (0, _drizzleorm.sql)`count
155
+ (*)`
155
156
  }).from(table).where(where)
156
157
  });
157
158
  totalDocs = Number(countResult[0].count);
@@ -194,4 +195,4 @@ const findMany = async function find({ adapter, fields, limit: limitArg, locale,
194
195
  };
195
196
  };
196
197
 
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maW5kL2ZpbmRNYW55LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmluZEFyZ3MgfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuaW1wb3J0IHR5cGUgeyBGaWVsZCwgUGF5bG9hZFJlcXVlc3QsIFR5cGVXaXRoSUQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBpbkFycmF5LCBzcWwgfSBmcm9tICdkcml6emxlLW9ybSdcblxuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB0eXBlIHsgQ2hhaW5lZE1ldGhvZHMgfSBmcm9tICcuL2NoYWluTWV0aG9kcydcblxuaW1wb3J0IGJ1aWxkUXVlcnkgZnJvbSAnLi4vcXVlcmllcy9idWlsZFF1ZXJ5J1xuaW1wb3J0IHsgdHJhbnNmb3JtIH0gZnJvbSAnLi4vdHJhbnNmb3JtL3JlYWQnXG5pbXBvcnQgeyBidWlsZEZpbmRNYW55QXJncyB9IGZyb20gJy4vYnVpbGRGaW5kTWFueUFyZ3MnXG5pbXBvcnQgeyBjaGFpbk1ldGhvZHMgfSBmcm9tICcuL2NoYWluTWV0aG9kcydcblxudHlwZSBBcmdzID0gT21pdDxGaW5kQXJncywgJ2NvbGxlY3Rpb24nPiAmIHtcbiAgYWRhcHRlcjogUG9zdGdyZXNBZGFwdGVyXG4gIGZpZWxkczogRmllbGRbXVxuICB0YWJsZU5hbWU6IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3QgZmluZE1hbnkgPSBhc3luYyBmdW5jdGlvbiBmaW5kKHtcbiAgYWRhcHRlcixcbiAgZmllbGRzLFxuICBsaW1pdDogbGltaXRBcmcsXG4gIGxvY2FsZSxcbiAgcGFnZSA9IDEsXG4gIHBhZ2luYXRpb24sXG4gIHJlcSA9IHt9IGFzIFBheWxvYWRSZXF1ZXN0LFxuICBza2lwLFxuICBzb3J0LFxuICB0YWJsZU5hbWUsXG4gIHdoZXJlOiB3aGVyZUFyZyxcbn06IEFyZ3MpIHtcbiAgY29uc3QgZGIgPSBhZGFwdGVyLnNlc3Npb25zW3JlcS50cmFuc2FjdGlvbklEXT8uZGIgfHwgYWRhcHRlci5kcml6emxlXG4gIGNvbnN0IHRhYmxlID0gYWRhcHRlci50YWJsZXNbdGFibGVOYW1lXVxuXG4gIGxldCBsaW1pdCA9IGxpbWl0QXJnXG4gIGxldCB0b3RhbERvY3M6IG51bWJlclxuICBsZXQgdG90YWxQYWdlczogbnVtYmVyXG4gIGxldCBoYXNQcmV2UGFnZTogYm9vbGVhblxuICBsZXQgaGFzTmV4dFBhZ2U6IGJvb2xlYW5cbiAgbGV0IHBhZ2luZ0NvdW50ZXI6IG51bWJlclxuICBsZXQgc2VsZWN0RGlzdGluY3RSZXN1bHRcblxuICBjb25zdCB7IGpvaW5BbGlhc2VzLCBqb2lucywgb3JkZXJCeSwgc2VsZWN0RmllbGRzLCB3aGVyZSB9ID0gYXdhaXQgYnVpbGRRdWVyeSh7XG4gICAgYWRhcHRlcixcbiAgICBmaWVsZHMsXG4gICAgbG9jYWxlLFxuICAgIHNvcnQsXG4gICAgdGFibGVOYW1lLFxuICAgIHdoZXJlOiB3aGVyZUFyZyxcbiAgfSlcblxuICBjb25zdCBvcmRlcmVkSURNYXA6IFJlY29yZDxudW1iZXIgfCBzdHJpbmcsIG51bWJlcj4gPSB7fVxuXG4gIGNvbnN0IHNlbGVjdERpc3RpbmN0TWV0aG9kczogQ2hhaW5lZE1ldGhvZHMgPSBbXVxuXG4gIGlmIChvcmRlckJ5Py5vcmRlciAmJiBvcmRlckJ5Py5jb2x1bW4pIHtcbiAgICBzZWxlY3REaXN0aW5jdE1ldGhvZHMucHVzaCh7XG4gICAgICBhcmdzOiBbb3JkZXJCeS5vcmRlcihvcmRlckJ5LmNvbHVtbildLFxuICAgICAgbWV0aG9kOiAnb3JkZXJCeScsXG4gICAgfSlcbiAgfVxuXG4gIGNvbnN0IGZpbmRNYW55QXJncyA9IGJ1aWxkRmluZE1hbnlBcmdzKHtcbiAgICBhZGFwdGVyLFxuICAgIGRlcHRoOiAwLFxuICAgIGZpZWxkcyxcbiAgICB0YWJsZU5hbWUsXG4gIH0pXG5cbiAgLy8gb25seSBmZXRjaCBJRHMgd2hlbiBhIHNvcnQgb3Igd2hlcmUgcXVlcnkgaXMgdXNlZCB0aGF0IG5lZWRzIHRvIGJlIGRvbmUgb24gam9pbiB0YWJsZXMsIG90aGVyd2lzZSB0aGVzZSBjYW4gYmUgZG9uZSBkaXJlY3RseSBvbiB0aGUgdGFibGUgaW4gZmluZE1hbnlcbiAgaWYgKE9iamVjdC5rZXlzKGpvaW5zKS5sZW5ndGggPiAwIHx8IGpvaW5BbGlhc2VzLmxlbmd0aCA+IDApIHtcbiAgICBpZiAod2hlcmUpIHtcbiAgICAgIHNlbGVjdERpc3RpbmN0TWV0aG9kcy5wdXNoKHsgYXJnczogW3doZXJlXSwgbWV0aG9kOiAnd2hlcmUnIH0pXG4gICAgfVxuXG4gICAgam9pbkFsaWFzZXMuZm9yRWFjaCgoeyBjb25kaXRpb24sIHRhYmxlIH0pID0+IHtcbiAgICAgIHNlbGVjdERpc3RpbmN0TWV0aG9kcy5wdXNoKHtcbiAgICAgICAgYXJnczogW3RhYmxlLCBjb25kaXRpb25dLFxuICAgICAgICBtZXRob2Q6ICdsZWZ0Sm9pbicsXG4gICAgICB9KVxuICAgIH0pXG5cbiAgICBPYmplY3QuZW50cmllcyhqb2lucykuZm9yRWFjaCgoW2pvaW5UYWJsZSwgY29uZGl0aW9uXSkgPT4ge1xuICAgICAgaWYgKGpvaW5UYWJsZSkge1xuICAgICAgICBzZWxlY3REaXN0aW5jdE1ldGhvZHMucHVzaCh7XG4gICAgICAgICAgYXJnczogW2FkYXB0ZXIudGFibGVzW2pvaW5UYWJsZV0sIGNvbmRpdGlvbl0sXG4gICAgICAgICAgbWV0aG9kOiAnbGVmdEpvaW4nLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH0pXG5cbiAgICBzZWxlY3REaXN0aW5jdE1ldGhvZHMucHVzaCh7IGFyZ3M6IFtza2lwIHx8IChwYWdlIC0gMSkgKiBsaW1pdF0sIG1ldGhvZDogJ29mZnNldCcgfSlcbiAgICBzZWxlY3REaXN0aW5jdE1ldGhvZHMucHVzaCh7IGFyZ3M6IFtsaW1pdCA9PT0gMCA/IHVuZGVmaW5lZCA6IGxpbWl0XSwgbWV0aG9kOiAnbGltaXQnIH0pXG5cbiAgICBzZWxlY3REaXN0aW5jdFJlc3VsdCA9IGF3YWl0IGNoYWluTWV0aG9kcyh7XG4gICAgICBtZXRob2RzOiBzZWxlY3REaXN0aW5jdE1ldGhvZHMsXG4gICAgICBxdWVyeTogZGIuc2VsZWN0RGlzdGluY3Qoc2VsZWN0RmllbGRzKS5mcm9tKHRhYmxlKSxcbiAgICB9KVxuXG4gICAgaWYgKHNlbGVjdERpc3RpbmN0UmVzdWx0Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZG9jczogW10sXG4gICAgICAgIGhhc05leHRQYWdlOiBmYWxzZSxcbiAgICAgICAgaGFzUHJldlBhZ2U6IGZhbHNlLFxuICAgICAgICBsaW1pdCxcbiAgICAgICAgbmV4dFBhZ2U6IG51bGwsXG4gICAgICAgIHBhZ2U6IDEsXG4gICAgICAgIHBhZ2luZ0NvdW50ZXI6IDAsXG4gICAgICAgIHByZXZQYWdlOiBudWxsLFxuICAgICAgICB0b3RhbERvY3M6IDAsXG4gICAgICAgIHRvdGFsUGFnZXM6IDAsXG4gICAgICB9XG4gICAgfVxuICAgIC8vIHNldCB0aGUgaWQgaW4gYW4gb2JqZWN0IGZvciBzb3J0aW5nIGxhdGVyXG4gICAgc2VsZWN0RGlzdGluY3RSZXN1bHQuZm9yRWFjaCgoeyBpZCB9LCBpKSA9PiB7XG4gICAgICBvcmRlcmVkSURNYXBbaWQgYXMgbnVtYmVyIHwgc3RyaW5nXSA9IGlcbiAgICB9KVxuICAgIGZpbmRNYW55QXJncy53aGVyZSA9IGluQXJyYXkoYWRhcHRlci50YWJsZXNbdGFibGVOYW1lXS5pZCwgT2JqZWN0LmtleXMob3JkZXJlZElETWFwKSlcbiAgfSBlbHNlIHtcbiAgICBmaW5kTWFueUFyZ3MubGltaXQgPSBsaW1pdEFyZyA9PT0gMCA/IHVuZGVmaW5lZCA6IGxpbWl0QXJnXG4gICAgZmluZE1hbnlBcmdzLm9mZnNldCA9IHNraXAgfHwgKHBhZ2UgLSAxKSAqIGxpbWl0QXJnXG4gICAgaWYgKHdoZXJlKSB7XG4gICAgICBmaW5kTWFueUFyZ3Mud2hlcmUgPSB3aGVyZVxuICAgIH1cbiAgICBmaW5kTWFueUFyZ3Mub3JkZXJCeSA9IG9yZGVyQnkub3JkZXIob3JkZXJCeS5jb2x1bW4pXG4gIH1cblxuICBjb25zdCBmaW5kUHJvbWlzZSA9IGRiLnF1ZXJ5W3RhYmxlTmFtZV0uZmluZE1hbnkoZmluZE1hbnlBcmdzKVxuXG4gIGlmIChwYWdpbmF0aW9uICE9PSBmYWxzZSB8fCBzZWxlY3REaXN0aW5jdFJlc3VsdD8ubGVuZ3RoID4gbGltaXQpIHtcbiAgICBjb25zdCBzZWxlY3RDb3VudE1ldGhvZHM6IENoYWluZWRNZXRob2RzID0gW11cblxuICAgIGpvaW5BbGlhc2VzLmZvckVhY2goKHsgY29uZGl0aW9uLCB0YWJsZSB9KSA9PiB7XG4gICAgICBzZWxlY3RDb3VudE1ldGhvZHMucHVzaCh7XG4gICAgICAgIGFyZ3M6IFt0YWJsZSwgY29uZGl0aW9uXSxcbiAgICAgICAgbWV0aG9kOiAnbGVmdEpvaW4nLFxuICAgICAgfSlcbiAgICB9KVxuXG4gICAgT2JqZWN0LmVudHJpZXMoam9pbnMpLmZvckVhY2goKFtqb2luVGFibGUsIGNvbmRpdGlvbl0pID0+IHtcbiAgICAgIGlmIChqb2luVGFibGUpIHtcbiAgICAgICAgc2VsZWN0Q291bnRNZXRob2RzLnB1c2goe1xuICAgICAgICAgIGFyZ3M6IFthZGFwdGVyLnRhYmxlc1tqb2luVGFibGVdLCBjb25kaXRpb25dLFxuICAgICAgICAgIG1ldGhvZDogJ2xlZnRKb2luJyxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgY29uc3QgY291bnRSZXN1bHQgPSBhd2FpdCBjaGFpbk1ldGhvZHMoe1xuICAgICAgbWV0aG9kczogc2VsZWN0Q291bnRNZXRob2RzLFxuICAgICAgcXVlcnk6IGRiXG4gICAgICAgIC5zZWxlY3QoeyBjb3VudDogc3FsPG51bWJlcj5gY291bnQoKilgIH0pXG4gICAgICAgIC5mcm9tKHRhYmxlKVxuICAgICAgICAud2hlcmUod2hlcmUpLFxuICAgIH0pXG4gICAgdG90YWxEb2NzID0gTnVtYmVyKGNvdW50UmVzdWx0WzBdLmNvdW50KVxuICAgIHRvdGFsUGFnZXMgPSB0eXBlb2YgbGltaXQgPT09ICdudW1iZXInID8gTWF0aC5jZWlsKHRvdGFsRG9jcyAvIGxpbWl0KSA6IDFcbiAgICBoYXNQcmV2UGFnZSA9IHBhZ2UgPiAxXG4gICAgaGFzTmV4dFBhZ2UgPSB0b3RhbFBhZ2VzID4gcGFnZVxuICAgIHBhZ2luZ0NvdW50ZXIgPSAocGFnZSAtIDEpICogbGltaXQgKyAxXG4gIH1cblxuICBjb25zdCByYXdEb2NzID0gYXdhaXQgZmluZFByb21pc2VcbiAgLy8gc29ydCByYXdEb2NzIGZyb20gc2VsZWN0UXVlcnlcbiAgaWYgKE9iamVjdC5rZXlzKG9yZGVyZWRJRE1hcCkubGVuZ3RoID4gMCkge1xuICAgIHJhd0RvY3Muc29ydCgoYSwgYikgPT4gb3JkZXJlZElETWFwW2EuaWRdIC0gb3JkZXJlZElETWFwW2IuaWRdKVxuICB9XG5cbiAgaWYgKHBhZ2luYXRpb24gPT09IGZhbHNlKSB7XG4gICAgdG90YWxEb2NzID0gcmF3RG9jcy5sZW5ndGhcbiAgICBsaW1pdCA9IHRvdGFsRG9jc1xuICAgIHRvdGFsUGFnZXMgPSAxXG4gICAgcGFnaW5nQ291bnRlciA9IDFcbiAgICBoYXNQcmV2UGFnZSA9IGZhbHNlXG4gICAgaGFzTmV4dFBhZ2UgPSBmYWxzZVxuICB9XG5cbiAgY29uc3QgZG9jcyA9IHJhd0RvY3MubWFwKChkYXRhOiBUeXBlV2l0aElEKSA9PiB7XG4gICAgcmV0dXJuIHRyYW5zZm9ybSh7XG4gICAgICBjb25maWc6IGFkYXB0ZXIucGF5bG9hZC5jb25maWcsXG4gICAgICBkYXRhLFxuICAgICAgZmllbGRzLFxuICAgIH0pXG4gIH0pXG5cbiAgcmV0dXJuIHtcbiAgICBkb2NzLFxuICAgIGhhc05leHRQYWdlLFxuICAgIGhhc1ByZXZQYWdlLFxuICAgIGxpbWl0LFxuICAgIG5leHRQYWdlOiBoYXNOZXh0UGFnZSA/IHBhZ2UgKyAxIDogbnVsbCxcbiAgICBwYWdlLFxuICAgIHBhZ2luZ0NvdW50ZXIsXG4gICAgcHJldlBhZ2U6IGhhc1ByZXZQYWdlID8gcGFnZSAtIDEgOiBudWxsLFxuICAgIHRvdGFsRG9jcyxcbiAgICB0b3RhbFBhZ2VzLFxuICB9XG59XG4iXSwibmFtZXMiOlsiZmluZE1hbnkiLCJmaW5kIiwiYWRhcHRlciIsImZpZWxkcyIsImxpbWl0IiwibGltaXRBcmciLCJsb2NhbGUiLCJwYWdlIiwicGFnaW5hdGlvbiIsInJlcSIsInNraXAiLCJzb3J0IiwidGFibGVOYW1lIiwid2hlcmUiLCJ3aGVyZUFyZyIsImRiIiwic2Vzc2lvbnMiLCJ0cmFuc2FjdGlvbklEIiwiZHJpenpsZSIsInRhYmxlIiwidGFibGVzIiwidG90YWxEb2NzIiwidG90YWxQYWdlcyIsImhhc1ByZXZQYWdlIiwiaGFzTmV4dFBhZ2UiLCJwYWdpbmdDb3VudGVyIiwic2VsZWN0RGlzdGluY3RSZXN1bHQiLCJqb2luQWxpYXNlcyIsImpvaW5zIiwib3JkZXJCeSIsInNlbGVjdEZpZWxkcyIsImJ1aWxkUXVlcnkiLCJvcmRlcmVkSURNYXAiLCJzZWxlY3REaXN0aW5jdE1ldGhvZHMiLCJvcmRlciIsImNvbHVtbiIsInB1c2giLCJhcmdzIiwibWV0aG9kIiwiZmluZE1hbnlBcmdzIiwiYnVpbGRGaW5kTWFueUFyZ3MiLCJkZXB0aCIsIk9iamVjdCIsImtleXMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiY29uZGl0aW9uIiwiZW50cmllcyIsImpvaW5UYWJsZSIsInVuZGVmaW5lZCIsImNoYWluTWV0aG9kcyIsIm1ldGhvZHMiLCJxdWVyeSIsInNlbGVjdERpc3RpbmN0IiwiZnJvbSIsImRvY3MiLCJuZXh0UGFnZSIsInByZXZQYWdlIiwiaWQiLCJpIiwiaW5BcnJheSIsIm9mZnNldCIsImZpbmRQcm9taXNlIiwic2VsZWN0Q291bnRNZXRob2RzIiwiY291bnRSZXN1bHQiLCJzZWxlY3QiLCJjb3VudCIsInNxbCIsIk51bWJlciIsIk1hdGgiLCJjZWlsIiwicmF3RG9jcyIsImEiLCJiIiwibWFwIiwiZGF0YSIsInRy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
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maW5kL2ZpbmRNYW55LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmluZEFyZ3MgfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuaW1wb3J0IHR5cGUgeyBGaWVsZCwgUGF5bG9hZFJlcXVlc3QsIFR5cGVXaXRoSUQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBpbkFycmF5LCBzcWwgfSBmcm9tICdkcml6emxlLW9ybSdcblxuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB0eXBlIHsgQ2hhaW5lZE1ldGhvZHMgfSBmcm9tICcuL2NoYWluTWV0aG9kcydcblxuaW1wb3J0IGJ1aWxkUXVlcnkgZnJvbSAnLi4vcXVlcmllcy9idWlsZFF1ZXJ5J1xuaW1wb3J0IHsgdHJhbnNmb3JtIH0gZnJvbSAnLi4vdHJhbnNmb3JtL3JlYWQnXG5pbXBvcnQgeyBidWlsZEZpbmRNYW55QXJncyB9IGZyb20gJy4vYnVpbGRGaW5kTWFueUFyZ3MnXG5pbXBvcnQgeyBjaGFpbk1ldGhvZHMgfSBmcm9tICcuL2NoYWluTWV0aG9kcydcblxudHlwZSBBcmdzID0gT21pdDxGaW5kQXJncywgJ2NvbGxlY3Rpb24nPiAmIHtcbiAgYWRhcHRlcjogUG9zdGdyZXNBZGFwdGVyXG4gIGZpZWxkczogRmllbGRbXVxuICB0YWJsZU5hbWU6IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3QgZmluZE1hbnkgPSBhc3luYyBmdW5jdGlvbiBmaW5kKHtcbiAgYWRhcHRlcixcbiAgZmllbGRzLFxuICBsaW1pdDogbGltaXRBcmcsXG4gIGxvY2FsZSxcbiAgcGFnZSA9IDEsXG4gIHBhZ2luYXRpb24sXG4gIHJlcSA9IHt9IGFzIFBheWxvYWRSZXF1ZXN0LFxuICBza2lwLFxuICBzb3J0LFxuICB0YWJsZU5hbWUsXG4gIHdoZXJlOiB3aGVyZUFyZyxcbn06IEFyZ3MpIHtcbiAgY29uc3QgZGIgPSBhZGFwdGVyLnNlc3Npb25zW3JlcS50cmFuc2FjdGlvbklEXT8uZGIgfHwgYWRhcHRlci5kcml6emxlXG4gIGNvbnN0IHRhYmxlID0gYWRhcHRlci50YWJsZXNbdGFibGVOYW1lXVxuXG4gIGxldCBsaW1pdCA9IGxpbWl0QXJnXG4gIGxldCB0b3RhbERvY3M6IG51bWJlclxuICBsZXQgdG90YWxQYWdlczogbnVtYmVyXG4gIGxldCBoYXNQcmV2UGFnZTogYm9vbGVhblxuICBsZXQgaGFzTmV4dFBhZ2U6IGJvb2xlYW5cbiAgbGV0IHBhZ2luZ0NvdW50ZXI6IG51bWJlclxuICBsZXQgc2VsZWN0RGlzdGluY3RSZXN1bHRcblxuICBjb25zdCB7IGpvaW5BbGlhc2VzLCBqb2lucywgb3JkZXJCeSwgc2VsZWN0RmllbGRzLCB3aGVyZSB9ID0gYXdhaXQgYnVpbGRRdWVyeSh7XG4gICAgYWRhcHRlcixcbiAgICBmaWVsZHMsXG4gICAgbG9jYWxlLFxuICAgIHNvcnQsXG4gICAgdGFibGVOYW1lLFxuICAgIHdoZXJlOiB3aGVyZUFyZyxcbiAgfSlcblxuICBjb25zdCBvcmRlcmVkSURNYXA6IFJlY29yZDxudW1iZXIgfCBzdHJpbmcsIG51bWJlcj4gPSB7fVxuXG4gIGNvbnN0IHNlbGVjdERpc3RpbmN0TWV0aG9kczogQ2hhaW5lZE1ldGhvZHMgPSBbXVxuXG4gIGlmIChvcmRlckJ5Py5vcmRlciAmJiBvcmRlckJ5Py5jb2x1bW4pIHtcbiAgICBzZWxlY3REaXN0aW5jdE1ldGhvZHMucHVzaCh7XG4gICAgICBhcmdzOiBbb3JkZXJCeS5vcmRlcihvcmRlckJ5LmNvbHVtbildLFxuICAgICAgbWV0aG9kOiAnb3JkZXJCeScsXG4gICAgfSlcbiAgfVxuXG4gIGNvbnN0IGZpbmRNYW55QXJncyA9IGJ1aWxkRmluZE1hbnlBcmdzKHtcbiAgICBhZGFwdGVyLFxuICAgIGRlcHRoOiAwLFxuICAgIGZpZWxkcyxcbiAgICB0YWJsZU5hbWUsXG4gIH0pXG5cbiAgLy8gb25seSBmZXRjaCBJRHMgd2hlbiBhIHNvcnQgb3Igd2hlcmUgcXVlcnkgaXMgdXNlZCB0aGF0IG5lZWRzIHRvIGJlIGRvbmUgb24gam9pbiB0YWJsZXMsIG90aGVyd2lzZSB0aGVzZSBjYW4gYmUgZG9uZSBkaXJlY3RseSBvbiB0aGUgdGFibGUgaW4gZmluZE1hbnlcbiAgaWYgKE9iamVjdC5rZXlzKGpvaW5zKS5sZW5ndGggPiAwIHx8IGpvaW5BbGlhc2VzLmxlbmd0aCA+IDApIHtcbiAgICBpZiAod2hlcmUpIHtcbiAgICAgIHNlbGVjdERpc3RpbmN0TWV0aG9kcy5wdXNoKHsgYXJnczogW3doZXJlXSwgbWV0aG9kOiAnd2hlcmUnIH0pXG4gICAgfVxuXG4gICAgam9pbkFsaWFzZXMuZm9yRWFjaCgoeyBjb25kaXRpb24sIHRhYmxlIH0pID0+IHtcbiAgICAgIHNlbGVjdERpc3RpbmN0TWV0aG9kcy5wdXNoKHtcbiAgICAgICAgYXJnczogW3RhYmxlLCBjb25kaXRpb25dLFxuICAgICAgICBtZXRob2Q6ICdsZWZ0Sm9pbicsXG4gICAgICB9KVxuICAgIH0pXG5cbiAgICBPYmplY3QuZW50cmllcyhqb2lucykuZm9yRWFjaCgoW2pvaW5UYWJsZSwgY29uZGl0aW9uXSkgPT4ge1xuICAgICAgaWYgKGpvaW5UYWJsZSkge1xuICAgICAgICBzZWxlY3REaXN0aW5jdE1ldGhvZHMucHVzaCh7XG4gICAgICAgICAgYXJnczogW2FkYXB0ZXIudGFibGVzW2pvaW5UYWJsZV0sIGNvbmRpdGlvbl0sXG4gICAgICAgICAgbWV0aG9kOiAnbGVmdEpvaW4nLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH0pXG5cbiAgICBzZWxlY3REaXN0aW5jdE1ldGhvZHMucHVzaCh7IGFyZ3M6IFtza2lwIHx8IChwYWdlIC0gMSkgKiBsaW1pdF0sIG1ldGhvZDogJ29mZnNldCcgfSlcbiAgICBzZWxlY3REaXN0aW5jdE1ldGhvZHMucHVzaCh7IGFyZ3M6IFtsaW1pdCA9PT0gMCA/IHVuZGVmaW5lZCA6IGxpbWl0XSwgbWV0aG9kOiAnbGltaXQnIH0pXG5cbiAgICBzZWxlY3REaXN0aW5jdFJlc3VsdCA9IGF3YWl0IGNoYWluTWV0aG9kcyh7XG4gICAgICBtZXRob2RzOiBzZWxlY3REaXN0aW5jdE1ldGhvZHMsXG4gICAgICBxdWVyeTogZGIuc2VsZWN0RGlzdGluY3Qoc2VsZWN0RmllbGRzKS5mcm9tKHRhYmxlKSxcbiAgICB9KVxuXG4gICAgaWYgKHNlbGVjdERpc3RpbmN0UmVzdWx0Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZG9jczogW10sXG4gICAgICAgIGhhc05leHRQYWdlOiBmYWxzZSxcbiAgICAgICAgaGFzUHJldlBhZ2U6IGZhbHNlLFxuICAgICAgICBsaW1pdCxcbiAgICAgICAgbmV4dFBhZ2U6IG51bGwsXG4gICAgICAgIHBhZ2U6IDEsXG4gICAgICAgIHBhZ2luZ0NvdW50ZXI6IDAsXG4gICAgICAgIHByZXZQYWdlOiBudWxsLFxuICAgICAgICB0b3RhbERvY3M6IDAsXG4gICAgICAgIHRvdGFsUGFnZXM6IDAsXG4gICAgICB9XG4gICAgfVxuICAgIC8vIHNldCB0aGUgaWQgaW4gYW4gb2JqZWN0IGZvciBzb3J0aW5nIGxhdGVyXG4gICAgc2VsZWN0RGlzdGluY3RSZXN1bHQuZm9yRWFjaCgoeyBpZCB9LCBpKSA9PiB7XG4gICAgICBvcmRlcmVkSURNYXBbaWQgYXMgbnVtYmVyIHwgc3RyaW5nXSA9IGlcbiAgICB9KVxuICAgIGZpbmRNYW55QXJncy53aGVyZSA9IGluQXJyYXkoYWRhcHRlci50YWJsZXNbdGFibGVOYW1lXS5pZCwgT2JqZWN0LmtleXMob3JkZXJlZElETWFwKSlcbiAgfSBlbHNlIHtcbiAgICBmaW5kTWFueUFyZ3MubGltaXQgPSBsaW1pdEFyZyA9PT0gMCA/IHVuZGVmaW5lZCA6IGxpbWl0QXJnXG4gICAgZmluZE1hbnlBcmdzLm9mZnNldCA9IHNraXAgfHwgKHBhZ2UgLSAxKSAqIGxpbWl0QXJnXG4gICAgaWYgKHdoZXJlKSB7XG4gICAgICBmaW5kTWFueUFyZ3Mud2hlcmUgPSB3aGVyZVxuICAgIH1cbiAgICBmaW5kTWFueUFyZ3Mub3JkZXJCeSA9IG9yZGVyQnkub3JkZXIob3JkZXJCeS5jb2x1bW4pXG4gIH1cblxuICBjb25zdCBmaW5kUHJvbWlzZSA9IGRiLnF1ZXJ5W3RhYmxlTmFtZV0uZmluZE1hbnkoZmluZE1hbnlBcmdzKVxuXG4gIGlmIChwYWdpbmF0aW9uICE9PSBmYWxzZSB8fCBzZWxlY3REaXN0aW5jdFJlc3VsdD8ubGVuZ3RoID4gbGltaXQpIHtcbiAgICBjb25zdCBzZWxlY3RDb3VudE1ldGhvZHM6IENoYWluZWRNZXRob2RzID0gW11cblxuICAgIGpvaW5BbGlhc2VzLmZvckVhY2goKHsgY29uZGl0aW9uLCB0YWJsZSB9KSA9PiB7XG4gICAgICBzZWxlY3RDb3VudE1ldGhvZHMucHVzaCh7XG4gICAgICAgIGFyZ3M6IFt0YWJsZSwgY29uZGl0aW9uXSxcbiAgICAgICAgbWV0aG9kOiAnbGVmdEpvaW4nLFxuICAgICAgfSlcbiAgICB9KVxuXG4gICAgT2JqZWN0LmVudHJpZXMoam9pbnMpLmZvckVhY2goKFtqb2luVGFibGUsIGNvbmRpdGlvbl0pID0+IHtcbiAgICAgIGlmIChqb2luVGFibGUpIHtcbiAgICAgICAgc2VsZWN0Q291bnRNZXRob2RzLnB1c2goe1xuICAgICAgICAgIGFyZ3M6IFthZGFwdGVyLnRhYmxlc1tqb2luVGFibGVdLCBjb25kaXRpb25dLFxuICAgICAgICAgIG1ldGhvZDogJ2xlZnRKb2luJyxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgY29uc3QgY291bnRSZXN1bHQgPSBhd2FpdCBjaGFpbk1ldGhvZHMoe1xuICAgICAgbWV0aG9kczogc2VsZWN0Q291bnRNZXRob2RzLFxuICAgICAgcXVlcnk6IGRiXG4gICAgICAgIC5zZWxlY3Qoe1xuICAgICAgICAgIGNvdW50OiBzcWw8bnVtYmVyPmBjb3VudFxuICAgICAgICAgICAgICAoKilgLFxuICAgICAgICB9KVxuICAgICAgICAuZnJvbSh0YWJsZSlcbiAgICAgICAgLndoZXJlKHdoZXJlKSxcbiAgICB9KVxuICAgIHRvdGFsRG9jcyA9IE51bWJlcihjb3VudFJlc3VsdFswXS5jb3VudClcbiAgICB0b3RhbFBhZ2VzID0gdHlwZW9mIGxpbWl0ID09PSAnbnVtYmVyJyA/IE1hdGguY2VpbCh0b3RhbERvY3MgLyBsaW1pdCkgOiAxXG4gICAgaGFzUHJldlBhZ2UgPSBwYWdlID4gMVxuICAgIGhhc05leHRQYWdlID0gdG90YWxQYWdlcyA+IHBhZ2VcbiAgICBwYWdpbmdDb3VudGVyID0gKHBhZ2UgLSAxKSAqIGxpbWl0ICsgMVxuICB9XG5cbiAgY29uc3QgcmF3RG9jcyA9IGF3YWl0IGZpbmRQcm9taXNlXG4gIC8vIHNvcnQgcmF3RG9jcyBmcm9tIHNlbGVjdFF1ZXJ5XG4gIGlmIChPYmplY3Qua2V5cyhvcmRlcmVkSURNYXApLmxlbmd0aCA+IDApIHtcbiAgICByYXdEb2NzLnNvcnQoKGEsIGIpID0+IG9yZGVyZWRJRE1hcFthLmlkXSAtIG9yZGVyZWRJRE1hcFtiLmlkXSlcbiAgfVxuXG4gIGlmIChwYWdpbmF0aW9uID09PSBmYWxzZSkge1xuICAgIHRvdGFsRG9jcyA9IHJhd0RvY3MubGVuZ3RoXG4gICAgbGltaXQgPSB0b3RhbERvY3NcbiAgICB0b3RhbFBhZ2VzID0gMVxuICAgIHBhZ2luZ0NvdW50ZXIgPSAxXG4gICAgaGFzUHJldlBhZ2UgPSBmYWxzZVxuICAgIGhhc05leHRQYWdlID0gZmFsc2VcbiAgfVxuXG4gIGNvbnN0IGRvY3MgPSByYXdEb2NzLm1hcCgoZGF0YTogVHlwZVdpdGhJRCkgPT4ge1xuICAgIHJldHVybiB0cmFuc2Zvcm0oe1xuICAgICAgY29uZmlnOiBhZGFwdGVyLnBheWxvYWQuY29uZmlnLFxuICAgICAgZGF0YSxcbiAgICAgIGZpZWxkcyxcbiAgICB9KVxuICB9KVxuXG4gIHJldHVybiB7XG4gICAgZG9jcyxcbiAgICBoYXNOZXh0UGFnZSxcbiAgICBoYXNQcmV2UGFnZSxcbiAgICBsaW1pdCxcbiAgICBuZXh0UGFnZTogaGFzTmV4dFBhZ2UgPyBwYWdlICsgMSA6IG51bGwsXG4gICAgcGFnZSxcbiAgICBwYWdpbmdDb3VudGVyLFxuICAgIHByZXZQYWdlOiBoYXNQcmV2UGFnZSA/IHBhZ2UgLSAxIDogbnVsbCxcbiAgICB0b3RhbERvY3MsXG4gICAgdG90YWxQYWdlcyxcbiAgfVxufVxuIl0sIm5hbWVzIjpbImZpbmRNYW55IiwiZmluZCIsImFkYXB0ZXIiLCJmaWVsZHMiLCJsaW1pdCIsImxpbWl0QXJnIiwibG9jYWxlIiwicGFnZSIsInBhZ2luYXRpb24iLCJyZXEiLCJza2lwIiwic29ydCIsInRhYmxlTmFtZSIsIndoZXJlIiwid2hlcmVBcmciLCJkYiIsInNlc3Npb25zIiwidHJhbnNhY3Rpb25JRCIsImRyaXp6bGUiLCJ0YWJsZSIsInRhYmxlcyIsInRvdGFsRG9jcyIsInRvdGFsUGFnZXMiLCJoYXNQcmV2UGFnZSIsImhhc05leHRQYWdlIiwicGFnaW5nQ291bnRlciIsInNlbGVjdERpc3RpbmN0UmVzdWx0Iiwiam9pbkFsaWFzZXMiLCJqb2lucyIsIm9yZGVyQnkiLCJzZWxlY3RGaWVsZHMiLCJidWlsZFF1ZXJ5Iiwib3JkZXJlZElETWFwIiwic2VsZWN0RGlzdGluY3RNZXRob2RzIiwib3JkZXIiLCJjb2x1bW4iLCJwdXNoIiwiYXJncyIsIm1ldGhvZCIsImZpbmRNYW55QXJncyIsImJ1aWxkRmluZE1hbnlBcmdzIiwiZGVwdGgiLCJPYmplY3QiLCJrZXlzIiwibGVuZ3RoIiwiZm9yRWFjaCIsImNvbmRpdGlvbiIsImVudHJpZXMiLCJqb2luVGFibGUiLCJ1bmRlZmluZWQiLCJjaGFpbk1ldGhvZHMiLCJtZXRob2RzIiwicXVlcnkiLCJzZWxlY3REaXN0aW5jdCIsImZyb20iLCJkb2NzIiwibmV4dFBhZ2UiLCJwcmV2UGFnZSIsImlkIiwiaSIsImluQXJyYXkiLCJvZmZzZXQiLCJmaW5kUHJvbWlzZSIsInNlbGVjdENvdW50TWV0aG9kcyIsImNvdW50UmVzdWx0Iiwic2VsZWN0IiwiY291bnQiLCJzcWwiLCJOdW1iZXIiLCJNYXRoIiwiY2VpbCIsInJhd0RvY3MiLCJhIiwiYiIsIm1hcCIsImRhdGEiLCJ0cmFuc2Zvcm0iLCJjb25maWciLCJwYXlsb2FkIl0sIm1hcHBpbmdzIjoiOzs7OytCQW1CYUE7OztlQUFBQTs7OzRCQWhCZ0I7bUVBS047c0JBQ0c7bUNBQ1E7OEJBQ0w7Ozs7OztBQVF0QixNQUFNQSxXQUFXLGVBQWVDLEtBQUssRUFDMUNDLE9BQU8sRUFDUEMsTUFBTSxFQUNOQyxPQUFPQyxRQUFRLEVBQ2ZDLE1BQU0sRUFDTkMsT0FBTyxDQUFDLEVBQ1JDLFVBQVUsRUFDVkMsTUFBTSxDQUFDLENBQW1CLEVBQzFCQyxJQUFJLEVBQ0pDLElBQUksRUFDSkMsU0FBUyxFQUNUQyxPQUFPQyxRQUFRLEVBQ1Y7SUFDTCxNQUFNQyxLQUFLYixRQUFRYyxRQUFRLENBQUNQLElBQUlRLGFBQWEsQ0FBQyxFQUFFRixNQUFNYixRQUFRZ0IsT0FBTztJQUNyRSxNQUFNQyxRQUFRakIsUUFBUWtCLE1BQU0sQ0FBQ1IsVUFBVTtJQUV2QyxJQUFJUixRQUFRQztJQUNaLElBQUlnQjtJQUNKLElBQUlDO0lBQ0osSUFBSUM7SUFDSixJQUFJQztJQUNKLElBQUlDO0lBQ0osSUFBSUM7SUFFSixNQUFNLEVBQUVDLFdBQVcsRUFBRUMsS0FBSyxFQUFFQyxPQUFPLEVBQUVDLFlBQVksRUFBRWpCLEtBQUssRUFBRSxHQUFHLE1BQU1rQixJQUFBQSxtQkFBVSxFQUFDO1FBQzVFN0I7UUFDQUM7UUFDQUc7UUFDQUs7UUFDQUM7UUFDQUMsT0FBT0M7SUFDVDtJQUVBLE1BQU1rQixlQUFnRCxDQUFDO0lBRXZELE1BQU1DLHdCQUF3QyxFQUFFO0lBRWhELElBQUlKLFNBQVNLLFNBQVNMLFNBQVNNLFFBQVE7UUFDckNGLHNCQUFzQkcsSUFBSSxDQUFDO1lBQ3pCQyxNQUFNO2dCQUFDUixRQUFRSyxLQUFLLENBQUNMLFFBQVFNLE1BQU07YUFBRTtZQUNyQ0csUUFBUTtRQUNWO0lBQ0Y7SUFFQSxNQUFNQyxlQUFlQyxJQUFBQSxvQ0FBaUIsRUFBQztRQUNyQ3RDO1FBQ0F1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
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAW5C,eAAO,MAAM,IAAI,EAAE,IA6DlB,CAAA"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAW5C,eAAO,MAAM,IAAI,EAAE,IAiElB,CAAA"}
package/dist/init.js CHANGED
@@ -26,6 +26,7 @@ const init = async function init() {
26
26
  (0, _build.buildTable)({
27
27
  adapter: this,
28
28
  buildRelationships: true,
29
+ disableNotNull: !!collection?.versions?.drafts,
29
30
  disableUnique: false,
30
31
  fields: collection.fields,
31
32
  tableName,
@@ -37,6 +38,7 @@ const init = async function init() {
37
38
  (0, _build.buildTable)({
38
39
  adapter: this,
39
40
  buildRelationships: true,
41
+ disableNotNull: !!collection.versions?.drafts,
40
42
  disableUnique: true,
41
43
  fields: versionFields,
42
44
  tableName: versionsTableName,
@@ -49,6 +51,7 @@ const init = async function init() {
49
51
  (0, _build.buildTable)({
50
52
  adapter: this,
51
53
  buildRelationships: true,
54
+ disableNotNull: !!global?.versions?.drafts,
52
55
  disableUnique: false,
53
56
  fields: global.fields,
54
57
  tableName,
@@ -60,6 +63,7 @@ const init = async function init() {
60
63
  (0, _build.buildTable)({
61
64
  adapter: this,
62
65
  buildRelationships: true,
66
+ disableNotNull: !!global.versions?.drafts,
63
67
  disableUnique: true,
64
68
  fields: versionFields,
65
69
  tableName: versionsTableName,
@@ -69,4 +73,4 @@ const init = async function init() {
69
73
  });
70
74
  };
71
75
 
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbml0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXBhcmFtLXJlYXNzaWduICovXG5pbXBvcnQgdHlwZSB7IEluaXQgfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgcGdFbnVtIH0gZnJvbSAnZHJpenpsZS1vcm0vcGctY29yZSdcbmltcG9ydCB7IGJ1aWxkVmVyc2lvbkNvbGxlY3Rpb25GaWVsZHMsIGJ1aWxkVmVyc2lvbkdsb2JhbEZpZWxkcyB9IGZyb20gJ3BheWxvYWQvdmVyc2lvbnMnXG5pbXBvcnQgdG9TbmFrZUNhc2UgZnJvbSAndG8tc25ha2UtY2FzZSdcblxuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyBidWlsZFRhYmxlIH0gZnJvbSAnLi9zY2hlbWEvYnVpbGQnXG5cbmV4cG9ydCBjb25zdCBpbml0OiBJbml0ID0gYXN5bmMgZnVuY3Rpb24gaW5pdCh0aGlzOiBQb3N0Z3Jlc0FkYXB0ZXIpIHtcbiAgaWYgKHRoaXMucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uKSB7XG4gICAgdGhpcy5lbnVtcy5lbnVtX19sb2NhbGVzID0gcGdFbnVtKFxuICAgICAgJ19sb2NhbGVzJyxcbiAgICAgIHRoaXMucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uLmxvY2FsZXMubWFwKCh7IGNvZGUgfSkgPT4gY29kZSkgYXMgW3N0cmluZywgLi4uc3RyaW5nW11dLFxuICAgIClcbiAgfVxuXG4gIHRoaXMucGF5bG9hZC5jb25maWcuY29sbGVjdGlvbnMuZm9yRWFjaCgoY29sbGVjdGlvbjogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZykgPT4ge1xuICAgIGNvbnN0IHRhYmxlTmFtZSA9IHRvU25ha2VDYXNlKGNvbGxlY3Rpb24uc2x1ZylcblxuICAgIGJ1aWxkVGFibGUoe1xuICAgICAgYWRhcHRlcjogdGhpcyxcbiAgICAgIGJ1aWxkUmVsYXRpb25zaGlwczogdHJ1ZSxcbiAgICAgIGRpc2FibGVVbmlxdWU6IGZhbHNlLFxuICAgICAgZmllbGRzOiBjb2xsZWN0aW9uLmZpZWxkcyxcbiAgICAgIHRhYmxlTmFtZSxcbiAgICAgIHRpbWVzdGFtcHM6IGNvbGxlY3Rpb24udGltZXN0YW1wcyxcbiAgICB9KVxuXG4gICAgaWYgKGNvbGxlY3Rpb24udmVyc2lvbnMpIHtcbiAgICAgIGNvbnN0IHZlcnNpb25zVGFibGVOYW1lID0gYF8ke3RhYmxlTmFtZX1fdmBcbiAgICAgIGNvbnN0IHZlcnNpb25GaWVsZHMgPSBidWlsZFZlcnNpb25Db2xsZWN0aW9uRmllbGRzKGNvbGxlY3Rpb24pXG5cbiAgICAgIGJ1aWxkVGFibGUoe1xuICAgICAgICBhZGFwdGVyOiB0aGlzLFxuICAgICAgICBidWlsZFJlbGF0aW9uc2hpcHM6IHRydWUsXG4gICAgICAgIGRpc2FibGVVbmlxdWU6IHRydWUsXG4gICAgICAgIGZpZWxkczogdmVyc2lvbkZpZWxkcyxcbiAgICAgICAgdGFibGVOYW1lOiB2ZXJzaW9uc1RhYmxlTmFtZSxcbiAgICAgICAgdGltZXN0YW1wczogdHJ1ZSxcbiAgICAgIH0pXG4gICAgfVxuICB9KVxuXG4gIHRoaXMucGF5bG9hZC5jb25maWcuZ2xvYmFscy5mb3JFYWNoKChnbG9iYWwpID0+IHtcbiAgICBjb25zdCB0YWJsZU5hbWUgPSB0b1NuYWtlQ2FzZShnbG9iYWwuc2x1ZylcblxuICAgIGJ1aWxkVGFibGUoe1xuICAgICAgYWRhcHRlcjogdGhpcyxcbiAgICAgIGJ1aWxkUmVsYXRpb25zaGlwczogdHJ1ZSxcbiAgICAgIGRpc2FibGVVbmlxdWU6IGZhbHNlLFxuICAgICAgZmllbGRzOiBnbG9iYWwuZmllbGRzLFxuICAgICAgdGFibGVOYW1lLFxuICAgICAgdGltZXN0YW1wczogZmFsc2UsXG4gICAgfSlcblxuICAgIGlmIChnbG9iYWwudmVyc2lvbnMpIHtcbiAgICAgIGNvbnN0IHZlcnNpb25zVGFibGVOYW1lID0gYF8ke3RhYmxlTmFtZX1fdmBcbiAgICAgIGNvbnN0IHZlcnNpb25GaWVsZHMgPSBidWlsZFZlcnNpb25HbG9iYWxGaWVsZHMoZ2xvYmFsKVxuXG4gICAgICBidWlsZFRhYmxlKHtcbiAgICAgICAgYWRhcHRlcjogdGhpcyxcbiAgICAgICAgYnVpbGRSZWxhdGlvbnNoaXBzOiB0cnVlLFxuICAgICAgICBkaXNhYmxlVW5pcXVlOiB0cnVlLFxuICAgICAgICBmaWVsZHM6IHZlcnNpb25GaWVsZHMsXG4gICAgICAgIHRhYmxlTmFtZTogdmVyc2lvbnNUYWJsZU5hbWUsXG4gICAgICAgIHRpbWVzdGFtcHM6IHRydWUsXG4gICAgICB9KVxuICAgIH1cbiAgfSlcbn1cbiJdLCJuYW1lcyI6WyJpbml0IiwicGF5bG9hZCIsImNvbmZpZyIsImxvY2FsaXphdGlvbiIsImVudW1zIiwiZW51bV9fbG9jYWxlcyIsInBnRW51bSIsImxvY2FsZXMiLCJtYXAiLCJjb2RlIiwiY29sbGVjdGlvbnMiLCJmb3JFYWNoIiwiY29sbGVjdGlvbiIsInRhYmxlTmFtZSIsInRvU25ha2VDYXNlIiwic2x1ZyIsImJ1aWxkVGFibGUiLCJhZGFwdGVyIiwiYnVpbGRSZWxhdGlvbnNoaXBzIiwiZGlzYWJsZVVuaXF1ZSIsImZpZWxkcyIsInRpbWVzdGFtcHMiLCJ2ZXJzaW9ucyIsInZlcnNpb25zVGFibGVOYW1lIiwidmVyc2lvbkZpZWxkcyIsImJ1aWxkVmVyc2lvbkNvbGxlY3Rpb25GaWVsZHMiLCJnbG9iYWxzIiwiZ2xvYmFsIiwiYnVpbGRWZXJzaW9uR2xvYmFsRmllbGRzIl0sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7Ozs7K0JBWXZCQTs7O2VBQUFBOzs7d0JBUlU7MEJBQ2dEO29FQUMvQzt1QkFJRzs7Ozs7O0FBRXBCLE1BQU1BLE9BQWEsZUFBZUE7SUFDdkMsSUFBSSxJQUFJLENBQUNDLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDQyxZQUFZLEVBQUU7UUFDcEMsSUFBSSxDQUFDQyxLQUFLLENBQUNDLGFBQWEsR0FBR0MsSUFBQUEsY0FBTSxFQUMvQixZQUNBLElBQUksQ0FBQ0wsT0FBTyxDQUFDQyxNQUFNLENBQUNDLFlBQVksQ0FBQ0ksT0FBTyxDQUFDQyxHQUFHLENBQUMsQ0FBQyxFQUFFQyxJQUFJLEVBQUUsR0FBS0E7SUFFL0Q7SUFFQSxJQUFJLENBQUNSLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDUSxXQUFXLENBQUNDLE9BQU8sQ0FBQyxDQUFDQztRQUN2QyxNQUFNQyxZQUFZQyxJQUFBQSxvQkFBVyxFQUFDRixXQUFXRyxJQUFJO1FBRTdDQyxJQUFBQSxpQkFBVSxFQUFDO1lBQ1RDLFNBQVMsSUFBSTtZQUNiQyxvQkFBb0I7WUFDcEJDLGVBQWU7WUFDZkMsUUFBUVIsV0FBV1EsTUFBTTtZQUN6QlA7WUFDQVEsWUFBWVQsV0FBV1MsVUFBVTtRQUNuQztRQUVBLElBQUlULFdBQVdVLFFBQVEsRUFBRTtZQUN2QixNQUFNQyxvQkFBb0IsQ0FBQyxDQUFDLEVBQUVWLFVBQVUsRUFBRSxDQUFDO1lBQzNDLE1BQU1XLGdCQUFnQkMsSUFBQUEsc0NBQTRCLEVBQUNiO1lBRW5ESSxJQUFBQSxpQkFBVSxFQUFDO2dCQUNUQyxTQUFTLElBQUk7Z0JBQ2JDLG9CQUFvQjtnQkFDcEJDLGVBQWU7Z0JBQ2ZDLFFBQVFJO2dCQUNSWCxXQUFXVTtnQkFDWEYsWUFBWTtZQUNkO1FBQ0Y7SUFDRjtJQUVBLElBQUksQ0FBQ3BCLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDd0IsT0FBTyxDQUFDZixPQUFPLENBQUMsQ0FBQ2dCO1FBQ25DLE1BQU1kLFlBQVlDLElBQUFBLG9CQUFXLEVBQUNhLE9BQU9aLElBQUk7UUFFekNDLElBQUFBLGlCQUFVLEVBQUM7WUFDVEMsU0FBUyxJQUFJO1lBQ2JDLG9CQUFvQjtZQUNwQkMsZUFBZTtZQUNmQyxRQUFRTyxPQUFPUCxNQUFNO1lBQ3JCUDtZQUNBUSxZQUFZO1FBQ2Q7UUFFQSxJQUFJTSxPQUFPTCxRQUFRLEVBQUU7WUFDbkIsTUFBTUMsb0JBQW9CLENBQUMsQ0FBQyxFQUFFVixVQUFVLEVBQUUsQ0FBQztZQUMzQyxNQUFNVyxnQkFBZ0JJLElBQUFBLGtDQUF3QixFQUFDRDtZQUUvQ1gsSUFBQUEsaUJBQVUsRUFBQztnQkFDVEMsU0FBUyxJQUFJO2dCQUNiQyxvQkFBb0I7Z0JBQ3BCQyxlQUFlO2dCQUNmQyxRQUFRSTtnQkFDUlgsV0FBV1U7Z0JBQ1hGLFlBQVk7WUFDZDtRQUNGO0lBQ0Y7QUFDRiJ9
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbml0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXBhcmFtLXJlYXNzaWduICovXG5pbXBvcnQgdHlwZSB7IEluaXQgfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgcGdFbnVtIH0gZnJvbSAnZHJpenpsZS1vcm0vcGctY29yZSdcbmltcG9ydCB7IGJ1aWxkVmVyc2lvbkNvbGxlY3Rpb25GaWVsZHMsIGJ1aWxkVmVyc2lvbkdsb2JhbEZpZWxkcyB9IGZyb20gJ3BheWxvYWQvdmVyc2lvbnMnXG5pbXBvcnQgdG9TbmFrZUNhc2UgZnJvbSAndG8tc25ha2UtY2FzZSdcblxuaW1wb3J0IHR5cGUgeyBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyBidWlsZFRhYmxlIH0gZnJvbSAnLi9zY2hlbWEvYnVpbGQnXG5cbmV4cG9ydCBjb25zdCBpbml0OiBJbml0ID0gYXN5bmMgZnVuY3Rpb24gaW5pdCh0aGlzOiBQb3N0Z3Jlc0FkYXB0ZXIpIHtcbiAgaWYgKHRoaXMucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uKSB7XG4gICAgdGhpcy5lbnVtcy5lbnVtX19sb2NhbGVzID0gcGdFbnVtKFxuICAgICAgJ19sb2NhbGVzJyxcbiAgICAgIHRoaXMucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uLmxvY2FsZXMubWFwKCh7IGNvZGUgfSkgPT4gY29kZSkgYXMgW3N0cmluZywgLi4uc3RyaW5nW11dLFxuICAgIClcbiAgfVxuXG4gIHRoaXMucGF5bG9hZC5jb25maWcuY29sbGVjdGlvbnMuZm9yRWFjaCgoY29sbGVjdGlvbjogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZykgPT4ge1xuICAgIGNvbnN0IHRhYmxlTmFtZSA9IHRvU25ha2VDYXNlKGNvbGxlY3Rpb24uc2x1ZylcblxuICAgIGJ1aWxkVGFibGUoe1xuICAgICAgYWRhcHRlcjogdGhpcyxcbiAgICAgIGJ1aWxkUmVsYXRpb25zaGlwczogdHJ1ZSxcbiAgICAgIGRpc2FibGVOb3ROdWxsOiAhIWNvbGxlY3Rpb24/LnZlcnNpb25zPy5kcmFmdHMsXG4gICAgICBkaXNhYmxlVW5pcXVlOiBmYWxzZSxcbiAgICAgIGZpZWxkczogY29sbGVjdGlvbi5maWVsZHMsXG4gICAgICB0YWJsZU5hbWUsXG4gICAgICB0aW1lc3RhbXBzOiBjb2xsZWN0aW9uLnRpbWVzdGFtcHMsXG4gICAgfSlcblxuICAgIGlmIChjb2xsZWN0aW9uLnZlcnNpb25zKSB7XG4gICAgICBjb25zdCB2ZXJzaW9uc1RhYmxlTmFtZSA9IGBfJHt0YWJsZU5hbWV9X3ZgXG4gICAgICBjb25zdCB2ZXJzaW9uRmllbGRzID0gYnVpbGRWZXJzaW9uQ29sbGVjdGlvbkZpZWxkcyhjb2xsZWN0aW9uKVxuXG4gICAgICBidWlsZFRhYmxlKHtcbiAgICAgICAgYWRhcHRlcjogdGhpcyxcbiAgICAgICAgYnVpbGRSZWxhdGlvbnNoaXBzOiB0cnVlLFxuICAgICAgICBkaXNhYmxlTm90TnVsbDogISFjb2xsZWN0aW9uLnZlcnNpb25zPy5kcmFmdHMsXG4gICAgICAgIGRpc2FibGVVbmlxdWU6IHRydWUsXG4gICAgICAgIGZpZWxkczogdmVyc2lvbkZpZWxkcyxcbiAgICAgICAgdGFibGVOYW1lOiB2ZXJzaW9uc1RhYmxlTmFtZSxcbiAgICAgICAgdGltZXN0YW1wczogdHJ1ZSxcbiAgICAgIH0pXG4gICAgfVxuICB9KVxuXG4gIHRoaXMucGF5bG9hZC5jb25maWcuZ2xvYmFscy5mb3JFYWNoKChnbG9iYWwpID0+IHtcbiAgICBjb25zdCB0YWJsZU5hbWUgPSB0b1NuYWtlQ2FzZShnbG9iYWwuc2x1ZylcblxuICAgIGJ1aWxkVGFibGUoe1xuICAgICAgYWRhcHRlcjogdGhpcyxcbiAgICAgIGJ1aWxkUmVsYXRpb25zaGlwczogdHJ1ZSxcbiAgICAgIGRpc2FibGVOb3ROdWxsOiAhIWdsb2JhbD8udmVyc2lvbnM/LmRyYWZ0cyxcbiAgICAgIGRpc2FibGVVbmlxdWU6IGZhbHNlLFxuICAgICAgZmllbGRzOiBnbG9iYWwuZmllbGRzLFxuICAgICAgdGFibGVOYW1lLFxuICAgICAgdGltZXN0YW1wczogZmFsc2UsXG4gICAgfSlcblxuICAgIGlmIChnbG9iYWwudmVyc2lvbnMpIHtcbiAgICAgIGNvbnN0IHZlcnNpb25zVGFibGVOYW1lID0gYF8ke3RhYmxlTmFtZX1fdmBcbiAgICAgIGNvbnN0IHZlcnNpb25GaWVsZHMgPSBidWlsZFZlcnNpb25HbG9iYWxGaWVsZHMoZ2xvYmFsKVxuXG4gICAgICBidWlsZFRhYmxlKHtcbiAgICAgICAgYWRhcHRlcjogdGhpcyxcbiAgICAgICAgYnVpbGRSZWxhdGlvbnNoaXBzOiB0cnVlLFxuICAgICAgICBkaXNhYmxlTm90TnVsbDogISFnbG9iYWwudmVyc2lvbnM/LmRyYWZ0cyxcbiAgICAgICAgZGlzYWJsZVVuaXF1ZTogdHJ1ZSxcbiAgICAgICAgZmllbGRzOiB2ZXJzaW9uRmllbGRzLFxuICAgICAgICB0YWJsZU5hbWU6IHZlcnNpb25zVGFibGVOYW1lLFxuICAgICAgICB0aW1lc3RhbXBzOiB0cnVlLFxuICAgICAgfSlcbiAgICB9XG4gIH0pXG59XG4iXSwibmFtZXMiOlsiaW5pdCIsInBheWxvYWQiLCJjb25maWciLCJsb2NhbGl6YXRpb24iLCJlbnVtcyIsImVudW1fX2xvY2FsZXMiLCJwZ0VudW0iLCJsb2NhbGVzIiwibWFwIiwiY29kZSIsImNvbGxlY3Rpb25zIiwiZm9yRWFjaCIsImNvbGxlY3Rpb24iLCJ0YWJsZU5hbWUiLCJ0b1NuYWtlQ2FzZSIsInNsdWciLCJidWlsZFRhYmxlIiwiYWRhcHRlciIsImJ1aWxkUmVsYXRpb25zaGlwcyIsImRpc2FibGVOb3ROdWxsIiwidmVyc2lvbnMiLCJkcmFmdHMiLCJkaXNhYmxlVW5pcXVlIiwiZmllbGRzIiwidGltZXN0YW1wcyIsInZlcnNpb25zVGFibGVOYW1lIiwidmVyc2lvbkZpZWxkcyIsImJ1aWxkVmVyc2lvbkNvbGxlY3Rpb25GaWVsZHMiLCJnbG9iYWxzIiwiZ2xvYmFsIiwiYnVpbGRWZXJzaW9uR2xvYmFsRmllbGRzIl0sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7Ozs7K0JBWXZCQTs7O2VBQUFBOzs7d0JBUlU7MEJBQ2dEO29FQUMvQzt1QkFJRzs7Ozs7O0FBRXBCLE1BQU1BLE9BQWEsZUFBZUE7SUFDdkMsSUFBSSxJQUFJLENBQUNDLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDQyxZQUFZLEVBQUU7UUFDcEMsSUFBSSxDQUFDQyxLQUFLLENBQUNDLGFBQWEsR0FBR0MsSUFBQUEsY0FBTSxFQUMvQixZQUNBLElBQUksQ0FBQ0wsT0FBTyxDQUFDQyxNQUFNLENBQUNDLFlBQVksQ0FBQ0ksT0FBTyxDQUFDQyxHQUFHLENBQUMsQ0FBQyxFQUFFQyxJQUFJLEVBQUUsR0FBS0E7SUFFL0Q7SUFFQSxJQUFJLENBQUNSLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDUSxXQUFXLENBQUNDLE9BQU8sQ0FBQyxDQUFDQztRQUN2QyxNQUFNQyxZQUFZQyxJQUFBQSxvQkFBVyxFQUFDRixXQUFXRyxJQUFJO1FBRTdDQyxJQUFBQSxpQkFBVSxFQUFDO1lBQ1RDLFNBQVMsSUFBSTtZQUNiQyxvQkFBb0I7WUFDcEJDLGdCQUFnQixDQUFDLENBQUNQLFlBQVlRLFVBQVVDO1lBQ3hDQyxlQUFlO1lBQ2ZDLFFBQVFYLFdBQVdXLE1BQU07WUFDekJWO1lBQ0FXLFlBQVlaLFdBQVdZLFVBQVU7UUFDbkM7UUFFQSxJQUFJWixXQUFXUSxRQUFRLEVBQUU7WUFDdkIsTUFBTUssb0JBQW9CLENBQUMsQ0FBQyxFQUFFWixVQUFVLEVBQUUsQ0FBQztZQUMzQyxNQUFNYSxnQkFBZ0JDLElBQUFBLHNDQUE0QixFQUFDZjtZQUVuREksSUFBQUEsaUJBQVUsRUFBQztnQkFDVEMsU0FBUyxJQUFJO2dCQUNiQyxvQkFBb0I7Z0JBQ3BCQyxnQkFBZ0IsQ0FBQyxDQUFDUCxXQUFXUSxRQUFRLEVBQUVDO2dCQUN2Q0MsZUFBZTtnQkFDZkMsUUFBUUc7Z0JBQ1JiLFdBQVdZO2dCQUNYRCxZQUFZO1lBQ2Q7UUFDRjtJQUNGO0lBRUEsSUFBSSxDQUFDdkIsT0FBTyxDQUFDQyxNQUFNLENBQUMwQixPQUFPLENBQUNqQixPQUFPLENBQUMsQ0FBQ2tCO1FBQ25DLE1BQU1oQixZQUFZQyxJQUFBQSxvQkFBVyxFQUFDZSxPQUFPZCxJQUFJO1FBRXpDQyxJQUFBQSxpQkFBVSxFQUFDO1lBQ1RDLFNBQVMsSUFBSTtZQUNiQyxvQkFBb0I7WUFDcEJDLGdCQUFnQixDQUFDLENBQUNVLFFBQVFULFVBQVVDO1lBQ3BDQyxlQUFlO1lBQ2ZDLFFBQVFNLE9BQU9OLE1BQU07WUFDckJWO1lBQ0FXLFlBQVk7UUFDZDtRQUVBLElBQUlLLE9BQU9ULFFBQVEsRUFBRTtZQUNuQixNQUFNSyxvQkFBb0IsQ0FBQyxDQUFDLEVBQUVaLFVBQVUsRUFBRSxDQUFDO1lBQzNDLE1BQU1hLGdCQUFnQkksSUFBQUEsa0NBQXdCLEVBQUNEO1lBRS9DYixJQUFBQSxpQkFBVSxFQUFDO2dCQUNUQyxTQUFTLElBQUk7Z0JBQ2JDLG9CQUFvQjtnQkFDcEJDLGdCQUFnQixDQUFDLENBQUNVLE9BQU9ULFFBQVEsRUFBRUM7Z0JBQ25DQyxlQUFlO2dCQUNmQyxRQUFRRztnQkFDUmIsV0FBV1k7Z0JBQ1hELFlBQVk7WUFDZDtRQUNGO0lBQ0Y7QUFDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"parseParams.d.ts","sourceRoot":"","sources":["../../src/queries/parseParams.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,KAAK,EAAE,KAAK,EAAY,KAAK,EAAE,MAAM,eAAe,CAAA;AAM3D,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC9D,OAAO,KAAK,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAS1E,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,WAAW,EAAE,qBAAqB,CAAA;IAClC,KAAK,EAAE,eAAe,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAC3C,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED,wBAAsB,WAAW,CAAC,EAChC,OAAO,EACP,MAAM,EACN,WAAW,EACX,KAAK,EACL,MAAM,EACN,YAAY,EACZ,SAAS,EACT,KAAK,GACN,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAkJrB"}
1
+ {"version":3,"file":"parseParams.d.ts","sourceRoot":"","sources":["../../src/queries/parseParams.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,KAAK,EAAE,KAAK,EAAY,KAAK,EAAE,MAAM,eAAe,CAAA;AAM3D,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC9D,OAAO,KAAK,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAS1E,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,WAAW,EAAE,qBAAqB,CAAA;IAClC,KAAK,EAAE,eAAe,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAC3C,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED,wBAAsB,WAAW,CAAC,EAChC,OAAO,EACP,MAAM,EACN,WAAW,EACX,KAAK,EACL,MAAM,EACN,YAAY,EACZ,SAAS,EACT,KAAK,GACN,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CA8JrB"}
@@ -116,10 +116,16 @@ async function parseParams({ adapter, fields, joinAliases, joins, locale, select
116
116
  const { operator: queryOperator, value: queryValue } = (0, _sanitizeQueryValue.sanitizeQueryValue)({
117
117
  field,
118
118
  operator,
119
+ relationOrPath,
119
120
  val
120
121
  });
121
122
  if (queryOperator === 'not_equals' && queryValue !== null) {
122
123
  constraints.push((0, _drizzleorm.or)((0, _drizzleorm.isNull)(rawColumn || table[columnName]), /* eslint-disable @typescript-eslint/no-explicit-any */ (0, _drizzleorm.ne)(rawColumn || table[columnName], queryValue)));
124
+ } else if ((field.type === 'relationship' || field.type === 'upload') && Array.isArray(queryValue) && operator === 'not_in') {
125
+ constraints.push((0, _drizzleorm.sql)`${(0, _drizzleorm.notInArray)(table[columnName], queryValue)} OR
126
+ ${table[columnName]}
127
+ IS
128
+ NULL`);
123
129
  } else {
124
130
  constraints.push(_operatorMap.operatorMap[queryOperator](rawColumn || table[columnName], queryValue));
125
131
  }
@@ -143,4 +149,4 @@ async function parseParams({ adapter, fields, joinAliases, joins, locale, select
143
149
  return result;
144
150
  }
145
151
 
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9xdWVyaWVzL3BhcnNlUGFyYW1zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLWF3YWl0LWluLWxvb3AgKi9cbmltcG9ydCB0eXBlIHsgU1FMIH0gZnJvbSAnZHJpenpsZS1vcm0nXG5pbXBvcnQgdHlwZSB7IEZpZWxkLCBPcGVyYXRvciwgV2hlcmUgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBhbmQsIGlsaWtlLCBpc05vdE51bGwsIGlzTnVsbCwgbmUsIG9yLCBzcWwgfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB7IFF1ZXJ5RXJyb3IgfSBmcm9tICdwYXlsb2FkL2Vycm9ycydcbmltcG9ydCB7IHZhbGlkT3BlcmF0b3JzIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHR5cGUgeyBHZW5lcmljQ29sdW1uLCBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB0eXBlIHsgQnVpbGRRdWVyeUpvaW5BbGlhc2VzLCBCdWlsZFF1ZXJ5Sm9pbnMgfSBmcm9tICcuL2J1aWxkUXVlcnknXG5cbmltcG9ydCB7IGJ1aWxkQW5kT3JDb25kaXRpb25zIH0gZnJvbSAnLi9idWlsZEFuZE9yQ29uZGl0aW9ucydcbmltcG9ydCB7IGNyZWF0ZUpTT05RdWVyeSB9IGZyb20gJy4vY3JlYXRlSlNPTlF1ZXJ5J1xuaW1wb3J0IHsgY29udmVydFBhdGhUb0pTT05UcmF2ZXJzYWwgfSBmcm9tICcuL2NyZWF0ZUpTT05RdWVyeS9jb252ZXJ0UGF0aFRvSlNPTlRyYXZlcnNhbCdcbmltcG9ydCB7IGdldFRhYmxlQ29sdW1uRnJvbVBhdGggfSBmcm9tICcuL2dldFRhYmxlQ29sdW1uRnJvbVBhdGgnXG5pbXBvcnQgeyBvcGVyYXRvck1hcCB9IGZyb20gJy4vb3BlcmF0b3JNYXAnXG5pbXBvcnQgeyBzYW5pdGl6ZVF1ZXJ5VmFsdWUgfSBmcm9tICcuL3Nhbml0aXplUXVlcnlWYWx1ZSdcblxudHlwZSBBcmdzID0ge1xuICBhZGFwdGVyOiBQb3N0Z3Jlc0FkYXB0ZXJcbiAgZmllbGRzOiBGaWVsZFtdXG4gIGpvaW5BbGlhc2VzOiBCdWlsZFF1ZXJ5Sm9pbkFsaWFzZXNcbiAgam9pbnM6IEJ1aWxkUXVlcnlKb2luc1xuICBsb2NhbGU6IHN0cmluZ1xuICBzZWxlY3RGaWVsZHM6IFJlY29yZDxzdHJpbmcsIEdlbmVyaWNDb2x1bW4+XG4gIHRhYmxlTmFtZTogc3RyaW5nXG4gIHdoZXJlOiBXaGVyZVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcGFyc2VQYXJhbXMoe1xuICBhZGFwdGVyLFxuICBmaWVsZHMsXG4gIGpvaW5BbGlhc2VzLFxuICBqb2lucyxcbiAgbG9jYWxlLFxuICBzZWxlY3RGaWVsZHMsXG4gIHRhYmxlTmFtZSxcbiAgd2hlcmUsXG59OiBBcmdzKTogUHJvbWlzZTxTUUw+IHtcbiAgbGV0IHJlc3VsdDogU1FMXG4gIGNvbnN0IGNvbnN0cmFpbnRzOiBTUUxbXSA9IFtdXG5cbiAgaWYgKHR5cGVvZiB3aGVyZSA9PT0gJ29iamVjdCcgJiYgT2JqZWN0LmtleXMod2hlcmUpLmxlbmd0aCA+IDApIHtcbiAgICAvLyBXZSBuZWVkIHRvIGRldGVybWluZSBpZiB0aGUgd2hlcmVLZXkgaXMgYW4gQU5ELCBPUiwgb3IgYSBzY2hlbWEgcGF0aFxuICAgIGZvciAoY29uc3QgcmVsYXRpb25PclBhdGggb2YgT2JqZWN0LmtleXMod2hlcmUpKSB7XG4gICAgICBpZiAocmVsYXRpb25PclBhdGgpIHtcbiAgICAgICAgY29uc3QgY29uZGl0aW9uID0gd2hlcmVbcmVsYXRpb25PclBhdGhdXG4gICAgICAgIGxldCBjb25kaXRpb25PcGVyYXRvcjogJ2FuZCcgfCAnb3InXG4gICAgICAgIGlmIChyZWxhdGlvbk9yUGF0aC50b0xvd2VyQ2FzZSgpID09PSAnYW5kJykge1xuICAgICAgICAgIGNvbmRpdGlvbk9wZXJhdG9yID0gJ2FuZCdcbiAgICAgICAgfSBlbHNlIGlmIChyZWxhdGlvbk9yUGF0aC50b0xvd2VyQ2FzZSgpID09PSAnb3InKSB7XG4gICAgICAgICAgY29uZGl0aW9uT3BlcmF0b3IgPSAnb3InXG4gICAgICAgIH1cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoY29uZGl0aW9uKSkge1xuICAgICAgICAgIGNvbnN0IGJ1aWx0Q29uZGl0aW9ucyA9IGF3YWl0IGJ1aWxkQW5kT3JDb25kaXRpb25zKHtcbiAgICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgICBmaWVsZHMsXG4gICAgICAgICAgICBqb2luQWxpYXNlcyxcbiAgICAgICAgICAgIGpvaW5zLFxuICAgICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgICAgc2VsZWN0RmllbGRzLFxuICAgICAgICAgICAgdGFibGVOYW1lLFxuICAgICAgICAgICAgd2hlcmU6IGNvbmRpdGlvbixcbiAgICAgICAgICB9KVxuICAgICAgICAgIGlmIChidWlsdENvbmRpdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgICAgICByZXN1bHQgPSBvcGVyYXRvck1hcFtjb25kaXRpb25PcGVyYXRvcl0ocmVzdWx0LCAuLi5idWlsdENvbmRpdGlvbnMpXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXN1bHQgPSBvcGVyYXRvck1hcFtjb25kaXRpb25PcGVyYXRvcl0oLi4uYnVpbHRDb25kaXRpb25zKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBJdCdzIGEgcGF0aCAtIGFuZCB0aGVyZSBjYW4gYmUgbXVsdGlwbGUgY29tcGFyaXNvbnMgb24gYSBzaW5nbGUgcGF0aC5cbiAgICAgICAgICAvLyBGb3IgZXhhbXBsZSAtIHRpdGxlIGxpa2UgJ3Rlc3QnIGFuZCB0aXRsZSBub3QgZXF1YWwgdG8gJ3Rlc3RlcidcbiAgICAgICAgICAvLyBTbyB3ZSBuZWVkIHRvIGxvb3Agb24ga2V5cyBhZ2FpbiBoZXJlIHRvIGhhbmRsZSBlYWNoIG9wZXJhdG9yIGluZGVwZW5kZW50bHlcbiAgICAgICAgICBjb25zdCBwYXRoT3BlcmF0b3JzID0gd2hlcmVbcmVsYXRpb25PclBhdGhdXG4gICAgICAgICAgaWYgKHR5cGVvZiBwYXRoT3BlcmF0b3JzID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgZm9yIChjb25zdCBvcGVyYXRvciBvZiBPYmplY3Qua2V5cyhwYXRoT3BlcmF0b3JzKSkge1xuICAgICAgICAgICAgICBpZiAodmFsaWRPcGVyYXRvcnMuaW5jbHVkZXMob3BlcmF0b3IgYXMgT3BlcmF0b3IpKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgICAgICAgY29sdW1uTmFtZSxcbiAgICAgICAgICAgICAgICAgIGNvbnN0cmFpbnRzOiBxdWVyeUNvbnN0cmFpbnRzLFxuICAgICAgICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICAgICAgICBnZXROb3ROdWxsQ29sdW1uQnlWYWx1ZSxcbiAgICAgICAgICAgICAgICAgIHBhdGhTZWdtZW50cyxcbiAgICAgICAgICAgICAgICAgIHJhd0NvbHVtbixcbiAgICAgICAgICAgICAgICAgIHRhYmxlLFxuICAgICAgICAgICAgICAgIH0gPSBnZXRUYWJsZUNvbHVtbkZyb21QYXRoKHtcbiAgICAgICAgICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uUGF0aDogcmVsYXRpb25PclBhdGgsXG4gICAgICAgICAgICAgICAgICBmaWVsZHMsXG4gICAgICAgICAgICAgICAgICBqb2luQWxpYXNlcyxcbiAgICAgICAgICAgICAgICAgIGpvaW5zLFxuICAgICAgICAgICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgICAgICAgICAgcGF0aFNlZ21lbnRzOiByZWxhdGlvbk9yUGF0aC5yZXBsYWNlKC9fXy9nLCAnLicpLnNwbGl0KCcuJyksXG4gICAgICAgICAgICAgICAgICBzZWxlY3RGaWVsZHMsXG4gICAgICAgICAgICAgICAgICB0YWJsZU5hbWUsXG4gICAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICAgIGNvbnN0IHZhbCA9IHdoZXJlW3JlbGF0aW9uT3JQYXRoXVtvcGVyYXRvcl1cblxuICAgICAgICAgICAgICAgIHF1ZXJ5Q29uc3RyYWludHMuZm9yRWFjaCgoeyBjb2x1bW5OYW1lOiBjb2wsIHRhYmxlOiBjb25zdHJhaW50VGFibGUsIHZhbHVlIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0cmFpbnRzLnB1c2gob3BlcmF0b3JNYXAuZXF1YWxzKGNvbnN0cmFpbnRUYWJsZVtjb2xdLCB2YWx1ZSkpXG4gICAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICAgIGlmIChbJ2pzb24nLCAncmljaFRleHQnXS5pbmNsdWRlcyhmaWVsZC50eXBlKSAmJiBBcnJheS5pc0FycmF5KHBhdGhTZWdtZW50cykpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHNlZ21lbnRzID0gcGF0aFNlZ21lbnRzLnNsaWNlKDEpXG4gICAgICAgICAgICAgICAgICBzZWdtZW50cy51bnNoaWZ0KHRhYmxlW2NvbHVtbk5hbWVdLm5hbWUpXG5cbiAgICAgICAgICAgICAgICAgIGlmIChmaWVsZC50eXBlID09PSAncmljaFRleHQnKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGpzb25RdWVyeSA9IGNyZWF0ZUpTT05RdWVyeSh7XG4gICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgcGF0aFNlZ21lbnRzOiBzZWdtZW50cyxcbiAgICAgICAgICAgICAgICAgICAgICB0cmVhdEFzQXJyYXk6IFsnY2hpbGRyZW4nXSxcbiAgICAgICAgICAgICAgICAgICAgICB0cmVhdFJvb3RBc0FycmF5OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiB2YWwsXG4gICAgICAgICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3RyYWludHMucHVzaChzcWwucmF3KGpzb25RdWVyeSkpXG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIGlmIChmaWVsZC50eXBlID09PSAnanNvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QganNvblF1ZXJ5ID0gY29udmVydFBhdGhUb0pTT05UcmF2ZXJzYWwocGF0aFNlZ21lbnRzKVxuICAgICAgICAgICAgICAgICAgICBjb25zdHJhaW50cy5wdXNoKHNxbC5yYXcoYCR7dGFibGVbY29sdW1uTmFtZV0ubmFtZX0ke2pzb25RdWVyeX0gPSAnJSR7dmFsfSUnYCkpXG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGdldE5vdE51bGxDb2x1bW5CeVZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBjb2x1bW5OYW1lID0gZ2V0Tm90TnVsbENvbHVtbkJ5VmFsdWUodmFsKVxuICAgICAgICAgICAgICAgICAgaWYgKGNvbHVtbk5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3RyYWludHMucHVzaChpc05vdE51bGwodGFibGVbY29sdW1uTmFtZV0pKVxuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFF1ZXJ5RXJyb3IoW3sgcGF0aDogcmVsYXRpb25PclBhdGggfV0pXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChvcGVyYXRvciA9PT0gJ2xpa2UnKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdHJhaW50cy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICBhbmQoLi4udmFsLnNwbGl0KCcgJykubWFwKCh3b3JkKSA9PiBpbGlrZSh0YWJsZVtjb2x1bW5OYW1lXSwgYCUke3dvcmR9JWApKSksXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IHsgb3BlcmF0b3I6IHF1ZXJ5T3BlcmF0b3IsIHZhbHVlOiBxdWVyeVZhbHVlIH0gPSBzYW5pdGl6ZVF1ZXJ5VmFsdWUoe1xuICAgICAgICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICAgICAgICBvcGVyYXRvcixcbiAgICAgICAgICAgICAgICAgIHZhbCxcbiAgICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgICAgaWYgKHF1ZXJ5T3BlcmF0b3IgPT09ICdub3RfZXF1YWxzJyAmJiBxdWVyeVZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdHJhaW50cy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICBvcihcbiAgICAgICAgICAgICAgICAgICAgICBpc051bGwocmF3Q29sdW1uIHx8IHRhYmxlW2NvbHVtbk5hbWVdKSxcbiAgICAgICAgICAgICAgICAgICAgICAvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG4gICAgICAgICAgICAgICAgICAgICAgbmU8YW55PihyYXdDb2x1bW4gfHwgdGFibGVbY29sdW1uTmFtZV0sIHF1ZXJ5VmFsdWUpLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICBjb25zdHJhaW50cy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICBvcGVyYXRvck1hcFtxdWVyeU9wZXJhdG9yXShyYXdDb2x1bW4gfHwgdGFibGVbY29sdW1uTmFtZV0sIHF1ZXJ5VmFsdWUpLFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBpZiAoY29uc3RyYWludHMubGVuZ3RoID4gMCkge1xuICAgIGlmIChyZXN1bHQpIHtcbiAgICAgIHJlc3VsdCA9IGFuZChyZXN1bHQsIC4uLmNvbnN0cmFpbnRzKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHQgPSBhbmQoLi4uY29uc3RyYWludHMpXG4gICAgfVxuICB9XG4gIGlmIChjb25zdHJhaW50cy5sZW5ndGggPT09IDEgJiYgIXJlc3VsdCkge1xuICAgIDtbcmVzdWx0XSA9IGNvbnN0cmFpbnRzXG4gIH1cblxuICByZXR1cm4gcmVzdWx0XG59XG4iXSwibmFtZXMiOlsicGFyc2VQYXJhbXMiLCJhZGFwdGVyIiwiZmllbGRzIiwiam9pbkFsaWFzZXMiLCJqb2lucyIsImxvY2FsZSIsInNlbGVjdEZpZWxkcyIsInRhYmxlTmFtZSIsIndoZXJlIiwicmVzdWx0IiwiY29uc3RyYWludHMiLCJPYmplY3QiLCJrZXlzIiwibGVuZ3RoIiwicmVsYXRpb25PclBhdGgiLCJjb25kaXRpb24iLCJjb25kaXRpb25PcGVyYXRvciIsInRvTG93ZXJDYXNlIiwiQXJyYXkiLCJpc0FycmF5IiwiYnVpbHRDb25kaXRpb25zIiwiYnVpbGRBbmRPckNvbmRpdGlvbnMiLCJvcGVyYXRvck1hcCIsInBhdGhPcGVyYXRvcnMiLCJvcGVyYXRvciIsInZhbGlkT3BlcmF0b3JzIiwiaW5jbHVkZXMiLCJjb2x1bW5OYW1lIiwicXVlcnlDb25zdHJhaW50cyIsImZpZWxkIiwiZ2V0Tm90TnVsbENvbHVtbkJ5VmFsdWUiLCJwYXRoU2VnbWVudHMiLCJyYXdDb2x1bW4iLCJ0YWJsZSIsImdldFRhYmxlQ29sdW1uRnJvbVBhdGgiLCJjb2xsZWN0aW9uUGF0aCIsInJlcGxhY2UiLCJzcGxpdCIsInZhbCIsImZvckVhY2giLCJjb2wiLCJjb25zdHJhaW50VGFibGUiLCJ2YWx1ZSIsInB1c2giLCJlcXVhbHMiLCJ0eXBlIiwic2VnbWVudHMiLCJzbGljZSIsInVuc2hpZnQiLCJuYW1lIiwianNvblF1ZXJ5IiwiY3JlYXRlSlNPTlF1ZXJ5IiwidHJlYXRBc0FycmF5IiwidHJlYXRSb290QXNBcnJheSIsInNxbCIsInJhdyIsImNvbnZlcnRQYXRoVG9KU09OVHJhdmVyc2FsIiwiaXNOb3ROdWxsIiwiUXVlcnlFcnJvciIsInBhdGgiLCJhbmQiLCJtYXAiLCJ3b3JkIiwiaWxpa2UiLCJxdWVyeU9wZXJhdG9yIiwicXVlcnlWYWx1ZSIsInNhbml0aXplUXVlcnlWYWx1ZSIsIm9yIiwiaXNOdWxsIiwibmUiXSwibWFwcGluZ3MiOiJBQUFBLG1DQUFtQzs7OzsrQkE2QmJBOzs7ZUFBQUE7Ozs0QkF6QnFDO3dCQUNoQzt1QkFDSTtzQ0FLTTtpQ0FDTDs0Q0FDVzt3Q0FDSjs2QkFDWDtvQ0FDTztBQWE1QixlQUFlQSxZQUFZLEVBQ2hDQyxPQUFPLEVBQ1BDLE1BQU0sRUFDTkMsV0FBVyxFQUNYQyxLQUFLLEVBQ0xDLE1BQU0sRUFDTkMsWUFBWSxFQUNaQyxTQUFTLEVBQ1RDLEtBQUssRUFDQTtJQUNMLElBQUlDO0lBQ0osTUFBTUMsY0FBcUIsRUFBRTtJQUU3QixJQUFJLE9BQU9GLFVBQVUsWUFBWUcsT0FBT0MsSUFBSSxDQUFDSixPQUFPSyxNQUFNLEdBQUcsR0FBRztRQUM5RCx1RUFBdUU7UUFDdkUsS0FBSyxNQUFNQyxrQkFBa0JILE9BQU9DLElBQUksQ0FBQ0osT0FBUTtZQUMvQyxJQUFJTSxnQkFBZ0I7Z0JBQ2xCLE1BQU1DLFlBQVlQLEtBQUssQ0FBQ00sZUFBZTtnQkFDdkMsSUFBSUU7Z0JBQ0osSUFBSUYsZUFBZUcsV0FBVyxPQUFPLE9BQU87b0JBQzFDRCxvQkFBb0I7Z0JBQ3RCLE9BQU8sSUFBSUYsZUFBZUcsV0FBVyxPQUFPLE1BQU07b0JBQ2hERCxvQkFBb0I7Z0JBQ3RCO2dCQUNBLElBQUlFLE1BQU1DLE9BQU8sQ0FBQ0osWUFBWTtvQkFDNUIsTUFBTUssa0JBQWtCLE1BQU1DLElBQUFBLDBD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
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9xdWVyaWVzL3BhcnNlUGFyYW1zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLWF3YWl0LWluLWxvb3AgKi9cbmltcG9ydCB0eXBlIHsgU1FMIH0gZnJvbSAnZHJpenpsZS1vcm0nXG5pbXBvcnQgdHlwZSB7IEZpZWxkLCBPcGVyYXRvciwgV2hlcmUgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBhbmQsIGlsaWtlLCBpc05vdE51bGwsIGlzTnVsbCwgbmUsIG5vdEluQXJyYXksIG9yLCBzcWwgfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB7IFF1ZXJ5RXJyb3IgfSBmcm9tICdwYXlsb2FkL2Vycm9ycydcbmltcG9ydCB7IHZhbGlkT3BlcmF0b3JzIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHR5cGUgeyBHZW5lcmljQ29sdW1uLCBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB0eXBlIHsgQnVpbGRRdWVyeUpvaW5BbGlhc2VzLCBCdWlsZFF1ZXJ5Sm9pbnMgfSBmcm9tICcuL2J1aWxkUXVlcnknXG5cbmltcG9ydCB7IGJ1aWxkQW5kT3JDb25kaXRpb25zIH0gZnJvbSAnLi9idWlsZEFuZE9yQ29uZGl0aW9ucydcbmltcG9ydCB7IGNyZWF0ZUpTT05RdWVyeSB9IGZyb20gJy4vY3JlYXRlSlNPTlF1ZXJ5J1xuaW1wb3J0IHsgY29udmVydFBhdGhUb0pTT05UcmF2ZXJzYWwgfSBmcm9tICcuL2NyZWF0ZUpTT05RdWVyeS9jb252ZXJ0UGF0aFRvSlNPTlRyYXZlcnNhbCdcbmltcG9ydCB7IGdldFRhYmxlQ29sdW1uRnJvbVBhdGggfSBmcm9tICcuL2dldFRhYmxlQ29sdW1uRnJvbVBhdGgnXG5pbXBvcnQgeyBvcGVyYXRvck1hcCB9IGZyb20gJy4vb3BlcmF0b3JNYXAnXG5pbXBvcnQgeyBzYW5pdGl6ZVF1ZXJ5VmFsdWUgfSBmcm9tICcuL3Nhbml0aXplUXVlcnlWYWx1ZSdcblxudHlwZSBBcmdzID0ge1xuICBhZGFwdGVyOiBQb3N0Z3Jlc0FkYXB0ZXJcbiAgZmllbGRzOiBGaWVsZFtdXG4gIGpvaW5BbGlhc2VzOiBCdWlsZFF1ZXJ5Sm9pbkFsaWFzZXNcbiAgam9pbnM6IEJ1aWxkUXVlcnlKb2luc1xuICBsb2NhbGU6IHN0cmluZ1xuICBzZWxlY3RGaWVsZHM6IFJlY29yZDxzdHJpbmcsIEdlbmVyaWNDb2x1bW4+XG4gIHRhYmxlTmFtZTogc3RyaW5nXG4gIHdoZXJlOiBXaGVyZVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcGFyc2VQYXJhbXMoe1xuICBhZGFwdGVyLFxuICBmaWVsZHMsXG4gIGpvaW5BbGlhc2VzLFxuICBqb2lucyxcbiAgbG9jYWxlLFxuICBzZWxlY3RGaWVsZHMsXG4gIHRhYmxlTmFtZSxcbiAgd2hlcmUsXG59OiBBcmdzKTogUHJvbWlzZTxTUUw+IHtcbiAgbGV0IHJlc3VsdDogU1FMXG4gIGNvbnN0IGNvbnN0cmFpbnRzOiBTUUxbXSA9IFtdXG5cbiAgaWYgKHR5cGVvZiB3aGVyZSA9PT0gJ29iamVjdCcgJiYgT2JqZWN0LmtleXMod2hlcmUpLmxlbmd0aCA+IDApIHtcbiAgICAvLyBXZSBuZWVkIHRvIGRldGVybWluZSBpZiB0aGUgd2hlcmVLZXkgaXMgYW4gQU5ELCBPUiwgb3IgYSBzY2hlbWEgcGF0aFxuICAgIGZvciAoY29uc3QgcmVsYXRpb25PclBhdGggb2YgT2JqZWN0LmtleXMod2hlcmUpKSB7XG4gICAgICBpZiAocmVsYXRpb25PclBhdGgpIHtcbiAgICAgICAgY29uc3QgY29uZGl0aW9uID0gd2hlcmVbcmVsYXRpb25PclBhdGhdXG4gICAgICAgIGxldCBjb25kaXRpb25PcGVyYXRvcjogJ2FuZCcgfCAnb3InXG4gICAgICAgIGlmIChyZWxhdGlvbk9yUGF0aC50b0xvd2VyQ2FzZSgpID09PSAnYW5kJykge1xuICAgICAgICAgIGNvbmRpdGlvbk9wZXJhdG9yID0gJ2FuZCdcbiAgICAgICAgfSBlbHNlIGlmIChyZWxhdGlvbk9yUGF0aC50b0xvd2VyQ2FzZSgpID09PSAnb3InKSB7XG4gICAgICAgICAgY29uZGl0aW9uT3BlcmF0b3IgPSAnb3InXG4gICAgICAgIH1cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoY29uZGl0aW9uKSkge1xuICAgICAgICAgIGNvbnN0IGJ1aWx0Q29uZGl0aW9ucyA9IGF3YWl0IGJ1aWxkQW5kT3JDb25kaXRpb25zKHtcbiAgICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgICBmaWVsZHMsXG4gICAgICAgICAgICBqb2luQWxpYXNlcyxcbiAgICAgICAgICAgIGpvaW5zLFxuICAgICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgICAgc2VsZWN0RmllbGRzLFxuICAgICAgICAgICAgdGFibGVOYW1lLFxuICAgICAgICAgICAgd2hlcmU6IGNvbmRpdGlvbixcbiAgICAgICAgICB9KVxuICAgICAgICAgIGlmIChidWlsdENvbmRpdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgICAgICByZXN1bHQgPSBvcGVyYXRvck1hcFtjb25kaXRpb25PcGVyYXRvcl0ocmVzdWx0LCAuLi5idWlsdENvbmRpdGlvbnMpXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXN1bHQgPSBvcGVyYXRvck1hcFtjb25kaXRpb25PcGVyYXRvcl0oLi4uYnVpbHRDb25kaXRpb25zKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBJdCdzIGEgcGF0aCAtIGFuZCB0aGVyZSBjYW4gYmUgbXVsdGlwbGUgY29tcGFyaXNvbnMgb24gYSBzaW5nbGUgcGF0aC5cbiAgICAgICAgICAvLyBGb3IgZXhhbXBsZSAtIHRpdGxlIGxpa2UgJ3Rlc3QnIGFuZCB0aXRsZSBub3QgZXF1YWwgdG8gJ3Rlc3RlcidcbiAgICAgICAgICAvLyBTbyB3ZSBuZWVkIHRvIGxvb3Agb24ga2V5cyBhZ2FpbiBoZXJlIHRvIGhhbmRsZSBlYWNoIG9wZXJhdG9yIGluZGVwZW5kZW50bHlcbiAgICAgICAgICBjb25zdCBwYXRoT3BlcmF0b3JzID0gd2hlcmVbcmVsYXRpb25PclBhdGhdXG4gICAgICAgICAgaWYgKHR5cGVvZiBwYXRoT3BlcmF0b3JzID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgZm9yIChjb25zdCBvcGVyYXRvciBvZiBPYmplY3Qua2V5cyhwYXRoT3BlcmF0b3JzKSkge1xuICAgICAgICAgICAgICBpZiAodmFsaWRPcGVyYXRvcnMuaW5jbHVkZXMob3BlcmF0b3IgYXMgT3BlcmF0b3IpKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgICAgICAgY29sdW1uTmFtZSxcbiAgICAgICAgICAgICAgICAgIGNvbnN0cmFpbnRzOiBxdWVyeUNvbnN0cmFpbnRzLFxuICAgICAgICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICAgICAgICBnZXROb3ROdWxsQ29sdW1uQnlWYWx1ZSxcbiAgICAgICAgICAgICAgICAgIHBhdGhTZWdtZW50cyxcbiAgICAgICAgICAgICAgICAgIHJhd0NvbHVtbixcbiAgICAgICAgICAgICAgICAgIHRhYmxlLFxuICAgICAgICAgICAgICAgIH0gPSBnZXRUYWJsZUNvbHVtbkZyb21QYXRoKHtcbiAgICAgICAgICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uUGF0aDogcmVsYXRpb25PclBhdGgsXG4gICAgICAgICAgICAgICAgICBmaWVsZHMsXG4gICAgICAgICAgICAgICAgICBqb2luQWxpYXNlcyxcbiAgICAgICAgICAgICAgICAgIGpvaW5zLFxuICAgICAgICAgICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgICAgICAgICAgcGF0aFNlZ21lbnRzOiByZWxhdGlvbk9yUGF0aC5yZXBsYWNlKC9fXy9nLCAnLicpLnNwbGl0KCcuJyksXG4gICAgICAgICAgICAgICAgICBzZWxlY3RGaWVsZHMsXG4gICAgICAgICAgICAgICAgICB0YWJsZU5hbWUsXG4gICAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICAgIGNvbnN0IHZhbCA9IHdoZXJlW3JlbGF0aW9uT3JQYXRoXVtvcGVyYXRvcl1cblxuICAgICAgICAgICAgICAgIHF1ZXJ5Q29uc3RyYWludHMuZm9yRWFjaCgoeyBjb2x1bW5OYW1lOiBjb2wsIHRhYmxlOiBjb25zdHJhaW50VGFibGUsIHZhbHVlIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0cmFpbnRzLnB1c2gob3BlcmF0b3JNYXAuZXF1YWxzKGNvbnN0cmFpbnRUYWJsZVtjb2xdLCB2YWx1ZSkpXG4gICAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICAgIGlmIChbJ2pzb24nLCAncmljaFRleHQnXS5pbmNsdWRlcyhmaWVsZC50eXBlKSAmJiBBcnJheS5pc0FycmF5KHBhdGhTZWdtZW50cykpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHNlZ21lbnRzID0gcGF0aFNlZ21lbnRzLnNsaWNlKDEpXG4gICAgICAgICAgICAgICAgICBzZWdtZW50cy51bnNoaWZ0KHRhYmxlW2NvbHVtbk5hbWVdLm5hbWUpXG5cbiAgICAgICAgICAgICAgICAgIGlmIChmaWVsZC50eXBlID09PSAncmljaFRleHQnKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGpzb25RdWVyeSA9IGNyZWF0ZUpTT05RdWVyeSh7XG4gICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgcGF0aFNlZ21lbnRzOiBzZWdtZW50cyxcbiAgICAgICAgICAgICAgICAgICAgICB0cmVhdEFzQXJyYXk6IFsnY2hpbGRyZW4nXSxcbiAgICAgICAgICAgICAgICAgICAgICB0cmVhdFJvb3RBc0FycmF5OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiB2YWwsXG4gICAgICAgICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3RyYWludHMucHVzaChzcWwucmF3KGpzb25RdWVyeSkpXG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIGlmIChmaWVsZC50eXBlID09PSAnanNvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QganNvblF1ZXJ5ID0gY29udmVydFBhdGhUb0pTT05UcmF2ZXJzYWwocGF0aFNlZ21lbnRzKVxuICAgICAgICAgICAgICAgICAgICBjb25zdHJhaW50cy5wdXNoKHNxbC5yYXcoYCR7dGFibGVbY29sdW1uTmFtZV0ubmFtZX0ke2pzb25RdWVyeX0gPSAnJSR7dmFsfSUnYCkpXG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGdldE5vdE51bGxDb2x1bW5CeVZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBjb2x1bW5OYW1lID0gZ2V0Tm90TnVsbENvbHVtbkJ5VmFsdWUodmFsKVxuICAgICAgICAgICAgICAgICAgaWYgKGNvbHVtbk5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3RyYWludHMucHVzaChpc05vdE51bGwodGFibGVbY29sdW1uTmFtZV0pKVxuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFF1ZXJ5RXJyb3IoW3sgcGF0aDogcmVsYXRpb25PclBhdGggfV0pXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChvcGVyYXRvciA9PT0gJ2xpa2UnKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdHJhaW50cy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICBhbmQoLi4udmFsLnNwbGl0KCcgJykubWFwKCh3b3JkKSA9PiBpbGlrZSh0YWJsZVtjb2x1bW5OYW1lXSwgYCUke3dvcmR9JWApKSksXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IHsgb3BlcmF0b3I6IHF1ZXJ5T3BlcmF0b3IsIHZhbHVlOiBxdWVyeVZhbHVlIH0gPSBzYW5pdGl6ZVF1ZXJ5VmFsdWUoe1xuICAgICAgICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICAgICAgICBvcGVyYXRvcixcbiAgICAgICAgICAgICAgICAgIHJlbGF0aW9uT3JQYXRoLFxuICAgICAgICAgICAgICAgICAgdmFsLFxuICAgICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgICBpZiAocXVlcnlPcGVyYXRvciA9PT0gJ25vdF9lcXVhbHMnICYmIHF1ZXJ5VmFsdWUgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0cmFpbnRzLnB1c2goXG4gICAgICAgICAgICAgICAgICAgIG9yKFxuICAgICAgICAgICAgICAgICAgICAgIGlzTnVsbChyYXdDb2x1bW4gfHwgdGFibGVbY29sdW1uTmFtZV0pLFxuICAgICAgICAgICAgICAgICAgICAgIC8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbiAgICAgICAgICAgICAgICAgICAgICBuZTxhbnk+KHJhd0NvbHVtbiB8fCB0YWJsZVtjb2x1bW5OYW1lXSwgcXVlcnlWYWx1ZSksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgICAgICAgIChmaWVsZC50eXBlID09PSAncmVsYXRpb25zaGlwJyB8fCBmaWVsZC50eXBlID09PSAndXBsb2FkJykgJiZcbiAgICAgICAgICAgICAgICAgIEFycmF5LmlzQXJyYXkocXVlcnlWYWx1ZSkgJiZcbiAgICAgICAgICAgICAgICAgIG9wZXJhdG9yID09PSAnbm90X2luJ1xuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgY29uc3RyYWludHMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgc3FsYCR7bm90SW5BcnJheSh0YWJsZVtjb2x1bW5OYW1lXSwgcXVlcnlWYWx1ZSl9IE9SXG4gICAgICAgICAgICAgICAgICAgICR7dGFibGVbY29sdW1uTmFtZV19XG4gICAgICAgICAgICAgICAgICAgIElTXG4gICAgICAgICAgICAgICAgICAgIE5VTExgLFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICBjb25zdHJhaW50cy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICBvcGVyYXRvck1hcFtxdWVyeU9wZXJhdG9yXShyYXdDb2x1bW4gfHwgdGFibGVbY29sdW1uTmFtZV0sIHF1ZXJ5VmFsdWUpLFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBpZiAoY29uc3RyYWludHMubGVuZ3RoID4gMCkge1xuICAgIGlmIChyZXN1bHQpIHtcbiAgICAgIHJlc3VsdCA9IGFuZChyZXN1bHQsIC4uLmNvbnN0cmFpbnRzKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHQgPSBhbmQoLi4uY29uc3RyYWludHMpXG4gICAgfVxuICB9XG4gIGlmIChjb25zdHJhaW50cy5sZW5ndGggPT09IDEgJiYgIXJlc3VsdCkge1xuICAgIDtbcmVzdWx0XSA9IGNvbnN0cmFpbnRzXG4gIH1cblxuICByZXR1cm4gcmVzdWx0XG59XG4iXSwibmFtZXMiOlsicGFyc2VQYXJhbXMiLCJhZGFwdGVyIiwiZmllbGRzIiwiam9pbkFsaWFzZXMiLCJqb2lucyIsImxvY2FsZSIsInNlbGVjdEZpZWxkcyIsInRhYmxlTmFtZSIsIndoZXJlIiwicmVzdWx0IiwiY29uc3RyYWludHMiLCJPYmplY3QiLCJrZXlzIiwibGVuZ3RoIiwicmVsYXRpb25PclBhdGgiLCJjb25kaXRpb24iLCJjb25kaXRpb25PcGVyYXRvciIsInRvTG93ZXJDYXNlIiwiQXJyYXkiLCJpc0FycmF5IiwiYnVpbHRDb25kaXRpb25zIiwiYnVpbGRBbmRPckNvbmRpdGlvbnMiLCJvcGVyYXRvck1hcCIsInBhdGhPcGVyYXRvcnMiLCJvcGVyYXRvciIsInZhbGlkT3BlcmF0b3JzIiwiaW5jbHVkZXMiLCJjb2x1bW5OYW1lIiwicXVlcnlDb25zdHJhaW50cyIsImZpZWxkIiwiZ2V0Tm90TnVsbENvbHVtbkJ5VmFsdWUiLCJwYXRoU2VnbWVudHMiLCJyYXdDb2x1bW4iLCJ0YWJsZSIsImdldFRhYmxlQ29sdW1uRnJvbVBhdGgiLCJjb2xsZWN0aW9uUGF0aCIsInJlcGxhY2UiLCJzcGxpdCIsInZhbCIsImZvckVhY2giLCJjb2wiLCJjb25zdHJhaW50VGFibGUiLCJ2YWx1ZSIsInB1c2giLCJlcXVhbHMiLCJ0eXBlIiwic2VnbWVudHMiLCJzbGljZSIsInVuc2hpZnQiLCJuYW1lIiwianNvblF1ZXJ5IiwiY3JlYXRlSlNPTlF1ZXJ5IiwidHJlYXRBc0FycmF5IiwidHJlYXRSb290QXNBcnJheSIsInNxbCIsInJhdyIsImNvbnZlcnRQYXRoVG9KU09OVHJhdmVyc2FsIiwiaXNOb3ROdWxsIiwiUXVlcnlFcnJvciIsInBhdGgiLCJhbmQiLCJtYXAiLCJ3b3JkIiwiaWxpa2UiLCJxdWVyeU9wZXJhdG9yIiwicXVlcnlWYWx1ZSIsInNhbml0aXplUXVlcnlWYWx1ZSIsIm9yIiwiaXNOdWxsIiwibmUiLCJub3RJbkFycmF5Il0sIm1hcHBpbmdzIjoiQUFBQSxtQ0FBbUM7Ozs7K0JBNkJiQTs7O2VBQUFBOzs7NEJBekJpRDt3QkFDNUM7dUJBQ0k7c0NBS007aUNBQ0w7NENBQ1c7d0NBQ0o7NkJBQ1g7b0NBQ087QUFhNUIsZUFB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
@@ -2,9 +2,10 @@ import { type Field, type TabAsField } from 'payload/types';
2
2
  type SanitizeQueryValueArgs = {
3
3
  field: Field | TabAsField;
4
4
  operator: string;
5
+ relationOrPath: string;
5
6
  val: any;
6
7
  };
7
- export declare const sanitizeQueryValue: ({ field, operator: operatorArg, val, }: SanitizeQueryValueArgs) => {
8
+ export declare const sanitizeQueryValue: ({ field, operator: operatorArg, relationOrPath, val, }: SanitizeQueryValueArgs) => {
8
9
  operator: string;
9
10
  value: unknown;
10
11
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sanitizeQueryValue.d.ts","sourceRoot":"","sources":["../../src/queries/sanitizeQueryValue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,UAAU,EAAoB,MAAM,eAAe,CAAA;AAG7E,KAAK,sBAAsB,GAAG;IAC5B,KAAK,EAAE,KAAK,GAAG,UAAU,CAAA;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,GAAG,CAAA;CACT,CAAA;AAED,eAAO,MAAM,kBAAkB,2CAI5B,sBAAsB;cAAe,MAAM;WAAS,OAAO;CA6D7D,CAAA"}
1
+ {"version":3,"file":"sanitizeQueryValue.d.ts","sourceRoot":"","sources":["../../src/queries/sanitizeQueryValue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,UAAU,EAAoB,MAAM,eAAe,CAAA;AAG7E,KAAK,sBAAsB,GAAG;IAC5B,KAAK,EAAE,KAAK,GAAG,UAAU,CAAA;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,EAAE,MAAM,CAAA;IACtB,GAAG,EAAE,GAAG,CAAA;CACT,CAAA;AAED,eAAO,MAAM,kBAAkB,2DAK5B,sBAAsB;cAAe,MAAM;WAAS,OAAO;CA6E7D,CAAA"}
@@ -11,13 +11,24 @@ Object.defineProperty(exports, "sanitizeQueryValue", {
11
11
  const _errors = require("payload/errors");
12
12
  const _types = require("payload/types");
13
13
  const _utilities = require("payload/utilities");
14
- const sanitizeQueryValue = ({ field, operator: operatorArg, val })=>{
14
+ const sanitizeQueryValue = ({ field, operator: operatorArg, relationOrPath, val })=>{
15
15
  let operator = operatorArg;
16
16
  let formattedValue = val;
17
17
  if (!(0, _types.fieldAffectsData)(field)) return {
18
18
  operator,
19
19
  value: formattedValue
20
20
  };
21
+ if ((field.type === 'relationship' || field.type === 'upload') && !relationOrPath.endsWith('relationTo') && Array.isArray(formattedValue)) {
22
+ const allPossibleIDTypes = [];
23
+ formattedValue.forEach((val)=>{
24
+ if (typeof val === 'string') {
25
+ allPossibleIDTypes.push(val, parseInt(val));
26
+ } else {
27
+ allPossibleIDTypes.push(val, String(val));
28
+ }
29
+ });
30
+ formattedValue = allPossibleIDTypes;
31
+ }
21
32
  // Cast incoming values as proper searchable types
22
33
  if (field.type === 'checkbox' && typeof val === 'string') {
23
34
  if (val.toLowerCase() === 'true') formattedValue = true;
@@ -76,4 +87,4 @@ const sanitizeQueryValue = ({ field, operator: operatorArg, val })=>{
76
87
  };
77
88
  };
78
89
 
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9xdWVyaWVzL3Nhbml0aXplUXVlcnlWYWx1ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUElFcnJvciB9IGZyb20gJ3BheWxvYWQvZXJyb3JzJ1xuaW1wb3J0IHsgdHlwZSBGaWVsZCwgdHlwZSBUYWJBc0ZpZWxkLCBmaWVsZEFmZmVjdHNEYXRhIH0gZnJvbSAncGF5bG9hZC90eXBlcydcbmltcG9ydCB7IGNyZWF0ZUFycmF5RnJvbUNvbW1hRGVsaW5lYXRlZCB9IGZyb20gJ3BheWxvYWQvdXRpbGl0aWVzJ1xuXG50eXBlIFNhbml0aXplUXVlcnlWYWx1ZUFyZ3MgPSB7XG4gIGZpZWxkOiBGaWVsZCB8IFRhYkFzRmllbGRcbiAgb3BlcmF0b3I6IHN0cmluZ1xuICB2YWw6IGFueVxufVxuXG5leHBvcnQgY29uc3Qgc2FuaXRpemVRdWVyeVZhbHVlID0gKHtcbiAgZmllbGQsXG4gIG9wZXJhdG9yOiBvcGVyYXRvckFyZyxcbiAgdmFsLFxufTogU2FuaXRpemVRdWVyeVZhbHVlQXJncyk6IHsgb3BlcmF0b3I6IHN0cmluZzsgdmFsdWU6IHVua25vd24gfSA9PiB7XG4gIGxldCBvcGVyYXRvciA9IG9wZXJhdG9yQXJnXG4gIGxldCBmb3JtYXR0ZWRWYWx1ZSA9IHZhbFxuXG4gIGlmICghZmllbGRBZmZlY3RzRGF0YShmaWVsZCkpIHJldHVybiB7IG9wZXJhdG9yLCB2YWx1ZTogZm9ybWF0dGVkVmFsdWUgfVxuXG4gIC8vIENhc3QgaW5jb21pbmcgdmFsdWVzIGFzIHByb3BlciBzZWFyY2hhYmxlIHR5cGVzXG4gIGlmIChmaWVsZC50eXBlID09PSAnY2hlY2tib3gnICYmIHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnKSB7XG4gICAgaWYgKHZhbC50b0xvd2VyQ2FzZSgpID09PSAndHJ1ZScpIGZvcm1hdHRlZFZhbHVlID0gdHJ1ZVxuICAgIGlmICh2YWwudG9Mb3dlckNhc2UoKSA9PT0gJ2ZhbHNlJykgZm9ybWF0dGVkVmFsdWUgPSBmYWxzZVxuICB9XG5cbiAgaWYgKFsnYWxsJywgJ2luJywgJ25vdF9pbiddLmluY2x1ZGVzKG9wZXJhdG9yKSAmJiB0eXBlb2YgZm9ybWF0dGVkVmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgZm9ybWF0dGVkVmFsdWUgPSBjcmVhdGVBcnJheUZyb21Db21tYURlbGluZWF0ZWQoZm9ybWF0dGVkVmFsdWUpXG5cbiAgICBpZiAoZmllbGQudHlwZSA9PT0gJ251bWJlcicpIHtcbiAgICAgIGZvcm1hdHRlZFZhbHVlID0gZm9ybWF0dGVkVmFsdWUubWFwKChhcnJheVZhbCkgPT4gcGFyc2VGbG9hdChhcnJheVZhbCkpXG4gICAgfVxuICB9XG5cbiAgaWYgKGZpZWxkLnR5cGUgPT09ICdudW1iZXInICYmIHR5cGVvZiBmb3JtYXR0ZWRWYWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICBmb3JtYXR0ZWRWYWx1ZSA9IE51bWJlcih2YWwpXG4gIH1cblxuICBpZiAoZmllbGQudHlwZSA9PT0gJ2RhdGUnKSB7XG4gICAgaWYgKHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnKSB7XG4gICAgICBmb3JtYXR0ZWRWYWx1ZSA9IG5ldyBEYXRlKHZhbClcbiAgICAgIGlmIChOdW1iZXIuaXNOYU4oRGF0ZS5wYXJzZShmb3JtYXR0ZWRWYWx1ZSkpKSB7XG4gICAgICAgIHJldHVybiB7IG9wZXJhdG9yLCB2YWx1ZTogdW5kZWZpbmVkIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ251bWJlcicpIHtcbiAgICAgIGZvcm1hdHRlZFZhbHVlID0gbmV3IERhdGUodmFsKVxuICAgIH1cbiAgfVxuXG4gIGlmIChbJ3JlbGF0aW9uc2hpcCcsICd1cGxvYWQnXS5pbmNsdWRlcyhmaWVsZC50eXBlKSkge1xuICAgIGlmICh2YWwgPT09ICdudWxsJykge1xuICAgICAgZm9ybWF0dGVkVmFsdWUgPSBudWxsXG4gICAgfVxuICB9XG5cbiAgaWYgKG9wZXJhdG9yID09PSAnbmVhcicgfHwgb3BlcmF0b3IgPT09ICd3aXRoaW4nIHx8IG9wZXJhdG9yID09PSAnaW50ZXJzZWN0cycpIHtcbiAgICB0aHJvdyBuZXcgQVBJRXJyb3IoXG4gICAgICBgUXVlcnlpbmcgd2l0aCAnJHtvcGVyYXRvcn0nIGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCB0aGUgcG9zdGdyZXMgZGF0YWJhc2UgYWRhcHRlci5gLFxuICAgIClcbiAgfVxuXG4gIGlmIChvcGVyYXRvciA9PT0gJ2NvbnRhaW5zJykge1xuICAgIGZvcm1hdHRlZFZhbHVlID0gYCUke2Zvcm1hdHRlZFZhbHVlfSVgXG4gIH1cblxuICBpZiAob3BlcmF0b3IgPT09ICdleGlzdHMnKSB7XG4gICAgZm9ybWF0dGVkVmFsdWUgPSBmb3JtYXR0ZWRWYWx1ZSA9PT0gJ3RydWUnIHx8IGZvcm1hdHRlZFZhbHVlID09PSB0cnVlXG4gICAgaWYgKGZvcm1hdHRlZFZhbHVlID09PSBmYWxzZSkge1xuICAgICAgb3BlcmF0b3IgPSAnaXNOdWxsJ1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7IG9wZXJhdG9yLCB2YWx1ZTogZm9ybWF0dGVkVmFsdWUgfVxufVxuIl0sIm5hbWVzIjpbInNhbml0aXplUXVlcnlWYWx1ZSIsImZpZWxkIiwib3BlcmF0b3IiLCJvcGVyYXRvckFyZyIsInZhbCIsImZvcm1hdHRlZFZhbHVlIiwiZmllbGRBZmZlY3RzRGF0YSIsInZhbHVlIiwidHlwZSIsInRvTG93ZXJDYXNlIiwiaW5jbHVkZXMiLCJjcmVhdGVBcnJheUZyb21Db21tYURlbGluZWF0ZWQiLCJtYXAiLCJhcnJheVZhbCIsInBhcnNlRmxvYXQiLCJOdW1iZXIiLCJEYXRlIiwiaXNOYU4iLCJwYXJzZSIsInVuZGVmaW5lZCIsIkFQSUVycm9yIl0sIm1hcHBpbmdzIjoiOzs7OytCQVVhQTs7O2VBQUFBOzs7d0JBVlk7dUJBQ3FDOzJCQUNmO0FBUXhDLE1BQU1BLHFCQUFxQixDQUFDLEVBQ2pDQyxLQUFLLEVBQ0xDLFVBQVVDLFdBQVcsRUFDckJDLEdBQUcsRUFDb0I7SUFDdkIsSUFBSUYsV0FBV0M7SUFDZixJQUFJRSxpQkFBaUJEO0lBRXJCLElBQUksQ0FBQ0UsSUFBQUEsdUJBQWdCLEVBQUNMLFFBQVEsT0FBTztRQUFFQztRQUFVSyxPQUFPRjtJQUFlO0lBRXZFLGtEQUFrRDtJQUNsRCxJQUFJSixNQUFNTyxJQUFJLEtBQUssY0FBYyxPQUFPSixRQUFRLFVBQVU7UUFDeEQsSUFBSUEsSUFBSUssV0FBVyxPQUFPLFFBQVFKLGlCQUFpQjtRQUNuRCxJQUFJRCxJQUFJSyxXQUFXLE9BQU8sU0FBU0osaUJBQWlCO0lBQ3REO0lBRUEsSUFBSTtRQUFDO1FBQU87UUFBTTtLQUFTLENBQUNLLFFBQVEsQ0FBQ1IsYUFBYSxPQUFPRyxtQkFBbUIsVUFBVTtRQUNwRkEsaUJBQWlCTSxJQUFBQSx5Q0FBOEIsRUFBQ047UUFFaEQsSUFBSUosTUFBTU8sSUFBSSxLQUFLLFVBQVU7WUFDM0JILGlCQUFpQkEsZUFBZU8sR0FBRyxDQUFDLENBQUNDLFdBQWFDLFdBQVdEO1FBQy9EO0lBQ0Y7SUFFQSxJQUFJWixNQUFNTyxJQUFJLEtBQUssWUFBWSxPQUFPSCxtQkFBbUIsVUFBVTtRQUNqRUEsaUJBQWlCVSxPQUFPWDtJQUMxQjtJQUVBLElBQUlILE1BQU1PLElBQUksS0FBSyxRQUFRO1FBQ3pCLElBQUksT0FBT0osUUFBUSxVQUFVO1lBQzNCQyxpQkFBaUIsSUFBSVcsS0FBS1o7WUFDMUIsSUFBSVcsT0FBT0UsS0FBSyxDQUFDRCxLQUFLRSxLQUFLLENBQUNiLGtCQUFrQjtnQkFDNUMsT0FBTztvQkFBRUg7b0JBQVVLLE9BQU9ZO2dCQUFVO1lBQ3RDO1FBQ0Y7UUFFQSxJQUFJLE9BQU9mLFFBQVEsVUFBVTtZQUMzQkMsaUJBQWlCLElBQUlXLEtBQUtaO1FBQzVCO0lBQ0Y7SUFFQSxJQUFJO1FBQUM7UUFBZ0I7S0FBUyxDQUFDTSxRQUFRLENBQUNULE1BQU1PLElBQUksR0FBRztRQUNuRCxJQUFJSixRQUFRLFFBQVE7WUFDbEJDLGlCQUFpQjtRQUNuQjtJQUNGO0lBRUEsSUFBSUgsYUFBYSxVQUFVQSxhQUFhLFlBQVlBLGFBQWEsY0FBYztRQUM3RSxNQUFNLElBQUlrQixnQkFBUSxDQUNoQixDQUFDLGVBQWUsRUFBRWxCLFNBQVMsc0RBQXNELENBQUM7SUFFdEY7SUFFQSxJQUFJQSxhQUFhLFlBQVk7UUFDM0JHLGlCQUFpQixDQUFDLENBQUMsRUFBRUEsZUFBZSxDQUFDLENBQUM7SUFDeEM7SUFFQSxJQUFJSCxhQUFhLFVBQVU7UUFDekJHLGlCQUFpQkEsbUJBQW1CLFVBQVVBLG1CQUFtQjtRQUNqRSxJQUFJQSxtQkFBbUIsT0FBTztZQUM1QkgsV0FBVztRQUNiO0lBQ0Y7SUFFQSxPQUFPO1FBQUVBO1FBQVVLLE9BQU9GO0lBQWU7QUFDM0MifQ==
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9xdWVyaWVzL3Nhbml0aXplUXVlcnlWYWx1ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUElFcnJvciB9IGZyb20gJ3BheWxvYWQvZXJyb3JzJ1xuaW1wb3J0IHsgdHlwZSBGaWVsZCwgdHlwZSBUYWJBc0ZpZWxkLCBmaWVsZEFmZmVjdHNEYXRhIH0gZnJvbSAncGF5bG9hZC90eXBlcydcbmltcG9ydCB7IGNyZWF0ZUFycmF5RnJvbUNvbW1hRGVsaW5lYXRlZCB9IGZyb20gJ3BheWxvYWQvdXRpbGl0aWVzJ1xuXG50eXBlIFNhbml0aXplUXVlcnlWYWx1ZUFyZ3MgPSB7XG4gIGZpZWxkOiBGaWVsZCB8IFRhYkFzRmllbGRcbiAgb3BlcmF0b3I6IHN0cmluZ1xuICByZWxhdGlvbk9yUGF0aDogc3RyaW5nXG4gIHZhbDogYW55XG59XG5cbmV4cG9ydCBjb25zdCBzYW5pdGl6ZVF1ZXJ5VmFsdWUgPSAoe1xuICBmaWVsZCxcbiAgb3BlcmF0b3I6IG9wZXJhdG9yQXJnLFxuICByZWxhdGlvbk9yUGF0aCxcbiAgdmFsLFxufTogU2FuaXRpemVRdWVyeVZhbHVlQXJncyk6IHsgb3BlcmF0b3I6IHN0cmluZzsgdmFsdWU6IHVua25vd24gfSA9PiB7XG4gIGxldCBvcGVyYXRvciA9IG9wZXJhdG9yQXJnXG4gIGxldCBmb3JtYXR0ZWRWYWx1ZSA9IHZhbFxuXG4gIGlmICghZmllbGRBZmZlY3RzRGF0YShmaWVsZCkpIHJldHVybiB7IG9wZXJhdG9yLCB2YWx1ZTogZm9ybWF0dGVkVmFsdWUgfVxuXG4gIGlmIChcbiAgICAoZmllbGQudHlwZSA9PT0gJ3JlbGF0aW9uc2hpcCcgfHwgZmllbGQudHlwZSA9PT0gJ3VwbG9hZCcpICYmXG4gICAgIXJlbGF0aW9uT3JQYXRoLmVuZHNXaXRoKCdyZWxhdGlvblRvJykgJiZcbiAgICBBcnJheS5pc0FycmF5KGZvcm1hdHRlZFZhbHVlKVxuICApIHtcbiAgICBjb25zdCBhbGxQb3NzaWJsZUlEVHlwZXM6IChudW1iZXIgfCBzdHJpbmcpW10gPSBbXVxuICAgIGZvcm1hdHRlZFZhbHVlLmZvckVhY2goKHZhbCkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGFsbFBvc3NpYmxlSURUeXBlcy5wdXNoKHZhbCwgcGFyc2VJbnQodmFsKSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFsbFBvc3NpYmxlSURUeXBlcy5wdXNoKHZhbCwgU3RyaW5nKHZhbCkpXG4gICAgICB9XG4gICAgfSlcbiAgICBmb3JtYXR0ZWRWYWx1ZSA9IGFsbFBvc3NpYmxlSURUeXBlc1xuICB9XG5cbiAgLy8gQ2FzdCBpbmNvbWluZyB2YWx1ZXMgYXMgcHJvcGVyIHNlYXJjaGFibGUgdHlwZXNcbiAgaWYgKGZpZWxkLnR5cGUgPT09ICdjaGVja2JveCcgJiYgdHlwZW9mIHZhbCA9PT0gJ3N0cmluZycpIHtcbiAgICBpZiAodmFsLnRvTG93ZXJDYXNlKCkgPT09ICd0cnVlJykgZm9ybWF0dGVkVmFsdWUgPSB0cnVlXG4gICAgaWYgKHZhbC50b0xvd2VyQ2FzZSgpID09PSAnZmFsc2UnKSBmb3JtYXR0ZWRWYWx1ZSA9IGZhbHNlXG4gIH1cblxuICBpZiAoWydhbGwnLCAnaW4nLCAnbm90X2luJ10uaW5jbHVkZXMob3BlcmF0b3IpICYmIHR5cGVvZiBmb3JtYXR0ZWRWYWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICBmb3JtYXR0ZWRWYWx1ZSA9IGNyZWF0ZUFycmF5RnJvbUNvbW1hRGVsaW5lYXRlZChmb3JtYXR0ZWRWYWx1ZSlcblxuICAgIGlmIChmaWVsZC50eXBlID09PSAnbnVtYmVyJykge1xuICAgICAgZm9ybWF0dGVkVmFsdWUgPSBmb3JtYXR0ZWRWYWx1ZS5tYXAoKGFycmF5VmFsKSA9PiBwYXJzZUZsb2F0KGFycmF5VmFsKSlcbiAgICB9XG4gIH1cblxuICBpZiAoZmllbGQudHlwZSA9PT0gJ251bWJlcicgJiYgdHlwZW9mIGZvcm1hdHRlZFZhbHVlID09PSAnc3RyaW5nJykge1xuICAgIGZvcm1hdHRlZFZhbHVlID0gTnVtYmVyKHZhbClcbiAgfVxuXG4gIGlmIChmaWVsZC50eXBlID09PSAnZGF0ZScpIHtcbiAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGZvcm1hdHRlZFZhbHVlID0gbmV3IERhdGUodmFsKVxuICAgICAgaWYgKE51bWJlci5pc05hTihEYXRlLnBhcnNlKGZvcm1hdHRlZFZhbHVlKSkpIHtcbiAgICAgICAgcmV0dXJuIHsgb3BlcmF0b3IsIHZhbHVlOiB1bmRlZmluZWQgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdmFsID09PSAnbnVtYmVyJykge1xuICAgICAgZm9ybWF0dGVkVmFsdWUgPSBuZXcgRGF0ZSh2YWwpXG4gICAgfVxuICB9XG5cbiAgaWYgKFsncmVsYXRpb25zaGlwJywgJ3VwbG9hZCddLmluY2x1ZGVzKGZpZWxkLnR5cGUpKSB7XG4gICAgaWYgKHZhbCA9PT0gJ251bGwnKSB7XG4gICAgICBmb3JtYXR0ZWRWYWx1ZSA9IG51bGxcbiAgICB9XG4gIH1cblxuICBpZiAob3BlcmF0b3IgPT09ICduZWFyJyB8fCBvcGVyYXRvciA9PT0gJ3dpdGhpbicgfHwgb3BlcmF0b3IgPT09ICdpbnRlcnNlY3RzJykge1xuICAgIHRocm93IG5ldyBBUElFcnJvcihcbiAgICAgIGBRdWVyeWluZyB3aXRoICcke29wZXJhdG9yfScgaXMgbm90IHN1cHBvcnRlZCB3aXRoIHRoZSBwb3N0Z3JlcyBkYXRhYmFzZSBhZGFwdGVyLmAsXG4gICAgKVxuICB9XG5cbiAgaWYgKG9wZXJhdG9yID09PSAnY29udGFpbnMnKSB7XG4gICAgZm9ybWF0dGVkVmFsdWUgPSBgJSR7Zm9ybWF0dGVkVmFsdWV9JWBcbiAgfVxuXG4gIGlmIChvcGVyYXRvciA9PT0gJ2V4aXN0cycpIHtcbiAgICBmb3JtYXR0ZWRWYWx1ZSA9IGZvcm1hdHRlZFZhbHVlID09PSAndHJ1ZScgfHwgZm9ybWF0dGVkVmFsdWUgPT09IHRydWVcbiAgICBpZiAoZm9ybWF0dGVkVmFsdWUgPT09IGZhbHNlKSB7XG4gICAgICBvcGVyYXRvciA9ICdpc051bGwnXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHsgb3BlcmF0b3IsIHZhbHVlOiBmb3JtYXR0ZWRWYWx1ZSB9XG59XG4iXSwibmFtZXMiOlsic2FuaXRpemVRdWVyeVZhbHVlIiwiZmllbGQiLCJvcGVyYXRvciIsIm9wZXJhdG9yQXJnIiwicmVsYXRpb25PclBhdGgiLCJ2YWwiLCJmb3JtYXR0ZWRWYWx1ZSIsImZpZWxkQWZmZWN0c0RhdGEiLCJ2YWx1ZSIsInR5cGUiLCJlbmRzV2l0aCIsIkFycmF5IiwiaXNBcnJheSIsImFsbFBvc3NpYmxlSURUeXBlcyIsImZvckVhY2giLCJwdXNoIiwicGFyc2VJbnQiLCJTdHJpbmciLCJ0b0xvd2VyQ2FzZSIsImluY2x1ZGVzIiwiY3JlYXRlQXJyYXlGcm9tQ29tbWFEZWxpbmVhdGVkIiwibWFwIiwiYXJyYXlWYWwiLCJwYXJzZUZsb2F0IiwiTnVtYmVyIiwiRGF0ZSIsImlzTmFOIiwicGFyc2UiLCJ1bmRlZmluZWQiLCJBUElFcnJvciJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFXYUE7OztlQUFBQTs7O3dCQVhZO3VCQUNxQzsyQkFDZjtBQVN4QyxNQUFNQSxxQkFBcUIsQ0FBQyxFQUNqQ0MsS0FBSyxFQUNMQyxVQUFVQyxXQUFXLEVBQ3JCQyxjQUFjLEVBQ2RDLEdBQUcsRUFDb0I7SUFDdkIsSUFBSUgsV0FBV0M7SUFDZixJQUFJRyxpQkFBaUJEO0lBRXJCLElBQUksQ0FBQ0UsSUFBQUEsdUJBQWdCLEVBQUNOLFFBQVEsT0FBTztRQUFFQztRQUFVTSxPQUFPRjtJQUFlO0lBRXZFLElBQ0UsQUFBQ0wsQ0FBQUEsTUFBTVEsSUFBSSxLQUFLLGtCQUFrQlIsTUFBTVEsSUFBSSxLQUFLLFFBQU8sS0FDeEQsQ0FBQ0wsZUFBZU0sUUFBUSxDQUFDLGlCQUN6QkMsTUFBTUMsT0FBTyxDQUFDTixpQkFDZDtRQUNBLE1BQU1PLHFCQUEwQyxFQUFFO1FBQ2xEUCxlQUFlUSxPQUFPLENBQUMsQ0FBQ1Q7WUFDdEIsSUFBSSxPQUFPQSxRQUFRLFVBQVU7Z0JBQzNCUSxtQkFBbUJFLElBQUksQ0FBQ1YsS0FBS1csU0FBU1g7WUFDeEMsT0FBTztnQkFDTFEsbUJBQW1CRSxJQUFJLENBQUNWLEtBQUtZLE9BQU9aO1lBQ3RDO1FBQ0Y7UUFDQUMsaUJBQWlCTztJQUNuQjtJQUVBLGtEQUFrRDtJQUNsRCxJQUFJWixNQUFNUSxJQUFJLEtBQUssY0FBYyxPQUFPSixRQUFRLFVBQVU7UUFDeEQsSUFBSUEsSUFBSWEsV0FBVyxPQUFPLFFBQVFaLGlCQUFpQjtRQUNuRCxJQUFJRCxJQUFJYSxXQUFXLE9BQU8sU0FBU1osaUJBQWlCO0lBQ3REO0lBRUEsSUFBSTtRQUFDO1FBQU87UUFBTTtLQUFTLENBQUNhLFFBQVEsQ0FBQ2pCLGFBQWEsT0FBT0ksbUJBQW1CLFVBQVU7UUFDcEZBLGlCQUFpQmMsSUFBQUEseUNBQThCLEVBQUNkO1FBRWhELElBQUlMLE1BQU1RLElBQUksS0FBSyxVQUFVO1lBQzNCSCxpQkFBaUJBLGVBQWVlLEdBQUcsQ0FBQyxDQUFDQyxXQUFhQyxXQUFXRDtRQUMvRDtJQUNGO0lBRUEsSUFBSXJCLE1BQU1RLElBQUksS0FBSyxZQUFZLE9BQU9ILG1CQUFtQixVQUFVO1FBQ2pFQSxpQkFBaUJrQixPQUFPbkI7SUFDMUI7SUFFQSxJQUFJSixNQUFNUSxJQUFJLEtBQUssUUFBUTtRQUN6QixJQUFJLE9BQU9KLFFBQVEsVUFBVTtZQUMzQkMsaUJBQWlCLElBQUltQixLQUFLcEI7WUFDMUIsSUFBSW1CLE9BQU9FLEtBQUssQ0FBQ0QsS0FBS0UsS0FBSyxDQUFDckIsa0JBQWtCO2dCQUM1QyxPQUFPO29CQUFFSjtvQkFBVU0sT0FBT29CO2dCQUFVO1lBQ3RDO1FBQ0Y7UUFFQSxJQUFJLE9BQU92QixRQUFRLFVBQVU7WUFDM0JDLGlCQUFpQixJQUFJbUIsS0FBS3BCO1FBQzVCO0lBQ0Y7SUFFQSxJQUFJO1FBQUM7UUFBZ0I7S0FBUyxDQUFDYyxRQUFRLENBQUNsQixNQUFNUSxJQUFJLEdBQUc7UUFDbkQsSUFBSUosUUFBUSxRQUFRO1lBQ2xCQyxpQkFBaUI7UUFDbkI7SUFDRjtJQUVBLElBQUlKLGFBQWEsVUFBVUEsYUFBYSxZQUFZQSxhQUFhLGNBQWM7UUFDN0UsTUFBTSxJQUFJMkIsZ0JBQVEsQ0FDaEIsQ0FBQyxlQUFlLEVBQUUzQixTQUFTLHNEQUFzRCxDQUFDO0lBRXRGO0lBRUEsSUFBSUEsYUFBYSxZQUFZO1FBQzNCSSxpQkFBaUIsQ0FBQyxDQUFDLEVBQUVBLGVBQWUsQ0FBQyxDQUFDO0lBQ3hDO0lBRUEsSUFBSUosYUFBYSxVQUFVO1FBQ3pCSSxpQkFBaUJBLG1CQUFtQixVQUFVQSxtQkFBbUI7UUFDakUsSUFBSUEsbUJBQW1CLE9BQU87WUFDNUJKLFdBQVc7UUFDYjtJQUNGO0lBRUEsT0FBTztRQUFFQTtRQUFVTSxPQUFPRjtJQUFlO0FBQzNDIn0=
@@ -6,6 +6,7 @@ type Args = {
6
6
  baseColumns?: Record<string, PgColumnBuilder>;
7
7
  baseExtraConfig?: Record<string, (cols: GenericColumns) => IndexBuilder | UniqueConstraintBuilder>;
8
8
  buildRelationships?: boolean;
9
+ disableNotNull: boolean;
9
10
  disableUnique: boolean;
10
11
  fields: Field[];
11
12
  rootRelationsToBuild?: Map<string, string>;
@@ -18,6 +19,6 @@ type Args = {
18
19
  type Result = {
19
20
  relationsToBuild: Map<string, string>;
20
21
  };
21
- export declare const buildTable: ({ adapter, baseColumns, baseExtraConfig, buildRelationships, disableUnique, fields, rootRelationsToBuild, rootRelationships, rootTableIDColType, rootTableName, tableName, timestamps, }: Args) => Result;
22
+ export declare const buildTable: ({ adapter, baseColumns, baseExtraConfig, buildRelationships, disableNotNull, disableUnique, fields, rootRelationsToBuild, rootRelationships, rootTableIDColType, rootTableName, tableName, timestamps, }: Args) => Result;
22
23
  export {};
23
24
  //# sourceMappingURL=build.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/schema/build.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AACjG,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAgB1C,OAAO,KAAK,EAAE,cAAc,EAAgB,eAAe,EAAE,MAAM,UAAU,CAAA;AAK7E,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IAC7C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,GAAG,uBAAuB,CAAC,CAAA;IAClG,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,aAAa,EAAE,OAAO,CAAA;IACtB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1C,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,KAAK,MAAM,GAAG;IACZ,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACtC,CAAA;AAED,eAAO,MAAM,UAAU,6LAapB,IAAI,KAAG,MA+QT,CAAA"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/schema/build.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AACjG,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAgB1C,OAAO,KAAK,EAAE,cAAc,EAAgB,eAAe,EAAE,MAAM,UAAU,CAAA;AAK7E,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IAC7C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,GAAG,uBAAuB,CAAC,CAAA;IAClG,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,cAAc,EAAE,OAAO,CAAA;IACvB,aAAa,EAAE,OAAO,CAAA;IACtB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1C,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,KAAK,MAAM,GAAG;IACZ,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACtC,CAAA;AAED,eAAO,MAAM,UAAU,6MAcpB,IAAI,KAAG,MAgRT,CAAA"}
@@ -19,7 +19,7 @@ function _interop_require_default(obj) {
19
19
  default: obj
20
20
  };
21
21
  }
22
- const buildTable = ({ adapter, baseColumns = {}, baseExtraConfig = {}, buildRelationships, disableUnique = false, fields, rootRelationsToBuild, rootRelationships, rootTableIDColType, rootTableName, tableName, timestamps })=>{
22
+ const buildTable = ({ adapter, baseColumns = {}, baseExtraConfig = {}, buildRelationships, disableNotNull, disableUnique = false, fields, rootRelationsToBuild, rootRelationships, rootTableIDColType, rootTableName, tableName, timestamps })=>{
23
23
  const columns = baseColumns;
24
24
  const indexes = {};
25
25
  let hasLocalizedField = false;
@@ -53,6 +53,7 @@ const buildTable = ({ adapter, baseColumns = {}, baseExtraConfig = {}, buildRela
53
53
  adapter,
54
54
  buildRelationships,
55
55
  columns,
56
+ disableNotNull,
56
57
  disableUnique,
57
58
  fields,
58
59
  indexes,
@@ -245,4 +246,4 @@ const buildTable = ({ adapter, baseColumns = {}, baseExtraConfig = {}, buildRela
245
246
  };
246
247
  };
247
248
 
248
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvYnVpbGQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgUmVsYXRpb24gfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB0eXBlIHsgSW5kZXhCdWlsZGVyLCBQZ0NvbHVtbkJ1aWxkZXIsIFVuaXF1ZUNvbnN0cmFpbnRCdWlsZGVyIH0gZnJvbSAnZHJpenpsZS1vcm0vcGctY29yZSdcbmltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyByZWxhdGlvbnMgfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB7XG4gIGluZGV4LFxuICBpbnRlZ2VyLFxuICBudW1lcmljLFxuICBwZ1RhYmxlLFxuICBzZXJpYWwsXG4gIHRpbWVzdGFtcCxcbiAgdW5pcXVlLFxuICB2YXJjaGFyLFxufSBmcm9tICdkcml6emxlLW9ybS9wZy1jb3JlJ1xuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5pbXBvcnQgdG9TbmFrZUNhc2UgZnJvbSAndG8tc25ha2UtY2FzZSdcblxuaW1wb3J0IHR5cGUgeyBHZW5lcmljQ29sdW1ucywgR2VuZXJpY1RhYmxlLCBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuLi90eXBlcydcblxuaW1wb3J0IHsgcGFyZW50SURDb2x1bW5NYXAgfSBmcm9tICcuL3BhcmVudElEQ29sdW1uTWFwJ1xuaW1wb3J0IHsgdHJhdmVyc2VGaWVsZHMgfSBmcm9tICcuL3RyYXZlcnNlRmllbGRzJ1xuXG50eXBlIEFyZ3MgPSB7XG4gIGFkYXB0ZXI6IFBvc3RncmVzQWRhcHRlclxuICBiYXNlQ29sdW1ucz86IFJlY29yZDxzdHJpbmcsIFBnQ29sdW1uQnVpbGRlcj5cbiAgYmFzZUV4dHJhQ29uZmlnPzogUmVjb3JkPHN0cmluZywgKGNvbHM6IEdlbmVyaWNDb2x1bW5zKSA9PiBJbmRleEJ1aWxkZXIgfCBVbmlxdWVDb25zdHJhaW50QnVpbGRlcj5cbiAgYnVpbGRSZWxhdGlvbnNoaXBzPzogYm9vbGVhblxuICBkaXNhYmxlVW5pcXVlOiBib29sZWFuXG4gIGZpZWxkczogRmllbGRbXVxuICByb290UmVsYXRpb25zVG9CdWlsZD86IE1hcDxzdHJpbmcsIHN0cmluZz5cbiAgcm9vdFJlbGF0aW9uc2hpcHM/OiBTZXQ8c3RyaW5nPlxuICByb290VGFibGVJRENvbFR5cGU/OiBzdHJpbmdcbiAgcm9vdFRhYmxlTmFtZT86IHN0cmluZ1xuICB0YWJsZU5hbWU6IHN0cmluZ1xuICB0aW1lc3RhbXBzPzogYm9vbGVhblxufVxuXG50eXBlIFJlc3VsdCA9IHtcbiAgcmVsYXRpb25zVG9CdWlsZDogTWFwPHN0cmluZywgc3RyaW5nPlxufVxuXG5leHBvcnQgY29uc3QgYnVpbGRUYWJsZSA9ICh7XG4gIGFkYXB0ZXIsXG4gIGJhc2VDb2x1bW5zID0ge30sXG4gIGJhc2VFeHRyYUNvbmZpZyA9IHt9LFxuICBidWlsZFJlbGF0aW9uc2hpcHMsXG4gIGRpc2FibGVVbmlxdWUgPSBmYWxzZSxcbiAgZmllbGRzLFxuICByb290UmVsYXRpb25zVG9CdWlsZCxcbiAgcm9vdFJlbGF0aW9uc2hpcHMsXG4gIHJvb3RUYWJsZUlEQ29sVHlwZSxcbiAgcm9vdFRhYmxlTmFtZSxcbiAgdGFibGVOYW1lLFxuICB0aW1lc3RhbXBzLFxufTogQXJncyk6IFJlc3VsdCA9PiB7XG4gIGNvbnN0IGNvbHVtbnM6IFJlY29yZDxzdHJpbmcsIFBnQ29sdW1uQnVpbGRlcj4gPSBiYXNlQ29sdW1uc1xuICBjb25zdCBpbmRleGVzOiBSZWNvcmQ8c3RyaW5nLCAoY29sczogR2VuZXJpY0NvbHVtbnMpID0+IEluZGV4QnVpbGRlcj4gPSB7fVxuXG4gIGxldCBoYXNMb2NhbGl6ZWRGaWVsZCA9IGZhbHNlXG4gIGxldCBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCA9IGZhbHNlXG4gIGxldCBoYXNNYW55TnVtYmVyRmllbGQ6ICdpbmRleCcgfCBib29sZWFuID0gZmFsc2VcbiAgbGV0IGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCA9IGZhbHNlXG5cbiAgY29uc3QgbG9jYWxlc0NvbHVtbnM6IFJlY29yZDxzdHJpbmcsIFBnQ29sdW1uQnVpbGRlcj4gPSB7fVxuICBjb25zdCBsb2NhbGVzSW5kZXhlczogUmVjb3JkPHN0cmluZywgKGNvbHM6IEdlbmVyaWNDb2x1bW5zKSA9PiBJbmRleEJ1aWxkZXI+ID0ge31cbiAgbGV0IGxvY2FsZXNUYWJsZTogR2VuZXJpY1RhYmxlXG4gIGxldCBudW1iZXJzVGFibGU6IEdlbmVyaWNUYWJsZVxuXG4gIC8vIFJlbGF0aW9uc2hpcHMgdG8gdGhlIGJhc2UgY29sbGVjdGlvblxuICBjb25zdCByZWxhdGlvbnNoaXBzOiBTZXQ8c3RyaW5nPiA9IHJvb3RSZWxhdGlvbnNoaXBzIHx8IG5ldyBTZXQoKVxuXG4gIGxldCByZWxhdGlvbnNoaXBzVGFibGU6IEdlbmVyaWNUYWJsZVxuXG4gIC8vIERyaXp6bGUgcmVsYXRpb25zXG4gIGNvbnN0IHJlbGF0aW9uc1RvQnVpbGQ6IE1hcDxzdHJpbmcsIHN0cmluZz4gPSBuZXcgTWFwKClcblxuICBjb25zdCBpZEZpZWxkID0gZmllbGRzLmZpbmQoKGZpZWxkKSA9PiBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJiBmaWVsZC5uYW1lID09PSAnaWQnKVxuICBsZXQgaWRDb2xUeXBlID0gJ2ludGVnZXInXG5cbiAgaWYgKGlkRmllbGQpIHtcbiAgICBpZiAoaWRGaWVsZC50eXBlID09PSAnbnVtYmVyJykge1xuICAgICAgaWRDb2xUeXBlID0gJ251bWVyaWMnXG4gICAgICBjb2x1bW5zLmlkID0gbnVtZXJpYygnaWQnKS5wcmltYXJ5S2V5KClcbiAgICB9XG5cbiAgICBpZiAoaWRGaWVsZC50eXBlID09PSAndGV4dCcpIHtcbiAgICAgIGlkQ29sVHlwZSA9ICd2YXJjaGFyJ1xuICAgICAgY29sdW1ucy5pZCA9IHZhcmNoYXIoJ2lkJykucHJpbWFyeUtleSgpXG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGNvbHVtbnMuaWQgPSBzZXJpYWwoJ2lkJykucHJpbWFyeUtleSgpXG4gIH1cblxuICA7KHtcbiAgICBoYXNMb2NhbGl6ZWRGaWVsZCxcbiAgICBoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQsXG4gICAgaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQsXG4gICAgaGFzTWFueU51bWJlckZpZWxkLFxuICB9ID0gdHJhdmVyc2VGaWVsZHMoe1xuICAgIGFkYXB0ZXIsXG4gICAgYnVpbGRSZWxhdGlvbnNoaXBzLFxuICAgIGNvbHVtbnMsXG4gICAgZGlzYWJsZVVuaXF1ZSxcbiAgICBmaWVsZHMsXG4gICAgaW5kZXhlcyxcbiAgICBsb2NhbGVzQ29sdW1ucyxcbiAgICBsb2NhbGVzSW5kZXhlcyxcbiAgICBuZXdUYWJsZU5hbWU6IHRhYmxlTmFtZSxcbiAgICBwYXJlbnRUYWJsZU5hbWU6IHRhYmxlTmFtZSxcbiAgICByZWxhdGlvbnNUb0J1aWxkLFxuICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgcm9vdFJlbGF0aW9uc1RvQnVpbGQ6IHJvb3RSZWxhdGlvbnNUb0J1aWxkIHx8IHJlbGF0aW9uc1RvQnVpbGQsXG4gICAgcm9vdFRhYmxlSURDb2xUeXBlOiByb290VGFibGVJRENvbFR5cGUgfHwgaWRDb2xUeXBlLFxuICAgIHJvb3RUYWJsZU5hbWU6IHJvb3RUYWJsZU5hbWUgfHwgdGFibGVOYW1lLFxuICB9KSlcblxuICBpZiAodGltZXN0YW1wcykge1xuICAgIGNvbHVtbnMuY3JlYXRlZEF0ID0gdGltZXN0YW1wKCdjcmVhdGVkX2F0Jywge1xuICAgICAgbW9kZTogJ3N0cmluZycsXG4gICAgICBwcmVjaXNpb246IDMsXG4gICAgICB3aXRoVGltZXpvbmU6IHRydWUsXG4gICAgfSlcbiAgICAgIC5kZWZhdWx0Tm93KClcbiAgICAgIC5ub3ROdWxsKClcbiAgICBjb2x1bW5zLnVwZGF0ZWRBdCA9IHRpbWVzdGFtcCgndXBkYXRlZF9hdCcsIHtcbiAgICAgIG1vZGU6ICdzdHJpbmcnLFxuICAgICAgcHJlY2lzaW9uOiAzLFxuICAgICAgd2l0aFRpbWV6b25lOiB0cnVlLFxuICAgIH0pXG4gICAgICAuZGVmYXVsdE5vdygpXG4gICAgICAubm90TnVsbCgpXG4gIH1cblxuICBjb25zdCB0YWJsZSA9IHBnVGFibGUodGFibGVOYW1lLCBjb2x1bW5zLCAoY29scykgPT4ge1xuICAgIGNvbnN0IGV4dHJhQ29uZmlnID0gT2JqZWN0LmVudHJpZXMoYmFzZUV4dHJhQ29uZmlnKS5yZWR1Y2UoKGNvbmZpZywgW2tleSwgZnVuY10pID0+IHtcbiAgICAgIGNvbmZpZ1trZXldID0gZnVuYyhjb2xzKVxuICAgICAgcmV0dXJuIGNvbmZpZ1xuICAgIH0sIHt9KVxuXG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGluZGV4ZXMpLnJlZHVjZSgoYWNjLCBbY29sTmFtZSwgZnVuY10pID0+IHtcbiAgICAgIGFjY1tjb2xOYW1lXSA9IGZ1bmMoY29scylcbiAgICAgIHJldHVybiBhY2NcbiAgICB9LCBleHRyYUNvbmZpZylcbiAgfSlcblxuICBhZGFwdGVyLnRhYmxlc1t0YWJsZU5hbWVdID0gdGFibGVcblxuICBpZiAoaGFzTG9jYWxpemVkRmllbGQpIHtcbiAgICBjb25zdCBsb2NhbGVUYWJsZU5hbWUgPSBgJHt0YWJsZU5hbWV9X2xvY2FsZXNgXG4gICAgbG9jYWxlc0NvbHVtbnMuaWQgPSBzZXJpYWwoJ2lkJykucHJpbWFyeUtleSgpXG4gICAgbG9jYWxlc0NvbHVtbnMuX2xvY2FsZSA9IGFkYXB0ZXIuZW51bXMuZW51bV9fbG9jYWxlcygnX2xvY2FsZScpLm5vdE51bGwoKVxuICAgIGxvY2FsZXNDb2x1bW5zLl9wYXJlbnRJRCA9IHBhcmVudElEQ29sdW1uTWFwW2lkQ29sVHlwZV0oJ19wYXJlbnRfaWQnKVxuICAgICAgLnJlZmVyZW5jZXMoKCkgPT4gdGFibGUuaWQsIHsgb25EZWxldGU6ICdjYXNjYWRlJyB9KVxuICAgICAgLm5vdE51bGwoKVxuXG4gICAgbG9jYWxlc1RhYmxlID0gcGdUYWJsZShsb2NhbGVUYWJsZU5hbWUsIGxvY2FsZXNDb2x1bW5zLCAoY29scykgPT4ge1xuICAgICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGxvY2FsZXNJbmRleGVzKS5yZWR1Y2UoXG4gICAgICAgIChhY2MsIFtjb2xOYW1lLCBmdW5jXSkgPT4ge1xuICAgICAgICAgIGFjY1tjb2xOYW1lXSA9IGZ1bmMoY29scylcbiAgICAgICAgICByZXR1cm4gYWNjXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBfbG9jYWxlUGFyZW50OiB1bmlxdWUoYCR7bG9jYWxlVGFibGVOYW1lfV9sb2NhbGVfcGFyZW50X2lkX3VuaXF1ZWApLm9uKFxuICAgICAgICAgICAgY29scy5fbG9jYWxlLFxuICAgICAgICAgICAgY29scy5fcGFyZW50SUQsXG4gICAgICAgICAgKSxcbiAgICAgICAgfSxcbiAgICAgIClcbiAgICB9KVxuXG4gICAgYWRhcHRlci50YWJsZXNbbG9jYWxlVGFibGVOYW1lXSA9IGxvY2FsZXNUYWJsZVxuXG4gICAgY29uc3QgbG9jYWxlc1RhYmxlUmVsYXRpb25zID0gcmVsYXRpb25zKGxvY2FsZXNUYWJsZSwgKHsgb25lIH0pID0+ICh7XG4gICAgICBfcGFyZW50SUQ6IG9uZSh0YWJsZSwge1xuICAgICAgICBmaWVsZHM6IFtsb2NhbGVzVGFibGUuX3BhcmVudElEXSxcbiAgICAgICAgcmVmZXJlbmNlczogW3RhYmxlLmlkXSxcbiAgICAgIH0pLFxuICAgIH0pKVxuXG4gICAgYWRhcHRlci5yZWxhdGlvbnNbYHJlbGF0aW9uc18ke2xvY2FsZVRhYmxlTmFtZX1gXSA9IGxvY2FsZXNUYWJsZVJlbGF0aW9uc1xuICB9XG5cbiAgaWYgKGhhc01hbnlOdW1iZXJGaWVsZCkge1xuICAgIGNvbnN0IG51bWJlcnNUYWJsZU5hbWUgPSBgJHt0YWJsZU5hbWV9X251bWJlcnNgXG4gICAgY29uc3QgY29sdW1uczogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPiA9IHtcbiAgICAgIGlkOiBzZXJpYWwoJ2lkJykucHJpbWFyeUtleSgpLFxuICAgICAgbnVtYmVyOiBudW1lcmljKCdudW1iZXInKSxcbiAgICAgIG9yZGVyOiBpbnRlZ2VyKCdvcmRlcicpLm5vdE51bGwoKSxcbiAgICAgIHBhcmVudDogcGFyZW50SURDb2x1bW5NYXBbaWRDb2xUeXBlXSgncGFyZW50X2lkJylcbiAgICAgICAgLnJlZmVyZW5jZXMoKCkgPT4gdGFibGUuaWQsIHsgb25EZWxldGU6ICdjYXNjYWRlJyB9KVxuICAgICAgICAubm90TnVsbCgpLFxuICAgICAgcGF0aDogdmFyY2hhcigncGF0aCcpLm5vdE51bGwoKSxcbiAgICB9XG5cbiAgICBpZiAoaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkKSB7XG4gICAgICBjb2x1bW5zLmxvY2FsZSA9IGFkYXB0ZXIuZW51bXMuZW51bV9fbG9jYWxlcygnbG9jYWxlJylcbiAgICB9XG5cbiAgICBudW1iZXJzVGFibGUgPSBwZ1RhYmxlKG51bWJlcnNUYWJsZU5hbWUsIGNvbHVtbnMsIChjb2xzKSA9PiB7XG4gICAgICBjb25zdCBpbmRleGVzOiBSZWNvcmQ8c3RyaW5nLCBJbmRleEJ1aWxkZXI+ID0ge1xuICAgICAgICBvcmRlclBhcmVudElkeDogaW5kZXgoJ29yZGVyX3BhcmVudF9pZHgnKS5vbihjb2xzLm9yZGVyLCBjb2xzLnBhcmVudCksXG4gICAgICB9XG5cbiAgICAgIGlmIChoYXNNYW55TnVtYmVyRmllbGQgPT09ICdpbmRleCcpIHtcbiAgICAgICAgaW5kZXhlcy5udW1iZXJJZHggPSBpbmRleCgnbnVtYmVyX2lkeCcpLm9uKGNvbHMubnVtYmVyKVxuICAgICAgfVxuXG4gICAgICBpZiAoaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkKSB7XG4gICAgICAgIGluZGV4ZXMubG9jYWxlUGFyZW50ID0gaW5kZXgoJ2xvY2FsZV9wYXJlbnQnKS5vbihjb2xzLmxvY2FsZSwgY29scy5wYXJlbnQpXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpbmRleGVzXG4gICAgfSlcblxuICAgIGFkYXB0ZXIudGFibGVzW251bWJlcnNUYWJsZU5hbWVdID0gbnVtYmVyc1RhYmxlXG5cbiAgICBjb25zdCBudW1iZXJzVGFibGVSZWxhdGlvbnMgPSByZWxhdGlvbnMobnVtYmVyc1RhYmxlLCAoeyBvbmUgfSkgPT4gKHtcbiAgICAgIHBhcmVudDogb25lKHRhYmxlLCB7XG4gICAgICAgIGZpZWxkczogW251bWJlcnNUYWJsZS5wYXJlbnRdLFxuICAgICAgICByZWZlcmVuY2VzOiBbdGFibGUuaWRdLFxuICAgICAgfSksXG4gICAgfSkpXG5cbiAgICBhZGFwdGVyLnJlbGF0aW9uc1tgcmVsYXRpb25zXyR7bnVtYmVyc1RhYmxlTmFtZX1gXSA9IG51bWJlcnNUYWJsZVJlbGF0aW9uc1xuICB9XG5cbiAgaWYgKGJ1aWxkUmVsYXRpb25zaGlwcykge1xuICAgIGlmIChyZWxhdGlvbnNoaXBzLnNpemUpIHtcbiAgICAgIGNvbnN0IHJlbGF0aW9uc2hpcENvbHVtbnM6IFJlY29yZDxzdHJpbmcsIFBnQ29sdW1uQnVpbGRlcj4gPSB7XG4gICAgICAgIGlkOiBzZXJpYWwoJ2lkJykucHJpbWFyeUtleSgpLFxuICAgICAgICBvcmRlcjogaW50ZWdlcignb3JkZXInKSxcbiAgICAgICAgcGFyZW50OiBwYXJlbnRJRENvbHVtbk1hcFtpZENvbFR5cGVdKCdwYXJlbnRfaWQnKVxuICAgICAgICAgIC5yZWZlcmVuY2VzKCgpID0+IHRhYmxlLmlkLCB7IG9uRGVsZXRlOiAnY2FzY2FkZScgfSlcbiAgICAgICAgICAubm90TnVsbCgpLFxuICAgICAgICBwYXRoOiB2YXJjaGFyKCdwYXRoJykubm90TnVsbCgpLFxuICAgICAgfVxuXG4gICAgICBpZiAoaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQpIHtcbiAgICAgICAgcmVsYXRpb25zaGlwQ29sdW1ucy5sb2NhbGUgPSBhZGFwdGVyLmVudW1zLmVudW1fX2xvY2FsZXMoJ2xvY2FsZScpXG4gICAgICB9XG5cbiAgICAgIHJlbGF0aW9uc2hpcHMuZm9yRWFjaCgocmVsYXRpb25UbykgPT4ge1xuICAgICAgICBjb25zdCBmb3JtYXR0ZWRSZWxhdGlvblRvID0gdG9TbmFrZUNhc2UocmVsYXRpb25UbylcbiAgICAgICAgbGV0IGNvbFR5cGUgPSAnaW50ZWdlcidcbiAgICAgICAgY29uc3QgcmVsYXRlZENvbGxlY3Rpb25DdXN0b21JRCA9IGFkYXB0ZXIucGF5bG9hZC5jb2xsZWN0aW9uc1tcbiAgICAgICAgICByZWxhdGlvblRvXG4gICAgICAgIF0uY29uZmlnLmZpZWxkcy5maW5kKChmaWVsZCkgPT4gZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgZmllbGQubmFtZSA9PT0gJ2lkJylcbiAgICAgICAgaWYgKHJlbGF0ZWRDb2xsZWN0aW9uQ3VzdG9tSUQ/LnR5cGUgPT09ICdudW1iZXInKSBjb2xUeXBlID0gJ251bWVyaWMnXG4gICAgICAgIGlmIChyZWxhdGVkQ29sbGVjdGlvbkN1c3RvbUlEPy50eXBlID09PSAndGV4dCcpIGNvbFR5cGUgPSAndmFyY2hhcidcblxuICAgICAgICByZWxhdGlvbnNoaXBDb2x1bW5zW2Ake3JlbGF0aW9uVG99SURgXSA9IHBhcmVudElEQ29sdW1uTWFwW2NvbFR5cGVdKFxuICAgICAgICAgIGAke2Zvcm1hdHRlZFJlbGF0aW9uVG99X2lkYCxcbiAgICAgICAgKS5yZWZlcmVuY2VzKCgpID0+IGFkYXB0ZXIudGFibGVzW2Zvcm1hdHRlZFJlbGF0aW9uVG9dLmlkLCB7IG9uRGVsZXRlOiAnY2FzY2FkZScgfSlcbiAgICAgIH0pXG5cbiAgICAgIGNvbnN0IHJlbGF0aW9uc2hpcHNUYWJsZU5hbWUgPSBgJHt0YWJsZU5hbWV9X3JlbHNgXG5cbiAgICAgIHJlbGF0aW9uc2hpcHNUYWJsZSA9IHBnVGFibGUocmVsYXRpb25zaGlwc1RhYmxlTmFtZSwgcmVsYXRpb25zaGlwQ29sdW1ucywgKGNvbHMpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHtcbiAgICAgICAgICBvcmRlcjogaW5kZXgoJ29yZGVyX2lkeCcpLm9uKGNvbHMub3JkZXIpLFxuICAgICAgICAgIHBhcmVudElkeDogaW5kZXgoJ3BhcmVudF9pZHgnKS5vbihjb2xzLnBhcmVudCksXG4gICAgICAgICAgcGF0aElkeDogaW5kZXgoJ3BhdGhfaWR4Jykub24oY29scy5wYXRoKSxcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCkge1xuICAgICAgICAgIHJlc3VsdC5sb2NhbGVJZHggPSBpbmRleCgnbG9jYWxlX2lkeCcpLm9uKGNvbHMubG9jYWxlKVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgICAgfSlcblxuICAgICAgYWRhcHRlci50YWJsZXNbcmVsYXRpb25zaGlwc1RhYmxlTmFtZV0gPSByZWxhdGlvbnNoaXBzVGFibGVcblxuICAgICAgY29uc3QgcmVsYXRpb25zaGlwc1RhYmxlUmVsYXRpb25zID0gcmVsYXRpb25zKHJlbGF0aW9uc2hpcHNUYWJsZSwgKHsgb25lIH0pID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBSZWxhdGlvbjxzdHJpbmc+PiA9IHtcbiAgICAgICAgICBwYXJlbnQ6IG9uZSh0YWJsZSwge1xuICAgICAgICAgICAgZmllbGRzOiBbcmVsYXRpb25zaGlwc1RhYmxlLnBhcmVudF0sXG4gICAgICAgICAgICByZWZlcmVuY2VzOiBbdGFibGUuaWRdLFxuICAgICAgICAgICAgcmVsYXRpb25OYW1lOiAnX3JlbHMnLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9XG5cbiAgICAgICAgcmVsYXRpb25zaGlwcy5mb3JFYWNoKChyZWxhdGlvblRvKSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVsYXRlZFRhYmxlTmFtZSA9IHRvU25ha2VDYXNlKHJlbGF0aW9uVG8pXG4gICAgICAgICAgY29uc3QgaWRDb2x1bW5OYW1lID0gYCR7cmVsYXRpb25Ub31JRGBcbiAgICAgICAgICByZXN1bHRbaWRDb2x1bW5OYW1lXSA9IG9uZShhZGFwdGVyLnRhYmxlc1tyZWxhdGVkVGFibGVOYW1lXSwge1xuICAgICAgICAgICAgZmllbGRzOiBbcmVsYXRpb25zaGlwc1RhYmxlW2lkQ29sdW1uTmFtZV1dLFxuICAgICAgICAgICAgcmVmZXJlbmNlczogW2FkYXB0ZXIudGFibGVzW3JlbGF0ZWRUYWJsZU5hbWVdLmlkXSxcbiAgICAgICAgICB9KVxuICAgICAgICB9KVxuXG4gICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgIH0pXG5cbiAgICAgIGFkYXB0ZXIucmVsYXRpb25zW2ByZWxhdGlvbnNfJHtyZWxhdGlvbnNoaXBzVGFibGVOYW1lfWBdID0gcmVsYXRpb25zaGlwc1RhYmxlUmVsYXRpb25zXG4gICAgfVxuICB9XG5cbiAgY29uc3QgdGFibGVSZWxhdGlvbnMgPSByZWxhdGlvbnModGFibGUsICh7IG1hbnkgfSkgPT4ge1xuICAgIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgUmVsYXRpb248c3RyaW5nPj4gPSB7fVxuXG4gICAgcmVsYXRpb25zVG9CdWlsZC5mb3JFYWNoKCh2YWwsIGtleSkgPT4ge1xuICAgICAgcmVzdWx0W2tleV0gPSBtYW55KGFkYXB0ZXIudGFibGVzW3ZhbF0pXG4gICAgfSlcblxuICAgIGlmIChoYXNMb2NhbGl6ZWRGaWVsZCkge1xuICAgICAgcmVzdWx0Ll9sb2NhbGVzID0gbWFueShsb2NhbGVzVGFibGUpXG4gICAgfVxuXG4gICAgaWYgKGhhc01hbnlOdW1iZXJGaWVsZCkge1xuICAgICAgcmVzdWx0Ll9udW1iZXJzID0gbWFueShudW1iZXJzVGFibGUpXG4gICAgfVxuXG4gICAgaWYgKHJlbGF0aW9uc2hpcHMuc2l6ZSAmJiByZWxhdGlvbnNoaXBzVGFibGUpIHtcbiAgICAgIHJlc3VsdC5fcmVscyA9IG1hbnkocmVsYXRpb25zaGlwc1RhYmxlLCB7XG4gICAgICAgIHJlbGF0aW9uTmFtZTogJ19yZWxzJyxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9KVxuXG4gIGFkYXB0ZXIucmVsYXRpb25zW2ByZWxhdGlvbnNfJHt0YWJsZU5hbWV9YF0gPSB0YWJsZVJlbGF0aW9uc1xuXG4gIHJldHVybiB7IHJlbGF0aW9uc1RvQnVpbGQgfVxufVxuIl0sIm5hbWVzIjpbImJ1aWxkVGFibGUiLCJhZGFwdGVyIiwiYmFzZUNvbHVtbnMiLCJiYXNlRXh0cmFDb25maWciLCJidWlsZFJlbGF0aW9uc2hpcHMiLCJkaXNhYmxlVW5pcXVlIiwiZmllbGRzIiwicm9vdFJlbGF0aW9uc1RvQnVpbGQiLCJyb290UmVsYXRpb25zaGlwcyIsInJvb3RUYWJsZUlEQ29sVHlwZSIsInJvb3RUYWJsZU5hbWUiLCJ0YWJsZU5hbWUiLCJ0aW1lc3RhbXBzIiwiY29sdW1ucyIsImluZGV4ZXMiLCJoYXNMb2NhbGl6ZWRGaWVsZCIsImhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkIiwiaGFzTWFueU51bWJlckZpZWxkIiwiaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkIiwibG9jYWxlc0NvbHVtbnMiLCJsb2NhbGVzSW5kZXhlcyIsImxvY2FsZXNUYWJsZSIsIm51bWJlcnNUYWJsZSIsInJlbGF0aW9uc2hpcHMiLCJTZXQiLCJyZWxhdGlvbnNoaXBzVGFibGUiLCJyZWxhdGlvbnNUb0J1aWxkIiwiTWFwIiwiaWRGaWVsZCIsImZpbmQiLCJmaWVsZCIsImZpZWxkQWZmZWN0c0RhdGEiLCJuYW1lIiwiaWRDb2xUeXBlIiwidHlwZSIsImlkIiwibnVtZXJpYyIsInByaW1hcnlLZXkiLCJ2YXJjaGFyIiwic2VyaWFsIiwidHJhdmVyc2VGaWVsZHMiLCJuZXdUYWJsZU5hbWUiLCJwYXJlbnRUYWJsZU5hbWUiLCJjcmVhdGVkQXQiLCJ0aW1lc3RhbXAiLCJtb2RlIiwicHJlY2lzaW9uIiwid2l0aFRpbWV6b25lIiwiZGVmYXVsdE5vdyIsIm5vdE51bGwiLCJ1cGRhdGVkQXQiLCJ0YWJsZSIsInBnVGFibGUiLCJjb2xzIiwiZXh0cmFDb25maWciLCJPYmplY3QiLCJlbnRyaWVzIiwicmVkdWNlIiwiY29uZmlnIiwia2V5IiwiZnVuYyIsImFjYyIsImNvbE5hbWUiLCJ0YWJsZXMiLCJsb2NhbGVUYWJsZU5hbWUiLCJfbG9jYWxlIiwiZW51bXMiLCJlbnVtX19sb2NhbGVzIiwiX3BhcmVudElEIiwicGFyZW50SURDb2x1bW5NYXAiLCJyZWZlcmVuY2VzIiwib25EZWxldGUiLCJfbG9jYWxlUGFyZW50IiwidW5pcXVlIiwib24iLCJsb2NhbGVzVGFibGVSZWxhdGlvbnMiLCJyZWxhdGlvbnMiLCJvbmUiLCJudW1iZXJzVGFibGVOYW1lIiwibnVtYmVyIiwib3JkZXIiLCJpbnRlZ2VyIiwicGFyZW50IiwicGF0aCIsImxvY2FsZSIsIm9yZGVyUGFyZW50SWR4IiwiaW5kZXgiLCJudW1iZXJJZHgiLCJsb2NhbGVQYXJlbnQiLCJudW1iZXJzVGFibGVSZWxhdGlvbnMiLCJzaXplIiwicmVsYXRpb25zaGlwQ29sdW1ucyIsImZvckVhY2giLCJyZWxhdGlvblRvIiwiZm9ybWF0dGVkUmVsYXRpb25UbyIsInRvU25ha2VDYXNlIiwiY29sVHlwZSIsInJlbGF0ZWRDb2xsZWN0aW9uQ3VzdG9tSUQiLCJwYXlsb2FkIiwiY29sbGVjdGlvbnMiLCJyZWxhdGlvbnNoaXBzVGFibGVOYW1lIiwicmVzdWx0IiwicGFyZW50SWR4IiwicGF0aElkeCIsImxvY2FsZUlkeCIsInJlbGF0aW9uc2hpcHNUYWJsZVJlbGF0aW9ucyIsInJlbGF0aW9uTmFtZSIsInJlbGF0ZWRUYWJsZU5hbWUiLCJpZENvbHVtbk5hbWUiLCJ0YWJsZVJlbGF0aW9ucyIsIm1hbnkiLCJ2YWwiLCJfbG9jYWxlcyIsIl9udW1iZXJzIiwiX3JlbHMiXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQzs7OzsrQkEyQ3ZCQTs7O2VBQUFBOzs7NEJBdENhO3dCQVVuQjt1QkFDMEI7b0VBQ1Q7bUNBSVU7Z0NBQ0g7Ozs7OztBQXFCeEIsTUFBTUEsYUFBYSxDQUFDLEVB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
249
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvYnVpbGQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgUmVsYXRpb24gfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB0eXBlIHsgSW5kZXhCdWlsZGVyLCBQZ0NvbHVtbkJ1aWxkZXIsIFVuaXF1ZUNvbnN0cmFpbnRCdWlsZGVyIH0gZnJvbSAnZHJpenpsZS1vcm0vcGctY29yZSdcbmltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyByZWxhdGlvbnMgfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB7XG4gIGluZGV4LFxuICBpbnRlZ2VyLFxuICBudW1lcmljLFxuICBwZ1RhYmxlLFxuICBzZXJpYWwsXG4gIHRpbWVzdGFtcCxcbiAgdW5pcXVlLFxuICB2YXJjaGFyLFxufSBmcm9tICdkcml6emxlLW9ybS9wZy1jb3JlJ1xuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5pbXBvcnQgdG9TbmFrZUNhc2UgZnJvbSAndG8tc25ha2UtY2FzZSdcblxuaW1wb3J0IHR5cGUgeyBHZW5lcmljQ29sdW1ucywgR2VuZXJpY1RhYmxlLCBQb3N0Z3Jlc0FkYXB0ZXIgfSBmcm9tICcuLi90eXBlcydcblxuaW1wb3J0IHsgcGFyZW50SURDb2x1bW5NYXAgfSBmcm9tICcuL3BhcmVudElEQ29sdW1uTWFwJ1xuaW1wb3J0IHsgdHJhdmVyc2VGaWVsZHMgfSBmcm9tICcuL3RyYXZlcnNlRmllbGRzJ1xuXG50eXBlIEFyZ3MgPSB7XG4gIGFkYXB0ZXI6IFBvc3RncmVzQWRhcHRlclxuICBiYXNlQ29sdW1ucz86IFJlY29yZDxzdHJpbmcsIFBnQ29sdW1uQnVpbGRlcj5cbiAgYmFzZUV4dHJhQ29uZmlnPzogUmVjb3JkPHN0cmluZywgKGNvbHM6IEdlbmVyaWNDb2x1bW5zKSA9PiBJbmRleEJ1aWxkZXIgfCBVbmlxdWVDb25zdHJhaW50QnVpbGRlcj5cbiAgYnVpbGRSZWxhdGlvbnNoaXBzPzogYm9vbGVhblxuICBkaXNhYmxlTm90TnVsbDogYm9vbGVhblxuICBkaXNhYmxlVW5pcXVlOiBib29sZWFuXG4gIGZpZWxkczogRmllbGRbXVxuICByb290UmVsYXRpb25zVG9CdWlsZD86IE1hcDxzdHJpbmcsIHN0cmluZz5cbiAgcm9vdFJlbGF0aW9uc2hpcHM/OiBTZXQ8c3RyaW5nPlxuICByb290VGFibGVJRENvbFR5cGU/OiBzdHJpbmdcbiAgcm9vdFRhYmxlTmFtZT86IHN0cmluZ1xuICB0YWJsZU5hbWU6IHN0cmluZ1xuICB0aW1lc3RhbXBzPzogYm9vbGVhblxufVxuXG50eXBlIFJlc3VsdCA9IHtcbiAgcmVsYXRpb25zVG9CdWlsZDogTWFwPHN0cmluZywgc3RyaW5nPlxufVxuXG5leHBvcnQgY29uc3QgYnVpbGRUYWJsZSA9ICh7XG4gIGFkYXB0ZXIsXG4gIGJhc2VDb2x1bW5zID0ge30sXG4gIGJhc2VFeHRyYUNvbmZpZyA9IHt9LFxuICBidWlsZFJlbGF0aW9uc2hpcHMsXG4gIGRpc2FibGVOb3ROdWxsLFxuICBkaXNhYmxlVW5pcXVlID0gZmFsc2UsXG4gIGZpZWxkcyxcbiAgcm9vdFJlbGF0aW9uc1RvQnVpbGQsXG4gIHJvb3RSZWxhdGlvbnNoaXBzLFxuICByb290VGFibGVJRENvbFR5cGUsXG4gIHJvb3RUYWJsZU5hbWUsXG4gIHRhYmxlTmFtZSxcbiAgdGltZXN0YW1wcyxcbn06IEFyZ3MpOiBSZXN1bHQgPT4ge1xuICBjb25zdCBjb2x1bW5zOiBSZWNvcmQ8c3RyaW5nLCBQZ0NvbHVtbkJ1aWxkZXI+ID0gYmFzZUNvbHVtbnNcbiAgY29uc3QgaW5kZXhlczogUmVjb3JkPHN0cmluZywgKGNvbHM6IEdlbmVyaWNDb2x1bW5zKSA9PiBJbmRleEJ1aWxkZXI+ID0ge31cblxuICBsZXQgaGFzTG9jYWxpemVkRmllbGQgPSBmYWxzZVxuICBsZXQgaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQgPSBmYWxzZVxuICBsZXQgaGFzTWFueU51bWJlckZpZWxkOiAnaW5kZXgnIHwgYm9vbGVhbiA9IGZhbHNlXG4gIGxldCBoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQgPSBmYWxzZVxuXG4gIGNvbnN0IGxvY2FsZXNDb2x1bW5zOiBSZWNvcmQ8c3RyaW5nLCBQZ0NvbHVtbkJ1aWxkZXI+ID0ge31cbiAgY29uc3QgbG9jYWxlc0luZGV4ZXM6IFJlY29yZDxzdHJpbmcsIChjb2xzOiBHZW5lcmljQ29sdW1ucykgPT4gSW5kZXhCdWlsZGVyPiA9IHt9XG4gIGxldCBsb2NhbGVzVGFibGU6IEdlbmVyaWNUYWJsZVxuICBsZXQgbnVtYmVyc1RhYmxlOiBHZW5lcmljVGFibGVcblxuICAvLyBSZWxhdGlvbnNoaXBzIHRvIHRoZSBiYXNlIGNvbGxlY3Rpb25cbiAgY29uc3QgcmVsYXRpb25zaGlwczogU2V0PHN0cmluZz4gPSByb290UmVsYXRpb25zaGlwcyB8fCBuZXcgU2V0KClcblxuICBsZXQgcmVsYXRpb25zaGlwc1RhYmxlOiBHZW5lcmljVGFibGVcblxuICAvLyBEcml6emxlIHJlbGF0aW9uc1xuICBjb25zdCByZWxhdGlvbnNUb0J1aWxkOiBNYXA8c3RyaW5nLCBzdHJpbmc+ID0gbmV3IE1hcCgpXG5cbiAgY29uc3QgaWRGaWVsZCA9IGZpZWxkcy5maW5kKChmaWVsZCkgPT4gZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgZmllbGQubmFtZSA9PT0gJ2lkJylcbiAgbGV0IGlkQ29sVHlwZSA9ICdpbnRlZ2VyJ1xuXG4gIGlmIChpZEZpZWxkKSB7XG4gICAgaWYgKGlkRmllbGQudHlwZSA9PT0gJ251bWJlcicpIHtcbiAgICAgIGlkQ29sVHlwZSA9ICdudW1lcmljJ1xuICAgICAgY29sdW1ucy5pZCA9IG51bWVyaWMoJ2lkJykucHJpbWFyeUtleSgpXG4gICAgfVxuXG4gICAgaWYgKGlkRmllbGQudHlwZSA9PT0gJ3RleHQnKSB7XG4gICAgICBpZENvbFR5cGUgPSAndmFyY2hhcidcbiAgICAgIGNvbHVtbnMuaWQgPSB2YXJjaGFyKCdpZCcpLnByaW1hcnlLZXkoKVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBjb2x1bW5zLmlkID0gc2VyaWFsKCdpZCcpLnByaW1hcnlLZXkoKVxuICB9XG5cbiAgOyh7XG4gICAgaGFzTG9jYWxpemVkRmllbGQsXG4gICAgaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkLFxuICAgIGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkLFxuICAgIGhhc01hbnlOdW1iZXJGaWVsZCxcbiAgfSA9IHRyYXZlcnNlRmllbGRzKHtcbiAgICBhZGFwdGVyLFxuICAgIGJ1aWxkUmVsYXRpb25zaGlwcyxcbiAgICBjb2x1bW5zLFxuICAgIGRpc2FibGVOb3ROdWxsLFxuICAgIGRpc2FibGVVbmlxdWUsXG4gICAgZmllbGRzLFxuICAgIGluZGV4ZXMsXG4gICAgbG9jYWxlc0NvbHVtbnMsXG4gICAgbG9jYWxlc0luZGV4ZXMsXG4gICAgbmV3VGFibGVOYW1lOiB0YWJsZU5hbWUsXG4gICAgcGFyZW50VGFibGVOYW1lOiB0YWJsZU5hbWUsXG4gICAgcmVsYXRpb25zVG9CdWlsZCxcbiAgICByZWxhdGlvbnNoaXBzLFxuICAgIHJvb3RSZWxhdGlvbnNUb0J1aWxkOiByb290UmVsYXRpb25zVG9CdWlsZCB8fCByZWxhdGlvbnNUb0J1aWxkLFxuICAgIHJvb3RUYWJsZUlEQ29sVHlwZTogcm9vdFRhYmxlSURDb2xUeXBlIHx8IGlkQ29sVHlwZSxcbiAgICByb290VGFibGVOYW1lOiByb290VGFibGVOYW1lIHx8IHRhYmxlTmFtZSxcbiAgfSkpXG5cbiAgaWYgKHRpbWVzdGFtcHMpIHtcbiAgICBjb2x1bW5zLmNyZWF0ZWRBdCA9IHRpbWVzdGFtcCgnY3JlYXRlZF9hdCcsIHtcbiAgICAgIG1vZGU6ICdzdHJpbmcnLFxuICAgICAgcHJlY2lzaW9uOiAzLFxuICAgICAgd2l0aFRpbWV6b25lOiB0cnVlLFxuICAgIH0pXG4gICAgICAuZGVmYXVsdE5vdygpXG4gICAgICAubm90TnVsbCgpXG4gICAgY29sdW1ucy51cGRhdGVkQXQgPSB0aW1lc3RhbXAoJ3VwZGF0ZWRfYXQnLCB7XG4gICAgICBtb2RlOiAnc3RyaW5nJyxcbiAgICAgIHByZWNpc2lvbjogMyxcbiAgICAgIHdpdGhUaW1lem9uZTogdHJ1ZSxcbiAgICB9KVxuICAgICAgLmRlZmF1bHROb3coKVxuICAgICAgLm5vdE51bGwoKVxuICB9XG5cbiAgY29uc3QgdGFibGUgPSBwZ1RhYmxlKHRhYmxlTmFtZSwgY29sdW1ucywgKGNvbHMpID0+IHtcbiAgICBjb25zdCBleHRyYUNvbmZpZyA9IE9iamVjdC5lbnRyaWVzKGJhc2VFeHRyYUNvbmZpZykucmVkdWNlKChjb25maWcsIFtrZXksIGZ1bmNdKSA9PiB7XG4gICAgICBjb25maWdba2V5XSA9IGZ1bmMoY29scylcbiAgICAgIHJldHVybiBjb25maWdcbiAgICB9LCB7fSlcblxuICAgIHJldHVybiBPYmplY3QuZW50cmllcyhpbmRleGVzKS5yZWR1Y2UoKGFjYywgW2NvbE5hbWUsIGZ1bmNdKSA9PiB7XG4gICAgICBhY2NbY29sTmFtZV0gPSBmdW5jKGNvbHMpXG4gICAgICByZXR1cm4gYWNjXG4gICAgfSwgZXh0cmFDb25maWcpXG4gIH0pXG5cbiAgYWRhcHRlci50YWJsZXNbdGFibGVOYW1lXSA9IHRhYmxlXG5cbiAgaWYgKGhhc0xvY2FsaXplZEZpZWxkKSB7XG4gICAgY29uc3QgbG9jYWxlVGFibGVOYW1lID0gYCR7dGFibGVOYW1lfV9sb2NhbGVzYFxuICAgIGxvY2FsZXNDb2x1bW5zLmlkID0gc2VyaWFsKCdpZCcpLnByaW1hcnlLZXkoKVxuICAgIGxvY2FsZXNDb2x1bW5zLl9sb2NhbGUgPSBhZGFwdGVyLmVudW1zLmVudW1fX2xvY2FsZXMoJ19sb2NhbGUnKS5ub3ROdWxsKClcbiAgICBsb2NhbGVzQ29sdW1ucy5fcGFyZW50SUQgPSBwYXJlbnRJRENvbHVtbk1hcFtpZENvbFR5cGVdKCdfcGFyZW50X2lkJylcbiAgICAgIC5yZWZlcmVuY2VzKCgpID0+IHRhYmxlLmlkLCB7IG9uRGVsZXRlOiAnY2FzY2FkZScgfSlcbiAgICAgIC5ub3ROdWxsKClcblxuICAgIGxvY2FsZXNUYWJsZSA9IHBnVGFibGUobG9jYWxlVGFibGVOYW1lLCBsb2NhbGVzQ29sdW1ucywgKGNvbHMpID0+IHtcbiAgICAgIHJldHVybiBPYmplY3QuZW50cmllcyhsb2NhbGVzSW5kZXhlcykucmVkdWNlKFxuICAgICAgICAoYWNjLCBbY29sTmFtZSwgZnVuY10pID0+IHtcbiAgICAgICAgICBhY2NbY29sTmFtZV0gPSBmdW5jKGNvbHMpXG4gICAgICAgICAgcmV0dXJuIGFjY1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgX2xvY2FsZVBhcmVudDogdW5pcXVlKGAke2xvY2FsZVRhYmxlTmFtZX1fbG9jYWxlX3BhcmVudF9pZF91bmlxdWVgKS5vbihcbiAgICAgICAgICAgIGNvbHMuX2xvY2FsZSxcbiAgICAgICAgICAgIGNvbHMuX3BhcmVudElELFxuICAgICAgICAgICksXG4gICAgICAgIH0sXG4gICAgICApXG4gICAgfSlcblxuICAgIGFkYXB0ZXIudGFibGVzW2xvY2FsZVRhYmxlTmFtZV0gPSBsb2NhbGVzVGFibGVcblxuICAgIGNvbnN0IGxvY2FsZXNUYWJsZVJlbGF0aW9ucyA9IHJlbGF0aW9ucyhsb2NhbGVzVGFibGUsICh7IG9uZSB9KSA9PiAoe1xuICAgICAgX3BhcmVudElEOiBvbmUodGFibGUsIHtcbiAgICAgICAgZmllbGRzOiBbbG9jYWxlc1RhYmxlLl9wYXJlbnRJRF0sXG4gICAgICAgIHJlZmVyZW5jZXM6IFt0YWJsZS5pZF0sXG4gICAgICB9KSxcbiAgICB9KSlcblxuICAgIGFkYXB0ZXIucmVsYXRpb25zW2ByZWxhdGlvbnNfJHtsb2NhbGVUYWJsZU5hbWV9YF0gPSBsb2NhbGVzVGFibGVSZWxhdGlvbnNcbiAgfVxuXG4gIGlmIChoYXNNYW55TnVtYmVyRmllbGQpIHtcbiAgICBjb25zdCBudW1iZXJzVGFibGVOYW1lID0gYCR7dGFibGVOYW1lfV9udW1iZXJzYFxuICAgIGNvbnN0IGNvbHVtbnM6IFJlY29yZDxzdHJpbmcsIFBnQ29sdW1uQnVpbGRlcj4gPSB7XG4gICAgICBpZDogc2VyaWFsKCdpZCcpLnByaW1hcnlLZXkoKSxcbiAgICAgIG51bWJlcjogbnVtZXJpYygnbnVtYmVyJyksXG4gICAgICBvcmRlcjogaW50ZWdlcignb3JkZXInKS5ub3ROdWxsKCksXG4gICAgICBwYXJlbnQ6IHBhcmVudElEQ29sdW1uTWFwW2lkQ29sVHlwZV0oJ3BhcmVudF9pZCcpXG4gICAgICAgIC5yZWZlcmVuY2VzKCgpID0+IHRhYmxlLmlkLCB7IG9uRGVsZXRlOiAnY2FzY2FkZScgfSlcbiAgICAgICAgLm5vdE51bGwoKSxcbiAgICAgIHBhdGg6IHZhcmNoYXIoJ3BhdGgnKS5ub3ROdWxsKCksXG4gICAgfVxuXG4gICAgaWYgKGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCkge1xuICAgICAgY29sdW1ucy5sb2NhbGUgPSBhZGFwdGVyLmVudW1zLmVudW1fX2xvY2FsZXMoJ2xvY2FsZScpXG4gICAgfVxuXG4gICAgbnVtYmVyc1RhYmxlID0gcGdUYWJsZShudW1iZXJzVGFibGVOYW1lLCBjb2x1bW5zLCAoY29scykgPT4ge1xuICAgICAgY29uc3QgaW5kZXhlczogUmVjb3JkPHN0cmluZywgSW5kZXhCdWlsZGVyPiA9IHtcbiAgICAgICAgb3JkZXJQYXJlbnRJZHg6IGluZGV4KCdvcmRlcl9wYXJlbnRfaWR4Jykub24oY29scy5vcmRlciwgY29scy5wYXJlbnQpLFxuICAgICAgfVxuXG4gICAgICBpZiAoaGFzTWFueU51bWJlckZpZWxkID09PSAnaW5kZXgnKSB7XG4gICAgICAgIGluZGV4ZXMubnVtYmVySWR4ID0gaW5kZXgoJ251bWJlcl9pZHgnKS5vbihjb2xzLm51bWJlcilcbiAgICAgIH1cblxuICAgICAgaWYgKGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCkge1xuICAgICAgICBpbmRleGVzLmxvY2FsZVBhcmVudCA9IGluZGV4KCdsb2NhbGVfcGFyZW50Jykub24oY29scy5sb2NhbGUsIGNvbHMucGFyZW50KVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gaW5kZXhlc1xuICAgIH0pXG5cbiAgICBhZGFwdGVyLnRhYmxlc1tudW1iZXJzVGFibGVOYW1lXSA9IG51bWJlcnNUYWJsZVxuXG4gICAgY29uc3QgbnVtYmVyc1RhYmxlUmVsYXRpb25zID0gcmVsYXRpb25zKG51bWJlcnNUYWJsZSwgKHsgb25lIH0pID0+ICh7XG4gICAgICBwYXJlbnQ6IG9uZSh0YWJsZSwge1xuICAgICAgICBmaWVsZHM6IFtudW1iZXJzVGFibGUucGFyZW50XSxcbiAgICAgICAgcmVmZXJlbmNlczogW3RhYmxlLmlkXSxcbiAgICAgIH0pLFxuICAgIH0pKVxuXG4gICAgYWRhcHRlci5yZWxhdGlvbnNbYHJlbGF0aW9uc18ke251bWJlcnNUYWJsZU5hbWV9YF0gPSBudW1iZXJzVGFibGVSZWxhdGlvbnNcbiAgfVxuXG4gIGlmIChidWlsZFJlbGF0aW9uc2hpcHMpIHtcbiAgICBpZiAocmVsYXRpb25zaGlwcy5zaXplKSB7XG4gICAgICBjb25zdCByZWxhdGlvbnNoaXBDb2x1bW5zOiBSZWNvcmQ8c3RyaW5nLCBQZ0NvbHVtbkJ1aWxkZXI+ID0ge1xuICAgICAgICBpZDogc2VyaWFsKCdpZCcpLnByaW1hcnlLZXkoKSxcbiAgICAgICAgb3JkZXI6IGludGVnZXIoJ29yZGVyJyksXG4gICAgICAgIHBhcmVudDogcGFyZW50SURDb2x1bW5NYXBbaWRDb2xUeXBlXSgncGFyZW50X2lkJylcbiAgICAgICAgICAucmVmZXJlbmNlcygoKSA9PiB0YWJsZS5pZCwgeyBvbkRlbGV0ZTogJ2Nhc2NhZGUnIH0pXG4gICAgICAgICAgLm5vdE51bGwoKSxcbiAgICAgICAgcGF0aDogdmFyY2hhcigncGF0aCcpLm5vdE51bGwoKSxcbiAgICAgIH1cblxuICAgICAgaWYgKGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkKSB7XG4gICAgICAgIHJlbGF0aW9uc2hpcENvbHVtbnMubG9jYWxlID0gYWRhcHRlci5lbnVtcy5lbnVtX19sb2NhbGVzKCdsb2NhbGUnKVxuICAgICAgfVxuXG4gICAgICByZWxhdGlvbnNoaXBzLmZvckVhY2goKHJlbGF0aW9uVG8pID0+IHtcbiAgICAgICAgY29uc3QgZm9ybWF0dGVkUmVsYXRpb25UbyA9IHRvU25ha2VDYXNlKHJlbGF0aW9uVG8pXG4gICAgICAgIGxldCBjb2xUeXBlID0gJ2ludGVnZXInXG4gICAgICAgIGNvbnN0IHJlbGF0ZWRDb2xsZWN0aW9uQ3VzdG9tSUQgPSBhZGFwdGVyLnBheWxvYWQuY29sbGVjdGlvbnNbXG4gICAgICAgICAgcmVsYXRpb25Ub1xuICAgICAgICBdLmNvbmZpZy5maWVsZHMuZmluZCgoZmllbGQpID0+IGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIGZpZWxkLm5hbWUgPT09ICdpZCcpXG4gICAgICAgIGlmIChyZWxhdGVkQ29sbGVjdGlvbkN1c3RvbUlEPy50eXBlID09PSAnbnVtYmVyJykgY29sVHlwZSA9ICdudW1lcmljJ1xuICAgICAgICBpZiAocmVsYXRlZENvbGxlY3Rpb25DdXN0b21JRD8udHlwZSA9PT0gJ3RleHQnKSBjb2xUeXBlID0gJ3ZhcmNoYXInXG5cbiAgICAgICAgcmVsYXRpb25zaGlwQ29sdW1uc1tgJHtyZWxhdGlvblRvfUlEYF0gPSBwYXJlbnRJRENvbHVtbk1hcFtjb2xUeXBlXShcbiAgICAgICAgICBgJHtmb3JtYXR0ZWRSZWxhdGlvblRvfV9pZGAsXG4gICAgICAgICkucmVmZXJlbmNlcygoKSA9PiBhZGFwdGVyLnRhYmxlc1tmb3JtYXR0ZWRSZWxhdGlvblRvXS5pZCwgeyBvbkRlbGV0ZTogJ2Nhc2NhZGUnIH0pXG4gICAgICB9KVxuXG4gICAgICBjb25zdCByZWxhdGlvbnNoaXBzVGFibGVOYW1lID0gYCR7dGFibGVOYW1lfV9yZWxzYFxuXG4gICAgICByZWxhdGlvbnNoaXBzVGFibGUgPSBwZ1RhYmxlKHJlbGF0aW9uc2hpcHNUYWJsZU5hbWUsIHJlbGF0aW9uc2hpcENvbHVtbnMsIChjb2xzKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7XG4gICAgICAgICAgb3JkZXI6IGluZGV4KCdvcmRlcl9pZHgnKS5vbihjb2xzLm9yZGVyKSxcbiAgICAgICAgICBwYXJlbnRJZHg6IGluZGV4KCdwYXJlbnRfaWR4Jykub24oY29scy5wYXJlbnQpLFxuICAgICAgICAgIHBhdGhJZHg6IGluZGV4KCdwYXRoX2lkeCcpLm9uKGNvbHMucGF0aCksXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQpIHtcbiAgICAgICAgICByZXN1bHQubG9jYWxlSWR4ID0gaW5kZXgoJ2xvY2FsZV9pZHgnKS5vbihjb2xzLmxvY2FsZSlcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgIH0pXG5cbiAgICAgIGFkYXB0ZXIudGFibGVzW3JlbGF0aW9uc2hpcHNUYWJsZU5hbWVdID0gcmVsYXRpb25zaGlwc1RhYmxlXG5cbiAgICAgIGNvbnN0IHJlbGF0aW9uc2hpcHNUYWJsZVJlbGF0aW9ucyA9IHJlbGF0aW9ucyhyZWxhdGlvbnNoaXBzVGFibGUsICh7IG9uZSB9KSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgUmVsYXRpb248c3RyaW5nPj4gPSB7XG4gICAgICAgICAgcGFyZW50OiBvbmUodGFibGUsIHtcbiAgICAgICAgICAgIGZpZWxkczogW3JlbGF0aW9uc2hpcHNUYWJsZS5wYXJlbnRdLFxuICAgICAgICAgICAgcmVmZXJlbmNlczogW3RhYmxlLmlkXSxcbiAgICAgICAgICAgIHJlbGF0aW9uTmFtZTogJ19yZWxzJyxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfVxuXG4gICAgICAgIHJlbGF0aW9uc2hpcHMuZm9yRWFjaCgocmVsYXRpb25UbykgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlbGF0ZWRUYWJsZU5hbWUgPSB0b1NuYWtlQ2FzZShyZWxhdGlvblRvKVxuICAgICAgICAgIGNvbnN0IGlkQ29sdW1uTmFtZSA9IGAke3JlbGF0aW9uVG99SURgXG4gICAgICAgICAgcmVzdWx0W2lkQ29sdW1uTmFtZV0gPSBvbmUoYWRhcHRlci50YWJsZXNbcmVsYXRlZFRhYmxlTmFtZV0sIHtcbiAgICAgICAgICAgIGZpZWxkczogW3JlbGF0aW9uc2hpcHNUYWJsZVtpZENvbHVtbk5hbWVdXSxcbiAgICAgICAgICAgIHJlZmVyZW5jZXM6IFthZGFwdGVyLnRhYmxlc1tyZWxhdGVkVGFibGVOYW1lXS5pZF0sXG4gICAgICAgICAgfSlcbiAgICAgICAgfSlcblxuICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICB9KVxuXG4gICAgICBhZGFwdGVyLnJlbGF0aW9uc1tgcmVsYXRpb25zXyR7cmVsYXRpb25zaGlwc1RhYmxlTmFtZX1gXSA9IHJlbGF0aW9uc2hpcHNUYWJsZVJlbGF0aW9uc1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHRhYmxlUmVsYXRpb25zID0gcmVsYXRpb25zKHRhYmxlLCAoeyBtYW55IH0pID0+IHtcbiAgICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIFJlbGF0aW9uPHN0cmluZz4+ID0ge31cblxuICAgIHJlbGF0aW9uc1RvQnVpbGQuZm9yRWFjaCgodmFsLCBrZXkpID0+IHtcbiAgICAgIHJlc3VsdFtrZXldID0gbWFueShhZGFwdGVyLnRhYmxlc1t2YWxdKVxuICAgIH0pXG5cbiAgICBpZiAoaGFzTG9jYWxpemVkRmllbGQpIHtcbiAgICAgIHJlc3VsdC5fbG9jYWxlcyA9IG1hbnkobG9jYWxlc1RhYmxlKVxuICAgIH1cblxuICAgIGlmIChoYXNNYW55TnVtYmVyRmllbGQpIHtcbiAgICAgIHJlc3VsdC5fbnVtYmVycyA9IG1hbnkobnVtYmVyc1RhYmxlKVxuICAgIH1cblxuICAgIGlmIChyZWxhdGlvbnNoaXBzLnNpemUgJiYgcmVsYXRpb25zaGlwc1RhYmxlKSB7XG4gICAgICByZXN1bHQuX3JlbHMgPSBtYW55KHJlbGF0aW9uc2hpcHNUYWJsZSwge1xuICAgICAgICByZWxhdGlvbk5hbWU6ICdfcmVscycsXG4gICAgICB9KVxuICAgIH1cblxuICAgIHJldHVybiByZXN1bHRcbiAgfSlcblxuICBhZGFwdGVyLnJlbGF0aW9uc1tgcmVsYXRpb25zXyR7dGFibGVOYW1lfWBdID0gdGFibGVSZWxhdGlvbnNcblxuICByZXR1cm4geyByZWxhdGlvbnNUb0J1aWxkIH1cbn1cbiJdLCJuYW1lcyI6WyJidWlsZFRhYmxlIiwiYWRhcHRlciIsImJhc2VDb2x1bW5zIiwiYmFzZUV4dHJhQ29uZmlnIiwiYnVpbGRSZWxhdGlvbnNoaXBzIiwiZGlzYWJsZU5vdE51bGwiLCJkaXNhYmxlVW5pcXVlIiwiZmllbGRzIiwicm9vdFJlbGF0aW9uc1RvQnVpbGQiLCJyb290UmVsYXRpb25zaGlwcyIsInJvb3RUYWJsZUlEQ29sVHlwZSIsInJvb3RUYWJsZU5hbWUiLCJ0YWJsZU5hbWUiLCJ0aW1lc3RhbXBzIiwiY29sdW1ucyIsImluZGV4ZXMiLCJoYXNMb2NhbGl6ZWRGaWVsZCIsImhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkIiwiaGFzTWFueU51bWJlckZpZWxkIiwiaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkIiwibG9jYWxlc0NvbHVtbnMiLCJsb2NhbGVzSW5kZXhlcyIsImxvY2FsZXNUYWJsZSIsIm51bWJlcnNUYWJsZSIsInJlbGF0aW9uc2hpcHMiLCJTZXQiLCJyZWxhdGlvbnNoaXBzVGFibGUiLCJyZWxhdGlvbnNUb0J1aWxkIiwiTWFwIiwiaWRGaWVsZCIsImZpbmQiLCJmaWVsZCIsImZpZWxkQWZmZWN0c0RhdGEiLCJuYW1lIiwiaWRDb2xUeXBlIiwidHlwZSIsImlkIiwibnVtZXJpYyIsInByaW1hcnlLZXkiLCJ2YXJjaGFyIiwic2VyaWFsIiwidHJhdmVyc2VGaWVsZHMiLCJuZXdUYWJsZU5hbWUiLCJwYXJlbnRUYWJsZU5hbWUiLCJjcmVhdGVkQXQiLCJ0aW1lc3RhbXAiLCJtb2RlIiwicHJlY2lzaW9uIiwid2l0aFRpbWV6b25lIiwiZGVmYXVsdE5vdyIsIm5vdE51bGwiLCJ1cGRhdGVkQXQiLCJ0YWJsZSIsInBnVGFibGUiLCJjb2xzIiwiZXh0cmFDb25maWciLCJPYmplY3QiLCJlbnRyaWVzIiwicmVkdWNlIiwiY29uZmlnIiwia2V5IiwiZnVuYyIsImFjYyIsImNvbE5hbWUiLCJ0YWJsZXMiLCJsb2NhbGVUYWJsZU5hbWUiLCJfbG9jYWxlIiwiZW51bXMiLCJlbnVtX19sb2NhbGVzIiwiX3BhcmVudElEIiwicGFyZW50SURDb2x1bW5NYXAiLCJyZWZlcmVuY2VzIiwib25EZWxldGUiLCJfbG9jYWxlUGFyZW50IiwidW5pcXVlIiwib24iLCJsb2NhbGVzVGFibGVSZWxhdGlvbnMiLCJyZWxhdGlvbnMiLCJvbmUiLCJudW1iZXJzVGFibGVOYW1lIiwibnVtYmVyIiwib3JkZXIiLCJpbnRlZ2VyIiwicGFyZW50IiwicGF0aCIsImxvY2FsZSIsIm9yZGVyUGFyZW50SWR4IiwiaW5kZXgiLCJudW1iZXJJZHgiLCJsb2NhbGVQYXJlbnQiLCJudW1iZXJzVGFibGVSZWxhdGlvbnMiLCJzaXplIiwicmVsYXRpb25zaGlwQ29sdW1ucyIsImZvckVhY2giLCJyZWxhdGlvblRvIiwiZm9ybWF0dGVkUmVsYXRpb25UbyIsInRvU25ha2VDYXNlIiwiY29sVHlwZSIsInJlbGF0ZWRDb2xsZWN0aW9uQ3VzdG9tSUQiLCJwYXlsb2FkIiwiY29sbGVjdGlvbnMiLCJyZWxhdGlvbnNoaXBzVGFibGVOYW1lIiwicmVzdWx0IiwicGFyZW50SWR4IiwicGF0aElkeCIsImxvY2FsZUlkeCIsInJlbGF0aW9uc2hpcHNUYWJsZVJlbGF0aW9ucyIsInJlbGF0aW9uTmFtZSIsInJlbGF0ZWRUYWJsZU5hbWUiLCJpZENvbHVtbk5hbWUiLCJ0YWJsZVJlbGF0aW9ucyIsIm1hbnkiLCJ2YWwiLCJfbG9jYWxlcyIsIl9udW1iZXJzIiwiX3JlbHMiXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQzs7OzsrQkE0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
@@ -6,6 +6,7 @@ type Args = {
6
6
  buildRelationships: boolean;
7
7
  columnPrefix?: string;
8
8
  columns: Record<string, PgColumnBuilder>;
9
+ disableNotNull: boolean;
9
10
  disableUnique?: boolean;
10
11
  fieldPrefix?: string;
11
12
  fields: (Field | TabAsField)[];
@@ -27,6 +28,6 @@ type Result = {
27
28
  hasLocalizedRelationshipField: boolean;
28
29
  hasManyNumberField: 'index' | boolean;
29
30
  };
30
- export declare const traverseFields: ({ adapter, buildRelationships, columnPrefix, columns, disableUnique, fieldPrefix, fields, forceLocalized, indexes, localesColumns, localesIndexes, newTableName, parentTableName, relationsToBuild, relationships, rootRelationsToBuild, rootTableIDColType, rootTableName, }: Args) => Result;
31
+ export declare const traverseFields: ({ adapter, buildRelationships, columnPrefix, columns, disableNotNull, disableUnique, fieldPrefix, fields, forceLocalized, indexes, localesColumns, localesIndexes, newTableName, parentTableName, relationsToBuild, relationships, rootRelationsToBuild, rootTableIDColType, rootTableName, }: Args) => Result;
31
32
  export {};
32
33
  //# sourceMappingURL=traverseFields.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../src/schema/traverseFields.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAA2B,MAAM,qBAAqB,CAAA;AACjG,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAoBtD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAQ/D,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,kBAAkB,EAAE,OAAO,CAAA;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IACxC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,CAAC,CAAA;IAC/D,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IAC/C,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,CAAC,CAAA;IACtE,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1B,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1C,kBAAkB,EAAE,MAAM,CAAA;IAC1B,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,KAAK,MAAM,GAAG;IACZ,iBAAiB,EAAE,OAAO,CAAA;IAC1B,2BAA2B,EAAE,OAAO,CAAA;IACpC,6BAA6B,EAAE,OAAO,CAAA;IACtC,kBAAkB,EAAE,OAAO,GAAG,OAAO,CAAA;CACtC,CAAA;AAED,eAAO,MAAM,cAAc,kRAmBxB,IAAI,KAAG,MA+dT,CAAA"}
1
+ {"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../src/schema/traverseFields.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAA2B,MAAM,qBAAqB,CAAA;AACjG,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAoBtD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAQ/D,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,eAAe,CAAA;IACxB,kBAAkB,EAAE,OAAO,CAAA;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IACxC,cAAc,EAAE,OAAO,CAAA;IACvB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,CAAC,CAAA;IAC/D,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IAC/C,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,CAAC,CAAA;IACtE,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1B,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1C,kBAAkB,EAAE,MAAM,CAAA;IAC1B,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,KAAK,MAAM,GAAG;IACZ,iBAAiB,EAAE,OAAO,CAAA;IAC1B,2BAA2B,EAAE,OAAO,CAAA;IACpC,6BAA6B,EAAE,OAAO,CAAA;IACtC,kBAAkB,EAAE,OAAO,GAAG,OAAO,CAAA;CACtC,CAAA;AAED,eAAO,MAAM,cAAc,kSAoBxB,IAAI,KAAG,MA4eT,CAAA"}
@@ -23,7 +23,7 @@ function _interop_require_default(obj) {
23
23
  default: obj
24
24
  };
25
25
  }
26
- const traverseFields = ({ adapter, buildRelationships, columnPrefix, columns, disableUnique = false, fieldPrefix, fields, forceLocalized, indexes, localesColumns, localesIndexes, newTableName, parentTableName, relationsToBuild, relationships, rootRelationsToBuild, rootTableIDColType, rootTableName })=>{
26
+ const traverseFields = ({ adapter, buildRelationships, columnPrefix, columns, disableNotNull, disableUnique = false, fieldPrefix, fields, forceLocalized, indexes, localesColumns, localesIndexes, newTableName, parentTableName, relationsToBuild, relationships, rootRelationsToBuild, rootTableIDColType, rootTableName })=>{
27
27
  let hasLocalizedField = false;
28
28
  let hasLocalizedRelationshipField = false;
29
29
  let hasManyNumberField = false;
@@ -112,7 +112,7 @@ const traverseFields = ({ adapter, buildRelationships, columnPrefix, columns, di
112
112
  case 'radio':
113
113
  case 'select':
114
114
  {
115
- const enumName = `enum_${newTableName}_${columnPrefix || ''}${(0, _tosnakecase.default)(field.name)}`;
115
+ const enumName = `enum_${newTableName}_${(0, _tosnakecase.default)(field.name)}`;
116
116
  adapter.enums[enumName] = (0, _pgcore.pgEnum)(enumName, field.options.map((option)=>{
117
117
  if ((0, _types.optionIsObject)(option)) {
118
118
  return option.value;
@@ -120,7 +120,7 @@ const traverseFields = ({ adapter, buildRelationships, columnPrefix, columns, di
120
120
  return option;
121
121
  }));
122
122
  if (field.type === 'select' && field.hasMany) {
123
- const selectTableName = `${newTableName}_${(0, _tosnakecase.default)(fieldName)}`;
123
+ const selectTableName = `${newTableName}_${(0, _tosnakecase.default)(field.name)}`;
124
124
  const baseColumns = {
125
125
  order: (0, _pgcore.integer)('order').notNull(),
126
126
  parent: _parentIDColumnMap.parentIDColumnMap[parentIDColType]('parent_id').references(()=>adapter.tables[parentTableName].id, {
@@ -143,6 +143,7 @@ const traverseFields = ({ adapter, buildRelationships, columnPrefix, columns, di
143
143
  adapter,
144
144
  baseColumns,
145
145
  baseExtraConfig,
146
+ disableNotNull,
146
147
  disableUnique,
147
148
  fields: [],
148
149
  tableName: selectTableName
@@ -193,6 +194,7 @@ const traverseFields = ({ adapter, buildRelationships, columnPrefix, columns, di
193
194
  adapter,
194
195
  baseColumns,
195
196
  baseExtraConfig,
197
+ disableNotNull,
196
198
  disableUnique,
197
199
  fields: field.fields,
198
200
  rootRelationsToBuild,
@@ -249,6 +251,7 @@ const traverseFields = ({ adapter, buildRelationships, columnPrefix, columns, di
249
251
  adapter,
250
252
  baseColumns,
251
253
  baseExtraConfig,
254
+ disableNotNull,
252
255
  disableUnique,
253
256
  fields: block.fields,
254
257
  rootRelationsToBuild,
@@ -298,6 +301,7 @@ const traverseFields = ({ adapter, buildRelationships, columnPrefix, columns, di
298
301
  buildRelationships,
299
302
  columnPrefix,
300
303
  columns,
304
+ disableNotNull,
301
305
  disableUnique,
302
306
  fieldPrefix,
303
307
  fields: field.fields,
@@ -324,6 +328,7 @@ const traverseFields = ({ adapter, buildRelationships, columnPrefix, columns, di
324
328
  buildRelationships,
325
329
  columnPrefix: `${columnName}_`,
326
330
  columns,
331
+ disableNotNull,
327
332
  disableUnique,
328
333
  fieldPrefix: `${fieldName}_`,
329
334
  fields: field.fields,
@@ -352,6 +357,7 @@ const traverseFields = ({ adapter, buildRelationships, columnPrefix, columns, di
352
357
  buildRelationships,
353
358
  columnPrefix,
354
359
  columns,
360
+ disableNotNull,
355
361
  disableUnique,
356
362
  fieldPrefix,
357
363
  fields: field.tabs.map((tab)=>({
@@ -384,6 +390,7 @@ const traverseFields = ({ adapter, buildRelationships, columnPrefix, columns, di
384
390
  buildRelationships,
385
391
  columnPrefix,
386
392
  columns,
393
+ disableNotNull,
387
394
  disableUnique,
388
395
  fieldPrefix,
389
396
  fields: field.fields,
@@ -420,7 +427,7 @@ const traverseFields = ({ adapter, buildRelationships, columnPrefix, columns, di
420
427
  break;
421
428
  }
422
429
  const condition = field.admin && field.admin.condition;
423
- if (targetTable[fieldName] && 'required' in field && field.required && !condition) {
430
+ if (!disableNotNull && targetTable[fieldName] && 'required' in field && field.required && !condition) {
424
431
  targetTable[fieldName].notNull();
425
432
  }
426
433
  });
@@ -432,4 +439,4 @@ const traverseFields = ({ adapter, buildRelationships, columnPrefix, columns, di
432
439
  };
433
440
  };
434
441
 
435
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvdHJhdmVyc2VGaWVsZHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgUmVsYXRpb24gfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB0eXBlIHsgSW5kZXhCdWlsZGVyLCBQZ0NvbHVtbkJ1aWxkZXIsIFVuaXF1ZUNvbnN0cmFpbnRCdWlsZGVyIH0gZnJvbSAnZHJpenpsZS1vcm0vcGctY29yZSdcbmltcG9ydCB0eXBlIHsgRmllbGQsIFRhYkFzRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyByZWxhdGlvbnMgfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB7XG4gIFBnTnVtZXJpY0J1aWxkZXIsXG4gIFBnVmFyY2hhckJ1aWxkZXIsXG4gIGJvb2xlYW4sXG4gIGluZGV4LFxuICBpbnRlZ2VyLFxuICBqc29uYixcbiAgbnVtZXJpYyxcbiAgcGdFbnVtLFxuICB0ZXh0LFxuICB0aW1lc3RhbXAsXG4gIHZhcmNoYXIsXG59IGZyb20gJ2RyaXp6bGUtb3JtL3BnLWNvcmUnXG5pbXBvcnQgeyBJbnZhbGlkQ29uZmlndXJhdGlvbiB9IGZyb20gJ3BheWxvYWQvZXJyb3JzJ1xuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSwgb3B0aW9uSXNPYmplY3QgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuaW1wb3J0IHRvU25ha2VDYXNlIGZyb20gJ3RvLXNuYWtlLWNhc2UnXG5cbmltcG9ydCB0eXBlIHsgR2VuZXJpY0NvbHVtbnMsIFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBoYXNMb2NhbGVzVGFibGUgfSBmcm9tICcuLi91dGlsaXRpZXMvaGFzTG9jYWxlc1RhYmxlJ1xuaW1wb3J0IHsgYnVpbGRUYWJsZSB9IGZyb20gJy4vYnVpbGQnXG5pbXBvcnQgeyBjcmVhdGVJbmRleCB9IGZyb20gJy4vY3JlYXRlSW5kZXgnXG5pbXBvcnQgeyBwYXJlbnRJRENvbHVtbk1hcCB9IGZyb20gJy4vcGFyZW50SURDb2x1bW5NYXAnXG5pbXBvcnQgeyB2YWxpZGF0ZUV4aXN0aW5nQmxvY2tJc0lkZW50aWNhbCB9IGZyb20gJy4vdmFsaWRhdGVFeGlzdGluZ0Jsb2NrSXNJZGVudGljYWwnXG5cbnR5cGUgQXJncyA9IHtcbiAgYWRhcHRlcjogUG9zdGdyZXNBZGFwdGVyXG4gIGJ1aWxkUmVsYXRpb25zaGlwczogYm9vbGVhblxuICBjb2x1bW5QcmVmaXg/OiBzdHJpbmdcbiAgY29sdW1uczogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPlxuICBkaXNhYmxlVW5pcXVlPzogYm9vbGVhblxuICBmaWVsZFByZWZpeD86IHN0cmluZ1xuICBmaWVsZHM6IChGaWVsZCB8IFRhYkFzRmllbGQpW11cbiAgZm9yY2VMb2NhbGl6ZWQ/OiBib29sZWFuXG4gIGluZGV4ZXM6IFJlY29yZDxzdHJpbmcsIChjb2xzOiBHZW5lcmljQ29sdW1ucykgPT4gSW5kZXhCdWlsZGVyPlxuICBsb2NhbGVzQ29sdW1uczogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPlxuICBsb2NhbGVzSW5kZXhlczogUmVjb3JkPHN0cmluZywgKGNvbHM6IEdlbmVyaWNDb2x1bW5zKSA9PiBJbmRleEJ1aWxkZXI+XG4gIG5ld1RhYmxlTmFtZTogc3RyaW5nXG4gIHBhcmVudFRhYmxlTmFtZTogc3RyaW5nXG4gIHJlbGF0aW9uc1RvQnVpbGQ6IE1hcDxzdHJpbmcsIHN0cmluZz5cbiAgcmVsYXRpb25zaGlwczogU2V0PHN0cmluZz5cbiAgcm9vdFJlbGF0aW9uc1RvQnVpbGQ/OiBNYXA8c3RyaW5nLCBzdHJpbmc+XG4gIHJvb3RUYWJsZUlEQ29sVHlwZTogc3RyaW5nXG4gIHJvb3RUYWJsZU5hbWU6IHN0cmluZ1xufVxuXG50eXBlIFJlc3VsdCA9IHtcbiAgaGFzTG9jYWxpemVkRmllbGQ6IGJvb2xlYW5cbiAgaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkOiBib29sZWFuXG4gIGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkOiBib29sZWFuXG4gIGhhc01hbnlOdW1iZXJGaWVsZDogJ2luZGV4JyB8IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IHRyYXZlcnNlRmllbGRzID0gKHtcbiAgYWRhcHRlcixcbiAgYnVpbGRSZWxhdGlvbnNoaXBzLFxuICBjb2x1bW5QcmVmaXgsXG4gIGNvbHVtbnMsXG4gIGRpc2FibGVVbmlxdWUgPSBmYWxzZSxcbiAgZmllbGRQcmVmaXgsXG4gIGZpZWxkcyxcbiAgZm9yY2VMb2NhbGl6ZWQsXG4gIGluZGV4ZXMsXG4gIGxvY2FsZXNDb2x1bW5zLFxuICBsb2NhbGVzSW5kZXhlcyxcbiAgbmV3VGFibGVOYW1lLFxuICBwYXJlbnRUYWJsZU5hbWUsXG4gIHJlbGF0aW9uc1RvQnVpbGQsXG4gIHJlbGF0aW9uc2hpcHMsXG4gIHJvb3RSZWxhdGlvbnNUb0J1aWxkLFxuICByb290VGFibGVJRENvbFR5cGUsXG4gIHJvb3RUYWJsZU5hbWUsXG59OiBBcmdzKTogUmVzdWx0ID0+IHtcbiAgbGV0IGhhc0xvY2FsaXplZEZpZWxkID0gZmFsc2VcbiAgbGV0IGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkID0gZmFsc2VcbiAgbGV0IGhhc01hbnlOdW1iZXJGaWVsZDogJ2luZGV4JyB8IGJvb2xlYW4gPSBmYWxzZVxuICBsZXQgaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkID0gZmFsc2VcblxuICBsZXQgcGFyZW50SURDb2xUeXBlID0gJ2ludGVnZXInXG4gIGlmIChjb2x1bW5zLmlkIGluc3RhbmNlb2YgUGdOdW1lcmljQnVpbGRlcikgcGFyZW50SURDb2xUeXBlID0gJ251bWVyaWMnXG4gIGlmIChjb2x1bW5zLmlkIGluc3RhbmNlb2YgUGdWYXJjaGFyQnVpbGRlcikgcGFyZW50SURDb2xUeXBlID0gJ3ZhcmNoYXInXG5cbiAgZmllbGRzLmZvckVhY2goKGZpZWxkKSA9PiB7XG4gICAgaWYgKCduYW1lJyBpbiBmaWVsZCAmJiBmaWVsZC5uYW1lID09PSAnaWQnKSByZXR1cm5cbiAgICBsZXQgY29sdW1uTmFtZTogc3RyaW5nXG4gICAgbGV0IGZpZWxkTmFtZTogc3RyaW5nXG5cbiAgICBsZXQgdGFyZ2V0VGFibGUgPSBjb2x1bW5zXG4gICAgbGV0IHRhcmdldEluZGV4ZXMgPSBpbmRleGVzXG5cbiAgICBpZiAoZmllbGRBZmZlY3RzRGF0YShmaWVsZCkpIHtcbiAgICAgIGNvbHVtbk5hbWUgPSBgJHtjb2x1bW5QcmVmaXggfHwgJyd9JHtmaWVsZC5uYW1lWzBdID09PSAnXycgPyAnXycgOiAnJ30ke3RvU25ha2VDYXNlKFxuICAgICAgICBmaWVsZC5uYW1lLFxuICAgICAgKX1gXG4gICAgICBmaWVsZE5hbWUgPSBgJHtmaWVsZFByZWZpeCB8fCAnJ30ke2ZpZWxkLm5hbWV9YFxuXG4gICAgICAvLyBJZiBmaWVsZCBpcyBsb2NhbGl6ZWQsXG4gICAgICAvLyBhZGQgdGhlIGNvbHVtbiB0byB0aGUgbG9jYWxlIHRhYmxlIGluc3RlYWQgb2YgbWFpbiB0YWJsZVxuICAgICAgaWYgKGFkYXB0ZXIucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uICYmIChmaWVsZC5sb2NhbGl6ZWQgfHwgZm9yY2VMb2NhbGl6ZWQpKSB7XG4gICAgICAgIGhhc0xvY2FsaXplZEZpZWxkID0gdHJ1ZVxuICAgICAgICB0YXJnZXRUYWJsZSA9IGxvY2FsZXNDb2x1bW5zXG4gICAgICAgIHRhcmdldEluZGV4ZXMgPSBsb2NhbGVzSW5kZXhlc1xuICAgICAgfVxuXG4gICAgICBpZiAoXG4gICAgICAgIChmaWVsZC51bmlxdWUgfHwgZmllbGQuaW5kZXgpICYmXG4gICAgICAgICFbJ2FycmF5JywgJ2Jsb2NrcycsICdncm91cCcsICdwb2ludCcsICdyZWxhdGlvbnNoaXAnLCAndXBsb2FkJ10uaW5jbHVkZXMoZmllbGQudHlwZSkgJiZcbiAgICAgICAgIShmaWVsZC50eXBlID09PSAnbnVtYmVyJyAmJiBmaWVsZC5oYXNNYW55ID09PSB0cnVlKVxuICAgICAgKSB7XG4gICAgICAgIHRhcmdldEluZGV4ZXNbYCR7ZmllbGQubmFtZX1JZHhgXSA9IGNyZWF0ZUluZGV4KHtcbiAgICAgICAgICBuYW1lOiBmaWVsZE5hbWUsXG4gICAgICAgICAgY29sdW1uTmFtZSxcbiAgICAgICAgICB1bmlxdWU6IGRpc2FibGVVbmlxdWUgIT09IHRydWUgJiYgZmllbGQudW5pcXVlLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH1cblxuICAgIHN3aXRjaCAoZmllbGQudHlwZSkge1xuICAgICAgY2FzZSAndGV4dCc6XG4gICAgICBjYXNlICdlbWFpbCc6XG4gICAgICBjYXNlICdjb2RlJzpcbiAgICAgIGNhc2UgJ3RleHRhcmVhJzoge1xuICAgICAgICB0YXJnZXRUYWJsZVtmaWVsZE5hbWVdID0gdmFyY2hhcihjb2x1bW5OYW1lKVxuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjYXNlICdudW1iZXInOiB7XG4gICAgICAgIGlmIChmaWVsZC5oYXNNYW55KSB7XG4gICAgICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCkge1xuICAgICAgICAgICAgaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkID0gdHJ1ZVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChmaWVsZC5pbmRleCkge1xuICAgICAgICAgICAgaGFzTWFueU51bWJlckZpZWxkID0gJ2luZGV4J1xuICAgICAgICAgIH0gZWxzZSBpZiAoIWhhc01hbnlOdW1iZXJGaWVsZCkge1xuICAgICAgICAgICAgaGFzTWFueU51bWJlckZpZWxkID0gdHJ1ZVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChmaWVsZC51bmlxdWUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkQ29uZmlndXJhdGlvbihcbiAgICAgICAgICAgICAgJ1VuaXF1ZSBpcyBub3Qgc3VwcG9ydGVkIGluIFBvc3RncmVzIGZvciBoYXNNYW55IG51bWJlciBmaWVsZHMuJyxcbiAgICAgICAgICAgIClcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGFyZ2V0VGFibGVbZmllbGROYW1lXSA9IG51bWVyaWMoY29sdW1uTmFtZSlcbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjYXNlICdyaWNoVGV4dCc6XG4gICAgICBjYXNlICdqc29uJzoge1xuICAgICAgICB0YXJnZXRUYWJsZVtmaWVsZE5hbWVdID0ganNvbmIoY29sdW1uTmFtZSlcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAnZGF0ZSc6IHtcbiAgICAgICAgdGFyZ2V0VGFibGVbZmllbGROYW1lXSA9IHRpbWVzdGFtcChjb2x1bW5OYW1lLCB7XG4gICAgICAgICAgbW9kZTogJ3N0cmluZycsXG4gICAgICAgICAgcHJlY2lzaW9uOiAzLFxuICAgICAgICAgIHdpdGhUaW1lem9uZTogdHJ1ZSxcbiAgICAgICAgfSlcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAncG9pbnQnOiB7XG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ3JhZGlvJzpcbiAgICAgIGNhc2UgJ3NlbGVjdCc6IHtcbiAgICAgICAgY29uc3QgZW51bU5hbWUgPSBgZW51bV8ke25ld1RhYmxlTmFtZX1fJHtjb2x1bW5QcmVmaXggfHwgJyd9JHt0b1NuYWtlQ2FzZShmaWVsZC5uYW1lKX1gXG5cbiAgICAgICAgYWRhcHRlci5lbnVtc1tlbnVtTmFtZV0gPSBwZ0VudW0oXG4gICAgICAgICAgZW51bU5hbWUsXG4gICAgICAgICAgZmllbGQub3B0aW9ucy5tYXAoKG9wdGlvbikgPT4ge1xuICAgICAgICAgICAgaWYgKG9wdGlvbklzT2JqZWN0KG9wdGlvbikpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbi52YWx1ZVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gb3B0aW9uXG4gICAgICAgICAgfSkgYXMgW3N0cmluZywgLi4uc3RyaW5nW11dLFxuICAgICAgICApXG5cbiAgICAgICAgaWYgKGZpZWxkLnR5cGUgPT09ICdzZWxlY3QnICYmIGZpZWxkLmhhc01hbnkpIHtcbiAgICAgICAgICBjb25zdCBzZWxlY3RUYWJsZU5hbWUgPSBgJHtuZXdUYWJsZU5hbWV9XyR7dG9TbmFrZUNhc2UoZmllbGROYW1lKX1gXG4gICAgICAgICAgY29uc3QgYmFzZUNvbHVtbnM6IFJlY29yZDxzdHJpbmcsIFBnQ29sdW1uQnVpbGRlcj4gPSB7XG4gICAgICAgICAgICBvcmRlcjogaW50ZWdlcignb3JkZXInKS5ub3ROdWxsKCksXG4gICAgICAgICAgICBwYXJlbnQ6IHBhcmVudElEQ29sdW1uTWFwW3BhcmVudElEQ29sVHlwZV0oJ3BhcmVudF9pZCcpXG4gICAgICAgICAgICAgIC5yZWZlcmVuY2VzKCgpID0+IGFkYXB0ZXIudGFibGVzW3BhcmVudFRhYmxlTmFtZV0uaWQsIHsgb25EZWxldGU6ICdjYXNjYWRlJyB9KVxuICAgICAgICAgICAgICAubm90TnVsbCgpLFxuICAgICAgICAgICAgdmFsdWU6IGFkYXB0ZXIuZW51bXNbZW51bU5hbWVdKCd2YWx1ZScpLFxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IGJhc2VFeHRyYUNvbmZpZzogUmVjb3JkPFxuICAgICAgICAgICAgc3RyaW5nLFxuICAgICAgICAgICAgKGNvbHM6IEdlbmVyaWNDb2x1bW5zKSA9PiBJbmRleEJ1aWxkZXIgfCBVbmlxdWVDb25zdHJhaW50QnVpbGRlclxuICAgICAgICAgID4gPSB7XG4gICAgICAgICAgICBvcmRlcklkeDogKGNvbHMpID0+IGluZGV4KCdvcmRlcl9pZHgnKS5vbihjb2xzLm9yZGVyKSxcbiAgICAgICAgICAgIHBhcmVudElkeDogKGNvbHMpID0+IGluZGV4KCdwYXJlbnRfaWR4Jykub24oY29scy5wYXJlbnQpLFxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgICAgIGJhc2VDb2x1bW5zLmxvY2FsZSA9IGFkYXB0ZXIuZW51bXMuZW51bV9fbG9jYWxlcygnbG9jYWxlJykubm90TnVsbCgpXG4gICAgICAgICAgICBiYXNlRXh0cmFDb25maWcubG9jYWxlSWR4ID0gKGNvbHMpID0+IGluZGV4KCdsb2NhbGVfaWR4Jykub24oY29scy5sb2NhbGUpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGZpZWxkLmluZGV4KSB7XG4gICAgICAgICAgICBiYXNlRXh0cmFDb25maWcudmFsdWUgPSAoY29scykgPT4gaW5kZXgoJ3ZhbHVlX2lkeCcpLm9uKGNvbHMudmFsdWUpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnVpbGRUYWJsZSh7XG4gICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgYmFzZUNvbHVtbnMsXG4gICAgICAgICAgICBiYXNlRXh0cmFDb25maWcsXG4gICAgICAgICAgICBkaXNhYmxlVW5pcXVlLFxuICAgICAgICAgICAgZmllbGRzOiBbXSxcbiAgICAgICAgICAgIHRhYmxlTmFtZTogc2VsZWN0VGFibGVOYW1lLFxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICByZWxhdGlvbnNUb0J1aWxkLnNldChmaWVsZE5hbWUsIHNlbGVjdFRhYmxlTmFtZSlcblxuICAgICAgICAgIGNvbnN0IHNlbGVjdFRhYmxlUmVsYXRpb25zID0gcmVsYXRpb25zKGFkYXB0ZXIudGFibGVzW3NlbGVjdFRhYmxlTmFtZV0sICh7IG9uZSB9KSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIFJlbGF0aW9uPHN0cmluZz4+ID0ge1xuICAgICAgICAgICAgICBwYXJlbnQ6IG9uZShhZGFwdGVyLnRhYmxlc1twYXJlbnRUYWJsZU5hbWVdLCB7XG4gICAgICAgICAgICAgICAgZmllbGRzOiBbYWRhcHRlci50YWJsZXNbc2VsZWN0VGFibGVOYW1lXS5wYXJlbnRdLFxuICAgICAgICAgICAgICAgIHJlZmVyZW5jZXM6IFthZGFwdGVyLnRhYmxlc1twYXJlbnRUYWJsZU5hbWVdLmlkXSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgYWRhcHRlci5yZWxhdGlvbnNbYHJlbGF0aW9uXyR7c2VsZWN0VGFibGVOYW1lfWBdID0gc2VsZWN0VGFibGVSZWxhdGlvbnNcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0YXJnZXRUYWJsZVtmaWVsZE5hbWVdID0gYWRhcHRlci5lbnVtc1tlbnVtTmFtZV0oZmllbGROYW1lKVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ2NoZWNrYm94Jzoge1xuICAgICAgICB0YXJnZXRUYWJsZVtmaWVsZE5hbWVdID0gYm9vbGVhbihjb2x1bW5OYW1lKVxuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjYXNlICdhcnJheSc6IHtcbiAgICAgICAgY29uc3QgYXJyYXlUYWJsZU5hbWUgPSBgJHtuZXdUYWJsZU5hbWV9XyR7dG9TbmFrZUNhc2UoZmllbGQubmFtZSl9YFxuICAgICAgICBjb25zdCBiYXNlQ29sdW1uczogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPiA9IHtcbiAgICAgICAgICBfb3JkZXI6IGludGVnZXIoJ19vcmRlcicpLm5vdE51bGwoKSxcbiAgICAgICAgICBfcGFyZW50SUQ6IHBhcmVudElEQ29sdW1uTWFwW3BhcmVudElEQ29sVHlwZV0oJ19wYXJlbnRfaWQnKVxuICAgICAgICAgICAgLnJlZmVyZW5jZXMoKCkgPT4gYWRhcHRlci50YWJsZXNbcGFyZW50VGFibGVOYW1lXS5pZCwgeyBvbkRlbGV0ZTogJ2Nhc2NhZGUnIH0pXG4gICAgICAgICAgICAubm90TnVsbCgpLFxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYmFzZUV4dHJhQ29uZmlnOiBSZWNvcmQ8XG4gICAgICAgICAgc3RyaW5nLFxuICAgICAgICAgIChjb2xzOiBHZW5lcmljQ29sdW1ucykgPT4gSW5kZXhCdWlsZGVyIHwgVW5pcXVlQ29uc3RyYWludEJ1aWxkZXJcbiAgICAgICAgPiA9IHtcbiAgICAgICAgICBfb3JkZXJJZHg6IChjb2xzKSA9PiBpbmRleCgnX29yZGVyX2lkeCcpLm9uKGNvbHMuX29yZGVyKSxcbiAgICAgICAgICBfcGFyZW50SURJZHg6IChjb2xzKSA9PiBpbmRleCgnX3BhcmVudF9pZF9pZHgnKS5vbihjb2xzLl9wYXJlbnRJRCksXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZmllbGQubG9jYWxpemVkICYmIGFkYXB0ZXIucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uKSB7XG4gICAgICAgICAgYmFzZUNvbHVtbnMuX2xvY2FsZSA9IGFkYXB0ZXIuZW51bXMuZW51bV9fbG9jYWxlcygnX2xvY2FsZScpLm5vdE51bGwoKVxuICAgICAgICAgIGJhc2VFeHRyYUNvbmZpZy5fbG9jYWxlSWR4ID0gKGNvbHMpID0+IGluZGV4KCdfbG9jYWxlX2lkeCcpLm9uKGNvbHMuX2xvY2FsZSlcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHsgcmVsYXRpb25zVG9CdWlsZDogc3ViUmVsYXRpb25zVG9CdWlsZCB9ID0gYnVpbGRUYWJsZSh7XG4gICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICBiYXNlQ29sdW1ucyxcbiAgICAgICAgICBiYXNlRXh0cmFDb25maWcsXG4gICAgICAgICAgZGlzYWJsZVVuaXF1ZSxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICByb290UmVsYXRpb25zVG9CdWlsZCxcbiAgICAgICAgICByb290UmVsYXRpb25zaGlwczogcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICByb290VGFibGVJRENvbFR5cGUsXG4gICAgICAgICAgcm9vdFRhYmxlTmFtZSxcbiAgICAgICAgICB0YWJsZU5hbWU6IGFycmF5VGFibGVOYW1lLFxuICAgICAgICB9KVxuXG4gICAgICAgIHJlbGF0aW9uc1RvQnVpbGQuc2V0KGZpZWxkTmFtZSwgYXJyYXlUYWJsZU5hbWUpXG5cbiAgICAgICAgY29uc3QgYXJyYXlUYWJsZVJlbGF0aW9ucyA9IHJlbGF0aW9ucyhhZGFwdGVyLnRhYmxlc1thcnJheVRhYmxlTmFtZV0sICh7IG1hbnksIG9uZSB9KSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBSZWxhdGlvbjxzdHJpbmc+PiA9IHtcbiAgICAgICAgICAgIF9wYXJlbnRJRDogb25lKGFkYXB0ZXIudGFibGVzW3BhcmVudFRhYmxlTmFtZV0sIHtcbiAgICAgICAgICAgICAgZmllbGRzOiBbYWRhcHRlci50YWJsZXNbYXJyYXlUYWJsZU5hbWVdLl9wYXJlbnRJRF0sXG4gICAgICAgICAgICAgIHJlZmVyZW5jZXM6IFthZGFwdGVyLnRhYmxlc1twYXJlbnRUYWJsZU5hbWVdLmlkXSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChoYXNMb2NhbGVzVGFibGUoZmllbGQuZmllbGRzKSkge1xuICAgICAgICAgICAgcmVzdWx0Ll9sb2NhbGVzID0gbWFueShhZGFwdGVyLnRhYmxlc1tgJHthcnJheVRhYmxlTmFtZX1fbG9jYWxlc2BdKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHN1YlJlbGF0aW9uc1RvQnVpbGQuZm9yRWFjaCgodmFsLCBrZXkpID0+IHtcbiAgICAgICAgICAgIHJlc3VsdFtrZXldID0gbWFueShhZGFwdGVyLnRhYmxlc1t2YWxdKVxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICAgIH0pXG5cbiAgICAgICAgYWRhcHRlci5yZWxhdGlvbnNbYHJlbGF0aW9uc18ke2FycmF5VGFibGVOYW1lfWBdID0gYXJyYXlUYWJsZVJlbGF0aW9uc1xuXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ2Jsb2Nrcyc6IHtcbiAgICAgICAgZmllbGQuYmxvY2tzLmZvckVhY2goKGJsb2NrKSA9PiB7XG4gICAgICAgICAgY29uc3QgYmxvY2tUYWJsZU5hbWUgPSBgJHtyb290VGFibGVOYW1lfV9ibG9ja3NfJHt0b1NuYWtlQ2FzZShibG9jay5zbHVnKX1gXG4gICAgICAgICAgaWYgKCFhZGFwdGVyLnRhYmxlc1tibG9ja1RhYmxlTmFtZV0pIHtcbiAgICAgICAgICAgIGNvbnN0IGJhc2VDb2x1bW5zOiBSZWNvcmQ8c3RyaW5nLCBQZ0NvbHVtbkJ1aWxkZXI+ID0ge1xuICAgICAgICAgICAgICBfb3JkZXI6IGludGVnZXIoJ19vcmRlcicpLm5vdE51bGwoKSxcbiAgICAgICAgICAgICAgX3BhcmVudElEOiBwYXJlbnRJRENvbHVtbk1hcFtyb290VGFibGVJRENvbFR5cGVdKCdfcGFyZW50X2lkJylcbiAgICAgICAgICAgICAgICAucmVmZXJlbmNlcygoKSA9PiBhZGFwdGVyLnRhYmxlc1tyb290VGFibGVOYW1lXS5pZCwgeyBvbkRlbGV0ZTogJ2Nhc2NhZGUnIH0pXG4gICAgICAgICAgICAgICAgLm5vdE51bGwoKSxcbiAgICAgICAgICAgICAgX3BhdGg6IHRleHQoJ19wYXRoJykubm90TnVsbCgpLFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBiYXNlRXh0cmFDb25maWc6IFJlY29yZDxcbiAgICAgICAgICAgICAgc3RyaW5nLFxuICAgICAgICAgICAgICAoY29sczogR2VuZXJpY0NvbHVtbnMpID0+IEluZGV4QnVpbGRlciB8IFVuaXF1ZUNvbnN0cmFpbnRCdWlsZGVyXG4gICAgICAgICAgICA+ID0ge1xuICAgICAgICAgICAgICBfb3JkZXJJZHg6IChjb2xzKSA9PiBpbmRleCgnb3JkZXJfaWR4Jykub24oY29scy5fb3JkZXIpLFxuICAgICAgICAgICAgICBfcGFyZW50SURJZHg6IChjb2xzKSA9PiBpbmRleCgncGFyZW50X2lkX2lkeCcpLm9uKGNvbHMuX3BhcmVudElEKSxcbiAgICAgICAgICAgICAgX3BhdGhJZHg6IChjb2xzKSA9PiBpbmRleCgncGF0aF9pZHgnKS5vbihjb2xzLl9wYXRoKSxcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCAmJiBhZGFwdGVyLnBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvbikge1xuICAgICAgICAgICAgICBiYXNlQ29sdW1ucy5fbG9jYWxlID0gYWRhcHRlci5lbnVtcy5lbnVtX19sb2NhbGVzKCdfbG9jYWxlJykubm90TnVsbCgpXG4gICAgICAgICAgICAgIGJhc2VFeHRyYUNvbmZpZy5fbG9jYWxlSWR4ID0gKGNvbHMpID0+IGluZGV4KCdsb2NhbGVfaWR4Jykub24oY29scy5fbG9jYWxlKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB7IHJlbGF0aW9uc1RvQnVpbGQ6IHN1YlJlbGF0aW9uc1RvQnVpbGQgfSA9IGJ1aWxkVGFibGUoe1xuICAgICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgICBiYXNlQ29sdW1ucyxcbiAgICAgICAgICAgICAgYmFzZUV4dHJhQ29uZmlnLFxuICAgICAgICAgICAgICBkaXNhYmxlVW5pcXVlLFxuICAgICAgICAgICAgICBmaWVsZHM6IGJsb2NrLmZpZWxkcyxcbiAgICAgICAgICAgICAgcm9vdFJlbGF0aW9uc1RvQnVpbGQsXG4gICAgICAgICAgICAgIHJvb3RSZWxhdGlvbnNoaXBzOiByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgICByb290VGFibGVJRENvbFR5cGUsXG4gICAgICAgICAgICAgIHJvb3RUYWJsZU5hbWUsXG4gICAgICAgICAgICAgIHRhYmxlTmFtZTogYmxvY2tUYWJsZU5hbWUsXG4gICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICBjb25zdCBibG9ja1RhYmxlUmVsYXRpb25zID0gcmVsYXRpb25zKFxuICAgICAgICAgICAgICBhZGFwdGVyLnRhYmxlc1tibG9ja1RhYmxlTmFtZV0sXG4gICAgICAgICAgICAgICh7IG1hbnksIG9uZSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBSZWxhdGlvbjxzdHJpbmc+PiA9IHtcbiAgICAgICAgICAgICAgICAgIF9wYXJlbnRJRDogb25lKGFkYXB0ZXIudGFibGVzW3Jvb3RUYWJsZU5hbWVdLCB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkczogW2FkYXB0ZXIudGFibGVzW2Jsb2NrVGFibGVOYW1lXS5fcGFyZW50SURdLFxuICAgICAgICAgICAgICAgICAgICByZWZlcmVuY2VzOiBbYWRhcHRlci50YWJsZXNbcm9vdFRhYmxlTmFtZV0uaWRdLFxuICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGhhc0xvY2FsZXNUYWJsZShibG9jay5maWVsZHMpKSB7XG4gICAgICAgICAgICAgICAgICByZXN1bHQuX2xvY2FsZXMgPSBtYW55KGFkYXB0ZXIudGFibGVzW2Ake2Jsb2NrVGFibGVOYW1lfV9sb2NhbGVzYF0pXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgc3ViUmVsYXRpb25zVG9CdWlsZC5mb3JFYWNoKCh2YWwsIGtleSkgPT4ge1xuICAgICAgICAgICAgICAgICAgcmVzdWx0W2tleV0gPSBtYW55KGFkYXB0ZXIudGFibGVzW3ZhbF0pXG4gICAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcblxuICAgICAgICAgICAgYWRhcHRlci5yZWxhdGlvbnNbYHJlbGF0aW9uc18ke2Jsb2NrVGFibGVOYW1lfWBdID0gYmxvY2tUYWJsZVJlbGF0aW9uc1xuICAgICAgICAgIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgICAgICAgdmFsaWRhdGVFeGlzdGluZ0Jsb2NrSXNJZGVudGljYWwoe1xuICAgICAgICAgICAgICBibG9jayxcbiAgICAgICAgICAgICAgbG9jYWxpemVkOiBmaWVsZC5sb2NhbGl6ZWQsXG4gICAgICAgICAgICAgIHJvb3RUYWJsZU5hbWUsXG4gICAgICAgICAgICAgIHRhYmxlOiBhZGFwdGVyLnRhYmxlc1tibG9ja1RhYmxlTmFtZV0sXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJvb3RSZWxhdGlvbnNUb0J1aWxkLnNldChgX2Jsb2Nrc18ke2Jsb2NrLnNsdWd9YCwgYmxvY2tUYWJsZU5hbWUpXG4gICAgICAgIH0pXG5cbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAndGFiJzpcbiAgICAgIGNhc2UgJ2dyb3VwJzoge1xuICAgICAgICBpZiAoISgnbmFtZScgaW4gZmllbGQpKSB7XG4gICAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgaGFzTG9jYWxpemVkRmllbGQ6IGdyb3VwSGFzTG9jYWxpemVkRmllbGQsXG4gICAgICAgICAgICBoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQ6IGdyb3VwSGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkLFxuICAgICAgICAgICAgaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQ6IGdyb3VwSGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQsXG4gICAgICAgICAgICBoYXNNYW55TnVtYmVyRmllbGQ6IGdyb3VwSGFzTWFueU51bWJlckZpZWxkLFxuICAgICAgICAgIH0gPSB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgICAgYnVpbGRSZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgY29sdW1uUHJlZml4LFxuICAgICAgICAgICAgY29sdW1ucyxcbiAgICAgICAgICAgIGRpc2FibGVVbmlxdWUsXG4gICAgICAgICAgICBmaWVsZFByZWZpeCxcbiAgICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgZm9yY2VMb2NhbGl6ZWQsXG4gICAgICAgICAgICBpbmRleGVzLFxuICAgICAgICAgICAgbG9jYWxlc0NvbHVtbnMsXG4gICAgICAgICAgICBsb2NhbGVzSW5kZXhlcyxcbiAgICAgICAgICAgIG5ld1RhYmxlTmFtZSxcbiAgICAgICAgICAgIHBhcmVudFRhYmxlTmFtZSxcbiAgICAgICAgICAgIHJlbGF0aW9uc1RvQnVpbGQsXG4gICAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgICAgcm9vdFJlbGF0aW9uc1RvQnVpbGQsXG4gICAgICAgICAgICByb290VGFibGVJRENvbFR5cGUsXG4gICAgICAgICAgICByb290VGFibGVOYW1lLFxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICBpZiAoZ3JvdXBIYXNMb2NhbGl6ZWRGaWVsZCkgaGFzTG9jYWxpemVkRmllbGQgPSB0cnVlXG4gICAgICAgICAgaWYgKGdyb3VwSGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQpIGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkID0gdHJ1ZVxuICAgICAgICAgIGlmIChncm91cEhhc01hbnlOdW1iZXJGaWVsZCkgaGFzTWFueU51bWJlckZpZWxkID0gdHJ1ZVxuICAgICAgICAgIGlmIChncm91cEhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCkgaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkID0gdHJ1ZVxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgaGFzTG9jYWxpemVkRmllbGQ6IGdyb3VwSGFzTG9jYWxpemVkRmllbGQsXG4gICAgICAgICAgaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkOiBncm91cEhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCxcbiAgICAgICAgICBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZDogZ3JvdXBIYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCxcbiAgICAgICAgICBoYXNNYW55TnVtYmVyRmllbGQ6IGdyb3VwSGFzTWFueU51bWJlckZpZWxkLFxuICAgICAgICB9ID0gdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgYnVpbGRSZWxhdGlvbnNoaXBzLFxuICAgICAgICAgIGNvbHVtblByZWZpeDogYCR7Y29sdW1uTmFtZX1fYCxcbiAgICAgICAgICBjb2x1bW5zLFxuICAgICAgICAgIGRpc2FibGVVbmlxdWUsXG4gICAgICAgICAgZmllbGRQcmVmaXg6IGAke2ZpZWxkTmFtZX1fYCxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICBmb3JjZUxvY2FsaXplZDogZmllbGQubG9jYWxpemVkLFxuICAgICAgICAgIGluZGV4ZXMsXG4gICAgICAgICAgbG9jYWxlc0NvbHVtbnMsXG4gICAgICAgICAgbG9jYWxlc0luZGV4ZXMsXG4gICAgICAgICAgbmV3VGFibGVOYW1lOiBgJHtwYXJlbnRUYWJsZU5hbWV9XyR7Y29sdW1uTmFtZX1gLFxuICAgICAgICAgIHBhcmVudFRhYmxlTmFtZSxcbiAgICAgICAgICByZWxhdGlvbnNUb0J1aWxkLFxuICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgcm9vdFJlbGF0aW9uc1RvQnVpbGQsXG4gICAgICAgICAgcm9vdFRhYmxlSURDb2xUeXBlLFxuICAgICAgICAgIHJvb3RUYWJsZU5hbWUsXG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKGdyb3VwSGFzTG9jYWxpemVkRmllbGQpIGhhc0xvY2FsaXplZEZpZWxkID0gdHJ1ZVxuICAgICAgICBpZiAoZ3JvdXBIYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCkgaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQgPSB0cnVlXG4gICAgICAgIGlmIChncm91cEhhc01hbnlOdW1iZXJGaWVsZCkgaGFzTWFueU51bWJlckZpZWxkID0gdHJ1ZVxuICAgICAgICBpZiAoZ3JvdXBIYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQpIGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCA9IHRydWVcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAndGFicyc6IHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgIGhhc0xvY2FsaXplZEZpZWxkOiB0YWJIYXNMb2NhbGl6ZWRGaWVsZCxcbiAgICAgICAgICBoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQ6IHRhYkhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCxcbiAgICAgICAgICBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZDogdGFiSGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQsXG4gICAgICAgICAgaGFzTWFueU51bWJlckZpZWxkOiB0YWJIYXNNYW55TnVtYmVyRmllbGQsXG4gICAgICAgIH0gPSB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICBidWlsZFJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgY29sdW1uUHJlZml4LFxuICAgICAgICAgIGNvbHVtbnMsXG4gICAgICAgICAgZGlzYWJsZVVuaXF1ZSxcbiAgICAgICAgICBmaWVsZFByZWZpeCxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkLnRhYnMubWFwKCh0YWIpID0+ICh7IC4uLnRhYiwgdHlwZTogJ3RhYicgfSkpLFxuICAgICAgICAgIGZvcmNlTG9jYWxpemVkLFxuICAgICAgICAgIGluZGV4ZXMsXG4gICAgICAgICAgbG9jYWxlc0NvbHVtbnMsXG4gICAgICAgICAgbG9jYWxlc0luZGV4ZXMsXG4gICAgICAgICAgbmV3VGFibGVOYW1lLFxuICAgICAgICAgIHBhcmVudFRhYmxlTmFtZSxcbiAgICAgICAgICByZWxhdGlvbnNUb0J1aWxkLFxuICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgcm9vdFJlbGF0aW9uc1RvQnVpbGQsXG4gICAgICAgICAgcm9vdFRhYmxlSURDb2xUeXBlLFxuICAgICAgICAgIHJvb3RUYWJsZU5hbWUsXG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKHRhYkhhc0xvY2FsaXplZEZpZWxkKSBoYXNMb2NhbGl6ZWRGaWVsZCA9IHRydWVcbiAgICAgICAgaWYgKHRhYkhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkKSBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCA9IHRydWVcbiAgICAgICAgaWYgKHRhYkhhc01hbnlOdW1iZXJGaWVsZCkgaGFzTWFueU51bWJlckZpZWxkID0gdHJ1ZVxuICAgICAgICBpZiAodGFiSGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkKSBoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQgPSB0cnVlXG5cbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAncm93JzpcbiAgICAgIGNhc2UgJ2NvbGxhcHNpYmxlJzoge1xuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgaGFzTG9jYWxpemVkRmllbGQ6IHJvd0hhc0xvY2FsaXplZEZpZWxkLFxuICAgICAgICAgIGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZDogcm93SGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkLFxuICAgICAgICAgIGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkOiByb3dIYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCxcbiAgICAgICAgICBoYXNNYW55TnVtYmVyRmllbGQ6IHJvd0hhc01hbnlOdW1iZXJGaWVsZCxcbiAgICAgICAgfSA9IHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgIGJ1aWxkUmVsYXRpb25zaGlwcyxcbiAgICAgICAgICBjb2x1bW5QcmVmaXgsXG4gICAgICAgICAgY29sdW1ucyxcbiAgICAgICAgICBkaXNhYmxlVW5pcXVlLFxuICAgICAgICAgIGZpZWxkUHJlZml4LFxuICAgICAgICAgIGZpZWxkczogZmllbGQuZmllbGRzLFxuICAgICAgICAgIGZvcmNlTG9jYWxpemVkLFxuICAgICAgICAgIGluZGV4ZXMsXG4gICAgICAgICAgbG9jYWxlc0NvbHVtbnMsXG4gICAgICAgICAgbG9jYWxlc0luZGV4ZXMsXG4gICAgICAgICAgbmV3VGFibGVOYW1lOiBwYXJlbnRUYWJsZU5hbWUsXG4gICAgICAgICAgcGFyZW50VGFibGVOYW1lLFxuICAgICAgICAgIHJlbGF0aW9uc1RvQnVpbGQsXG4gICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICByb290UmVsYXRpb25zVG9CdWlsZCxcbiAgICAgICAgICByb290VGFibGVJRENvbFR5cGUsXG4gICAgICAgICAgcm9vdFRhYmxlTmFtZSxcbiAgICAgICAgfSlcblxuICAgICAgICBpZiAocm93SGFzTG9jYWxpemVkRmllbGQpIGhhc0xvY2FsaXplZEZpZWxkID0gdHJ1ZVxuICAgICAgICBpZiAocm93SGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQpIGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkID0gdHJ1ZVxuICAgICAgICBpZiAocm93SGFzTWFueU51bWJlckZpZWxkKSBoYXNNYW55TnVtYmVyRmllbGQgPSB0cnVlXG4gICAgICAgIGlmIChyb3dIYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQpIGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCA9IHRydWVcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAncmVsYXRpb25zaGlwJzpcbiAgICAgIGNhc2UgJ3VwbG9hZCc6XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGZpZWxkLnJlbGF0aW9uVG8pKSB7XG4gICAgICAgICAgZmllbGQucmVsYXRpb25Uby5mb3JFYWNoKChyZWxhdGlvbikgPT4gcmVsYXRpb25zaGlwcy5hZGQocmVsYXRpb24pKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlbGF0aW9uc2hpcHMuYWRkKGZpZWxkLnJlbGF0aW9uVG8pXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZmllbGQubG9jYWxpemVkICYmIGFkYXB0ZXIucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uKSB7XG4gICAgICAgICAgaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQgPSB0cnVlXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWtcbiAgICB9XG5cbiAgICBjb25zdCBjb25kaXRpb24gPSBmaWVsZC5hZG1pbiAmJiBmaWVsZC5hZG1pbi5jb25kaXRpb25cblxuICAgIGlmICh0YXJnZXRUYWJsZVtmaWVsZE5hbWVdICYmICdyZXF1aXJlZCcgaW4gZmllbGQgJiYgZmllbGQucmVxdWlyZWQgJiYgIWNvbmRpdGlvbikge1xuICAgICAgdGFyZ2V0VGFibGVbZmllbGROYW1lXS5ub3ROdWxsKClcbiAgICB9XG4gIH0pXG5cbiAgcmV0dXJuIHtcbiAgICBoYXNMb2NhbGl6ZWRGaWVsZCxcbiAgICBoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQsXG4gICAgaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQsXG4gICAgaGFzTWFueU51bWJlckZpZWxkLFxuICB9XG59XG4iXSwibmFtZXMiOlsidHJhdmVyc2VGaWVsZHMiLCJhZGFwdGVyIiwiYnVpbGRSZWxhdGlvbnNoaXBzIiwiY29sdW1uUHJlZml4IiwiY29sdW1ucyIsImRpc2FibGVVbmlxdWUiLCJmaWVsZFByZWZpeCIsImZpZWxkcyIsImZvcmNlTG9jYWxpemVkIiwiaW5kZXhlcyIsImxvY2FsZXNDb2x1bW5zIiwibG9jYWxlc0luZGV4ZXMiLCJuZXdUYWJsZU5hbWUiLCJwYXJlbnRUYWJsZU5hbWUiLCJyZWxhdGlvbnNUb0J1aWxkIiwicmVsYXRpb25zaGlwcyIsInJvb3RSZWxhdGlvbnNUb0J1aWxkIiwicm9vdFRhYmxlSURDb2xUeXBlIiwicm9vdFRhYmxlTmFtZSIsImhhc0xvY2FsaXplZEZpZWxkIiwiaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQiLCJoYXNNYW55TnVtYmVyRmllbGQiLCJoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQiLCJwYXJlbnRJRENvbFR5cGUiLCJpZCIsIlBnTnVtZXJpY0J1aWxkZXIiLCJQZ1ZhcmNoYXJCdWlsZGVyIiwiZm9yRWFjaCIsImZpZWxkIiwibmFtZSIsImNvbHVtbk5hbWUiLCJmaWVsZE5hbWUiLCJ0YXJnZXRUYWJsZSIsInRhcmdldEluZGV4ZXMiLCJmaWVsZEFmZmVjdHNEYXRhIiwidG9TbmFrZUNhc2UiLCJwYXlsb2FkIiwiY29uZmlnIiwibG9jYWxpemF0aW9uIiwibG9jYWxpemVkIiwidW5pcXVlIiwiaW5kZXgiLCJpbmNsdWRlcyIsInR5cGUiLCJoYXNNYW55IiwiY3JlYXRlSW5kZXgiLCJ2YXJjaGFyIiwiSW52YWxpZENvbmZpZ3VyYXRpb24iLCJudW1lcmljIiwianNvbmIiLCJ0aW1lc3RhbXAiLCJtb2RlIiwicHJlY2lzaW9uIiwid2l0aFRpbWV6b25lIiwiZW51bU5hbWUiLCJlbnVtcyIsInBnRW51bSIsIm9wdGlvbnMiLCJtYXAiLCJvcHRpb24iLCJvcHRpb25Jc09iamVjdCIsInZhbHVlIiwic2VsZWN0VGFibGVOYW1lIiwiYmFzZUNvbHVtbnMiLCJvcmRlciIsImludGVnZXIiLCJub3ROdWxsIiwicGFyZW50IiwicGFyZW50SURDb2x1bW5NYXAiLCJyZWZlcmVuY2VzIiwidGFibGVzIiwib25EZWxldGUiLCJiYXNlRXh0cmFDb25maWciLCJvcmRlcklkeCIsImNvbHMiLCJvbiIsInBhcmVudElkeCIsImxvY2FsZSIsImVudW1fX2xvY2FsZXMiLCJsb2NhbGVJZHgiLCJidWlsZFRhYmxlIiwidGFibGVOYW1lIiwic2V0Iiwic2VsZWN0VGFibGVSZWxhdGlvbnMiLCJyZWxhdGlvbnMiLCJvbmUiLCJyZXN1bHQiLCJib29sZWFuIiwiYXJyYXlUYWJsZU5hbWUiLCJfb3JkZXIiLCJfcGFyZW50SUQiLCJfb3JkZXJJZHgiLCJfcGFyZW50SURJZHgiLCJfbG9jYWxlIiwiX2xvY2FsZUlkeCIsInN1YlJlbGF0aW9uc1RvQnVpbGQiLCJyb290UmVsYXRpb25zaGlwcyIsImFycmF5VGFibGVSZWxhdGlvbnMiLCJtYW55IiwiaGFzTG9jYWxlc1RhYmxlIiwiX2xvY2FsZXMiLCJ2YWwiLCJrZXkiLCJibG9ja3MiLCJibG9jayIsImJsb2NrVGFibGVOYW1lIiwic2x1ZyIsIl9wYXRoIiwidGV4dCIsIl9wYXRoSWR4IiwiYmxvY2tUYWJsZVJlbGF0aW9ucyIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsInZhbGlkYXRlRXhpc3RpbmdCbG9ja0lzSWRlbnRpY2FsIiwidGFibGUiLCJncm91cEhhc0xvY2FsaXplZEZpZWxkIiwiZ3JvdXBIYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQiLCJncm91cEhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkIiwiZ3JvdXBIYXNNYW55TnVtYmVyRmllbGQiLCJ0YWJIYXNMb2NhbGl6ZWRGaWVsZCIsInRhYkhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCIsInRhYkhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkIiwidGFiSGFzTWFueU51bWJlckZpZWxkIiwidGFicyIsInRhYiIsInJvd0hhc0xvY2FsaXplZEZpZWxkIiwicm93SGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkIiwicm93SGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQiLCJyb3dIYXNNYW55TnVtYmVyRmllbGQiLCJBcnJheSIsImlzQXJyYXkiLCJyZWxhdGlvblRvIiwicmVsYXRpb24iLCJhZGQiLCJjb25kaXRpb24iLCJhZG1pbiIsInJlcXVpcmVkIl0sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7Ozs7K0JBMkR2QkE7OztlQUFBQTs7OzRCQXREYTt3QkFhbkI7d0JBQzhCO3VCQUNZO29FQUN6QjtpQ0FJUTt1QkFDTDs2QkFDQzttQ0FDTTtrREFDZTs7Ozs7O0FBOEIxQyxNQUFNQSxpQkFBaUIsQ0FBQyxFQUM3QkMsT0FBTyxFQUNQQyxrQkFBa0IsRUFDbEJDLFlBQVksRUFDWkMsT0FBTyxFQUNQQyxnQkFBZ0IsS0FBSyxFQUNyQkMsV0FBVyxFQUNYQyxNQUFNLEVBQ05DLGNBQWMs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
442
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY2hlbWEvdHJhdmVyc2VGaWVsZHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cbmltcG9ydCB0eXBlIHsgUmVsYXRpb24gfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB0eXBlIHsgSW5kZXhCdWlsZGVyLCBQZ0NvbHVtbkJ1aWxkZXIsIFVuaXF1ZUNvbnN0cmFpbnRCdWlsZGVyIH0gZnJvbSAnZHJpenpsZS1vcm0vcGctY29yZSdcbmltcG9ydCB0eXBlIHsgRmllbGQsIFRhYkFzRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyByZWxhdGlvbnMgfSBmcm9tICdkcml6emxlLW9ybSdcbmltcG9ydCB7XG4gIFBnTnVtZXJpY0J1aWxkZXIsXG4gIFBnVmFyY2hhckJ1aWxkZXIsXG4gIGJvb2xlYW4sXG4gIGluZGV4LFxuICBpbnRlZ2VyLFxuICBqc29uYixcbiAgbnVtZXJpYyxcbiAgcGdFbnVtLFxuICB0ZXh0LFxuICB0aW1lc3RhbXAsXG4gIHZhcmNoYXIsXG59IGZyb20gJ2RyaXp6bGUtb3JtL3BnLWNvcmUnXG5pbXBvcnQgeyBJbnZhbGlkQ29uZmlndXJhdGlvbiB9IGZyb20gJ3BheWxvYWQvZXJyb3JzJ1xuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSwgb3B0aW9uSXNPYmplY3QgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuaW1wb3J0IHRvU25ha2VDYXNlIGZyb20gJ3RvLXNuYWtlLWNhc2UnXG5cbmltcG9ydCB0eXBlIHsgR2VuZXJpY0NvbHVtbnMsIFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBoYXNMb2NhbGVzVGFibGUgfSBmcm9tICcuLi91dGlsaXRpZXMvaGFzTG9jYWxlc1RhYmxlJ1xuaW1wb3J0IHsgYnVpbGRUYWJsZSB9IGZyb20gJy4vYnVpbGQnXG5pbXBvcnQgeyBjcmVhdGVJbmRleCB9IGZyb20gJy4vY3JlYXRlSW5kZXgnXG5pbXBvcnQgeyBwYXJlbnRJRENvbHVtbk1hcCB9IGZyb20gJy4vcGFyZW50SURDb2x1bW5NYXAnXG5pbXBvcnQgeyB2YWxpZGF0ZUV4aXN0aW5nQmxvY2tJc0lkZW50aWNhbCB9IGZyb20gJy4vdmFsaWRhdGVFeGlzdGluZ0Jsb2NrSXNJZGVudGljYWwnXG5cbnR5cGUgQXJncyA9IHtcbiAgYWRhcHRlcjogUG9zdGdyZXNBZGFwdGVyXG4gIGJ1aWxkUmVsYXRpb25zaGlwczogYm9vbGVhblxuICBjb2x1bW5QcmVmaXg/OiBzdHJpbmdcbiAgY29sdW1uczogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPlxuICBkaXNhYmxlTm90TnVsbDogYm9vbGVhblxuICBkaXNhYmxlVW5pcXVlPzogYm9vbGVhblxuICBmaWVsZFByZWZpeD86IHN0cmluZ1xuICBmaWVsZHM6IChGaWVsZCB8IFRhYkFzRmllbGQpW11cbiAgZm9yY2VMb2NhbGl6ZWQ/OiBib29sZWFuXG4gIGluZGV4ZXM6IFJlY29yZDxzdHJpbmcsIChjb2xzOiBHZW5lcmljQ29sdW1ucykgPT4gSW5kZXhCdWlsZGVyPlxuICBsb2NhbGVzQ29sdW1uczogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPlxuICBsb2NhbGVzSW5kZXhlczogUmVjb3JkPHN0cmluZywgKGNvbHM6IEdlbmVyaWNDb2x1bW5zKSA9PiBJbmRleEJ1aWxkZXI+XG4gIG5ld1RhYmxlTmFtZTogc3RyaW5nXG4gIHBhcmVudFRhYmxlTmFtZTogc3RyaW5nXG4gIHJlbGF0aW9uc1RvQnVpbGQ6IE1hcDxzdHJpbmcsIHN0cmluZz5cbiAgcmVsYXRpb25zaGlwczogU2V0PHN0cmluZz5cbiAgcm9vdFJlbGF0aW9uc1RvQnVpbGQ/OiBNYXA8c3RyaW5nLCBzdHJpbmc+XG4gIHJvb3RUYWJsZUlEQ29sVHlwZTogc3RyaW5nXG4gIHJvb3RUYWJsZU5hbWU6IHN0cmluZ1xufVxuXG50eXBlIFJlc3VsdCA9IHtcbiAgaGFzTG9jYWxpemVkRmllbGQ6IGJvb2xlYW5cbiAgaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkOiBib29sZWFuXG4gIGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkOiBib29sZWFuXG4gIGhhc01hbnlOdW1iZXJGaWVsZDogJ2luZGV4JyB8IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IHRyYXZlcnNlRmllbGRzID0gKHtcbiAgYWRhcHRlcixcbiAgYnVpbGRSZWxhdGlvbnNoaXBzLFxuICBjb2x1bW5QcmVmaXgsXG4gIGNvbHVtbnMsXG4gIGRpc2FibGVOb3ROdWxsLFxuICBkaXNhYmxlVW5pcXVlID0gZmFsc2UsXG4gIGZpZWxkUHJlZml4LFxuICBmaWVsZHMsXG4gIGZvcmNlTG9jYWxpemVkLFxuICBpbmRleGVzLFxuICBsb2NhbGVzQ29sdW1ucyxcbiAgbG9jYWxlc0luZGV4ZXMsXG4gIG5ld1RhYmxlTmFtZSxcbiAgcGFyZW50VGFibGVOYW1lLFxuICByZWxhdGlvbnNUb0J1aWxkLFxuICByZWxhdGlvbnNoaXBzLFxuICByb290UmVsYXRpb25zVG9CdWlsZCxcbiAgcm9vdFRhYmxlSURDb2xUeXBlLFxuICByb290VGFibGVOYW1lLFxufTogQXJncyk6IFJlc3VsdCA9PiB7XG4gIGxldCBoYXNMb2NhbGl6ZWRGaWVsZCA9IGZhbHNlXG4gIGxldCBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCA9IGZhbHNlXG4gIGxldCBoYXNNYW55TnVtYmVyRmllbGQ6ICdpbmRleCcgfCBib29sZWFuID0gZmFsc2VcbiAgbGV0IGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCA9IGZhbHNlXG5cbiAgbGV0IHBhcmVudElEQ29sVHlwZSA9ICdpbnRlZ2VyJ1xuICBpZiAoY29sdW1ucy5pZCBpbnN0YW5jZW9mIFBnTnVtZXJpY0J1aWxkZXIpIHBhcmVudElEQ29sVHlwZSA9ICdudW1lcmljJ1xuICBpZiAoY29sdW1ucy5pZCBpbnN0YW5jZW9mIFBnVmFyY2hhckJ1aWxkZXIpIHBhcmVudElEQ29sVHlwZSA9ICd2YXJjaGFyJ1xuXG4gIGZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgIGlmICgnbmFtZScgaW4gZmllbGQgJiYgZmllbGQubmFtZSA9PT0gJ2lkJykgcmV0dXJuXG4gICAgbGV0IGNvbHVtbk5hbWU6IHN0cmluZ1xuICAgIGxldCBmaWVsZE5hbWU6IHN0cmluZ1xuXG4gICAgbGV0IHRhcmdldFRhYmxlID0gY29sdW1uc1xuICAgIGxldCB0YXJnZXRJbmRleGVzID0gaW5kZXhlc1xuXG4gICAgaWYgKGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpKSB7XG4gICAgICBjb2x1bW5OYW1lID0gYCR7Y29sdW1uUHJlZml4IHx8ICcnfSR7ZmllbGQubmFtZVswXSA9PT0gJ18nID8gJ18nIDogJyd9JHt0b1NuYWtlQ2FzZShcbiAgICAgICAgZmllbGQubmFtZSxcbiAgICAgICl9YFxuICAgICAgZmllbGROYW1lID0gYCR7ZmllbGRQcmVmaXggfHwgJyd9JHtmaWVsZC5uYW1lfWBcblxuICAgICAgLy8gSWYgZmllbGQgaXMgbG9jYWxpemVkLFxuICAgICAgLy8gYWRkIHRoZSBjb2x1bW4gdG8gdGhlIGxvY2FsZSB0YWJsZSBpbnN0ZWFkIG9mIG1haW4gdGFibGVcbiAgICAgIGlmIChhZGFwdGVyLnBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvbiAmJiAoZmllbGQubG9jYWxpemVkIHx8IGZvcmNlTG9jYWxpemVkKSkge1xuICAgICAgICBoYXNMb2NhbGl6ZWRGaWVsZCA9IHRydWVcbiAgICAgICAgdGFyZ2V0VGFibGUgPSBsb2NhbGVzQ29sdW1uc1xuICAgICAgICB0YXJnZXRJbmRleGVzID0gbG9jYWxlc0luZGV4ZXNcbiAgICAgIH1cblxuICAgICAgaWYgKFxuICAgICAgICAoZmllbGQudW5pcXVlIHx8IGZpZWxkLmluZGV4KSAmJlxuICAgICAgICAhWydhcnJheScsICdibG9ja3MnLCAnZ3JvdXAnLCAncG9pbnQnLCAncmVsYXRpb25zaGlwJywgJ3VwbG9hZCddLmluY2x1ZGVzKGZpZWxkLnR5cGUpICYmXG4gICAgICAgICEoZmllbGQudHlwZSA9PT0gJ251bWJlcicgJiYgZmllbGQuaGFzTWFueSA9PT0gdHJ1ZSlcbiAgICAgICkge1xuICAgICAgICB0YXJnZXRJbmRleGVzW2Ake2ZpZWxkLm5hbWV9SWR4YF0gPSBjcmVhdGVJbmRleCh7XG4gICAgICAgICAgbmFtZTogZmllbGROYW1lLFxuICAgICAgICAgIGNvbHVtbk5hbWUsXG4gICAgICAgICAgdW5pcXVlOiBkaXNhYmxlVW5pcXVlICE9PSB0cnVlICYmIGZpZWxkLnVuaXF1ZSxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcbiAgICAgIGNhc2UgJ3RleHQnOlxuICAgICAgY2FzZSAnZW1haWwnOlxuICAgICAgY2FzZSAnY29kZSc6XG4gICAgICBjYXNlICd0ZXh0YXJlYSc6IHtcbiAgICAgICAgdGFyZ2V0VGFibGVbZmllbGROYW1lXSA9IHZhcmNoYXIoY29sdW1uTmFtZSlcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAnbnVtYmVyJzoge1xuICAgICAgICBpZiAoZmllbGQuaGFzTWFueSkge1xuICAgICAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQpIHtcbiAgICAgICAgICAgIGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCA9IHRydWVcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZmllbGQuaW5kZXgpIHtcbiAgICAgICAgICAgIGhhc01hbnlOdW1iZXJGaWVsZCA9ICdpbmRleCdcbiAgICAgICAgICB9IGVsc2UgaWYgKCFoYXNNYW55TnVtYmVyRmllbGQpIHtcbiAgICAgICAgICAgIGhhc01hbnlOdW1iZXJGaWVsZCA9IHRydWVcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZmllbGQudW5pcXVlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZENvbmZpZ3VyYXRpb24oXG4gICAgICAgICAgICAgICdVbmlxdWUgaXMgbm90IHN1cHBvcnRlZCBpbiBQb3N0Z3JlcyBmb3IgaGFzTWFueSBudW1iZXIgZmllbGRzLicsXG4gICAgICAgICAgICApXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRhcmdldFRhYmxlW2ZpZWxkTmFtZV0gPSBudW1lcmljKGNvbHVtbk5hbWUpXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAncmljaFRleHQnOlxuICAgICAgY2FzZSAnanNvbic6IHtcbiAgICAgICAgdGFyZ2V0VGFibGVbZmllbGROYW1lXSA9IGpzb25iKGNvbHVtbk5hbWUpXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ2RhdGUnOiB7XG4gICAgICAgIHRhcmdldFRhYmxlW2ZpZWxkTmFtZV0gPSB0aW1lc3RhbXAoY29sdW1uTmFtZSwge1xuICAgICAgICAgIG1vZGU6ICdzdHJpbmcnLFxuICAgICAgICAgIHByZWNpc2lvbjogMyxcbiAgICAgICAgICB3aXRoVGltZXpvbmU6IHRydWUsXG4gICAgICAgIH0pXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ3BvaW50Jzoge1xuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjYXNlICdyYWRpbyc6XG4gICAgICBjYXNlICdzZWxlY3QnOiB7XG4gICAgICAgIGNvbnN0IGVudW1OYW1lID0gYGVudW1fJHtuZXdUYWJsZU5hbWV9XyR7dG9TbmFrZUNhc2UoZmllbGQubmFtZSl9YFxuXG4gICAgICAgIGFkYXB0ZXIuZW51bXNbZW51bU5hbWVdID0gcGdFbnVtKFxuICAgICAgICAgIGVudW1OYW1lLFxuICAgICAgICAgIGZpZWxkLm9wdGlvbnMubWFwKChvcHRpb24pID0+IHtcbiAgICAgICAgICAgIGlmIChvcHRpb25Jc09iamVjdChvcHRpb24pKSB7XG4gICAgICAgICAgICAgIHJldHVybiBvcHRpb24udmFsdWVcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIG9wdGlvblxuICAgICAgICAgIH0pIGFzIFtzdHJpbmcsIC4uLnN0cmluZ1tdXSxcbiAgICAgICAgKVxuXG4gICAgICAgIGlmIChmaWVsZC50eXBlID09PSAnc2VsZWN0JyAmJiBmaWVsZC5oYXNNYW55KSB7XG4gICAgICAgICAgY29uc3Qgc2VsZWN0VGFibGVOYW1lID0gYCR7bmV3VGFibGVOYW1lfV8ke3RvU25ha2VDYXNlKGZpZWxkLm5hbWUpfWBcbiAgICAgICAgICBjb25zdCBiYXNlQ29sdW1uczogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPiA9IHtcbiAgICAgICAgICAgIG9yZGVyOiBpbnRlZ2VyKCdvcmRlcicpLm5vdE51bGwoKSxcbiAgICAgICAgICAgIHBhcmVudDogcGFyZW50SURDb2x1bW5NYXBbcGFyZW50SURDb2xUeXBlXSgncGFyZW50X2lkJylcbiAgICAgICAgICAgICAgLnJlZmVyZW5jZXMoKCkgPT4gYWRhcHRlci50YWJsZXNbcGFyZW50VGFibGVOYW1lXS5pZCwgeyBvbkRlbGV0ZTogJ2Nhc2NhZGUnIH0pXG4gICAgICAgICAgICAgIC5ub3ROdWxsKCksXG4gICAgICAgICAgICB2YWx1ZTogYWRhcHRlci5lbnVtc1tlbnVtTmFtZV0oJ3ZhbHVlJyksXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgYmFzZUV4dHJhQ29uZmlnOiBSZWNvcmQ8XG4gICAgICAgICAgICBzdHJpbmcsXG4gICAgICAgICAgICAoY29sczogR2VuZXJpY0NvbHVtbnMpID0+IEluZGV4QnVpbGRlciB8IFVuaXF1ZUNvbnN0cmFpbnRCdWlsZGVyXG4gICAgICAgICAgPiA9IHtcbiAgICAgICAgICAgIG9yZGVySWR4OiAoY29scykgPT4gaW5kZXgoJ29yZGVyX2lkeCcpLm9uKGNvbHMub3JkZXIpLFxuICAgICAgICAgICAgcGFyZW50SWR4OiAoY29scykgPT4gaW5kZXgoJ3BhcmVudF9pZHgnKS5vbihjb2xzLnBhcmVudCksXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCkge1xuICAgICAgICAgICAgYmFzZUNvbHVtbnMubG9jYWxlID0gYWRhcHRlci5lbnVtcy5lbnVtX19sb2NhbGVzKCdsb2NhbGUnKS5ub3ROdWxsKClcbiAgICAgICAgICAgIGJhc2VFeHRyYUNvbmZpZy5sb2NhbGVJZHggPSAoY29scykgPT4gaW5kZXgoJ2xvY2FsZV9pZHgnKS5vbihjb2xzLmxvY2FsZSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZmllbGQuaW5kZXgpIHtcbiAgICAgICAgICAgIGJhc2VFeHRyYUNvbmZpZy52YWx1ZSA9IChjb2xzKSA9PiBpbmRleCgndmFsdWVfaWR4Jykub24oY29scy52YWx1ZSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBidWlsZFRhYmxlKHtcbiAgICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgICBiYXNlQ29sdW1ucyxcbiAgICAgICAgICAgIGJhc2VFeHRyYUNvbmZpZyxcbiAgICAgICAgICAgIGRpc2FibGVOb3ROdWxsLFxuICAgICAgICAgICAgZGlzYWJsZVVuaXF1ZSxcbiAgICAgICAgICAgIGZpZWxkczogW10sXG4gICAgICAgICAgICB0YWJsZU5hbWU6IHNlbGVjdFRhYmxlTmFtZSxcbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgcmVsYXRpb25zVG9CdWlsZC5zZXQoZmllbGROYW1lLCBzZWxlY3RUYWJsZU5hbWUpXG5cbiAgICAgICAgICBjb25zdCBzZWxlY3RUYWJsZVJlbGF0aW9ucyA9IHJlbGF0aW9ucyhhZGFwdGVyLnRhYmxlc1tzZWxlY3RUYWJsZU5hbWVdLCAoeyBvbmUgfSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBSZWxhdGlvbjxzdHJpbmc+PiA9IHtcbiAgICAgICAgICAgICAgcGFyZW50OiBvbmUoYWRhcHRlci50YWJsZXNbcGFyZW50VGFibGVOYW1lXSwge1xuICAgICAgICAgICAgICAgIGZpZWxkczogW2FkYXB0ZXIudGFibGVzW3NlbGVjdFRhYmxlTmFtZV0ucGFyZW50XSxcbiAgICAgICAgICAgICAgICByZWZlcmVuY2VzOiBbYWRhcHRlci50YWJsZXNbcGFyZW50VGFibGVOYW1lXS5pZF0sXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGFkYXB0ZXIucmVsYXRpb25zW2ByZWxhdGlvbl8ke3NlbGVjdFRhYmxlTmFtZX1gXSA9IHNlbGVjdFRhYmxlUmVsYXRpb25zXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGFyZ2V0VGFibGVbZmllbGROYW1lXSA9IGFkYXB0ZXIuZW51bXNbZW51bU5hbWVdKGZpZWxkTmFtZSlcbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjYXNlICdjaGVja2JveCc6IHtcbiAgICAgICAgdGFyZ2V0VGFibGVbZmllbGROYW1lXSA9IGJvb2xlYW4oY29sdW1uTmFtZSlcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY2FzZSAnYXJyYXknOiB7XG4gICAgICAgIGNvbnN0IGFycmF5VGFibGVOYW1lID0gYCR7bmV3VGFibGVOYW1lfV8ke3RvU25ha2VDYXNlKGZpZWxkLm5hbWUpfWBcbiAgICAgICAgY29uc3QgYmFzZUNvbHVtbnM6IFJlY29yZDxzdHJpbmcsIFBnQ29sdW1uQnVpbGRlcj4gPSB7XG4gICAgICAgICAgX29yZGVyOiBpbnRlZ2VyKCdfb3JkZXInKS5ub3ROdWxsKCksXG4gICAgICAgICAgX3BhcmVudElEOiBwYXJlbnRJRENvbHVtbk1hcFtwYXJlbnRJRENvbFR5cGVdKCdfcGFyZW50X2lkJylcbiAgICAgICAgICAgIC5yZWZlcmVuY2VzKCgpID0+IGFkYXB0ZXIudGFibGVzW3BhcmVudFRhYmxlTmFtZV0uaWQsIHsgb25EZWxldGU6ICdjYXNjYWRlJyB9KVxuICAgICAgICAgICAgLm5vdE51bGwoKSxcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGJhc2VFeHRyYUNvbmZpZzogUmVjb3JkPFxuICAgICAgICAgIHN0cmluZyxcbiAgICAgICAgICAoY29sczogR2VuZXJpY0NvbHVtbnMpID0+IEluZGV4QnVpbGRlciB8IFVuaXF1ZUNvbnN0cmFpbnRCdWlsZGVyXG4gICAgICAgID4gPSB7XG4gICAgICAgICAgX29yZGVySWR4OiAoY29scykgPT4gaW5kZXgoJ19vcmRlcl9pZHgnKS5vbihjb2xzLl9vcmRlciksXG4gICAgICAgICAgX3BhcmVudElESWR4OiAoY29scykgPT4gaW5kZXgoJ19wYXJlbnRfaWRfaWR4Jykub24oY29scy5fcGFyZW50SUQpLFxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCAmJiBhZGFwdGVyLnBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvbikge1xuICAgICAgICAgIGJhc2VDb2x1bW5zLl9sb2NhbGUgPSBhZGFwdGVyLmVudW1zLmVudW1fX2xvY2FsZXMoJ19sb2NhbGUnKS5ub3ROdWxsKClcbiAgICAgICAgICBiYXNlRXh0cmFDb25maWcuX2xvY2FsZUlkeCA9IChjb2xzKSA9PiBpbmRleCgnX2xvY2FsZV9pZHgnKS5vbihjb2xzLl9sb2NhbGUpXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7IHJlbGF0aW9uc1RvQnVpbGQ6IHN1YlJlbGF0aW9uc1RvQnVpbGQgfSA9IGJ1aWxkVGFibGUoe1xuICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgYmFzZUNvbHVtbnMsXG4gICAgICAgICAgYmFzZUV4dHJhQ29uZmlnLFxuICAgICAgICAgIGRpc2FibGVOb3ROdWxsLFxuICAgICAgICAgIGRpc2FibGVVbmlxdWUsXG4gICAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgcm9vdFJlbGF0aW9uc1RvQnVpbGQsXG4gICAgICAgICAgcm9vdFJlbGF0aW9uc2hpcHM6IHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgcm9vdFRhYmxlSURDb2xUeXBlLFxuICAgICAgICAgIHJvb3RUYWJsZU5hbWUsXG4gICAgICAgICAgdGFibGVOYW1lOiBhcnJheVRhYmxlTmFtZSxcbiAgICAgICAgfSlcblxuICAgICAgICByZWxhdGlvbnNUb0J1aWxkLnNldChmaWVsZE5hbWUsIGFycmF5VGFibGVOYW1lKVxuXG4gICAgICAgIGNvbnN0IGFycmF5VGFibGVSZWxhdGlvbnMgPSByZWxhdGlvbnMoYWRhcHRlci50YWJsZXNbYXJyYXlUYWJsZU5hbWVdLCAoeyBtYW55LCBvbmUgfSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgUmVsYXRpb248c3RyaW5nPj4gPSB7XG4gICAgICAgICAgICBfcGFyZW50SUQ6IG9uZShhZGFwdGVyLnRhYmxlc1twYXJlbnRUYWJsZU5hbWVdLCB7XG4gICAgICAgICAgICAgIGZpZWxkczogW2FkYXB0ZXIudGFibGVzW2FycmF5VGFibGVOYW1lXS5fcGFyZW50SURdLFxuICAgICAgICAgICAgICByZWZlcmVuY2VzOiBbYWRhcHRlci50YWJsZXNbcGFyZW50VGFibGVOYW1lXS5pZF0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoaGFzTG9jYWxlc1RhYmxlKGZpZWxkLmZpZWxkcykpIHtcbiAgICAgICAgICAgIHJlc3VsdC5fbG9jYWxlcyA9IG1hbnkoYWRhcHRlci50YWJsZXNbYCR7YXJyYXlUYWJsZU5hbWV9X2xvY2FsZXNgXSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzdWJSZWxhdGlvbnNUb0J1aWxkLmZvckVhY2goKHZhbCwga2V5KSA9PiB7XG4gICAgICAgICAgICByZXN1bHRba2V5XSA9IG1hbnkoYWRhcHRlci50YWJsZXNbdmFsXSlcbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgICAgICB9KVxuXG4gICAgICAgIGFkYXB0ZXIucmVsYXRpb25zW2ByZWxhdGlvbnNfJHthcnJheVRhYmxlTmFtZX1gXSA9IGFycmF5VGFibGVSZWxhdGlvbnNcblxuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjYXNlICdibG9ja3MnOiB7XG4gICAgICAgIGZpZWxkLmJsb2Nrcy5mb3JFYWNoKChibG9jaykgPT4ge1xuICAgICAgICAgIGNvbnN0IGJsb2NrVGFibGVOYW1lID0gYCR7cm9vdFRhYmxlTmFtZX1fYmxvY2tzXyR7dG9TbmFrZUNhc2UoYmxvY2suc2x1Zyl9YFxuICAgICAgICAgIGlmICghYWRhcHRlci50YWJsZXNbYmxvY2tUYWJsZU5hbWVdKSB7XG4gICAgICAgICAgICBjb25zdCBiYXNlQ29sdW1uczogUmVjb3JkPHN0cmluZywgUGdDb2x1bW5CdWlsZGVyPiA9IHtcbiAgICAgICAgICAgICAgX29yZGVyOiBpbnRlZ2VyKCdfb3JkZXInKS5ub3ROdWxsKCksXG4gICAgICAgICAgICAgIF9wYXJlbnRJRDogcGFyZW50SURDb2x1bW5NYXBbcm9vdFRhYmxlSURDb2xUeXBlXSgnX3BhcmVudF9pZCcpXG4gICAgICAgICAgICAgICAgLnJlZmVyZW5jZXMoKCkgPT4gYWRhcHRlci50YWJsZXNbcm9vdFRhYmxlTmFtZV0uaWQsIHsgb25EZWxldGU6ICdjYXNjYWRlJyB9KVxuICAgICAgICAgICAgICAgIC5ub3ROdWxsKCksXG4gICAgICAgICAgICAgIF9wYXRoOiB0ZXh0KCdfcGF0aCcpLm5vdE51bGwoKSxcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgYmFzZUV4dHJhQ29uZmlnOiBSZWNvcmQ8XG4gICAgICAgICAgICAgIHN0cmluZyxcbiAgICAgICAgICAgICAgKGNvbHM6IEdlbmVyaWNDb2x1bW5zKSA9PiBJbmRleEJ1aWxkZXIgfCBVbmlxdWVDb25zdHJhaW50QnVpbGRlclxuICAgICAgICAgICAgPiA9IHtcbiAgICAgICAgICAgICAgX29yZGVySWR4OiAoY29scykgPT4gaW5kZXgoJ29yZGVyX2lkeCcpLm9uKGNvbHMuX29yZGVyKSxcbiAgICAgICAgICAgICAgX3BhcmVudElESWR4OiAoY29scykgPT4gaW5kZXgoJ3BhcmVudF9pZF9pZHgnKS5vbihjb2xzLl9wYXJlbnRJRCksXG4gICAgICAgICAgICAgIF9wYXRoSWR4OiAoY29scykgPT4gaW5kZXgoJ3BhdGhfaWR4Jykub24oY29scy5fcGF0aCksXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChmaWVsZC5sb2NhbGl6ZWQgJiYgYWRhcHRlci5wYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb24pIHtcbiAgICAgICAgICAgICAgYmFzZUNvbHVtbnMuX2xvY2FsZSA9IGFkYXB0ZXIuZW51bXMuZW51bV9fbG9jYWxlcygnX2xvY2FsZScpLm5vdE51bGwoKVxuICAgICAgICAgICAgICBiYXNlRXh0cmFDb25maWcuX2xvY2FsZUlkeCA9IChjb2xzKSA9PiBpbmRleCgnbG9jYWxlX2lkeCcpLm9uKGNvbHMuX2xvY2FsZSlcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgeyByZWxhdGlvbnNUb0J1aWxkOiBzdWJSZWxhdGlvbnNUb0J1aWxkIH0gPSBidWlsZFRhYmxlKHtcbiAgICAgICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICAgICAgYmFzZUNvbHVtbnMsXG4gICAgICAgICAgICAgIGJhc2VFeHRyYUNvbmZpZyxcbiAgICAgICAgICAgICAgZGlzYWJsZU5vdE51bGwsXG4gICAgICAgICAgICAgIGRpc2FibGVVbmlxdWUsXG4gICAgICAgICAgICAgIGZpZWxkczogYmxvY2suZmllbGRzLFxuICAgICAgICAgICAgICByb290UmVsYXRpb25zVG9CdWlsZCxcbiAgICAgICAgICAgICAgcm9vdFJlbGF0aW9uc2hpcHM6IHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgICAgIHJvb3RUYWJsZUlEQ29sVHlwZSxcbiAgICAgICAgICAgICAgcm9vdFRhYmxlTmFtZSxcbiAgICAgICAgICAgICAgdGFibGVOYW1lOiBibG9ja1RhYmxlTmFtZSxcbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIGNvbnN0IGJsb2NrVGFibGVSZWxhdGlvbnMgPSByZWxhdGlvbnMoXG4gICAgICAgICAgICAgIGFkYXB0ZXIudGFibGVzW2Jsb2NrVGFibGVOYW1lXSxcbiAgICAgICAgICAgICAgKHsgbWFueSwgb25lIH0pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIFJlbGF0aW9uPHN0cmluZz4+ID0ge1xuICAgICAgICAgICAgICAgICAgX3BhcmVudElEOiBvbmUoYWRhcHRlci50YWJsZXNbcm9vdFRhYmxlTmFtZV0sIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGRzOiBbYWRhcHRlci50YWJsZXNbYmxvY2tUYWJsZU5hbWVdLl9wYXJlbnRJRF0sXG4gICAgICAgICAgICAgICAgICAgIHJlZmVyZW5jZXM6IFthZGFwdGVyLnRhYmxlc1tyb290VGFibGVOYW1lXS5pZF0sXG4gICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoaGFzTG9jYWxlc1RhYmxlKGJsb2NrLmZpZWxkcykpIHtcbiAgICAgICAgICAgICAgICAgIHJlc3VsdC5fbG9jYWxlcyA9IG1hbnkoYWRhcHRlci50YWJsZXNbYCR7YmxvY2tUYWJsZU5hbWV9X2xvY2FsZXNgXSlcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzdWJSZWxhdGlvbnNUb0J1aWxkLmZvckVhY2goKHZhbCwga2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgICByZXN1bHRba2V5XSA9IG1hbnkoYWRhcHRlci50YWJsZXNbdmFsXSlcbiAgICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICBhZGFwdGVyLnJlbGF0aW9uc1tgcmVsYXRpb25zXyR7YmxvY2tUYWJsZU5hbWV9YF0gPSBibG9ja1RhYmxlUmVsYXRpb25zXG4gICAgICAgICAgfSBlbHNlIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgICAgICB2YWxpZGF0ZUV4aXN0aW5nQmxvY2tJc0lkZW50aWNhbCh7XG4gICAgICAgICAgICAgIGJsb2NrLFxuICAgICAgICAgICAgICBsb2NhbGl6ZWQ6IGZpZWxkLmxvY2FsaXplZCxcbiAgICAgICAgICAgICAgcm9vdFRhYmxlTmFtZSxcbiAgICAgICAgICAgICAgdGFibGU6IGFkYXB0ZXIudGFibGVzW2Jsb2NrVGFibGVOYW1lXSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcm9vdFJlbGF0aW9uc1RvQnVpbGQuc2V0KGBfYmxvY2tzXyR7YmxvY2suc2x1Z31gLCBibG9ja1RhYmxlTmFtZSlcbiAgICAgICAgfSlcblxuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjYXNlICd0YWInOlxuICAgICAgY2FzZSAnZ3JvdXAnOiB7XG4gICAgICAgIGlmICghKCduYW1lJyBpbiBmaWVsZCkpIHtcbiAgICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICBoYXNMb2NhbGl6ZWRGaWVsZDogZ3JvdXBIYXNMb2NhbGl6ZWRGaWVsZCxcbiAgICAgICAgICAgIGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZDogZ3JvdXBIYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQsXG4gICAgICAgICAgICBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZDogZ3JvdXBIYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCxcbiAgICAgICAgICAgIGhhc01hbnlOdW1iZXJGaWVsZDogZ3JvdXBIYXNNYW55TnVtYmVyRmllbGQsXG4gICAgICAgICAgfSA9IHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgICBidWlsZFJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgICBjb2x1bW5QcmVmaXgsXG4gICAgICAgICAgICBjb2x1bW5zLFxuICAgICAgICAgICAgZGlzYWJsZU5vdE51bGwsXG4gICAgICAgICAgICBkaXNhYmxlVW5pcXVlLFxuICAgICAgICAgICAgZmllbGRQcmVmaXgsXG4gICAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICAgIGZvcmNlTG9jYWxpemVkLFxuICAgICAgICAgICAgaW5kZXhlcyxcbiAgICAgICAgICAgIGxvY2FsZXNDb2x1bW5zLFxuICAgICAgICAgICAgbG9jYWxlc0luZGV4ZXMsXG4gICAgICAgICAgICBuZXdUYWJsZU5hbWUsXG4gICAgICAgICAgICBwYXJlbnRUYWJsZU5hbWUsXG4gICAgICAgICAgICByZWxhdGlvbnNUb0J1aWxkLFxuICAgICAgICAgICAgcmVsYXRpb25zaGlwcyxcbiAgICAgICAgICAgIHJvb3RSZWxhdGlvbnNUb0J1aWxkLFxuICAgICAgICAgICAgcm9vdFRhYmxlSURDb2xUeXBlLFxuICAgICAgICAgICAgcm9vdFRhYmxlTmFtZSxcbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgaWYgKGdyb3VwSGFzTG9jYWxpemVkRmllbGQpIGhhc0xvY2FsaXplZEZpZWxkID0gdHJ1ZVxuICAgICAgICAgIGlmIChncm91cEhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkKSBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCA9IHRydWVcbiAgICAgICAgICBpZiAoZ3JvdXBIYXNNYW55TnVtYmVyRmllbGQpIGhhc01hbnlOdW1iZXJGaWVsZCA9IHRydWVcbiAgICAgICAgICBpZiAoZ3JvdXBIYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQpIGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCA9IHRydWVcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgIGhhc0xvY2FsaXplZEZpZWxkOiBncm91cEhhc0xvY2FsaXplZEZpZWxkLFxuICAgICAgICAgIGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZDogZ3JvdXBIYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQsXG4gICAgICAgICAgaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQ6IGdyb3VwSGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQsXG4gICAgICAgICAgaGFzTWFueU51bWJlckZpZWxkOiBncm91cEhhc01hbnlOdW1iZXJGaWVsZCxcbiAgICAgICAgfSA9IHRyYXZlcnNlRmllbGRzKHtcbiAgICAgICAgICBhZGFwdGVyLFxuICAgICAgICAgIGJ1aWxkUmVsYXRpb25zaGlwcyxcbiAgICAgICAgICBjb2x1bW5QcmVmaXg6IGAke2NvbHVtbk5hbWV9X2AsXG4gICAgICAgICAgY29sdW1ucyxcbiAgICAgICAgICBkaXNhYmxlTm90TnVsbCxcbiAgICAgICAgICBkaXNhYmxlVW5pcXVlLFxuICAgICAgICAgIGZpZWxkUHJlZml4OiBgJHtmaWVsZE5hbWV9X2AsXG4gICAgICAgICAgZmllbGRzOiBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgZm9yY2VMb2NhbGl6ZWQ6IGZpZWxkLmxvY2FsaXplZCxcbiAgICAgICAgICBpbmRleGVzLFxuICAgICAgICAgIGxvY2FsZXNDb2x1bW5zLFxuICAgICAgICAgIGxvY2FsZXNJbmRleGVzLFxuICAgICAgICAgIG5ld1RhYmxlTmFtZTogYCR7cGFyZW50VGFibGVOYW1lfV8ke2NvbHVtbk5hbWV9YCxcbiAgICAgICAgICBwYXJlbnRUYWJsZU5hbWUsXG4gICAgICAgICAgcmVsYXRpb25zVG9CdWlsZCxcbiAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgIHJvb3RSZWxhdGlvbnNUb0J1aWxkLFxuICAgICAgICAgIHJvb3RUYWJsZUlEQ29sVHlwZSxcbiAgICAgICAgICByb290VGFibGVOYW1lLFxuICAgICAgICB9KVxuXG4gICAgICAgIGlmIChncm91cEhhc0xvY2FsaXplZEZpZWxkKSBoYXNMb2NhbGl6ZWRGaWVsZCA9IHRydWVcbiAgICAgICAgaWYgKGdyb3VwSGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQpIGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkID0gdHJ1ZVxuICAgICAgICBpZiAoZ3JvdXBIYXNNYW55TnVtYmVyRmllbGQpIGhhc01hbnlOdW1iZXJGaWVsZCA9IHRydWVcbiAgICAgICAgaWYgKGdyb3VwSGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkKSBoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQgPSB0cnVlXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ3RhYnMnOiB7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICBoYXNMb2NhbGl6ZWRGaWVsZDogdGFiSGFzTG9jYWxpemVkRmllbGQsXG4gICAgICAgICAgaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkOiB0YWJIYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQsXG4gICAgICAgICAgaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQ6IHRhYkhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkLFxuICAgICAgICAgIGhhc01hbnlOdW1iZXJGaWVsZDogdGFiSGFzTWFueU51bWJlckZpZWxkLFxuICAgICAgICB9ID0gdHJhdmVyc2VGaWVsZHMoe1xuICAgICAgICAgIGFkYXB0ZXIsXG4gICAgICAgICAgYnVpbGRSZWxhdGlvbnNoaXBzLFxuICAgICAgICAgIGNvbHVtblByZWZpeCxcbiAgICAgICAgICBjb2x1bW5zLFxuICAgICAgICAgIGRpc2FibGVOb3ROdWxsLFxuICAgICAgICAgIGRpc2FibGVVbmlxdWUsXG4gICAgICAgICAgZmllbGRQcmVmaXgsXG4gICAgICAgICAgZmllbGRzOiBmaWVsZC50YWJzLm1hcCgodGFiKSA9PiAoeyAuLi50YWIsIHR5cGU6ICd0YWInIH0pKSxcbiAgICAgICAgICBmb3JjZUxvY2FsaXplZCxcbiAgICAgICAgICBpbmRleGVzLFxuICAgICAgICAgIGxvY2FsZXNDb2x1bW5zLFxuICAgICAgICAgIGxvY2FsZXNJbmRleGVzLFxuICAgICAgICAgIG5ld1RhYmxlTmFtZSxcbiAgICAgICAgICBwYXJlbnRUYWJsZU5hbWUsXG4gICAgICAgICAgcmVsYXRpb25zVG9CdWlsZCxcbiAgICAgICAgICByZWxhdGlvbnNoaXBzLFxuICAgICAgICAgIHJvb3RSZWxhdGlvbnNUb0J1aWxkLFxuICAgICAgICAgIHJvb3RUYWJsZUlEQ29sVHlwZSxcbiAgICAgICAgICByb290VGFibGVOYW1lLFxuICAgICAgICB9KVxuXG4gICAgICAgIGlmICh0YWJIYXNMb2NhbGl6ZWRGaWVsZCkgaGFzTG9jYWxpemVkRmllbGQgPSB0cnVlXG4gICAgICAgIGlmICh0YWJIYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCkgaGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQgPSB0cnVlXG4gICAgICAgIGlmICh0YWJIYXNNYW55TnVtYmVyRmllbGQpIGhhc01hbnlOdW1iZXJGaWVsZCA9IHRydWVcbiAgICAgICAgaWYgKHRhYkhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCkgaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkID0gdHJ1ZVxuXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ3Jvdyc6XG4gICAgICBjYXNlICdjb2xsYXBzaWJsZSc6IHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgIGhhc0xvY2FsaXplZEZpZWxkOiByb3dIYXNMb2NhbGl6ZWRGaWVsZCxcbiAgICAgICAgICBoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQ6IHJvd0hhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCxcbiAgICAgICAgICBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZDogcm93SGFzTG9jYWxpemVkUmVsYXRpb25zaGlwRmllbGQsXG4gICAgICAgICAgaGFzTWFueU51bWJlckZpZWxkOiByb3dIYXNNYW55TnVtYmVyRmllbGQsXG4gICAgICAgIH0gPSB0cmF2ZXJzZUZpZWxkcyh7XG4gICAgICAgICAgYWRhcHRlcixcbiAgICAgICAgICBidWlsZFJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgY29sdW1uUHJlZml4LFxuICAgICAgICAgIGNvbHVtbnMsXG4gICAgICAgICAgZGlzYWJsZU5vdE51bGwsXG4gICAgICAgICAgZGlzYWJsZVVuaXF1ZSxcbiAgICAgICAgICBmaWVsZFByZWZpeCxcbiAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICBmb3JjZUxvY2FsaXplZCxcbiAgICAgICAgICBpbmRleGVzLFxuICAgICAgICAgIGxvY2FsZXNDb2x1bW5zLFxuICAgICAgICAgIGxvY2FsZXNJbmRleGVzLFxuICAgICAgICAgIG5ld1RhYmxlTmFtZTogcGFyZW50VGFibGVOYW1lLFxuICAgICAgICAgIHBhcmVudFRhYmxlTmFtZSxcbiAgICAgICAgICByZWxhdGlvbnNUb0J1aWxkLFxuICAgICAgICAgIHJlbGF0aW9uc2hpcHMsXG4gICAgICAgICAgcm9vdFJlbGF0aW9uc1RvQnVpbGQsXG4gICAgICAgICAgcm9vdFRhYmxlSURDb2xUeXBlLFxuICAgICAgICAgIHJvb3RUYWJsZU5hbWUsXG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKHJvd0hhc0xvY2FsaXplZEZpZWxkKSBoYXNMb2NhbGl6ZWRGaWVsZCA9IHRydWVcbiAgICAgICAgaWYgKHJvd0hhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkKSBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCA9IHRydWVcbiAgICAgICAgaWYgKHJvd0hhc01hbnlOdW1iZXJGaWVsZCkgaGFzTWFueU51bWJlckZpZWxkID0gdHJ1ZVxuICAgICAgICBpZiAocm93SGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkKSBoYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQgPSB0cnVlXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNhc2UgJ3JlbGF0aW9uc2hpcCc6XG4gICAgICBjYXNlICd1cGxvYWQnOlxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShmaWVsZC5yZWxhdGlvblRvKSkge1xuICAgICAgICAgIGZpZWxkLnJlbGF0aW9uVG8uZm9yRWFjaCgocmVsYXRpb24pID0+IHJlbGF0aW9uc2hpcHMuYWRkKHJlbGF0aW9uKSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZWxhdGlvbnNoaXBzLmFkZChmaWVsZC5yZWxhdGlvblRvKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZpZWxkLmxvY2FsaXplZCAmJiBhZGFwdGVyLnBheWxvYWQuY29uZmlnLmxvY2FsaXphdGlvbikge1xuICAgICAgICAgIGhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkID0gdHJ1ZVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrXG4gICAgfVxuXG4gICAgY29uc3QgY29uZGl0aW9uID0gZmllbGQuYWRtaW4gJiYgZmllbGQuYWRtaW4uY29uZGl0aW9uXG5cbiAgICBpZiAoXG4gICAgICAhZGlzYWJsZU5vdE51bGwgJiZcbiAgICAgIHRhcmdldFRhYmxlW2ZpZWxkTmFtZV0gJiZcbiAgICAgICdyZXF1aXJlZCcgaW4gZmllbGQgJiZcbiAgICAgIGZpZWxkLnJlcXVpcmVkICYmXG4gICAgICAhY29uZGl0aW9uXG4gICAgKSB7XG4gICAgICB0YXJnZXRUYWJsZVtmaWVsZE5hbWVdLm5vdE51bGwoKVxuICAgIH1cbiAgfSlcblxuICByZXR1cm4ge1xuICAgIGhhc0xvY2FsaXplZEZpZWxkLFxuICAgIGhhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCxcbiAgICBoYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCxcbiAgICBoYXNNYW55TnVtYmVyRmllbGQsXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJ0cmF2ZXJzZUZpZWxkcyIsImFkYXB0ZXIiLCJidWlsZFJlbGF0aW9uc2hpcHMiLCJjb2x1bW5QcmVmaXgiLCJjb2x1bW5zIiwiZGlzYWJsZU5vdE51bGwiLCJkaXNhYmxlVW5pcXVlIiwiZmllbGRQcmVmaXgiLCJmaWVsZHMiLCJmb3JjZUxvY2FsaXplZCIsImluZGV4ZXMiLCJsb2NhbGVzQ29sdW1ucyIsImxvY2FsZXNJbmRleGVzIiwibmV3VGFibGVOYW1lIiwicGFyZW50VGFibGVOYW1lIiwicmVsYXRpb25zVG9CdWlsZCIsInJlbGF0aW9uc2hpcHMiLCJyb290UmVsYXRpb25zVG9CdWlsZCIsInJvb3RUYWJsZUlEQ29sVHlwZSIsInJvb3RUYWJsZU5hbWUiLCJoYXNMb2NhbGl6ZWRGaWVsZCIsImhhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkIiwiaGFzTWFueU51bWJlckZpZWxkIiwiaGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkIiwicGFyZW50SURDb2xUeXBlIiwiaWQiLCJQZ051bWVyaWNCdWlsZGVyIiwiUGdWYXJjaGFyQnVpbGRlciIsImZvckVhY2giLCJmaWVsZCIsIm5hbWUiLCJjb2x1bW5OYW1lIiwiZmllbGROYW1lIiwidGFyZ2V0VGFibGUiLCJ0YXJnZXRJbmRleGVzIiwiZmllbGRBZmZlY3RzRGF0YSIsInRvU25ha2VDYXNlIiwicGF5bG9hZCIsImNvbmZpZyIsImxvY2FsaXphdGlvbiIsImxvY2FsaXplZCIsInVuaXF1ZSIsImluZGV4IiwiaW5jbHVkZXMiLCJ0eXBlIiwiaGFzTWFueSIsImNyZWF0ZUluZGV4IiwidmFyY2hhciIsIkludmFsaWRDb25maWd1cmF0aW9uIiwibnVtZXJpYyIsImpzb25iIiwidGltZXN0YW1wIiwibW9kZSIsInByZWNpc2lvbiIsIndpdGhUaW1lem9uZSIsImVudW1OYW1lIiwiZW51bXMiLCJwZ0VudW0iLCJvcHRpb25zIiwibWFwIiwib3B0aW9uIiwib3B0aW9uSXNPYmplY3QiLCJ2YWx1ZSIsInNlbGVjdFRhYmxlTmFtZSIsImJhc2VDb2x1bW5zIiwib3JkZXIiLCJpbnRlZ2VyIiwibm90TnVsbCIsInBhcmVudCIsInBhcmVudElEQ29sdW1uTWFwIiwicmVmZXJlbmNlcyIsInRhYmxlcyIsIm9uRGVsZXRlIiwiYmFzZUV4dHJhQ29uZmlnIiwib3JkZXJJZHgiLCJjb2xzIiwib24iLCJwYXJlbnRJZHgiLCJsb2NhbGUiLCJlbnVtX19sb2NhbGVzIiwibG9jYWxlSWR4IiwiYnVpbGRUYWJsZSIsInRhYmxlTmFtZSIsInNldCIsInNlbGVjdFRhYmxlUmVsYXRpb25zIiwicmVsYXRpb25zIiwib25lIiwicmVzdWx0IiwiYm9vbGVhbiIsImFycmF5VGFibGVOYW1lIiwiX29yZGVyIiwiX3BhcmVudElEIiwiX29yZGVySWR4IiwiX3BhcmVudElESWR4IiwiX2xvY2FsZSIsIl9sb2NhbGVJZHgiLCJzdWJSZWxhdGlvbnNUb0J1aWxkIiwicm9vdFJlbGF0aW9uc2hpcHMiLCJhcnJheVRhYmxlUmVsYXRpb25zIiwibWFueSIsImhhc0xvY2FsZXNUYWJsZSIsIl9sb2NhbGVzIiwidmFsIiwia2V5IiwiYmxvY2tzIiwiYmxvY2siLCJibG9ja1RhYmxlTmFtZSIsInNsdWciLCJfcGF0aCIsInRleHQiLCJfcGF0aElkeCIsImJsb2NrVGFibGVSZWxhdGlvbnMiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJ2YWxpZGF0ZUV4aXN0aW5nQmxvY2tJc0lkZW50aWNhbCIsInRhYmxlIiwiZ3JvdXBIYXNMb2NhbGl6ZWRGaWVsZCIsImdyb3VwSGFzTG9jYWxpemVkTWFueU51bWJlckZpZWxkIiwiZ3JvdXBIYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCIsImdyb3VwSGFzTWFueU51bWJlckZpZWxkIiwidGFiSGFzTG9jYWxpemVkRmllbGQiLCJ0YWJIYXNMb2NhbGl6ZWRNYW55TnVtYmVyRmllbGQiLCJ0YWJIYXNMb2NhbGl6ZWRSZWxhdGlvbnNoaXBGaWVsZCIsInRhYkhhc01hbnlOdW1iZXJGaWVsZCIsInRhYnMiLCJ0YWIiLCJyb3dIYXNMb2NhbGl6ZWRGaWVsZCIsInJvd0hhc0xvY2FsaXplZE1hbnlOdW1iZXJGaWVsZCIsInJvd0hhc0xvY2FsaXplZFJlbGF0aW9uc2hpcEZpZWxkIiwicm93SGFzTWFueU51bWJlckZpZWxkIiwiQXJyYXkiLCJpc0FycmF5Iiwi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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/db-postgres",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "The officially supported Postgres database adapter for Payload",
5
5
  "repository": "https://github.com/payloadcms/payload",
6
6
  "license": "MIT",
@@ -25,7 +25,7 @@
25
25
  "@types/pg": "8.10.2",
26
26
  "@types/to-snake-case": "1.0.0",
27
27
  "@payloadcms/eslint-config": "0.0.1",
28
- "payload": "2.0.3"
28
+ "payload": "2.0.5"
29
29
  },
30
30
  "peerDependencies": {
31
31
  "better-sqlite3": "^8.5.0"