@fluentui/react-proptypes
Advanced tools
Comparing version 0.52.1-beta.4 to 0.52.1-beta.5
@@ -483,2 +483,2 @@ "use strict"; | ||
exports.ref = ref; | ||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbInR5cGVPZiIsIngiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJ0b1N0cmluZyIsImNhbGwiLCJkb21Ob2RlIiwicHJvcHMiLCJwcm9wTmFtZSIsInVuZGVmaW5lZCIsIkVsZW1lbnQiLCJFcnJvciIsInN1Z2dlc3QiLCJzdWdnZXN0aW9ucyIsIkFycmF5IiwiaXNBcnJheSIsImZpbmRCZXN0U3VnZ2VzdGlvbnMiLCJzdHIiLCJwcm9wVmFsdWVXb3JkcyIsInNwbGl0Iiwic3VnZ2VzdGlvbiIsInN1Z2dlc3Rpb25Xb3JkcyIsInByb3BWYWx1ZVNjb3JlIiwieSIsInN1Z2dlc3Rpb25TY29yZSIsInNjb3JlIiwic3VnZ2VzdGlvbnNMb29rdXAiLCJyZWR1Y2UiLCJhY2MiLCJrZXkiLCJzb3J0Iiwiam9pbiIsImNvbXBvbmVudE5hbWUiLCJwcm9wVmFsdWUiLCJwcm9wVmFsdWVTb3J0ZWQiLCJiZXN0TWF0Y2hlcyIsInNvbWUiLCJtYXAiLCJuZXZlciIsImRpc2FsbG93IiwiZGlzYWxsb3dlZFByb3BzIiwiZGlzYWxsb3dlZCIsImRpc2FsbG93ZWRQcm9wIiwibGVuZ3RoIiwiZXZlcnkiLCJ2YWxpZGF0b3JzIiwiYXJncyIsInZhbGlkYXRvciIsImVycm9ycyIsImVycm9yIiwibWVzc2FnZSIsImVyciIsImdpdmVuUHJvcHMiLCJwcm9wc1NoYXBlIiwic2hvdWxkVmFsaWRhdGUiLCJ2YWwiLCJwcmV0dHlQcm9wcyIsInJlbmRlcmVkVmFsdWUiLCJkZW1hbmQiLCJyZXF1aXJlZFByb3BzIiwibWlzc2luZ1JlcXVpcmVkIiwiZmlsdGVyIiwicmVxdWlyZWRQcm9wIiwibXVsdGlwbGVQcm9wIiwicG9zc2libGUiLCJ2YWx1ZXMiLCJyZXBsYWNlIiwiaW52YWxpZCIsIm5vZGVDb250ZW50IiwiUHJvcFR5cGVzIiwibm9kZSIsIndyYXBwZXJTaG9ydGhhbmQiLCJvbmVPZlR5cGUiLCJvYmplY3QiLCJhcnJheU9mIiwic2hvcnRoYW5kQWxsb3dpbmdDaGlsZHJlbiIsImZ1bmMiLCJzaG9ydGhhbmRPYmplY3RBbGxvd2luZ0NoaWxkcmVuIiwib2JqZWN0SXRlbVNob3J0aGFuZCIsIml0ZW1TaG9ydGhhbmQiLCJpdGVtU2hvcnRoYW5kV2l0aEtpbmRQcm9wIiwia2luZFByb3BWYWx1ZXMiLCJzaGFwZSIsImtpbmQiLCJvbmVPZiIsIml0ZW1TaG9ydGhhbmRXaXRob3V0SlNYIiwibnVtYmVyIiwic3RyaW5nIiwiY29sbGVjdGlvbk9iamVjdFNob3J0aGFuZCIsImNvbGxlY3Rpb25TaG9ydGhhbmQiLCJjb2xsZWN0aW9uU2hvcnRoYW5kV2l0aEtpbmRQcm9wIiwiZGVwcmVjYXRlIiwiaGVscCIsInZhbGlkYXRpb25FcnJvciIsImFjY2Vzc2liaWxpdHkiLCJzaXplIiwiYWxpZ24iLCJhbmltYXRpb24iLCJuYW1lIiwiaXNSZXF1aXJlZCIsImRlbGF5IiwiZGlyZWN0aW9uIiwiZHVyYXRpb24iLCJmaWxsTW9kZSIsIml0ZXJhdGlvbkNvdW50IiwicGxheVN0YXRlIiwidGltaW5nRnVuY3Rpb24iLCJkZXNpZ24iLCJwb3NpdGlvbiIsImRpc3BsYXkiLCJ0b3AiLCJyaWdodCIsImJvdHRvbSIsImxlZnQiLCJwYWRkaW5nIiwicGFkZGluZ1RvcCIsInBhZGRpbmdSaWdodCIsInBhZGRpbmdCb3R0b20iLCJwYWRkaW5nTGVmdCIsIm1hcmdpbiIsIm1hcmdpblRvcCIsIm1hcmdpblJpZ2h0IiwibWFyZ2luQm90dG9tIiwibWFyZ2luTGVmdCIsIndpZHRoIiwiaGVpZ2h0IiwibWluV2lkdGgiLCJtYXhXaWR0aCIsIm1pbkhlaWdodCIsIm1heEhlaWdodCIsInJlZiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQTs7QUFFQTs7QUFJQSxJQUFNQSxNQUFNLEdBQUcsU0FBVEEsTUFBUyxDQUFDQyxDQUFEO0FBQUEsU0FBWUMsTUFBTSxDQUFDQyxTQUFQLENBQWlCQyxRQUFqQixDQUEwQkMsSUFB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QUFBQSxTQUFTLEVBQUU1RCxTQUFTLENBQUNrQjtBQTFCZSxDQUFoQixDQUFmO0FBNkJQOzs7QUFDTyxJQUFNMkMsR0FBRyxHQUFHN0QsU0FBUyxDQUFDRyxTQUFWLENBQW9CLENBQUNILFNBQVMsQ0FBQ08sSUFBWCxFQUFpQlAsU0FBUyxDQUFDSSxNQUEzQixDQUFwQixDQUFaIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0ICogYXMgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5pbXBvcnQgbGV2ZW4gZnJvbSAnLi9sZXZlbic7XG5cbnR5cGUgT2JqZWN0T2Y8VD4gPSBSZWNvcmQ8c3RyaW5nLCBUPjtcblxuY29uc3QgdHlwZU9mID0gKHg6IGFueSkgPT4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHgpO1xuXG4vKipcbiAqIEVuc3VyZSBhIHByb3AgaXMgYSB2YWxpZCBET00gbm9kZS5cbiAqL1xuZXhwb3J0IGNvbnN0IGRvbU5vZGUgPSAocHJvcHM6IE9iamVjdE9mPGFueT4sIHByb3BOYW1lOiBzdHJpbmcpID0+IHtcbiAgLy8gc2tpcCBpZiBwcm9wIGlzIHVuZGVmaW5lZFxuICBpZiAocHJvcHNbcHJvcE5hbWVdID09PSB1bmRlZmluZWQpIHJldHVybiB1bmRlZmluZWQ7XG4gIC8vIHNraXAgaWYgcHJvcCBpcyBudWxsXG4gIGlmIChwcm9wc1twcm9wTmFtZV0gPT09IG51bGwpIHJldHVybiBudWxsO1xuICAvLyBza2lwIGlmIHByb3AgaXMgdmFsaWRcbiAgaWYgKHByb3BzW3Byb3BOYW1lXSBpbnN0YW5jZW9mIEVsZW1lbnQpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgcmV0dXJuIG5ldyBFcnJvcihgSW52YWxpZCBwcm9wIFwiJHtwcm9wTmFtZX1cIiBzdXBwbGllZCwgZXhwZWN0ZWQgYSBET00gbm9kZS5gKTtcbn07XG5cbi8qKlxuICogU2ltaWxhciB0byBQcm9wVHlwZXMub25lT2YgYnV0IHNob3dzIGNsb3Nlc3QgbWF0Y2hlcy5cbiAqIFdvcmQgb3JkZXIgaXMgaWdub3JlZCBhbGxvd2luZyBgbGVmdCBjaGV2cm9uYCB0byBtYXRjaCBgY2hldnJvbiBsZWZ0YC5cbiAqIFVzZWZ1bCBmb3IgdmVyeSBsYXJnZSBsaXN0cyBvZiBvcHRpb25zIChlLmcuIEljb24gbmFtZSwgRmxhZyBuYW1lLCBldGMuKVxuICogQHBhcmFtIHN1Z2dlc3Rpb25zIC0gQW4gYXJyYXkgb2YgYWxsb3dlZCB2YWx1ZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBzdWdnZXN0ID0gKHN1Z2dlc3Rpb25zOiBzdHJpbmdbXSkgPT4ge1xuICBpZiAoIUFycmF5LmlzQXJyYXkoc3VnZ2VzdGlvbnMpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGFyZ3VtZW50IHN1cHBsaWVkIHRvIHN1Z2dlc3QsIGV4cGVjdGVkIGFuIGluc3RhbmNlIG9mIGFycmF5LicpO1xuICB9XG5cbiAgY29uc3QgZmluZEJlc3RTdWdnZXN0aW9ucyA9IF8ubWVtb2l6ZSgoc3RyOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBwcm9wVmFsdWVXb3JkcyA9IHN0ci5zcGxpdCgnICcpO1xuXG4gICAgcmV0dXJuIF8udGFrZShcbiAgICAgIF8uc29ydEJ5KFxuICAgICAgICBfLm1hcChzdWdnZXN0aW9ucywgKHN1Z2dlc3Rpb246IHN0cmluZykgPT4ge1xuICAgICAgICAgIGNvbnN0IHN1Z2dlc3Rpb25Xb3JkcyA9IHN1Z2dlc3Rpb24uc3BsaXQoJyAnKTtcblxuICAgICAgICAgIGNvbnN0IHByb3BWYWx1ZVNjb3JlID0gXy5zdW0oXG4gICAgICAgICAgICBfLm1hcChcbiAgICAgICAgICAgICAgXy5tYXAocHJvcFZhbHVlV29yZHMsIHggPT4gXy5tYXAoc3VnZ2VzdGlvbldvcmRzLCB5ID0+IGxldmVuKHgsIHkpKSksXG4gICAgICAgICAgICAgIF8ubWluLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgY29uc3Qgc3VnZ2VzdGlvblNjb3JlID0gXy5zdW0oXG4gICAgICAgICAgICBfLm1hcChcbiAgICAgICAgICAgICAgXy5tYXAoc3VnZ2VzdGlvbldvcmRzLCB4ID0+IF8ubWFwKHByb3BWYWx1ZVdvcmRzLCB5ID0+IGxldmVuKHgsIHkpKSksXG4gICAgICAgICAgICAgIF8ubWluLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgcmV0dXJuIHsgc3VnZ2VzdGlvbiwgc2NvcmU6IHByb3BWYWx1ZVNjb3JlICsgc3VnZ2VzdGlvblNjb3JlIH07XG4gICAgICAgIH0pLFxuICAgICAgICBbJ3Njb3JlJywgJ3N1Z2dlc3Rpb24nXSxcbiAgICAgICksXG4gICAgICAzLFxuICAgICk7XG4gIH0pO1xuXG4gIC8vIENvbnZlcnQgdGhlIHN1Z2dlc3Rpb25zIGxpc3QgaW50byBhIGhhc2ggbWFwIGZvciBPKG4pIGxvb2t1cCB0aW1lcy4gRW5zdXJlXG4gIC8vIHRoZSB3b3JkcyBpbiBlYWNoIGtleSBhcmUgc29ydGVkIGFscGhhYmV0aWNhbGx5IHNvIHRoYXQgd2UgaGF2ZSBhIGNvbnNpc3RlbnRcbiAgLy8gd2F5IG9mIGxvb2tpbmcgdXAgYSB2YWx1ZSBpbiB0aGUgbWFwLCBpLmUuIHdlIGNhbiBzb3J0IHRoZSB3b3JkcyBpbiB0aGVcbiAgLy8gaW5jb21pbmcgcHJvcFZhbHVlIGFuZCBsb29rIHRoYXQgdXAgd2l0aG91dCBoYXZpbmcgdG8gY2hlY2sgYWxsIHBlcm11dGF0aW9ucy5cbiAgY29uc3Qgc3VnZ2VzdGlvbnNMb29rdXA6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+ID0gc3VnZ2VzdGlvbnMucmVkdWNlKChhY2M6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+LCBrZXk6IHN0cmluZykgPT4ge1xuICAgIGFjY1tcbiAgICAgIGtleVxuICAgICAgICAuc3BsaXQoJyAnKVxuICAgICAgICAuc29ydCgpXG4gICAgICAgIC5qb2luKCcgJylcbiAgICBdID0gdHJ1ZTtcbiAgICByZXR1cm4gYWNjO1xuICB9LCB7fSk7XG5cbiAgcmV0dXJuIChwcm9wczogT2JqZWN0T2Y8YW55PiwgcHJvcE5hbWU6IHN0cmluZywgY29tcG9uZW50TmFtZTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgcHJvcFZhbHVlID0gcHJvcHNbcHJvcE5hbWVdO1xuXG4gICAgLy8gc2tpcCBpZiBwcm9wIGlzIHVuZGVmaW5lZCBvciBpcyBpbmNsdWRlZCBpbiB0aGUgc3VnZ2VzdGlvbnNcbiAgICBpZiAoIXByb3BWYWx1ZSB8fCBzdWdnZXN0aW9uc0xvb2t1cFtwcm9wVmFsdWVdKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgLy8gY2hlY2sgaWYgdGhlIHdvcmRzIHdlcmUgY29ycmVjdCBidXQgb3JkZXJlZCBkaWZmZXJlbnRseS5cbiAgICAvLyBTaW5jZSB3ZSdyZSBtYXRjaGluZyBmb3IgY2xhc3NOYW1lcyB3ZSBuZWVkIHRvIGFsbG93IGFueSB3b3JkIG9yZGVyXG4gICAgLy8gdG8gcGFzcyB2YWxpZGF0aW9uLCBlLmcuIGBsZWZ0IGNoZXZyb25gIHZzIGBjaGV2cm9uIGxlZnRgLlxuICAgIGNvbnN0IHByb3BWYWx1ZVNvcnRlZCA9IHByb3BWYWx1ZVxuICAgICAgLnNwbGl0KCcgJylcbiAgICAgIC5zb3J0KClcbiAgICAgIC5qb2luKCcgJyk7XG4gICAgaWYgKHN1Z2dlc3Rpb25zTG9va3VwW3Byb3BWYWx1ZVNvcnRlZF0pIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICAvLyBmaW5kIGJlc3Qgc3VnZ2VzdGlvbnNcbiAgICBjb25zdCBiZXN0TWF0Y2hlcyA9IGZpbmRCZXN0U3VnZ2VzdGlvbnMocHJvcFZhbHVlKTtcblxuICAgIC8vIHNraXAgaWYgYSBtYXRjaCBzY29yZWQgMFxuICAgIGlmIChiZXN0TWF0Y2hlcy5zb21lKHggPT4geC5zY29yZSA9PT0gMCkpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICByZXR1cm4gbmV3IEVycm9yKFxuICAgICAgW1xuICAgICAgICBgSW52YWxpZCBwcm9wIFxcYCR7cHJvcE5hbWV9XFxgIG9mIHZhbHVlIFxcYCR7cHJvcFZhbHVlfVxcYCBzdXBwbGllZCB0byBcXGAke2NvbXBvbmVudE5hbWV9XFxgLmAsXG4gICAgICAgIGBcXG5cXG5JbnN0ZWFkIG9mIFxcYCR7cHJvcFZhbHVlfVxcYCwgZGlkIHlvdSBtZWFuOmAsXG4gICAgICAgIGJlc3RNYXRjaGVzLm1hcCh4ID0+IGBcXG4gIC0gJHt4LnN1Z2dlc3Rpb259YCkuam9pbignJyksXG4gICAgICAgICdcXG4nLFxuICAgICAgXS5qb2luKCcnKSxcbiAgICApO1xuICB9O1xufTtcblxuLyoqXG4gKiBUaGUgcHJvcCBjYW5ub3QgYmUgdXNlZC5cbiAqIFNpbWlsYXIgdG8gYGRlcHJlY2F0ZWAgYnV0IHdpdGggZGlmZmVyZW50IGVycm9yIG1lc3NhZ2UuXG4gKi9cbmV4cG9ydCBjb25zdCBuZXZlciA9IChwcm9wczogT2JqZWN0T2Y8YW55PiwgcHJvcE5hbWU6IHN0cmluZywgY29tcG9uZW50TmFtZTogc3RyaW5nKSA9PiB7XG4gIGlmIChfLmlzTmlsKHByb3BzW3Byb3BOYW1lXSkgfHwgcHJvcHNbcHJvcE5hbWVdID09PSBmYWxzZSkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICByZXR1cm4gbmV3IEVycm9yKGBQcm9wIFxcYCR7cHJvcE5hbWV9XFxgIGluIFxcYCR7Y29tcG9uZW50TmFtZX1cXGAgY2Fubm90IGJlIHVzZWQuYCk7XG59O1xuXG4vKipcbiAqIERpc2FsbG93IG90aGVyIHByb3BzIGZyb20gYmVpbmcgZGVmaW5lZCB3aXRoIHRoaXMgcHJvcC5cbiAqIEBwYXJhbSBkaXNhbGxvd2VkUHJvcHMgLSBBbiBhcnJheSBvZiBwcm9wcyB0aGF0IGNhbm5vdCBiZSB1c2VkIHdpdGggdGhpcyBwcm9wLlxuICovXG5leHBvcnQgY29uc3QgZGlzYWxsb3cgPSAoZGlzYWxsb3dlZFByb3BzOiBzdHJpbmdbXSkgPT4gKFxuICBwcm9wczogT2JqZWN0T2Y8YW55PixcbiAgcHJvcE5hbWU6IHN0cmluZyxcbiAgY29tcG9uZW50TmFtZTogc3RyaW5nLFxuKSA9PiB7XG4gIGlmICghQXJyYXkuaXNBcnJheShkaXNhbGxvd2VkUHJvcHMpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgW1xuICAgICAgICAnSW52YWxpZCBhcmd1bWVudCBzdXBwbGllZCB0byBkaXNhbGxvdywgZXhwZWN0ZWQgYW4gaW5zdGFuY2Ugb2YgYXJyYXkuJyxcbiAgICAgICAgYCBTZWUgXFxgJHtwcm9wTmFtZX1cXGAgcHJvcCBpbiBcXGAke2NvbXBvbmVudE5hbWV9XFxgLmAsXG4gICAgICBdLmpvaW4oJycpLFxuICAgICk7XG4gIH1cblxuICAvLyBza2lwIGlmIHByb3AgaXMgdW5kZWZpbmVkXG4gIGlmIChfLmlzTmlsKHByb3BzW3Byb3BOYW1lXSkgfHwgcHJvcHNbcHJvcE5hbWVdID09PSBmYWxzZSkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAvLyBmaW5kIGRpc2FsbG93ZWQgcHJvcHMgd2l0aCB2YWx1ZXNcbiAgY29uc3QgZGlzYWxsb3dlZCA9IGRpc2FsbG93ZWRQcm9wcy5yZWR1Y2UoKGFjYywgZGlzYWxsb3dlZFByb3ApID0+IHtcbiAgICBpZiAoIV8uaXNOaWwocHJvcHNbZGlzYWxsb3dlZFByb3BdKSAmJiBwcm9wc1tkaXNhbGxvd2VkUHJvcF0gIT09IGZhbHNlKSB7XG4gICAgICByZXR1cm4gWy4uLmFjYywgZGlzYWxsb3dlZFByb3BdO1xuICAgIH1cbiAgICByZXR1cm4gYWNjO1xuICB9LCBbXSk7XG5cbiAgaWYgKGRpc2FsbG93ZWQubGVuZ3RoID4gMCkge1xuICAgIHJldHVybiBuZXcgRXJyb3IoXG4gICAgICBbXG4gICAgICAgIGBQcm9wIFxcYCR7cHJvcE5hbWV9XFxgIGluIFxcYCR7Y29tcG9uZW50TmFtZX1cXGAgY29uZmxpY3RzIHdpdGggcHJvcHM6IFxcYCR7ZGlzYWxsb3dlZC5qb2luKCdgLCBgJyl9XFxgLmAsXG4gICAgICAgICdUaGV5IGNhbm5vdCBiZSBkZWZpbmVkIHRvZ2V0aGVyLCBjaG9vc2Ugb25lIG9yIHRoZSBvdGhlci4nLFxuICAgICAgXS5qb2luKCcgJyksXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59O1xuXG4vKipcbiAqIEVuc3VyZSBhIHByb3AgYWRoZXJlcnMgdG8gbXVsdGlwbGUgcHJvcCB0eXBlIHZhbGlkYXRvcnMuXG4gKiBAcGFyYW0gdmFsaWRhdG9ycyAtIEFuIGFycmF5IG9mIHByb3BUeXBlIGZ1bmN0aW9ucy5cbiAqL1xuZXhwb3J0IGNvbnN0IGV2ZXJ5ID0gKHZhbGlkYXRvcnM6IEZ1bmN0aW9uW10pID0+IChcbiAgcHJvcHM6IE9iamVjdE9mPGFueT4sXG4gIHByb3BOYW1lOiBzdHJpbmcsXG4gIGNvbXBvbmVudE5hbWU6IHN0cmluZyxcbiAgLi4uYXJnczogYW55W11cbikgPT4ge1xuICBpZiAoIUFycmF5LmlzQXJyYXkodmFsaWRhdG9ycykpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBbXG4gICAgICAgICdJbnZhbGlkIGFyZ3VtZW50IHN1cHBsaWVkIHRvIGV2ZXJ5LCBleHBlY3RlZCBhbiBpbnN0YW5jZSBvZiBhcnJheS4nLFxuICAgICAgICBgU2VlIFxcYCR7cHJvcE5hbWV9XFxgIHByb3AgaW4gXFxgJHtjb21wb25lbnROYW1lfVxcYC5gLFxuICAgICAgXS5qb2luKCcgJyksXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBfLmZpcnN0KFxuICAgIF8uY29tcGFjdChcbiAgICAgIF8ubWFwKHZhbGlkYXRvcnMsIHZhbGlkYXRvciA9PiB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsaWRhdG9yICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBldmVyeSgpIGFyZ3VtZW50IFwidmFsaWRhdG9yc1wiIHNob3VsZCBjb250YWluIGZ1bmN0aW9ucywgZm91bmQ6ICR7dHlwZU9mKHZhbGlkYXRvcil9LmApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWxpZGF0b3IocHJvcHMsIHByb3BOYW1lLCBjb21wb25lbnROYW1lLCAuLi5hcmdzKTtcbiAgICAgIH0pLFxuICAgICksXG4gICk7IC8vIHdlIGNhbiBvbmx5IHJldHVybiBvbmUgZXJyb3IgYXQgYSB0aW1lXG59O1xuXG4vKipcbiAqIEVuc3VyZSBhIHByb3AgYWRoZXJlcnMgdG8gYXQgbGVhc3Qgb25lIG9mIHRoZSBnaXZlbiBwcm9wIHR5cGUgdmFsaWRhdG9ycy5cbiAqIEBwYXJhbSB2YWxpZGF0b3JzIC0gQW4gYXJyYXkgb2YgcHJvcFR5cGUgZnVuY3Rpb25zLlxuICovXG5leHBvcnQgY29uc3Qgc29tZSA9ICh2YWxpZGF0b3JzOiBGdW5jdGlvbltdKSA9PiAoXG4gIHByb3BzOiBPYmplY3RPZjxhbnk+LFxuICBwcm9wTmFtZTogc3RyaW5nLFxuICBjb21wb25lbnROYW1lOiBzdHJpbmcsXG4gIC4uLmFyZ3M6IGFueVtdXG4pID0+IHtcbiAgaWYgKCFBcnJheS5pc0FycmF5KHZhbGlkYXRvcnMpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgW1xuICAgICAgICAnSW52YWxpZCBhcmd1bWVudCBzdXBwbGllZCB0byBzb21lLCBleHBlY3RlZCBhbiBpbnN0YW5jZSBvZiBhcnJheS4nLFxuICAgICAgICBgU2VlIFxcYCR7cHJvcE5hbWV9XFxgIHByb3AgaW4gXFxgJHtjb21wb25lbnROYW1lfVxcYC5gLFxuICAgICAgXS5qb2luKCcgJyksXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IGVycm9ycyA9IF8uY29tcGFjdChcbiAgICBfLm1hcCh2YWxpZGF0b3JzLCB2YWxpZGF0b3IgPT4ge1xuICAgICAgaWYgKCFfLmlzRnVuY3Rpb24odmFsaWRhdG9yKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYHNvbWUoKSBhcmd1bWVudCBcInZhbGlkYXRvcnNcIiBzaG91bGQgY29udGFpbiBmdW5jdGlvbnMsIGZvdW5kOiAke3R5cGVPZih2YWxpZGF0b3IpfS5gKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB2YWxpZGF0b3IocHJvcHMsIHByb3BOYW1lLCBjb21wb25lbnROYW1lLCAuLi5hcmdzKTtcbiAgICB9KSxcbiAgKTtcblxuICAvLyBmYWlsIG9ubHkgaWYgYWxsIHZhbGlkYXRvcnMgZmFpbGVkXG4gIGlmIChlcnJvcnMubGVuZ3RoID09PSB2YWxpZGF0b3JzLmxlbmd0aCkge1xuICAgIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKCdPbmUgb2YgdGhlc2UgdmFsaWRhdG9ycyBtdXN0IHBhc3M6Jyk7XG4gICAgZXJyb3IubWVzc2FnZSArPSBgXFxuJHtfLm1hcChlcnJvcnMsIGVyciA9PiBgLSAke2Vyci5tZXNzYWdlfWApLmpvaW4oJ1xcbicpfWA7XG4gICAgcmV0dXJuIGVycm9yO1xuICB9XG5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn07XG5cbi8qKlxuICogRW5zdXJlIGEgdmFsaWRhdG9yIHBhc3NlcyBvbmx5IHdoZW4gYSBjb21wb25lbnQgaGFzIGEgZ2l2ZW4gcHJvcHNTaGFwZS5cbiAqIEBwYXJhbSBwcm9wc1NoYXBlIC0gQW4gb2JqZWN0IGRlc2NyaWJpbmcgdGhlIHByb3Agc2hhcGUuXG4gKiBAcGFyYW0gdmFsaWRhdG9yIC0gQSBwcm9wVHlwZSBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGNvbnN0IGdpdmVuUHJvcHMgPSAocHJvcHNTaGFwZTogUmVjb3JkPHN0cmluZywgYW55PiwgdmFsaWRhdG9yOiBGdW5jdGlvbikgPT4gKFxuICBwcm9wczogT2JqZWN0T2Y8YW55PixcbiAgcHJvcE5hbWU6IHN0cmluZyxcbiAgY29tcG9uZW50TmFtZTogc3RyaW5nLFxuICAuLi5hcmdzOiBhbnlcbikgPT4ge1xuICBpZiAoIV8uaXNQbGFpbk9iamVjdChwcm9wc1NoYXBlKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIFtcbiAgICAgICAgJ0ludmFsaWQgYXJndW1lbnQgc3VwcGxpZWQgdG8gZ2l2ZW5Qcm9wcywgZXhwZWN0ZWQgYW4gb2JqZWN0LicsXG4gICAgICAgIGBTZWUgXFxgJHtwcm9wTmFtZX1cXGAgcHJvcCBpbiBcXGAke2NvbXBvbmVudE5hbWV9XFxgLmAsXG4gICAgICBdLmpvaW4oJyAnKSxcbiAgICApO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB2YWxpZGF0b3IgIT09ICdmdW5jdGlvbicpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBbXG4gICAgICAgICdJbnZhbGlkIGFyZ3VtZW50IHN1cHBsaWVkIHRvIGdpdmVuUHJvcHMsIGV4cGVjdGVkIGEgZnVuY3Rpb24uJyxcbiAgICAgICAgYFNlZSBcXGAke3Byb3BOYW1lfVxcYCBwcm9wIGluIFxcYCR7Y29tcG9uZW50TmFtZX1cXGAuYCxcbiAgICAgIF0uam9pbignICcpLFxuICAgICk7XG4gIH1cblxuICBjb25zdCBzaG91bGRWYWxpZGF0ZSA9IF8ua2V5cyhwcm9wc1NoYXBlKS5ldmVyeSgoa2V5OiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCB2YWwgPSBwcm9wc1NoYXBlW2tleV07XG4gICAgLy8gcmVxdWlyZSBwcm9wU2hhcGUgdmFsaWRhdG9ycyB0byBwYXNzIG9yIHByb3AgdmFsdWVzIHRvIG1hdGNoXG4gICAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICdmdW5jdGlvbicgPyAhdmFsKHByb3BzLCBrZXksIGNvbXBvbmVudE5hbWUsIC4uLmFyZ3MpIDogdmFsID09PSBwcm9wc1twcm9wTmFtZV07XG4gIH0pO1xuXG4gIGlmICghc2hvdWxkVmFsaWRhdGUpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgY29uc3QgZXJyb3IgPSB2YWxpZGF0b3IocHJvcHMsIHByb3BOYW1lLCBjb21wb25lbnROYW1lLCAuLi5hcmdzKTtcblxuICBpZiAoZXJyb3IpIHtcbiAgICAvLyBwb29yIG1hbnMgc2hhbGxvdyBwcmV0dHkgcHJpbnQsIHByZXZlbnRzIEpTT04gY2lyY3VsYXIgcmVmZXJlbmNlIGVycm9yc1xuICAgIGNvbnN0IHByZXR0eVByb3BzID0gYHsgJHtfLmtleXMoXy5waWNrKHByb3BzLCBfLmtleXMocHJvcHNTaGFwZSkpKVxuICAgICAgLm1hcChrZXkgPT4ge1xuICAgICAgICBjb25zdCB2YWwgPSBwcm9wc1trZXldO1xuICAgICAgICBsZXQgcmVuZGVyZWRWYWx1ZSA9IHZhbDtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnKSByZW5kZXJlZFZhbHVlID0gYFwiJHt2YWx9XCJgO1xuICAgICAgICBlbHNlIGlmIChBcnJheS5pc0FycmF5KHZhbCkpIHJlbmRlcmVkVmFsdWUgPSBgWyR7dmFsLmpvaW4oJywgJyl9XWA7XG4gICAgICAgIGVsc2UgaWYgKF8uaXNPYmplY3QodmFsKSkgcmVuZGVyZWRWYWx1ZSA9ICd7Li4ufSc7XG5cbiAgICAgICAgcmV0dXJuIGAke2tleX06ICR7cmVuZGVyZWRWYWx1ZX1gO1xuICAgICAgfSlcbiAgICAgIC5qb2luKCcsICcpfSB9YDtcblxuICAgIGVycm9yLm1lc3NhZ2UgPSBgR2l2ZW4gcHJvcHMgJHtwcmV0dHlQcm9wc306ICR7ZXJyb3IubWVzc2FnZX1gO1xuICAgIHJldHVybiBlcnJvcjtcbiAgfVxufTtcblxuLyoqXG4gKiBEZWZpbmUgcHJvcCBkZXBlbmRlbmNpZXMgYnkgcmVxdWlyaW5nIG90aGVyIHByb3BzLlxuICogQHBhcmFtIHJlcXVpcmVkUHJvcHMgLSBBbiBhcnJheSBvZiByZXF1aXJlZCBwcm9wIG5hbWVzLlxuICovXG5leHBvcnQgY29uc3QgZGVtYW5kID0gKHJlcXVpcmVkUHJvcHM6IHN0cmluZ1tdKSA9PiAocHJvcHM6IE9iamVjdE9mPGFueT4sIHByb3BOYW1lOiBzdHJpbmcsIGNvbXBvbmVudE5hbWU6IHN0cmluZykgPT4ge1xuICBpZiAoIUFycmF5LmlzQXJyYXkocmVxdWlyZWRQcm9wcykpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBbXG4gICAgICAgICdJbnZhbGlkIGByZXF1aXJlZFByb3BzYCBhcmd1bWVudCBzdXBwbGllZCB0byByZXF1aXJlLCBleHBlY3RlZCBhbiBpbnN0YW5jZSBvZiBhcnJheS4nLFxuICAgICAgICBgIFNlZSBcXGAke3Byb3BOYW1lfVxcYCBwcm9wIGluIFxcYCR7Y29tcG9uZW50TmFtZX1cXGAuYCxcbiAgICAgIF0uam9pbignJyksXG4gICAgKTtcbiAgfVxuXG4gIC8vIHNraXAgaWYgcHJvcCBpcyB1bmRlZmluZWRcbiAgaWYgKHByb3BzW3Byb3BOYW1lXSA9PT0gdW5kZWZpbmVkKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gIGNvbnN0IG1pc3NpbmdSZXF1aXJlZCA9IHJlcXVpcmVkUHJvcHMuZmlsdGVyKHJlcXVpcmVkUHJvcCA9PiBwcm9wc1tyZXF1aXJlZFByb3BdID09PSB1bmRlZmluZWQpO1xuICBpZiAobWlzc2luZ1JlcXVpcmVkLmxlbmd0aCA+IDApIHtcbiAgICByZXR1cm4gbmV3IEVycm9yKFxuICAgICAgYFxcYCR7cHJvcE5hbWV9XFxgIHByb3AgaW4gXFxgJHtjb21wb25lbnROYW1lfVxcYCByZXF1aXJlcyBwcm9wczogXFxgJHttaXNzaW5nUmVxdWlyZWQuam9pbignYCwgYCcpfVxcYC5gLFxuICAgICk7XG4gIH1cblxuICByZXR1cm4gdW5kZWZpbmVkO1xufTtcblxuLyoqXG4gKiBFbnN1cmUgYW4gbXVsdGlwbGUgcHJvcCBjb250YWlucyBhIHN0cmluZyB3aXRoIG9ubHkgcG9zc2libGUgdmFsdWVzLlxuICogQHBhcmFtIHBvc3NpYmxlIC0gQW4gYXJyYXkgb2YgcG9zc2libGUgdmFsdWVzIHRvIHByb3AuXG4gKi9cbmV4cG9ydCBjb25zdCBtdWx0aXBsZVByb3AgPSAocG9zc2libGU6IHN0cmluZ1tdKSA9PiAoXG4gIHByb3BzOiBPYmplY3RPZjxzdHJpbmcgfCBmYWxzZT4sXG4gIHByb3BOYW1lOiBzdHJpbmcsXG4gIGNvbXBvbmVudE5hbWU6IHN0cmluZyxcbikgPT4ge1xuICBpZiAoIUFycmF5LmlzQXJyYXkocG9zc2libGUpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgW1xuICAgICAgICAnSW52YWxpZCBhcmd1bWVudCBzdXBwbGllZCB0byBzb21lLCBleHBlY3RlZCBhbiBpbnN0YW5jZSBvZiBhcnJheS4nLFxuICAgICAgICBgU2VlIFxcYCR7cHJvcE5hbWV9XFxgIHByb3AgaW4gXFxgJHtjb21wb25lbnROYW1lfVxcYC5gLFxuICAgICAgXS5qb2luKCcgJyksXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IHByb3BWYWx1ZSA9IHByb3BzW3Byb3BOYW1lXTtcblxuICAvLyBza2lwIGlmIHByb3AgaXMgdW5kZWZpbmVkXG4gIGlmIChfLmlzTmlsKHByb3BWYWx1ZSkgfHwgcHJvcFZhbHVlID09PSBmYWxzZSkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICBjb25zdCB2YWx1ZXMgPSBwcm9wVmFsdWVcbiAgICAucmVwbGFjZSgnbGFyZ2Ugc2NyZWVuJywgJ2xhcmdlLXNjcmVlbicpXG4gICAgLnJlcGxhY2UoLyB2ZXJ0aWNhbGx5L2csICctdmVydGljYWxseScpXG4gICAgLnNwbGl0KCcgJylcbiAgICAubWFwKHZhbCA9PiBfLnRyaW0odmFsKS5yZXBsYWNlKCctJywgJyAnKSk7XG4gIGNvbnN0IGludmFsaWQgPSBfLmRpZmZlcmVuY2UodmFsdWVzLCBwb3NzaWJsZSk7XG5cbiAgLy8gZmFpbCBvbmx5IGlmIHRoZXJlIGFyZSBpbnZhbGlkIHZhbHVlc1xuICBpZiAoaW52YWxpZC5sZW5ndGggPiAwKSB7XG4gICAgcmV0dXJuIG5ldyBFcnJvcihgXFxgJHtwcm9wTmFtZX1cXGAgcHJvcCBpbiBcXGAke2NvbXBvbmVudE5hbWV9XFxgIGhhcyBpbnZhbGlkIHZhbHVlczogXFxgJHtpbnZhbGlkLmpvaW4oJ2AsIGAnKX1cXGAuYCk7XG4gIH1cblxuICByZXR1cm4gdW5kZWZpbmVkO1xufTtcblxuLyoqXG4gKiBFbnN1cmUgYSBjb21wb25lbnQgY2FuIHJlbmRlciBhcyBhIG5vZGUgcGFzc2VkIGFzIGEgcHJvcCB2YWx1ZSBpbiBwbGFjZSBvZiBjaGlsZHJlbi5cbiAqL1xuZXhwb3J0IGNvbnN0IG5vZGVDb250ZW50ID0gZXZlcnkoW2Rpc2FsbG93KFsnY2hpbGRyZW4nXSksIFByb3BUeXBlcy5ub2RlXSk7XG5cbmV4cG9ydCBjb25zdCB3cmFwcGVyU2hvcnRoYW5kID0gUHJvcFR5cGVzLm9uZU9mVHlwZShbXG4gIFByb3BUeXBlcy5ub2RlLFxuICBQcm9wVHlwZXMub2JqZWN0LFxuICBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMubm9kZSwgUHJvcFR5cGVzLm9iamVjdF0pKSxcbl0pO1xuXG4vKipcbiAqIEEgc2hvcnRoYW5kIHByb3Agd2hpY2ggY2FuIGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBgY2hpbGRyZW5gLlxuICovXG5leHBvcnQgY29uc3Qgc2hvcnRoYW5kQWxsb3dpbmdDaGlsZHJlbiA9IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5ub2RlLCBQcm9wVHlwZXMub2JqZWN0LCBQcm9wVHlwZXMuZnVuY10pO1xuXG5leHBvcnQgY29uc3Qgc2hvcnRoYW5kT2JqZWN0QWxsb3dpbmdDaGlsZHJlbiA9IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5vYmplY3QsIFByb3BUeXBlcy5mdW5jXSk7XG5cbi8qKlxuICogT2JqZWN0SXRlbVNob3J0aGFuZCBpcyBhIGRlc2NyaXB0aW9uIG9mIGEgY29tcG9uZW50IHRoYXQgY2FuIGJlXG4gKiBhIHByb3BzIG9iamVjdCBvciBhIHJlbmRlciBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGNvbnN0IG9iamVjdEl0ZW1TaG9ydGhhbmQgPSBldmVyeShbZGlzYWxsb3coWydjaGlsZHJlbiddKSwgc2hvcnRoYW5kQWxsb3dpbmdDaGlsZHJlbl0pO1xuXG4vKipcbiAqIEl0ZW0gc2hvcnRoYW5kIGlzIGEgZGVzY3JpcHRpb24gb2YgYSBjb21wb25lbnQgdGhhdCBjYW4gYmUgYSBsaXRlcmFsLFxuICogYSBwcm9wcyBvYmplY3QsIGFuIGVsZW1lbnQgb3IgYSByZW5kZXIgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBpdGVtU2hvcnRoYW5kID0gZXZlcnkoW2Rpc2FsbG93KFsnY2hpbGRyZW4nXSksIHNob3J0aGFuZEFsbG93aW5nQ2hpbGRyZW5dKTtcbmV4cG9ydCBjb25zdCBpdGVtU2hvcnRoYW5kV2l0aEtpbmRQcm9wID0gKGtpbmRQcm9wVmFsdWVzOiBzdHJpbmdbXSkgPT4ge1xuICByZXR1cm4gZXZlcnkoW1xuICAgIGRpc2FsbG93KFsnY2hpbGRyZW4nXSksXG4gICAgUHJvcFR5cGVzLm9uZU9mVHlwZShbXG4gICAgICBQcm9wVHlwZXMubm9kZSxcbiAgICAgIFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgIGtpbmQ6IFByb3BUeXBlcy5vbmVPZihraW5kUHJvcFZhbHVlcyksXG4gICAgICB9KSxcbiAgICAgIFByb3BUeXBlcy5mdW5jLFxuICAgIF0pLFxuICBdKTtcbn07XG5leHBvcnQgY29uc3QgaXRlbVNob3J0aGFuZFdpdGhvdXRKU1ggPSBldmVyeShbXG4gIGRpc2FsbG93KFsnY2hpbGRyZW4nXSksXG4gIFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5mdW5jLCBQcm9wVHlwZXMubnVtYmVyLCBQcm9wVHlwZXMub2JqZWN0LCBQcm9wVHlwZXMuc3RyaW5nLCBQcm9wVHlwZXMub25lT2YoW2ZhbHNlXSldKSxcbl0pO1xuXG4vKipcbiAqIENvbGxlY3Rpb24gc2hvcnRoYW5kIGVuc3VyZXMgYSBwcm9wIGlzIGFuIGFycmF5IG9mIGl0ZW0gc2hvcnRoYW5kLlxuICovXG5leHBvcnQgY29uc3QgY29sbGVjdGlvbk9iamVjdFNob3J0aGFuZCA9IGV2ZXJ5KFtkaXNhbGxvdyhbJ2NoaWxkcmVuJ10pLCBQcm9wVHlwZXMuYXJyYXlPZihvYmplY3RJdGVtU2hvcnRoYW5kKV0pO1xuXG4vKipcbiAqIENvbGxlY3Rpb24gc2hvcnRoYW5kIGVuc3VyZXMgYSBwcm9wIGlzIGFuIGFycmF5IG9mIGl0ZW0gc2hvcnRoYW5kLlxuICovXG5leHBvcnQgY29uc3QgY29sbGVjdGlvblNob3J0aGFuZCA9IGV2ZXJ5KFtkaXNhbGxvdyhbJ2NoaWxkcmVuJ10pLCBQcm9wVHlwZXMuYXJyYXlPZihpdGVtU2hvcnRoYW5kKV0pO1xuZXhwb3J0IGNvbnN0IGNvbGxlY3Rpb25TaG9ydGhhbmRXaXRoS2luZFByb3AgPSAoa2luZFByb3BWYWx1ZXM6IHN0cmluZ1tdKSA9PiB7XG4gIHJldHVybiBldmVyeShbZGlzYWxsb3coWydjaGlsZHJlbiddKSwgUHJvcFR5cGVzLmFycmF5T2YoaXRlbVNob3J0aGFuZFdpdGhLaW5kUHJvcChraW5kUHJvcFZhbHVlcykpXSk7XG59O1xuXG4vKipcbiAqIFNob3cgYSBkZXByZWNhdGVkIHdhcm5pbmcgZm9yIGNvbXBvbmVudCBwcm9wcyB3aXRoIGEgaGVscCBtZXNzYWdlIGFuZCBvcHRpb25hbCB2YWxpZGF0b3IuXG4gKiBAcGFyYW0gaGVscCAtIEEgaGVscCBtZXNzYWdlIHRvIGRpc3BsYXkgd2l0aCB0aGUgZGVwcmVjYXRpb24gd2FybmluZy5cbiAqIEBwYXJhbSB2YWxpZGF0b3IgLSBBIHByb3BUeXBlIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgY29uc3QgZGVwcmVjYXRlID0gKGhlbHA6IHN0cmluZywgdmFsaWRhdG9yPzogRnVuY3Rpb24pID0+IChcbiAgcHJvcHM6IE9iamVjdE9mPGFueT4sXG4gIHByb3BOYW1lOiBzdHJpbmcsXG4gIGNvbXBvbmVudE5hbWU6IHN0cmluZyxcbiAgLi4uYXJnczogYW55W11cbikgPT4ge1xuICBpZiAodHlwZW9mIGhlbHAgIT09ICdzdHJpbmcnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgW1xuICAgICAgICAnSW52YWxpZCBgaGVscGAgYXJndW1lbnQgc3VwcGxpZWQgdG8gZGVwcmVjYXRlLCBleHBlY3RlZCBhIHN0cmluZy4nLFxuICAgICAgICBgU2VlIFxcYCR7cHJvcE5hbWV9XFxgIHByb3AgaW4gXFxgJHtjb21wb25lbnROYW1lfVxcYC5gLFxuICAgICAgXS5qb2luKCcgJyksXG4gICAgKTtcbiAgfVxuXG4gIC8vIHNraXAgaWYgcHJvcCBpcyB1bmRlZmluZWRcbiAgaWYgKHByb3BzW3Byb3BOYW1lXSA9PT0gdW5kZWZpbmVkKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gIC8vIGRlcHJlY2F0aW9uIGVycm9yIGFuZCBoZWxwXG4gIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKGBUaGUgXFxgJHtwcm9wTmFtZX1cXGAgcHJvcCBpbiBcXGAke2NvbXBvbmVudE5hbWV9XFxgIGlzIGRlcHJlY2F0ZWQuYCk7XG4gIGlmIChoZWxwKSBlcnJvci5tZXNzYWdlICs9IGAgJHtoZWxwfWA7XG5cbiAgLy8gYWRkIG9wdGlvbmFsIHZhbGlkYXRpb24gZXJyb3IgbWVzc2FnZVxuICBpZiAodmFsaWRhdG9yKSB7XG4gICAgaWYgKHR5cGVvZiB2YWxpZGF0b3IgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGNvbnN0IHZhbGlkYXRpb25FcnJvciA9IHZhbGlkYXRvcihwcm9wcywgcHJvcE5hbWUsIGNvbXBvbmVudE5hbWUsIC4uLmFyZ3MpO1xuICAgICAgaWYgKHZhbGlkYXRpb25FcnJvcikge1xuICAgICAgICBlcnJvci5tZXNzYWdlID0gYCR7ZXJyb3IubWVzc2FnZX0gJHt2YWxpZGF0aW9uRXJyb3IubWVzc2FnZX1gO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFtcbiAgICAgICAgICAnSW52YWxpZCBhcmd1bWVudCBzdXBwbGllZCB0byBkZXByZWNhdGUsIGV4cGVjdGVkIGEgZnVuY3Rpb24uJyxcbiAgICAgICAgICBgU2VlIFxcYCR7cHJvcE5hbWV9XFxgIHByb3AgaW4gXFxgJHtjb21wb25lbnROYW1lfVxcYC5gLFxuICAgICAgICBdLmpvaW4oJyAnKSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGVycm9yO1xufTtcblxuZXhwb3J0IGNvbnN0IGFjY2Vzc2liaWxpdHkgPSBQcm9wVHlwZXMuZnVuYztcblxuZXhwb3J0IGNvbnN0IHNpemUgPSBQcm9wVHlwZXMub25lT2Y8J3NtYWxsZXN0JyB8ICdzbWFsbGVyJyB8ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZScgfCAnbGFyZ2VyJyB8ICdsYXJnZXN0Jz4oW1xuICAnc21hbGxlc3QnLFxuICAnc21hbGxlcicsXG4gICdzbWFsbCcsXG4gICdtZWRpdW0nLFxuICAnbGFyZ2UnLFxuICAnbGFyZ2VyJyxcbiAgJ2xhcmdlc3QnLFxuXSk7XG5cbmV4cG9ydCBjb25zdCBhbGlnbiA9IFByb3BUeXBlcy5vbmVPZjwnc3RhcnQnIHwgJ2VuZCcgfCAnY2VudGVyJyB8ICdqdXN0aWZ5Jz4oWydzdGFydCcsICdlbmQnLCAnY2VudGVyJywgJ2p1c3RpZnknXSk7XG5cbmV4cG9ydCBjb25zdCBhbmltYXRpb24gPSBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgLy8gVmFsaWRhdG9yIGlzIGJyb2tlbiBpbiB0aGUgbGF0ZXN0IEByZWFjdC90eXBlc1xuICBQcm9wVHlwZXMuc2hhcGUoe1xuICAgIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICBkZWxheTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBkaXJlY3Rpb246IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgZHVyYXRpb246IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgZmlsbE1vZGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgaXRlcmF0aW9uQ291bnQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgcGxheVN0YXRlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHRpbWluZ0Z1bmN0aW9uOiBQcm9wVHlwZXMuc3RyaW5nLFxuICB9KSBhcyBhbnksXG4gIFByb3BUeXBlcy5zdHJpbmcsXG5dKTtcblxuLy8gSGVhZHMgVXAhXG4vLyBLZWVwIGluIHN5bmMgd2l0aCBwYWNrYWdlcy9yZWFjdC9zcmMvdGhlbWVzL3R5cGVzLnRzXG5leHBvcnQgY29uc3QgZGVzaWduID0gUHJvcFR5cGVzLnNoYXBlKHtcbiAgcG9zaXRpb246IFByb3BUeXBlcy5zdHJpbmcsXG4gIGRpc3BsYXk6IFByb3BUeXBlcy5zdHJpbmcsXG5cbiAgdG9wOiBQcm9wVHlwZXMuc3RyaW5nLFxuICByaWdodDogUHJvcFR5cGVzLnN0cmluZyxcbiAgYm90dG9tOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBsZWZ0OiBQcm9wVHlwZXMuc3RyaW5nLFxuXG4gIHBhZGRpbmc6IFByb3BUeXBlcy5zdHJpbmcsXG4gIHBhZGRpbmdUb3A6IFByb3BUeXBlcy5zdHJpbmcsXG4gIHBhZGRpbmdSaWdodDogUHJvcFR5cGVzLnN0cmluZyxcbiAgcGFkZGluZ0JvdHRvbTogUHJvcFR5cGVzLnN0cmluZyxcbiAgcGFkZGluZ0xlZnQ6IFByb3BUeXBlcy5zdHJpbmcsXG5cbiAgbWFyZ2luOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBtYXJnaW5Ub3A6IFByb3BUeXBlcy5zdHJpbmcsXG4gIG1hcmdpblJpZ2h0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICBtYXJnaW5Cb3R0b206IFByb3BUeXBlcy5zdHJpbmcsXG4gIG1hcmdpbkxlZnQ6IFByb3BUeXBlcy5zdHJpbmcsXG5cbiAgd2lkdGg6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGhlaWdodDogUHJvcFR5cGVzLnN0cmluZyxcbiAgbWluV2lkdGg6IFByb3BUeXBlcy5zdHJpbmcsXG4gIG1heFdpZHRoOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBtaW5IZWlnaHQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gIG1heEhlaWdodDogUHJvcFR5cGVzLnN0cmluZyxcbn0pO1xuXG4vKiogQSBjaGVja2VyIHRoYXQgbWF0Y2hlcyB0aGUgUmVhY3QuUmVmIHR5cGUuICovXG5leHBvcnQgY29uc3QgcmVmID0gUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmZ1bmMsIFByb3BUeXBlcy5vYmplY3QgYXMgUHJvcFR5cGVzLlZhbGlkYXRvcjx7IGN1cnJlbnQ6IGFueSB9Pl0pO1xuIl0sImZpbGUiOiJpbmRleC5qcyJ9 | ||
//# sourceMappingURL=index.js.map |
@@ -54,2 +54,2 @@ "use strict"; | ||
exports.default = _default; | ||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxldmVuLnRzIl0sIm5hbWVzIjpbImxldmVuIiwiYSIsImIiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJhcnIiLCJjaGFyQ29kZUNhY2hlIiwiYUxlbiIsImxlbmd0aCIsImJMZW4iLCJiQ2hhckNvZGUiLCJyZXQiLCJ0bXAiLCJ0bXAyIiwiaSIsImoiLCJjaGFyQ29kZUF0Il0sIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ0E7O0FBQ0E7QUFFQSxJQUFJQSxLQUFLLEdBQUcsZUFBQ0MsQ0FBRCxFQUFJQyxDQUFKO0FBQUEsU0FBVSxDQUFWO0FBQUEsQ0FBWjs7QUFFQSxJQUFJQyxPQUFPLENBQUNDLEdBQVIsQ0FBWUMsUUFBWixLQUF5QixZQUE3QixFQUEyQztBQUN6QyxNQUFNQyxHQUFhLEdBQUcsRUFBdEI7QUFDQSxNQUFNQyxhQUF1QixHQUFHLEVBQWhDOztBQUVBUCxFQUFBQSxLQUFLLEdBQUcsZUFBQ0MsQ0FBRCxFQUFJQyxDQUFKLEVBQVU7QUFDaEIsUUFBSUQsQ0FBQyxLQUFLQyxDQUFWLEVBQWEsT0FBTyxDQUFQO0FBRWIsUUFBTU0sSUFBSSxHQUFHUCxDQUFDLENBQUNRLE1BQWY7QUFDQSxRQUFNQyxJQUFJLEdBQUdSLENBQUMsQ0FBQ08sTUFBZjtBQUVBLFFBQUlELElBQUksS0FBSyxDQUFiLEVBQWdCLE9BQU9FLElBQVA7QUFDaEIsUUFBSUEsSUFBSSxLQUFLLENBQWIsRUFBZ0IsT0FBT0YsSUFBUDtBQUVoQixRQUFJRyxTQUFKO0FBQ0EsUUFBSUMsR0FBSjtBQUNBLFFBQUlDLEdBQUo7QUFDQSxRQUFJQyxJQUFKO0FBQ0EsUUFBSUMsQ0FBQyxHQUFHLENBQVI7QUFDQSxRQUFJQyxDQUFDLEdBQUcsQ0FBUjs7QUFFQSxXQUFPRCxDQUFDLEdBQUdQLElBQVgsRUFBaUI7QUFDZkQsTUFBQUEsYUFBYSxDQUFDUSxDQUFELENBQWIsR0FBbUJkLENBQUMsQ0FBQ2dCLFVBQUYsQ0FBYUYsQ0FBYixDQUFuQjtBQUNBVCxNQUFBQSxHQUFHLENBQUNTLENBQUQsQ0FBSCxHQUFTLEVBQUVBLENBQVg7QUFDRDs7QUFFRCxXQUFPQyxDQUFDLEdBQUdOLElBQVgsRUFBaUI7QUFDZkMsTUFBQUEsU0FBUyxHQUFHVCxDQUFDLENBQUNlLFVBQUYsQ0FBYUQsQ0FBYixDQUFaO0FBQ0FILE1BQUFBLEdBQUcsR0FBR0csQ0FBQyxFQUFQO0FBQ0FKLE1BQUFBLEdBQUcsR0FBR0ksQ0FBTjs7QUFFQSxXQUFLRCxDQUFDLEdBQUcsQ0FBVCxFQUFZQSxDQUFDLEdBQUdQLElBQWhCLEVBQXNCTyxDQUFDLEVBQXZCLEVBQTJCO0FBQ3pCRCxRQUFBQSxJQUFJLEdBQUdILFNBQVMsS0FBS0osYUFBYSxDQUFDUSxDQUFELENBQTNCLEdBQWlDRixHQUFqQyxHQUF1Q0EsR0FBRyxHQUFHLENBQXBEO0FBQ0FBLFFBQUFBLEdBQUcsR0FBR1AsR0FBRyxDQUFDUyxDQUFELENBQVQ7QUFDQUgsUUFBQUEsR0FBRyxHQUFHTixHQUFHLENBQUNTLENBQUQsQ0FBSCxHQUFTRixHQUFHLEdBQUdELEdBQU4sR0FBYUUsSUFBSSxHQUFHRixHQUFQLEdBQWFBLEdBQUcsR0FBRyxDQUFuQixHQUF1QkUsSUFBcEMsR0FBNENBLElBQUksR0FBR0QsR0FBUCxHQUFhQSxHQUFHLEdBQUcsQ0FBbkIsR0FBdUJDLElBQWxGO0FBQ0Q7QUFDRjs7QUFFRCxXQUFPRixHQUFQO0FBQ0QsR0FsQ0Q7QUFtQ0Q7O2VBRWNaLEsiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5IG9mIHNpbmRyZSdzIGxldmVuLCB3cmFwcGVkIGluIGRlYWQgY29kZSBlbGltaW5hdGlvbiBmb3IgcHJvZHVjdGlvblxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3NpbmRyZXNvcmh1cy9sZXZlbi9ibG9iL21hc3Rlci9pbmRleC5qc1xuLyogZXNsaW50LWRpc2FibGUgKi9cblxubGV0IGxldmVuID0gKGEsIGIpID0+IDA7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIGNvbnN0IGFycjogbnVtYmVyW10gPSBbXTtcbiAgY29uc3QgY2hhckNvZGVDYWNoZTogbnVtYmVyW10gPSBbXTtcblxuICBsZXZlbiA9IChhLCBiKSA9PiB7XG4gICAgaWYgKGEgPT09IGIpIHJldHVybiAwO1xuXG4gICAgY29uc3QgYUxlbiA9IGEubGVuZ3RoO1xuICAgIGNvbnN0IGJMZW4gPSBiLmxlbmd0aDtcblxuICAgIGlmIChhTGVuID09PSAwKSByZXR1cm4gYkxlbjtcbiAgICBpZiAoYkxlbiA9PT0gMCkgcmV0dXJuIGFMZW47XG5cbiAgICBsZXQgYkNoYXJDb2RlO1xuICAgIGxldCByZXQ7XG4gICAgbGV0IHRtcDtcbiAgICBsZXQgdG1wMjtcbiAgICBsZXQgaSA9IDA7XG4gICAgbGV0IGogPSAwO1xuXG4gICAgd2hpbGUgKGkgPCBhTGVuKSB7XG4gICAgICBjaGFyQ29kZUNhY2hlW2ldID0gYS5jaGFyQ29kZUF0KGkpO1xuICAgICAgYXJyW2ldID0gKytpO1xuICAgIH1cblxuICAgIHdoaWxlIChqIDwgYkxlbikge1xuICAgICAgYkNoYXJDb2RlID0gYi5jaGFyQ29kZUF0KGopO1xuICAgICAgdG1wID0gaisrO1xuICAgICAgcmV0ID0gajtcblxuICAgICAgZm9yIChpID0gMDsgaSA8IGFMZW47IGkrKykge1xuICAgICAgICB0bXAyID0gYkNoYXJDb2RlID09PSBjaGFyQ29kZUNhY2hlW2ldID8gdG1wIDogdG1wICsgMTtcbiAgICAgICAgdG1wID0gYXJyW2ldO1xuICAgICAgICByZXQgPSBhcnJbaV0gPSB0bXAgPiByZXQgPyAodG1wMiA+IHJldCA/IHJldCArIDEgOiB0bXAyKSA6IHRtcDIgPiB0bXAgPyB0bXAgKyAxIDogdG1wMjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmV0O1xuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBsZXZlbjtcbiJdLCJmaWxlIjoibGV2ZW4uanMifQ== | ||
//# sourceMappingURL=leven.js.map |
@@ -415,2 +415,2 @@ import _difference from "lodash/difference"; | ||
export var ref = PropTypes.oneOfType([PropTypes.func, PropTypes.object]); | ||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbIlByb3BUeXBlcyIsImxldmVuIiwidHlwZU9mIiwieCIsIk9iamVjdCIsInByb3RvdHlwZSIsInRvU3RyaW5nIiwiY2FsbCIsImRvbU5vZGUiLCJwcm9wcyIsInByb3BOYW1lIiwidW5kZWZpbmVkIiwiRWxlbWVudCIsIkVycm9yIiwic3VnZ2VzdCIsInN1Z2dlc3Rpb25zIiwiQXJyYXkiLCJpc0FycmF5IiwiZmluZEJlc3RTdWdnZXN0aW9ucyIsInN0ciIsInByb3BWYWx1ZVdvcmRzIiwic3BsaXQiLCJzdWdnZXN0aW9uIiwic3VnZ2VzdGlvbldvcmRzIiwicHJvcFZhbHVlU2NvcmUiLCJ5Iiwic3VnZ2VzdGlvblNjb3JlIiwic2NvcmUiLCJzdWdnZXN0aW9uc0xvb2t1cCIsInJlZHVjZSIsImFjYyIsImtleSIsInNvcnQiLCJqb2luIiwiY29tcG9uZW50TmFtZSIsInByb3BWYWx1ZSIsInByb3BWYWx1ZVNvcnRlZCIsImJlc3RNYXRjaGVzIiwic29tZSIsIm1hcCIsIm5ldmVyIiwiZGlzYWxsb3ciLCJkaXNhbGxvd2VkUHJvcHMiLCJkaXNhbGxvd2VkIiwiZGlzYWxsb3dlZFByb3AiLCJsZW5ndGgiLCJldmVyeSIsInZhbGlkYXRvcnMiLCJhcmdzIiwidmFsaWRhdG9yIiwiZXJyb3JzIiwiZXJyb3IiLCJtZXNzYWdlIiwiZXJyIiwiZ2l2ZW5Qcm9wcyIsInByb3BzU2hhcGUiLCJzaG91bGRWYWxpZGF0ZSIsInZhbCIsInByZXR0eVByb3BzIiwicmVuZGVyZWRWYWx1ZSIsImRlbWFuZCIsInJlcXVpcmVkUHJvcHMiLCJtaXNzaW5nUmVxdWlyZWQiLCJmaWx0ZXIiLCJyZXF1aXJlZFByb3AiLCJtdWx0aXBsZVByb3AiLCJwb3NzaWJsZSIsInZhbHVlcyIsInJlcGxhY2UiLCJpbnZhbGlkIiwibm9kZUNvbnRlbnQiLCJub2RlIiwid3JhcHBlclNob3J0aGFuZCIsIm9uZU9mVHlwZSIsIm9iamVjdCIsImFycmF5T2YiLCJzaG9ydGhhbmRBbGxvd2luZ0NoaWxkcmVuIiwiZnVuYyIsInNob3J0aGFuZE9iamVjdEFsbG93aW5nQ2hpbGRyZW4iLCJvYmplY3RJdGVtU2hvcnRoYW5kIiwiaXRlbVNob3J0aGFuZCIsIml0ZW1TaG9ydGhhbmRXaXRoS2luZFByb3AiLCJraW5kUHJvcFZhbHVlcyIsInNoYXBlIiwia2luZCIsIm9uZU9mIiwiaXRlbVNob3J0aGFuZFdpdGhvdXRKU1giLCJudW1iZXIiLCJzdHJpbmciLCJjb2xsZWN0aW9uT2JqZWN0U2hvcnRoYW5kIiwiY29sbGVjdGlvblNob3J0aGFuZCIsImNvbGxlY3Rpb25TaG9ydGhhbmRXaXRoS2luZFByb3AiLCJkZXByZWNhdGUiLCJoZWxwIiwidmFsaWRhdGlvbkVycm9yIiwiYWNjZXNzaWJpbGl0eSIsInNpemUiLCJhbGlnbiIsImFuaW1hdGlvbiIsIm5hbWUiLCJpc1JlcXVpcmVkIiwiZGVsYXkiLCJkaXJlY3Rpb24iLCJkdXJhdGlvbiIsImZpbGxNb2RlIiwiaXRlcmF0aW9uQ291bnQiLCJwbGF5U3RhdGUiLCJ0aW1pbmdGdW5jdGlvbiIsImRlc2lnbiIsInBvc2l0aW9uIiwiZGlzcGxheSIsInRvcCIsInJpZ2h0IiwiYm90dG9tIiwibGVmdCIsInBhZGRpbmciLCJwYWRkaW5nVG9wIiwicGFkZGluZ1JpZ2h0IiwicGFkZGluZ0JvdHRvbSIsInBhZGRpbmdMZWZ0IiwibWFyZ2luIiwibWFyZ2luVG9wIiwibWFyZ2luUmlnaHQiLCJtYXJnaW5Cb3R0b20iLCJtYXJnaW5MZWZ0Iiwid2lkdGgiLCJoZWlnaHQiLCJtaW5XaWR0aCIsIm1heFdpZHRoIiwibWluSGVpZ2h0IiwibWF4SGVpZ2h0IiwicmVmIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsT0FBTyxLQUFLQSxTQUFaLE1BQTJCLFlBQTNCO0FBRUEsT0FBT0MsS0FBUCxNQUFrQixTQUFsQjs7QUFJQSxJQUFNQyxNQUFNLEdBQUcsU0FBVEEsTUFBUyxDQUFDQyxDQUFEO0FBQUEsU0FBWUMsTUFBTSxD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LE1BdEJrQjtBQXVCcEN1QyxFQUFBQSxRQUFRLEVBQUUvSCxTQUFTLENBQUN3RixNQXZCZ0I7QUF3QnBDd0MsRUFBQUEsUUFBUSxFQUFFaEksU0FBUyxDQUFDd0YsTUF4QmdCO0FBeUJwQ3lDLEVBQUFBLFNBQVMsRUFBRWpJLFNBQVMsQ0FBQ3dGLE1BekJlO0FBMEJwQzBDLEVBQUFBLFNBQVMsRUFBRWxJLFNBQVMsQ0FBQ3dGO0FBMUJlLENBQWhCLENBQWY7QUE2QlA7O0FBQ0EsT0FBTyxJQUFNMkMsR0FBRyxHQUFHbkksU0FBUyxDQUFDeUUsU0FBVixDQUFvQixDQUFDekUsU0FBUyxDQUFDNkUsSUFBWCxFQUFpQjdFLFNBQVMsQ0FBQzBFLE1BQTNCLENBQXBCLENBQVoiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgKiBhcyBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmltcG9ydCBsZXZlbiBmcm9tICcuL2xldmVuJztcblxudHlwZSBPYmplY3RPZjxUPiA9IFJlY29yZDxzdHJpbmcsIFQ+O1xuXG5jb25zdCB0eXBlT2YgPSAoeDogYW55KSA9PiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoeCk7XG5cbi8qKlxuICogRW5zdXJlIGEgcHJvcCBpcyBhIHZhbGlkIERPTSBub2RlLlxuICovXG5leHBvcnQgY29uc3QgZG9tTm9kZSA9IChwcm9wczogT2JqZWN0T2Y8YW55PiwgcHJvcE5hbWU6IHN0cmluZykgPT4ge1xuICAvLyBza2lwIGlmIHByb3AgaXMgdW5kZWZpbmVkXG4gIGlmIChwcm9wc1twcm9wTmFtZV0gPT09IHVuZGVmaW5lZCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgLy8gc2tpcCBpZiBwcm9wIGlzIG51bGxcbiAgaWYgKHByb3BzW3Byb3BOYW1lXSA9PT0gbnVsbCkgcmV0dXJuIG51bGw7XG4gIC8vIHNraXAgaWYgcHJvcCBpcyB2YWxpZFxuICBpZiAocHJvcHNbcHJvcE5hbWVdIGluc3RhbmNlb2YgRWxlbWVudCkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICByZXR1cm4gbmV3IEVycm9yKGBJbnZhbGlkIHByb3AgXCIke3Byb3BOYW1lfVwiIHN1cHBsaWVkLCBleHBlY3RlZCBhIERPTSBub2RlLmApO1xufTtcblxuLyoqXG4gKiBTaW1pbGFyIHRvIFByb3BUeXBlcy5vbmVPZiBidXQgc2hvd3MgY2xvc2VzdCBtYXRjaGVzLlxuICogV29yZCBvcmRlciBpcyBpZ25vcmVkIGFsbG93aW5nIGBsZWZ0IGNoZXZyb25gIHRvIG1hdGNoIGBjaGV2cm9uIGxlZnRgLlxuICogVXNlZnVsIGZvciB2ZXJ5IGxhcmdlIGxpc3RzIG9mIG9wdGlvbnMgKGUuZy4gSWNvbiBuYW1lLCBGbGFnIG5hbWUsIGV0Yy4pXG4gKiBAcGFyYW0gc3VnZ2VzdGlvbnMgLSBBbiBhcnJheSBvZiBhbGxvd2VkIHZhbHVlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IHN1Z2dlc3QgPSAoc3VnZ2VzdGlvbnM6IHN0cmluZ1tdKSA9PiB7XG4gIGlmICghQXJyYXkuaXNBcnJheShzdWdnZXN0aW9ucykpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgYXJndW1lbnQgc3VwcGxpZWQgdG8gc3VnZ2VzdCwgZXhwZWN0ZWQgYW4gaW5zdGFuY2Ugb2YgYXJyYXkuJyk7XG4gIH1cblxuICBjb25zdCBmaW5kQmVzdFN1Z2dlc3Rpb25zID0gXy5tZW1vaXplKChzdHI6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IHByb3BWYWx1ZVdvcmRzID0gc3RyLnNwbGl0KCcgJyk7XG5cbiAgICByZXR1cm4gXy50YWtlKFxuICAgICAgXy5zb3J0QnkoXG4gICAgICAgIF8ubWFwKHN1Z2dlc3Rpb25zLCAoc3VnZ2VzdGlvbjogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgY29uc3Qgc3VnZ2VzdGlvbldvcmRzID0gc3VnZ2VzdGlvbi5zcGxpdCgnICcpO1xuXG4gICAgICAgICAgY29uc3QgcHJvcFZhbHVlU2NvcmUgPSBfLnN1bShcbiAgICAgICAgICAgIF8ubWFwKFxuICAgICAgICAgICAgICBfLm1hcChwcm9wVmFsdWVXb3JkcywgeCA9PiBfLm1hcChzdWdnZXN0aW9uV29yZHMsIHkgPT4gbGV2ZW4oeCwgeSkpKSxcbiAgICAgICAgICAgICAgXy5taW4sXG4gICAgICAgICAgICApLFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBjb25zdCBzdWdnZXN0aW9uU2NvcmUgPSBfLnN1bShcbiAgICAgICAgICAgIF8ubWFwKFxuICAgICAgICAgICAgICBfLm1hcChzdWdnZXN0aW9uV29yZHMsIHggPT4gXy5tYXAocHJvcFZhbHVlV29yZHMsIHkgPT4gbGV2ZW4oeCwgeSkpKSxcbiAgICAgICAgICAgICAgXy5taW4sXG4gICAgICAgICAgICApLFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICByZXR1cm4geyBzdWdnZXN0aW9uLCBzY29yZTogcHJvcFZhbHVlU2NvcmUgKyBzdWdnZXN0aW9uU2NvcmUgfTtcbiAgICAgICAgfSksXG4gICAgICAgIFsnc2NvcmUnLCAnc3VnZ2VzdGlvbiddLFxuICAgICAgKSxcbiAgICAgIDMsXG4gICAgKTtcbiAgfSk7XG5cbiAgLy8gQ29udmVydCB0aGUgc3VnZ2VzdGlvbnMgbGlzdCBpbnRvIGEgaGFzaCBtYXAgZm9yIE8obikgbG9va3VwIHRpbWVzLiBFbnN1cmVcbiAgLy8gdGhlIHdvcmRzIGluIGVhY2gga2V5IGFyZSBzb3J0ZWQgYWxwaGFiZXRpY2FsbHkgc28gdGhhdCB3ZSBoYXZlIGEgY29uc2lzdGVudFxuICAvLyB3YXkgb2YgbG9va2luZyB1cCBhIHZhbHVlIGluIHRoZSBtYXAsIGkuZS4gd2UgY2FuIHNvcnQgdGhlIHdvcmRzIGluIHRoZVxuICAvLyBpbmNvbWluZyBwcm9wVmFsdWUgYW5kIGxvb2sgdGhhdCB1cCB3aXRob3V0IGhhdmluZyB0byBjaGVjayBhbGwgcGVybXV0YXRpb25zLlxuICBjb25zdCBzdWdnZXN0aW9uc0xvb2t1cDogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4gPSBzdWdnZXN0aW9ucy5yZWR1Y2UoKGFjYzogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4sIGtleTogc3RyaW5nKSA9PiB7XG4gICAgYWNjW1xuICAgICAga2V5XG4gICAgICAgIC5zcGxpdCgnICcpXG4gICAgICAgIC5zb3J0KClcbiAgICAgICAgLmpvaW4oJyAnKVxuICAgIF0gPSB0cnVlO1xuICAgIHJldHVybiBhY2M7XG4gIH0sIHt9KTtcblxuICByZXR1cm4gKHByb3BzOiBPYmplY3RPZjxhbnk+LCBwcm9wTmFtZTogc3RyaW5nLCBjb21wb25lbnROYW1lOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBwcm9wVmFsdWUgPSBwcm9wc1twcm9wTmFtZV07XG5cbiAgICAvLyBza2lwIGlmIHByb3AgaXMgdW5kZWZpbmVkIG9yIGlzIGluY2x1ZGVkIGluIHRoZSBzdWdnZXN0aW9uc1xuICAgIGlmICghcHJvcFZhbHVlIHx8IHN1Z2dlc3Rpb25zTG9va3VwW3Byb3BWYWx1ZV0pIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICAvLyBjaGVjayBpZiB0aGUgd29yZHMgd2VyZSBjb3JyZWN0IGJ1dCBvcmRlcmVkIGRpZmZlcmVudGx5LlxuICAgIC8vIFNpbmNlIHdlJ3JlIG1hdGNoaW5nIGZvciBjbGFzc05hbWVzIHdlIG5lZWQgdG8gYWxsb3cgYW55IHdvcmQgb3JkZXJcbiAgICAvLyB0byBwYXNzIHZhbGlkYXRpb24sIGUuZy4gYGxlZnQgY2hldnJvbmAgdnMgYGNoZXZyb24gbGVmdGAuXG4gICAgY29uc3QgcHJvcFZhbHVlU29ydGVkID0gcHJvcFZhbHVlXG4gICAgICAuc3BsaXQoJyAnKVxuICAgICAgLnNvcnQoKVxuICAgICAgLmpvaW4oJyAnKTtcbiAgICBpZiAoc3VnZ2VzdGlvbnNMb29rdXBbcHJvcFZhbHVlU29ydGVkXSkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIC8vIGZpbmQgYmVzdCBzdWdnZXN0aW9uc1xuICAgIGNvbnN0IGJlc3RNYXRjaGVzID0gZmluZEJlc3RTdWdnZXN0aW9ucyhwcm9wVmFsdWUpO1xuXG4gICAgLy8gc2tpcCBpZiBhIG1hdGNoIHNjb3JlZCAwXG4gICAgaWYgKGJlc3RNYXRjaGVzLnNvbWUoeCA9PiB4LnNjb3JlID09PSAwKSkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIHJldHVybiBuZXcgRXJyb3IoXG4gICAgICBbXG4gICAgICAgIGBJbnZhbGlkIHByb3AgXFxgJHtwcm9wTmFtZX1cXGAgb2YgdmFsdWUgXFxgJHtwcm9wVmFsdWV9XFxgIHN1cHBsaWVkIHRvIFxcYCR7Y29tcG9uZW50TmFtZX1cXGAuYCxcbiAgICAgICAgYFxcblxcbkluc3RlYWQgb2YgXFxgJHtwcm9wVmFsdWV9XFxgLCBkaWQgeW91IG1lYW46YCxcbiAgICAgICAgYmVzdE1hdGNoZXMubWFwKHggPT4gYFxcbiAgLSAke3guc3VnZ2VzdGlvbn1gKS5qb2luKCcnKSxcbiAgICAgICAgJ1xcbicsXG4gICAgICBdLmpvaW4oJycpLFxuICAgICk7XG4gIH07XG59O1xuXG4vKipcbiAqIFRoZSBwcm9wIGNhbm5vdCBiZSB1c2VkLlxuICogU2ltaWxhciB0byBgZGVwcmVjYXRlYCBidXQgd2l0aCBkaWZmZXJlbnQgZXJyb3IgbWVzc2FnZS5cbiAqL1xuZXhwb3J0IGNvbnN0IG5ldmVyID0gKHByb3BzOiBPYmplY3RPZjxhbnk+LCBwcm9wTmFtZTogc3RyaW5nLCBjb21wb25lbnROYW1lOiBzdHJpbmcpID0+IHtcbiAgaWYgKF8uaXNOaWwocHJvcHNbcHJvcE5hbWVdKSB8fCBwcm9wc1twcm9wTmFtZV0gPT09IGZhbHNlKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gIHJldHVybiBuZXcgRXJyb3IoYFByb3AgXFxgJHtwcm9wTmFtZX1cXGAgaW4gXFxgJHtjb21wb25lbnROYW1lfVxcYCBjYW5ub3QgYmUgdXNlZC5gKTtcbn07XG5cbi8qKlxuICogRGlzYWxsb3cgb3RoZXIgcHJvcHMgZnJvbSBiZWluZyBkZWZpbmVkIHdpdGggdGhpcyBwcm9wLlxuICogQHBhcmFtIGRpc2FsbG93ZWRQcm9wcyAtIEFuIGFycmF5IG9mIHByb3BzIHRoYXQgY2Fubm90IGJlIHVzZWQgd2l0aCB0aGlzIHByb3AuXG4gKi9cbmV4cG9ydCBjb25zdCBkaXNhbGxvdyA9IChkaXNhbGxvd2VkUHJvcHM6IHN0cmluZ1tdKSA9PiAoXG4gIHByb3BzOiBPYmplY3RPZjxhbnk+LFxuICBwcm9wTmFtZTogc3RyaW5nLFxuICBjb21wb25lbnROYW1lOiBzdHJpbmcsXG4pID0+IHtcbiAgaWYgKCFBcnJheS5pc0FycmF5KGRpc2FsbG93ZWRQcm9wcykpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBbXG4gICAgICAgICdJbnZhbGlkIGFyZ3VtZW50IHN1cHBsaWVkIHRvIGRpc2FsbG93LCBleHBlY3RlZCBhbiBpbnN0YW5jZSBvZiBhcnJheS4nLFxuICAgICAgICBgIFNlZSBcXGAke3Byb3BOYW1lfVxcYCBwcm9wIGluIFxcYCR7Y29tcG9uZW50TmFtZX1cXGAuYCxcbiAgICAgIF0uam9pbignJyksXG4gICAgKTtcbiAgfVxuXG4gIC8vIHNraXAgaWYgcHJvcCBpcyB1bmRlZmluZWRcbiAgaWYgKF8uaXNOaWwocHJvcHNbcHJvcE5hbWVdKSB8fCBwcm9wc1twcm9wTmFtZV0gPT09IGZhbHNlKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gIC8vIGZpbmQgZGlzYWxsb3dlZCBwcm9wcyB3aXRoIHZhbHVlc1xuICBjb25zdCBkaXNhbGxvd2VkID0gZGlzYWxsb3dlZFByb3BzLnJlZHVjZSgoYWNjLCBkaXNhbGxvd2VkUHJvcCkgPT4ge1xuICAgIGlmICghXy5pc05pbChwcm9wc1tkaXNhbGxvd2VkUHJvcF0pICYmIHByb3BzW2Rpc2FsbG93ZWRQcm9wXSAhPT0gZmFsc2UpIHtcbiAgICAgIHJldHVybiBbLi4uYWNjLCBkaXNhbGxvd2VkUHJvcF07XG4gICAgfVxuICAgIHJldHVybiBhY2M7XG4gIH0sIFtdKTtcblxuICBpZiAoZGlzYWxsb3dlZC5sZW5ndGggPiAwKSB7XG4gICAgcmV0dXJuIG5ldyBFcnJvcihcbiAgICAgIFtcbiAgICAgICAgYFByb3AgXFxgJHtwcm9wTmFtZX1cXGAgaW4gXFxgJHtjb21wb25lbnROYW1lfVxcYCBjb25mbGljdHMgd2l0aCBwcm9wczogXFxgJHtkaXNhbGxvd2VkLmpvaW4oJ2AsIGAnKX1cXGAuYCxcbiAgICAgICAgJ1RoZXkgY2Fubm90IGJlIGRlZmluZWQgdG9nZXRoZXIsIGNob29zZSBvbmUgb3IgdGhlIG90aGVyLicsXG4gICAgICBdLmpvaW4oJyAnKSxcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn07XG5cbi8qKlxuICogRW5zdXJlIGEgcHJvcCBhZGhlcmVycyB0byBtdWx0aXBsZSBwcm9wIHR5cGUgdmFsaWRhdG9ycy5cbiAqIEBwYXJhbSB2YWxpZGF0b3JzIC0gQW4gYXJyYXkgb2YgcHJvcFR5cGUgZnVuY3Rpb25zLlxuICovXG5leHBvcnQgY29uc3QgZXZlcnkgPSAodmFsaWRhdG9yczogRnVuY3Rpb25bXSkgPT4gKFxuICBwcm9wczogT2JqZWN0T2Y8YW55PixcbiAgcHJvcE5hbWU6IHN0cmluZyxcbiAgY29tcG9uZW50TmFtZTogc3RyaW5nLFxuICAuLi5hcmdzOiBhbnlbXVxuKSA9PiB7XG4gIGlmICghQXJyYXkuaXNBcnJheSh2YWxpZGF0b3JzKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIFtcbiAgICAgICAgJ0ludmFsaWQgYXJndW1lbnQgc3VwcGxpZWQgdG8gZXZlcnksIGV4cGVjdGVkIGFuIGluc3RhbmNlIG9mIGFycmF5LicsXG4gICAgICAgIGBTZWUgXFxgJHtwcm9wTmFtZX1cXGAgcHJvcCBpbiBcXGAke2NvbXBvbmVudE5hbWV9XFxgLmAsXG4gICAgICBdLmpvaW4oJyAnKSxcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIF8uZmlyc3QoXG4gICAgXy5jb21wYWN0KFxuICAgICAgXy5tYXAodmFsaWRhdG9ycywgdmFsaWRhdG9yID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWxpZGF0b3IgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYGV2ZXJ5KCkgYXJndW1lbnQgXCJ2YWxpZGF0b3JzXCIgc2hvdWxkIGNvbnRhaW4gZnVuY3Rpb25zLCBmb3VuZDogJHt0eXBlT2YodmFsaWRhdG9yKX0uYCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbGlkYXRvcihwcm9wcywgcHJvcE5hbWUsIGNvbXBvbmVudE5hbWUsIC4uLmFyZ3MpO1xuICAgICAgfSksXG4gICAgKSxcbiAgKTsgLy8gd2UgY2FuIG9ubHkgcmV0dXJuIG9uZSBlcnJvciBhdCBhIHRpbWVcbn07XG5cbi8qKlxuICogRW5zdXJlIGEgcHJvcCBhZGhlcmVycyB0byBhdCBsZWFzdCBvbmUgb2YgdGhlIGdpdmVuIHByb3AgdHlwZSB2YWxpZGF0b3JzLlxuICogQHBhcmFtIHZhbGlkYXRvcnMgLSBBbiBhcnJheSBvZiBwcm9wVHlwZSBmdW5jdGlvbnMuXG4gKi9cbmV4cG9ydCBjb25zdCBzb21lID0gKHZhbGlkYXRvcnM6IEZ1bmN0aW9uW10pID0+IChcbiAgcHJvcHM6IE9iamVjdE9mPGFueT4sXG4gIHByb3BOYW1lOiBzdHJpbmcsXG4gIGNvbXBvbmVudE5hbWU6IHN0cmluZyxcbiAgLi4uYXJnczogYW55W11cbikgPT4ge1xuICBpZiAoIUFycmF5LmlzQXJyYXkodmFsaWRhdG9ycykpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBbXG4gICAgICAgICdJbnZhbGlkIGFyZ3VtZW50IHN1cHBsaWVkIHRvIHNvbWUsIGV4cGVjdGVkIGFuIGluc3RhbmNlIG9mIGFycmF5LicsXG4gICAgICAgIGBTZWUgXFxgJHtwcm9wTmFtZX1cXGAgcHJvcCBpbiBcXGAke2NvbXBvbmVudE5hbWV9XFxgLmAsXG4gICAgICBdLmpvaW4oJyAnKSxcbiAgICApO1xuICB9XG5cbiAgY29uc3QgZXJyb3JzID0gXy5jb21wYWN0KFxuICAgIF8ubWFwKHZhbGlkYXRvcnMsIHZhbGlkYXRvciA9PiB7XG4gICAgICBpZiAoIV8uaXNGdW5jdGlvbih2YWxpZGF0b3IpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgc29tZSgpIGFyZ3VtZW50IFwidmFsaWRhdG9yc1wiIHNob3VsZCBjb250YWluIGZ1bmN0aW9ucywgZm91bmQ6ICR7dHlwZU9mKHZhbGlkYXRvcil9LmApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHZhbGlkYXRvcihwcm9wcywgcHJvcE5hbWUsIGNvbXBvbmVudE5hbWUsIC4uLmFyZ3MpO1xuICAgIH0pLFxuICApO1xuXG4gIC8vIGZhaWwgb25seSBpZiBhbGwgdmFsaWRhdG9ycyBmYWlsZWRcbiAgaWYgKGVycm9ycy5sZW5ndGggPT09IHZhbGlkYXRvcnMubGVuZ3RoKSB7XG4gICAgY29uc3QgZXJyb3IgPSBuZXcgRXJyb3IoJ09uZSBvZiB0aGVzZSB2YWxpZGF0b3JzIG11c3QgcGFzczonKTtcbiAgICBlcnJvci5tZXNzYWdlICs9IGBcXG4ke18ubWFwKGVycm9ycywgZXJyID0+IGAtICR7ZXJyLm1lc3NhZ2V9YCkuam9pbignXFxuJyl9YDtcbiAgICByZXR1cm4gZXJyb3I7XG4gIH1cblxuICByZXR1cm4gdW5kZWZpbmVkO1xufTtcblxuLyoqXG4gKiBFbnN1cmUgYSB2YWxpZGF0b3IgcGFzc2VzIG9ubHkgd2hlbiBhIGNvbXBvbmVudCBoYXMgYSBnaXZlbiBwcm9wc1NoYXBlLlxuICogQHBhcmFtIHByb3BzU2hhcGUgLSBBbiBvYmplY3QgZGVzY3JpYmluZyB0aGUgcHJvcCBzaGFwZS5cbiAqIEBwYXJhbSB2YWxpZGF0b3IgLSBBIHByb3BUeXBlIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgY29uc3QgZ2l2ZW5Qcm9wcyA9IChwcm9wc1NoYXBlOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCB2YWxpZGF0b3I6IEZ1bmN0aW9uKSA9PiAoXG4gIHByb3BzOiBPYmplY3RPZjxhbnk+LFxuICBwcm9wTmFtZTogc3RyaW5nLFxuICBjb21wb25lbnROYW1lOiBzdHJpbmcsXG4gIC4uLmFyZ3M6IGFueVxuKSA9PiB7XG4gIGlmICghXy5pc1BsYWluT2JqZWN0KHByb3BzU2hhcGUpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgW1xuICAgICAgICAnSW52YWxpZCBhcmd1bWVudCBzdXBwbGllZCB0byBnaXZlblByb3BzLCBleHBlY3RlZCBhbiBvYmplY3QuJyxcbiAgICAgICAgYFNlZSBcXGAke3Byb3BOYW1lfVxcYCBwcm9wIGluIFxcYCR7Y29tcG9uZW50TmFtZX1cXGAuYCxcbiAgICAgIF0uam9pbignICcpLFxuICAgICk7XG4gIH1cblxuICBpZiAodHlwZW9mIHZhbGlkYXRvciAhPT0gJ2Z1bmN0aW9uJykge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIFtcbiAgICAgICAgJ0ludmFsaWQgYXJndW1lbnQgc3VwcGxpZWQgdG8gZ2l2ZW5Qcm9wcywgZXhwZWN0ZWQgYSBmdW5jdGlvbi4nLFxuICAgICAgICBgU2VlIFxcYCR7cHJvcE5hbWV9XFxgIHByb3AgaW4gXFxgJHtjb21wb25lbnROYW1lfVxcYC5gLFxuICAgICAgXS5qb2luKCcgJyksXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IHNob3VsZFZhbGlkYXRlID0gXy5rZXlzKHByb3BzU2hhcGUpLmV2ZXJ5KChrZXk6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IHZhbCA9IHByb3BzU2hhcGVba2V5XTtcbiAgICAvLyByZXF1aXJlIHByb3BTaGFwZSB2YWxpZGF0b3JzIHRvIHBhc3Mgb3IgcHJvcCB2YWx1ZXMgdG8gbWF0Y2hcbiAgICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gJ2Z1bmN0aW9uJyA/ICF2YWwocHJvcHMsIGtleSwgY29tcG9uZW50TmFtZSwgLi4uYXJncykgOiB2YWwgPT09IHByb3BzW3Byb3BOYW1lXTtcbiAgfSk7XG5cbiAgaWYgKCFzaG91bGRWYWxpZGF0ZSkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICBjb25zdCBlcnJvciA9IHZhbGlkYXRvcihwcm9wcywgcHJvcE5hbWUsIGNvbXBvbmVudE5hbWUsIC4uLmFyZ3MpO1xuXG4gIGlmIChlcnJvcikge1xuICAgIC8vIHBvb3IgbWFucyBzaGFsbG93IHByZXR0eSBwcmludCwgcHJldmVudHMgSlNPTiBjaXJjdWxhciByZWZlcmVuY2UgZXJyb3JzXG4gICAgY29uc3QgcHJldHR5UHJvcHMgPSBgeyAke18ua2V5cyhfLnBpY2socHJvcHMsIF8ua2V5cyhwcm9wc1NoYXBlKSkpXG4gICAgICAubWFwKGtleSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbCA9IHByb3BzW2tleV07XG4gICAgICAgIGxldCByZW5kZXJlZFZhbHVlID0gdmFsO1xuICAgICAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycpIHJlbmRlcmVkVmFsdWUgPSBgXCIke3ZhbH1cImA7XG4gICAgICAgIGVsc2UgaWYgKEFycmF5LmlzQXJyYXkodmFsKSkgcmVuZGVyZWRWYWx1ZSA9IGBbJHt2YWwuam9pbignLCAnKX1dYDtcbiAgICAgICAgZWxzZSBpZiAoXy5pc09iamVjdCh2YWwpKSByZW5kZXJlZFZhbHVlID0gJ3suLi59JztcblxuICAgICAgICByZXR1cm4gYCR7a2V5fTogJHtyZW5kZXJlZFZhbHVlfWA7XG4gICAgICB9KVxuICAgICAgLmpvaW4oJywgJyl9IH1gO1xuXG4gICAgZXJyb3IubWVzc2FnZSA9IGBHaXZlbiBwcm9wcyAke3ByZXR0eVByb3BzfTogJHtlcnJvci5tZXNzYWdlfWA7XG4gICAgcmV0dXJuIGVycm9yO1xuICB9XG59O1xuXG4vKipcbiAqIERlZmluZSBwcm9wIGRlcGVuZGVuY2llcyBieSByZXF1aXJpbmcgb3RoZXIgcHJvcHMuXG4gKiBAcGFyYW0gcmVxdWlyZWRQcm9wcyAtIEFuIGFycmF5IG9mIHJlcXVpcmVkIHByb3AgbmFtZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBkZW1hbmQgPSAocmVxdWlyZWRQcm9wczogc3RyaW5nW10pID0+IChwcm9wczogT2JqZWN0T2Y8YW55PiwgcHJvcE5hbWU6IHN0cmluZywgY29tcG9uZW50TmFtZTogc3RyaW5nKSA9PiB7XG4gIGlmICghQXJyYXkuaXNBcnJheShyZXF1aXJlZFByb3BzKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIFtcbiAgICAgICAgJ0ludmFsaWQgYHJlcXVpcmVkUHJvcHNgIGFyZ3VtZW50IHN1cHBsaWVkIHRvIHJlcXVpcmUsIGV4cGVjdGVkIGFuIGluc3RhbmNlIG9mIGFycmF5LicsXG4gICAgICAgIGAgU2VlIFxcYCR7cHJvcE5hbWV9XFxgIHByb3AgaW4gXFxgJHtjb21wb25lbnROYW1lfVxcYC5gLFxuICAgICAgXS5qb2luKCcnKSxcbiAgICApO1xuICB9XG5cbiAgLy8gc2tpcCBpZiBwcm9wIGlzIHVuZGVmaW5lZFxuICBpZiAocHJvcHNbcHJvcE5hbWVdID09PSB1bmRlZmluZWQpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgY29uc3QgbWlzc2luZ1JlcXVpcmVkID0gcmVxdWlyZWRQcm9wcy5maWx0ZXIocmVxdWlyZWRQcm9wID0+IHByb3BzW3JlcXVpcmVkUHJvcF0gPT09IHVuZGVmaW5lZCk7XG4gIGlmIChtaXNzaW5nUmVxdWlyZWQubGVuZ3RoID4gMCkge1xuICAgIHJldHVybiBuZXcgRXJyb3IoXG4gICAgICBgXFxgJHtwcm9wTmFtZX1cXGAgcHJvcCBpbiBcXGAke2NvbXBvbmVudE5hbWV9XFxgIHJlcXVpcmVzIHByb3BzOiBcXGAke21pc3NpbmdSZXF1aXJlZC5qb2luKCdgLCBgJyl9XFxgLmAsXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59O1xuXG4vKipcbiAqIEVuc3VyZSBhbiBtdWx0aXBsZSBwcm9wIGNvbnRhaW5zIGEgc3RyaW5nIHdpdGggb25seSBwb3NzaWJsZSB2YWx1ZXMuXG4gKiBAcGFyYW0gcG9zc2libGUgLSBBbiBhcnJheSBvZiBwb3NzaWJsZSB2YWx1ZXMgdG8gcHJvcC5cbiAqL1xuZXhwb3J0IGNvbnN0IG11bHRpcGxlUHJvcCA9IChwb3NzaWJsZTogc3RyaW5nW10pID0+IChcbiAgcHJvcHM6IE9iamVjdE9mPHN0cmluZyB8IGZhbHNlPixcbiAgcHJvcE5hbWU6IHN0cmluZyxcbiAgY29tcG9uZW50TmFtZTogc3RyaW5nLFxuKSA9PiB7XG4gIGlmICghQXJyYXkuaXNBcnJheShwb3NzaWJsZSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBbXG4gICAgICAgICdJbnZhbGlkIGFyZ3VtZW50IHN1cHBsaWVkIHRvIHNvbWUsIGV4cGVjdGVkIGFuIGluc3RhbmNlIG9mIGFycmF5LicsXG4gICAgICAgIGBTZWUgXFxgJHtwcm9wTmFtZX1cXGAgcHJvcCBpbiBcXGAke2NvbXBvbmVudE5hbWV9XFxgLmAsXG4gICAgICBdLmpvaW4oJyAnKSxcbiAgICApO1xuICB9XG5cbiAgY29uc3QgcHJvcFZhbHVlID0gcHJvcHNbcHJvcE5hbWVdO1xuXG4gIC8vIHNraXAgaWYgcHJvcCBpcyB1bmRlZmluZWRcbiAgaWYgKF8uaXNOaWwocHJvcFZhbHVlKSB8fCBwcm9wVmFsdWUgPT09IGZhbHNlKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gIGNvbnN0IHZhbHVlcyA9IHByb3BWYWx1ZVxuICAgIC5yZXBsYWNlKCdsYXJnZSBzY3JlZW4nLCAnbGFyZ2Utc2NyZWVuJylcbiAgICAucmVwbGFjZSgvIHZlcnRpY2FsbHkvZywgJy12ZXJ0aWNhbGx5JylcbiAgICAuc3BsaXQoJyAnKVxuICAgIC5tYXAodmFsID0+IF8udHJpbSh2YWwpLnJlcGxhY2UoJy0nLCAnICcpKTtcbiAgY29uc3QgaW52YWxpZCA9IF8uZGlmZmVyZW5jZSh2YWx1ZXMsIHBvc3NpYmxlKTtcblxuICAvLyBmYWlsIG9ubHkgaWYgdGhlcmUgYXJlIGludmFsaWQgdmFsdWVzXG4gIGlmIChpbnZhbGlkLmxlbmd0aCA+IDApIHtcbiAgICByZXR1cm4gbmV3IEVycm9yKGBcXGAke3Byb3BOYW1lfVxcYCBwcm9wIGluIFxcYCR7Y29tcG9uZW50TmFtZX1cXGAgaGFzIGludmFsaWQgdmFsdWVzOiBcXGAke2ludmFsaWQuam9pbignYCwgYCcpfVxcYC5gKTtcbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59O1xuXG4vKipcbiAqIEVuc3VyZSBhIGNvbXBvbmVudCBjYW4gcmVuZGVyIGFzIGEgbm9kZSBwYXNzZWQgYXMgYSBwcm9wIHZhbHVlIGluIHBsYWNlIG9mIGNoaWxkcmVuLlxuICovXG5leHBvcnQgY29uc3Qgbm9kZUNvbnRlbnQgPSBldmVyeShbZGlzYWxsb3coWydjaGlsZHJlbiddKSwgUHJvcFR5cGVzLm5vZGVdKTtcblxuZXhwb3J0IGNvbnN0IHdyYXBwZXJTaG9ydGhhbmQgPSBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgUHJvcFR5cGVzLm5vZGUsXG4gIFByb3BUeXBlcy5vYmplY3QsXG4gIFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5ub2RlLCBQcm9wVHlwZXMub2JqZWN0XSkpLFxuXSk7XG5cbi8qKlxuICogQSBzaG9ydGhhbmQgcHJvcCB3aGljaCBjYW4gYmUgdXNlZCB0b2dldGhlciB3aXRoIGBjaGlsZHJlbmAuXG4gKi9cbmV4cG9ydCBjb25zdCBzaG9ydGhhbmRBbGxvd2luZ0NoaWxkcmVuID0gUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm5vZGUsIFByb3BUeXBlcy5vYmplY3QsIFByb3BUeXBlcy5mdW5jXSk7XG5cbmV4cG9ydCBjb25zdCBzaG9ydGhhbmRPYmplY3RBbGxvd2luZ0NoaWxkcmVuID0gUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm9iamVjdCwgUHJvcFR5cGVzLmZ1bmNdKTtcblxuLyoqXG4gKiBPYmplY3RJdGVtU2hvcnRoYW5kIGlzIGEgZGVzY3JpcHRpb24gb2YgYSBjb21wb25lbnQgdGhhdCBjYW4gYmVcbiAqIGEgcHJvcHMgb2JqZWN0IG9yIGEgcmVuZGVyIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgY29uc3Qgb2JqZWN0SXRlbVNob3J0aGFuZCA9IGV2ZXJ5KFtkaXNhbGxvdyhbJ2NoaWxkcmVuJ10pLCBzaG9ydGhhbmRBbGxvd2luZ0NoaWxkcmVuXSk7XG5cbi8qKlxuICogSXRlbSBzaG9ydGhhbmQgaXMgYSBkZXNjcmlwdGlvbiBvZiBhIGNvbXBvbmVudCB0aGF0IGNhbiBiZSBhIGxpdGVyYWwsXG4gKiBhIHByb3BzIG9iamVjdCwgYW4gZWxlbWVudCBvciBhIHJlbmRlciBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGNvbnN0IGl0ZW1TaG9ydGhhbmQgPSBldmVyeShbZGlzYWxsb3coWydjaGlsZHJlbiddKSwgc2hvcnRoYW5kQWxsb3dpbmdDaGlsZHJlbl0pO1xuZXhwb3J0IGNvbnN0IGl0ZW1TaG9ydGhhbmRXaXRoS2luZFByb3AgPSAoa2luZFByb3BWYWx1ZXM6IHN0cmluZ1tdKSA9PiB7XG4gIHJldHVybiBldmVyeShbXG4gICAgZGlzYWxsb3coWydjaGlsZHJlbiddKSxcbiAgICBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgIFByb3BUeXBlcy5ub2RlLFxuICAgICAgUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgICAga2luZDogUHJvcFR5cGVzLm9uZU9mKGtpbmRQcm9wVmFsdWVzKSxcbiAgICAgIH0pLFxuICAgICAgUHJvcFR5cGVzLmZ1bmMsXG4gICAgXSksXG4gIF0pO1xufTtcbmV4cG9ydCBjb25zdCBpdGVtU2hvcnRoYW5kV2l0aG91dEpTWCA9IGV2ZXJ5KFtcbiAgZGlzYWxsb3coWydjaGlsZHJlbiddKSxcbiAgUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmZ1bmMsIFByb3BUeXBlcy5udW1iZXIsIFByb3BUeXBlcy5vYmplY3QsIFByb3BUeXBlcy5zdHJpbmcsIFByb3BUeXBlcy5vbmVPZihbZmFsc2VdKV0pLFxuXSk7XG5cbi8qKlxuICogQ29sbGVjdGlvbiBzaG9ydGhhbmQgZW5zdXJlcyBhIHByb3AgaXMgYW4gYXJyYXkgb2YgaXRlbSBzaG9ydGhhbmQuXG4gKi9cbmV4cG9ydCBjb25zdCBjb2xsZWN0aW9uT2JqZWN0U2hvcnRoYW5kID0gZXZlcnkoW2Rpc2FsbG93KFsnY2hpbGRyZW4nXSksIFByb3BUeXBlcy5hcnJheU9mKG9iamVjdEl0ZW1TaG9ydGhhbmQpXSk7XG5cbi8qKlxuICogQ29sbGVjdGlvbiBzaG9ydGhhbmQgZW5zdXJlcyBhIHByb3AgaXMgYW4gYXJyYXkgb2YgaXRlbSBzaG9ydGhhbmQuXG4gKi9cbmV4cG9ydCBjb25zdCBjb2xsZWN0aW9uU2hvcnRoYW5kID0gZXZlcnkoW2Rpc2FsbG93KFsnY2hpbGRyZW4nXSksIFByb3BUeXBlcy5hcnJheU9mKGl0ZW1TaG9ydGhhbmQpXSk7XG5leHBvcnQgY29uc3QgY29sbGVjdGlvblNob3J0aGFuZFdpdGhLaW5kUHJvcCA9IChraW5kUHJvcFZhbHVlczogc3RyaW5nW10pID0+IHtcbiAgcmV0dXJuIGV2ZXJ5KFtkaXNhbGxvdyhbJ2NoaWxkcmVuJ10pLCBQcm9wVHlwZXMuYXJyYXlPZihpdGVtU2hvcnRoYW5kV2l0aEtpbmRQcm9wKGtpbmRQcm9wVmFsdWVzKSldKTtcbn07XG5cbi8qKlxuICogU2hvdyBhIGRlcHJlY2F0ZWQgd2FybmluZyBmb3IgY29tcG9uZW50IHByb3BzIHdpdGggYSBoZWxwIG1lc3NhZ2UgYW5kIG9wdGlvbmFsIHZhbGlkYXRvci5cbiAqIEBwYXJhbSBoZWxwIC0gQSBoZWxwIG1lc3NhZ2UgdG8gZGlzcGxheSB3aXRoIHRoZSBkZXByZWNhdGlvbiB3YXJuaW5nLlxuICogQHBhcmFtIHZhbGlkYXRvciAtIEEgcHJvcFR5cGUgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBkZXByZWNhdGUgPSAoaGVscDogc3RyaW5nLCB2YWxpZGF0b3I/OiBGdW5jdGlvbikgPT4gKFxuICBwcm9wczogT2JqZWN0T2Y8YW55PixcbiAgcHJvcE5hbWU6IHN0cmluZyxcbiAgY29tcG9uZW50TmFtZTogc3RyaW5nLFxuICAuLi5hcmdzOiBhbnlbXVxuKSA9PiB7XG4gIGlmICh0eXBlb2YgaGVscCAhPT0gJ3N0cmluZycpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBbXG4gICAgICAgICdJbnZhbGlkIGBoZWxwYCBhcmd1bWVudCBzdXBwbGllZCB0byBkZXByZWNhdGUsIGV4cGVjdGVkIGEgc3RyaW5nLicsXG4gICAgICAgIGBTZWUgXFxgJHtwcm9wTmFtZX1cXGAgcHJvcCBpbiBcXGAke2NvbXBvbmVudE5hbWV9XFxgLmAsXG4gICAgICBdLmpvaW4oJyAnKSxcbiAgICApO1xuICB9XG5cbiAgLy8gc2tpcCBpZiBwcm9wIGlzIHVuZGVmaW5lZFxuICBpZiAocHJvcHNbcHJvcE5hbWVdID09PSB1bmRlZmluZWQpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgLy8gZGVwcmVjYXRpb24gZXJyb3IgYW5kIGhlbHBcbiAgY29uc3QgZXJyb3IgPSBuZXcgRXJyb3IoYFRoZSBcXGAke3Byb3BOYW1lfVxcYCBwcm9wIGluIFxcYCR7Y29tcG9uZW50TmFtZX1cXGAgaXMgZGVwcmVjYXRlZC5gKTtcbiAgaWYgKGhlbHApIGVycm9yLm1lc3NhZ2UgKz0gYCAke2hlbHB9YDtcblxuICAvLyBhZGQgb3B0aW9uYWwgdmFsaWRhdGlvbiBlcnJvciBtZXNzYWdlXG4gIGlmICh2YWxpZGF0b3IpIHtcbiAgICBpZiAodHlwZW9mIHZhbGlkYXRvciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgY29uc3QgdmFsaWRhdGlvbkVycm9yID0gdmFsaWRhdG9yKHByb3BzLCBwcm9wTmFtZSwgY29tcG9uZW50TmFtZSwgLi4uYXJncyk7XG4gICAgICBpZiAodmFsaWRhdGlvbkVycm9yKSB7XG4gICAgICAgIGVycm9yLm1lc3NhZ2UgPSBgJHtlcnJvci5tZXNzYWdlfSAke3ZhbGlkYXRpb25FcnJvci5tZXNzYWdlfWA7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgW1xuICAgICAgICAgICdJbnZhbGlkIGFyZ3VtZW50IHN1cHBsaWVkIHRvIGRlcHJlY2F0ZSwgZXhwZWN0ZWQgYSBmdW5jdGlvbi4nLFxuICAgICAgICAgIGBTZWUgXFxgJHtwcm9wTmFtZX1cXGAgcHJvcCBpbiBcXGAke2NvbXBvbmVudE5hbWV9XFxgLmAsXG4gICAgICAgIF0uam9pbignICcpLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZXJyb3I7XG59O1xuXG5leHBvcnQgY29uc3QgYWNjZXNzaWJpbGl0eSA9IFByb3BUeXBlcy5mdW5jO1xuXG5leHBvcnQgY29uc3Qgc2l6ZSA9IFByb3BUeXBlcy5vbmVPZjwnc21hbGxlc3QnIHwgJ3NtYWxsZXInIHwgJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJyB8ICdsYXJnZXInIHwgJ2xhcmdlc3QnPihbXG4gICdzbWFsbGVzdCcsXG4gICdzbWFsbGVyJyxcbiAgJ3NtYWxsJyxcbiAgJ21lZGl1bScsXG4gICdsYXJnZScsXG4gICdsYXJnZXInLFxuICAnbGFyZ2VzdCcsXG5dKTtcblxuZXhwb3J0IGNvbnN0IGFsaWduID0gUHJvcFR5cGVzLm9uZU9mPCdzdGFydCcgfCAnZW5kJyB8ICdjZW50ZXInIHwgJ2p1c3RpZnknPihbJ3N0YXJ0JywgJ2VuZCcsICdjZW50ZXInLCAnanVzdGlmeSddKTtcblxuZXhwb3J0IGNvbnN0IGFuaW1hdGlvbiA9IFByb3BUeXBlcy5vbmVPZlR5cGUoW1xuICAvLyBWYWxpZGF0b3IgaXMgYnJva2VuIGluIHRoZSBsYXRlc3QgQHJlYWN0L3R5cGVzXG4gIFByb3BUeXBlcy5zaGFwZSh7XG4gICAgbmFtZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIGRlbGF5OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGRpcmVjdGlvbjogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBkdXJhdGlvbjogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBmaWxsTW9kZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBpdGVyYXRpb25Db3VudDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBwbGF5U3RhdGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgdGltaW5nRnVuY3Rpb246IFByb3BUeXBlcy5zdHJpbmcsXG4gIH0pIGFzIGFueSxcbiAgUHJvcFR5cGVzLnN0cmluZyxcbl0pO1xuXG4vLyBIZWFkcyBVcCFcbi8vIEtlZXAgaW4gc3luYyB3aXRoIHBhY2thZ2VzL3JlYWN0L3NyYy90aGVtZXMvdHlwZXMudHNcbmV4cG9ydCBjb25zdCBkZXNpZ24gPSBQcm9wVHlwZXMuc2hhcGUoe1xuICBwb3NpdGlvbjogUHJvcFR5cGVzLnN0cmluZyxcbiAgZGlzcGxheTogUHJvcFR5cGVzLnN0cmluZyxcblxuICB0b3A6IFByb3BUeXBlcy5zdHJpbmcsXG4gIHJpZ2h0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICBib3R0b206IFByb3BUeXBlcy5zdHJpbmcsXG4gIGxlZnQ6IFByb3BUeXBlcy5zdHJpbmcsXG5cbiAgcGFkZGluZzogUHJvcFR5cGVzLnN0cmluZyxcbiAgcGFkZGluZ1RvcDogUHJvcFR5cGVzLnN0cmluZyxcbiAgcGFkZGluZ1JpZ2h0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICBwYWRkaW5nQm90dG9tOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBwYWRkaW5nTGVmdDogUHJvcFR5cGVzLnN0cmluZyxcblxuICBtYXJnaW46IFByb3BUeXBlcy5zdHJpbmcsXG4gIG1hcmdpblRvcDogUHJvcFR5cGVzLnN0cmluZyxcbiAgbWFyZ2luUmlnaHQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gIG1hcmdpbkJvdHRvbTogUHJvcFR5cGVzLnN0cmluZyxcbiAgbWFyZ2luTGVmdDogUHJvcFR5cGVzLnN0cmluZyxcblxuICB3aWR0aDogUHJvcFR5cGVzLnN0cmluZyxcbiAgaGVpZ2h0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICBtaW5XaWR0aDogUHJvcFR5cGVzLnN0cmluZyxcbiAgbWF4V2lkdGg6IFByb3BUeXBlcy5zdHJpbmcsXG4gIG1pbkhlaWdodDogUHJvcFR5cGVzLnN0cmluZyxcbiAgbWF4SGVpZ2h0OiBQcm9wVHlwZXMuc3RyaW5nLFxufSk7XG5cbi8qKiBBIGNoZWNrZXIgdGhhdCBtYXRjaGVzIHRoZSBSZWFjdC5SZWYgdHlwZS4gKi9cbmV4cG9ydCBjb25zdCByZWYgPSBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuZnVuYywgUHJvcFR5cGVzLm9iamVjdCBhcyBQcm9wVHlwZXMuVmFsaWRhdG9yPHsgY3VycmVudDogYW55IH0+XSk7XG4iXSwiZmlsZSI6ImluZGV4LmpzIn0= | ||
//# sourceMappingURL=index.js.map |
@@ -48,2 +48,2 @@ // Copy of sindre's leven, wrapped in dead code elimination for production | ||
export default leven; | ||
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxldmVuLnRzIl0sIm5hbWVzIjpbImxldmVuIiwiYSIsImIiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJhcnIiLCJjaGFyQ29kZUNhY2hlIiwiYUxlbiIsImxlbmd0aCIsImJMZW4iLCJiQ2hhckNvZGUiLCJyZXQiLCJ0bXAiLCJ0bXAyIiwiaSIsImoiLCJjaGFyQ29kZUF0Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBOztBQUNBO0FBRUEsSUFBSUEsS0FBSyxHQUFHLGVBQUNDLENBQUQsRUFBSUMsQ0FBSjtBQUFBLFNBQVUsQ0FBVjtBQUFBLENBQVo7O0FBRUEsSUFBSUMsT0FBTyxDQUFDQyxHQUFSLENBQVlDLFFBQVosS0FBeUIsWUFBN0IsRUFBMkM7QUFDekMsTUFBTUMsR0FBYSxHQUFHLEVBQXRCO0FBQ0EsTUFBTUMsYUFBdUIsR0FBRyxFQUFoQzs7QUFFQVAsRUFBQUEsS0FBSyxHQUFHLGVBQUNDLENBQUQsRUFBSUMsQ0FBSixFQUFVO0FBQ2hCLFFBQUlELENBQUMsS0FBS0MsQ0FBVixFQUFhLE9BQU8sQ0FBUDtBQUViLFFBQU1NLElBQUksR0FBR1AsQ0FBQyxDQUFDUSxNQUFmO0FBQ0EsUUFBTUMsSUFBSSxHQUFHUixDQUFDLENBQUNPLE1BQWY7QUFFQSxRQUFJRCxJQUFJLEtBQUssQ0FBYixFQUFnQixPQUFPRSxJQUFQO0FBQ2hCLFFBQUlBLElBQUksS0FBSyxDQUFiLEVBQWdCLE9BQU9GLElBQVA7QUFFaEIsUUFBSUcsU0FBSjtBQUNBLFFBQUlDLEdBQUo7QUFDQSxRQUFJQyxHQUFKO0FBQ0EsUUFBSUMsSUFBSjtBQUNBLFFBQUlDLENBQUMsR0FBRyxDQUFSO0FBQ0EsUUFBSUMsQ0FBQyxHQUFHLENBQVI7O0FBRUEsV0FBT0QsQ0FBQyxHQUFHUCxJQUFYLEVBQWlCO0FBQ2ZELE1BQUFBLGFBQWEsQ0FBQ1EsQ0FBRCxDQUFiLEdBQW1CZCxDQUFDLENBQUNnQixVQUFGLENBQWFGLENBQWIsQ0FBbkI7QUFDQVQsTUFBQUEsR0FBRyxDQUFDUyxDQUFELENBQUgsR0FBUyxFQUFFQSxDQUFYO0FBQ0Q7O0FBRUQsV0FBT0MsQ0FBQyxHQUFHTixJQUFYLEVBQWlCO0FBQ2ZDLE1BQUFBLFNBQVMsR0FBR1QsQ0FBQyxDQUFDZSxVQUFGLENBQWFELENBQWIsQ0FBWjtBQUNBSCxNQUFBQSxHQUFHLEdBQUdHLENBQUMsRUFBUDtBQUNBSixNQUFBQSxHQUFHLEdBQUdJLENBQU47O0FBRUEsV0FBS0QsQ0FBQyxHQUFHLENBQVQsRUFBWUEsQ0FBQyxHQUFHUCxJQUFoQixFQUFzQk8sQ0FBQyxFQUF2QixFQUEyQjtBQUN6QkQsUUFBQUEsSUFBSSxHQUFHSCxTQUFTLEtBQUtKLGFBQWEsQ0FBQ1EsQ0FBRCxDQUEzQixHQUFpQ0YsR0FBakMsR0FBdUNBLEdBQUcsR0FBRyxDQUFwRDtBQUNBQSxRQUFBQSxHQUFHLEdBQUdQLEdBQUcsQ0FBQ1MsQ0FBRCxDQUFUO0FBQ0FILFFBQUFBLEdBQUcsR0FBR04sR0FBRyxDQUFDUyxDQUFELENBQUgsR0FBU0YsR0FBRyxHQUFHRCxHQUFOLEdBQWFFLElBQUksR0FBR0YsR0FBUCxHQUFhQSxHQUFHLEdBQUcsQ0FBbkIsR0FBdUJFLElBQXBDLEdBQTRDQSxJQUFJLEdBQUdELEdBQVAsR0FBYUEsR0FBRyxHQUFHLENBQW5CLEdBQXVCQyxJQUFsRjtBQUNEO0FBQ0Y7O0FBRUQsV0FBT0YsR0FBUDtBQUNELEdBbENEO0FBbUNEOztBQUVELGVBQWVaLEtBQWYiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5IG9mIHNpbmRyZSdzIGxldmVuLCB3cmFwcGVkIGluIGRlYWQgY29kZSBlbGltaW5hdGlvbiBmb3IgcHJvZHVjdGlvblxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3NpbmRyZXNvcmh1cy9sZXZlbi9ibG9iL21hc3Rlci9pbmRleC5qc1xuLyogZXNsaW50LWRpc2FibGUgKi9cblxubGV0IGxldmVuID0gKGEsIGIpID0+IDA7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIGNvbnN0IGFycjogbnVtYmVyW10gPSBbXTtcbiAgY29uc3QgY2hhckNvZGVDYWNoZTogbnVtYmVyW10gPSBbXTtcblxuICBsZXZlbiA9IChhLCBiKSA9PiB7XG4gICAgaWYgKGEgPT09IGIpIHJldHVybiAwO1xuXG4gICAgY29uc3QgYUxlbiA9IGEubGVuZ3RoO1xuICAgIGNvbnN0IGJMZW4gPSBiLmxlbmd0aDtcblxuICAgIGlmIChhTGVuID09PSAwKSByZXR1cm4gYkxlbjtcbiAgICBpZiAoYkxlbiA9PT0gMCkgcmV0dXJuIGFMZW47XG5cbiAgICBsZXQgYkNoYXJDb2RlO1xuICAgIGxldCByZXQ7XG4gICAgbGV0IHRtcDtcbiAgICBsZXQgdG1wMjtcbiAgICBsZXQgaSA9IDA7XG4gICAgbGV0IGogPSAwO1xuXG4gICAgd2hpbGUgKGkgPCBhTGVuKSB7XG4gICAgICBjaGFyQ29kZUNhY2hlW2ldID0gYS5jaGFyQ29kZUF0KGkpO1xuICAgICAgYXJyW2ldID0gKytpO1xuICAgIH1cblxuICAgIHdoaWxlIChqIDwgYkxlbikge1xuICAgICAgYkNoYXJDb2RlID0gYi5jaGFyQ29kZUF0KGopO1xuICAgICAgdG1wID0gaisrO1xuICAgICAgcmV0ID0gajtcblxuICAgICAgZm9yIChpID0gMDsgaSA8IGFMZW47IGkrKykge1xuICAgICAgICB0bXAyID0gYkNoYXJDb2RlID09PSBjaGFyQ29kZUNhY2hlW2ldID8gdG1wIDogdG1wICsgMTtcbiAgICAgICAgdG1wID0gYXJyW2ldO1xuICAgICAgICByZXQgPSBhcnJbaV0gPSB0bXAgPiByZXQgPyAodG1wMiA+IHJldCA/IHJldCArIDEgOiB0bXAyKSA6IHRtcDIgPiB0bXAgPyB0bXAgKyAxIDogdG1wMjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmV0O1xuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBsZXZlbjtcbiJdLCJmaWxlIjoibGV2ZW4uanMifQ== | ||
//# sourceMappingURL=leven.js.map |
{ | ||
"name": "@fluentui/react-proptypes", | ||
"description": "Set of custom reusable PropTypes for React components, some of them are specific for Fluent UI.", | ||
"version": "0.52.1-beta.4", | ||
"version": "0.52.1-beta.5", | ||
"author": "Oleksandr Fediashov <olfedias@microsoft.com>", | ||
@@ -15,3 +15,3 @@ "bugs": "https://github.com/microsoft/fluentui/issues", | ||
"@fluentui/scripts": "^1.0.0", | ||
"@types/react": "16.9.42", | ||
"@types/react": "16.8.25", | ||
"lerna-alias": "^3.0.3-0", | ||
@@ -42,3 +42,3 @@ "typescript": "3.7.2" | ||
"types": "dist/es/index.d.ts", | ||
"gitHead": "0fbe379f44167acda2b208e681e92212b12b3df5" | ||
"gitHead": "58c5a8662f3995068109d5777774881942425820" | ||
} |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
18
245463
1519