@lacussoft/cpf-fmt
Advanced tools
+1
-1
@@ -69,2 +69,2 @@ 'use strict'; | ||
| module.exports = cpfFmt; | ||
| //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY2pzIiwic291cmNlcyI6WyIuLi9zcmMvbWVyZ2Utb3B0aW9ucy50cyIsIi4uL3NyYy9jcGYtZm10LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtZXJnZURlZXAgZnJvbSAnZGVlcG1lcmdlJztcblxudHlwZSBEZWVwUGFydGlhbDxUPiA9IHtcbiAgW1AgaW4ga2V5b2YgVF0/OiBEZWVwUGFydGlhbDxUW1BdPjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0dWFsQ3BmRm9ybWF0dGluZ09wdGlvbnM8T25FcnJGYWxsYmFjaz4ge1xuICBkZWxpbWl0ZXJzOiB7XG4gICAgZGFzaDogc3RyaW5nO1xuICAgIGRvdDogc3RyaW5nO1xuICB9O1xuICBlc2NhcGU6IGJvb2xlYW47XG4gIGhpZGRlbjogYm9vbGVhbjtcbiAgaGlkZGVuS2V5OiBzdHJpbmc7XG4gIGhpZGRlblJhbmdlOiB7XG4gICAgZW5kOiBudW1iZXI7XG4gICAgc3RhcnQ6IG51bWJlcjtcbiAgfTtcbiAgb25GYWlsOiAodmFsdWU6IHN0cmluZywgZXJyb3I6IEVycm9yKSA9PiBPbkVyckZhbGxiYWNrO1xufVxuXG5leHBvcnQgdHlwZSBDcGZGb3JtYXR0aW5nT3B0aW9uczxPbkVyckZhbGxiYWNrPiA9IERlZXBQYXJ0aWFsPFxuICBBY3R1YWxDcGZGb3JtYXR0aW5nT3B0aW9uczxPbkVyckZhbGxiYWNrPlxuPjtcblxuY29uc3QgZGVmYXVsdE9wdGlvbnM6IEFjdHVhbENwZkZvcm1hdHRpbmdPcHRpb25zPHN0cmluZz4gPSB7XG4gIGRlbGltaXRlcnM6IHtcbiAgICBkb3Q6ICcuJyxcbiAgICBkYXNoOiAnLScsXG4gIH0sXG4gIGhpZGRlblJhbmdlOiB7XG4gICAgc3RhcnQ6IDMsXG4gICAgZW5kOiAxMCxcbiAgfSxcbiAgb25GYWlsOiAodmFsdWUpID0+IHZhbHVlLFxuICBoaWRkZW5LZXk6ICcqJyxcbiAgaGlkZGVuOiBmYWxzZSxcbiAgZXNjYXBlOiBmYWxzZSxcbn07XG5cbi8qKlxuICogTWVyZ2UgY3VzdG9tIG9wdGlvbnMgdG8gdGhlIGRlZmF1bHQgb25lcy5cbiAqL1xuZnVuY3Rpb24gbWVyZ2VPcHRpb25zPE9uRXJyRmFsbGJhY2s+KFxuICBjdXN0b21PcHRpb25zOiBDcGZGb3JtYXR0aW5nT3B0aW9uczxPbkVyckZhbGxiYWNrPiA9IHt9LFxuKTogQWN0dWFsQ3BmRm9ybWF0dGluZ09wdGlvbnM8T25FcnJGYWxsYmFjaz4ge1xuICBjb25zdCBvcHRpb25zID0gbWVyZ2VEZWVwKFxuICAgIGRlZmF1bHRPcHRpb25zLFxuICAgIGN1c3RvbU9wdGlvbnMsXG4gICkgYXMgQWN0dWFsQ3BmRm9ybWF0dGluZ09wdGlvbnM8T25FcnJGYWxsYmFjaz47XG5cbiAgaWYgKG9wdGlvbnMuaGlkZGVuKSB7XG4gICAgaWYgKFxuICAgICAgaXNOYU4ob3B0aW9ucy5oaWRkZW5SYW5nZS5zdGFydCkgfHxcbiAgICAgIG9wdGlvbnMuaGlkZGVuUmFuZ2Uuc3RhcnQgPCAwIHx8XG4gICAgICBvcHRpb25zLmhpZGRlblJhbmdlLnN0YXJ0ID4gMTBcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ09wdGlvbiBcImhpZGRlblJhbmdlLnN0YXJ0XCIgbXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEwLicpO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGlzTmFOKG9wdGlvbnMuaGlkZGVuUmFuZ2UuZW5kKSB8fFxuICAgICAgb3B0aW9ucy5oaWRkZW5SYW5nZS5lbmQgPCAwIHx8XG4gICAgICBvcHRpb25zLmhpZGRlblJhbmdlLmVuZCA+IDEwXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdPcHRpb24gXCJoaWRkZW5SYW5nZS5lbmRcIiBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMTAuJyk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuaGlkZGVuUmFuZ2Uuc3RhcnQgPiBvcHRpb25zLmhpZGRlblJhbmdlLmVuZCkge1xuICAgICAgY29uc3QgYXV4ID0gb3B0aW9ucy5oaWRkZW5SYW5nZS5zdGFydDtcbiAgICAgIG9wdGlvbnMuaGlkZGVuUmFuZ2Uuc3RhcnQgPSBvcHRpb25zLmhpZGRlblJhbmdlLmVuZDtcbiAgICAgIG9wdGlvbnMuaGlkZGVuUmFuZ2UuZW5kID0gYXV4O1xuICAgIH1cbiAgfVxuXG4gIGlmICh0eXBlb2Ygb3B0aW9ucy5vbkZhaWwgIT09ICdmdW5jdGlvbicpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgb3B0aW9uIFwib25GYWlsXCIgbXVzdCBiZSBhIGNhbGxiYWNrIGZ1bmN0aW9uLicpO1xuICB9XG5cbiAgcmV0dXJuIG9wdGlvbnM7XG59XG5cbmV4cG9ydCBkZWZhdWx0IG1lcmdlT3B0aW9ucztcbiIsImltcG9ydCB7IGVzY2FwZSBhcyBlc2NhcGVIVE1MIH0gZnJvbSAnaHRtbC1lc2NhcGVyJztcbmltcG9ydCBudW1Pbmx5IGZyb20gJ251bS1vbmx5JztcblxuaW1wb3J0IG1lcmdlT3B0aW9ucyBmcm9tICcuL21lcmdlLW9wdGlvbnMnO1xuaW1wb3J0IHR5cGUgeyBDcGZGb3JtYXR0aW5nT3B0aW9ucyB9IGZyb20gJy4vbWVyZ2Utb3B0aW9ucyc7XG5cbi8qKlxuICogRm9ybWF0IGEgZ2l2ZW4gQ1BGIGNoYXIgc2VxdWVuY2UuXG4gKi9cbmZ1bmN0aW9uIGNwZkZtdDxPbkVyckZhbGxiYWNrID0gc3RyaW5nPihcbiAgY3BmU3RyaW5nOiBzdHJpbmcsXG4gIG9wdGlvbnM/OiBDcGZGb3JtYXR0aW5nT3B0aW9uczxPbkVyckZhbGxiYWNrPixcbik6IHN0cmluZyB7XG4gIGNvbnN0IENQRl9MRU5HVEggPSAxMTtcbiAgY29uc3QgY3BmQXJyYXkgPSBudW1Pbmx5KGNwZlN0cmluZykuc3BsaXQoJycpO1xuICBjb25zdCBjdXN0b21PcHRpb25zID0gbWVyZ2VPcHRpb25zKG9wdGlvbnMpO1xuXG4gIGlmIChjcGZBcnJheS5sZW5ndGggIT09IENQRl9MRU5HVEgpIHtcbiAgICBjb25zdCBlcnJvciA9IG5ldyBFcnJvcihgUGFyYW1ldGVyIFwiJHtjcGZTdHJpbmd9XCIgZG9lcyBub3QgY29udGFpbiAke0NQRl9MRU5HVEh9IGRpZ2l0cy5gKTtcblxuICAgIHJldHVybiBjdXN0b21PcHRpb25zLm9uRmFpbChjcGZTdHJpbmcsIGVycm9yKSBhcyBzdHJpbmc7XG4gIH1cblxuICBpZiAoY3VzdG9tT3B0aW9ucy5oaWRkZW4pIHtcbiAgICBmb3IgKGxldCBpID0gY3VzdG9tT3B0aW9ucy5oaWRkZW5SYW5nZS5zdGFydDsgaSA8PSBjdXN0b21PcHRpb25zLmhpZGRlblJhbmdlLmVuZDsgaSsrKSB7XG4gICAgICBjcGZBcnJheVtpXSA9IGN1c3RvbU9wdGlvbnMuaGlkZGVuS2V5O1xuICAgIH1cbiAgfVxuXG4gIGNwZkFycmF5LnNwbGljZSg5LCAwLCBjdXN0b21PcHRpb25zLmRlbGltaXRlcnMuZGFzaCk7XG4gIGNwZkFycmF5LnNwbGljZSg2LCAwLCBjdXN0b21PcHRpb25zLmRlbGltaXRlcnMuZG90KTtcbiAgY3BmQXJyYXkuc3BsaWNlKDMsIDAsIGN1c3RvbU9wdGlvbnMuZGVsaW1pdGVycy5kb3QpO1xuICBjb25zdCBjcGZQcmV0dHkgPSBjcGZBcnJheS5qb2luKCcnKTtcblxuICBpZiAoY3VzdG9tT3B0aW9ucy5lc2NhcGUpIHtcbiAgICByZXR1cm4gZXNjYXBlSFRNTChjcGZQcmV0dHkpO1xuICB9XG5cbiAgcmV0dXJuIGNwZlByZXR0eTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY3BmRm10O1xuIl0sIm5hbWVzIjpbImVzY2FwZUhUTUwiXSwibWFwcGluZ3MiOiI7Ozs7OztBQXlCQSxNQUFNLGNBQXFELEdBQUE7QUFBQSxFQUN6RCxVQUFZLEVBQUE7QUFBQSxJQUNWLEdBQUssRUFBQSxHQUFBO0FBQUEsSUFDTCxJQUFNLEVBQUE7QUFBQSxHQUNSO0FBQUEsRUFDQSxXQUFhLEVBQUE7QUFBQSxJQUNYLEtBQU8sRUFBQSxDQUFBO0FBQUEsSUFDUCxHQUFLLEVBQUE7QUFBQSxHQUNQO0FBQUEsRUFD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 | ||
| //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY2pzIiwic291cmNlcyI6WyIuLi9zcmMvbWVyZ2Utb3B0aW9ucy50cyIsIi4uL3NyYy9jcGYtZm10LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtZXJnZURlZXAgZnJvbSAnZGVlcG1lcmdlJztcblxudHlwZSBEZWVwUGFydGlhbDxUPiA9IHtcbiAgW1AgaW4ga2V5b2YgVF0/OiBEZWVwUGFydGlhbDxUW1BdPjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0dWFsQ3BmRm9ybWF0dGluZ09wdGlvbnM8T25FcnJGYWxsYmFjaz4ge1xuICBkZWxpbWl0ZXJzOiB7XG4gICAgZGFzaDogc3RyaW5nO1xuICAgIGRvdDogc3RyaW5nO1xuICB9O1xuICBlc2NhcGU6IGJvb2xlYW47XG4gIGhpZGRlbjogYm9vbGVhbjtcbiAgaGlkZGVuS2V5OiBzdHJpbmc7XG4gIGhpZGRlblJhbmdlOiB7XG4gICAgZW5kOiBudW1iZXI7XG4gICAgc3RhcnQ6IG51bWJlcjtcbiAgfTtcbiAgb25GYWlsOiAodmFsdWU6IHN0cmluZywgZXJyb3I6IEVycm9yKSA9PiBPbkVyckZhbGxiYWNrO1xufVxuXG5leHBvcnQgdHlwZSBDcGZGb3JtYXR0aW5nT3B0aW9uczxPbkVyckZhbGxiYWNrPiA9IERlZXBQYXJ0aWFsPFxuICBBY3R1YWxDcGZGb3JtYXR0aW5nT3B0aW9uczxPbkVyckZhbGxiYWNrPlxuPjtcblxuY29uc3QgZGVmYXVsdE9wdGlvbnM6IEFjdHVhbENwZkZvcm1hdHRpbmdPcHRpb25zPHN0cmluZz4gPSB7XG4gIGRlbGltaXRlcnM6IHtcbiAgICBkb3Q6ICcuJyxcbiAgICBkYXNoOiAnLScsXG4gIH0sXG4gIGhpZGRlblJhbmdlOiB7XG4gICAgc3RhcnQ6IDMsXG4gICAgZW5kOiAxMCxcbiAgfSxcbiAgb25GYWlsOiAodmFsdWUpID0+IHZhbHVlLFxuICBoaWRkZW5LZXk6ICcqJyxcbiAgaGlkZGVuOiBmYWxzZSxcbiAgZXNjYXBlOiBmYWxzZSxcbn07XG5cbi8qKlxuICogTWVyZ2UgY3VzdG9tIG9wdGlvbnMgdG8gdGhlIGRlZmF1bHQgb25lcy5cbiAqL1xuZnVuY3Rpb24gbWVyZ2VPcHRpb25zPE9uRXJyRmFsbGJhY2s+KFxuICBjdXN0b21PcHRpb25zOiBDcGZGb3JtYXR0aW5nT3B0aW9uczxPbkVyckZhbGxiYWNrPiA9IHt9LFxuKTogQWN0dWFsQ3BmRm9ybWF0dGluZ09wdGlvbnM8T25FcnJGYWxsYmFjaz4ge1xuICBjb25zdCBvcHRpb25zID0gbWVyZ2VEZWVwKFxuICAgIGRlZmF1bHRPcHRpb25zLFxuICAgIGN1c3RvbU9wdGlvbnMsXG4gICkgYXMgQWN0dWFsQ3BmRm9ybWF0dGluZ09wdGlvbnM8T25FcnJGYWxsYmFjaz47XG5cbiAgaWYgKG9wdGlvbnMuaGlkZGVuKSB7XG4gICAgaWYgKFxuICAgICAgaXNOYU4ob3B0aW9ucy5oaWRkZW5SYW5nZS5zdGFydCkgfHxcbiAgICAgIG9wdGlvbnMuaGlkZGVuUmFuZ2Uuc3RhcnQgPCAwIHx8XG4gICAgICBvcHRpb25zLmhpZGRlblJhbmdlLnN0YXJ0ID4gMTBcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ09wdGlvbiBcImhpZGRlblJhbmdlLnN0YXJ0XCIgbXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEwLicpO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGlzTmFOKG9wdGlvbnMuaGlkZGVuUmFuZ2UuZW5kKSB8fFxuICAgICAgb3B0aW9ucy5oaWRkZW5SYW5nZS5lbmQgPCAwIHx8XG4gICAgICBvcHRpb25zLmhpZGRlblJhbmdlLmVuZCA+IDEwXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdPcHRpb24gXCJoaWRkZW5SYW5nZS5lbmRcIiBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMTAuJyk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuaGlkZGVuUmFuZ2Uuc3RhcnQgPiBvcHRpb25zLmhpZGRlblJhbmdlLmVuZCkge1xuICAgICAgY29uc3QgYXV4ID0gb3B0aW9ucy5oaWRkZW5SYW5nZS5zdGFydDtcbiAgICAgIG9wdGlvbnMuaGlkZGVuUmFuZ2Uuc3RhcnQgPSBvcHRpb25zLmhpZGRlblJhbmdlLmVuZDtcbiAgICAgIG9wdGlvbnMuaGlkZGVuUmFuZ2UuZW5kID0gYXV4O1xuICAgIH1cbiAgfVxuXG4gIGlmICh0eXBlb2Ygb3B0aW9ucy5vbkZhaWwgIT09ICdmdW5jdGlvbicpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgb3B0aW9uIFwib25GYWlsXCIgbXVzdCBiZSBhIGNhbGxiYWNrIGZ1bmN0aW9uLicpO1xuICB9XG5cbiAgcmV0dXJuIG9wdGlvbnM7XG59XG5cbmV4cG9ydCBkZWZhdWx0IG1lcmdlT3B0aW9ucztcbiIsImltcG9ydCB7IGVzY2FwZSBhcyBlc2NhcGVIVE1MIH0gZnJvbSAnaHRtbC1lc2NhcGVyJztcbmltcG9ydCBudW1Pbmx5IGZyb20gJ251bS1vbmx5JztcblxuaW1wb3J0IG1lcmdlT3B0aW9ucyBmcm9tICcuL21lcmdlLW9wdGlvbnMnO1xuaW1wb3J0IHR5cGUgeyBDcGZGb3JtYXR0aW5nT3B0aW9ucyB9IGZyb20gJy4vbWVyZ2Utb3B0aW9ucyc7XG5cbi8qKlxuICogRm9ybWF0IGEgZ2l2ZW4gQ1BGIGNoYXIgc2VxdWVuY2UuXG4gKi9cbmZ1bmN0aW9uIGNwZkZtdDxPbkVyckZhbGxiYWNrID0gc3RyaW5nPihcbiAgY3BmU3RyaW5nOiBzdHJpbmcsXG4gIG9wdGlvbnM/OiBDcGZGb3JtYXR0aW5nT3B0aW9uczxPbkVyckZhbGxiYWNrPixcbik6IHN0cmluZyB7XG4gIGNvbnN0IENQRl9MRU5HVEggPSAxMTtcbiAgY29uc3QgY3BmQXJyYXkgPSBudW1Pbmx5KGNwZlN0cmluZykuc3BsaXQoJycpO1xuICBjb25zdCBjdXN0b21PcHRpb25zID0gbWVyZ2VPcHRpb25zKG9wdGlvbnMpO1xuXG4gIGlmIChjcGZBcnJheS5sZW5ndGggIT09IENQRl9MRU5HVEgpIHtcbiAgICBjb25zdCBlcnJvciA9IG5ldyBFcnJvcihgUGFyYW1ldGVyIFwiJHtjcGZTdHJpbmd9XCIgZG9lcyBub3QgY29udGFpbiAke0NQRl9MRU5HVEh9IGRpZ2l0cy5gKTtcblxuICAgIHJldHVybiBjdXN0b21PcHRpb25zLm9uRmFpbChjcGZTdHJpbmcsIGVycm9yKSBhcyBzdHJpbmc7XG4gIH1cblxuICBpZiAoY3VzdG9tT3B0aW9ucy5oaWRkZW4pIHtcbiAgICBmb3IgKGxldCBpID0gY3VzdG9tT3B0aW9ucy5oaWRkZW5SYW5nZS5zdGFydDsgaSA8PSBjdXN0b21PcHRpb25zLmhpZGRlblJhbmdlLmVuZDsgaSsrKSB7XG4gICAgICBjcGZBcnJheVtpXSA9IGN1c3RvbU9wdGlvbnMuaGlkZGVuS2V5O1xuICAgIH1cbiAgfVxuXG4gIGNwZkFycmF5LnNwbGljZSg5LCAwLCBjdXN0b21PcHRpb25zLmRlbGltaXRlcnMuZGFzaCk7XG4gIGNwZkFycmF5LnNwbGljZSg2LCAwLCBjdXN0b21PcHRpb25zLmRlbGltaXRlcnMuZG90KTtcbiAgY3BmQXJyYXkuc3BsaWNlKDMsIDAsIGN1c3RvbU9wdGlvbnMuZGVsaW1pdGVycy5kb3QpO1xuICBjb25zdCBjcGZQcmV0dHkgPSBjcGZBcnJheS5qb2luKCcnKTtcblxuICBpZiAoY3VzdG9tT3B0aW9ucy5lc2NhcGUpIHtcbiAgICByZXR1cm4gZXNjYXBlSFRNTChjcGZQcmV0dHkpO1xuICB9XG5cbiAgcmV0dXJuIGNwZlByZXR0eTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY3BmRm10O1xuIl0sIm5hbWVzIjpbImVzY2FwZUhUTUwiXSwibWFwcGluZ3MiOiI7Ozs7OztBQXlCQSxNQUFNLGNBQUEsR0FBcUQ7QUFBQSxFQUN6RCxVQUFBLEVBQVk7QUFBQSxJQUNWLEdBQUEsRUFBSyxHQUFBO0FBQUEsSUFDTCxJQUFBLEVBQU07QUFBQSxHQUNSO0FBQUEsRUFDQSxXQUFBLEVBQWE7QUFBQSxJQUNYLEtBQUEsRUFBTyxDQUFBO0FBQUEsSUFDUCxHQUFBLEVBQUs7QUFBQSxHQUNQO0FBQUEsRUFDQSxNQUFBLEVBQVEsQ0FBQyxLQUFBLEtBQVUsS0FBQTtBQUFBLEVBQ25CLFNBQUEsRUFBVyxHQUFBO0FBQUEsRUFDWCxNQUFBLEVBQVEsS0FBQTtBQUFBLEVBQ1IsTUFBQSxFQUFRO0FBQ1YsQ0FBQTtBQUtBLFNBQVMsWUFBQSxDQUNQLGFBQUEsR0FBcUQsRUFBQyxFQUNYO0FBQzNDLEVBQUEsTUFBTSxPQUFBLEdBQVUsU0FBQTtBQUFBLElBQ2QsY0FBQTtBQUFBLElBQ0E7QUFBQSxHQUNGO0FBRUEsRUFBQSxJQUFJLFFBQVEsTUFBQSxFQUFRO0FBQ2xCLElBQUEsSUFDRSxLQUFBLENBQU0sT0FBQSxDQUFRLFdBQUEsQ0FBWSxLQUFLLENBQUEsSUFDL0IsT0FBQSxDQUFRLFdBQUEsQ0FBWSxLQUFBLEdBQVEsQ0FBQSxJQUM1QixPQUFBLENBQVEsV0FBQSxDQUFZLEtBQUEsR0FBUSxFQUFBLEVBQzVCO0FBQ0EsTUFBQSxNQUFNLElBQUksVUFBVSwrREFBK0QsQ0FBQTtBQUFBLElBQ3JGO0FBRUEsSUFBQSxJQUNFLEtBQUEsQ0FBTSxPQUFBLENBQVEsV0FBQSxDQUFZLEdBQUcsQ0FBQSxJQUM3QixPQUFBLENBQVEsV0FBQSxDQUFZLEdBQUEsR0FBTSxDQUFBLElBQzFCLE9BQUEsQ0FBUSxXQUFBLENBQVksR0FBQSxHQUFNLEVBQUEsRUFDMUI7QUFDQSxNQUFBLE1BQU0sSUFBSSxVQUFVLDZEQUE2RCxDQUFBO0FBQUEsSUFDbkY7QUFFQSxJQUFBLElBQUksT0FBQSxDQUFRLFdBQUEsQ0FBWSxLQUFBLEdBQVEsT0FBQSxDQUFRLFlBQVksR0FBQSxFQUFLO0FBQ3ZELE1BQUEsTUFBTSxHQUFBLEdBQU0sUUFBUSxXQUFBLENBQVksS0FBQTtBQUNoQyxNQUFBLE9BQUEsQ0FBUSxXQUFBLENBQVksS0FBQSxHQUFRLE9BQUEsQ0FBUSxXQUFBLENBQVksR0FBQTtBQUNoRCxNQUFBLE9BQUEsQ0FBUSxZQUFZLEdBQUEsR0FBTSxHQUFBO0FBQUEsSUFDNUI7QUFBQSxFQUNGO0FBRUEsRUFBQSxJQUFJLE9BQU8sT0FBQSxDQUFRLE1BQUEsS0FBVyxVQUFBLEVBQVk7QUFDeEMsSUFBQSxNQUFNLElBQUksVUFBVSxrREFBa0QsQ0FBQTtBQUFBLEVBQ3hFO0FBRUEsRUFBQSxPQUFPLE9BQUE7QUFDVDs7QUN2RUEsU0FBUyxNQUFBLENBQ1AsV0FDQSxPQUFBLEVBQ1E7QUFDUixFQUFBLE1BQU0sVUFBQSxHQUFhLEVBQUE7QUFDbkIsRUFBQSxNQUFNLFFBQUEsR0FBVyxPQUFBLENBQVEsU0FBUyxDQUFBLENBQUUsTUFBTSxFQUFFLENBQUE7QUFDNUMsRUFBQSxNQUFNLGFBQUEsR0FBZ0IsYUFBYSxPQUFPLENBQUE7QUFFMUMsRUFBQSxJQUFJLFFBQUEsQ0FBUyxXQUFXLFVBQUEsRUFBWTtBQUNsQyxJQUFBLE1BQU0sUUFBUSxJQUFJLEtBQUEsQ0FBTSxjQUFjLFNBQVMsQ0FBQSxtQkFBQSxFQUFzQixVQUFVLENBQUEsUUFBQSxDQUFVLENBQUE7QUFFekYsSUFBQSxPQUFPLGFBQUEsQ0FBYyxNQUFBLENBQU8sU0FBQSxFQUFXLEtBQUssQ0FBQTtBQUFBLEVBQzlDO0FBRUEsRUFBQSxJQUFJLGNBQWMsTUFBQSxFQUFRO0FBQ3hCLElBQUEsS0FBQSxJQUFTLENBQUEsR0FBSSxjQUFjLFdBQUEsQ0FBWSxLQUFBLEVBQU8sS0FBSyxhQUFBLENBQWMsV0FBQSxDQUFZLEtBQUssQ0FBQSxFQUFBLEVBQUs7QUFDckYsTUFBQSxRQUFBLENBQVMsQ0FBQyxJQUFJLGFBQUEsQ0FBYyxTQUFBO0FBQUEsSUFDOUI7QUFBQSxFQUNGO0FBRUEsRUFBQSxRQUFBLENBQVMsTUFBQSxDQUFPLENBQUEsRUFBRyxDQUFBLEVBQUcsYUFBQSxDQUFjLFdBQVcsSUFBSSxDQUFBO0FBQ25ELEVBQUEsUUFBQSxDQUFTLE1BQUEsQ0FBTyxDQUFBLEVBQUcsQ0FBQSxFQUFHLGFBQUEsQ0FBYyxXQUFXLEdBQUcsQ0FBQTtBQUNsRCxFQUFBLFFBQUEsQ0FBUyxNQUFBLENBQU8sQ0FBQSxFQUFHLENBQUEsRUFBRyxhQUFBLENBQWMsV0FBVyxHQUFHLENBQUE7QUFDbEQsRUFBQSxNQUFNLFNBQUEsR0FBWSxRQUFBLENBQVMsSUFBQSxDQUFLLEVBQUUsQ0FBQTtBQUVsQyxFQUFBLElBQUksY0FBYyxNQUFBLEVBQVE7QUFDeEIsSUFBQSxPQUFPQSxtQkFBVyxTQUFTLENBQUE7QUFBQSxFQUM3QjtBQUVBLEVBQUEsT0FBTyxTQUFBO0FBQ1Q7Ozs7In0= |
+1
-1
@@ -67,2 +67,2 @@ import { escape } from 'html-escaper'; | ||
| export { cpfFmt as default }; | ||
| //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgubWpzIiwic291cmNlcyI6WyIuLi9zcmMvbWVyZ2Utb3B0aW9ucy50cyIsIi4uL3NyYy9jcGYtZm10LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtZXJnZURlZXAgZnJvbSAnZGVlcG1lcmdlJztcblxudHlwZSBEZWVwUGFydGlhbDxUPiA9IHtcbiAgW1AgaW4ga2V5b2YgVF0/OiBEZWVwUGFydGlhbDxUW1BdPjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0dWFsQ3BmRm9ybWF0dGluZ09wdGlvbnM8T25FcnJGYWxsYmFjaz4ge1xuICBkZWxpbWl0ZXJzOiB7XG4gICAgZGFzaDogc3RyaW5nO1xuICAgIGRvdDogc3RyaW5nO1xuICB9O1xuICBlc2NhcGU6IGJvb2xlYW47XG4gIGhpZGRlbjogYm9vbGVhbjtcbiAgaGlkZGVuS2V5OiBzdHJpbmc7XG4gIGhpZGRlblJhbmdlOiB7XG4gICAgZW5kOiBudW1iZXI7XG4gICAgc3RhcnQ6IG51bWJlcjtcbiAgfTtcbiAgb25GYWlsOiAodmFsdWU6IHN0cmluZywgZXJyb3I6IEVycm9yKSA9PiBPbkVyckZhbGxiYWNrO1xufVxuXG5leHBvcnQgdHlwZSBDcGZGb3JtYXR0aW5nT3B0aW9uczxPbkVyckZhbGxiYWNrPiA9IERlZXBQYXJ0aWFsPFxuICBBY3R1YWxDcGZGb3JtYXR0aW5nT3B0aW9uczxPbkVyckZhbGxiYWNrPlxuPjtcblxuY29uc3QgZGVmYXVsdE9wdGlvbnM6IEFjdHVhbENwZkZvcm1hdHRpbmdPcHRpb25zPHN0cmluZz4gPSB7XG4gIGRlbGltaXRlcnM6IHtcbiAgICBkb3Q6ICcuJyxcbiAgICBkYXNoOiAnLScsXG4gIH0sXG4gIGhpZGRlblJhbmdlOiB7XG4gICAgc3RhcnQ6IDMsXG4gICAgZW5kOiAxMCxcbiAgfSxcbiAgb25GYWlsOiAodmFsdWUpID0+IHZhbHVlLFxuICBoaWRkZW5LZXk6ICcqJyxcbiAgaGlkZGVuOiBmYWxzZSxcbiAgZXNjYXBlOiBmYWxzZSxcbn07XG5cbi8qKlxuICogTWVyZ2UgY3VzdG9tIG9wdGlvbnMgdG8gdGhlIGRlZmF1bHQgb25lcy5cbiAqL1xuZnVuY3Rpb24gbWVyZ2VPcHRpb25zPE9uRXJyRmFsbGJhY2s+KFxuICBjdXN0b21PcHRpb25zOiBDcGZGb3JtYXR0aW5nT3B0aW9uczxPbkVyckZhbGxiYWNrPiA9IHt9LFxuKTogQWN0dWFsQ3BmRm9ybWF0dGluZ09wdGlvbnM8T25FcnJGYWxsYmFjaz4ge1xuICBjb25zdCBvcHRpb25zID0gbWVyZ2VEZWVwKFxuICAgIGRlZmF1bHRPcHRpb25zLFxuICAgIGN1c3RvbU9wdGlvbnMsXG4gICkgYXMgQWN0dWFsQ3BmRm9ybWF0dGluZ09wdGlvbnM8T25FcnJGYWxsYmFjaz47XG5cbiAgaWYgKG9wdGlvbnMuaGlkZGVuKSB7XG4gICAgaWYgKFxuICAgICAgaXNOYU4ob3B0aW9ucy5oaWRkZW5SYW5nZS5zdGFydCkgfHxcbiAgICAgIG9wdGlvbnMuaGlkZGVuUmFuZ2Uuc3RhcnQgPCAwIHx8XG4gICAgICBvcHRpb25zLmhpZGRlblJhbmdlLnN0YXJ0ID4gMTBcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ09wdGlvbiBcImhpZGRlblJhbmdlLnN0YXJ0XCIgbXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEwLicpO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGlzTmFOKG9wdGlvbnMuaGlkZGVuUmFuZ2UuZW5kKSB8fFxuICAgICAgb3B0aW9ucy5oaWRkZW5SYW5nZS5lbmQgPCAwIHx8XG4gICAgICBvcHRpb25zLmhpZGRlblJhbmdlLmVuZCA+IDEwXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdPcHRpb24gXCJoaWRkZW5SYW5nZS5lbmRcIiBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMTAuJyk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuaGlkZGVuUmFuZ2Uuc3RhcnQgPiBvcHRpb25zLmhpZGRlblJhbmdlLmVuZCkge1xuICAgICAgY29uc3QgYXV4ID0gb3B0aW9ucy5oaWRkZW5SYW5nZS5zdGFydDtcbiAgICAgIG9wdGlvbnMuaGlkZGVuUmFuZ2Uuc3RhcnQgPSBvcHRpb25zLmhpZGRlblJhbmdlLmVuZDtcbiAgICAgIG9wdGlvbnMuaGlkZGVuUmFuZ2UuZW5kID0gYXV4O1xuICAgIH1cbiAgfVxuXG4gIGlmICh0eXBlb2Ygb3B0aW9ucy5vbkZhaWwgIT09ICdmdW5jdGlvbicpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgb3B0aW9uIFwib25GYWlsXCIgbXVzdCBiZSBhIGNhbGxiYWNrIGZ1bmN0aW9uLicpO1xuICB9XG5cbiAgcmV0dXJuIG9wdGlvbnM7XG59XG5cbmV4cG9ydCBkZWZhdWx0IG1lcmdlT3B0aW9ucztcbiIsImltcG9ydCB7IGVzY2FwZSBhcyBlc2NhcGVIVE1MIH0gZnJvbSAnaHRtbC1lc2NhcGVyJztcbmltcG9ydCBudW1Pbmx5IGZyb20gJ251bS1vbmx5JztcblxuaW1wb3J0IG1lcmdlT3B0aW9ucyBmcm9tICcuL21lcmdlLW9wdGlvbnMnO1xuaW1wb3J0IHR5cGUgeyBDcGZGb3JtYXR0aW5nT3B0aW9ucyB9IGZyb20gJy4vbWVyZ2Utb3B0aW9ucyc7XG5cbi8qKlxuICogRm9ybWF0IGEgZ2l2ZW4gQ1BGIGNoYXIgc2VxdWVuY2UuXG4gKi9cbmZ1bmN0aW9uIGNwZkZtdDxPbkVyckZhbGxiYWNrID0gc3RyaW5nPihcbiAgY3BmU3RyaW5nOiBzdHJpbmcsXG4gIG9wdGlvbnM/OiBDcGZGb3JtYXR0aW5nT3B0aW9uczxPbkVyckZhbGxiYWNrPixcbik6IHN0cmluZyB7XG4gIGNvbnN0IENQRl9MRU5HVEggPSAxMTtcbiAgY29uc3QgY3BmQXJyYXkgPSBudW1Pbmx5KGNwZlN0cmluZykuc3BsaXQoJycpO1xuICBjb25zdCBjdXN0b21PcHRpb25zID0gbWVyZ2VPcHRpb25zKG9wdGlvbnMpO1xuXG4gIGlmIChjcGZBcnJheS5sZW5ndGggIT09IENQRl9MRU5HVEgpIHtcbiAgICBjb25zdCBlcnJvciA9IG5ldyBFcnJvcihgUGFyYW1ldGVyIFwiJHtjcGZTdHJpbmd9XCIgZG9lcyBub3QgY29udGFpbiAke0NQRl9MRU5HVEh9IGRpZ2l0cy5gKTtcblxuICAgIHJldHVybiBjdXN0b21PcHRpb25zLm9uRmFpbChjcGZTdHJpbmcsIGVycm9yKSBhcyBzdHJpbmc7XG4gIH1cblxuICBpZiAoY3VzdG9tT3B0aW9ucy5oaWRkZW4pIHtcbiAgICBmb3IgKGxldCBpID0gY3VzdG9tT3B0aW9ucy5oaWRkZW5SYW5nZS5zdGFydDsgaSA8PSBjdXN0b21PcHRpb25zLmhpZGRlblJhbmdlLmVuZDsgaSsrKSB7XG4gICAgICBjcGZBcnJheVtpXSA9IGN1c3RvbU9wdGlvbnMuaGlkZGVuS2V5O1xuICAgIH1cbiAgfVxuXG4gIGNwZkFycmF5LnNwbGljZSg5LCAwLCBjdXN0b21PcHRpb25zLmRlbGltaXRlcnMuZGFzaCk7XG4gIGNwZkFycmF5LnNwbGljZSg2LCAwLCBjdXN0b21PcHRpb25zLmRlbGltaXRlcnMuZG90KTtcbiAgY3BmQXJyYXkuc3BsaWNlKDMsIDAsIGN1c3RvbU9wdGlvbnMuZGVsaW1pdGVycy5kb3QpO1xuICBjb25zdCBjcGZQcmV0dHkgPSBjcGZBcnJheS5qb2luKCcnKTtcblxuICBpZiAoY3VzdG9tT3B0aW9ucy5lc2NhcGUpIHtcbiAgICByZXR1cm4gZXNjYXBlSFRNTChjcGZQcmV0dHkpO1xuICB9XG5cbiAgcmV0dXJuIGNwZlByZXR0eTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY3BmRm10O1xuIl0sIm5hbWVzIjpbImVzY2FwZUhUTUwiXSwibWFwcGluZ3MiOiI7Ozs7QUF5QkEsTUFBTSxjQUFxRCxHQUFBO0FBQUEsRUFDekQsVUFBWSxFQUFBO0FBQUEsSUFDVixHQUFLLEVBQUEsR0FBQTtBQUFBLElBQ0wsSUFBTSxFQUFBO0FBQUEsR0FDUjtBQUFBLEVBQ0EsV0FBYSxFQUFBO0FBQUEsSUFDWCxLQUFPLEVBQUEsQ0FBQTtBQUFBLElBQ1AsR0FBSyxFQUFBO0FBQUEsR0FDUDtBQUFBLEVBQ0EsTUFBQSxFQUFRLENBQUMsS0FBVSxLQUFBLEtBQUE7QUFBQSxFQUNuQixTQUFXLEVBQUEsR0FBQTtBQUFBLEVBQ1gsTUFBUSxFQUFBLEtBQUE7QUFBQSxFQUNSLE1BQVEsRUFBQTtBQUNWLENBQUE7QUFLQSxTQUFTLFlBQUEsQ0FDUCxhQUFxRCxHQUFBLEVBQ1YsRUFBQTtBQUMzQyxFQUFBLE1BQU0sT0FBVSxHQUFBLFNBQUE7QUFBQSxJQUNkLGNBQUE7QUFBQSxJQUNBO0FBQUEsR0FDRjtBQUVBLEVBQUEsSUFBSSxRQUFRLE1BQVEsRUFBQTtBQUNsQixJQUFBLElBQ0UsS0FBTSxDQUFBLE9BQUEsQ0FBUSxXQUFZLENBQUEsS0FBSyxDQUMvQixJQUFBLE9BQUEsQ0FBUSxXQUFZLENBQUEsS0FBQSxHQUFRLENBQzVCLElBQUEsT0FBQSxDQUFRLFdBQVksQ0FBQSxLQUFBLEdBQVEsRUFDNUIsRUFBQTtBQUNBLE1BQU0sTUFBQSxJQUFJLFVBQVUsK0RBQStELENBQUE7QUFBQTtBQUdyRixJQUFBLElBQ0UsS0FBTSxDQUFBLE9BQUEsQ0FBUSxXQUFZLENBQUEsR0FBRyxDQUM3QixJQUFBLE9BQUEsQ0FBUSxXQUFZLENBQUEsR0FBQSxHQUFNLENBQzFCLElBQUEsT0FBQSxDQUFRLFdBQVksQ0FBQSxHQUFBLEdBQU0sRUFDMUIsRUFBQTtBQUNBLE1BQU0sTUFBQSxJQUFJLFVBQVUsNkRBQTZELENBQUE7QUFBQTtBQUduRixJQUFBLElBQUksT0FBUSxDQUFBLFdBQUEsQ0FBWSxLQUFRLEdBQUEsT0FBQSxDQUFRLFlBQVksR0FBSyxFQUFBO0FBQ3ZELE1BQU0sTUFBQSxHQUFBLEdBQU0sUUFBUSxXQUFZLENBQUEsS0FBQTtBQUNoQyxNQUFRLE9BQUEsQ0FBQSxXQUFBLENBQVksS0FBUSxHQUFBLE9BQUEsQ0FBUSxXQUFZLENBQUEsR0FBQTtBQUNoRCxNQUFBLE9BQUEsQ0FBUSxZQUFZLEdBQU0sR0FBQSxHQUFBO0FBQUE7QUFDNUI7QUFHRixFQUFJLElBQUEsT0FBTyxPQUFRLENBQUEsTUFBQSxLQUFXLFVBQVksRUFBQTtBQUN4QyxJQUFNLE1BQUEsSUFBSSxVQUFVLGtEQUFrRCxDQUFBO0FBQUE7QUFHeEUsRUFBTyxPQUFBLE9BQUE7QUFDVDs7QUN2RUEsU0FBUyxNQUFBLENBQ1AsV0FDQSxPQUNRLEVBQUE7QUFDUixFQUFBLE1BQU0sVUFBYSxHQUFBLEVBQUE7QUFDbkIsRUFBQSxNQUFNLFFBQVcsR0FBQSxPQUFBLENBQVEsU0FBUyxDQUFBLENBQUUsTUFBTSxFQUFFLENBQUE7QUFDNUMsRUFBTSxNQUFBLGFBQUEsR0FBZ0IsYUFBYSxPQUFPLENBQUE7QUFFMUMsRUFBSSxJQUFBLFFBQUEsQ0FBUyxXQUFXLFVBQVksRUFBQTtBQUNsQyxJQUFBLE1BQU0sUUFBUSxJQUFJLEtBQUEsQ0FBTSxjQUFjLFNBQVMsQ0FBQSxtQkFBQSxFQUFzQixVQUFVLENBQVUsUUFBQSxDQUFBLENBQUE7QUFFekYsSUFBTyxPQUFBLGFBQUEsQ0FBYyxNQUFPLENBQUEsU0FBQSxFQUFXLEtBQUssQ0FBQTtBQUFBO0FBRzlDLEVBQUEsSUFBSSxjQUFjLE1BQVEsRUFBQTtBQUN4QixJQUFTLEtBQUEsSUFBQSxDQUFBLEdBQUksY0FBYyxXQUFZLENBQUEsS0FBQSxFQUFPLEtBQUssYUFBYyxDQUFBLFdBQUEsQ0FBWSxLQUFLLENBQUssRUFBQSxFQUFBO0FBQ3JGLE1BQVMsUUFBQSxDQUFBLENBQUMsSUFBSSxhQUFjLENBQUEsU0FBQTtBQUFBO0FBQzlCO0FBR0YsRUFBQSxRQUFBLENBQVMsTUFBTyxDQUFBLENBQUEsRUFBRyxDQUFHLEVBQUEsYUFBQSxDQUFjLFdBQVcsSUFBSSxDQUFBO0FBQ25ELEVBQUEsUUFBQSxDQUFTLE1BQU8sQ0FBQSxDQUFBLEVBQUcsQ0FBRyxFQUFBLGFBQUEsQ0FBYyxXQUFXLEdBQUcsQ0FBQTtBQUNsRCxFQUFBLFFBQUEsQ0FBUyxNQUFPLENBQUEsQ0FBQSxFQUFHLENBQUcsRUFBQSxhQUFBLENBQWMsV0FBVyxHQUFHLENBQUE7QUFDbEQsRUFBTSxNQUFBLFNBQUEsR0FBWSxRQUFTLENBQUEsSUFBQSxDQUFLLEVBQUUsQ0FBQTtBQUVsQyxFQUFBLElBQUksY0FBYyxNQUFRLEVBQUE7QUFDeEIsSUFBQSxPQUFPQSxPQUFXLFNBQVMsQ0FBQTtBQUFBO0FBRzdCLEVBQU8sT0FBQSxTQUFBO0FBQ1Q7Ozs7In0= | ||
| //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgubWpzIiwic291cmNlcyI6WyIuLi9zcmMvbWVyZ2Utb3B0aW9ucy50cyIsIi4uL3NyYy9jcGYtZm10LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtZXJnZURlZXAgZnJvbSAnZGVlcG1lcmdlJztcblxudHlwZSBEZWVwUGFydGlhbDxUPiA9IHtcbiAgW1AgaW4ga2V5b2YgVF0/OiBEZWVwUGFydGlhbDxUW1BdPjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0dWFsQ3BmRm9ybWF0dGluZ09wdGlvbnM8T25FcnJGYWxsYmFjaz4ge1xuICBkZWxpbWl0ZXJzOiB7XG4gICAgZGFzaDogc3RyaW5nO1xuICAgIGRvdDogc3RyaW5nO1xuICB9O1xuICBlc2NhcGU6IGJvb2xlYW47XG4gIGhpZGRlbjogYm9vbGVhbjtcbiAgaGlkZGVuS2V5OiBzdHJpbmc7XG4gIGhpZGRlblJhbmdlOiB7XG4gICAgZW5kOiBudW1iZXI7XG4gICAgc3RhcnQ6IG51bWJlcjtcbiAgfTtcbiAgb25GYWlsOiAodmFsdWU6IHN0cmluZywgZXJyb3I6IEVycm9yKSA9PiBPbkVyckZhbGxiYWNrO1xufVxuXG5leHBvcnQgdHlwZSBDcGZGb3JtYXR0aW5nT3B0aW9uczxPbkVyckZhbGxiYWNrPiA9IERlZXBQYXJ0aWFsPFxuICBBY3R1YWxDcGZGb3JtYXR0aW5nT3B0aW9uczxPbkVyckZhbGxiYWNrPlxuPjtcblxuY29uc3QgZGVmYXVsdE9wdGlvbnM6IEFjdHVhbENwZkZvcm1hdHRpbmdPcHRpb25zPHN0cmluZz4gPSB7XG4gIGRlbGltaXRlcnM6IHtcbiAgICBkb3Q6ICcuJyxcbiAgICBkYXNoOiAnLScsXG4gIH0sXG4gIGhpZGRlblJhbmdlOiB7XG4gICAgc3RhcnQ6IDMsXG4gICAgZW5kOiAxMCxcbiAgfSxcbiAgb25GYWlsOiAodmFsdWUpID0+IHZhbHVlLFxuICBoaWRkZW5LZXk6ICcqJyxcbiAgaGlkZGVuOiBmYWxzZSxcbiAgZXNjYXBlOiBmYWxzZSxcbn07XG5cbi8qKlxuICogTWVyZ2UgY3VzdG9tIG9wdGlvbnMgdG8gdGhlIGRlZmF1bHQgb25lcy5cbiAqL1xuZnVuY3Rpb24gbWVyZ2VPcHRpb25zPE9uRXJyRmFsbGJhY2s+KFxuICBjdXN0b21PcHRpb25zOiBDcGZGb3JtYXR0aW5nT3B0aW9uczxPbkVyckZhbGxiYWNrPiA9IHt9LFxuKTogQWN0dWFsQ3BmRm9ybWF0dGluZ09wdGlvbnM8T25FcnJGYWxsYmFjaz4ge1xuICBjb25zdCBvcHRpb25zID0gbWVyZ2VEZWVwKFxuICAgIGRlZmF1bHRPcHRpb25zLFxuICAgIGN1c3RvbU9wdGlvbnMsXG4gICkgYXMgQWN0dWFsQ3BmRm9ybWF0dGluZ09wdGlvbnM8T25FcnJGYWxsYmFjaz47XG5cbiAgaWYgKG9wdGlvbnMuaGlkZGVuKSB7XG4gICAgaWYgKFxuICAgICAgaXNOYU4ob3B0aW9ucy5oaWRkZW5SYW5nZS5zdGFydCkgfHxcbiAgICAgIG9wdGlvbnMuaGlkZGVuUmFuZ2Uuc3RhcnQgPCAwIHx8XG4gICAgICBvcHRpb25zLmhpZGRlblJhbmdlLnN0YXJ0ID4gMTBcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ09wdGlvbiBcImhpZGRlblJhbmdlLnN0YXJ0XCIgbXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEwLicpO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGlzTmFOKG9wdGlvbnMuaGlkZGVuUmFuZ2UuZW5kKSB8fFxuICAgICAgb3B0aW9ucy5oaWRkZW5SYW5nZS5lbmQgPCAwIHx8XG4gICAgICBvcHRpb25zLmhpZGRlblJhbmdlLmVuZCA+IDEwXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdPcHRpb24gXCJoaWRkZW5SYW5nZS5lbmRcIiBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMTAuJyk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuaGlkZGVuUmFuZ2Uuc3RhcnQgPiBvcHRpb25zLmhpZGRlblJhbmdlLmVuZCkge1xuICAgICAgY29uc3QgYXV4ID0gb3B0aW9ucy5oaWRkZW5SYW5nZS5zdGFydDtcbiAgICAgIG9wdGlvbnMuaGlkZGVuUmFuZ2Uuc3RhcnQgPSBvcHRpb25zLmhpZGRlblJhbmdlLmVuZDtcbiAgICAgIG9wdGlvbnMuaGlkZGVuUmFuZ2UuZW5kID0gYXV4O1xuICAgIH1cbiAgfVxuXG4gIGlmICh0eXBlb2Ygb3B0aW9ucy5vbkZhaWwgIT09ICdmdW5jdGlvbicpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgb3B0aW9uIFwib25GYWlsXCIgbXVzdCBiZSBhIGNhbGxiYWNrIGZ1bmN0aW9uLicpO1xuICB9XG5cbiAgcmV0dXJuIG9wdGlvbnM7XG59XG5cbmV4cG9ydCBkZWZhdWx0IG1lcmdlT3B0aW9ucztcbiIsImltcG9ydCB7IGVzY2FwZSBhcyBlc2NhcGVIVE1MIH0gZnJvbSAnaHRtbC1lc2NhcGVyJztcbmltcG9ydCBudW1Pbmx5IGZyb20gJ251bS1vbmx5JztcblxuaW1wb3J0IG1lcmdlT3B0aW9ucyBmcm9tICcuL21lcmdlLW9wdGlvbnMnO1xuaW1wb3J0IHR5cGUgeyBDcGZGb3JtYXR0aW5nT3B0aW9ucyB9IGZyb20gJy4vbWVyZ2Utb3B0aW9ucyc7XG5cbi8qKlxuICogRm9ybWF0IGEgZ2l2ZW4gQ1BGIGNoYXIgc2VxdWVuY2UuXG4gKi9cbmZ1bmN0aW9uIGNwZkZtdDxPbkVyckZhbGxiYWNrID0gc3RyaW5nPihcbiAgY3BmU3RyaW5nOiBzdHJpbmcsXG4gIG9wdGlvbnM/OiBDcGZGb3JtYXR0aW5nT3B0aW9uczxPbkVyckZhbGxiYWNrPixcbik6IHN0cmluZyB7XG4gIGNvbnN0IENQRl9MRU5HVEggPSAxMTtcbiAgY29uc3QgY3BmQXJyYXkgPSBudW1Pbmx5KGNwZlN0cmluZykuc3BsaXQoJycpO1xuICBjb25zdCBjdXN0b21PcHRpb25zID0gbWVyZ2VPcHRpb25zKG9wdGlvbnMpO1xuXG4gIGlmIChjcGZBcnJheS5sZW5ndGggIT09IENQRl9MRU5HVEgpIHtcbiAgICBjb25zdCBlcnJvciA9IG5ldyBFcnJvcihgUGFyYW1ldGVyIFwiJHtjcGZTdHJpbmd9XCIgZG9lcyBub3QgY29udGFpbiAke0NQRl9MRU5HVEh9IGRpZ2l0cy5gKTtcblxuICAgIHJldHVybiBjdXN0b21PcHRpb25zLm9uRmFpbChjcGZTdHJpbmcsIGVycm9yKSBhcyBzdHJpbmc7XG4gIH1cblxuICBpZiAoY3VzdG9tT3B0aW9ucy5oaWRkZW4pIHtcbiAgICBmb3IgKGxldCBpID0gY3VzdG9tT3B0aW9ucy5oaWRkZW5SYW5nZS5zdGFydDsgaSA8PSBjdXN0b21PcHRpb25zLmhpZGRlblJhbmdlLmVuZDsgaSsrKSB7XG4gICAgICBjcGZBcnJheVtpXSA9IGN1c3RvbU9wdGlvbnMuaGlkZGVuS2V5O1xuICAgIH1cbiAgfVxuXG4gIGNwZkFycmF5LnNwbGljZSg5LCAwLCBjdXN0b21PcHRpb25zLmRlbGltaXRlcnMuZGFzaCk7XG4gIGNwZkFycmF5LnNwbGljZSg2LCAwLCBjdXN0b21PcHRpb25zLmRlbGltaXRlcnMuZG90KTtcbiAgY3BmQXJyYXkuc3BsaWNlKDMsIDAsIGN1c3RvbU9wdGlvbnMuZGVsaW1pdGVycy5kb3QpO1xuICBjb25zdCBjcGZQcmV0dHkgPSBjcGZBcnJheS5qb2luKCcnKTtcblxuICBpZiAoY3VzdG9tT3B0aW9ucy5lc2NhcGUpIHtcbiAgICByZXR1cm4gZXNjYXBlSFRNTChjcGZQcmV0dHkpO1xuICB9XG5cbiAgcmV0dXJuIGNwZlByZXR0eTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY3BmRm10O1xuIl0sIm5hbWVzIjpbImVzY2FwZUhUTUwiXSwibWFwcGluZ3MiOiI7Ozs7QUF5QkEsTUFBTSxjQUFBLEdBQXFEO0FBQUEsRUFDekQsVUFBQSxFQUFZO0FBQUEsSUFDVixHQUFBLEVBQUssR0FBQTtBQUFBLElBQ0wsSUFBQSxFQUFNO0FBQUEsR0FDUjtBQUFBLEVBQ0EsV0FBQSxFQUFhO0FBQUEsSUFDWCxLQUFBLEVBQU8sQ0FBQTtBQUFBLElBQ1AsR0FBQSxFQUFLO0FBQUEsR0FDUDtBQUFBLEVBQ0EsTUFBQSxFQUFRLENBQUMsS0FBQSxLQUFVLEtBQUE7QUFBQSxFQUNuQixTQUFBLEVBQVcsR0FBQTtBQUFBLEVBQ1gsTUFBQSxFQUFRLEtBQUE7QUFBQSxFQUNSLE1BQUEsRUFBUTtBQUNWLENBQUE7QUFLQSxTQUFTLFlBQUEsQ0FDUCxhQUFBLEdBQXFELEVBQUMsRUFDWDtBQUMzQyxFQUFBLE1BQU0sT0FBQSxHQUFVLFNBQUE7QUFBQSxJQUNkLGNBQUE7QUFBQSxJQUNBO0FBQUEsR0FDRjtBQUVBLEVBQUEsSUFBSSxRQUFRLE1BQUEsRUFBUTtBQUNsQixJQUFBLElBQ0UsS0FBQSxDQUFNLE9BQUEsQ0FBUSxXQUFBLENBQVksS0FBSyxDQUFBLElBQy9CLE9BQUEsQ0FBUSxXQUFBLENBQVksS0FBQSxHQUFRLENBQUEsSUFDNUIsT0FBQSxDQUFRLFdBQUEsQ0FBWSxLQUFBLEdBQVEsRUFBQSxFQUM1QjtBQUNBLE1BQUEsTUFBTSxJQUFJLFVBQVUsK0RBQStELENBQUE7QUFBQSxJQUNyRjtBQUVBLElBQUEsSUFDRSxLQUFBLENBQU0sT0FBQSxDQUFRLFdBQUEsQ0FBWSxHQUFHLENBQUEsSUFDN0IsT0FBQSxDQUFRLFdBQUEsQ0FBWSxHQUFBLEdBQU0sQ0FBQSxJQUMxQixPQUFBLENBQVEsV0FBQSxDQUFZLEdBQUEsR0FBTSxFQUFBLEVBQzFCO0FBQ0EsTUFBQSxNQUFNLElBQUksVUFBVSw2REFBNkQsQ0FBQTtBQUFBLElBQ25GO0FBRUEsSUFBQSxJQUFJLE9BQUEsQ0FBUSxXQUFBLENBQVksS0FBQSxHQUFRLE9BQUEsQ0FBUSxZQUFZLEdBQUEsRUFBSztBQUN2RCxNQUFBLE1BQU0sR0FBQSxHQUFNLFFBQVEsV0FBQSxDQUFZLEtBQUE7QUFDaEMsTUFBQSxPQUFBLENBQVEsV0FBQSxDQUFZLEtBQUEsR0FBUSxPQUFBLENBQVEsV0FBQSxDQUFZLEdBQUE7QUFDaEQsTUFBQSxPQUFBLENBQVEsWUFBWSxHQUFBLEdBQU0sR0FBQTtBQUFBLElBQzVCO0FBQUEsRUFDRjtBQUVBLEVBQUEsSUFBSSxPQUFPLE9BQUEsQ0FBUSxNQUFBLEtBQVcsVUFBQSxFQUFZO0FBQ3hDLElBQUEsTUFBTSxJQUFJLFVBQVUsa0RBQWtELENBQUE7QUFBQSxFQUN4RTtBQUVBLEVBQUEsT0FBTyxPQUFBO0FBQ1Q7O0FDdkVBLFNBQVMsTUFBQSxDQUNQLFdBQ0EsT0FBQSxFQUNRO0FBQ1IsRUFBQSxNQUFNLFVBQUEsR0FBYSxFQUFBO0FBQ25CLEVBQUEsTUFBTSxRQUFBLEdBQVcsT0FBQSxDQUFRLFNBQVMsQ0FBQSxDQUFFLE1BQU0sRUFBRSxDQUFBO0FBQzVDLEVBQUEsTUFBTSxhQUFBLEdBQWdCLGFBQWEsT0FBTyxDQUFBO0FBRTFDLEVBQUEsSUFBSSxRQUFBLENBQVMsV0FBVyxVQUFBLEVBQVk7QUFDbEMsSUFBQSxNQUFNLFFBQVEsSUFBSSxLQUFBLENBQU0sY0FBYyxTQUFTLENBQUEsbUJBQUEsRUFBc0IsVUFBVSxDQUFBLFFBQUEsQ0FBVSxDQUFBO0FBRXpGLElBQUEsT0FBTyxhQUFBLENBQWMsTUFBQSxDQUFPLFNBQUEsRUFBVyxLQUFLLENBQUE7QUFBQSxFQUM5QztBQUVBLEVBQUEsSUFBSSxjQUFjLE1BQUEsRUFBUTtBQUN4QixJQUFBLEtBQUEsSUFBUyxDQUFBLEdBQUksY0FBYyxXQUFBLENBQVksS0FBQSxFQUFPLEtBQUssYUFBQSxDQUFjLFdBQUEsQ0FBWSxLQUFLLENBQUEsRUFBQSxFQUFLO0FBQ3JGLE1BQUEsUUFBQSxDQUFTLENBQUMsSUFBSSxhQUFBLENBQWMsU0FBQTtBQUFBLElBQzlCO0FBQUEsRUFDRjtBQUVBLEVBQUEsUUFBQSxDQUFTLE1BQUEsQ0FBTyxDQUFBLEVBQUcsQ0FBQSxFQUFHLGFBQUEsQ0FBYyxXQUFXLElBQUksQ0FBQTtBQUNuRCxFQUFBLFFBQUEsQ0FBUyxNQUFBLENBQU8sQ0FBQSxFQUFHLENBQUEsRUFBRyxhQUFBLENBQWMsV0FBVyxHQUFHLENBQUE7QUFDbEQsRUFBQSxRQUFBLENBQVMsTUFBQSxDQUFPLENBQUEsRUFBRyxDQUFBLEVBQUcsYUFBQSxDQUFjLFdBQVcsR0FBRyxDQUFBO0FBQ2xELEVBQUEsTUFBTSxTQUFBLEdBQVksUUFBQSxDQUFTLElBQUEsQ0FBSyxFQUFFLENBQUE7QUFFbEMsRUFBQSxJQUFJLGNBQWMsTUFBQSxFQUFRO0FBQ3hCLElBQUEsT0FBT0EsT0FBVyxTQUFTLENBQUE7QUFBQSxFQUM3QjtBQUVBLEVBQUEsT0FBTyxTQUFBO0FBQ1Q7Ozs7In0= |
+6
-0
| # @lacussoft/cpf-fmt | ||
| ## 1.4.2 | ||
| ### Patch Changes | ||
| - 7e21d87: Updated overall development dependencies | ||
| ## 1.4.1 | ||
@@ -4,0 +10,0 @@ |
+2
-2
| /** | ||
| * LacusSoft :: cpf-fmt v1.4.1 | ||
| * LacusSoft :: cpf-fmt v1.4.2 | ||
| * | ||
@@ -268,2 +268,2 @@ * @author Julio L. Muller. | ||
| })); | ||
| //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3BmLWZtdC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2h0bWwtZXNjYXBlci9lc20vaW5kZXguanMiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbnVtLW9ubHkvYnVpbGQvaW5kZXguY2pzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2RlZXBtZXJnZS9kaXN0L2Nqcy5qcyIsIi4uL3NyYy9tZXJnZS1vcHRpb25zLnRzIiwiLi4vc3JjL2NwZi1mbXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTctcHJlc2VudCBieSBBbmRyZWEgR2lhbW1hcmNoaSAtIEBXZWJSZWZsZWN0aW9uXG4gKlxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuICogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuICogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuICpcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4gKiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiAqXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbiAqIFRIRSBTT0ZUV0FSRS5cbiAqL1xuXG5jb25zdCB7cmVwbGFjZX0gPSAnJztcblxuLy8gZXNjYXBlXG5jb25zdCBlcyA9IC8mKD86YW1wfCMzOHxsdHwjNjB8Z3R8IzYyfGFwb3N8IzM5fHF1b3R8IzM0KTsvZztcbmNvbnN0IGNhID0gL1smPD4nXCJdL2c7XG5cbmNvbnN0IGVzY2EgPSB7XG4gICcmJzogJyZhbXA7JyxcbiAgJzwnOiAnJmx0OycsXG4gICc+JzogJyZndDsnLFxuICBcIidcIjogJyYjMzk7JyxcbiAgJ1wiJzogJyZxdW90Oydcbn07XG5jb25zdCBwZSA9IG0gPT4gZXNjYVttXTtcblxuLyoqXG4gKiBTYWZlbHkgZXNjYXBlIEhUTUwgZW50aXRpZXMgc3VjaCBhcyBgJmAsIGA8YCwgYD5gLCBgXCJgLCBhbmQgYCdgLlxuICogQHBhcmFtIHtzdHJpbmd9IGVzIHRoZSBpbnB1dCB0byBzYWZlbHkgZXNjYXBlXG4gKiBAcmV0dXJucyB7c3RyaW5nfSB0aGUgZXNjYXBlZCBpbnB1dCwgYW5kIGl0ICoqdGhyb3dzKiogYW4gZXJyb3IgaWZcbiAqICB0aGUgaW5wdXQgdHlwZSBpcyB1bmV4cGVjdGVkLCBleGNlcHQgZm9yIGJvb2xlYW4gYW5kIG51bWJlcnMsXG4gKiAgY29udmVydGVkIGFzIHN0cmluZy5cbiAqL1xuZXhwb3J0IGNvbnN0IGVzY2FwZSA9IGVzID0+IHJlcGxhY2UuY2FsbChlcywgY2EsIHBlKTtcblxuXG4vLyB1bmVzY2FwZVxuY29uc3QgdW5lcyA9IHtcbiAgJyZhbXA7JzogJyYnLFxuICAnJiMzODsnOiAnJicsXG4gICcmbHQ7JzogJzwnLFxuICAnJiM2MDsnOiAnPCcsXG4gICcmZ3Q7JzogJz4nLFxuICAnJiM2MjsnOiAnPicsXG4gICcmYXBvczsnOiBcIidcIixcbiAgJyYjMzk7JzogXCInXCIsXG4gICcmcXVvdDsnOiAnXCInLFxuICAnJiMzNDsnOiAnXCInXG59O1xuY29uc3QgY2FwZSA9IG0gPT4gdW5lc1ttXTtcblxuLyoqXG4gKiBTYWZlbHkgdW5lc2NhcGUgcHJldmlvdXNseSBlc2NhcGVkIGVudGl0aWVzIHN1Y2ggYXMgYCZgLCBgPGAsIGA+YCwgYFwiYCxcbiAqIGFuZCBgJ2AuXG4gKiBAcGFyYW0ge3N0cmluZ30gdW4gYSBwcmV2aW91c2x5IGVzY2FwZWQgc3RyaW5nXG4gKiBAcmV0dXJucyB7c3RyaW5nfSB0aGUgdW5lc2NhcGVkIGlucHV0LCBhbmQgaXQgKip0aHJvd3MqKiBhbiBlcnJvciBpZlxuICogIHRoZSBpbnB1dCB0eXBlIGlzIHVuZXhwZWN0ZWQsIGV4Y2VwdCBmb3IgYm9vbGVhbiBhbmQgbnVtYmVycyxcbiAqICBjb252ZXJ0ZWQgYXMgc3RyaW5nLlxuICovXG5leHBvcnQgY29uc3QgdW5lc2NhcGUgPSB1biA9PiByZXBsYWNlLmNhbGwodW4sIGVzLCBjYXBlKTtcbiIsIid1c2Ugc3RyaWN0JztcblxuZnVuY3Rpb24gbnVtT25seSh0YXJnZXQpIHtcbiAgcmV0dXJuIFN0cmluZyh0YXJnZXQpLnJlcGxhY2UoL1xcRC9nLCBcIlwiKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBudW1Pbmx5O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lhVzVrWlhndVkycHpJaXdpYzI5MWNtTmxjeUk2V3lJdUxpOXpjbU12Ym5WdExXOXViSGt1ZEhNaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lablZ1WTNScGIyNGdiblZ0VDI1c2VTaDBZWEpuWlhRNklIVnVhMjV2ZDI0cE9pQnpkSEpwYm1jZ2UxeHVJQ0J5WlhSMWNtNGdVM1J5YVc1bktIUmhjbWRsZENrdWNtVndiR0ZqWlNndlhGeEVMMmNzSUNjbktUdGNibjFjYmx4dVpYaHdiM0owSUdSbFptRjFiSFFnYm5WdFQyNXNlVHRjYmlKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pT3p0QlFVRkJMRk5CUVZNc1VVRkJVU3hOUVVGNVFpeEZRVUZCTzBGQlEzaERMRVZCUVVFc1QwRkJUeXhOUVVGUExFTkJRVUVzVFVGQlRTeERRVUZGTEVOQlFVRXNUMEZCUVN4RFFVRlJMRTlCUVU4c1JVRkJSU3hEUVVGQk8wRkJRM3BET3pzN095SjlcbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIGlzTWVyZ2VhYmxlT2JqZWN0ID0gZnVuY3Rpb24gaXNNZXJnZWFibGVPYmplY3QodmFsdWUpIHtcblx0cmV0dXJuIGlzTm9uTnVsbE9iamVjdCh2YWx1ZSlcblx0XHQmJiAhaXNTcGVjaWFsKHZhbHVlKVxufTtcblxuZnVuY3Rpb24gaXNOb25OdWxsT2JqZWN0KHZhbHVlKSB7XG5cdHJldHVybiAhIXZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCdcbn1cblxuZnVuY3Rpb24gaXNTcGVjaWFsKHZhbHVlKSB7XG5cdHZhciBzdHJpbmdWYWx1ZSA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWx1ZSk7XG5cblx0cmV0dXJuIHN0cmluZ1ZhbHVlID09PSAnW29iamVjdCBSZWdFeHBdJ1xuXHRcdHx8IHN0cmluZ1ZhbHVlID09PSAnW29iamVjdCBEYXRlXSdcblx0XHR8fCBpc1JlYWN0RWxlbWVudCh2YWx1ZSlcbn1cblxuLy8gc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9ibG9iL2I1YWM5NjNmYjc5MWQxMjk4ZTdmMzk2MjM2MzgzYmM5NTVmOTE2YzEvc3JjL2lzb21vcnBoaWMvY2xhc3NpYy9lbGVtZW50L1JlYWN0RWxlbWVudC5qcyNMMjEtTDI1XG52YXIgY2FuVXNlU3ltYm9sID0gdHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJyAmJiBTeW1ib2wuZm9yO1xudmFyIFJFQUNUX0VMRU1FTlRfVFlQRSA9IGNhblVzZVN5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmVsZW1lbnQnKSA6IDB4ZWFjNztcblxuZnVuY3Rpb24gaXNSZWFjdEVsZW1lbnQodmFsdWUpIHtcblx0cmV0dXJuIHZhbHVlLiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEVcbn1cblxuZnVuY3Rpb24gZW1wdHlUYXJnZXQodmFsKSB7XG5cdHJldHVybiBBcnJheS5pc0FycmF5KHZhbCkgPyBbXSA6IHt9XG59XG5cbmZ1bmN0aW9uIGNsb25lVW5sZXNzT3RoZXJ3aXNlU3BlY2lmaWVkKHZhbHVlLCBvcHRpb25zKSB7XG5cdHJldHVybiAob3B0aW9ucy5jbG9uZSAhPT0gZmFsc2UgJiYgb3B0aW9ucy5pc01lcmdlYWJsZU9iamVjdCh2YWx1ZSkpXG5cdFx0PyBkZWVwbWVyZ2UoZW1wdHlUYXJnZXQodmFsdWUpLCB2YWx1ZSwgb3B0aW9ucylcblx0XHQ6IHZhbHVlXG59XG5cbmZ1bmN0aW9uIGRlZmF1bHRBcnJheU1lcmdlKHRhcmdldCwgc291cmNlLCBvcHRpb25zKSB7XG5cdHJldHVybiB0YXJnZXQuY29uY2F0KHNvdXJjZSkubWFwKGZ1bmN0aW9uKGVsZW1lbnQpIHtcblx0XHRyZXR1cm4gY2xvbmVVbmxlc3NPdGhlcndpc2VTcGVjaWZpZWQoZWxlbWVudCwgb3B0aW9ucylcblx0fSlcbn1cblxuZnVuY3Rpb24gZ2V0TWVyZ2VGdW5jdGlvbihrZXksIG9wdGlvbnMpIHtcblx0aWYgKCFvcHRpb25zLmN1c3RvbU1lcmdlKSB7XG5cdFx0cmV0dXJuIGRlZXBtZXJnZVxuXHR9XG5cdHZhciBjdXN0b21NZXJnZSA9IG9wdGlvbnMuY3VzdG9tTWVyZ2Uoa2V5KTtcblx0cmV0dXJuIHR5cGVvZiBjdXN0b21NZXJnZSA9PT0gJ2Z1bmN0aW9uJyA/IGN1c3RvbU1lcmdlIDogZGVlcG1lcmdlXG59XG5cbmZ1bmN0aW9uIGdldEVudW1lcmFibGVPd25Qcm9wZXJ0eVN5bWJvbHModGFyZ2V0KSB7XG5cdHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzXG5cdFx0PyBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHRhcmdldCkuZmlsdGVyKGZ1bmN0aW9uKHN5bWJvbCkge1xuXHRcdFx0cmV0dXJuIE9iamVjdC5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHRhcmdldCwgc3ltYm9sKVxuXHRcdH0pXG5cdFx0OiBbXVxufVxuXG5mdW5jdGlvbiBnZXRLZXlzKHRhcmdldCkge1xuXHRyZXR1cm4gT2JqZWN0LmtleXModGFyZ2V0KS5jb25jYXQoZ2V0RW51bWVyYWJsZU93blByb3BlcnR5U3ltYm9scyh0YXJnZXQpKVxufVxuXG5mdW5jdGlvbiBwcm9wZXJ0eUlzT25PYmplY3Qob2JqZWN0LCBwcm9wZXJ0eSkge1xuXHR0cnkge1xuXHRcdHJldHVybiBwcm9wZXJ0eSBpbiBvYmplY3Rcblx0fSBjYXRjaChfKSB7XG5cdFx0cmV0dXJuIGZhbHNlXG5cdH1cbn1cblxuLy8gUHJvdGVjdHMgZnJvbSBwcm90b3R5cGUgcG9pc29uaW5nIGFuZCB1bmV4cGVjdGVkIG1lcmdpbmcgdXAgdGhlIHByb3RvdHlwZSBjaGFpbi5cbmZ1bmN0aW9uIHByb3BlcnR5SXNVbnNhZmUodGFyZ2V0LCBrZXkpIHtcblx0cmV0dXJuIHByb3BlcnR5SXNPbk9iamVjdCh0YXJnZXQsIGtleSkgLy8gUHJvcGVydGllcyBhcmUgc2FmZSB0byBtZXJnZSBpZiB0aGV5IGRvbid0IGV4aXN0IGluIHRoZSB0YXJnZXQgeWV0LFxuXHRcdCYmICEoT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwodGFyZ2V0LCBrZXkpIC8vIHVuc2FmZSBpZiB0aGV5IGV4aXN0IHVwIHRoZSBwcm90b3R5cGUgY2hhaW4sXG5cdFx0XHQmJiBPYmplY3QucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbCh0YXJnZXQsIGtleSkpIC8vIGFuZCBhbHNvIHVuc2FmZSBpZiB0aGV5J3JlIG5vbmVudW1lcmFibGUuXG59XG5cbmZ1bmN0aW9uIG1lcmdlT2JqZWN0KHRhcmdldCwgc291cmNlLCBvcHRpb25zKSB7XG5cdHZhciBkZXN0aW5hdGlvbiA9IHt9O1xuXHRpZiAob3B0aW9ucy5pc01lcmdlYWJsZU9iamVjdCh0YXJnZXQpKSB7XG5cdFx0Z2V0S2V5cyh0YXJnZXQpLmZvckVhY2goZnVuY3Rpb24oa2V5KSB7XG5cdFx0XHRkZXN0aW5hdGlvbltrZXldID0gY2xvbmVVbmxlc3NPdGhlcndpc2VTcGVjaWZpZWQodGFyZ2V0W2tleV0sIG9wdGlvbnMpO1xuXHRcdH0pO1xuXHR9XG5cdGdldEtleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uKGtleSkge1xuXHRcdGlmIChwcm9wZXJ0eUlzVW5zYWZlKHRhcmdldCwga2V5KSkge1xuXHRcdFx0cmV0dXJuXG5cdFx0fVxuXG5cdFx0aWYgKHByb3BlcnR5SXNPbk9iamVjdCh0YXJnZXQsIGtleSkgJiYgb3B0aW9ucy5pc01lcmdlYWJsZU9iamVjdChzb3VyY2Vba2V5XSkpIHtcblx0XHRcdGRlc3RpbmF0aW9uW2tleV0gPSBnZXRNZXJnZUZ1bmN0aW9uKGtleSwgb3B0aW9ucykodGFyZ2V0W2tleV0sIHNvdXJjZVtrZXldLCBvcHRpb25zKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0ZGVzdGluYXRpb25ba2V5XSA9IGNsb25lVW5sZXNzT3RoZXJ3aXNlU3BlY2lmaWVkKHNvdXJjZVtrZXldLCBvcHRpb25zKTtcblx0XHR9XG5cdH0pO1xuXHRyZXR1cm4gZGVzdGluYXRpb25cbn1cblxuZnVuY3Rpb24gZGVlcG1lcmdlKHRhcmdldCwgc291cmNlLCBvcHRpb25zKSB7XG5cdG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuXHRvcHRpb25zLmFycmF5TWVyZ2UgPSBvcHRpb25zLmFycmF5TWVyZ2UgfHwgZGVmYXVsdEFycmF5TWVyZ2U7XG5cdG9wdGlvbnMuaXNNZXJnZWFibGVPYmplY3QgPSBvcHRpb25zLmlzTWVyZ2VhYmxlT2JqZWN0IHx8IGlzTWVyZ2VhYmxlT2JqZWN0O1xuXHQvLyBjbG9uZVVubGVzc090aGVyd2lzZVNwZWNpZmllZCBpcyBhZGRlZCB0byBgb3B0aW9uc2Agc28gdGhhdCBjdXN0b20gYXJyYXlNZXJnZSgpXG5cdC8vIGltcGxlbWVudGF0aW9ucyBjYW4gdXNlIGl0LiBUaGUgY2FsbGVyIG1heSBub3QgcmVwbGFjZSBpdC5cblx0b3B0aW9ucy5jbG9uZVVubGVzc090aGVyd2lzZVNwZWNpZmllZCA9IGNsb25lVW5sZXNzT3RoZXJ3aXNlU3BlY2lmaWVkO1xuXG5cdHZhciBzb3VyY2VJc0FycmF5ID0gQXJyYXkuaXNBcnJheShzb3VyY2UpO1xuXHR2YXIgdGFyZ2V0SXNBcnJheSA9IEFycmF5LmlzQXJyYXkodGFyZ2V0KTtcblx0dmFyIHNvdXJjZUFuZFRhcmdldFR5cGVzTWF0Y2ggPSBzb3VyY2VJc0FycmF5ID09PSB0YXJnZXRJc0FycmF5O1xuXG5cdGlmICghc291cmNlQW5kVGFyZ2V0VHlwZXNNYXRjaCkge1xuXHRcdHJldHVybiBjbG9uZVVubGVzc090aGVyd2lzZVNwZWNpZmllZChzb3VyY2UsIG9wdGlvbnMpXG5cdH0gZWxzZSBpZiAoc291cmNlSXNBcnJheSkge1xuXHRcdHJldHVybiBvcHRpb25zLmFycmF5TWVyZ2UodGFyZ2V0LCBzb3VyY2UsIG9wdGlvbnMpXG5cdH0gZWxzZSB7XG5cdFx0cmV0dXJuIG1lcmdlT2JqZWN0KHRhcmdldCwgc291cmNlLCBvcHRpb25zKVxuXHR9XG59XG5cbmRlZXBtZXJnZS5hbGwgPSBmdW5jdGlvbiBkZWVwbWVyZ2VBbGwoYXJyYXksIG9wdGlvbnMpIHtcblx0aWYgKCFBcnJheS5pc0FycmF5KGFycmF5KSkge1xuXHRcdHRocm93IG5ldyBFcnJvcignZmlyc3QgYXJndW1lbnQgc2hvdWxkIGJlIGFuIGFycmF5Jylcblx0fVxuXG5cdHJldHVybiBhcnJheS5yZWR1Y2UoZnVuY3Rpb24ocHJldiwgbmV4dCkge1xuXHRcdHJldHVybiBkZWVwbWVyZ2UocHJldiwgbmV4dCwgb3B0aW9ucylcblx0fSwge30pXG59O1xuXG52YXIgZGVlcG1lcmdlXzEgPSBkZWVwbWVyZ2U7XG5cbm1vZHVsZS5leHBvcnRzID0gZGVlcG1lcmdlXzE7XG4iLCJpbXBvcnQgbWVyZ2VEZWVwIGZyb20gJ2RlZXBtZXJnZSc7XG5cbnR5cGUgRGVlcFBhcnRpYWw8VD4gPSB7XG4gIFtQIGluIGtleW9mIFRdPzogRGVlcFBhcnRpYWw8VFtQXT47XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEFjdHVhbENwZkZvcm1hdHRpbmdPcHRpb25zPE9uRXJyRmFsbGJhY2s+IHtcbiAgZGVsaW1pdGVyczoge1xuICAgIGRhc2g6IHN0cmluZztcbiAgICBkb3Q6IHN0cmluZztcbiAgfTtcbiAgZXNjYXBlOiBib29sZWFuO1xuICBoaWRkZW46IGJvb2xlYW47XG4gIGhpZGRlbktleTogc3RyaW5nO1xuICBoaWRkZW5SYW5nZToge1xuICAgIGVuZDogbnVtYmVyO1xuICAgIHN0YXJ0OiBudW1iZXI7XG4gIH07XG4gIG9uRmFpbDogKHZhbHVlOiBzdHJpbmcsIGVycm9yOiBFcnJvcikgPT4gT25FcnJGYWxsYmFjaztcbn1cblxuZXhwb3J0IHR5cGUgQ3BmRm9ybWF0dGluZ09wdGlvbnM8T25FcnJGYWxsYmFjaz4gPSBEZWVwUGFydGlhbDxcbiAgQWN0dWFsQ3BmRm9ybWF0dGluZ09wdGlvbnM8T25FcnJGYWxsYmFjaz5cbj47XG5cbmNvbnN0IGRlZmF1bHRPcHRpb25zOiBBY3R1YWxDcGZGb3JtYXR0aW5nT3B0aW9uczxzdHJpbmc+ID0ge1xuICBkZWxpbWl0ZXJzOiB7XG4gICAgZG90OiAnLicsXG4gICAgZGFzaDogJy0nLFxuICB9LFxuICBoaWRkZW5SYW5nZToge1xuICAgIHN0YXJ0OiAzLFxuICAgIGVuZDogMTAsXG4gIH0sXG4gIG9uRmFpbDogKHZhbHVlKSA9PiB2YWx1ZSxcbiAgaGlkZGVuS2V5OiAnKicsXG4gIGhpZGRlbjogZmFsc2UsXG4gIGVzY2FwZTogZmFsc2UsXG59O1xuXG4vKipcbiAqIE1lcmdlIGN1c3RvbSBvcHRpb25zIHRvIHRoZSBkZWZhdWx0IG9uZXMuXG4gKi9cbmZ1bmN0aW9uIG1lcmdlT3B0aW9uczxPbkVyckZhbGxiYWNrPihcbiAgY3VzdG9tT3B0aW9uczogQ3BmRm9ybWF0dGluZ09wdGlvbnM8T25FcnJGYWxsYmFjaz4gPSB7fSxcbik6IEFjdHVhbENwZkZvcm1hdHRpbmdPcHRpb25zPE9uRXJyRmFsbGJhY2s+IHtcbiAgY29uc3Qgb3B0aW9ucyA9IG1lcmdlRGVlcChcbiAgICBkZWZhdWx0T3B0aW9ucyxcbiAgICBjdXN0b21PcHRpb25zLFxuICApIGFzIEFjdHVhbENwZkZvcm1hdHRpbmdPcHRpb25zPE9uRXJyRmFsbGJhY2s+O1xuXG4gIGlmIChvcHRpb25zLmhpZGRlbikge1xuICAgIGlmIChcbiAgICAgIGlzTmFOKG9wdGlvbnMuaGlkZGVuUmFuZ2Uuc3RhcnQpIHx8XG4gICAgICBvcHRpb25zLmhpZGRlblJhbmdlLnN0YXJ0IDwgMCB8fFxuICAgICAgb3B0aW9ucy5oaWRkZW5SYW5nZS5zdGFydCA+IDEwXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdPcHRpb24gXCJoaWRkZW5SYW5nZS5zdGFydFwiIG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxMC4nKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBpc05hTihvcHRpb25zLmhpZGRlblJhbmdlLmVuZCkgfHxcbiAgICAgIG9wdGlvbnMuaGlkZGVuUmFuZ2UuZW5kIDwgMCB8fFxuICAgICAgb3B0aW9ucy5oaWRkZW5SYW5nZS5lbmQgPiAxMFxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignT3B0aW9uIFwiaGlkZGVuUmFuZ2UuZW5kXCIgbXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEwLicpO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLmhpZGRlblJhbmdlLnN0YXJ0ID4gb3B0aW9ucy5oaWRkZW5SYW5nZS5lbmQpIHtcbiAgICAgIGNvbnN0IGF1eCA9IG9wdGlvbnMuaGlkZGVuUmFuZ2Uuc3RhcnQ7XG4gICAgICBvcHRpb25zLmhpZGRlblJhbmdlLnN0YXJ0ID0gb3B0aW9ucy5oaWRkZW5SYW5nZS5lbmQ7XG4gICAgICBvcHRpb25zLmhpZGRlblJhbmdlLmVuZCA9IGF1eDtcbiAgICB9XG4gIH1cblxuICBpZiAodHlwZW9mIG9wdGlvbnMub25GYWlsICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlIG9wdGlvbiBcIm9uRmFpbFwiIG11c3QgYmUgYSBjYWxsYmFjayBmdW5jdGlvbi4nKTtcbiAgfVxuXG4gIHJldHVybiBvcHRpb25zO1xufVxuXG5leHBvcnQgZGVmYXVsdCBtZXJnZU9wdGlvbnM7XG4iLCJpbXBvcnQgeyBlc2NhcGUgYXMgZXNjYXBlSFRNTCB9IGZyb20gJ2h0bWwtZXNjYXBlcic7XG5pbXBvcnQgbnVtT25seSBmcm9tICdudW0tb25seSc7XG5cbmltcG9ydCBtZXJnZU9wdGlvbnMgZnJvbSAnLi9tZXJnZS1vcHRpb25zJztcbmltcG9ydCB0eXBlIHsgQ3BmRm9ybWF0dGluZ09wdGlvbnMgfSBmcm9tICcuL21lcmdlLW9wdGlvbnMnO1xuXG4vKipcbiAqIEZvcm1hdCBhIGdpdmVuIENQRiBjaGFyIHNlcXVlbmNlLlxuICovXG5mdW5jdGlvbiBjcGZGbXQ8T25FcnJGYWxsYmFjayA9IHN0cmluZz4oXG4gIGNwZlN0cmluZzogc3RyaW5nLFxuICBvcHRpb25zPzogQ3BmRm9ybWF0dGluZ09wdGlvbnM8T25FcnJGYWxsYmFjaz4sXG4pOiBzdHJpbmcge1xuICBjb25zdCBDUEZfTEVOR1RIID0gMTE7XG4gIGNvbnN0IGNwZkFycmF5ID0gbnVtT25seShjcGZTdHJpbmcpLnNwbGl0KCcnKTtcbiAgY29uc3QgY3VzdG9tT3B0aW9ucyA9IG1lcmdlT3B0aW9ucyhvcHRpb25zKTtcblxuICBpZiAoY3BmQXJyYXkubGVuZ3RoICE9PSBDUEZfTEVOR1RIKSB7XG4gICAgY29uc3QgZXJyb3IgPSBuZXcgRXJyb3IoYFBhcmFtZXRlciBcIiR7Y3BmU3RyaW5nfVwiIGRvZXMgbm90IGNvbnRhaW4gJHtDUEZfTEVOR1RIfSBkaWdpdHMuYCk7XG5cbiAgICByZXR1cm4gY3VzdG9tT3B0aW9ucy5vbkZhaWwoY3BmU3RyaW5nLCBlcnJvcikgYXMgc3RyaW5nO1xuICB9XG5cbiAgaWYgKGN1c3RvbU9wdGlvbnMuaGlkZGVuKSB7XG4gICAgZm9yIChsZXQgaSA9IGN1c3RvbU9wdGlvbnMuaGlkZGVuUmFuZ2Uuc3RhcnQ7IGkgPD0gY3VzdG9tT3B0aW9ucy5oaWRkZW5SYW5nZS5lbmQ7IGkrKykge1xuICAgICAgY3BmQXJyYXlbaV0gPSBjdXN0b21PcHRpb25zLmhpZGRlbktleTtcbiAgICB9XG4gIH1cblxuICBjcGZBcnJheS5zcGxpY2UoOSwgMCwgY3VzdG9tT3B0aW9ucy5kZWxpbWl0ZXJzLmRhc2gpO1xuICBjcGZBcnJheS5zcGxpY2UoNiwgMCwgY3VzdG9tT3B0aW9ucy5kZWxpbWl0ZXJzLmRvdCk7XG4gIGNwZkFycmF5LnNwbGljZSgzLCAwLCBjdXN0b21PcHRpb25zLmRlbGltaXRlcnMuZG90KTtcbiAgY29uc3QgY3BmUHJldHR5ID0gY3BmQXJyYXkuam9pbignJyk7XG5cbiAgaWYgKGN1c3RvbU9wdGlvbnMuZXNjYXBlKSB7XG4gICAgcmV0dXJuIGVzY2FwZUhUTUwoY3BmUHJldHR5KTtcbiAgfVxuXG4gIHJldHVybiBjcGZQcmV0dHk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNwZkZtdDtcbiJdLCJuYW1lcyI6WyJyZXBsYWNlIiwiY2EiLCJlc2NhIiwicGUiLCJtIiwiZXNjYXBlIiwiZXMiLCJjYWxsIiwiaXNNZXJnZWFibGVPYmplY3QiLCJ2YWx1ZSIsImlzTm9uTnVsbE9iamVjdCIsImlzU3BlY2lhbCIsInN0cmluZ1ZhbHVlIiwiT2JqZWN0IiwicHJvdG90eXBlIiwidG9TdHJpbmciLCJpc1JlYWN0RWxlbWVudCIsImNhblVzZVN5bWJvbCIsIlN5bWJvbCIsImZvciIsIlJFQUNUX0VMRU1FTlRfVFlQRSIsIiQkdHlwZW9mIiwiZW1wdHlUYXJnZXQiLCJ2YWwiLCJBcnJheSIsImlzQXJyYXkiLCJjbG9uZVVubGVzc090aGVyd2lzZVNwZWNpZmllZCIsIm9wdGlvbnMiLCJjbG9uZSIsImRlZXBtZXJnZSIsImRlZmF1bHRBcnJheU1lcmdlIiwidGFyZ2V0Iiwic291cmNlIiwiY29uY2F0IiwibWFwIiwiZWxlbWVudCIsImdldE1lcmdlRnVuY3Rpb24iLCJrZXkiLCJjdXN0b21NZXJnZSIsImdldEVudW1lcmFibGVPd25Qcm9wZXJ0eVN5bWJvbHMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJzeW1ib2wiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImdldEtleXMiLCJrZXlzIiwicHJvcGVydHlJc09uT2JqZWN0Iiwib2JqZWN0IiwicHJvcGVydHkiLCJfIiwicHJvcGVydHlJc1Vuc2FmZSIsImhhc093blByb3BlcnR5IiwibWVyZ2VPYmplY3QiLCJkZXN0aW5hdGlvbiIsImZvckVhY2giLCJhcnJheU1lcmdlIiwic291cmNlSXNBcnJheSIsInRhcmdldElzQXJyYXkiLCJzb3VyY2VBbmRUYXJnZXRUeXBlc01hdGNoIiwiYWxsIiwiZGVlcG1lcmdlQWxsIiwiYXJyYXkiLCJFcnJvciIsInJlZHVjZSIsInByZXYiLCJuZXh0IiwiZGVlcG1lcmdlXzEiLCJjanMiLCJkZWZhdWx0T3B0aW9ucyIsImRlbGltaXRlcnMiLCJkb3QiLCJkYXNoIiwiaGlkZGVuUmFuZ2UiLCJzdGFydCIsImVuZCIsIm9uRmFpbCIsImhpZGRlbktleSIsImhpZGRlbiIsIm1lcmdlT3B0aW9ucyIsImN1c3RvbU9wdGlvbnMiLCJtZXJnZURlZXAiLCJpc05hTiIsIlR5cGVFcnJvciIsImF1eCIsImNwZkZtdCIsImNwZlN0cmluZyIsIkNQRl9MRU5HVEgiLCJjcGZBcnJheSIsIm51bU9ubHkiLCJzcGxpdCIsImxlbmd0aCIsImVycm9yIiwiaSIsInNwbGljZSIsImNwZlByZXR0eSIsImpvaW4iLCJlc2NhcGVIVE1MIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztFQUVBLE1BQU07RUFBQ0EsRUFBQUE7RUFBTyxDQUFDLEdBQUcsRUFBRTtFQUlwQixNQUFNQyxFQUFFLEdBQUcsVUFBVTtFQUVyQixNQUFNQyxJQUFJLEdBQUc7RUFDWCxFQUFBLEdBQUcsRUFBRSxPQUFPO0VBQ1osRUFBQSxHQUFHLEVBQUUsTUFBTTtFQUNYLEVBQUEsR0FBRyxFQUFFLE1BQU07RUFDWCxFQUFBLEdBQUcsRUFBRSxPQUFPO0VBQ1osRUFBQSxHQUFHLEVBQUU7RUFDUCxDQUFDO0VBQ0QsTUFBTUMsRUFBRSxHQUFHQyxDQUFDLElBQUlGLElBQUksQ0FBQ0UsQ0FBQyxDQUFDOztFQUV2QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNPLE1BQU1DLE1BQU0sR0FBR0MsRUFBRSxJQUFJTixPQUFPLENBQUNPLElBQUksQ0FBQ0QsRUFBRSxFQUFFTCxFQUFFLEVBQUVFLEVBQUUsQ0FBQzs7Ozs7Ozs7Ozs7OztHQzFDcEQsU0FBUyxPQUFPLENBQUMsTUFBTSxFQUFFO0tBQ3ZCLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FB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 | ||
| //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3BmLWZtdC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2h0bWwtZXNjYXBlci9lc20vaW5kZXguanMiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbnVtLW9ubHkvYnVpbGQvaW5kZXguY2pzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2RlZXBtZXJnZS9kaXN0L2Nqcy5qcyIsIi4uL3NyYy9tZXJnZS1vcHRpb25zLnRzIiwiLi4vc3JjL2NwZi1mbXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTctcHJlc2VudCBieSBBbmRyZWEgR2lhbW1hcmNoaSAtIEBXZWJSZWZsZWN0aW9uXG4gKlxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuICogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuICogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuICpcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4gKiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiAqXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbiAqIFRIRSBTT0ZUV0FSRS5cbiAqL1xuXG5jb25zdCB7cmVwbGFjZX0gPSAnJztcblxuLy8gZXNjYXBlXG5jb25zdCBlcyA9IC8mKD86YW1wfCMzOHxsdHwjNjB8Z3R8IzYyfGFwb3N8IzM5fHF1b3R8IzM0KTsvZztcbmNvbnN0IGNhID0gL1smPD4nXCJdL2c7XG5cbmNvbnN0IGVzY2EgPSB7XG4gICcmJzogJyZhbXA7JyxcbiAgJzwnOiAnJmx0OycsXG4gICc+JzogJyZndDsnLFxuICBcIidcIjogJyYjMzk7JyxcbiAgJ1wiJzogJyZxdW90Oydcbn07XG5jb25zdCBwZSA9IG0gPT4gZXNjYVttXTtcblxuLyoqXG4gKiBTYWZlbHkgZXNjYXBlIEhUTUwgZW50aXRpZXMgc3VjaCBhcyBgJmAsIGA8YCwgYD5gLCBgXCJgLCBhbmQgYCdgLlxuICogQHBhcmFtIHtzdHJpbmd9IGVzIHRoZSBpbnB1dCB0byBzYWZlbHkgZXNjYXBlXG4gKiBAcmV0dXJucyB7c3RyaW5nfSB0aGUgZXNjYXBlZCBpbnB1dCwgYW5kIGl0ICoqdGhyb3dzKiogYW4gZXJyb3IgaWZcbiAqICB0aGUgaW5wdXQgdHlwZSBpcyB1bmV4cGVjdGVkLCBleGNlcHQgZm9yIGJvb2xlYW4gYW5kIG51bWJlcnMsXG4gKiAgY29udmVydGVkIGFzIHN0cmluZy5cbiAqL1xuZXhwb3J0IGNvbnN0IGVzY2FwZSA9IGVzID0+IHJlcGxhY2UuY2FsbChlcywgY2EsIHBlKTtcblxuXG4vLyB1bmVzY2FwZVxuY29uc3QgdW5lcyA9IHtcbiAgJyZhbXA7JzogJyYnLFxuICAnJiMzODsnOiAnJicsXG4gICcmbHQ7JzogJzwnLFxuICAnJiM2MDsnOiAnPCcsXG4gICcmZ3Q7JzogJz4nLFxuICAnJiM2MjsnOiAnPicsXG4gICcmYXBvczsnOiBcIidcIixcbiAgJyYjMzk7JzogXCInXCIsXG4gICcmcXVvdDsnOiAnXCInLFxuICAnJiMzNDsnOiAnXCInXG59O1xuY29uc3QgY2FwZSA9IG0gPT4gdW5lc1ttXTtcblxuLyoqXG4gKiBTYWZlbHkgdW5lc2NhcGUgcHJldmlvdXNseSBlc2NhcGVkIGVudGl0aWVzIHN1Y2ggYXMgYCZgLCBgPGAsIGA+YCwgYFwiYCxcbiAqIGFuZCBgJ2AuXG4gKiBAcGFyYW0ge3N0cmluZ30gdW4gYSBwcmV2aW91c2x5IGVzY2FwZWQgc3RyaW5nXG4gKiBAcmV0dXJucyB7c3RyaW5nfSB0aGUgdW5lc2NhcGVkIGlucHV0LCBhbmQgaXQgKip0aHJvd3MqKiBhbiBlcnJvciBpZlxuICogIHRoZSBpbnB1dCB0eXBlIGlzIHVuZXhwZWN0ZWQsIGV4Y2VwdCBmb3IgYm9vbGVhbiBhbmQgbnVtYmVycyxcbiAqICBjb252ZXJ0ZWQgYXMgc3RyaW5nLlxuICovXG5leHBvcnQgY29uc3QgdW5lc2NhcGUgPSB1biA9PiByZXBsYWNlLmNhbGwodW4sIGVzLCBjYXBlKTtcbiIsIid1c2Ugc3RyaWN0JztcblxuZnVuY3Rpb24gbnVtT25seSh0YXJnZXQpIHtcbiAgcmV0dXJuIFN0cmluZyh0YXJnZXQpLnJlcGxhY2UoL1xcRC9nLCBcIlwiKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBudW1Pbmx5O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lhVzVrWlhndVkycHpJaXdpYzI5MWNtTmxjeUk2V3lJdUxpOXpjbU12Ym5WdExXOXViSGt1ZEhNaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lablZ1WTNScGIyNGdiblZ0VDI1c2VTaDBZWEpuWlhRNklIVnVhMjV2ZDI0cE9pQnpkSEpwYm1jZ2UxeHVJQ0J5WlhSMWNtNGdVM1J5YVc1bktIUmhjbWRsZENrdWNtVndiR0ZqWlNndlhGeEVMMmNzSUNjbktUdGNibjFjYmx4dVpYaHdiM0owSUdSbFptRjFiSFFnYm5WdFQyNXNlVHRjYmlKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pT3p0QlFVRkJMRk5CUVZNc1VVRkJVU3hOUVVGNVFpeEZRVUZCTzBGQlEzaERMRVZCUVVFc1QwRkJUeXhOUVVGUExFTkJRVUVzVFVGQlRTeERRVUZGTEVOQlFVRXNUMEZCUVN4RFFVRlJMRTlCUVU4c1JVRkJSU3hEUVVGQk8wRkJRM3BET3pzN095SjlcbiIsIid1c2Ugc3RyaWN0JztcblxudmFyIGlzTWVyZ2VhYmxlT2JqZWN0ID0gZnVuY3Rpb24gaXNNZXJnZWFibGVPYmplY3QodmFsdWUpIHtcblx0cmV0dXJuIGlzTm9uTnVsbE9iamVjdCh2YWx1ZSlcblx0XHQmJiAhaXNTcGVjaWFsKHZhbHVlKVxufTtcblxuZnVuY3Rpb24gaXNOb25OdWxsT2JqZWN0KHZhbHVlKSB7XG5cdHJldHVybiAhIXZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCdcbn1cblxuZnVuY3Rpb24gaXNTcGVjaWFsKHZhbHVlKSB7XG5cdHZhciBzdHJpbmdWYWx1ZSA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWx1ZSk7XG5cblx0cmV0dXJuIHN0cmluZ1ZhbHVlID09PSAnW29iamVjdCBSZWdFeHBdJ1xuXHRcdHx8IHN0cmluZ1ZhbHVlID09PSAnW29iamVjdCBEYXRlXSdcblx0XHR8fCBpc1JlYWN0RWxlbWVudCh2YWx1ZSlcbn1cblxuLy8gc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9ibG9iL2I1YWM5NjNmYjc5MWQxMjk4ZTdmMzk2MjM2MzgzYmM5NTVmOTE2YzEvc3JjL2lzb21vcnBoaWMvY2xhc3NpYy9lbGVtZW50L1JlYWN0RWxlbWVudC5qcyNMMjEtTDI1XG52YXIgY2FuVXNlU3ltYm9sID0gdHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJyAmJiBTeW1ib2wuZm9yO1xudmFyIFJFQUNUX0VMRU1FTlRfVFlQRSA9IGNhblVzZVN5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmVsZW1lbnQnKSA6IDB4ZWFjNztcblxuZnVuY3Rpb24gaXNSZWFjdEVsZW1lbnQodmFsdWUpIHtcblx0cmV0dXJuIHZhbHVlLiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEVcbn1cblxuZnVuY3Rpb24gZW1wdHlUYXJnZXQodmFsKSB7XG5cdHJldHVybiBBcnJheS5pc0FycmF5KHZhbCkgPyBbXSA6IHt9XG59XG5cbmZ1bmN0aW9uIGNsb25lVW5sZXNzT3RoZXJ3aXNlU3BlY2lmaWVkKHZhbHVlLCBvcHRpb25zKSB7XG5cdHJldHVybiAob3B0aW9ucy5jbG9uZSAhPT0gZmFsc2UgJiYgb3B0aW9ucy5pc01lcmdlYWJsZU9iamVjdCh2YWx1ZSkpXG5cdFx0PyBkZWVwbWVyZ2UoZW1wdHlUYXJnZXQodmFsdWUpLCB2YWx1ZSwgb3B0aW9ucylcblx0XHQ6IHZhbHVlXG59XG5cbmZ1bmN0aW9uIGRlZmF1bHRBcnJheU1lcmdlKHRhcmdldCwgc291cmNlLCBvcHRpb25zKSB7XG5cdHJldHVybiB0YXJnZXQuY29uY2F0KHNvdXJjZSkubWFwKGZ1bmN0aW9uKGVsZW1lbnQpIHtcblx0XHRyZXR1cm4gY2xvbmVVbmxlc3NPdGhlcndpc2VTcGVjaWZpZWQoZWxlbWVudCwgb3B0aW9ucylcblx0fSlcbn1cblxuZnVuY3Rpb24gZ2V0TWVyZ2VGdW5jdGlvbihrZXksIG9wdGlvbnMpIHtcblx0aWYgKCFvcHRpb25zLmN1c3RvbU1lcmdlKSB7XG5cdFx0cmV0dXJuIGRlZXBtZXJnZVxuXHR9XG5cdHZhciBjdXN0b21NZXJnZSA9IG9wdGlvbnMuY3VzdG9tTWVyZ2Uoa2V5KTtcblx0cmV0dXJuIHR5cGVvZiBjdXN0b21NZXJnZSA9PT0gJ2Z1bmN0aW9uJyA/IGN1c3RvbU1lcmdlIDogZGVlcG1lcmdlXG59XG5cbmZ1bmN0aW9uIGdldEVudW1lcmFibGVPd25Qcm9wZXJ0eVN5bWJvbHModGFyZ2V0KSB7XG5cdHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzXG5cdFx0PyBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHRhcmdldCkuZmlsdGVyKGZ1bmN0aW9uKHN5bWJvbCkge1xuXHRcdFx0cmV0dXJuIE9iamVjdC5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHRhcmdldCwgc3ltYm9sKVxuXHRcdH0pXG5cdFx0OiBbXVxufVxuXG5mdW5jdGlvbiBnZXRLZXlzKHRhcmdldCkge1xuXHRyZXR1cm4gT2JqZWN0LmtleXModGFyZ2V0KS5jb25jYXQoZ2V0RW51bWVyYWJsZU93blByb3BlcnR5U3ltYm9scyh0YXJnZXQpKVxufVxuXG5mdW5jdGlvbiBwcm9wZXJ0eUlzT25PYmplY3Qob2JqZWN0LCBwcm9wZXJ0eSkge1xuXHR0cnkge1xuXHRcdHJldHVybiBwcm9wZXJ0eSBpbiBvYmplY3Rcblx0fSBjYXRjaChfKSB7XG5cdFx0cmV0dXJuIGZhbHNlXG5cdH1cbn1cblxuLy8gUHJvdGVjdHMgZnJvbSBwcm90b3R5cGUgcG9pc29uaW5nIGFuZCB1bmV4cGVjdGVkIG1lcmdpbmcgdXAgdGhlIHByb3RvdHlwZSBjaGFpbi5cbmZ1bmN0aW9uIHByb3BlcnR5SXNVbnNhZmUodGFyZ2V0LCBrZXkpIHtcblx0cmV0dXJuIHByb3BlcnR5SXNPbk9iamVjdCh0YXJnZXQsIGtleSkgLy8gUHJvcGVydGllcyBhcmUgc2FmZSB0byBtZXJnZSBpZiB0aGV5IGRvbid0IGV4aXN0IGluIHRoZSB0YXJnZXQgeWV0LFxuXHRcdCYmICEoT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwodGFyZ2V0LCBrZXkpIC8vIHVuc2FmZSBpZiB0aGV5IGV4aXN0IHVwIHRoZSBwcm90b3R5cGUgY2hhaW4sXG5cdFx0XHQmJiBPYmplY3QucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbCh0YXJnZXQsIGtleSkpIC8vIGFuZCBhbHNvIHVuc2FmZSBpZiB0aGV5J3JlIG5vbmVudW1lcmFibGUuXG59XG5cbmZ1bmN0aW9uIG1lcmdlT2JqZWN0KHRhcmdldCwgc291cmNlLCBvcHRpb25zKSB7XG5cdHZhciBkZXN0aW5hdGlvbiA9IHt9O1xuXHRpZiAob3B0aW9ucy5pc01lcmdlYWJsZU9iamVjdCh0YXJnZXQpKSB7XG5cdFx0Z2V0S2V5cyh0YXJnZXQpLmZvckVhY2goZnVuY3Rpb24oa2V5KSB7XG5cdFx0XHRkZXN0aW5hdGlvbltrZXldID0gY2xvbmVVbmxlc3NPdGhlcndpc2VTcGVjaWZpZWQodGFyZ2V0W2tleV0sIG9wdGlvbnMpO1xuXHRcdH0pO1xuXHR9XG5cdGdldEtleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uKGtleSkge1xuXHRcdGlmIChwcm9wZXJ0eUlzVW5zYWZlKHRhcmdldCwga2V5KSkge1xuXHRcdFx0cmV0dXJuXG5cdFx0fVxuXG5cdFx0aWYgKHByb3BlcnR5SXNPbk9iamVjdCh0YXJnZXQsIGtleSkgJiYgb3B0aW9ucy5pc01lcmdlYWJsZU9iamVjdChzb3VyY2Vba2V5XSkpIHtcblx0XHRcdGRlc3RpbmF0aW9uW2tleV0gPSBnZXRNZXJnZUZ1bmN0aW9uKGtleSwgb3B0aW9ucykodGFyZ2V0W2tleV0sIHNvdXJjZVtrZXldLCBvcHRpb25zKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0ZGVzdGluYXRpb25ba2V5XSA9IGNsb25lVW5sZXNzT3RoZXJ3aXNlU3BlY2lmaWVkKHNvdXJjZVtrZXldLCBvcHRpb25zKTtcblx0XHR9XG5cdH0pO1xuXHRyZXR1cm4gZGVzdGluYXRpb25cbn1cblxuZnVuY3Rpb24gZGVlcG1lcmdlKHRhcmdldCwgc291cmNlLCBvcHRpb25zKSB7XG5cdG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuXHRvcHRpb25zLmFycmF5TWVyZ2UgPSBvcHRpb25zLmFycmF5TWVyZ2UgfHwgZGVmYXVsdEFycmF5TWVyZ2U7XG5cdG9wdGlvbnMuaXNNZXJnZWFibGVPYmplY3QgPSBvcHRpb25zLmlzTWVyZ2VhYmxlT2JqZWN0IHx8IGlzTWVyZ2VhYmxlT2JqZWN0O1xuXHQvLyBjbG9uZVVubGVzc090aGVyd2lzZVNwZWNpZmllZCBpcyBhZGRlZCB0byBgb3B0aW9uc2Agc28gdGhhdCBjdXN0b20gYXJyYXlNZXJnZSgpXG5cdC8vIGltcGxlbWVudGF0aW9ucyBjYW4gdXNlIGl0LiBUaGUgY2FsbGVyIG1heSBub3QgcmVwbGFjZSBpdC5cblx0b3B0aW9ucy5jbG9uZVVubGVzc090aGVyd2lzZVNwZWNpZmllZCA9IGNsb25lVW5sZXNzT3RoZXJ3aXNlU3BlY2lmaWVkO1xuXG5cdHZhciBzb3VyY2VJc0FycmF5ID0gQXJyYXkuaXNBcnJheShzb3VyY2UpO1xuXHR2YXIgdGFyZ2V0SXNBcnJheSA9IEFycmF5LmlzQXJyYXkodGFyZ2V0KTtcblx0dmFyIHNvdXJjZUFuZFRhcmdldFR5cGVzTWF0Y2ggPSBzb3VyY2VJc0FycmF5ID09PSB0YXJnZXRJc0FycmF5O1xuXG5cdGlmICghc291cmNlQW5kVGFyZ2V0VHlwZXNNYXRjaCkge1xuXHRcdHJldHVybiBjbG9uZVVubGVzc090aGVyd2lzZVNwZWNpZmllZChzb3VyY2UsIG9wdGlvbnMpXG5cdH0gZWxzZSBpZiAoc291cmNlSXNBcnJheSkge1xuXHRcdHJldHVybiBvcHRpb25zLmFycmF5TWVyZ2UodGFyZ2V0LCBzb3VyY2UsIG9wdGlvbnMpXG5cdH0gZWxzZSB7XG5cdFx0cmV0dXJuIG1lcmdlT2JqZWN0KHRhcmdldCwgc291cmNlLCBvcHRpb25zKVxuXHR9XG59XG5cbmRlZXBtZXJnZS5hbGwgPSBmdW5jdGlvbiBkZWVwbWVyZ2VBbGwoYXJyYXksIG9wdGlvbnMpIHtcblx0aWYgKCFBcnJheS5pc0FycmF5KGFycmF5KSkge1xuXHRcdHRocm93IG5ldyBFcnJvcignZmlyc3QgYXJndW1lbnQgc2hvdWxkIGJlIGFuIGFycmF5Jylcblx0fVxuXG5cdHJldHVybiBhcnJheS5yZWR1Y2UoZnVuY3Rpb24ocHJldiwgbmV4dCkge1xuXHRcdHJldHVybiBkZWVwbWVyZ2UocHJldiwgbmV4dCwgb3B0aW9ucylcblx0fSwge30pXG59O1xuXG52YXIgZGVlcG1lcmdlXzEgPSBkZWVwbWVyZ2U7XG5cbm1vZHVsZS5leHBvcnRzID0gZGVlcG1lcmdlXzE7XG4iLCJpbXBvcnQgbWVyZ2VEZWVwIGZyb20gJ2RlZXBtZXJnZSc7XG5cbnR5cGUgRGVlcFBhcnRpYWw8VD4gPSB7XG4gIFtQIGluIGtleW9mIFRdPzogRGVlcFBhcnRpYWw8VFtQXT47XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEFjdHVhbENwZkZvcm1hdHRpbmdPcHRpb25zPE9uRXJyRmFsbGJhY2s+IHtcbiAgZGVsaW1pdGVyczoge1xuICAgIGRhc2g6IHN0cmluZztcbiAgICBkb3Q6IHN0cmluZztcbiAgfTtcbiAgZXNjYXBlOiBib29sZWFuO1xuICBoaWRkZW46IGJvb2xlYW47XG4gIGhpZGRlbktleTogc3RyaW5nO1xuICBoaWRkZW5SYW5nZToge1xuICAgIGVuZDogbnVtYmVyO1xuICAgIHN0YXJ0OiBudW1iZXI7XG4gIH07XG4gIG9uRmFpbDogKHZhbHVlOiBzdHJpbmcsIGVycm9yOiBFcnJvcikgPT4gT25FcnJGYWxsYmFjaztcbn1cblxuZXhwb3J0IHR5cGUgQ3BmRm9ybWF0dGluZ09wdGlvbnM8T25FcnJGYWxsYmFjaz4gPSBEZWVwUGFydGlhbDxcbiAgQWN0dWFsQ3BmRm9ybWF0dGluZ09wdGlvbnM8T25FcnJGYWxsYmFjaz5cbj47XG5cbmNvbnN0IGRlZmF1bHRPcHRpb25zOiBBY3R1YWxDcGZGb3JtYXR0aW5nT3B0aW9uczxzdHJpbmc+ID0ge1xuICBkZWxpbWl0ZXJzOiB7XG4gICAgZG90OiAnLicsXG4gICAgZGFzaDogJy0nLFxuICB9LFxuICBoaWRkZW5SYW5nZToge1xuICAgIHN0YXJ0OiAzLFxuICAgIGVuZDogMTAsXG4gIH0sXG4gIG9uRmFpbDogKHZhbHVlKSA9PiB2YWx1ZSxcbiAgaGlkZGVuS2V5OiAnKicsXG4gIGhpZGRlbjogZmFsc2UsXG4gIGVzY2FwZTogZmFsc2UsXG59O1xuXG4vKipcbiAqIE1lcmdlIGN1c3RvbSBvcHRpb25zIHRvIHRoZSBkZWZhdWx0IG9uZXMuXG4gKi9cbmZ1bmN0aW9uIG1lcmdlT3B0aW9uczxPbkVyckZhbGxiYWNrPihcbiAgY3VzdG9tT3B0aW9uczogQ3BmRm9ybWF0dGluZ09wdGlvbnM8T25FcnJGYWxsYmFjaz4gPSB7fSxcbik6IEFjdHVhbENwZkZvcm1hdHRpbmdPcHRpb25zPE9uRXJyRmFsbGJhY2s+IHtcbiAgY29uc3Qgb3B0aW9ucyA9IG1lcmdlRGVlcChcbiAgICBkZWZhdWx0T3B0aW9ucyxcbiAgICBjdXN0b21PcHRpb25zLFxuICApIGFzIEFjdHVhbENwZkZvcm1hdHRpbmdPcHRpb25zPE9uRXJyRmFsbGJhY2s+O1xuXG4gIGlmIChvcHRpb25zLmhpZGRlbikge1xuICAgIGlmIChcbiAgICAgIGlzTmFOKG9wdGlvbnMuaGlkZGVuUmFuZ2Uuc3RhcnQpIHx8XG4gICAgICBvcHRpb25zLmhpZGRlblJhbmdlLnN0YXJ0IDwgMCB8fFxuICAgICAgb3B0aW9ucy5oaWRkZW5SYW5nZS5zdGFydCA+IDEwXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdPcHRpb24gXCJoaWRkZW5SYW5nZS5zdGFydFwiIG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxMC4nKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBpc05hTihvcHRpb25zLmhpZGRlblJhbmdlLmVuZCkgfHxcbiAgICAgIG9wdGlvbnMuaGlkZGVuUmFuZ2UuZW5kIDwgMCB8fFxuICAgICAgb3B0aW9ucy5oaWRkZW5SYW5nZS5lbmQgPiAxMFxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignT3B0aW9uIFwiaGlkZGVuUmFuZ2UuZW5kXCIgbXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEwLicpO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLmhpZGRlblJhbmdlLnN0YXJ0ID4gb3B0aW9ucy5oaWRkZW5SYW5nZS5lbmQpIHtcbiAgICAgIGNvbnN0IGF1eCA9IG9wdGlvbnMuaGlkZGVuUmFuZ2Uuc3RhcnQ7XG4gICAgICBvcHRpb25zLmhpZGRlblJhbmdlLnN0YXJ0ID0gb3B0aW9ucy5oaWRkZW5SYW5nZS5lbmQ7XG4gICAgICBvcHRpb25zLmhpZGRlblJhbmdlLmVuZCA9IGF1eDtcbiAgICB9XG4gIH1cblxuICBpZiAodHlwZW9mIG9wdGlvbnMub25GYWlsICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlIG9wdGlvbiBcIm9uRmFpbFwiIG11c3QgYmUgYSBjYWxsYmFjayBmdW5jdGlvbi4nKTtcbiAgfVxuXG4gIHJldHVybiBvcHRpb25zO1xufVxuXG5leHBvcnQgZGVmYXVsdCBtZXJnZU9wdGlvbnM7XG4iLCJpbXBvcnQgeyBlc2NhcGUgYXMgZXNjYXBlSFRNTCB9IGZyb20gJ2h0bWwtZXNjYXBlcic7XG5pbXBvcnQgbnVtT25seSBmcm9tICdudW0tb25seSc7XG5cbmltcG9ydCBtZXJnZU9wdGlvbnMgZnJvbSAnLi9tZXJnZS1vcHRpb25zJztcbmltcG9ydCB0eXBlIHsgQ3BmRm9ybWF0dGluZ09wdGlvbnMgfSBmcm9tICcuL21lcmdlLW9wdGlvbnMnO1xuXG4vKipcbiAqIEZvcm1hdCBhIGdpdmVuIENQRiBjaGFyIHNlcXVlbmNlLlxuICovXG5mdW5jdGlvbiBjcGZGbXQ8T25FcnJGYWxsYmFjayA9IHN0cmluZz4oXG4gIGNwZlN0cmluZzogc3RyaW5nLFxuICBvcHRpb25zPzogQ3BmRm9ybWF0dGluZ09wdGlvbnM8T25FcnJGYWxsYmFjaz4sXG4pOiBzdHJpbmcge1xuICBjb25zdCBDUEZfTEVOR1RIID0gMTE7XG4gIGNvbnN0IGNwZkFycmF5ID0gbnVtT25seShjcGZTdHJpbmcpLnNwbGl0KCcnKTtcbiAgY29uc3QgY3VzdG9tT3B0aW9ucyA9IG1lcmdlT3B0aW9ucyhvcHRpb25zKTtcblxuICBpZiAoY3BmQXJyYXkubGVuZ3RoICE9PSBDUEZfTEVOR1RIKSB7XG4gICAgY29uc3QgZXJyb3IgPSBuZXcgRXJyb3IoYFBhcmFtZXRlciBcIiR7Y3BmU3RyaW5nfVwiIGRvZXMgbm90IGNvbnRhaW4gJHtDUEZfTEVOR1RIfSBkaWdpdHMuYCk7XG5cbiAgICByZXR1cm4gY3VzdG9tT3B0aW9ucy5vbkZhaWwoY3BmU3RyaW5nLCBlcnJvcikgYXMgc3RyaW5nO1xuICB9XG5cbiAgaWYgKGN1c3RvbU9wdGlvbnMuaGlkZGVuKSB7XG4gICAgZm9yIChsZXQgaSA9IGN1c3RvbU9wdGlvbnMuaGlkZGVuUmFuZ2Uuc3RhcnQ7IGkgPD0gY3VzdG9tT3B0aW9ucy5oaWRkZW5SYW5nZS5lbmQ7IGkrKykge1xuICAgICAgY3BmQXJyYXlbaV0gPSBjdXN0b21PcHRpb25zLmhpZGRlbktleTtcbiAgICB9XG4gIH1cblxuICBjcGZBcnJheS5zcGxpY2UoOSwgMCwgY3VzdG9tT3B0aW9ucy5kZWxpbWl0ZXJzLmRhc2gpO1xuICBjcGZBcnJheS5zcGxpY2UoNiwgMCwgY3VzdG9tT3B0aW9ucy5kZWxpbWl0ZXJzLmRvdCk7XG4gIGNwZkFycmF5LnNwbGljZSgzLCAwLCBjdXN0b21PcHRpb25zLmRlbGltaXRlcnMuZG90KTtcbiAgY29uc3QgY3BmUHJldHR5ID0gY3BmQXJyYXkuam9pbignJyk7XG5cbiAgaWYgKGN1c3RvbU9wdGlvbnMuZXNjYXBlKSB7XG4gICAgcmV0dXJuIGVzY2FwZUhUTUwoY3BmUHJldHR5KTtcbiAgfVxuXG4gIHJldHVybiBjcGZQcmV0dHk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNwZkZtdDtcbiJdLCJuYW1lcyI6WyJyZXBsYWNlIiwiY2EiLCJlc2NhIiwicGUiLCJtIiwiZXNjYXBlIiwiZXMiLCJjYWxsIiwiaXNNZXJnZWFibGVPYmplY3QiLCJ2YWx1ZSIsImlzTm9uTnVsbE9iamVjdCIsImlzU3BlY2lhbCIsInN0cmluZ1ZhbHVlIiwiT2JqZWN0IiwicHJvdG90eXBlIiwidG9TdHJpbmciLCJpc1JlYWN0RWxlbWVudCIsImNhblVzZVN5bWJvbCIsIlN5bWJvbCIsImZvciIsIlJFQUNUX0VMRU1FTlRfVFlQRSIsIiQkdHlwZW9mIiwiZW1wdHlUYXJnZXQiLCJ2YWwiLCJBcnJheSIsImlzQXJyYXkiLCJjbG9uZVVubGVzc090aGVyd2lzZVNwZWNpZmllZCIsIm9wdGlvbnMiLCJjbG9uZSIsImRlZXBtZXJnZSIsImRlZmF1bHRBcnJheU1lcmdlIiwidGFyZ2V0Iiwic291cmNlIiwiY29uY2F0IiwibWFwIiwiZWxlbWVudCIsImdldE1lcmdlRnVuY3Rpb24iLCJrZXkiLCJjdXN0b21NZXJnZSIsImdldEVudW1lcmFibGVPd25Qcm9wZXJ0eVN5bWJvbHMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJzeW1ib2wiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImdldEtleXMiLCJrZXlzIiwicHJvcGVydHlJc09uT2JqZWN0Iiwib2JqZWN0IiwicHJvcGVydHkiLCJfIiwicHJvcGVydHlJc1Vuc2FmZSIsImhhc093blByb3BlcnR5IiwibWVyZ2VPYmplY3QiLCJkZXN0aW5hdGlvbiIsImZvckVhY2giLCJhcnJheU1lcmdlIiwic291cmNlSXNBcnJheSIsInRhcmdldElzQXJyYXkiLCJzb3VyY2VBbmRUYXJnZXRUeXBlc01hdGNoIiwiYWxsIiwiZGVlcG1lcmdlQWxsIiwiYXJyYXkiLCJFcnJvciIsInJlZHVjZSIsInByZXYiLCJuZXh0IiwiZGVlcG1lcmdlXzEiLCJjanMiLCJkZWZhdWx0T3B0aW9ucyIsImRlbGltaXRlcnMiLCJkb3QiLCJkYXNoIiwiaGlkZGVuUmFuZ2UiLCJzdGFydCIsImVuZCIsIm9uRmFpbCIsImhpZGRlbktleSIsImhpZGRlbiIsIm1lcmdlT3B0aW9ucyIsImN1c3RvbU9wdGlvbnMiLCJtZXJnZURlZXAiLCJpc05hTiIsIlR5cGVFcnJvciIsImF1eCIsImNwZkZtdCIsImNwZlN0cmluZyIsIkNQRl9MRU5HVEgiLCJjcGZBcnJheSIsIm51bU9ubHkiLCJzcGxpdCIsImxlbmd0aCIsImVycm9yIiwiaSIsInNwbGljZSIsImNwZlByZXR0eSIsImpvaW4iLCJlc2NhcGVIVE1MIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztFQUVBLE1BQU07RUFBQ0EsRUFBQUE7RUFBTyxDQUFDLEdBQUcsRUFBRTtFQUlwQixNQUFNQyxFQUFFLEdBQUcsVUFBVTtFQUVyQixNQUFNQyxJQUFJLEdBQUc7RUFDWCxFQUFBLEdBQUcsRUFBRSxPQUFPO0VBQ1osRUFBQSxHQUFHLEVBQUUsTUFBTTtFQUNYLEVBQUEsR0FBRyxFQUFFLE1BQU07RUFDWCxFQUFBLEdBQUcsRUFBRSxPQUFPO0VBQ1osRUFBQSxHQUFHLEVBQUU7RUFDUCxDQUFDO0VBQ0QsTUFBTUMsRUFBRSxHQUFHQyxDQUFDLElBQUlGLElBQUksQ0FBQ0UsQ0FBQyxDQUFDOztFQUV2QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNPLE1BQU1DLE1BQU0sR0FBR0MsRUFBRSxJQUFJTixPQUFPLENBQUNPLElBQUksQ0FBQ0QsRUFBRSxFQUFFTCxFQUFFLEVBQUVFLEVBQUUsQ0FBQzs7Ozs7Ozs7Ozs7OztHQzFDcEQsU0FBUyxPQUFPLENBQUMsTUFBTSxFQUFFO0tBQ3ZCLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO0VBQzFDLENBQUE7O0VBRUEsQ0FBQSxLQUFjLEdBQUcsT0FBTztFQUN4Qjs7Ozs7Ozs7Ozs7O0VDTEEsRUFBQSxJQUFJSyxpQkFBaUIsR0FBRyxTQUFTQSxpQkFBaUJBLENBQUNDLEtBQUssRUFBRTtNQUN6RCxPQUFPQyxlQUFlLENBQUNELEtBQUssQ0FBQSxJQUN4QixDQUFDRSxTQUFTLENBQUNGLEtBQUssQ0FBQTtJQUNyQixDQUFDO0lBRUQsU0FBU0MsZUFBZUEsQ0FBQ0QsS0FBSyxFQUFFO0VBQy9CLElBQUEsT0FBTyxDQUFDLENBQUNBLEtBQUssSUFBSSxPQUFPQSxLQUFLLEtBQUssUUFBQTtFQUNwQyxFQUFBO0lBRUEsU0FBU0UsU0FBU0EsQ0FBQ0YsS0FBSyxFQUFFO01BQ3pCLElBQUlHLFdBQVcsR0FBR0MsTUFBTSxDQUFDQyxTQUFTLENBQUNDLFFBQVEsQ0FBQ1IsSUFBSSxDQUFDRSxLQUFLLENBQUM7TUFFdkQsT0FBT0csV0FBVyxLQUFLLGlCQUFBLElBQ25CQSxXQUFXLEtBQUssZUFBQSxJQUNoQkksY0FBYyxDQUFDUCxLQUFLLENBQUE7RUFDekIsRUFBQTs7RUFFQTtJQUNBLElBQUlRLFlBQVksR0FBRyxPQUFPQyxNQUFNLEtBQUssVUFBVSxJQUFJQSxNQUFNLENBQUNDLEdBQUc7SUFDN0QsSUFBSUMsa0JBQWtCLEdBQUdILFlBQVksR0FBR0MsTUFBTSxDQUFDQyxHQUFHLENBQUMsZUFBZSxDQUFDLEdBQUcsTUFBTTtJQUU1RSxTQUFTSCxjQUFjQSxDQUFDUCxLQUFLLEVBQUU7RUFDOUIsSUFBQSxPQUFPQSxLQUFLLENBQUNZLFFBQVEsS0FBS0Qsa0JBQUE7RUFDM0IsRUFBQTtJQUVBLFNBQVNFLFdBQVdBLENBQUNDLEdBQUcsRUFBRTtNQUN6QixPQUFPQyxLQUFLLENBQUNDLE9BQU8sQ0FBQ0YsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUE7RUFDbEMsRUFBQTtFQUVBLEVBQUEsU0FBU0csNkJBQTZCQSxDQUFDakIsS0FBSyxFQUFFa0IsT0FBTyxFQUFFO01BQ3RELE9BQVFBLE9BQU8sQ0FBQ0MsS0FBSyxLQUFLLEtBQUssSUFBSUQsT0FBTyxDQUFDbkIsaUJBQWlCLENBQUNDLEtBQUssQ0FBQyxHQUNoRW9CLFNBQVMsQ0FBQ1AsV0FBVyxDQUFDYixLQUFLLENBQUMsRUFBRUEsS0FBSyxFQUFFa0IsT0FBTyxDQUFBLEdBQzVDbEIsS0FBQTtFQUNKLEVBQUE7RUFFQSxFQUFBLFNBQVNxQixpQkFBaUJBLENBQUNDLE1BQU0sRUFBRUMsTUFBTSxFQUFFTCxPQUFPLEVBQUU7TUFDbkQsT0FBT0ksTUFBTSxDQUFDRSxNQUFNLENBQUNELE1BQU0sQ0FBQyxDQUFDRSxHQUFHLENBQUMsVUFBU0MsT0FBTyxFQUFFO0VBQ2xELE1BQUEsT0FBT1QsNkJBQTZCLENBQUNTLE9BQU8sRUFBRVIsT0FBTyxDQUFBO0VBQ3ZELElBQUEsQ0FBRSxDQUFBO0VBQ0YsRUFBQTtFQUVBLEVBQUEsU0FBU1MsZ0JBQWdCQSxDQUFDQyxHQUFHLEVBQUVWLE9BQU8sRUFBRTtFQUN2QyxJQUFBLElBQUksQ0FBQ0EsT0FBTyxDQUFDVyxXQUFXLEVBQUU7RUFDekIsTUFBQSxPQUFPVCxTQUFBO0VBQ1QsSUFBQTtFQUNDLElBQUEsSUFBSVMsV0FBVyxHQUFHWCxPQUFPLENBQUNXLFdBQVcsQ0FBQ0QsR0FBRyxDQUFDO0VBQzFDLElBQUEsT0FBTyxPQUFPQyxXQUFXLEtBQUssVUFBVSxHQUFHQSxXQUFXLEdBQUdULFNBQUE7RUFDMUQsRUFBQTtJQUVBLFNBQVNVLCtCQUErQkEsQ0FBQ1IsTUFBTSxFQUFFO0VBQ2hELElBQUEsT0FBT2xCLE1BQU0sQ0FBQzJCLHFCQUFBLEdBQ1gzQixNQUFNLENBQUMyQixxQkFBcUIsQ0FBQ1QsTUFBTSxDQUFDLENBQUNVLE1BQU0sQ0FBQyxVQUFTQyxNQUFNLEVBQUU7UUFDOUQsT0FBTzdCLE1BQU0sQ0FBQzhCLG9CQUFvQixDQUFDcEMsSUFBSSxDQUFDd0IsTUFBTSxFQUFFVyxNQUFNLENBQUE7TUFDekQsQ0FBRyxDQUFBLEdBQ0MsRUFBQTtFQUNKLEVBQUE7SUFFQSxTQUFTRSxPQUFPQSxDQUFDYixNQUFNLEVBQUU7RUFDeEIsSUFBQSxPQUFPbEIsTUFBTSxDQUFDZ0MsSUFBSSxDQUFDZCxNQUFNLENBQUMsQ0FBQ0UsTUFBTSxDQUFDTSwrQkFBK0IsQ0FBQ1IsTUFBTSxDQUFDLENBQUE7RUFDMUUsRUFBQTtFQUVBLEVBQUEsU0FBU2Usa0JBQWtCQSxDQUFDQyxNQUFNLEVBQUVDLFFBQVEsRUFBRTtNQUM3QyxJQUFJO1FBQ0gsT0FBT0EsUUFBUSxJQUFJRCxNQUFBO01BQ3JCLENBQUUsQ0FBQyxPQUFNRSxDQUFDLEVBQUU7RUFDVixNQUFBLE9BQU8sS0FBQTtFQUNULElBQUE7RUFDQSxFQUFBOztFQUVBO0VBQ0EsRUFBQSxTQUFTQyxnQkFBZ0JBLENBQUNuQixNQUFNLEVBQUVNLEdBQUcsRUFBRTtFQUN0QyxJQUFBLE9BQU9TLGtCQUFrQixDQUFDZixNQUFNLEVBQUVNLEdBQUcsQ0FBQztTQUNsQyxFQUFFeEIsTUFBTSxDQUFDc0MsY0FBYyxDQUFDNUMsSUFBSSxDQUFDd0IsTUFBTSxFQUFFTSxHQUFHLENBQUM7U0FDeEN4QixNQUFNLENBQUM4QixvQkFBb0IsQ0FBQ3BDLElBQUksQ0FBQ3dCLE1BQU0sRUFBRU0sR0FBRyxDQUFDLENBQUMsQ0FBQTtFQUNwRCxFQUFBO0VBRUEsRUFBQSxTQUFTZSxXQUFXQSxDQUFDckIsTUFBTSxFQUFFQyxNQUFNLEVBQUVMLE9BQU8sRUFBRTtNQUM3QyxJQUFJMEIsV0FBVyxHQUFHLEVBQUU7RUFDcEIsSUFBQSxJQUFJMUIsT0FBTyxDQUFDbkIsaUJBQWlCLENBQUN1QixNQUFNLENBQUMsRUFBRTtRQUN0Q2EsT0FBTyxDQUFDYixNQUFNLENBQUMsQ0FBQ3VCLE9BQU8sQ0FBQyxVQUFTakIsR0FBRyxFQUFFO0VBQ3JDZ0IsUUFBQUEsV0FBVyxDQUFDaEIsR0FBRyxDQUFDLEdBQUdYLDZCQUE2QixDQUFDSyxNQUFNLENBQUNNLEdBQUcsQ0FBQyxFQUFFVixPQUFPLENBQUM7RUFDekUsTUFBQSxDQUFHLENBQUM7RUFDSixJQUFBO01BQ0NpQixPQUFPLENBQUNaLE1BQU0sQ0FBQyxDQUFDc0IsT0FBTyxDQUFDLFVBQVNqQixHQUFHLEVBQUU7RUFDckMsTUFBQSxJQUFJYSxnQkFBZ0IsQ0FBQ25CLE1BQU0sRUFBRU0sR0FBRyxDQUFDLEVBQUU7RUFDbEMsUUFBQTtFQUNILE1BQUE7RUFFRSxNQUFBLElBQUlTLGtCQUFrQixDQUFDZixNQUFNLEVBQUVNLEdBQUcsQ0FBQyxJQUFJVixPQUFPLENBQUNuQixpQkFBaUIsQ0FBQ3dCLE1BQU0sQ0FBQ0ssR0FBRyxDQUFDLENBQUMsRUFBRTtVQUM5RWdCLFdBQVcsQ0FBQ2hCLEdBQUcsQ0FBQyxHQUFHRCxnQkFBZ0IsQ0FBQ0MsR0FBRyxFQUFFVixPQUFPLENBQUMsQ0FBQ0ksTUFBTSxDQUFDTSxHQUFHLENBQUMsRUFBRUwsTUFBTSxDQUFDSyxHQUFHLENBQUMsRUFBRVYsT0FBTyxDQUFDO0VBQ3ZGLE1BQUEsQ0FBRyxNQUFNO0VBQ04wQixRQUFBQSxXQUFXLENBQUNoQixHQUFHLENBQUMsR0FBR1gsNkJBQTZCLENBQUNNLE1BQU0sQ0FBQ0ssR0FBRyxDQUFDLEVBQUVWLE9BQU8sQ0FBQztFQUN6RSxNQUFBO0VBQ0EsSUFBQSxDQUFFLENBQUM7RUFDRixJQUFBLE9BQU8wQixXQUFBO0VBQ1IsRUFBQTtFQUVBLEVBQUEsU0FBU3hCLFNBQVNBLENBQUNFLE1BQU0sRUFBRUMsTUFBTSxFQUFFTCxPQUFPLEVBQUU7RUFDM0NBLElBQUFBLE9BQU8sR0FBR0EsT0FBTyxJQUFJLEVBQUU7RUFDdkJBLElBQUFBLE9BQU8sQ0FBQzRCLFVBQVUsR0FBRzVCLE9BQU8sQ0FBQzRCLFVBQVUsSUFBSXpCLGlCQUFpQjtFQUM1REgsSUFBQUEsT0FBTyxDQUFDbkIsaUJBQWlCLEdBQUdtQixPQUFPLENBQUNuQixpQkFBaUIsSUFBSUEsaUJBQWlCO0VBQzNFO0VBQ0E7TUFDQ21CLE9BQU8sQ0FBQ0QsNkJBQTZCLEdBQUdBLDZCQUE2QjtFQUVyRSxJQUFBLElBQUk4QixhQUFhLEdBQUdoQyxLQUFLLENBQUNDLE9BQU8sQ0FBQ08sTUFBTSxDQUFDO0VBQ3pDLElBQUEsSUFBSXlCLGFBQWEsR0FBR2pDLEtBQUssQ0FBQ0MsT0FBTyxDQUFDTSxNQUFNLENBQUM7RUFDekMsSUFBQSxJQUFJMkIseUJBQXlCLEdBQUdGLGFBQWEsS0FBS0MsYUFBYTtNQUUvRCxJQUFJLENBQUNDLHlCQUF5QixFQUFFO0VBQy9CLE1BQUEsT0FBT2hDLDZCQUE2QixDQUFDTSxNQUFNLEVBQUVMLE9BQU8sQ0FBQTtNQUN0RCxDQUFFLE1BQU0sSUFBSTZCLGFBQWEsRUFBRTtRQUN6QixPQUFPN0IsT0FBTyxDQUFDNEIsVUFBVSxDQUFDeEIsTUFBTSxFQUFFQyxNQUFNLEVBQUVMLE9BQU8sQ0FBQTtFQUNuRCxJQUFBLENBQUUsTUFBTTtFQUNOLE1BQUEsT0FBT3lCLFdBQVcsQ0FBQ3JCLE1BQU0sRUFBRUMsTUFBTSxFQUFFTCxPQUFPLENBQUE7RUFDNUMsSUFBQTtFQUNBLEVBQUE7SUFFQUUsU0FBUyxDQUFDOEIsR0FBRyxHQUFHLFNBQVNDLFlBQVlBLENBQUNDLEtBQUssRUFBRWxDLE9BQU8sRUFBRTtFQUNyRCxJQUFBLElBQUksQ0FBQ0gsS0FBSyxDQUFDQyxPQUFPLENBQUNvQyxLQUFLLENBQUMsRUFBRTtFQUMxQixNQUFBLE1BQU0sSUFBSUMsS0FBSyxDQUFDLG1DQUFtQyxDQUFBO0VBQ3JELElBQUE7TUFFQyxPQUFPRCxLQUFLLENBQUNFLE1BQU0sQ0FBQyxVQUFTQyxJQUFJLEVBQUVDLElBQUksRUFBRTtFQUN4QyxNQUFBLE9BQU9wQyxTQUFTLENBQUNtQyxJQUFJLEVBQUVDLElBQUksRUFBRXRDLE9BQU8sQ0FBQTtNQUN0QyxDQUFFLEVBQUUsRUFBRSxDQUFBO0lBQ04sQ0FBQztJQUVELElBQUl1QyxXQUFXLEdBQUdyQyxTQUFTO0VBRTNCc0MsRUFBQUEsR0FBYyxHQUFHRCxXQUFXOzs7Ozs7O0VDM0c1QixJQUFNRSxjQUFjLEdBQXVDO0VBQ3pEQyxFQUFBQSxVQUFVLEVBQUU7RUFDVkMsSUFBQUEsR0FBRyxFQUFFLEdBQUc7RUFDUkMsSUFBQUEsSUFBSSxFQUFFO0tBQ1A7RUFDREMsRUFBQUEsV0FBVyxFQUFFO0VBQ1hDLElBQUFBLEtBQUssRUFBRSxDQUFDO0VBQ1JDLElBQUFBLEdBQUcsRUFBRTtLQUNOO0VBQ0RDLEVBQUFBLE1BQU0sRUFBRSxVQUFDbEUsS0FBSztFQUFLLElBQUEsT0FBQUEsS0FBSztJQUFMLENBQUs7RUFDeEJtRSxFQUFBQSxTQUFTLEVBQUUsR0FBRztFQUNkQyxFQUFBQSxNQUFNLEVBQUUsS0FBSztFQUNieEUsRUFBQUEsTUFBTSxFQUFFO0dBQ1Q7RUFFRDs7RUFFRztFQUNILFNBQVN5RSxZQUFZQSxDQUNuQkMsYUFBdUQsRUFBQTtFQUF2RCxFQUFBLElBQUFBLGFBQUEsS0FBQSxNQUFBLEVBQUE7TUFBQUEsYUFBQSxHQUFBLEVBQXVEO0VBQUEsRUFBQTtFQUV2RCxFQUFBLElBQU1wRCxPQUFPLEdBQUdxRCxTQUFTLENBQ3ZCWixjQUFjLEVBQ2RXLGFBQWEsQ0FDK0I7SUFFOUMsSUFBSXBELE9BQU8sQ0FBQ2tELE1BQU0sRUFBRTtNQUNsQixJQUNFSSxLQUFLLENBQUN0RCxPQUFPLENBQUM2QyxXQUFXLENBQUNDLEtBQUssQ0FBQyxJQUNoQzlDLE9BQU8sQ0FBQzZDLFdBQVcsQ0FBQ0MsS0FBSyxHQUFHLENBQUMsSUFDN0I5QyxPQUFPLENBQUM2QyxXQUFXLENBQUNDLEtBQUssR0FBRyxFQUFFLEVBQzlCO0VBQ0EsTUFBQSxNQUFNLElBQUlTLFNBQVMsQ0FBQywrREFBK0QsQ0FBQztFQUN0RixJQUFBO01BRUEsSUFDRUQsS0FBSyxDQUFDdEQsT0FBTyxDQUFDNkMsV0FBVyxDQUFDRSxHQUFHLENBQUMsSUFDOUIvQyxPQUFPLENBQUM2QyxXQUFXLENBQUNFLEdBQUcsR0FBRyxDQUFDLElBQzNCL0MsT0FBTyxDQUFDNkMsV0FBVyxDQUFDRSxHQUFHLEdBQUcsRUFBRSxFQUM1QjtFQUNBLE1BQUEsTUFBTSxJQUFJUSxTQUFTLENBQUMsNkRBQTZELENBQUM7RUFDcEYsSUFBQTtNQUVBLElBQUl2RCxPQUFPLENBQUM2QyxXQUFXLENBQUNDLEtBQUssR0FBRzlDLE9BQU8sQ0FBQzZDLFdBQVcsQ0FBQ0UsR0FBRyxFQUFFO0VBQ3ZELE1BQUEsSUFBTVMsR0FBRyxHQUFHeEQsT0FBTyxDQUFDNkMsV0FBVyxDQUFDQyxLQUFLO1FBQ3JDOUMsT0FBTyxDQUFDNkMsV0FBVyxDQUFDQyxLQUFLLEdBQUc5QyxPQUFPLENBQUM2QyxXQUFXLENBQUNFLEdBQUc7RUFDbkQvQyxNQUFBQSxPQUFPLENBQUM2QyxXQUFXLENBQUNFLEdBQUcsR0FBR1MsR0FBRztFQUMvQixJQUFBO0VBQ0YsRUFBQTtFQUVBLEVBQUEsSUFBSSxPQUFPeEQsT0FBTyxDQUFDZ0QsTUFBTSxLQUFLLFVBQVUsRUFBRTtFQUN4QyxJQUFBLE1BQU0sSUFBSU8sU0FBUyxDQUFDLGtEQUFrRCxDQUFDO0VBQ3pFLEVBQUE7RUFFQSxFQUFBLE9BQU92RCxPQUFPO0VBQ2hCOztFQzFFQTs7RUFFRztFQUNILFNBQVN5RCxNQUFNQSxDQUNiQyxTQUFpQixFQUNqQjFELE9BQTZDLEVBQUE7SUFFN0MsSUFBTTJELFVBQVUsR0FBRyxFQUFFO0lBQ3JCLElBQU1DLFFBQVEsR0FBR0MsT0FBTyxDQUFDSCxTQUFTLENBQUMsQ0FBQ0ksS0FBSyxDQUFDLEVBQUUsQ0FBQztFQUM3QyxFQUFBLElBQU1WLGFBQWEsR0FBR0QsWUFBWSxDQUFDbkQsT0FBTyxDQUFDO0VBRTNDLEVBQUEsSUFBSTRELFFBQVEsQ0FBQ0csTUFBTSxLQUFLSixVQUFVLEVBQUU7TUFDbEMsSUFBTUssS0FBSyxHQUFHLElBQUk3QixLQUFLLENBQUMsY0FBQSxDQUFBN0IsTUFBQSxDQUFjb0QsU0FBUyxFQUFBLHNCQUFBLENBQUEsQ0FBQXBELE1BQUEsQ0FBc0JxRCxVQUFVLEVBQUEsVUFBQSxDQUFVLENBQUM7RUFFMUYsSUFBQSxPQUFPUCxhQUFhLENBQUNKLE1BQU0sQ0FBQ1UsU0FBUyxFQUFFTSxLQUFLLENBQVc7RUFDekQsRUFBQTtJQUVBLElBQUlaLGFBQWEsQ0FBQ0YsTUFBTSxFQUFFO0VBQ3hCLElBQUEsS0FBSyxJQUFJZSxDQUFDLEdBQUdiLGFBQWEsQ0FBQ1AsV0FBVyxDQUFDQyxLQUFLLEVBQUVtQixDQUFDLElBQUliLGFBQWEsQ0FBQ1AsV0FBVyxDQUFDRSxHQUFHLEVBQUVrQixDQUFDLEVBQUUsRUFBRTtFQUNyRkwsTUFBQUEsUUFBUSxDQUFDSyxDQUFDLENBQUMsR0FBR2IsYUFBYSxDQUFDSCxTQUFTO0VBQ3ZDLElBQUE7RUFDRixFQUFBO0VBRUFXLEVBQUFBLFFBQVEsQ0FBQ00sTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUVkLGFBQWEsQ0FBQ1YsVUFBVSxDQUFDRSxJQUFJLENBQUM7RUFDcERnQixFQUFBQSxRQUFRLENBQUNNLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFZCxhQUFhLENBQUNWLFVBQVUsQ0FBQ0MsR0FBRyxDQUFDO0VBQ25EaUIsRUFBQUEsUUFBUSxDQUFDTSxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRWQsYUFBYSxDQUFDVixVQUFVLENBQUNDLEdBQUcsQ0FBQztFQUNuRCxFQUFBLElBQU13QixTQUFTLEdBQUdQLFFBQVEsQ0FBQ1EsSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUVuQyxJQUFJaEIsYUFBYSxDQUFDMUUsTUFBTSxFQUFFO01BQ3hCLE9BQU8yRixNQUFVLENBQUNGLFNBQVMsQ0FBQztFQUM5QixFQUFBO0VBRUEsRUFBQSxPQUFPQSxTQUFTO0VBQ2xCOzs7Ozs7OzsiLCJ4X2dvb2dsZV9pZ25vcmVMaXN0IjpbMCwxLDJdfQ== |
| /** | ||
| * LacusSoft :: cpf-fmt v1.4.1 | ||
| * LacusSoft :: cpf-fmt v1.4.2 | ||
| * | ||
@@ -8,2 +8,2 @@ * @author Julio L. Muller. | ||
| !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e="undefined"!=typeof globalThis?globalThis:e||self).cpfFmt=n()}(this,(function(){"use strict";const{replace:e}="",n=/[&<>'"]/g,r={"&":"&","<":"<",">":">","'":"'",'"':"""},t=e=>r[e];function i(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var a,o;var c,d,u=i(o?a:(o=1,a=function(e){return String(e).replace(/\D/g,"")}));var f=i(function(){if(d)return c;d=1;var e=function(e){return function(e){return!!e&&"object"==typeof e}(e)&&!function(e){var r=Object.prototype.toString.call(e);return"[object RegExp]"===r||"[object Date]"===r||function(e){return e.$$typeof===n}(e)}(e)},n="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function r(e,n){return!1!==n.clone&&n.isMergeableObject(e)?u((r=e,Array.isArray(r)?[]:{}),e,n):e;var r}function t(e,n,t){return e.concat(n).map((function(e){return r(e,t)}))}function i(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(n){return Object.propertyIsEnumerable.call(e,n)})):[]}(e))}function a(e,n){try{return n in e}catch(e){return!1}}function o(e,n,t){var o={};return t.isMergeableObject(e)&&i(e).forEach((function(n){o[n]=r(e[n],t)})),i(n).forEach((function(i){(function(e,n){return a(e,n)&&!(Object.hasOwnProperty.call(e,n)&&Object.propertyIsEnumerable.call(e,n))})(e,i)||(a(e,i)&&t.isMergeableObject(n[i])?o[i]=function(e,n){if(!n.customMerge)return u;var r=n.customMerge(e);return"function"==typeof r?r:u}(i,t)(e[i],n[i],t):o[i]=r(n[i],t))})),o}function u(n,i,a){(a=a||{}).arrayMerge=a.arrayMerge||t,a.isMergeableObject=a.isMergeableObject||e,a.cloneUnlessOtherwiseSpecified=r;var c=Array.isArray(i);return c===Array.isArray(n)?c?a.arrayMerge(n,i,a):o(n,i,a):r(i,a)}return u.all=function(e,n){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce((function(e,r){return u(e,r,n)}),{})},c=u}()),s={delimiters:{dot:".",dash:"-"},hiddenRange:{start:3,end:10},onFail:function(e){return e},hiddenKey:"*",hidden:!1,escape:!1};return function(r,i){var a=u(r).split(""),o=function(e){void 0===e&&(e={});var n=f(s,e);if(n.hidden){if(isNaN(n.hiddenRange.start)||n.hiddenRange.start<0||n.hiddenRange.start>10)throw new TypeError('Option "hiddenRange.start" must be a number between 0 and 10.');if(isNaN(n.hiddenRange.end)||n.hiddenRange.end<0||n.hiddenRange.end>10)throw new TypeError('Option "hiddenRange.end" must be a number between 0 and 10.');if(n.hiddenRange.start>n.hiddenRange.end){var r=n.hiddenRange.start;n.hiddenRange.start=n.hiddenRange.end,n.hiddenRange.end=r}}if("function"!=typeof n.onFail)throw new TypeError('The option "onFail" must be a callback function.');return n}(i);if(11!==a.length){var c=new Error('Parameter "'.concat(r,'" does not contain ').concat(11," digits."));return o.onFail(r,c)}if(o.hidden)for(var d=o.hiddenRange.start;d<=o.hiddenRange.end;d++)a[d]=o.hiddenKey;a.splice(9,0,o.delimiters.dash),a.splice(6,0,o.delimiters.dot),a.splice(3,0,o.delimiters.dot);var l,p=a.join("");return o.escape?(l=p,e.call(l,n,t)):p}})); | ||
| //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3BmLWZtdC5taW4uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9odG1sLWVzY2FwZXIvZXNtL2luZGV4LmpzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL251bS1vbmx5L2J1aWxkL2luZGV4LmNqcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9kZWVwbWVyZ2UvZGlzdC9janMuanMiLCIuLi9zcmMvbWVyZ2Utb3B0aW9ucy50cyIsIi4uL3NyYy9jcGYtZm10LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChDKSAyMDE3LXByZXNlbnQgYnkgQW5kcmVhIEdpYW1tYXJjaGkgLSBAV2ViUmVmbGVjdGlvblxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuICogYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4gKiBUSEUgU09GVFdBUkUuXG4gKi9cblxuY29uc3Qge3JlcGxhY2V9ID0gJyc7XG5cbi8vIGVzY2FwZVxuY29uc3QgZXMgPSAvJig/OmFtcHwjMzh8bHR8IzYwfGd0fCM2MnxhcG9zfCMzOXxxdW90fCMzNCk7L2c7XG5jb25zdCBjYSA9IC9bJjw+J1wiXS9nO1xuXG5jb25zdCBlc2NhID0ge1xuICAnJic6ICcmYW1wOycsXG4gICc8JzogJyZsdDsnLFxuICAnPic6ICcmZ3Q7JyxcbiAgXCInXCI6ICcmIzM5OycsXG4gICdcIic6ICcmcXVvdDsnXG59O1xuY29uc3QgcGUgPSBtID0+IGVzY2FbbV07XG5cbi8qKlxuICogU2FmZWx5IGVzY2FwZSBIVE1MIGVudGl0aWVzIHN1Y2ggYXMgYCZgLCBgPGAsIGA+YCwgYFwiYCwgYW5kIGAnYC5cbiAqIEBwYXJhbSB7c3RyaW5nfSBlcyB0aGUgaW5wdXQgdG8gc2FmZWx5IGVzY2FwZVxuICogQHJldHVybnMge3N0cmluZ30gdGhlIGVzY2FwZWQgaW5wdXQsIGFuZCBpdCAqKnRocm93cyoqIGFuIGVycm9yIGlmXG4gKiAgdGhlIGlucHV0IHR5cGUgaXMgdW5leHBlY3RlZCwgZXhjZXB0IGZvciBib29sZWFuIGFuZCBudW1iZXJzLFxuICogIGNvbnZlcnRlZCBhcyBzdHJpbmcuXG4gKi9cbmV4cG9ydCBjb25zdCBlc2NhcGUgPSBlcyA9PiByZXBsYWNlLmNhbGwoZXMsIGNhLCBwZSk7XG5cblxuLy8gdW5lc2NhcGVcbmNvbnN0IHVuZXMgPSB7XG4gICcmYW1wOyc6ICcmJyxcbiAgJyYjMzg7JzogJyYnLFxuICAnJmx0Oyc6ICc8JyxcbiAgJyYjNjA7JzogJzwnLFxuICAnJmd0Oyc6ICc+JyxcbiAgJyYjNjI7JzogJz4nLFxuICAnJmFwb3M7JzogXCInXCIsXG4gICcmIzM5Oyc6IFwiJ1wiLFxuICAnJnF1b3Q7JzogJ1wiJyxcbiAgJyYjMzQ7JzogJ1wiJ1xufTtcbmNvbnN0IGNhcGUgPSBtID0+IHVuZXNbbV07XG5cbi8qKlxuICogU2FmZWx5IHVuZXNjYXBlIHByZXZpb3VzbHkgZXNjYXBlZCBlbnRpdGllcyBzdWNoIGFzIGAmYCwgYDxgLCBgPmAsIGBcImAsXG4gKiBhbmQgYCdgLlxuICogQHBhcmFtIHtzdHJpbmd9IHVuIGEgcHJldmlvdXNseSBlc2NhcGVkIHN0cmluZ1xuICogQHJldHVybnMge3N0cmluZ30gdGhlIHVuZXNjYXBlZCBpbnB1dCwgYW5kIGl0ICoqdGhyb3dzKiogYW4gZXJyb3IgaWZcbiAqICB0aGUgaW5wdXQgdHlwZSBpcyB1bmV4cGVjdGVkLCBleGNlcHQgZm9yIGJvb2xlYW4gYW5kIG51bWJlcnMsXG4gKiAgY29udmVydGVkIGFzIHN0cmluZy5cbiAqL1xuZXhwb3J0IGNvbnN0IHVuZXNjYXBlID0gdW4gPT4gcmVwbGFjZS5jYWxsKHVuLCBlcywgY2FwZSk7XG4iLCIndXNlIHN0cmljdCc7XG5cbmZ1bmN0aW9uIG51bU9ubHkodGFyZ2V0KSB7XG4gIHJldHVybiBTdHJpbmcodGFyZ2V0KS5yZXBsYWNlKC9cXEQvZywgXCJcIik7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gbnVtT25seTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pYVc1a1pYZ3VZMnB6SWl3aWMyOTFjbU5sY3lJNld5SXVMaTl6Y21NdmJuVnRMVzl1YkhrdWRITWlYU3dpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpWm5WdVkzUnBiMjRnYm5WdFQyNXNlU2gwWVhKblpYUTZJSFZ1YTI1dmQyNHBPaUJ6ZEhKcGJtY2dlMXh1SUNCeVpYUjFjbTRnVTNSeWFXNW5LSFJoY21kbGRDa3VjbVZ3YkdGalpTZ3ZYRnhFTDJjc0lDY25LVHRjYm4xY2JseHVaWGh3YjNKMElHUmxabUYxYkhRZ2JuVnRUMjVzZVR0Y2JpSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaU96dEJRVUZCTEZOQlFWTXNVVUZCVVN4TlFVRjVRaXhGUVVGQk8wRkJRM2hETEVWQlFVRXNUMEZCVHl4TlFVRlBMRU5CUVVFc1RVRkJUU3hEUVVGRkxFTkJRVUVzVDBGQlFTeERRVUZSTEU5QlFVOHNSVUZCUlN4RFFVRkJPMEZCUTNwRE96czdPeUo5XG4iLCIndXNlIHN0cmljdCc7XG5cbnZhciBpc01lcmdlYWJsZU9iamVjdCA9IGZ1bmN0aW9uIGlzTWVyZ2VhYmxlT2JqZWN0KHZhbHVlKSB7XG5cdHJldHVybiBpc05vbk51bGxPYmplY3QodmFsdWUpXG5cdFx0JiYgIWlzU3BlY2lhbCh2YWx1ZSlcbn07XG5cbmZ1bmN0aW9uIGlzTm9uTnVsbE9iamVjdCh2YWx1ZSkge1xuXHRyZXR1cm4gISF2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnXG59XG5cbmZ1bmN0aW9uIGlzU3BlY2lhbCh2YWx1ZSkge1xuXHR2YXIgc3RyaW5nVmFsdWUgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsdWUpO1xuXG5cdHJldHVybiBzdHJpbmdWYWx1ZSA9PT0gJ1tvYmplY3QgUmVnRXhwXSdcblx0XHR8fCBzdHJpbmdWYWx1ZSA9PT0gJ1tvYmplY3QgRGF0ZV0nXG5cdFx0fHwgaXNSZWFjdEVsZW1lbnQodmFsdWUpXG59XG5cbi8vIHNlZSBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvYmxvYi9iNWFjOTYzZmI3OTFkMTI5OGU3ZjM5NjIzNjM4M2JjOTU1ZjkxNmMxL3NyYy9pc29tb3JwaGljL2NsYXNzaWMvZWxlbWVudC9SZWFjdEVsZW1lbnQuanMjTDIxLUwyNVxudmFyIGNhblVzZVN5bWJvbCA9IHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLmZvcjtcbnZhciBSRUFDVF9FTEVNRU5UX1RZUEUgPSBjYW5Vc2VTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5lbGVtZW50JykgOiAweGVhYzc7XG5cbmZ1bmN0aW9uIGlzUmVhY3RFbGVtZW50KHZhbHVlKSB7XG5cdHJldHVybiB2YWx1ZS4kJHR5cGVvZiA9PT0gUkVBQ1RfRUxFTUVOVF9UWVBFXG59XG5cbmZ1bmN0aW9uIGVtcHR5VGFyZ2V0KHZhbCkge1xuXHRyZXR1cm4gQXJyYXkuaXNBcnJheSh2YWwpID8gW10gOiB7fVxufVxuXG5mdW5jdGlvbiBjbG9uZVVubGVzc090aGVyd2lzZVNwZWNpZmllZCh2YWx1ZSwgb3B0aW9ucykge1xuXHRyZXR1cm4gKG9wdGlvbnMuY2xvbmUgIT09IGZhbHNlICYmIG9wdGlvbnMuaXNNZXJnZWFibGVPYmplY3QodmFsdWUpKVxuXHRcdD8gZGVlcG1lcmdlKGVtcHR5VGFyZ2V0KHZhbHVlKSwgdmFsdWUsIG9wdGlvbnMpXG5cdFx0OiB2YWx1ZVxufVxuXG5mdW5jdGlvbiBkZWZhdWx0QXJyYXlNZXJnZSh0YXJnZXQsIHNvdXJjZSwgb3B0aW9ucykge1xuXHRyZXR1cm4gdGFyZ2V0LmNvbmNhdChzb3VyY2UpLm1hcChmdW5jdGlvbihlbGVtZW50KSB7XG5cdFx0cmV0dXJuIGNsb25lVW5sZXNzT3RoZXJ3aXNlU3BlY2lmaWVkKGVsZW1lbnQsIG9wdGlvbnMpXG5cdH0pXG59XG5cbmZ1bmN0aW9uIGdldE1lcmdlRnVuY3Rpb24oa2V5LCBvcHRpb25zKSB7XG5cdGlmICghb3B0aW9ucy5jdXN0b21NZXJnZSkge1xuXHRcdHJldHVybiBkZWVwbWVyZ2Vcblx0fVxuXHR2YXIgY3VzdG9tTWVyZ2UgPSBvcHRpb25zLmN1c3RvbU1lcmdlKGtleSk7XG5cdHJldHVybiB0eXBlb2YgY3VzdG9tTWVyZ2UgPT09ICdmdW5jdGlvbicgPyBjdXN0b21NZXJnZSA6IGRlZXBtZXJnZVxufVxuXG5mdW5jdGlvbiBnZXRFbnVtZXJhYmxlT3duUHJvcGVydHlTeW1ib2xzKHRhcmdldCkge1xuXHRyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9sc1xuXHRcdD8gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyh0YXJnZXQpLmZpbHRlcihmdW5jdGlvbihzeW1ib2wpIHtcblx0XHRcdHJldHVybiBPYmplY3QucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbCh0YXJnZXQsIHN5bWJvbClcblx0XHR9KVxuXHRcdDogW11cbn1cblxuZnVuY3Rpb24gZ2V0S2V5cyh0YXJnZXQpIHtcblx0cmV0dXJuIE9iamVjdC5rZXlzKHRhcmdldCkuY29uY2F0KGdldEVudW1lcmFibGVPd25Qcm9wZXJ0eVN5bWJvbHModGFyZ2V0KSlcbn1cblxuZnVuY3Rpb24gcHJvcGVydHlJc09uT2JqZWN0KG9iamVjdCwgcHJvcGVydHkpIHtcblx0dHJ5IHtcblx0XHRyZXR1cm4gcHJvcGVydHkgaW4gb2JqZWN0XG5cdH0gY2F0Y2goXykge1xuXHRcdHJldHVybiBmYWxzZVxuXHR9XG59XG5cbi8vIFByb3RlY3RzIGZyb20gcHJvdG90eXBlIHBvaXNvbmluZyBhbmQgdW5leHBlY3RlZCBtZXJnaW5nIHVwIHRoZSBwcm90b3R5cGUgY2hhaW4uXG5mdW5jdGlvbiBwcm9wZXJ0eUlzVW5zYWZlKHRhcmdldCwga2V5KSB7XG5cdHJldHVybiBwcm9wZXJ0eUlzT25PYmplY3QodGFyZ2V0LCBrZXkpIC8vIFByb3BlcnRpZXMgYXJlIHNhZmUgdG8gbWVyZ2UgaWYgdGhleSBkb24ndCBleGlzdCBpbiB0aGUgdGFyZ2V0IHlldCxcblx0XHQmJiAhKE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKHRhcmdldCwga2V5KSAvLyB1bnNhZmUgaWYgdGhleSBleGlzdCB1cCB0aGUgcHJvdG90eXBlIGNoYWluLFxuXHRcdFx0JiYgT2JqZWN0LnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwodGFyZ2V0LCBrZXkpKSAvLyBhbmQgYWxzbyB1bnNhZmUgaWYgdGhleSdyZSBub25lbnVtZXJhYmxlLlxufVxuXG5mdW5jdGlvbiBtZXJnZU9iamVjdCh0YXJnZXQsIHNvdXJjZSwgb3B0aW9ucykge1xuXHR2YXIgZGVzdGluYXRpb24gPSB7fTtcblx0aWYgKG9wdGlvbnMuaXNNZXJnZWFibGVPYmplY3QodGFyZ2V0KSkge1xuXHRcdGdldEtleXModGFyZ2V0KS5mb3JFYWNoKGZ1bmN0aW9uKGtleSkge1xuXHRcdFx0ZGVzdGluYXRpb25ba2V5XSA9IGNsb25lVW5sZXNzT3RoZXJ3aXNlU3BlY2lmaWVkKHRhcmdldFtrZXldLCBvcHRpb25zKTtcblx0XHR9KTtcblx0fVxuXHRnZXRLZXlzKHNvdXJjZSkuZm9yRWFjaChmdW5jdGlvbihrZXkpIHtcblx0XHRpZiAocHJvcGVydHlJc1Vuc2FmZSh0YXJnZXQsIGtleSkpIHtcblx0XHRcdHJldHVyblxuXHRcdH1cblxuXHRcdGlmIChwcm9wZXJ0eUlzT25PYmplY3QodGFyZ2V0LCBrZXkpICYmIG9wdGlvbnMuaXNNZXJnZWFibGVPYmplY3Qoc291cmNlW2tleV0pKSB7XG5cdFx0XHRkZXN0aW5hdGlvbltrZXldID0gZ2V0TWVyZ2VGdW5jdGlvbihrZXksIG9wdGlvbnMpKHRhcmdldFtrZXldLCBzb3VyY2Vba2V5XSwgb3B0aW9ucyk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGRlc3RpbmF0aW9uW2tleV0gPSBjbG9uZVVubGVzc090aGVyd2lzZVNwZWNpZmllZChzb3VyY2Vba2V5XSwgb3B0aW9ucyk7XG5cdFx0fVxuXHR9KTtcblx0cmV0dXJuIGRlc3RpbmF0aW9uXG59XG5cbmZ1bmN0aW9uIGRlZXBtZXJnZSh0YXJnZXQsIHNvdXJjZSwgb3B0aW9ucykge1xuXHRvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcblx0b3B0aW9ucy5hcnJheU1lcmdlID0gb3B0aW9ucy5hcnJheU1lcmdlIHx8IGRlZmF1bHRBcnJheU1lcmdlO1xuXHRvcHRpb25zLmlzTWVyZ2VhYmxlT2JqZWN0ID0gb3B0aW9ucy5pc01lcmdlYWJsZU9iamVjdCB8fCBpc01lcmdlYWJsZU9iamVjdDtcblx0Ly8gY2xvbmVVbmxlc3NPdGhlcndpc2VTcGVjaWZpZWQgaXMgYWRkZWQgdG8gYG9wdGlvbnNgIHNvIHRoYXQgY3VzdG9tIGFycmF5TWVyZ2UoKVxuXHQvLyBpbXBsZW1lbnRhdGlvbnMgY2FuIHVzZSBpdC4gVGhlIGNhbGxlciBtYXkgbm90IHJlcGxhY2UgaXQuXG5cdG9wdGlvbnMuY2xvbmVVbmxlc3NPdGhlcndpc2VTcGVjaWZpZWQgPSBjbG9uZVVubGVzc090aGVyd2lzZVNwZWNpZmllZDtcblxuXHR2YXIgc291cmNlSXNBcnJheSA9IEFycmF5LmlzQXJyYXkoc291cmNlKTtcblx0dmFyIHRhcmdldElzQXJyYXkgPSBBcnJheS5pc0FycmF5KHRhcmdldCk7XG5cdHZhciBzb3VyY2VBbmRUYXJnZXRUeXBlc01hdGNoID0gc291cmNlSXNBcnJheSA9PT0gdGFyZ2V0SXNBcnJheTtcblxuXHRpZiAoIXNvdXJjZUFuZFRhcmdldFR5cGVzTWF0Y2gpIHtcblx0XHRyZXR1cm4gY2xvbmVVbmxlc3NPdGhlcndpc2VTcGVjaWZpZWQoc291cmNlLCBvcHRpb25zKVxuXHR9IGVsc2UgaWYgKHNvdXJjZUlzQXJyYXkpIHtcblx0XHRyZXR1cm4gb3B0aW9ucy5hcnJheU1lcmdlKHRhcmdldCwgc291cmNlLCBvcHRpb25zKVxuXHR9IGVsc2Uge1xuXHRcdHJldHVybiBtZXJnZU9iamVjdCh0YXJnZXQsIHNvdXJjZSwgb3B0aW9ucylcblx0fVxufVxuXG5kZWVwbWVyZ2UuYWxsID0gZnVuY3Rpb24gZGVlcG1lcmdlQWxsKGFycmF5LCBvcHRpb25zKSB7XG5cdGlmICghQXJyYXkuaXNBcnJheShhcnJheSkpIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoJ2ZpcnN0IGFyZ3VtZW50IHNob3VsZCBiZSBhbiBhcnJheScpXG5cdH1cblxuXHRyZXR1cm4gYXJyYXkucmVkdWNlKGZ1bmN0aW9uKHByZXYsIG5leHQpIHtcblx0XHRyZXR1cm4gZGVlcG1lcmdlKHByZXYsIG5leHQsIG9wdGlvbnMpXG5cdH0sIHt9KVxufTtcblxudmFyIGRlZXBtZXJnZV8xID0gZGVlcG1lcmdlO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGRlZXBtZXJnZV8xO1xuIiwiaW1wb3J0IG1lcmdlRGVlcCBmcm9tICdkZWVwbWVyZ2UnO1xuXG50eXBlIERlZXBQYXJ0aWFsPFQ+ID0ge1xuICBbUCBpbiBrZXlvZiBUXT86IERlZXBQYXJ0aWFsPFRbUF0+O1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBBY3R1YWxDcGZGb3JtYXR0aW5nT3B0aW9uczxPbkVyckZhbGxiYWNrPiB7XG4gIGRlbGltaXRlcnM6IHtcbiAgICBkYXNoOiBzdHJpbmc7XG4gICAgZG90OiBzdHJpbmc7XG4gIH07XG4gIGVzY2FwZTogYm9vbGVhbjtcbiAgaGlkZGVuOiBib29sZWFuO1xuICBoaWRkZW5LZXk6IHN0cmluZztcbiAgaGlkZGVuUmFuZ2U6IHtcbiAgICBlbmQ6IG51bWJlcjtcbiAgICBzdGFydDogbnVtYmVyO1xuICB9O1xuICBvbkZhaWw6ICh2YWx1ZTogc3RyaW5nLCBlcnJvcjogRXJyb3IpID0+IE9uRXJyRmFsbGJhY2s7XG59XG5cbmV4cG9ydCB0eXBlIENwZkZvcm1hdHRpbmdPcHRpb25zPE9uRXJyRmFsbGJhY2s+ID0gRGVlcFBhcnRpYWw8XG4gIEFjdHVhbENwZkZvcm1hdHRpbmdPcHRpb25zPE9uRXJyRmFsbGJhY2s+XG4+O1xuXG5jb25zdCBkZWZhdWx0T3B0aW9uczogQWN0dWFsQ3BmRm9ybWF0dGluZ09wdGlvbnM8c3RyaW5nPiA9IHtcbiAgZGVsaW1pdGVyczoge1xuICAgIGRvdDogJy4nLFxuICAgIGRhc2g6ICctJyxcbiAgfSxcbiAgaGlkZGVuUmFuZ2U6IHtcbiAgICBzdGFydDogMyxcbiAgICBlbmQ6IDEwLFxuICB9LFxuICBvbkZhaWw6ICh2YWx1ZSkgPT4gdmFsdWUsXG4gIGhpZGRlbktleTogJyonLFxuICBoaWRkZW46IGZhbHNlLFxuICBlc2NhcGU6IGZhbHNlLFxufTtcblxuLyoqXG4gKiBNZXJnZSBjdXN0b20gb3B0aW9ucyB0byB0aGUgZGVmYXVsdCBvbmVzLlxuICovXG5mdW5jdGlvbiBtZXJnZU9wdGlvbnM8T25FcnJGYWxsYmFjaz4oXG4gIGN1c3RvbU9wdGlvbnM6IENwZkZvcm1hdHRpbmdPcHRpb25zPE9uRXJyRmFsbGJhY2s+ID0ge30sXG4pOiBBY3R1YWxDcGZGb3JtYXR0aW5nT3B0aW9uczxPbkVyckZhbGxiYWNrPiB7XG4gIGNvbnN0IG9wdGlvbnMgPSBtZXJnZURlZXAoXG4gICAgZGVmYXVsdE9wdGlvbnMsXG4gICAgY3VzdG9tT3B0aW9ucyxcbiAgKSBhcyBBY3R1YWxDcGZGb3JtYXR0aW5nT3B0aW9uczxPbkVyckZhbGxiYWNrPjtcblxuICBpZiAob3B0aW9ucy5oaWRkZW4pIHtcbiAgICBpZiAoXG4gICAgICBpc05hTihvcHRpb25zLmhpZGRlblJhbmdlLnN0YXJ0KSB8fFxuICAgICAgb3B0aW9ucy5oaWRkZW5SYW5nZS5zdGFydCA8IDAgfHxcbiAgICAgIG9wdGlvbnMuaGlkZGVuUmFuZ2Uuc3RhcnQgPiAxMFxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignT3B0aW9uIFwiaGlkZGVuUmFuZ2Uuc3RhcnRcIiBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMTAuJyk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgaXNOYU4ob3B0aW9ucy5oaWRkZW5SYW5nZS5lbmQpIHx8XG4gICAgICBvcHRpb25zLmhpZGRlblJhbmdlLmVuZCA8IDAgfHxcbiAgICAgIG9wdGlvbnMuaGlkZGVuUmFuZ2UuZW5kID4gMTBcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ09wdGlvbiBcImhpZGRlblJhbmdlLmVuZFwiIG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxMC4nKTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5oaWRkZW5SYW5nZS5zdGFydCA+IG9wdGlvbnMuaGlkZGVuUmFuZ2UuZW5kKSB7XG4gICAgICBjb25zdCBhdXggPSBvcHRpb25zLmhpZGRlblJhbmdlLnN0YXJ0O1xuICAgICAgb3B0aW9ucy5oaWRkZW5SYW5nZS5zdGFydCA9IG9wdGlvbnMuaGlkZGVuUmFuZ2UuZW5kO1xuICAgICAgb3B0aW9ucy5oaWRkZW5SYW5nZS5lbmQgPSBhdXg7XG4gICAgfVxuICB9XG5cbiAgaWYgKHR5cGVvZiBvcHRpb25zLm9uRmFpbCAhPT0gJ2Z1bmN0aW9uJykge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSBvcHRpb24gXCJvbkZhaWxcIiBtdXN0IGJlIGEgY2FsbGJhY2sgZnVuY3Rpb24uJyk7XG4gIH1cblxuICByZXR1cm4gb3B0aW9ucztcbn1cblxuZXhwb3J0IGRlZmF1bHQgbWVyZ2VPcHRpb25zO1xuIiwiaW1wb3J0IHsgZXNjYXBlIGFzIGVzY2FwZUhUTUwgfSBmcm9tICdodG1sLWVzY2FwZXInO1xuaW1wb3J0IG51bU9ubHkgZnJvbSAnbnVtLW9ubHknO1xuXG5pbXBvcnQgbWVyZ2VPcHRpb25zIGZyb20gJy4vbWVyZ2Utb3B0aW9ucyc7XG5pbXBvcnQgdHlwZSB7IENwZkZvcm1hdHRpbmdPcHRpb25zIH0gZnJvbSAnLi9tZXJnZS1vcHRpb25zJztcblxuLyoqXG4gKiBGb3JtYXQgYSBnaXZlbiBDUEYgY2hhciBzZXF1ZW5jZS5cbiAqL1xuZnVuY3Rpb24gY3BmRm10PE9uRXJyRmFsbGJhY2sgPSBzdHJpbmc+KFxuICBjcGZTdHJpbmc6IHN0cmluZyxcbiAgb3B0aW9ucz86IENwZkZvcm1hdHRpbmdPcHRpb25zPE9uRXJyRmFsbGJhY2s+LFxuKTogc3RyaW5nIHtcbiAgY29uc3QgQ1BGX0xFTkdUSCA9IDExO1xuICBjb25zdCBjcGZBcnJheSA9IG51bU9ubHkoY3BmU3RyaW5nKS5zcGxpdCgnJyk7XG4gIGNvbnN0IGN1c3RvbU9wdGlvbnMgPSBtZXJnZU9wdGlvbnMob3B0aW9ucyk7XG5cbiAgaWYgKGNwZkFycmF5Lmxlbmd0aCAhPT0gQ1BGX0xFTkdUSCkge1xuICAgIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKGBQYXJhbWV0ZXIgXCIke2NwZlN0cmluZ31cIiBkb2VzIG5vdCBjb250YWluICR7Q1BGX0xFTkdUSH0gZGlnaXRzLmApO1xuXG4gICAgcmV0dXJuIGN1c3RvbU9wdGlvbnMub25GYWlsKGNwZlN0cmluZywgZXJyb3IpIGFzIHN0cmluZztcbiAgfVxuXG4gIGlmIChjdXN0b21PcHRpb25zLmhpZGRlbikge1xuICAgIGZvciAobGV0IGkgPSBjdXN0b21PcHRpb25zLmhpZGRlblJhbmdlLnN0YXJ0OyBpIDw9IGN1c3RvbU9wdGlvbnMuaGlkZGVuUmFuZ2UuZW5kOyBpKyspIHtcbiAgICAgIGNwZkFycmF5W2ldID0gY3VzdG9tT3B0aW9ucy5oaWRkZW5LZXk7XG4gICAgfVxuICB9XG5cbiAgY3BmQXJyYXkuc3BsaWNlKDksIDAsIGN1c3RvbU9wdGlvbnMuZGVsaW1pdGVycy5kYXNoKTtcbiAgY3BmQXJyYXkuc3BsaWNlKDYsIDAsIGN1c3RvbU9wdGlvbnMuZGVsaW1pdGVycy5kb3QpO1xuICBjcGZBcnJheS5zcGxpY2UoMywgMCwgY3VzdG9tT3B0aW9ucy5kZWxpbWl0ZXJzLmRvdCk7XG4gIGNvbnN0IGNwZlByZXR0eSA9IGNwZkFycmF5LmpvaW4oJycpO1xuXG4gIGlmIChjdXN0b21PcHRpb25zLmVzY2FwZSkge1xuICAgIHJldHVybiBlc2NhcGVIVE1MKGNwZlByZXR0eSk7XG4gIH1cblxuICByZXR1cm4gY3BmUHJldHR5O1xufVxuXG5leHBvcnQgZGVmYXVsdCBjcGZGbXQ7XG4iXSwibmFtZXMiOlsicmVwbGFjZSIsImNhIiwiZXNjYSIsInBlIiwibSIsImJ1aWxkIiwidGFyZ2V0IiwiU3RyaW5nIiwiaXNNZXJnZWFibGVPYmplY3QiLCJ2YWx1ZSIsImlzTm9uTnVsbE9iamVjdCIsInN0cmluZ1ZhbHVlIiwiT2JqZWN0IiwicHJvdG90eXBlIiwidG9TdHJpbmciLCJjYWxsIiwiJCR0eXBlb2YiLCJSRUFDVF9FTEVNRU5UX1RZUEUiLCJpc1JlYWN0RWxlbWVudCIsImlzU3BlY2lhbCIsIlN5bWJvbCIsImZvciIsImNsb25lVW5sZXNzT3RoZXJ3aXNlU3BlY2lmaWVkIiwib3B0aW9ucyIsImNsb25lIiwiZGVlcG1lcmdlIiwidmFsIiwiQXJyYXkiLCJpc0FycmF5IiwiZGVmYXVsdEFycmF5TWVyZ2UiLCJzb3VyY2UiLCJjb25jYXQiLCJtYXAiLCJlbGVtZW50IiwiZ2V0S2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJzeW1ib2wiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImdldEVudW1lcmFibGVPd25Qcm9wZXJ0eVN5bWJvbHMiLCJwcm9wZXJ0eUlzT25PYmplY3QiLCJvYmplY3QiLCJwcm9wZXJ0eSIsIl8iLCJtZXJnZU9iamVjdCIsImRlc3RpbmF0aW9uIiwiZm9yRWFjaCIsImtleSIsImhhc093blByb3BlcnR5IiwicHJvcGVydHlJc1Vuc2FmZSIsImN1c3RvbU1lcmdlIiwiZ2V0TWVyZ2VGdW5jdGlvbiIsImFycmF5TWVyZ2UiLCJzb3VyY2VJc0FycmF5IiwiYWxsIiwiYXJyYXkiLCJFcnJvciIsInJlZHVjZSIsInByZXYiLCJuZXh0IiwiY2pzIiwiZGVmYXVsdE9wdGlvbnMiLCJkZWxpbWl0ZXJzIiwiZG90IiwiZGFzaCIsImhpZGRlblJhbmdlIiwic3RhcnQiLCJlbmQiLCJvbkZhaWwiLCJoaWRkZW5LZXkiLCJoaWRkZW4iLCJlc2NhcGUiLCJjcGZTdHJpbmciLCJjcGZBcnJheSIsIm51bU9ubHkiLCJzcGxpdCIsImN1c3RvbU9wdGlvbnMiLCJtZXJnZURlZXAiLCJpc05hTiIsIlR5cGVFcnJvciIsImF1eCIsIm1lcmdlT3B0aW9ucyIsImxlbmd0aCIsImVycm9yIiwiaSIsInNwbGljZSIsImVzIiwiY3BmUHJldHR5Iiwiam9pbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O3VPQXNCQSxNQUFNQSxRQUFDQSxHQUFXLEdBSVpDLEVBQUssV0FFTEMsRUFBTyxDQUNYLElBQUssUUFDTCxJQUFLLE9BQ0wsSUFBSyxPQUNMLElBQUssUUFDTCxJQUFLLFVBRURDLEVBQUtDLEdBQUtGLEVBQUtFLG9JQzdCckJDLEVBSkEsU0FBaUJDLEdBQ2YsT0FBT0MsT0FBT0QsR0FBUU4sUUFBUSxNQUFPLEdBQ3ZDLHlDQ0ZBLElBQUlRLEVBQW9CLFNBQTJCQyxHQUNsRCxPQUlELFNBQXlCQSxHQUN4QixRQUFTQSxHQUEwQixpQkFBVkEsQ0FDMUIsQ0FOUUMsQ0FBZ0JELEtBUXhCLFNBQW1CQSxHQUNsQixJQUFJRSxFQUFjQyxPQUFPQyxVQUFVQyxTQUFTQyxLQUFLTixHQUVqRCxNQUF1QixvQkFBaEJFLEdBQ2Esa0JBQWhCQSxHQVFMLFNBQXdCRixHQUN2QixPQUFPQSxFQUFNTyxXQUFhQyxDQUMzQixDQVRLQyxDQUFlVCxFQUNwQixDQWJNVSxDQUFVVixFQUNmLEVBZ0JHUSxFQURpQyxtQkFBWEcsUUFBeUJBLE9BQU9DLElBQ2xCRCxPQUFPQyxJQUFJLGlCQUFtQixNQVV0RSxTQUFTQyxFQUE4QmIsRUFBT2MsR0FDN0MsT0FBMEIsSUFBbEJBLEVBQVFDLE9BQW1CRCxFQUFRZixrQkFBa0JDLEdBQzFEZ0IsR0FOaUJDLEVBTUtqQixFQUxsQmtCLE1BQU1DLFFBQVFGLEdBQU8sR0FBSyxDQUFBLEdBS0FqQixFQUFPYyxHQUNyQ2QsRUFQSixJQUFxQmlCLENBUXJCLENBRUEsU0FBU0csRUFBa0J2QixFQUFRd0IsRUFBUVAsR0FDMUMsT0FBT2pC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 | ||
| //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3BmLWZtdC5taW4uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9odG1sLWVzY2FwZXIvZXNtL2luZGV4LmpzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL251bS1vbmx5L2J1aWxkL2luZGV4LmNqcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9kZWVwbWVyZ2UvZGlzdC9janMuanMiLCIuLi9zcmMvbWVyZ2Utb3B0aW9ucy50cyIsIi4uL3NyYy9jcGYtZm10LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChDKSAyMDE3LXByZXNlbnQgYnkgQW5kcmVhIEdpYW1tYXJjaGkgLSBAV2ViUmVmbGVjdGlvblxuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuICogYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4gKiBUSEUgU09GVFdBUkUuXG4gKi9cblxuY29uc3Qge3JlcGxhY2V9ID0gJyc7XG5cbi8vIGVzY2FwZVxuY29uc3QgZXMgPSAvJig/OmFtcHwjMzh8bHR8IzYwfGd0fCM2MnxhcG9zfCMzOXxxdW90fCMzNCk7L2c7XG5jb25zdCBjYSA9IC9bJjw+J1wiXS9nO1xuXG5jb25zdCBlc2NhID0ge1xuICAnJic6ICcmYW1wOycsXG4gICc8JzogJyZsdDsnLFxuICAnPic6ICcmZ3Q7JyxcbiAgXCInXCI6ICcmIzM5OycsXG4gICdcIic6ICcmcXVvdDsnXG59O1xuY29uc3QgcGUgPSBtID0+IGVzY2FbbV07XG5cbi8qKlxuICogU2FmZWx5IGVzY2FwZSBIVE1MIGVudGl0aWVzIHN1Y2ggYXMgYCZgLCBgPGAsIGA+YCwgYFwiYCwgYW5kIGAnYC5cbiAqIEBwYXJhbSB7c3RyaW5nfSBlcyB0aGUgaW5wdXQgdG8gc2FmZWx5IGVzY2FwZVxuICogQHJldHVybnMge3N0cmluZ30gdGhlIGVzY2FwZWQgaW5wdXQsIGFuZCBpdCAqKnRocm93cyoqIGFuIGVycm9yIGlmXG4gKiAgdGhlIGlucHV0IHR5cGUgaXMgdW5leHBlY3RlZCwgZXhjZXB0IGZvciBib29sZWFuIGFuZCBudW1iZXJzLFxuICogIGNvbnZlcnRlZCBhcyBzdHJpbmcuXG4gKi9cbmV4cG9ydCBjb25zdCBlc2NhcGUgPSBlcyA9PiByZXBsYWNlLmNhbGwoZXMsIGNhLCBwZSk7XG5cblxuLy8gdW5lc2NhcGVcbmNvbnN0IHVuZXMgPSB7XG4gICcmYW1wOyc6ICcmJyxcbiAgJyYjMzg7JzogJyYnLFxuICAnJmx0Oyc6ICc8JyxcbiAgJyYjNjA7JzogJzwnLFxuICAnJmd0Oyc6ICc+JyxcbiAgJyYjNjI7JzogJz4nLFxuICAnJmFwb3M7JzogXCInXCIsXG4gICcmIzM5Oyc6IFwiJ1wiLFxuICAnJnF1b3Q7JzogJ1wiJyxcbiAgJyYjMzQ7JzogJ1wiJ1xufTtcbmNvbnN0IGNhcGUgPSBtID0+IHVuZXNbbV07XG5cbi8qKlxuICogU2FmZWx5IHVuZXNjYXBlIHByZXZpb3VzbHkgZXNjYXBlZCBlbnRpdGllcyBzdWNoIGFzIGAmYCwgYDxgLCBgPmAsIGBcImAsXG4gKiBhbmQgYCdgLlxuICogQHBhcmFtIHtzdHJpbmd9IHVuIGEgcHJldmlvdXNseSBlc2NhcGVkIHN0cmluZ1xuICogQHJldHVybnMge3N0cmluZ30gdGhlIHVuZXNjYXBlZCBpbnB1dCwgYW5kIGl0ICoqdGhyb3dzKiogYW4gZXJyb3IgaWZcbiAqICB0aGUgaW5wdXQgdHlwZSBpcyB1bmV4cGVjdGVkLCBleGNlcHQgZm9yIGJvb2xlYW4gYW5kIG51bWJlcnMsXG4gKiAgY29udmVydGVkIGFzIHN0cmluZy5cbiAqL1xuZXhwb3J0IGNvbnN0IHVuZXNjYXBlID0gdW4gPT4gcmVwbGFjZS5jYWxsKHVuLCBlcywgY2FwZSk7XG4iLCIndXNlIHN0cmljdCc7XG5cbmZ1bmN0aW9uIG51bU9ubHkodGFyZ2V0KSB7XG4gIHJldHVybiBTdHJpbmcodGFyZ2V0KS5yZXBsYWNlKC9cXEQvZywgXCJcIik7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gbnVtT25seTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pYVc1a1pYZ3VZMnB6SWl3aWMyOTFjbU5sY3lJNld5SXVMaTl6Y21NdmJuVnRMVzl1YkhrdWRITWlYU3dpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpWm5WdVkzUnBiMjRnYm5WdFQyNXNlU2gwWVhKblpYUTZJSFZ1YTI1dmQyNHBPaUJ6ZEhKcGJtY2dlMXh1SUNCeVpYUjFjbTRnVTNSeWFXNW5LSFJoY21kbGRDa3VjbVZ3YkdGalpTZ3ZYRnhFTDJjc0lDY25LVHRjYm4xY2JseHVaWGh3YjNKMElHUmxabUYxYkhRZ2JuVnRUMjVzZVR0Y2JpSmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaU96dEJRVUZCTEZOQlFWTXNVVUZCVVN4TlFVRjVRaXhGUVVGQk8wRkJRM2hETEVWQlFVRXNUMEZCVHl4TlFVRlBMRU5CUVVFc1RVRkJUU3hEUVVGRkxFTkJRVUVzVDBGQlFTeERRVUZSTEU5QlFVOHNSVUZCUlN4RFFVRkJPMEZCUTNwRE96czdPeUo5XG4iLCIndXNlIHN0cmljdCc7XG5cbnZhciBpc01lcmdlYWJsZU9iamVjdCA9IGZ1bmN0aW9uIGlzTWVyZ2VhYmxlT2JqZWN0KHZhbHVlKSB7XG5cdHJldHVybiBpc05vbk51bGxPYmplY3QodmFsdWUpXG5cdFx0JiYgIWlzU3BlY2lhbCh2YWx1ZSlcbn07XG5cbmZ1bmN0aW9uIGlzTm9uTnVsbE9iamVjdCh2YWx1ZSkge1xuXHRyZXR1cm4gISF2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnXG59XG5cbmZ1bmN0aW9uIGlzU3BlY2lhbCh2YWx1ZSkge1xuXHR2YXIgc3RyaW5nVmFsdWUgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsdWUpO1xuXG5cdHJldHVybiBzdHJpbmdWYWx1ZSA9PT0gJ1tvYmplY3QgUmVnRXhwXSdcblx0XHR8fCBzdHJpbmdWYWx1ZSA9PT0gJ1tvYmplY3QgRGF0ZV0nXG5cdFx0fHwgaXNSZWFjdEVsZW1lbnQodmFsdWUpXG59XG5cbi8vIHNlZSBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvYmxvYi9iNWFjOTYzZmI3OTFkMTI5OGU3ZjM5NjIzNjM4M2JjOTU1ZjkxNmMxL3NyYy9pc29tb3JwaGljL2NsYXNzaWMvZWxlbWVudC9SZWFjdEVsZW1lbnQuanMjTDIxLUwyNVxudmFyIGNhblVzZVN5bWJvbCA9IHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLmZvcjtcbnZhciBSRUFDVF9FTEVNRU5UX1RZUEUgPSBjYW5Vc2VTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5lbGVtZW50JykgOiAweGVhYzc7XG5cbmZ1bmN0aW9uIGlzUmVhY3RFbGVtZW50KHZhbHVlKSB7XG5cdHJldHVybiB2YWx1ZS4kJHR5cGVvZiA9PT0gUkVBQ1RfRUxFTUVOVF9UWVBFXG59XG5cbmZ1bmN0aW9uIGVtcHR5VGFyZ2V0KHZhbCkge1xuXHRyZXR1cm4gQXJyYXkuaXNBcnJheSh2YWwpID8gW10gOiB7fVxufVxuXG5mdW5jdGlvbiBjbG9uZVVubGVzc090aGVyd2lzZVNwZWNpZmllZCh2YWx1ZSwgb3B0aW9ucykge1xuXHRyZXR1cm4gKG9wdGlvbnMuY2xvbmUgIT09IGZhbHNlICYmIG9wdGlvbnMuaXNNZXJnZWFibGVPYmplY3QodmFsdWUpKVxuXHRcdD8gZGVlcG1lcmdlKGVtcHR5VGFyZ2V0KHZhbHVlKSwgdmFsdWUsIG9wdGlvbnMpXG5cdFx0OiB2YWx1ZVxufVxuXG5mdW5jdGlvbiBkZWZhdWx0QXJyYXlNZXJnZSh0YXJnZXQsIHNvdXJjZSwgb3B0aW9ucykge1xuXHRyZXR1cm4gdGFyZ2V0LmNvbmNhdChzb3VyY2UpLm1hcChmdW5jdGlvbihlbGVtZW50KSB7XG5cdFx0cmV0dXJuIGNsb25lVW5sZXNzT3RoZXJ3aXNlU3BlY2lmaWVkKGVsZW1lbnQsIG9wdGlvbnMpXG5cdH0pXG59XG5cbmZ1bmN0aW9uIGdldE1lcmdlRnVuY3Rpb24oa2V5LCBvcHRpb25zKSB7XG5cdGlmICghb3B0aW9ucy5jdXN0b21NZXJnZSkge1xuXHRcdHJldHVybiBkZWVwbWVyZ2Vcblx0fVxuXHR2YXIgY3VzdG9tTWVyZ2UgPSBvcHRpb25zLmN1c3RvbU1lcmdlKGtleSk7XG5cdHJldHVybiB0eXBlb2YgY3VzdG9tTWVyZ2UgPT09ICdmdW5jdGlvbicgPyBjdXN0b21NZXJnZSA6IGRlZXBtZXJnZVxufVxuXG5mdW5jdGlvbiBnZXRFbnVtZXJhYmxlT3duUHJvcGVydHlTeW1ib2xzKHRhcmdldCkge1xuXHRyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9sc1xuXHRcdD8gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyh0YXJnZXQpLmZpbHRlcihmdW5jdGlvbihzeW1ib2wpIHtcblx0XHRcdHJldHVybiBPYmplY3QucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbCh0YXJnZXQsIHN5bWJvbClcblx0XHR9KVxuXHRcdDogW11cbn1cblxuZnVuY3Rpb24gZ2V0S2V5cyh0YXJnZXQpIHtcblx0cmV0dXJuIE9iamVjdC5rZXlzKHRhcmdldCkuY29uY2F0KGdldEVudW1lcmFibGVPd25Qcm9wZXJ0eVN5bWJvbHModGFyZ2V0KSlcbn1cblxuZnVuY3Rpb24gcHJvcGVydHlJc09uT2JqZWN0KG9iamVjdCwgcHJvcGVydHkpIHtcblx0dHJ5IHtcblx0XHRyZXR1cm4gcHJvcGVydHkgaW4gb2JqZWN0XG5cdH0gY2F0Y2goXykge1xuXHRcdHJldHVybiBmYWxzZVxuXHR9XG59XG5cbi8vIFByb3RlY3RzIGZyb20gcHJvdG90eXBlIHBvaXNvbmluZyBhbmQgdW5leHBlY3RlZCBtZXJnaW5nIHVwIHRoZSBwcm90b3R5cGUgY2hhaW4uXG5mdW5jdGlvbiBwcm9wZXJ0eUlzVW5zYWZlKHRhcmdldCwga2V5KSB7XG5cdHJldHVybiBwcm9wZXJ0eUlzT25PYmplY3QodGFyZ2V0LCBrZXkpIC8vIFByb3BlcnRpZXMgYXJlIHNhZmUgdG8gbWVyZ2UgaWYgdGhleSBkb24ndCBleGlzdCBpbiB0aGUgdGFyZ2V0IHlldCxcblx0XHQmJiAhKE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKHRhcmdldCwga2V5KSAvLyB1bnNhZmUgaWYgdGhleSBleGlzdCB1cCB0aGUgcHJvdG90eXBlIGNoYWluLFxuXHRcdFx0JiYgT2JqZWN0LnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwodGFyZ2V0LCBrZXkpKSAvLyBhbmQgYWxzbyB1bnNhZmUgaWYgdGhleSdyZSBub25lbnVtZXJhYmxlLlxufVxuXG5mdW5jdGlvbiBtZXJnZU9iamVjdCh0YXJnZXQsIHNvdXJjZSwgb3B0aW9ucykge1xuXHR2YXIgZGVzdGluYXRpb24gPSB7fTtcblx0aWYgKG9wdGlvbnMuaXNNZXJnZWFibGVPYmplY3QodGFyZ2V0KSkge1xuXHRcdGdldEtleXModGFyZ2V0KS5mb3JFYWNoKGZ1bmN0aW9uKGtleSkge1xuXHRcdFx0ZGVzdGluYXRpb25ba2V5XSA9IGNsb25lVW5sZXNzT3RoZXJ3aXNlU3BlY2lmaWVkKHRhcmdldFtrZXldLCBvcHRpb25zKTtcblx0XHR9KTtcblx0fVxuXHRnZXRLZXlzKHNvdXJjZSkuZm9yRWFjaChmdW5jdGlvbihrZXkpIHtcblx0XHRpZiAocHJvcGVydHlJc1Vuc2FmZSh0YXJnZXQsIGtleSkpIHtcblx0XHRcdHJldHVyblxuXHRcdH1cblxuXHRcdGlmIChwcm9wZXJ0eUlzT25PYmplY3QodGFyZ2V0LCBrZXkpICYmIG9wdGlvbnMuaXNNZXJnZWFibGVPYmplY3Qoc291cmNlW2tleV0pKSB7XG5cdFx0XHRkZXN0aW5hdGlvbltrZXldID0gZ2V0TWVyZ2VGdW5jdGlvbihrZXksIG9wdGlvbnMpKHRhcmdldFtrZXldLCBzb3VyY2Vba2V5XSwgb3B0aW9ucyk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGRlc3RpbmF0aW9uW2tleV0gPSBjbG9uZVVubGVzc090aGVyd2lzZVNwZWNpZmllZChzb3VyY2Vba2V5XSwgb3B0aW9ucyk7XG5cdFx0fVxuXHR9KTtcblx0cmV0dXJuIGRlc3RpbmF0aW9uXG59XG5cbmZ1bmN0aW9uIGRlZXBtZXJnZSh0YXJnZXQsIHNvdXJjZSwgb3B0aW9ucykge1xuXHRvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcblx0b3B0aW9ucy5hcnJheU1lcmdlID0gb3B0aW9ucy5hcnJheU1lcmdlIHx8IGRlZmF1bHRBcnJheU1lcmdlO1xuXHRvcHRpb25zLmlzTWVyZ2VhYmxlT2JqZWN0ID0gb3B0aW9ucy5pc01lcmdlYWJsZU9iamVjdCB8fCBpc01lcmdlYWJsZU9iamVjdDtcblx0Ly8gY2xvbmVVbmxlc3NPdGhlcndpc2VTcGVjaWZpZWQgaXMgYWRkZWQgdG8gYG9wdGlvbnNgIHNvIHRoYXQgY3VzdG9tIGFycmF5TWVyZ2UoKVxuXHQvLyBpbXBsZW1lbnRhdGlvbnMgY2FuIHVzZSBpdC4gVGhlIGNhbGxlciBtYXkgbm90IHJlcGxhY2UgaXQuXG5cdG9wdGlvbnMuY2xvbmVVbmxlc3NPdGhlcndpc2VTcGVjaWZpZWQgPSBjbG9uZVVubGVzc090aGVyd2lzZVNwZWNpZmllZDtcblxuXHR2YXIgc291cmNlSXNBcnJheSA9IEFycmF5LmlzQXJyYXkoc291cmNlKTtcblx0dmFyIHRhcmdldElzQXJyYXkgPSBBcnJheS5pc0FycmF5KHRhcmdldCk7XG5cdHZhciBzb3VyY2VBbmRUYXJnZXRUeXBlc01hdGNoID0gc291cmNlSXNBcnJheSA9PT0gdGFyZ2V0SXNBcnJheTtcblxuXHRpZiAoIXNvdXJjZUFuZFRhcmdldFR5cGVzTWF0Y2gpIHtcblx0XHRyZXR1cm4gY2xvbmVVbmxlc3NPdGhlcndpc2VTcGVjaWZpZWQoc291cmNlLCBvcHRpb25zKVxuXHR9IGVsc2UgaWYgKHNvdXJjZUlzQXJyYXkpIHtcblx0XHRyZXR1cm4gb3B0aW9ucy5hcnJheU1lcmdlKHRhcmdldCwgc291cmNlLCBvcHRpb25zKVxuXHR9IGVsc2Uge1xuXHRcdHJldHVybiBtZXJnZU9iamVjdCh0YXJnZXQsIHNvdXJjZSwgb3B0aW9ucylcblx0fVxufVxuXG5kZWVwbWVyZ2UuYWxsID0gZnVuY3Rpb24gZGVlcG1lcmdlQWxsKGFycmF5LCBvcHRpb25zKSB7XG5cdGlmICghQXJyYXkuaXNBcnJheShhcnJheSkpIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoJ2ZpcnN0IGFyZ3VtZW50IHNob3VsZCBiZSBhbiBhcnJheScpXG5cdH1cblxuXHRyZXR1cm4gYXJyYXkucmVkdWNlKGZ1bmN0aW9uKHByZXYsIG5leHQpIHtcblx0XHRyZXR1cm4gZGVlcG1lcmdlKHByZXYsIG5leHQsIG9wdGlvbnMpXG5cdH0sIHt9KVxufTtcblxudmFyIGRlZXBtZXJnZV8xID0gZGVlcG1lcmdlO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGRlZXBtZXJnZV8xO1xuIiwiaW1wb3J0IG1lcmdlRGVlcCBmcm9tICdkZWVwbWVyZ2UnO1xuXG50eXBlIERlZXBQYXJ0aWFsPFQ+ID0ge1xuICBbUCBpbiBrZXlvZiBUXT86IERlZXBQYXJ0aWFsPFRbUF0+O1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBBY3R1YWxDcGZGb3JtYXR0aW5nT3B0aW9uczxPbkVyckZhbGxiYWNrPiB7XG4gIGRlbGltaXRlcnM6IHtcbiAgICBkYXNoOiBzdHJpbmc7XG4gICAgZG90OiBzdHJpbmc7XG4gIH07XG4gIGVzY2FwZTogYm9vbGVhbjtcbiAgaGlkZGVuOiBib29sZWFuO1xuICBoaWRkZW5LZXk6IHN0cmluZztcbiAgaGlkZGVuUmFuZ2U6IHtcbiAgICBlbmQ6IG51bWJlcjtcbiAgICBzdGFydDogbnVtYmVyO1xuICB9O1xuICBvbkZhaWw6ICh2YWx1ZTogc3RyaW5nLCBlcnJvcjogRXJyb3IpID0+IE9uRXJyRmFsbGJhY2s7XG59XG5cbmV4cG9ydCB0eXBlIENwZkZvcm1hdHRpbmdPcHRpb25zPE9uRXJyRmFsbGJhY2s+ID0gRGVlcFBhcnRpYWw8XG4gIEFjdHVhbENwZkZvcm1hdHRpbmdPcHRpb25zPE9uRXJyRmFsbGJhY2s+XG4+O1xuXG5jb25zdCBkZWZhdWx0T3B0aW9uczogQWN0dWFsQ3BmRm9ybWF0dGluZ09wdGlvbnM8c3RyaW5nPiA9IHtcbiAgZGVsaW1pdGVyczoge1xuICAgIGRvdDogJy4nLFxuICAgIGRhc2g6ICctJyxcbiAgfSxcbiAgaGlkZGVuUmFuZ2U6IHtcbiAgICBzdGFydDogMyxcbiAgICBlbmQ6IDEwLFxuICB9LFxuICBvbkZhaWw6ICh2YWx1ZSkgPT4gdmFsdWUsXG4gIGhpZGRlbktleTogJyonLFxuICBoaWRkZW46IGZhbHNlLFxuICBlc2NhcGU6IGZhbHNlLFxufTtcblxuLyoqXG4gKiBNZXJnZSBjdXN0b20gb3B0aW9ucyB0byB0aGUgZGVmYXVsdCBvbmVzLlxuICovXG5mdW5jdGlvbiBtZXJnZU9wdGlvbnM8T25FcnJGYWxsYmFjaz4oXG4gIGN1c3RvbU9wdGlvbnM6IENwZkZvcm1hdHRpbmdPcHRpb25zPE9uRXJyRmFsbGJhY2s+ID0ge30sXG4pOiBBY3R1YWxDcGZGb3JtYXR0aW5nT3B0aW9uczxPbkVyckZhbGxiYWNrPiB7XG4gIGNvbnN0IG9wdGlvbnMgPSBtZXJnZURlZXAoXG4gICAgZGVmYXVsdE9wdGlvbnMsXG4gICAgY3VzdG9tT3B0aW9ucyxcbiAgKSBhcyBBY3R1YWxDcGZGb3JtYXR0aW5nT3B0aW9uczxPbkVyckZhbGxiYWNrPjtcblxuICBpZiAob3B0aW9ucy5oaWRkZW4pIHtcbiAgICBpZiAoXG4gICAgICBpc05hTihvcHRpb25zLmhpZGRlblJhbmdlLnN0YXJ0KSB8fFxuICAgICAgb3B0aW9ucy5oaWRkZW5SYW5nZS5zdGFydCA8IDAgfHxcbiAgICAgIG9wdGlvbnMuaGlkZGVuUmFuZ2Uuc3RhcnQgPiAxMFxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignT3B0aW9uIFwiaGlkZGVuUmFuZ2Uuc3RhcnRcIiBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMTAuJyk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgaXNOYU4ob3B0aW9ucy5oaWRkZW5SYW5nZS5lbmQpIHx8XG4gICAgICBvcHRpb25zLmhpZGRlblJhbmdlLmVuZCA8IDAgfHxcbiAgICAgIG9wdGlvbnMuaGlkZGVuUmFuZ2UuZW5kID4gMTBcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ09wdGlvbiBcImhpZGRlblJhbmdlLmVuZFwiIG11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxMC4nKTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5oaWRkZW5SYW5nZS5zdGFydCA+IG9wdGlvbnMuaGlkZGVuUmFuZ2UuZW5kKSB7XG4gICAgICBjb25zdCBhdXggPSBvcHRpb25zLmhpZGRlblJhbmdlLnN0YXJ0O1xuICAgICAgb3B0aW9ucy5oaWRkZW5SYW5nZS5zdGFydCA9IG9wdGlvbnMuaGlkZGVuUmFuZ2UuZW5kO1xuICAgICAgb3B0aW9ucy5oaWRkZW5SYW5nZS5lbmQgPSBhdXg7XG4gICAgfVxuICB9XG5cbiAgaWYgKHR5cGVvZiBvcHRpb25zLm9uRmFpbCAhPT0gJ2Z1bmN0aW9uJykge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSBvcHRpb24gXCJvbkZhaWxcIiBtdXN0IGJlIGEgY2FsbGJhY2sgZnVuY3Rpb24uJyk7XG4gIH1cblxuICByZXR1cm4gb3B0aW9ucztcbn1cblxuZXhwb3J0IGRlZmF1bHQgbWVyZ2VPcHRpb25zO1xuIiwiaW1wb3J0IHsgZXNjYXBlIGFzIGVzY2FwZUhUTUwgfSBmcm9tICdodG1sLWVzY2FwZXInO1xuaW1wb3J0IG51bU9ubHkgZnJvbSAnbnVtLW9ubHknO1xuXG5pbXBvcnQgbWVyZ2VPcHRpb25zIGZyb20gJy4vbWVyZ2Utb3B0aW9ucyc7XG5pbXBvcnQgdHlwZSB7IENwZkZvcm1hdHRpbmdPcHRpb25zIH0gZnJvbSAnLi9tZXJnZS1vcHRpb25zJztcblxuLyoqXG4gKiBGb3JtYXQgYSBnaXZlbiBDUEYgY2hhciBzZXF1ZW5jZS5cbiAqL1xuZnVuY3Rpb24gY3BmRm10PE9uRXJyRmFsbGJhY2sgPSBzdHJpbmc+KFxuICBjcGZTdHJpbmc6IHN0cmluZyxcbiAgb3B0aW9ucz86IENwZkZvcm1hdHRpbmdPcHRpb25zPE9uRXJyRmFsbGJhY2s+LFxuKTogc3RyaW5nIHtcbiAgY29uc3QgQ1BGX0xFTkdUSCA9IDExO1xuICBjb25zdCBjcGZBcnJheSA9IG51bU9ubHkoY3BmU3RyaW5nKS5zcGxpdCgnJyk7XG4gIGNvbnN0IGN1c3RvbU9wdGlvbnMgPSBtZXJnZU9wdGlvbnMob3B0aW9ucyk7XG5cbiAgaWYgKGNwZkFycmF5Lmxlbmd0aCAhPT0gQ1BGX0xFTkdUSCkge1xuICAgIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKGBQYXJhbWV0ZXIgXCIke2NwZlN0cmluZ31cIiBkb2VzIG5vdCBjb250YWluICR7Q1BGX0xFTkdUSH0gZGlnaXRzLmApO1xuXG4gICAgcmV0dXJuIGN1c3RvbU9wdGlvbnMub25GYWlsKGNwZlN0cmluZywgZXJyb3IpIGFzIHN0cmluZztcbiAgfVxuXG4gIGlmIChjdXN0b21PcHRpb25zLmhpZGRlbikge1xuICAgIGZvciAobGV0IGkgPSBjdXN0b21PcHRpb25zLmhpZGRlblJhbmdlLnN0YXJ0OyBpIDw9IGN1c3RvbU9wdGlvbnMuaGlkZGVuUmFuZ2UuZW5kOyBpKyspIHtcbiAgICAgIGNwZkFycmF5W2ldID0gY3VzdG9tT3B0aW9ucy5oaWRkZW5LZXk7XG4gICAgfVxuICB9XG5cbiAgY3BmQXJyYXkuc3BsaWNlKDksIDAsIGN1c3RvbU9wdGlvbnMuZGVsaW1pdGVycy5kYXNoKTtcbiAgY3BmQXJyYXkuc3BsaWNlKDYsIDAsIGN1c3RvbU9wdGlvbnMuZGVsaW1pdGVycy5kb3QpO1xuICBjcGZBcnJheS5zcGxpY2UoMywgMCwgY3VzdG9tT3B0aW9ucy5kZWxpbWl0ZXJzLmRvdCk7XG4gIGNvbnN0IGNwZlByZXR0eSA9IGNwZkFycmF5LmpvaW4oJycpO1xuXG4gIGlmIChjdXN0b21PcHRpb25zLmVzY2FwZSkge1xuICAgIHJldHVybiBlc2NhcGVIVE1MKGNwZlByZXR0eSk7XG4gIH1cblxuICByZXR1cm4gY3BmUHJldHR5O1xufVxuXG5leHBvcnQgZGVmYXVsdCBjcGZGbXQ7XG4iXSwibmFtZXMiOlsicmVwbGFjZSIsImNhIiwiZXNjYSIsInBlIiwibSIsImJ1aWxkIiwidGFyZ2V0IiwiU3RyaW5nIiwiaXNNZXJnZWFibGVPYmplY3QiLCJ2YWx1ZSIsImlzTm9uTnVsbE9iamVjdCIsInN0cmluZ1ZhbHVlIiwiT2JqZWN0IiwicHJvdG90eXBlIiwidG9TdHJpbmciLCJjYWxsIiwiJCR0eXBlb2YiLCJSRUFDVF9FTEVNRU5UX1RZUEUiLCJpc1JlYWN0RWxlbWVudCIsImlzU3BlY2lhbCIsIlN5bWJvbCIsImZvciIsImNsb25lVW5sZXNzT3RoZXJ3aXNlU3BlY2lmaWVkIiwib3B0aW9ucyIsImNsb25lIiwiZGVlcG1lcmdlIiwidmFsIiwiQXJyYXkiLCJpc0FycmF5IiwiZGVmYXVsdEFycmF5TWVyZ2UiLCJzb3VyY2UiLCJjb25jYXQiLCJtYXAiLCJlbGVtZW50IiwiZ2V0S2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJzeW1ib2wiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImdldEVudW1lcmFibGVPd25Qcm9wZXJ0eVN5bWJvbHMiLCJwcm9wZXJ0eUlzT25PYmplY3QiLCJvYmplY3QiLCJwcm9wZXJ0eSIsIl8iLCJtZXJnZU9iamVjdCIsImRlc3RpbmF0aW9uIiwiZm9yRWFjaCIsImtleSIsImhhc093blByb3BlcnR5IiwicHJvcGVydHlJc1Vuc2FmZSIsImN1c3RvbU1lcmdlIiwiZ2V0TWVyZ2VGdW5jdGlvbiIsImFycmF5TWVyZ2UiLCJzb3VyY2VJc0FycmF5IiwiYWxsIiwiYXJyYXkiLCJFcnJvciIsInJlZHVjZSIsInByZXYiLCJuZXh0IiwiY2pzIiwiZGVmYXVsdE9wdGlvbnMiLCJkZWxpbWl0ZXJzIiwiZG90IiwiZGFzaCIsImhpZGRlblJhbmdlIiwic3RhcnQiLCJlbmQiLCJvbkZhaWwiLCJoaWRkZW5LZXkiLCJoaWRkZW4iLCJlc2NhcGUiLCJjcGZTdHJpbmciLCJjcGZBcnJheSIsIm51bU9ubHkiLCJzcGxpdCIsImN1c3RvbU9wdGlvbnMiLCJtZXJnZURlZXAiLCJpc05hTiIsIlR5cGVFcnJvciIsImF1eCIsIm1lcmdlT3B0aW9ucyIsImxlbmd0aCIsImVycm9yIiwiaSIsInNwbGljZSIsImVzIiwiY3BmUHJldHR5Iiwiam9pbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O3VPQXNCQSxNQUFNQSxRQUFDQSxHQUFXLEdBSVpDLEVBQUssV0FFTEMsRUFBTyxDQUNYLElBQUssUUFDTCxJQUFLLE9BQ0wsSUFBSyxPQUNMLElBQUssUUFDTCxJQUFLLFVBRURDLEVBQUtDLEdBQUtGLEVBQUtFLG9JQzdCckJDLEVBSkEsU0FBaUJDLEdBQ2YsT0FBT0MsT0FBT0QsR0FBUU4sUUFBUSxNQUFPLEdBQ3ZDLHlDQ0ZBLElBQUlRLEVBQW9CLFNBQTJCQyxHQUNsRCxPQUlELFNBQXlCQSxHQUN4QixRQUFTQSxHQUEwQixpQkFBVkEsQ0FDMUIsQ0FOUUMsQ0FBZ0JELEtBUXhCLFNBQW1CQSxHQUNsQixJQUFJRSxFQUFjQyxPQUFPQyxVQUFVQyxTQUFTQyxLQUFLTixHQUVqRCxNQUF1QixvQkFBaEJFLEdBQ2Esa0JBQWhCQSxHQVFMLFNBQXdCRixHQUN2QixPQUFPQSxFQUFNTyxXQUFhQyxDQUMzQixDQVRLQyxDQUFlVCxFQUNwQixDQWJNVSxDQUFVVixFQUNoQixFQWdCSVEsRUFEaUMsbUJBQVhHLFFBQXlCQSxPQUFPQyxJQUNsQkQsT0FBT0MsSUFBSSxpQkFBbUIsTUFVdEUsU0FBU0MsRUFBOEJiLEVBQU9jLEdBQzdDLE9BQTBCLElBQWxCQSxFQUFRQyxPQUFtQkQsRUFBUWYsa0JBQWtCQyxHQUMxRGdCLEdBTmlCQyxFQU1LakIsRUFMbEJrQixNQUFNQyxRQUFRRixHQUFPLEdBQUssQ0FBQSxHQUtBakIsRUFBT2MsR0FDckNkLEVBUEosSUFBcUJpQixDQVFyQixDQUVBLFNBQVNHLEVBQWtCdkIsRUFBUXdCLEVBQVFQLEdBQzFDLE9BQU9q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 |
+11
-11
| { | ||
| "name": "@lacussoft/cpf-fmt", | ||
| "version": "1.4.1", | ||
| "version": "1.4.2", | ||
| "description": "Utility function to format CPF (Brazilian ID document).", | ||
@@ -26,8 +26,8 @@ "license": "MIT", | ||
| "type": "git", | ||
| "url": "git+https://github.com/juliolmuller/cpf-utils-js.git" | ||
| "url": "git+https://github.com/juliolmuller/br-utils-js.git" | ||
| }, | ||
| "bugs": { | ||
| "url": "https://github.com/juliolmuller/cpf-utils-js/issues" | ||
| "url": "https://github.com/juliolmuller/br-utils-js/issues" | ||
| }, | ||
| "homepage": "https://github.com/juliolmuller/cpf-utils-js/main/packages/cpf-fmt#readme", | ||
| "homepage": "https://cpf-utils.vercel.app/", | ||
| "main": "build/index.cjs", | ||
@@ -59,17 +59,17 @@ "types": "build/index.d.ts", | ||
| "devDependencies": { | ||
| "@babel/preset-env": "^7.26.9", | ||
| "@babel/preset-env": "^7.28.3", | ||
| "@rollup/plugin-babel": "^6.0.4", | ||
| "@rollup/plugin-commonjs": "^28.0.3", | ||
| "@rollup/plugin-commonjs": "^28.0.6", | ||
| "@rollup/plugin-node-resolve": "^16.0.1", | ||
| "@rollup/plugin-terser": "~0.4.4", | ||
| "@rollup/plugin-typescript": "^12.1.2", | ||
| "@rollup/plugin-typescript": "^12.1.4", | ||
| "@types/deepmerge": "^2.2.3", | ||
| "@types/html-escaper": "^3.0.4", | ||
| "@types/node": "^22.14.0", | ||
| "rollup": "^4.39.0", | ||
| "@types/node": "^22.17.2", | ||
| "rollup": "^4.47.1", | ||
| "rollup-plugin-delete": "^3.0.1", | ||
| "rollup-plugin-dts": "^6.2.1", | ||
| "rollup-plugin-dts": "^6.2.3", | ||
| "rollup-plugin-esbuild": "^6.2.1", | ||
| "typescript": "^5.8.3" | ||
| "typescript": "^5.9.2" | ||
| } | ||
| } |
+3
-3
@@ -6,5 +6,5 @@ # LacusSoft :: cpf-fmt | ||
|  | ||
|  | ||
|  | ||
|  | ||
|  | ||
|  | ||
|  | ||
@@ -11,0 +11,0 @@ Utility function to format CPF (Brazilian ID document). |
No website
QualityPackage does not have a website.
Found 1 instance in 1 package
87354
0.51%661
0.46%1
-50%