@universe/address-parser
Advanced tools
Comparing version 0.3.1 to 0.4.0
@@ -142,2 +142,2 @@ "use strict"; | ||
exports.Address = Address; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWRkcmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BZGRyZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUE4SDtBQUU5SCxxQ0FBaUM7QUFDakMsa0RBQW9EO0FBQ3BELG9EQUFtRDtBQUNuRCxzREFBcUQ7QUFDckQsa0RBQW1GO0FBQ25GLDBDQUEyQztBQWMzQyxTQUFTLE1BQU0sQ0FBQyxHQUFHLE1BQXlCO0lBQzFDLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDL0QsQ0FBQztBQUVELDREQUE0RDtBQUM1RCxNQUFNLG9CQUFvQixHQUFHLElBQUksR0FBRyxDQUFDLGlCQUFnQixDQUFDLENBQUM7QUFDdkQsU0FBUyxVQUFVLENBQUMsSUFBbUIsRUFBRSxJQUF1QjtJQUM5RCxJQUFJLENBQUMsSUFBSSxJQUFJLDJCQUFjLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7S0FBRTtJQUVyRCxJQUFJLGFBQWEsR0FBVyxJQUFJLENBQUM7SUFDakMsSUFBSSxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFBRSxhQUFhLEdBQUcsNkJBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDO0tBQUU7SUFFdkYsSUFBSSxDQUFDLElBQUksRUFBRTtRQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztLQUFFO0lBQ3RDLElBQUksMEJBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBYSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3BFLE9BQU8sQ0FBRSw2QkFBZ0IsQ0FBQyx5QkFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFF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bnQiOlsiaW1wb3J0IHsgSVNpdHVzLCBTdGF0ZSwgRmFjaWxpdHlUeXBlLCBTdHJlZXRUeXBlLCBpc0RpcmVjdGlvbmFsLCBDb3VudHJ5LCBnZXRDb3VudHJ5RGVzYywgaXNDb3VudHJ5IH0gZnJvbSAnQHVuaXZlcnNlL21vZGVscyc7XG5cbmltcG9ydCB7IHBhcnNlIH0gZnJvbSAnLi9wYXJzZXInO1xuaW1wb3J0IHsgaXNOdW1iZXJPckNvZGUgfSBmcm9tICcuL3BhcnNlci90b2tlbml6ZXInO1xuaW1wb3J0IHsgdG9EaXJlY3Rpb25hbCB9IGZyb20gJy4vZGF0YS9EaXJlY3Rpb25hbCc7XG5pbXBvcnQgeyBpc1VyYmFuaXphdGlvbiB9IGZyb20gJy4vZGF0YS9GYWNpbGl0eVR5cGUnO1xuaW1wb3J0IHsgaXNTdHJlZXRQcmVmaXgsIHRvU3RyZWV0VHlwZSwgc3RyZWV0VHlwZVN0cmluZyB9IGZyb20gJy4vZGF0YS9TdHJlZXRUeXBlJztcbmltcG9ydCB7IGlzT3JkaW5hbCB9IGZyb20gJy4vcGFyc2VyL3V0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBVU1BTTGFiZWwge1xuICBjYXJlOiBzdHJpbmcgfCBudWxsO1xuICB1cmJhbml6YXRpb246IHN0cmluZyB8IG51bGw7XG4gIGxpbmUxOiBzdHJpbmcgfCBudWxsO1xuICBsaW5lMjogc3RyaW5nIHwgbnVsbDtcbiAgY2l0eTogc3RyaW5nIHwgbnVsbDtcbiAgc3RhdGU6IFN0YXRlIHwgbnVsbDtcbiAgemlwOiBzdHJpbmcgfCBudWxsO1xuICB6aXA0OiBzdHJpbmcgfCBudWxsO1xuICBjb3VudHJ5OiBzdHJpbmcgfCBudWxsO1xufVxuXG5mdW5jdGlvbiBjb25jYXQoLi4udmFsdWVzOiAoc3RyaW5nIHwgbnVsbClbXSk6IHN0cmluZyB7XG4gIHJldHVybiB2YWx1ZXMuZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKS50b1VwcGVyQ2FzZSgpLnRyaW0oKTtcbn1cblxuLy8gVVNQUyBsaWtlcyB0byBmb3JjZSBzb21lIHN0cmVldHMgdG8gYWx3YXlzIGJlIGV4cGFuZGVkLi4uXG5jb25zdCBmb3JjZVN0cmVldEV4cGFuc2lvbiA9IG5ldyBTZXQoW1N0cmVldFR5cGUuUExaXSk7XG5mdW5jdGlvbiBzdHJlZXROYW1lKG5hbWU6IHN0cmluZyB8IG51bGwsIHR5cGU6IFN0cmVldFR5cGUgfCBudWxsKTogKHN0cmluZyB8IG51bGwpW10ge1xuICBpZiAoIXR5cGUgfHwgaXNTdHJlZXRQcmVmaXgodHlwZSkpIHsgcmV0dXJuIFtuYW1lXTsgfVxuXG4gIGxldCBzdHJlZXRUeXBlT3V0OiBzdHJpbmcgPSB0eXBlO1xuICBpZiAoZm9yY2VTdHJlZXRFeHBhbnNpb24uaGFzKHR5cGUpKSB7IHN0cmVldFR5cGVPdXQgPSBzdHJlZXRUeXBlU3RyaW5nKHR5cGUpIHx8IHR5cGU7IH1cblxuICBpZiAoIW5hbWUpIHsgcmV0dXJuIFtzdHJlZXRUeXBlT3V0XTsgfVxuICBpZiAoaXNOdW1iZXJPckNvZGUobmFtZSkgJiYgIWlzT3JkaW5hbChuYW1lKSAmJiAhaXNEaXJlY3Rpb25hbChuYW1lKSkge1xuICAgIHJldHVybiBbIHN0cmVldFR5cGVTdHJpbmcodG9TdHJlZXRUeXBlKHR5cGUpKSwgbmFtZSBdO1xuICB9XG5cbiAgcmV0dXJuIFsgbmFtZSwgc3RyZWV0VHlwZU91dCBdO1xufVxuXG5leHBvcnQgY2xhc3MgQWRkcmVzcyB7XG4gIGFkZHJlc3M6IElTaXR1cztcblxuICBjb25zdHJ1Y3RvciguLi5saW5lczogc3RyaW5nW10gfCBJU2l0dXNbXSkge1xuICAgIGlmICh0eXBlb2YgbGluZXNbMF0gPT09ICdzdHJpbmcnKSB7XG4gICAgICB0aGlzLmFkZHJlc3MgPSBwYXJzZShsaW5lcy5qb2luKCdcXG4nKSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5hZGRyZXNzID0gbGluZXNbMF07XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGxhYmVsKGFkZHI/OiBJU2l0dXMgfCBudWxsKTogVVNQU0xhYmVsIHtcbiAgICBpZiAoIWFkZHIpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNhcmU6IG51bGwsXG4gICAgICAgIHVyYmFuaXphdGlvbjogbnVsbCxcbiAgICAgICAgbGluZTE6IG51bGwsXG4gICAgICAgIGxpbmUyOiBudWxsLFxuICAgICAgICBjaXR5OiBudWxsLFxuICAgICAgICBzdGF0ZTogbnVsbCxcbiAgICAgICAgemlwOiBudWxsLFxuICAgICAgICB6aXA0OiBudWxsLFxuICAgICAgICBjb3VudHJ5OiBudWxsLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICAvLyBUaGlzIGlzIGhvdyBVU1BTIHdhbnRzIFVNUnMgcHJlc2VudGVkLlxuICAgIGlmIChhZGRyLmZhY2lsaXR5VHlwZSA9PT0gRmFjaWxpdHlUeXBlLlVNUikge1xuICAgICAgYWRkci5mYWNpbGl0eVR5cGUgPSAnVU5JVCcgYXMgRmFjaWxpdHlUeXBlO1xuICAgIH1cblxuICAgIGFkZHIuc3RyZWV0UHJlRGlyID0gYWRkci5zdHJlZXRQcmVEaXIgPyB0b0RpcmVjdGlvbmFsKGFkZHIuc3RyZWV0UHJlRGlyKSA6IG51bGw7XG4gICAgYWRkci5zdHJlZXRQb3N0RGlyID0gYWRkci5zdHJlZXRQb3N0RGlyID8gdG9EaXJlY3Rpb25hbChhZGRyLnN0cmVldFBvc3REaXIpIDogbnVsbDtcblxuICAgIC8vIEVuc3VyZSB3ZSBoYXZlIGNsZWFuIFBPIEJveGVzIGZvciBVU1BTLlxuICAgIGlmIChhZGRyLmZhY2lsaXR5VHlwZSA9PT0gRmFjaWxpdHlUeXBlLlBPKSB7XG4gICAgICBhZGRyLmZhY2lsaXR5ID0gbnVsbDtcbiAgICB9XG5cbiAgICBsZXQgc3RyZWV0U2VnbWVudDogc3RyaW5nIHwgbnVsbCA9IGNvbmNhdChcbiAgICAgIGFkZHIuZmFjaWxpdHlUeXBlICYmICFpc1VyYmFuaXphdGlvbihhZGRyLmZhY2lsaXR5VHlwZSkgPyAnJyA6IGFkZHIubnVtYmVyLFxuICAgICAgaXNTdHJlZXRQcmVmaXgoYWRkci5zdHJlZXRUeXBlKSA/IHN0cmVldFR5cGVTdHJpbmcoYWRkci5zdHJlZXRUeXBlKSA6ICcnLFxuICAgICAgYWRkci5zdHJlZXRQcmVEaXIsXG4gICAgICAuLi5zdHJlZXROYW1lKGFkZHIuc3RyZWV0TmFtZSwgYWRkci5zdHJlZXRUeXBlKSxcbiAgICAgIGFkZHIuc3RyZWV0UG9zdERpcixcbiAgICApO1xuICAgIGxldCBmYWNpbGl0eTogc3RyaW5nIHwgbnVsbCA9IGNvbmNhdChhZGRyLmZhY2lsaXR5VHlwZSwgYWRkci5mYWNpbGl0eSwgYWRkci5mYWNpbGl0eVR5cGUgPyBhZGRyLm51bWJlciA6ICcnKTtcbiAgICBjb25zdCBQSU4gPSBjb25jYXQoYWRkci5waW5UeXBlIHx8IChhZGRyLnBpbk51bSAmJiAnIycpLCBhZGRyLnBpbk51bSk7XG4gICAgY29uc3QgdW5pdCA9IGNvbmNhdChhZGRyLnVuaXRBYmJyIHx8IChhZGRyLnVuaXROdW0gJiYgJyMnKSwgYWRkci51bml0TnVtKTtcblxuICAgIGxldCB1cmJhbml6YXRpb24gPSBudWxsO1xuICAgIGlmIChpc1VyYmFuaXphdGlvbihhZGRyLmZhY2lsaXR5VHlwZSkpIHtcbiAgICAgIHVyYmFuaXphdGlvbiA9IGNvbmNhdChhZGRyLmZhY2lsaXR5VHlwZSwgYWRkci5mYWNpbGl0eSk7XG4gICAgICBmYWNpbGl0eSA9IG51bGw7XG4gICAgfVxuXG4gICAgaWYgKGFkZHIuZmFjaWxpdHlUeXBlID09PSBGYWNpbGl0eVR5cGUuUE8pIHtcbiAgICAgIHN0cmVldFNlZ21lbnQgPSBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGxpbmUyID0gbnVsbDtcbiAgICBpZiAodW5pdCB8fCBQSU4pIHtcbiAgICAgIGlmICgoZmFjaWxpdHkgJiYgc3RyZWV0U2VnbWVudCkgfHwgKGFkZHIuZmFjaWxpdHlUeXBlID09PSBGYWNpbGl0eVR5cGUuUE8pKSB7XG4gICAgICAgIGZhY2lsaXR5ID0gY29uY2F0KGZhY2lsaXR5LCB1bml0KTtcbiAgICAgICAgZmFjaWxpdHkgPSBjb25jYXQoZmFjaWxpdHksIFBJTik7XG4gICAgICB9XG5cbiAgICAgIGVsc2UgaWYgKHN0cmVldFNlZ21lbnQpIHtcbiAgICAgICAgc3RyZWV0U2VnbWVudCA9IGNvbmNhdChzdHJlZXRTZWdtZW50LCB1bml0KTtcbiAgICAgICAgc3RyZWV0U2VnbWVudCA9IGNvbmNhdChzdHJlZXRTZWdtZW50LCBQSU4pO1xuICAgICAgfVxuXG4gICAgICBlbHNlIHtcbiAgICAgICAgZmFjaWxpdHkgPSBjb25jYXQoZmFjaWxpdHksIHVuaXQpO1xuICAgICAgICBmYWNpbGl0eSA9IGNvbmNhdChmYWNpbGl0eSwgUElOKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBpZiAoUElOKSB7XG4gICAgLy8gICBpZiAoIWZhY2lsaXR5ICYmIHN0cmVldFNlZ21lbnQgJiYgIWFkZHIucGluVHlwZSkge1xuICAgIC8vICAgfVxuICAgIC8vIH1cblxuICAgIHJldHVybiB7XG4gICAgICBjYXJlOiBhZGRyLmNhcmUgPyBhZGRyLmNhcmUudG9VcHBlckNhc2UoKSA6IG51bGwsXG4gICAgICB1cmJhbml6YXRpb24sXG4gICAgICBsaW5lMTogZmFjaWxpdHkgfHwgc3RyZWV0U2VnbWVudCxcbiAgICAgIGxpbmUyOiAoKGZhY2lsaXR5ICYmIHN0cmVldFNlZ21lbnQpID8gc3RyZWV0U2VnbWVudCA6IGxpbmUyKSB8fCBudWxsLFxuICAgICAgY2l0eTogYWRkci5jaXR5ID8gYWRkci5jaXR5LnRvVXBwZXJDYXNlKCkgOiBudWxsLFxuICAgICAgc3RhdGU6IGFkZHIuc3RhdGUgPyBhZGRyLnN0YXRlIDogbnVsbCxcbiAgICAgIHppcDogYWRkci56aXAgfHwgbnVsbCxcbiAgICAgIHppcDQ6IGFkZHIuemlwNCB8fCBudWxsLFxuICAgICAgY291bnRyeTogYWRkci5jb3VudHJ5IHx8IG51bGwsXG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBsaW5lcyhhZGRyPzogSVNpdHVzIHwgbnVsbCk6IFtzdHJpbmcgfCBudWxsLCBzdHJpbmcgfCBudWxsLCBzdHJpbmcgfCBudWxsLCBzdHJpbmcgfCBudWxsXSB7XG4gICAgaWYgKCFhZGRyKSB7IHJldHVybiBbIG51bGwsIG51bGwsIG51bGwsIG51bGwgXTsgfVxuICAgIGNvbnN0IGxhYmVsID0gQWRkcmVzcy5sYWJlbChhZGRyKTtcbiAgICBjb25zdCBvdXQgPSBbXG4gICAgICBsYWJlbC5jYXJlLFxuICAgICAgbGFiZWwudXJiYW5pemF0aW9uLFxuICAgICAgWyBsYWJlbC5saW5lMSwgbGFiZWwubGluZTIgXS5maWx0ZXIoQm9vbGVhbikuam9pbignICcpLnRyaW0oKSxcbiAgICAgIFsgbGFiZWwuY2l0eSwgbGFiZWwuc3RhdGUsIGxhYmVsLnppcCA/IGAgJHtsYWJlbC56aXB9YCA6IG51bGwgXS5maWx0ZXIoQm9vbGVhbikuam9pbignICcpLnRyaW0oKSxcbiAgICBdLmZpbHRlcihCb29sZWFuKTtcbiAgICBpZiAoaXNDb3VudHJ5KGxhYmVsLmNvdW50cnkpICYmIGxhYmVsLmNvdW50cnkgIT09IENvdW50cnkuVVNBKSB7XG4gICAgICBjb25zdCBuYW1lID0gZ2V0Q291bnRyeURlc2MobGFiZWwuY291bnRyeSk/Lm5hbWU7XG4gICAgICBuYW1lICYmIG91dC5wdXNoKG5hbWUudG9VcHBlckNhc2UoKSk7XG4gICAgfVxuICAgIHJldHVybiBbXG4gICAgICBvdXRbMF0gfHwgbnVsbCxcbiAgICAgIG91dFsxXSB8fCBudWxsLFxuICAgICAgb3V0WzJdIHx8IG51bGwsXG4gICAgICBvdXRbM10gfHwgbnVsbCxcbiAgICBdO1xuICB9XG5cbiAgc3RhdGljIHByaW50KGFkZHI/OiBJU2l0dXMgfCBudWxsKTogc3RyaW5nIHtcbiAgICBpZiAoIWFkZHIpIHsgcmV0dXJuICcnOyB9XG4gICAgcmV0dXJuIEFkZHJlc3MubGluZXMoYWRkcikuZmlsdGVyKEJvb2xlYW4pLmpvaW4oJ1xcbicpO1xuICB9XG5cbiAgcHVibGljIGxhYmVsKCkgeyByZXR1cm4gQWRkcmVzcy5sYWJlbCh0aGlzLmFkZHJlc3MpOyB9XG4gIHB1YmxpYyBsaW5lcygpIHsgcmV0dXJuIEFkZHJlc3MubGluZXModGhpcy5hZGRyZXNzKTsgfVxuICBwdWJsaWMgcHJpbnQoKSB7IHJldHVybiBBZGRyZXNzLnByaW50KHRoaXMuYWRkcmVzcyk7IH1cbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWRkcmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BZGRyZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUE4SDtBQUU5SCxxQ0FBaUM7QUFDakMsa0RBQW9EO0FBQ3BELG9EQUFtRDtBQUNuRCxzREFBcUQ7QUFDckQsa0RBQW1GO0FBQ25GLDBDQUEyQztBQWMzQyxTQUFTLE1BQU0sQ0FBQyxHQUFHLE1BQXlCO0lBQzFDLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDL0QsQ0FBQztBQUVELDREQUE0RDtBQUM1RCxNQUFNLG9CQUFvQixHQUFHLElBQUksR0FBRyxDQUFDLGlCQUFnQixDQUFDLENBQUM7QUFDdkQsU0FBUyxVQUFVLENBQUMsSUFBbUIsRUFBRSxJQUF1QjtJQUM5RCxJQUFJLENBQUMsSUFBSSxJQUFJLDJCQUFjLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7S0FBRTtJQUVyRCxJQUFJLGFBQWEsR0FBVyxJQUFJLENBQUM7SUFDakMsSUFBSSxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFBRSxhQUFhLEdBQUcsNkJBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDO0tBQUU7SUFFdkYsSUFBSSxDQUFDLElBQUksRUFBRTtRQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztLQUFFO0lBQ3RDLElBQUksMEJBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBYSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3BFLE9BQU8sQ0FBRSw2QkFBZ0IsQ0FBQyx5QkFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFF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dGVudCI6WyJpbXBvcnQgeyBJU2l0dXMsIFN0YXRlLCBGYWNpbGl0eVR5cGUsIFN0cmVldFR5cGUsIGlzRGlyZWN0aW9uYWwsIENvdW50cnksIGdldENvdW50cnlEZXNjLCBpc0NvdW50cnkgfSBmcm9tICdAdW5pdmVyc2UvbW9kZWxzJztcblxuaW1wb3J0IHsgcGFyc2UgfSBmcm9tICcuL3BhcnNlcic7XG5pbXBvcnQgeyBpc051bWJlck9yQ29kZSB9IGZyb20gJy4vcGFyc2VyL3Rva2VuaXplcic7XG5pbXBvcnQgeyB0b0RpcmVjdGlvbmFsIH0gZnJvbSAnLi9kYXRhL0RpcmVjdGlvbmFsJztcbmltcG9ydCB7IGlzVXJiYW5pemF0aW9uIH0gZnJvbSAnLi9kYXRhL0ZhY2lsaXR5VHlwZSc7XG5pbXBvcnQgeyBpc1N0cmVldFByZWZpeCwgdG9TdHJlZXRUeXBlLCBzdHJlZXRUeXBlU3RyaW5nIH0gZnJvbSAnLi9kYXRhL1N0cmVldFR5cGUnO1xuaW1wb3J0IHsgaXNPcmRpbmFsIH0gZnJvbSAnLi9wYXJzZXIvdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVTUFNMYWJlbCB7XG4gIGNhcmU6IHN0cmluZyB8IG51bGw7XG4gIHVyYmFuaXphdGlvbjogc3RyaW5nIHwgbnVsbDtcbiAgbGluZTE6IHN0cmluZyB8IG51bGw7XG4gIGxpbmUyOiBzdHJpbmcgfCBudWxsO1xuICBjaXR5OiBzdHJpbmcgfCBudWxsO1xuICBzdGF0ZTogU3RhdGUgfCBudWxsO1xuICB6aXA6IHN0cmluZyB8IG51bGw7XG4gIHppcDQ6IHN0cmluZyB8IG51bGw7XG4gIGNvdW50cnk6IHN0cmluZyB8IG51bGw7XG59XG5cbmZ1bmN0aW9uIGNvbmNhdCguLi52YWx1ZXM6IChzdHJpbmcgfCBudWxsKVtdKTogc3RyaW5nIHtcbiAgcmV0dXJuIHZhbHVlcy5maWx0ZXIoQm9vbGVhbikuam9pbignICcpLnRvVXBwZXJDYXNlKCkudHJpbSgpO1xufVxuXG4vLyBVU1BTIGxpa2VzIHRvIGZvcmNlIHNvbWUgc3RyZWV0cyB0byBhbHdheXMgYmUgZXhwYW5kZWQuLi5cbmNvbnN0IGZvcmNlU3RyZWV0RXhwYW5zaW9uID0gbmV3IFNldChbU3RyZWV0VHlwZS5QTFpdKTtcbmZ1bmN0aW9uIHN0cmVldE5hbWUobmFtZTogc3RyaW5nIHwgbnVsbCwgdHlwZTogU3RyZWV0VHlwZSB8IG51bGwpOiAoc3RyaW5nIHwgbnVsbClbXSB7XG4gIGlmICghdHlwZSB8fCBpc1N0cmVldFByZWZpeCh0eXBlKSkgeyByZXR1cm4gW25hbWVdOyB9XG5cbiAgbGV0IHN0cmVldFR5cGVPdXQ6IHN0cmluZyA9IHR5cGU7XG4gIGlmIChmb3JjZVN0cmVldEV4cGFuc2lvbi5oYXModHlwZSkpIHsgc3RyZWV0VHlwZU91dCA9IHN0cmVldFR5cGVTdHJpbmcodHlwZSkgfHwgdHlwZTsgfVxuXG4gIGlmICghbmFtZSkgeyByZXR1cm4gW3N0cmVldFR5cGVPdXRdOyB9XG4gIGlmIChpc051bWJlck9yQ29kZShuYW1lKSAmJiAhaXNPcmRpbmFsKG5hbWUpICYmICFpc0RpcmVjdGlvbmFsKG5hbWUpKSB7XG4gICAgcmV0dXJuIFsgc3RyZWV0VHlwZVN0cmluZyh0b1N0cmVldFR5cGUodHlwZSkpLCBuYW1lIF07XG4gIH1cblxuICByZXR1cm4gWyBuYW1lLCBzdHJlZXRUeXBlT3V0IF07XG59XG5cbmV4cG9ydCBjbGFzcyBBZGRyZXNzIHtcbiAgYWRkcmVzczogSVNpdHVzO1xuXG4gIGNvbnN0cnVjdG9yKC4uLmxpbmVzOiBzdHJpbmdbXSB8IElTaXR1c1tdKSB7XG4gICAgaWYgKHR5cGVvZiBsaW5lc1swXSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHRoaXMuYWRkcmVzcyA9IHBhcnNlKGxpbmVzLmpvaW4oJ1xcbicpKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLmFkZHJlc3MgPSBsaW5lc1swXTtcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgbGFiZWwoYWRkcj86IElTaXR1cyB8IG51bGwpOiBVU1BTTGFiZWwge1xuICAgIGlmICghYWRkcikge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY2FyZTogbnVsbCxcbiAgICAgICAgdXJiYW5pemF0aW9uOiBudWxsLFxuICAgICAgICBsaW5lMTogbnVsbCxcbiAgICAgICAgbGluZTI6IG51bGwsXG4gICAgICAgIGNpdHk6IG51bGwsXG4gICAgICAgIHN0YXRlOiBudWxsLFxuICAgICAgICB6aXA6IG51bGwsXG4gICAgICAgIHppcDQ6IG51bGwsXG4gICAgICAgIGNvdW50cnk6IG51bGwsXG4gICAgICB9O1xuICAgIH1cblxuICAgIC8vIFRoaXMgaXMgaG93IFVTUFMgd2FudHMgVU1ScyBwcmVzZW50ZWQuXG4gICAgaWYgKGFkZHIuZmFjaWxpdHlUeXBlID09PSBGYWNpbGl0eVR5cGUuVU1SKSB7XG4gICAgICBhZGRyLmZhY2lsaXR5VHlwZSA9ICdVTklUJyBhcyBGYWNpbGl0eVR5cGU7XG4gICAgfVxuXG4gICAgYWRkci5zdHJlZXRQcmVEaXIgPSBhZGRyLnN0cmVldFByZURpciA/IHRvRGlyZWN0aW9uYWwoYWRkci5zdHJlZXRQcmVEaXIpIDogbnVsbDtcbiAgICBhZGRyLnN0cmVldFBvc3REaXIgPSBhZGRyLnN0cmVldFBvc3REaXIgPyB0b0RpcmVjdGlvbmFsKGFkZHIuc3RyZWV0UG9zdERpcikgOiBudWxsO1xuXG4gICAgLy8gRW5zdXJlIHdlIGhhdmUgY2xlYW4gUE8gQm94ZXMgZm9yIFVTUFMuXG4gICAgaWYgKGFkZHIuZmFjaWxpdHlUeXBlID09PSBGYWNpbGl0eVR5cGUuUE8pIHtcbiAgICAgIGFkZHIuZmFjaWxpdHkgPSBudWxsO1xuICAgIH1cblxuICAgIGxldCBzdHJlZXRTZWdtZW50OiBzdHJpbmcgfCBudWxsID0gY29uY2F0KFxuICAgICAgYWRkci5mYWNpbGl0eVR5cGUgJiYgIWlzVXJiYW5pemF0aW9uKGFkZHIuZmFjaWxpdHlUeXBlKSA/ICcnIDogYWRkci5udW1iZXIsXG4gICAgICBpc1N0cmVldFByZWZpeChhZGRyLnN0cmVldFR5cGUpID8gc3RyZWV0VHlwZVN0cmluZyhhZGRyLnN0cmVldFR5cGUpIDogJycsXG4gICAgICBhZGRyLnN0cmVldFByZURpcixcbiAgICAgIC4uLnN0cmVldE5hbWUoYWRkci5zdHJlZXROYW1lLCBhZGRyLnN0cmVldFR5cGUpLFxuICAgICAgYWRkci5zdHJlZXRQb3N0RGlyLFxuICAgICk7XG4gICAgbGV0IGZhY2lsaXR5OiBzdHJpbmcgfCBudWxsID0gY29uY2F0KGFkZHIuZmFjaWxpdHlUeXBlLCBhZGRyLmZhY2lsaXR5LCBhZGRyLmZhY2lsaXR5VHlwZSA/IGFkZHIubnVtYmVyIDogJycpO1xuICAgIGNvbnN0IFBJTiA9IGNvbmNhdChhZGRyLnBpblR5cGUgfHwgKGFkZHIucGluTnVtICYmICcjJyksIGFkZHIucGluTnVtKTtcbiAgICBjb25zdCB1bml0ID0gY29uY2F0KGFkZHIudW5pdEFiYnIgfHwgKGFkZHIudW5pdE51bSAmJiAnIycpLCBhZGRyLnVuaXROdW0pO1xuXG4gICAgbGV0IHVyYmFuaXphdGlvbiA9IG51bGw7XG4gICAgaWYgKGlzVXJiYW5pemF0aW9uKGFkZHIuZmFjaWxpdHlUeXBlKSkge1xuICAgICAgdXJiYW5pemF0aW9uID0gY29uY2F0KGFkZHIuZmFjaWxpdHlUeXBlLCBhZGRyLmZhY2lsaXR5KTtcbiAgICAgIGZhY2lsaXR5ID0gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoYWRkci5mYWNpbGl0eVR5cGUgPT09IEZhY2lsaXR5VHlwZS5QTykge1xuICAgICAgc3RyZWV0U2VnbWVudCA9IG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgbGluZTIgPSBudWxsO1xuICAgIGlmICh1bml0IHx8IFBJTikge1xuICAgICAgaWYgKChmYWNpbGl0eSAmJiBzdHJlZXRTZWdtZW50KSB8fCAoYWRkci5mYWNpbGl0eVR5cGUgPT09IEZhY2lsaXR5VHlwZS5QTykpIHtcbiAgICAgICAgZmFjaWxpdHkgPSBjb25jYXQoZmFjaWxpdHksIHVuaXQpO1xuICAgICAgICBmYWNpbGl0eSA9IGNvbmNhdChmYWNpbGl0eSwgUElOKTtcbiAgICAgIH1cblxuICAgICAgZWxzZSBpZiAoc3RyZWV0U2VnbWVudCkge1xuICAgICAgICBzdHJlZXRTZWdtZW50ID0gY29uY2F0KHN0cmVldFNlZ21lbnQsIHVuaXQpO1xuICAgICAgICBzdHJlZXRTZWdtZW50ID0gY29uY2F0KHN0cmVldFNlZ21lbnQsIFBJTik7XG4gICAgICB9XG5cbiAgICAgIGVsc2Uge1xuICAgICAgICBmYWNpbGl0eSA9IGNvbmNhdChmYWNpbGl0eSwgdW5pdCk7XG4gICAgICAgIGZhY2lsaXR5ID0gY29uY2F0KGZhY2lsaXR5LCBQSU4pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGlmIChQSU4pIHtcbiAgICAvLyAgIGlmICghZmFjaWxpdHkgJiYgc3RyZWV0U2VnbWVudCAmJiAhYWRkci5waW5UeXBlKSB7XG4gICAgLy8gICB9XG4gICAgLy8gfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNhcmU6IGFkZHIuY2FyZSA/IGFkZHIuY2FyZS50b1VwcGVyQ2FzZSgpIDogbnVsbCxcbiAgICAgIHVyYmFuaXphdGlvbixcbiAgICAgIGxpbmUxOiBmYWNpbGl0eSB8fCBzdHJlZXRTZWdtZW50LFxuICAgICAgbGluZTI6ICgoZmFjaWxpdHkgJiYgc3RyZWV0U2VnbWVudCkgPyBzdHJlZXRTZWdtZW50IDogbGluZTIpIHx8IG51bGwsXG4gICAgICBjaXR5OiBhZGRyLmNpdHkgPyBhZGRyLmNpdHkudG9VcHBlckNhc2UoKSA6IG51bGwsXG4gICAgICBzdGF0ZTogYWRkci5zdGF0ZSA/IGFkZHIuc3RhdGUgOiBudWxsLFxuICAgICAgemlwOiBhZGRyLnppcCB8fCBudWxsLFxuICAgICAgemlwNDogYWRkci56aXA0IHx8IG51bGwsXG4gICAgICBjb3VudHJ5OiBhZGRyLmNvdW50cnkgfHwgbnVsbCxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGxpbmVzKGFkZHI/OiBJU2l0dXMgfCBudWxsKTogW3N0cmluZyB8IG51bGwsIHN0cmluZyB8IG51bGwsIHN0cmluZyB8IG51bGwsIHN0cmluZyB8IG51bGxdIHtcbiAgICBpZiAoIWFkZHIpIHsgcmV0dXJuIFsgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCBdOyB9XG4gICAgY29uc3QgbGFiZWwgPSBBZGRyZXNzLmxhYmVsKGFkZHIpO1xuICAgIGNvbnN0IG91dCA9IFtcbiAgICAgIGxhYmVsLmNhcmUsXG4gICAgICBsYWJlbC51cmJhbml6YXRpb24sXG4gICAgICBbIGxhYmVsLmxpbmUxLCBsYWJlbC5saW5lMiBdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJykudHJpbSgpLFxuICAgICAgWyBsYWJlbC5jaXR5LCBsYWJlbC5zdGF0ZSwgbGFiZWwuemlwID8gYCAke2xhYmVsLnppcH1gIDogbnVsbCBdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJykudHJpbSgpLFxuICAgIF0uZmlsdGVyKEJvb2xlYW4pO1xuICAgIGlmIChpc0NvdW50cnkobGFiZWwuY291bnRyeSkgJiYgbGFiZWwuY291bnRyeSAhPT0gQ291bnRyeS5VU0EpIHtcbiAgICAgIGNvbnN0IG5hbWUgPSBnZXRDb3VudHJ5RGVzYyhsYWJlbC5jb3VudHJ5KT8ubmFtZTtcbiAgICAgIG5hbWUgJiYgb3V0LnB1c2gobmFtZS50b1VwcGVyQ2FzZSgpKTtcbiAgICB9XG4gICAgcmV0dXJuIFtcbiAgICAgIG91dFswXSB8fCBudWxsLFxuICAgICAgb3V0WzFdIHx8IG51bGwsXG4gICAgICBvdXRbMl0gfHwgbnVsbCxcbiAgICAgIG91dFszXSB8fCBudWxsLFxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgcHJpbnQoYWRkcj86IElTaXR1cyB8IG51bGwpOiBzdHJpbmcge1xuICAgIGlmICghYWRkcikgeyByZXR1cm4gJyc7IH1cbiAgICByZXR1cm4gQWRkcmVzcy5saW5lcyhhZGRyKS5maWx0ZXIoQm9vbGVhbikuam9pbignXFxuJyk7XG4gIH1cblxuICBwdWJsaWMgbGFiZWwoKTogVVNQU0xhYmVsIHsgcmV0dXJuIEFkZHJlc3MubGFiZWwodGhpcy5hZGRyZXNzKTsgfVxuICBwdWJsaWMgbGluZXMoKTogW3N0cmluZyB8IG51bGwsIHN0cmluZyB8IG51bGwsIHN0cmluZyB8IG51bGwsIHN0cmluZyB8IG51bGxdIHsgcmV0dXJuIEFkZHJlc3MubGluZXModGhpcy5hZGRyZXNzKTsgfVxuICBwdWJsaWMgcHJpbnQoKTogc3RyaW5nIHsgcmV0dXJuIEFkZHJlc3MucHJpbnQodGhpcy5hZGRyZXNzKTsgfVxufVxuIl19 |
@@ -37,2 +37,3 @@ "use strict"; | ||
["YT" /* YT */]: ['Yacht'], | ||
["DORM" /* DORM */]: ['Dorm', 'Dormitory'], | ||
}; | ||
@@ -66,2 +67,2 @@ exports.UnitAbbrsMappings = {}; | ||
exports.isUnitEnum = isUnitEnum; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVW5pdEFiYnIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGF0YS9Vbml0QWJici50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSwyQ0FBNEM7QUFFL0IsUUFBQSxlQUFlLEdBQW9DO0lBQzlELGlCQUFjLEVBQUUsQ0FBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxhQUFhLENBQUU7SUFDN0QsbUJBQWUsRUFBRSxDQUFDLFVBQVUsQ0FBQztJQUM3QixtQkFBZSxFQUFFLENBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUU7SUFDbEQsaUJBQWMsRUFBRSxDQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFFO0lBQ2xILG1CQUFlLEVBQUUsQ0FBQyxZQUFZLENBQUM7SUFDL0IsZUFBYSxFQUFFLENBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUU7SUFDekMsbUJBQWUsRUFBRSxDQUFDLE9BQU8sQ0FBQztJQUMxQixtQkFBZSxFQUFFLENBQUMsUUFBUSxDQUFDO0lBQzNCLGlCQUFjLEVBQUUsQ0FBQyxLQUFLLENBQUM7SUFDdkIsbUJBQWUsRUFBRSxDQUFDLE9BQU8sQ0FBQztJQUMxQixpQkFBYyxFQUFFLENBQUMsS0FBSyxDQUFDO0lBQ3ZCLG1CQUFlLEVBQUUsQ0FBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFFO0lBQy9ELGlCQUFjLEVBQUUsQ0FBQyxRQUFRLENBQUM7SUFDMUIsZUFBYSxFQUFFLENBQUMsV0FBVyxDQUFDO0lBQzVCLG1CQUFlLEVBQUUsQ0FBQyxNQUFNLENBQUM7SUFDekIsbUJBQWUsRUFBRSxDQUFDLE1BQU0sQ0FBQztJQUN6QixlQUFhLEVBQUUsQ0FBQyxNQUFNLENBQUM7SUFDdkIsbUJBQWUsRUFBRSxDQUFDLE1BQU0sQ0FBQztJQUN6QixtQkFBZSxFQUFFLENBQUMsTUFBTSxDQUFDO0lBQ3pCLGlCQUFjLEVBQUUsQ0FBQyxPQUFPLENBQUM7SUFDekIsbUJBQWUsRUFBRSxDQUFDLE1BQU0sQ0FBQztJQUN6QixpQkFBYyxFQUFFLENBQUMsT0FBTyxDQUFDO0lBQ3pCLG1CQUFlLEVBQUUsQ0FBQyxTQUFTLENBQUM7SUFDNUIsbUJBQWUsRUFBRSxDQUFDLE1BQU0sQ0FBQztJQUN6QixtQkFBZSxFQUFFLENBQUMsT0FBTyxDQUFDO0lBRTFCLGVBQWU7SUFDZixlQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUM7SUFDekIsaUJBQWMsRUFBRSxDQUFDLE1BQU0sQ0FBQztJQUN4QixlQUFhLEVBQUUsQ0FBRSxPQUFPLEVBQUUsS0FBSyxDQUFFO0lBQ2pDLHlCQUFrQixFQUFFLENBQUMsU0FBUyxDQUFDO0lBQy9CLGVBQWEsRUFBRSxDQUFDLE9BQU8sQ0FBQztDQUN6QixDQUFDO0FBRVcsUUFBQSxpQkFBaUIsR0FBZ0MsRUFBRSxDQUFDO0FBQ2pFLEtBQUssTUFBTSxJQUFJLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyx1QkFBZSxDQUFlLEVBQUU7SUFDN0QseUJBQWlCLENBQUMsaUJBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztJQUMxQyxLQUFLLE1BQU0sR0FBRyxJQUFJLHVCQUFlLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDdkMseUJBQWlCLENBQUMsaUJBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztLQUMxQztDQUNGO0FBRUQsU0FBZ0IsVUFBVSxDQUFDLElBQVk7SUFDckMsT0FBTyx5QkFBaUIsQ0FBQyxpQkFBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDNUMsQ0FBQztBQUZELGdDQUVDO0FBRUQsU0FBZ0IsY0FBYyxDQUFDLElBQXFCO0lBQ2xELElBQUksSUFBSSxLQUFLLElBQUksRUFBRTtRQUFFLE9BQU8sSUFBSSxDQUFDO0tBQUU7SUFDbkMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixPQUFPLHVCQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEMsQ0FBQztBQUpELHdDQUlDO0FBRUQsU0FBZ0IsVUFBVSxDQUFDLElBQVk7SUFDckMsT0FBTyxDQUFDLENBQUMseUJBQWlCLENBQUMsaUJBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQzlDLENBQUM7QUFGRCxnQ0FFQztBQUVELFNBQWdCLFVBQVUsQ0FBQyxJQUFZO0lBQ3JDLE9BQU8sQ0FBQyxDQUFDLHVCQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7QUFDL0MsQ0FBQztBQUZELGdDQUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVW5pdEFiYnIgfSBmcm9tICdAdW5pdmVyc2UvbW9kZWxzJztcblxuaW1wb3J0IHsgbm9ybWFsaXplIH0gZnJvbSAnLi4vcGFyc2VyL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IFVuaXRBYmJyU3RyaW5nczogeyBba2V5IGluIFVuaXRBYmJyXTogc3RyaW5nW10gfSA9IHtcbiAgW1VuaXRBYmJyLkFQVF06IFsgJ0FwYXJ0bWVudCcsICdBUFAnLCAnQVBQVCcsICdBcGFydGFtZW50bycgXSxcbiAgW1VuaXRBYmJyLkJTTVRdOiBbJ0Jhc2VtZW50J10sXG4gIFtVbml0QWJici5CTERHXTogWyAnQnVpbGRpbmcnLCAnRWRpZmljaW8nLCAnQkxEJyBdLFxuICBbVW5pdEFiYnIuQk9YXTogWyAnQm94JywgJ0NBTExFUicsICdGSVJNJywgJ0JJTicsICdMT0NLQk9YJywgJ0RSQVdFUicsICdCT1hYJywgJ0JYJywgJ1BPJywgJ1BPQicsICdCVVpPTicsICdCWk4nIF0sXG4gIFtVbml0QWJici5ERVBUXTogWydEZXBhcnRtZW50J10sXG4gIFtVbml0QWJici5GTF06IFsgJ0Zsb29yJywgJ0ZMUicsICdGTE9PJyBdLFxuICBbVW5pdEFiYnIuRlJOVF06IFsnRnJvbnQnXSxcbiAgW1VuaXRBYmJyLkhOR1JdOiBbJ0hhbmdlciddLFxuICBbVW5pdEFiYnIuS0VZXTogWydLZXknXSxcbiAgW1VuaXRBYmJyLkxCQlldOiBbJ0xvYmJ5J10sXG4gIFtVbml0QWJici5MT1RdOiBbJ0xvdCddLFxuICBbVW5pdEFiYnIuTE9XUl06IFsgJ0xvd2VyJywgJ0xXUicsICdCb3R0b20nLCAnQlRUTScsICdHcm91bmQnIF0sXG4gIFtVbml0QWJici5PRkNdOiBbJ09mZmljZSddLFxuICBbVW5pdEFiYnIuUEhdOiBbJ1BlbnRob3VzZSddLFxuICBbVW5pdEFiYnIuUElFUl06IFsnUGllciddLFxuICBbVW5pdEFiYnIuUkVBUl06IFsnUmVhciddLFxuICBbVW5pdEFiYnIuUk1dOiBbJ1Jvb20nXSxcbiAgW1VuaXRBYmJyLlNJREVdOiBbJ1NpZGUnXSxcbiAgW1VuaXRBYmJyLlNMSVBdOiBbJ1NsaXAnXSxcbiAgW1VuaXRBYmJyLlNQQ106IFsnU3BhY2UnXSxcbiAgW1VuaXRBYmJyLlNUT1BdOiBbJ1N0b3AnXSxcbiAgW1VuaXRBYmJyLlNURV06IFsnU3VpdGUnXSxcbiAgW1VuaXRBYmJyLlRSTFJdOiBbJ1RyYWlsZXInXSxcbiAgW1VuaXRBYmJyLlVOSVRdOiBbJ1VuaXQnXSxcbiAgW1VuaXRBYmJyLlVQUFJdOiBbJ1VwcGVyJ10sXG5cbiAgLy8gTm9uIFN0YW5kYXJkXG4gIFtVbml0QWJici5OT106IFsnTnVtYmVyJ10sXG4gIFtVbml0QWJici5MRlRdOiBbJ0xvZnQnXSxcbiAgW1VuaXRBYmJyLkxWXTogWyAnTGV2ZWwnLCAnTFZMJyBdLFxuICBbVW5pdEFiYnIuQ09UVEFHRV06IFsnQ290dGFnZSddLFxuICBbVW5pdEFiYnIuWVRdOiBbJ1lhY2h0J10sXG59O1xuXG5leHBvcnQgY29uc3QgVW5pdEFiYnJzTWFwcGluZ3M6IHsgW2tleTogc3RyaW5nXTogVW5pdEFiYnIgfSA9IHt9O1xuZm9yIChjb25zdCBhYmJyIG9mIE9iamVjdC5rZXlzKFVuaXRBYmJyU3RyaW5ncykgYXMgVW5pdEFiYnJbXSkge1xuICBVbml0QWJicnNNYXBwaW5nc1tub3JtYWxpemUoYWJicildID0gYWJicjtcbiAgZm9yIChjb25zdCBzdHIgb2YgVW5pdEFiYnJTdHJpbmdzW2FiYnJdKSB7XG4gICAgVW5pdEFiYnJzTWFwcGluZ3Nbbm9ybWFsaXplKHN0cildID0gYWJicjtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9Vbml0QWJicihhYmJyOiBzdHJpbmcpOiBVbml0QWJiciB7XG4gIHJldHVybiBVbml0QWJicnNNYXBwaW5nc1tub3JtYWxpemUoYWJicildO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdW5pdEFiYnJTdHJpbmcoYWJicjogVW5pdEFiYnIgfCBudWxsKTogc3RyaW5nIHwgbnVsbCB7XG4gIGlmIChhYmJyID09PSBudWxsKSB7IHJldHVybiBudWxsOyB9XG4gIGFiYnIgPSB0b1VuaXRBYmJyKGFiYnIpO1xuICByZXR1cm4gVW5pdEFiYnJTdHJpbmdzW2FiYnJdWzBdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNVbml0QWJicihhYmJyOiBzdHJpbmcpOiBhYmJyIGlzIFVuaXRBYmJyIHtcbiAgcmV0dXJuICEhVW5pdEFiYnJzTWFwcGluZ3Nbbm9ybWFsaXplKGFiYnIpXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVW5pdEVudW0oYWJicjogc3RyaW5nKTogYWJiciBpcyBVbml0QWJiciB7XG4gIHJldHVybiAhIVVuaXRBYmJyU3RyaW5nc1thYmJyLnRvVXBwZXJDYXNlKCldO1xufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVW5pdEFiYnIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGF0YS9Vbml0QWJici50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSwyQ0FBNEM7QUFFL0IsUUFBQSxlQUFlLEdBQW9DO0lBQzlELGlCQUFjLEVBQUUsQ0FBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxhQUFhLENBQUU7SUFDN0QsbUJBQWUsRUFBRSxDQUFDLFVBQVUsQ0FBQztJQUM3QixtQkFBZSxFQUFFLENBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUU7SUFDbEQsaUJBQWMsRUFBRSxDQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFFO0lBQ2xILG1CQUFlLEVBQUUsQ0FBQyxZQUFZLENBQUM7SUFDL0IsZUFBYSxFQUFFLENBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUU7SUFDekMsbUJBQWUsRUFBRSxDQUFDLE9BQU8sQ0FBQztJQUMxQixtQkFBZSxFQUFFLENBQUMsUUFBUSxDQUFDO0lBQzNCLGlCQUFjLEVBQUUsQ0FBQyxLQUFLLENBQUM7SUFDdkIsbUJBQWUsRUFBRSxDQUFDLE9BQU8sQ0FBQztJQUMxQixpQkFBYyxFQUFFLENBQUMsS0FBSyxDQUFDO0lBQ3ZCLG1CQUFlLEVBQUUsQ0FBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFFO0lBQy9ELGlCQUFjLEVBQUUsQ0FBQyxRQUFRLENBQUM7SUFDMUIsZUFBYSxFQUFFLENBQUMsV0FBVyxDQUFDO0lBQzVCLG1CQUFlLEVBQUUsQ0FBQyxNQUFNLENBQUM7SUFDekIsbUJBQWUsRUFBRSxDQUFDLE1BQU0sQ0FBQztJQUN6QixlQUFhLEVBQUUsQ0FBQyxNQUFNLENBQUM7SUFDdkIsbUJBQWUsRUFBRSxDQUFDLE1BQU0sQ0FBQztJQUN6QixtQkFBZSxFQUFFLENBQUMsTUFBTSxDQUFDO0lBQ3pCLGlCQUFjLEVBQUUsQ0FBQyxPQUFPLENBQUM7SUFDekIsbUJBQWUsRUFBRSxDQUFDLE1BQU0sQ0FBQztJQUN6QixpQkFBYyxFQUFFLENBQUMsT0FBTyxDQUFDO0lBQ3pCLG1CQUFlLEVBQUUsQ0FBQyxTQUFTLENBQUM7SUFDNUIsbUJBQWUsRUFBRSxDQUFDLE1BQU0sQ0FBQztJQUN6QixtQkFBZSxFQUFFLENBQUMsT0FBTyxDQUFDO0lBRTFCLGVBQWU7SUFDZixlQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUM7SUFDekIsaUJBQWMsRUFBRSxDQUFDLE1BQU0sQ0FBQztJQUN4QixlQUFhLEVBQUUsQ0FBRSxPQUFPLEVBQUUsS0FBSyxDQUFFO0lBQ2pDLHlCQUFrQixFQUFFLENBQUMsU0FBUyxDQUFDO0lBQy9CLGVBQWEsRUFBRSxDQUFDLE9BQU8sQ0FBQztJQUN4QixtQkFBZSxFQUFFLENBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBRTtDQUN6QyxDQUFDO0FBRVcsUUFBQSxpQkFBaUIsR0FBZ0MsRUFBRSxDQUFDO0FBQ2pFLEtBQUssTUFBTSxJQUFJLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyx1QkFBZSxDQUFlLEVBQUU7SUFDN0QseUJBQWlCLENBQUMsaUJBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztJQUMxQyxLQUFLLE1BQU0sR0FBRyxJQUFJLHVCQUFlLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDdkMseUJBQWlCLENBQUMsaUJBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztLQUMxQztDQUNGO0FBRUQsU0FBZ0IsVUFBVSxDQUFDLElBQVk7SUFDckMsT0FBTyx5QkFBaUIsQ0FBQyxpQkFBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDNUMsQ0FBQztBQUZELGdDQUVDO0FBRUQsU0FBZ0IsY0FBYyxDQUFDLElBQXFCO0lBQ2xELElBQUksSUFBSSxLQUFLLElBQUksRUFBRTtRQUFFLE9BQU8sSUFBSSxDQUFDO0tBQUU7SUFDbkMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixPQUFPLHVCQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEMsQ0FBQztBQUpELHdDQUlDO0FBRUQsU0FBZ0IsVUFBVSxDQUFDLElBQVk7SUFDckMsT0FBTyxDQUFDLENBQUMseUJBQWlCLENBQUMsaUJBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQzlDLENBQUM7QUFGRCxnQ0FFQztBQUVELFNBQWdCLFVBQVUsQ0FBQyxJQUFZO0lBQ3JDLE9BQU8sQ0FBQyxDQUFDLHVCQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7QUFDL0MsQ0FBQztBQUZELGdDQUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVW5pdEFiYnIgfSBmcm9tICdAdW5pdmVyc2UvbW9kZWxzJztcblxuaW1wb3J0IHsgbm9ybWFsaXplIH0gZnJvbSAnLi4vcGFyc2VyL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IFVuaXRBYmJyU3RyaW5nczogeyBba2V5IGluIFVuaXRBYmJyXTogc3RyaW5nW10gfSA9IHtcbiAgW1VuaXRBYmJyLkFQVF06IFsgJ0FwYXJ0bWVudCcsICdBUFAnLCAnQVBQVCcsICdBcGFydGFtZW50bycgXSxcbiAgW1VuaXRBYmJyLkJTTVRdOiBbJ0Jhc2VtZW50J10sXG4gIFtVbml0QWJici5CTERHXTogWyAnQnVpbGRpbmcnLCAnRWRpZmljaW8nLCAnQkxEJyBdLFxuICBbVW5pdEFiYnIuQk9YXTogWyAnQm94JywgJ0NBTExFUicsICdGSVJNJywgJ0JJTicsICdMT0NLQk9YJywgJ0RSQVdFUicsICdCT1hYJywgJ0JYJywgJ1BPJywgJ1BPQicsICdCVVpPTicsICdCWk4nIF0sXG4gIFtVbml0QWJici5ERVBUXTogWydEZXBhcnRtZW50J10sXG4gIFtVbml0QWJici5GTF06IFsgJ0Zsb29yJywgJ0ZMUicsICdGTE9PJyBdLFxuICBbVW5pdEFiYnIuRlJOVF06IFsnRnJvbnQnXSxcbiAgW1VuaXRBYmJyLkhOR1JdOiBbJ0hhbmdlciddLFxuICBbVW5pdEFiYnIuS0VZXTogWydLZXknXSxcbiAgW1VuaXRBYmJyLkxCQlldOiBbJ0xvYmJ5J10sXG4gIFtVbml0QWJici5MT1RdOiBbJ0xvdCddLFxuICBbVW5pdEFiYnIuTE9XUl06IFsgJ0xvd2VyJywgJ0xXUicsICdCb3R0b20nLCAnQlRUTScsICdHcm91bmQnIF0sXG4gIFtVbml0QWJici5PRkNdOiBbJ09mZmljZSddLFxuICBbVW5pdEFiYnIuUEhdOiBbJ1BlbnRob3VzZSddLFxuICBbVW5pdEFiYnIuUElFUl06IFsnUGllciddLFxuICBbVW5pdEFiYnIuUkVBUl06IFsnUmVhciddLFxuICBbVW5pdEFiYnIuUk1dOiBbJ1Jvb20nXSxcbiAgW1VuaXRBYmJyLlNJREVdOiBbJ1NpZGUnXSxcbiAgW1VuaXRBYmJyLlNMSVBdOiBbJ1NsaXAnXSxcbiAgW1VuaXRBYmJyLlNQQ106IFsnU3BhY2UnXSxcbiAgW1VuaXRBYmJyLlNUT1BdOiBbJ1N0b3AnXSxcbiAgW1VuaXRBYmJyLlNURV06IFsnU3VpdGUnXSxcbiAgW1VuaXRBYmJyLlRSTFJdOiBbJ1RyYWlsZXInXSxcbiAgW1VuaXRBYmJyLlVOSVRdOiBbJ1VuaXQnXSxcbiAgW1VuaXRBYmJyLlVQUFJdOiBbJ1VwcGVyJ10sXG5cbiAgLy8gTm9uIFN0YW5kYXJkXG4gIFtVbml0QWJici5OT106IFsnTnVtYmVyJ10sXG4gIFtVbml0QWJici5MRlRdOiBbJ0xvZnQnXSxcbiAgW1VuaXRBYmJyLkxWXTogWyAnTGV2ZWwnLCAnTFZMJyBdLFxuICBbVW5pdEFiYnIuQ09UVEFHRV06IFsnQ290dGFnZSddLFxuICBbVW5pdEFiYnIuWVRdOiBbJ1lhY2h0J10sXG4gIFtVbml0QWJici5ET1JNXTogWyAnRG9ybScsICdEb3JtaXRvcnknIF0sXG59O1xuXG5leHBvcnQgY29uc3QgVW5pdEFiYnJzTWFwcGluZ3M6IHsgW2tleTogc3RyaW5nXTogVW5pdEFiYnIgfSA9IHt9O1xuZm9yIChjb25zdCBhYmJyIG9mIE9iamVjdC5rZXlzKFVuaXRBYmJyU3RyaW5ncykgYXMgVW5pdEFiYnJbXSkge1xuICBVbml0QWJicnNNYXBwaW5nc1tub3JtYWxpemUoYWJicildID0gYWJicjtcbiAgZm9yIChjb25zdCBzdHIgb2YgVW5pdEFiYnJTdHJpbmdzW2FiYnJdKSB7XG4gICAgVW5pdEFiYnJzTWFwcGluZ3Nbbm9ybWFsaXplKHN0cildID0gYWJicjtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9Vbml0QWJicihhYmJyOiBzdHJpbmcpOiBVbml0QWJiciB7XG4gIHJldHVybiBVbml0QWJicnNNYXBwaW5nc1tub3JtYWxpemUoYWJicildO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdW5pdEFiYnJTdHJpbmcoYWJicjogVW5pdEFiYnIgfCBudWxsKTogc3RyaW5nIHwgbnVsbCB7XG4gIGlmIChhYmJyID09PSBudWxsKSB7IHJldHVybiBudWxsOyB9XG4gIGFiYnIgPSB0b1VuaXRBYmJyKGFiYnIpO1xuICByZXR1cm4gVW5pdEFiYnJTdHJpbmdzW2FiYnJdWzBdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNVbml0QWJicihhYmJyOiBzdHJpbmcpOiBhYmJyIGlzIFVuaXRBYmJyIHtcbiAgcmV0dXJuICEhVW5pdEFiYnJzTWFwcGluZ3Nbbm9ybWFsaXplKGFiYnIpXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVW5pdEVudW0oYWJicjogc3RyaW5nKTogYWJiciBpcyBVbml0QWJiciB7XG4gIHJldHVybiAhIVVuaXRBYmJyU3RyaW5nc1thYmJyLnRvVXBwZXJDYXNlKCldO1xufVxuIl19 |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.businessAbbrString = exports.toBusinessAbbr = exports.isBusinessAbbr = exports.streetTypeString = exports.toStreetType = exports.isStreetType = exports.unitAbbrString = exports.toUnitAbbr = exports.isUnitAbbr = exports.directionalString = exports.toDirectional = exports.isDirectional = exports.stateString = exports.toState = exports.isState = exports.facilityTypeString = exports.toFacilityType = exports.isFacilityType = exports.buildingHash = exports.unitHash = exports.hash = exports.parse = exports.Address = void 0; | ||
var Address_1 = require("./Address"); | ||
@@ -35,2 +36,2 @@ Object.defineProperty(exports, "Address", { enumerable: true, get: function () { return Address_1.Address; } }); | ||
Object.defineProperty(exports, "businessAbbrString", { enumerable: true, get: function () { return BusinessWords_1.businessAbbrString; } }); | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxxQ0FHbUI7QUFGakIsa0dBQUEsT0FBTyxPQUFBO0FBSVQsbUNBQWlDO0FBQXhCLCtGQUFBLEtBQUssT0FBQTtBQUVkLHFDQUE0RDtBQUFuRCw0RkFBQSxJQUFJLE9BQUE7QUFBRSxnR0FBQSxRQUFRLE9BQUE7QUFBRSxvR0FBQSxZQUFZLE9BQUE7QUFFckMsb0RBSTZCO0FBSDNCLDhHQUFBLGNBQWMsT0FBQTtBQUNkLDhHQUFBLGNBQWMsT0FBQTtBQUNkLGtIQUFBLGtCQUFrQixPQUFBO0FBR3BCLHNDQUlzQjtBQUhwQixnR0FBQSxPQUFPLE9BQUE7QUFDUCxnR0FBQSxPQUFPLE9BQUE7QUFDUCxvR0FBQSxXQUFXLE9BQUE7QUFHYixrREFJNEI7QUFIMUIsNEdBQUEsYUFBYSxPQUFBO0FBQ2IsNEdBQUEsYUFBYSxPQUFBO0FBQ2IsZ0hBQUEsaUJBQWlCLE9BQUE7QUFHbkIsNENBSXlCO0FBSHZCLHNHQUFBLFVBQVUsT0FBQTtBQUNWLHNHQUFBLFVBQVUsT0FBQTtBQUNWLDBHQUFBLGNBQWMsT0FBQTtBQUdoQixnREFJMkI7QUFIekIsMEdBQUEsWUFBWSxPQUFBO0FBQ1osMEdBQUEsWUFBWSxPQUFBO0FBQ1osOEdBQUEsZ0JBQWdCLE9BQUE7QUFHbEIsc0RBSThCO0FBSDVCLCtHQUFBLGNBQWMsT0FBQTtBQUNkLCtHQUFBLGNBQWMsT0FBQTtBQUNkLG1IQUFBLGtCQUFrQixPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtcbiAgQWRkcmVzcyxcbiAgVVNQU0xhYmVsLFxufSBmcm9tICcuL0FkZHJlc3MnO1xuXG5leHBvcnQgeyBwYXJzZSB9IGZyb20gJy4vcGFyc2VyJztcblxuZXhwb3J0IHsgaGFzaCwgdW5pdEhhc2gsIGJ1aWxkaW5nSGFzaCB9IGZyb20gJy4vdXRpbHMvdWlkcyc7XG5cbmV4cG9ydCB7XG4gIGlzRmFjaWxpdHlUeXBlLFxuICB0b0ZhY2lsaXR5VHlwZSxcbiAgZmFjaWxpdHlUeXBlU3RyaW5nLFxufSBmcm9tICcuL2RhdGEvRmFjaWxpdHlUeXBlJztcblxuZXhwb3J0IHtcbiAgaXNTdGF0ZSxcbiAgdG9TdGF0ZSxcbiAgc3RhdGVTdHJpbmcsXG59IGZyb20gJy4vZGF0YS9TdGF0ZSc7XG5cbmV4cG9ydCB7XG4gIGlzRGlyZWN0aW9uYWwsXG4gIHRvRGlyZWN0aW9uYWwsXG4gIGRpcmVjdGlvbmFsU3RyaW5nLFxufSBmcm9tICcuL2RhdGEvRGlyZWN0aW9uYWwnO1xuXG5leHBvcnQge1xuICBpc1VuaXRBYmJyLFxuICB0b1VuaXRBYmJyLFxuICB1bml0QWJiclN0cmluZyxcbn0gZnJvbSAnLi9kYXRhL1VuaXRBYmJyJztcblxuZXhwb3J0IHtcbiAgaXNTdHJlZXRUeXBlLFxuICB0b1N0cmVldFR5cGUsXG4gIHN0cmVldFR5cGVTdHJpbmcsXG59IGZyb20gJy4vZGF0YS9TdHJlZXRUeXBlJztcblxuZXhwb3J0IHtcbiAgaXNCdXNpbmVzc0FiYnIsXG4gIHRvQnVzaW5lc3NBYmJyLFxuICBidXNpbmVzc0FiYnJTdHJpbmcsXG59IGZyb20gJy4vZGF0YS9CdXNpbmVzc1dvcmRzJztcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUNBR21CO0FBRmpCLGtHQUFBLE9BQU8sT0FBQTtBQUlULG1DQUFpQztBQUF4QiwrRkFBQSxLQUFLLE9BQUE7QUFFZCxxQ0FBNEQ7QUFBbkQsNEZBQUEsSUFBSSxPQUFBO0FBQUUsZ0dBQUEsUUFBUSxPQUFBO0FBQUUsb0dBQUEsWUFBWSxPQUFBO0FBRXJDLG9EQUk2QjtBQUgzQiw4R0FBQSxjQUFjLE9BQUE7QUFDZCw4R0FBQSxjQUFjLE9BQUE7QUFDZCxrSEFBQSxrQkFBa0IsT0FBQTtBQUdwQixzQ0FJc0I7QUFIcEIsZ0dBQUEsT0FBTyxPQUFBO0FBQ1AsZ0dBQUEsT0FBTyxPQUFBO0FBQ1Asb0dBQUEsV0FBVyxPQUFBO0FBR2Isa0RBSTRCO0FBSDFCLDRHQUFBLGFBQWEsT0FBQTtBQUNiLDRHQUFBLGFBQWEsT0FBQTtBQUNiLGdIQUFBLGlCQUFpQixPQUFBO0FBR25CLDRDQUl5QjtBQUh2QixzR0FBQSxVQUFVLE9BQUE7QUFDVixzR0FBQSxVQUFVLE9BQUE7QUFDViwwR0FBQSxjQUFjLE9BQUE7QUFHaEIsZ0RBSTJCO0FBSHpCLDBHQUFBLFlBQVksT0FBQTtBQUNaLDBHQUFBLFlBQVksT0FBQTtBQUNaLDhHQUFBLGdCQUFnQixPQUFBO0FBR2xCLHNEQUk4QjtBQUg1QiwrR0FBQSxjQUFjLE9BQUE7QUFDZCwrR0FBQSxjQUFjLE9BQUE7QUFDZCxtSEFBQSxrQkFBa0IsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7XG4gIEFkZHJlc3MsXG4gIFVTUFNMYWJlbCxcbn0gZnJvbSAnLi9BZGRyZXNzJztcblxuZXhwb3J0IHsgcGFyc2UgfSBmcm9tICcuL3BhcnNlcic7XG5cbmV4cG9ydCB7IGhhc2gsIHVuaXRIYXNoLCBidWlsZGluZ0hhc2ggfSBmcm9tICcuL3V0aWxzL3VpZHMnO1xuXG5leHBvcnQge1xuICBpc0ZhY2lsaXR5VHlwZSxcbiAgdG9GYWNpbGl0eVR5cGUsXG4gIGZhY2lsaXR5VHlwZVN0cmluZyxcbn0gZnJvbSAnLi9kYXRhL0ZhY2lsaXR5VHlwZSc7XG5cbmV4cG9ydCB7XG4gIGlzU3RhdGUsXG4gIHRvU3RhdGUsXG4gIHN0YXRlU3RyaW5nLFxufSBmcm9tICcuL2RhdGEvU3RhdGUnO1xuXG5leHBvcnQge1xuICBpc0RpcmVjdGlvbmFsLFxuICB0b0RpcmVjdGlvbmFsLFxuICBkaXJlY3Rpb25hbFN0cmluZyxcbn0gZnJvbSAnLi9kYXRhL0RpcmVjdGlvbmFsJztcblxuZXhwb3J0IHtcbiAgaXNVbml0QWJicixcbiAgdG9Vbml0QWJicixcbiAgdW5pdEFiYnJTdHJpbmcsXG59IGZyb20gJy4vZGF0YS9Vbml0QWJicic7XG5cbmV4cG9ydCB7XG4gIGlzU3RyZWV0VHlwZSxcbiAgdG9TdHJlZXRUeXBlLFxuICBzdHJlZXRUeXBlU3RyaW5nLFxufSBmcm9tICcuL2RhdGEvU3RyZWV0VHlwZSc7XG5cbmV4cG9ydCB7XG4gIGlzQnVzaW5lc3NBYmJyLFxuICB0b0J1c2luZXNzQWJicixcbiAgYnVzaW5lc3NBYmJyU3RyaW5nLFxufSBmcm9tICcuL2RhdGEvQnVzaW5lc3NXb3Jkcyc7XG4iXX0= |
@@ -23,2 +23,3 @@ export interface Token { | ||
export declare function isNewlineSep(pointer: Token | Head | null): boolean; | ||
export declare function newlineCount(pointer: Token | Head | null): number; | ||
export declare function findNextNewLine(pointer: Token | null): Token | null; | ||
@@ -25,0 +26,0 @@ export declare function hasLaterStreetType(pointer: Token | null, lineOnly?: boolean): boolean; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.streetTypeCount = exports.newLineCount = exports.hasStateUnit = exports.hasLaterStreetType = exports.findNextNewLine = exports.isNewlineSep = exports.isHyphenatedCode = exports.tokenize = exports.isNumberOrCode = exports.insertTokenBefore = exports.insertTokenAfter = exports.isHead = void 0; | ||
exports.streetTypeCount = exports.newLineCount = exports.hasStateUnit = exports.hasLaterStreetType = exports.findNextNewLine = exports.newlineCount = exports.isNewlineSep = exports.isHyphenatedCode = exports.tokenize = exports.isNumberOrCode = exports.insertTokenBefore = exports.insertTokenAfter = exports.isHead = void 0; | ||
const utils_1 = require("./utils"); | ||
@@ -319,2 +319,14 @@ const StreetType_1 = require("../data/StreetType"); | ||
exports.isNewlineSep = isNewlineSep; | ||
function newlineCount(pointer) { | ||
let current = pointer; | ||
let i = 0; | ||
while (current) { | ||
if (isNewlineSep(current)) { | ||
i++; | ||
} | ||
current = current.next; | ||
} | ||
return i; | ||
} | ||
exports.newlineCount = newlineCount; | ||
function findNextNewLine(pointer) { | ||
@@ -389,2 +401,2 @@ let current = pointer; | ||
exports.streetTypeCount = streetTypeCount; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5pemVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhcnNlci90b2tlbml6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQTBFO0FBQzFFLG1EQUFrRDtBQUNsRCx5Q0FBd0M7QUFFeEMsb0RBQW9EO0FBQ3BELDRDQUE0QztBQUU1Qyx1QkFBdUI7QUFDdkIsaUNBQWlDO0FBQ2pDLG1DQUFtQztBQUNuQyx3Q0FBd0M7QUFDeEMsc0JBQXNCO0FBRXRCLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDO0lBQ3JCLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztJQUN6RSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztJQUVyRCxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUc7SUFDekUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUc7Q0FDdEQsQ0FBQyxDQUFDO0FBRUgsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFDdkIsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztDQUNqRCxDQUFDLENBQUM7QUFFSCw4Q0FBOEM7QUFDOUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBRSxHQUFHLE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBRSxDQUFDLENBQUM7QUFFdkQsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBRSxDQUFDLENBQUM7QUFDOUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBRSxDQUFDLENBQUM7QUFDMUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBRSxJQUFJLEVBQUUsR0FBRyxDQUFFLENBQUMsQ0FBQztBQW1CdkMsMEVBQTBFO0FBQzFFLDRDQUE0QztBQUM1QyxNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNO0lBQy9ELDRHQUE0RztJQUM1RyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJO0lBQ2hILEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUs7SUFDL0csS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSztJQUNsSCxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSztJQUNySCxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSztJQUN0SCxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUs7SUFDdkgsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUs7SUFDekgsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUs7SUFDdkgsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUk7SUFDeEgsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSztJQUN0SCxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLO0lBQ3ZILEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSztJQUMzSCxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUs7SUFDL0gsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU07SUFDdkgsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU87SUFDeEgsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSztJQUN2SCxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSztJQUMxSCxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU07SUFDN0gsS0FB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QUFDLElBQUksQ0FBQztLQUN4QjtJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQVJELDBDQVFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGl0bGVDYXNlLCBpc051bWVyaWNhbCwgb3JkZXJUb09yZGluYWwsIGlzT3JkZXIgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IGlzU3RyZWV0VHlwZSB9IGZyb20gJy4uL2RhdGEvU3RyZWV0VHlwZSc7XG5pbXBvcnQgeyBpc1N0YXRlIH0gZnJvbSAnLi4vZGF0YS9TdGF0ZSc7XG5pbXBvcnQgeyBVbml0QWJiciwgU3RyZWV0VHlwZSB9IGZyb20gJ0B1bml2ZXJzZS9tb2RlbHMnO1xuLy8gaW1wb3J0IHsgaXNGYWNpbGl0eVR5cGUgfSBmcm9tICcuLi9GYWNpbGl0eVR5cGUnO1xuLy8gaW1wb3J0IHsgaXNVbml0QWJiciB9IGZyb20gJy4uL1VuaXRBYmJyJztcblxuLy8gLyogZXNsaW50LWRpc2FibGUgKi9cbi8vIFRPRE86IFNwZWxsIENoZWNrIEludGVncmF0aW9uP1xuLy8gY29uc3QgVHlwbyA9IHJlcXVpcmUoXCJ0eXBvLWpzXCIpO1xuLy8gY29uc3QgZGljdGlvbmFyeSA9IG5ldyBUeXBvKCdlbl9VUycpO1xuLy8gLyogZXNsaW50LWVuYWJsZSAqL1xuXG5jb25zdCBhbHBoYXMgPSBuZXcgU2V0KFtcbiAgJ0EnLCAnQicsICdDJywgJ0QnLCAnRScsICdGJywgJ0cnLCAnSCcsICdJJywgJ0onLCAnSycsICdMJywgJ00nLCAnTicsICdPJyxcbiAgJ1AnLCAnUScsICdSJywgJ1MnLCAnVCcsICdVJywgJ1YnLCAnVycsICdYJywgJ1knLCAnWicsXG5cbiAgJ2EnLCAnYicsICdjJywgJ2QnLCAnZScsICdmJywgJ2cnLCAnaCcsICdpJywgJ2onLCAnaycsICdsJywgJ20nLCAnbicsICdvJyxcbiAgJ3AnLCAncScsICdyJywgJ3MnLCAndCcsICd1JywgJ3YnLCAndycsICd4JywgJ3knLCAneicsXG5dKTtcblxuY29uc3QgZGVjaW1hbHMgPSBuZXcgU2V0KFtcbiAgJzAnLCAnMScsICcyJywgJzMnLCAnNCcsICc1JywgJzYnLCAnNycsICc4JywgJzknLFxuXSk7XG5cbi8vIGh0dHBzOi8vcGUudXNwcy5jb20vdGV4dC9wdWIyOC8yOGMzXzAxOS5odG1cbmNvbnN0IGxlZ2FsQ2hhcnMgPSBuZXcgU2V0KFsgLi4uYWxwaGFzLCAuLi5kZWNpbWFscyBdKTtcblxuY29uc3QgbmV3bGluZXMgPSBuZXcgU2V0KFsgJywnLCAnXFx0JywgJ1xcbicgXSk7XG5jb25zdCBkYXNoZXMgPSBuZXcgU2V0KFsgJy0nLCAn4oCTJywgJ+KAlCcgXSk7XG5jb25zdCBzbGFzaGVzID0gbmV3IFNldChbICdcXFxcJywgJy8nIF0pO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRva2VuIHtcbiAgcHJldjogSGVhZCB8IFRva2VuO1xuICBuZXh0OiBUb2tlbiB8IG51bGw7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIHNlcGFyYXRvcjogJy0nIHwgJy4nIHwgJyMnIHwgJyYnIHwgJywnIHwgJy8nIHwgbnVsbDtcbiAgYWxwaGFzOiBudW1iZXI7XG4gIGRlY2ltYWxzOiBudW1iZXI7XG4gIGlzRU9MOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhlYWQge1xuICBpc0hlYWQ6IHRydWU7XG4gIG5leHQ6IFRva2VuIHwgbnVsbDtcbiAgc2VwYXJhdG9yOiAnJztcbiAgaXNFT0w6IGZhbHNlO1xufVxuXG4vLyBTcGVjaWFsIG5vbi1lbnVtZXJhdGVkIGFiYnJldmlhdGlvbnMgd2Ugd2FudCB0byBtYWtlIHN1cmUgd2UgY2FwaXRhbGl6ZVxuLy8gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvU2hpcF9wcmVmaXhcbmNvbnN0IGNhcGl0YWxpemUgPSBuZXcgU2V0KFsgJ0FGQicsICdBUE8nLCAnRlBPJywgJ0FFQ09NJywgJ0hRQk4nLFxuICAvLyBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9MaXN0X29mX2NvbGxvcXVpYWxfbmFtZXNfZm9yX3VuaXZlcnNpdGllc19hbmRfY29sbGVnZXNfaW5fdGhlX1VuaXRlZF9TdGF0ZXNcbiAgJ0FGQScsICdBJk0nLCAnQSZUJywgJ0FQU1UnLCAnQUxBU1UnLCAnQVNVJywgJ0FVJywgJ0FVTScsICdCQycsICdCR1NVJywgJ0JIU1UnLCAnQkpVJywgJ0JNQycsICdCU0MnLCAnQlNVJywgJ0JVJyxcbiAgJ0JZVScsICdDQlUnLCAnQ0MnLCAnQ0NOWScsICdDQ1NVJywgJ0NDVScsICdDQ1YnLCAnQ0dVJywgJ0NJQScsICdDTUMnLCAnQ01VJywgJ0NOVScsICdDU0InLCAnU0pVJywgJ0NTRScsICdDU0knLFxuICAnQ1NVJywgJ0NTVUYnLCAnQ1NVRUInLCAnQ1NVTEEnLCAnQ1NVUycsICdDVScsICdDVUEnLCAnQ1VOWScsICdEQycsICdEUFUnLCAnRFNVJywgJ0RVJywgJ0VDVScsICdFSVUnLCAnRU1VJywgJ0VNVScsXG4gICdFTkMnLCAnRVRTVScsICdFV1UnLCAnRUtVJywgJ0YmTScsICdGQU1VJywgJ0ZBVScsICdGQycsICdGRFUnLCAnRkdDVScsICdGSVQnLCAnRklVJywgJ0ZQVScsICdGU1UnLCAnRlUnLCAnR0InLCAnR0NVJyxcbiAgJ0dHQycsICdHT05aJywgJ0dTVScsICdHVCcsICdHVlNVJywgJ0hJVScsICdITUMnLCAnSFUnLCAnSFUnLCAnSFNVJywgJ0lDJywgJ0lJVCcsICdJUEZXJywgJ0lTVScsICdJVVAnLCAnSVVQVUknLCAnSVdVJyxcbiAgJ0lXJywgJ0pIVScsICdKTVUnLCAnSldVJywgJ0pTVScsICdKVScsICdLU1UnLCAnS1UnLCAnS1UnLCAnTEMnLCAnTEhVJywgJ0xJVScsICdMTVUnLCAnTFNVJywgJ0xTU1UnLCAnTFRVJywgJ0xVJywgJ0xVQycsXG4gICdNQ0xBJywgJ01JVCcsICdNTUMnLCAnTVNVJywgJ01UU1UnLCAnTVRVJywgJ01VJywgJ01WU1UnLCAnTVVXJywgJ05BVScsICdOQ0NVJywgJ05DU1UnLCAnTkQnLCAnTkRTVScsICdORVUnLCAnTklVJywgJ05LVScsXG4gICdOTVNVJywgJ05NVScsICdOU1UnLCAnTlUnLCAnTlZVJywgJ05XJywgJ05XTVNVJywgJ05ZSVQnLCAnTllNQycsICdOWVUnLCAnT0MnLCAnT0NDJywgJ09DVScsICdPRFUnLCAnT0lUJywgJ09OVScsICdPUlUnLFxuICAnT1NVJywgJ09VJywgJ1BDJywgJ1BDQycsICdQTE5VJywgJ1BPTScsICdQU1UnLCAnUFRTJywgJ1BWQU1VJywgJ1FVJywgJ1JISVQnLCAnUklDJywgJ1JJU0QnLCAnUklUJywgJ1ItTVdDJywgJ1JQSScsICdSVScsXG4gICdSV1UnLCAnUldDJywgJ1NCVScsICdTQycsICdTQ1NVJywgJ1NDVScsICdTRFNNJlQnLCAnU0RTVScsICdTRlNVJywgJ1NIQycsICdTSVVFJywgJ1NKQycsICdTSkZDJywgJ1NKU1UnLCAnU0pVJywgJ1NMVScsXG4gICdTTUMnLCAnU01VJywgJ1NOSFUnLCAnU09TVScsICdTUFUnLCAnU1JVJywgJ1NTVScsICdTVScsICdTVUknLCAnU1VVJywgJ1NVTlknLCAnU1dPU1UnLCAnVEFNVScsICdUQU1VQ0MnLCAnVENOSicsICdUQ1UnLFxuICAnVFNVJywgJ1RUVScsICdUVScsICdVQScsICdVQUEnLCAnVUFCJywgJ1VBRicsICdVQUgnLCAnVUFMUicsICdVQU0nLCAnVUFQQicsICdVQicsICdVQycsICdVQ0InLCAnVUNBJywgJ1VDQ1MnLCAnVUNEJywgJ1VDRicsXG4gICdVQ0knLCAnVUNMQScsICdVQ00nLCAnVUNPJywgJ1VDUicsICdVQ1NCJywgJ1VDU0MnLCAnVUNTRCcsICdVQ1NGJywgJ1VEJywgJ1VETScsICdVREMnLCAnVUYnLCAnVUdBJywgJ1VIJywgJ1VIQ0wnLCAnVUhEJywgJ1VIUycsXG4gICdVSFYnLCAnVUlDJywgJ1VJVUMnLCAnVUsnLCAnVUxNJywgJ1VMJywgJ1VNQicsICdVTUJDJywgJ1VNQycsICdVTUQnLCAnVU1LQycsICdVTUwnLCAnVU1PJywgJ1VNVycsICdVTkEnLCAnVU5DJywgJ1VOQ0MnLFxuICAnVU5DRycsICdVTkNXJywgJ1VORCcsICdVTkYnLCAnVU5IJywgJ1VOSScsICdVTksnLCAnVU5MJywgJ1VOTFYnLCAnVU5NJywgJ1VOTycsICdVTlInLCAnVU5UJywgJ1VPJywgJ1VPUCcsICdVUCcsICdVUElLRScsXG4gICdVUkknLCAnVVNBJywgJ1VTQUZBJywgJ1VTQU8nLCAnVVNDJywgJ1VTQ0EnLCAnVVNEJywgJ1VTRicsICdVU0ZDQScsICdVU0knLCAnVVNNJywgJ1VTVScsICdVVCcsICdVVEEnLCAnVVRCL1RTQycsICdVVEMnLFxuICAnVVREJywgJ1VURVAnLCAnVVRNJywgJ1VUUEInLCAnVVRSR1YnLCAnVVRTQScsICdVVkEnLCAnVVZNJywgJ1VWVScsICdVVycsICdVV0YnLCAnVVdHJywgJ1VXR0InLCAnVVdNJywgJ1ZDVScsICdWTUknLCAnVlBJJyxcbiAgJ1ZTVScsICdWVEMnLCAnVlUnLCAnVyZKJywgJ1cmTCcsICdXJk0nLCAnV0MnLCAnV0NVJywgJ1dGVScsICdXR1UnLCAnV0lVJywgJ1dLVScsICdXTVUnLCAnV1BJJywgJ1dTVScsICdXVEFNVScsICdXVlUnLCAnV1ZVUCcsXG4gICdXV1UnLCAnWFUnLCAnWFVMQScsICdZU1UnLCAnWVUnLFxuXSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0hlYWQodG9rZW46IHVua25vd24pOiB0b2tlbiBpcyBIZWFkIHtcbiAgcmV0dXJuICEhKHRva2VuICYmICh0b2tlbiBhcyBIZWFkKS5pc0hlYWQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5zZXJ0VG9rZW5BZnRlcihwcmV2OiBUb2tlbiwgdmFsdWU6IHN0cmluZyk6IFRva2VuIHtcbiAgY29uc3QgdG9rZW4gPSB7XG4gICAgcHJldixcbiAgICBuZXh0OiBwcmV2Lm5leHQsXG4gICAgdmFsdWUsXG4gICAgc2VwYXJhdG9yOiBudWxsLFxuICAgIGFscGhhczogKHZhbHVlLm1hdGNoKC9bYS16QS1aXS9nKSB8fCBbXSkubGVuZ3RoLFxuICAgIGRlY2ltYWxzOiAodmFsdWUubWF0Y2goL1xcZC9nKSB8fCBbXSkubGVuZ3RoLFxuICAgIGlzRU9MOiBwcmV2LmlzRU9MLFxuICB9O1xuICB0b2tlbi5wcmV2Lm5leHQgPSB0b2tlbjtcbiAgdG9rZW4ucHJldi5pc0VPTCA9IGZhbHNlO1xuICB0b2tlbi5uZXh0ICYmICh0b2tlbi5uZXh0LnByZXYgPSB0b2tlbik7XG4gIHJldHVybiB0b2tlbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluc2VydFRva2VuQmVmb3JlKG5leHQ6IFRva2VuLCB2YWx1ZTogc3RyaW5nKTogVG9rZW4ge1xuICBjb25zdCB0b2tlbiA9IHtcbiAgICBwcmV2OiBuZXh0LnByZXYsXG4gICAgbmV4dCxcbiAgICB2YWx1ZSxcbiAgICBzZXBhcmF0b3I6IG51bGwsXG4gICAgYWxwaGFzOiAodmFsdWUubWF0Y2goL1thLXpBLVpdL2cpIHx8IFtdKS5sZW5ndGgsXG4gICAgZGVjaW1hbHM6ICh2YWx1ZS5tYXRjaCgvXFxkL2cpIHx8IFtdKS5sZW5ndGgsXG4gICAgaXNFT0w6IGZhbHNlLFxuICB9O1xuICB0b2tlbi5wcmV2ICYmICh0b2tlbi5wcmV2Lm5leHQgPSB0b2tlbik7XG4gIHRva2VuLm5leHQgJiYgKHRva2VuLm5leHQucHJldiA9IHRva2VuKTtcbiAgcmV0dXJuIHRva2VuO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNOdW1iZXJPckNvZGUocG9pbnRlcjogVG9rZW4gfCBzdHJpbmcgfCBudWxsKTogYm9vbGVhbiB7XG4gIGlmICghcG9pbnRlcikgeyByZXR1cm4gZmFsc2U7IH1cblxuICBjb25zdCB3b3JraW5nID0ge1xuICAgIHZhbHVlOiB0eXBlb2YgcG9pbnRlciA9PT0gJ3N0cmluZycgPyBwb2ludGVyIDogcG9pbnRlci52YWx1ZSxcbiAgICBkZWNpbWFsczogdHlwZW9mIHBvaW50ZXIgPT09ICdzdHJpbmcnID8gcG9pbnRlci5tYXRjaCgvXFxkL2cpPy5sZW5ndGggfHwgMCA6IHBvaW50ZXIuZGVjaW1hbHMsXG4gICAgYWxwaGFzOiB0eXBlb2YgcG9pbnRlciA9PT0gJ3N0cmluZycgPyBwb2ludGVyLnRvTG93ZXJDYXNlKCkubWF0Y2goL1teXFxkXS9nKT8ubGVuZ3RoIHx8IDAgOiBwb2ludGVyLmFscGhhcyxcbiAgICBwcmV2OiBudWxsLFxuICAgIHNlcGFyYXRvcjogdHlwZW9mIHBvaW50ZXIgPT09ICdzdHJpbmcnID8gJycgOiBwb2ludGVyLnNlcGFyYXRvcixcbiAgfTtcblxuICBpZiAod29ya2luZy5zZXBhcmF0b3IgPT09ICcmJykgeyByZXR1cm4gZmFsc2U7IH1cblxuICAvLyBJZiBzdHJpbmcgc3RhcnRzIHdpdGggYSBudW1iZXIsIHRoaXMgaXMgYSBjb2RlLiBFeDogT3JkaW5hbHMgKDFzdCwgMm5kLCBldGMpXG4gIGlmICh3b3JraW5nLnZhbHVlICYmIHdvcmtpbmcudmFsdWVbMF0ubWF0Y2goL15cXGQvKSkgeyByZXR1cm4gdHJ1ZTsgfVxuXG4gIC8vIERhc2hlZCBvbmUsIHR3byBhbmQgdGhyZWUgY2hhcmFjdGVyIGFscGhhIHN0cmluZ3MgKmFyZSogY29kZXMhXG4gIGlmICh3b3JraW5nLmFscGhhcyA8PSAzICYmICF3b3JraW5nLmRlY2ltYWxzICYmIChkYXNoZXMuaGFzKHdvcmtpbmcuc2VwYXJhdG9yIHx8ICcnKSB8fCBkYXNoZXMuaGFzKChwb2ludGVyIGFzIFRva2VuKS5wcmV2Py5zZXBhcmF0b3IgfHwgJycpKSkgeyByZXR1cm4gdHJ1ZTsgfVxuXG4gIC8vIElmIGRlY2ltYWxzIGVxdWFsIG9yIG91dG51bWJlciBhbHBoYXMsIG9yIHRoaXMgaXMgYSBzaW5nbGUgY2hhcmFjdGVyIHN0cmluZywgaXMgYSBjb2RlLlxuICByZXR1cm4gKHdvcmtpbmcuZGVjaW1hbHMgPj0gd29ya2luZy5hbHBoYXMgJiYgd29ya2luZy5kZWNpbWFscyA+IDEpIHx8ICh3b3JraW5nLmFscGhhcyA8PSAxKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRva2VuaXplKGFkZHI6IHN0cmluZyk6IEhlYWQge1xuICBjb25zdCBoZWFkOiBIZWFkID0ge1xuICAgIG5leHQ6IG51bGwsXG4gICAgaXNIZWFkOiB0cnVlLFxuICAgIHNlcGFyYXRvcjogJycsXG4gICAgaXNFT0w6IGZhbHNlLFxuICB9O1xuXG4gIC8vIENvbGxhcHNlIHdoaXRlc3BhY2VcbiAgLy8gVE9ETzogVGhpcyByZWdleCBpcyBpbm9yZGluYXRlbHkgZXhwZW5zaXZlLiBSZXBsYWNlLlxuICBhZGRyID0gYWRkci5yZXBsYWNlKC9cXG4rL2csICdcXG4nKS5yZXBsYWNlKC8gKy9nLCAnICcpLnJlcGxhY2UoL1xcdCsvZywgJ1xcdCcpO1xuXG4gIC8vIFRPRE86IEFsbCBvZiB0aGUgYmVsb3cgcmVnZXhwcyBhcmUgVkVSWSBleHBlbnNpdmUuIFNpbXBsaWZ5LlxuICAvLyBSZW1vdmUgQ2FyZSBPZiBBYmJyLlxuICBhZGRyID0gYWRkci5yZXBsYWNlKC9DWy8uXU9cXC4/L2dpLCAnJyk7XG5cbiAgLy8gUC5PLiBCb3hlcyBhbmQgSC5DLiBCb3hlcyBhcmUgU3BlY2lhbC5cbiAgYWRkciA9IGFkZHJcbiAgICAucmVwbGFjZSgvUFxcLk9cXC4vaSwgJ1BPJylcbiAgICAucmVwbGFjZSgvUFxcLk8vaSwgJ1BPJylcbiAgICAucmVwbGFjZSgvUCBPIC9pLCAnUE8nKVxuICAgIC5yZXBsYWNlKC9QXFwuT1xcLkJcXC4vaSwgJyBQTyBCT1ggJylcbiAgICAucmVwbGFjZSgvUFxcLiBPXFwuIEJcXC4vaSwgJyBQTyBCT1ggJylcbiAgICAucmVwbGFjZSgvIFBPQltcXGQgXS9pLCAnUE8gQk9YJylcbiAgICAucmVwbGFjZSgvUE9YIEJPWC9pLCAnUE8gQk9YJylcbiAgICAucmVwbGFjZSgvUE9CT1gvaSwgJ1BPIEJPWCcpXG4gICAgLnJlcGxhY2UoL1BPQlgvaSwgJ1BPIEJPWCcpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9IXFwuQ1xcLi9pLCAnSEMgJykucmVwbGFjZSgvSFxcLkMvLCAnSEMgJykucmVwbGFjZSgvSCBDIC8sICdIQyAnKS5yZXBsYWNlKC9IQ0JPWC9pLCAnSEMgQk9YJyk7XG5cbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvaGlnaHdheSBjYXJyaWVyIHJvdXRlL2ksICdIQycpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9oaWdod2F5IGNvbnRyYWN0IHJvdXRlL2ksICdIQycpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9oaWdod2F5IGNhcnJpZXIvaSwgJ0hDJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL2hpZ2h3YXkgY29udHJhY3QvaSwgJ0hDJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL3N0YXIgcm91dGUvaSwgJ0hDJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL3J1cmFsIHJvdXRlL2ksICdSUicpO1xuXG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL3J1cmFsIHJvYWQvaSwgJ1JSJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL3Rvd25zaGlwIHJvYWQvaSwgJ1RTUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9zdGF0ZSByb3V0ZS9pLCAnU1InKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvc3RhdGUgcm9hZC9pLCAnU1InKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvY291bnR5IHJvYWQvaSwgJ0NSJyk7XG5cbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvclxcLlxcclxcLiByZC9pLCAnUlInKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvc1xcLlxcclxcLiByZC9pLCAnU1InKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvY1xcLlxcclxcLiByZC9pLCAnQ1InKTtcblxuICBhZGRyID0gYWRkci5yZXBsYWNlKC9ydXJhbCByZC9pLCAnUlInKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvdG93bnNoaXAgcmQvaSwgJ1RTUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9zdGF0ZSByZC9pLCAnU1InKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvY291bnR5IHJkL2ksICdDUicpO1xuXG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0xBIENBTUlOSVRPL2ksICdMQUNBTUlOSVRPJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0VMIENBTUlOTy9pLCAnRUxDQU1JTk8nKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvTEEgQ0VSUkFEQS9pLCAnTEFDRVJSQURBJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0xBIEVOVFJBREEvaSwgJ0xBRU5UUkFEQScpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9FTCBQQVNFTy9pLCAnRUxQQVNFTycpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9MQSBQTEFDSVRBL2ksICdMQVBMQUNJVEEnKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvRUwgUkFOQ0hPL2ksICdFTFJBTkNITycpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9MQSBWRVJFREEvaSwgJ0xBVkVSRURBJyk7XG5cbiAgbGV0IHBvaW50ZXI6IFRva2VuIHwgbnVsbCA9IHtcbiAgICBwcmV2OiBoZWFkLFxuICAgIG5leHQ6IG51bGwsXG4gICAgdmFsdWU6ICcnLFxuICAgIHNlcGFyYXRvcjogbnVsbCxcbiAgICBhbHBoYXM6IDAsXG4gICAgZGVjaW1hbHM6IDAsXG4gICAgaXNFT0w6IGZhbHNlLFxuICB9O1xuXG4gIGhlYWQubmV4dCA9IHBvaW50ZXI7XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBhZGRyLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgY2hhciA9IGFkZHJbaV07XG4gICAgY29uc3QgbmV4dCA9IGFkZHJbaSArIDFdO1xuICAgIGlmICghcG9pbnRlcikgeyBicmVhazsgfVxuICAgIGlmIChsZWdhbENoYXJzLmhhcyhjaGFyKSkge1xuICAgICAgcG9pbnRlci52YWx1ZSArPSBjaGFyO1xuICAgICAgaWYgKGFscGhhcy5oYXMoY2hhcikpIHtcbiAgICAgICAgcG9pbnRlci5hbHBoYXMrKztcbiAgICAgIH1cbiAgICAgIGlmIChkZWNpbWFscy5oYXMoY2hhcikpIHtcbiAgICAgICAgcG9pbnRlci5kZWNpbWFscysrO1xuICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIGlmIChuZXdsaW5lcy5oYXMoY2hhcikpIHsgcG9pbnRlci5pc0VPTCA9IHRydWU7IH1cbiAgICAgIGVsc2UgaWYgKGRhc2hlcy5oYXMoY2hhcikpIHsgcG9pbnRlci5zZXBhcmF0b3IgPSAnLSc7IH1cbiAgICAgIGVsc2UgaWYgKGNoYXIgPT09ICcuJykgeyBwb2ludGVyLnNlcGFyYXRvciA9ICcuJzsgfVxuICAgICAgZWxzZSBpZiAoY2hhciA9PT0gJyYnKSB7IHBvaW50ZXIuc2VwYXJhdG9yID0gJyYnOyB9XG4gICAgICBlbHNlIGlmIChjaGFyID09PSAnIycpIHsgcG9pbnRlci5zZXBhcmF0b3IgPSAnIyc7IH1cbiAgICAgIGVsc2UgaWYgKHNsYXNoZXMuaGFzKGNoYXIpKSB7IHBvaW50ZXIuc2VwYXJhdG9yID0gJy8nOyB9XG4gICAgICAvLyBpZiAoIWlzTnVtYmVyT3JDb2RlKHBvaW50ZXIpICYmICFpc1N0YXRlKHBvaW50ZXIudmFsdWUpICYmICFpc1N0cmVldFR5cGUocG9pbnRlci52YWx1ZSkgJiYgIWlzRmFjaWxpdHlUeXBlKHBvaW50ZXIudmFsdWUpICYmICFpc1VuaXRBYmJyKHBvaW50ZXIudmFsdWUpKSB7XG4gICAgICAvLyAgIGlmICghZGljdGlvbmFyeS5jaGVjayhwb2ludGVyLnZhbHVlKSkge1xuICAgICAgLy8gICAgIGNvbnN0IHN1Z2dlc3Rpb25zID0gZGljdGlvbmFyeS5zdWdnZXN0KHBvaW50ZXIudmFsdWUpO1xuICAgICAgLy8gICAgIHBvaW50ZXIudmFsdWUgPSBzdWdnZXN0aW9uc1swXSB8fCBwb2ludGVyLnZhbHVlO1xuICAgICAgLy8gICB9XG4gICAgICAvLyB9XG4gICAgICBwb2ludGVyLnZhbHVlID0gY2FwaXRhbGl6ZS5oYXMocG9pbnRlci52YWx1ZS50b1VwcGVyQ2FzZSgpKSA/IHBvaW50ZXIudmFsdWUudG9VcHBlckNhc2UoKSA6IHRpdGxlQ2FzZShwb2ludGVyLnZhbHVlKTtcbiAgICAgIGlmIChsZWdhbENoYXJzLmhhcyhuZXh0KSkge1xuICAgICAgICBwb2ludGVyID0ge1xuICAgICAgICAgIHByZXY6IHBvaW50ZXIsXG4gICAgICAgICAgbmV4dDogbnVsbCxcbiAgICAgICAgICB2YWx1ZTogJycsXG4gICAgICAgICAgc2VwYXJhdG9yOiBudWxsLFxuICAgICAgICAgIGFscGhhczogMCxcbiAgICAgICAgICBkZWNpbWFsczogMCxcbiAgICAgICAgICBpc0VPTDogZmFsc2UsXG4gICAgICAgIH07XG4gICAgICAgIGlmIChwb2ludGVyLnByZXYpIHtcbiAgICAgICAgICBwb2ludGVyLnByZXYubmV4dCA9IHBvaW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBObyBuZXdsaW5lcyBhZnRlciB0aGUgbGFzdCBTdGF0ZSBkaXNjb3ZlcmVkLlxuICB3aGlsZSAocG9pbnRlcikge1xuICAgIGlmIChwb2ludGVyLm5leHQgJiYgaXNTdGF0ZShwb2ludGVyLm5leHQudmFsdWUpKSB7XG4gICAgICB3aGlsZSAocG9pbnRlcikge1xuICAgICAgICBwb2ludGVyLmlzRU9MID0gZmFsc2U7XG4gICAgICAgIHBvaW50ZXIgPSBwb2ludGVyLm5leHQ7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgaWYgKGlzSGVhZChwb2ludGVyLnByZXYpKSB7IGJyZWFrOyB9XG4gICAgcG9pbnRlciA9IHBvaW50ZXIucHJldjtcbiAgfVxuXG4gIC8vIEl0IGlzIGNvbW1vbiBmb3IgcGVvcGxlIHRvIGJlIHNpbGx5IGFuZCBwcmVmaXgvc3VmZml4IHNvbWUgdW5pdCBudW1iZXJzIHdpdGggdGhlc2UgY29tbW9uIGFiYnJldmlhdGlvbi5cbiAgLy8gRXg6IDEyMyBXYXRlciBTdC4gQXB0IEFQVDEsIDQ1IFNwcnVjZSBBdmUgMVBIXG4gIC8vIFRPRE86IFdlIGNhbiBtYWtlIHRoaXMgbW9yZSByb2J1c3QuLi5cbiAgcG9pbnRlciA9IGhlYWQubmV4dDtcbiAgd2hpbGUgKHBvaW50ZXIpIHtcbiAgICBpZiAoIXBvaW50ZXIpIHsgYnJlYWs7IH1cblxuICAgIGlmIChpc09yZGVyKHBvaW50ZXIudmFsdWUpKSB7XG4gICAgICBwb2ludGVyLnZhbHVlID0gb3JkZXJUb09yZGluYWwocG9pbnRlci52YWx1ZSk7XG4gICAgfVxuXG4gICAgY29uc3QgcHJlZml4VGVzdCA9IFsgVW5pdEFiYnIuQVBULCBVbml0QWJici5QSCwgVW5pdEFiYnIuTFYsIFN0cmVldFR5cGUuUlIsICdTVUlURScsICdVTklUJyBdO1xuICAgIGNvbnN0IHN1ZmZpeFRleHQgPSBbVW5pdEFiYnIuUEhdO1xuXG4gICAgZm9yIChjb25zdCBwcmVmaXggb2YgcHJlZml4VGVzdCkge1xuICAgICAgaWYgKHBvaW50ZXIudmFsdWUudG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKHByZWZpeC50b0xvd2VyQ2FzZSgpKSAmJiBwb2ludGVyLnZhbHVlLmxlbmd0aCA+IHByZWZpeC5sZW5ndGgpIHtcbiAgICAgICAgLy8gU3BlY2lhbCBDYXNlIGZvciBwbHVyYWxzXG4gICAgICAgIGlmIChwb2ludGVyLnZhbHVlLnRvVXBwZXJDYXNlKCkgPT09IHByZWZpeC50b1VwcGVyQ2FzZSgpICsgJ1MnKSB7IGNvbnRpbnVlOyB9XG5cbiAgICAgICAgY29uc3Qgb2xkVmFsdWUgPSBwb2ludGVyLnZhbHVlO1xuICAgICAgICBwb2ludGVyLnZhbHVlID0gcG9pbnRlci52YWx1ZS5zbGljZShwcmVmaXgubGVuZ3RoKTtcbiAgICAgICAgcG9pbnRlci5hbHBoYXMgLT0gcHJlZml4Lmxlbmd0aDtcbiAgICAgICAgaWYgKCFpc051bWJlck9yQ29kZShwb2ludGVyKSkge1xuICAgICAgICAgIHBvaW50ZXIuYWxwaGFzICs9IHByZWZpeC5sZW5ndGg7XG4gICAgICAgICAgcG9pbnRlci52YWx1ZSA9IG9sZFZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIGluc2VydFRva2VuQmVmb3JlKHBvaW50ZXIsIHByZWZpeCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHN1ZmZpeCBvZiBzdWZmaXhUZXh0KSB7XG4gICAgICBpZiAocG9pbnRlciAmJiBwb2ludGVyLnZhbHVlLnRvTG93ZXJDYXNlKCkuZW5kc1dpdGgoc3VmZml4LnRvTG93ZXJDYXNlKCkpICYmIHBvaW50ZXIudmFsdWUubGVuZ3RoID4gc3VmZml4Lmxlbmd0aCkge1xuICAgICAgICBjb25zdCBvbGRWYWx1ZSA9IHBvaW50ZXIudmFsdWU7XG4gICAgICAgIHBvaW50ZXIudmFsdWUgPSBwb2ludGVyLnZhbHVlLnNsaWNlKDAsIHN1ZmZpeC5sZW5ndGggKiAtMSk7XG4gICAgICAgIHBvaW50ZXIuYWxwaGFzIC09IHN1ZmZpeC5sZW5ndGg7XG4gICAgICAgIGlmICghaXNOdW1iZXJPckNvZGUocG9pbnRlcikpIHtcbiAgICAgICAgICBwb2ludGVyLmFscGhhcyArPSBzdWZmaXgubGVuZ3RoO1xuICAgICAgICAgIHBvaW50ZXIudmFsdWUgPSBvbGRWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICBjb25zdCBuZXdUb2tlbiA9IGluc2VydFRva2VuQWZ0ZXIocG9pbnRlciwgc3VmZml4KTtcbiAgICAgICAgICBwb2ludGVyID0gbmV3VG9rZW47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcG9pbnRlciA9IHBvaW50ZXIubmV4dDtcbiAgfVxuXG4gIC8vIFNvbWUgbWlzLWZvcm1hdHRlZCBmYWNpbGl0eSBhZGRyZXNzZXMgd2lsbCBwcmVwZW5kIGEgJzAnIHRvIG1ha2UgdGhlbSBhcHBlYXIgbGlrZSBzdHJlZXQgYWRkcmVzc2VzLlxuICBpZiAoaGVhZC5uZXh0ICYmIGhlYWQubmV4dC52YWx1ZSA9PT0gJzAnICYmIGhlYWQubmV4dC5uZXh0KSB7XG4gICAgaGVhZC5uZXh0ID0gaGVhZC5uZXh0Lm5leHQ7XG4gIH1cblxuICByZXR1cm4gaGVhZDtcbn1cblxuLy8gVE9ETzogVXNlIFVTUFMgaHlwaGVuYXRpb24gc3RhbmRhcmRzLlxuZXhwb3J0IGZ1bmN0aW9uIGlzSHlwaGVuYXRlZENvZGUocG9pbnRlcjogVG9rZW4gfCBIZWFkKTogYm9vbGVhbiB7XG4gIGlmIChpc0hlYWQocG9pbnRlcikpIHsgcmV0dXJuIGZhbHNlOyB9XG4gIGlmICghcG9pbnRlci5uZXh0IHx8ICFkYXNoZXMuaGFzKHBvaW50ZXIuc2VwYXJhdG9yIHx8ICcnKSkgeyByZXR1cm4gZmFsc2U7IH1cbiAgcmV0dXJuICEhKGlzTnVtZXJpY2FsKHBvaW50ZXIudmFsdWUpICYmIGlzTnVtZXJpY2FsKChwb2ludGVyLm5leHQgYXMgVG9rZW4pLnZhbHVlKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc05ld2xpbmVTZXAocG9pbnRlcjogVG9rZW4gfCBIZWFkIHwgbnVsbCk6IGJvb2xlYW4ge1xuICBpZiAoIXBvaW50ZXIgfHwgaXNIZWFkKHBvaW50ZXIpKSB7IHJldHVybiBmYWxzZTsgfVxuICByZXR1cm4gcG9pbnRlcj8uaXNFT0w7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kTmV4dE5ld0xpbmUocG9pbnRlcjogVG9rZW4gfCBudWxsKTogVG9rZW4gfCBudWxsIHtcbiAgbGV0IGN1cnJlbnQ6IFRva2VuIHwgbnVsbCA9IHBvaW50ZXI7XG4gIHdoaWxlIChjdXJyZW50KSB7XG4gICAgaWYgKGlzTmV3bGluZVNlcChjdXJyZW50KSkgeyByZXR1cm4gY3VycmVudC5uZXh0OyB9XG4gICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc0xhdGVyU3RyZWV0VHlwZShwb2ludGVyOiBUb2tlbiB8IG51bGwsIGxpbmVPbmx5ID0gZmFsc2UpOiBib29sZWFuIHtcbiAgaWYgKCFwb2ludGVyKSB7IHJldHVybiBmYWxzZTsgfVxuICBpZiAoaXNOZXdsaW5lU2VwKHBvaW50ZXIpKSB7IHJldHVybiBmYWxzZTsgfVxuICBsZXQgY3VycmVudDogVG9rZW4gfCBudWxsID0gcG9pbnRlci5uZXh0O1xuICB3aGlsZSAoY3VycmVudCkge1xuICAgIGlmIChpc1N0cmVldFR5cGUoY3VycmVudC52YWx1ZSkpIHsgcmV0dXJuIHRydWU7IH1cbiAgICBpZiAobGluZU9ubHkgJiYgY3VycmVudC5zZXBhcmF0b3IpIHsgYnJlYWs7IH1cbiAgICBjdXJyZW50ID0gY3VycmVudC5uZXh0O1xuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc1N0YXRlVW5pdChwb2ludGVyOiBUb2tlbiB8IG51bGwsIGxpbmVPbmx5ID0gZmFsc2UpOiBib29sZWFuIHtcbiAgbGV0IGN1cnJlbnQ6IFRva2VuIHwgbnVsbCA9IHBvaW50ZXI7XG4gIHdoaWxlIChjdXJyZW50KSB7XG4gICAgaWYgKGlzU3RhdGUoY3VycmVudC52YWx1ZSkpIHsgcmV0dXJuIHRydWU7IH1cbiAgICBpZiAobGluZU9ubHkgJiYgY3VycmVudC5zZXBhcmF0b3IpIHsgYnJlYWs7IH1cbiAgICBjdXJyZW50ID0gY3VycmVudC5uZXh0O1xuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5ld0xpbmVDb3VudChwb2ludGVyOiBUb2tlbiB8IG51bGwpOiBudW1iZXIge1xuICBsZXQgY3VycmVudDogVG9rZW4gfCBudWxsID0gcG9pbnRlcjtcbiAgbGV0IGNvdW50ID0gMDtcbiAgd2hpbGUgKGN1cnJlbnQpIHtcbiAgICBpZiAoaXNOZXdsaW5lU2VwKGN1cnJlbnQpKSB7IGNvdW50Kys7IH1cbiAgICBjdXJyZW50ID0gY3VycmVudC5uZXh0O1xuICB9XG4gIHJldHVybiBjb3VudDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0cmVldFR5cGVDb3VudChwb2ludGVyOiBUb2tlbiB8IG51bGwpOiBudW1iZXIge1xuICBsZXQgY3VycmVudDogVG9rZW4gfCBudWxsID0gcG9pbnRlcjtcbiAgbGV0IGNvdW50ID0gMDtcbiAgd2hpbGUgKGN1cnJlbnQpIHtcbiAgICBpZiAoaXNTdHJlZXRUeXBlKGN1cnJlbnQudmFsdWUpKSB7IGNvdW50Kys7IH1cbiAgICBjdXJyZW50ID0gY3VycmVudC5uZXh0O1xuICB9XG4gIHJldHVybiBjb3VudDtcbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5pemVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhcnNlci90b2tlbml6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQTBFO0FBQzFFLG1EQUFrRDtBQUNsRCx5Q0FBd0M7QUFFeEMsb0RBQW9EO0FBQ3BELDRDQUE0QztBQUU1Qyx1QkFBdUI7QUFDdkIsaUNBQWlDO0FBQ2pDLG1DQUFtQztBQUNuQyx3Q0FBd0M7QUFDeEMsc0JBQXNCO0FBRXRCLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDO0lBQ3JCLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztJQUN6RSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztJQUVyRCxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUc7SUFDekUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUc7Q0FDdEQsQ0FBQyxDQUFDO0FBRUgsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFDdkIsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztDQUNqRCxDQUFDLENBQUM7QUFFSCw4Q0FBOEM7QUFDOUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBRSxHQUFHLE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBRSxDQUFDLENBQUM7QUFFdkQsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBRSxDQUFDLENBQUM7QUFDOUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBRSxDQUFDLENBQUM7QUFDMUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBRSxJQUFJLEVBQUUsR0FBRyxDQUFFLENBQUMsQ0FBQztBQW9CdkMsMEVBQTBFO0FBQzFFLDRDQUE0QztBQUM1QyxNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNO0lBQy9ELDRHQUE0RztJQUM1RyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJO0lBQ2hILEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUs7SUFDL0csS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSztJQUNsSCxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSztJQUNySCxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSztJQUN0SCxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUs7SUFDdkgsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUs7SUFDekgsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUs7SUFDdkgsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUk7SUFDeEgsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSztJQUN0SCxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLO0lBQ3ZILEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSztJQUMzSCxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUs7SUFDL0gsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU07SUFDdkgsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU87SUFDeEgsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSztJQUN2SCxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSztJQUMxSCxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU07SUFDN0gsS0FB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QUM7S0FDeEI7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFSRCxvQ0FRQztBQUVELFNBQWdCLGVBQWUsQ0FBQyxPQUFxQjtJQUNuRCxJQUFJLE9BQU8sR0FBaUIsT0FBTyxDQUFDO0lBQ3BDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNkLE9BQU8sT0FBTyxFQUFFO1FBQ2QsSUFBSSx5QkFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUFFLEtBQUssRUFBRSxDQUFDO1NBQUU7UUFDN0MsT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7S0FDeEI7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFSRCwwQ0FRQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRpdGxlQ2FzZSwgaXNOdW1lcmljYWwsIG9yZGVyVG9PcmRpbmFsLCBpc09yZGVyIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBpc1N0cmVldFR5cGUgfSBmcm9tICcuLi9kYXRhL1N0cmVldFR5cGUnO1xuaW1wb3J0IHsgaXNTdGF0ZSB9IGZyb20gJy4uL2RhdGEvU3RhdGUnO1xuaW1wb3J0IHsgVW5pdEFiYnIsIFN0cmVldFR5cGUgfSBmcm9tICdAdW5pdmVyc2UvbW9kZWxzJztcbi8vIGltcG9ydCB7IGlzRmFjaWxpdHlUeXBlIH0gZnJvbSAnLi4vRmFjaWxpdHlUeXBlJztcbi8vIGltcG9ydCB7IGlzVW5pdEFiYnIgfSBmcm9tICcuLi9Vbml0QWJicic7XG5cbi8vIC8qIGVzbGludC1kaXNhYmxlICovXG4vLyBUT0RPOiBTcGVsbCBDaGVjayBJbnRlZ3JhdGlvbj9cbi8vIGNvbnN0IFR5cG8gPSByZXF1aXJlKFwidHlwby1qc1wiKTtcbi8vIGNvbnN0IGRpY3Rpb25hcnkgPSBuZXcgVHlwbygnZW5fVVMnKTtcbi8vIC8qIGVzbGludC1lbmFibGUgKi9cblxuY29uc3QgYWxwaGFzID0gbmV3IFNldChbXG4gICdBJywgJ0InLCAnQycsICdEJywgJ0UnLCAnRicsICdHJywgJ0gnLCAnSScsICdKJywgJ0snLCAnTCcsICdNJywgJ04nLCAnTycsXG4gICdQJywgJ1EnLCAnUicsICdTJywgJ1QnLCAnVScsICdWJywgJ1cnLCAnWCcsICdZJywgJ1onLFxuXG4gICdhJywgJ2InLCAnYycsICdkJywgJ2UnLCAnZicsICdnJywgJ2gnLCAnaScsICdqJywgJ2snLCAnbCcsICdtJywgJ24nLCAnbycsXG4gICdwJywgJ3EnLCAncicsICdzJywgJ3QnLCAndScsICd2JywgJ3cnLCAneCcsICd5JywgJ3onLFxuXSk7XG5cbmNvbnN0IGRlY2ltYWxzID0gbmV3IFNldChbXG4gICcwJywgJzEnLCAnMicsICczJywgJzQnLCAnNScsICc2JywgJzcnLCAnOCcsICc5Jyxcbl0pO1xuXG4vLyBodHRwczovL3BlLnVzcHMuY29tL3RleHQvcHViMjgvMjhjM18wMTkuaHRtXG5jb25zdCBsZWdhbENoYXJzID0gbmV3IFNldChbIC4uLmFscGhhcywgLi4uZGVjaW1hbHMgXSk7XG5cbmNvbnN0IG5ld2xpbmVzID0gbmV3IFNldChbICcsJywgJ1xcdCcsICdcXG4nIF0pO1xuY29uc3QgZGFzaGVzID0gbmV3IFNldChbICctJywgJ+KAkycsICfigJQnIF0pO1xuY29uc3Qgc2xhc2hlcyA9IG5ldyBTZXQoWyAnXFxcXCcsICcvJyBdKTtcblxuZXhwb3J0IGludGVyZmFjZSBUb2tlbiB7XG4gIC8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2UtYmVmb3JlLWRlZmluZSAqL1xuICBwcmV2OiBIZWFkIHwgVG9rZW47XG4gIG5leHQ6IFRva2VuIHwgbnVsbDtcbiAgdmFsdWU6IHN0cmluZztcbiAgc2VwYXJhdG9yOiAnLScgfCAnLicgfCAnIycgfCAnJicgfCAnLCcgfCAnLycgfCBudWxsO1xuICBhbHBoYXM6IG51bWJlcjtcbiAgZGVjaW1hbHM6IG51bWJlcjtcbiAgaXNFT0w6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGVhZCB7XG4gIGlzSGVhZDogdHJ1ZTtcbiAgbmV4dDogVG9rZW4gfCBudWxsO1xuICBzZXBhcmF0b3I6ICcnO1xuICBpc0VPTDogZmFsc2U7XG59XG5cbi8vIFNwZWNpYWwgbm9uLWVudW1lcmF0ZWQgYWJicmV2aWF0aW9ucyB3ZSB3YW50IHRvIG1ha2Ugc3VyZSB3ZSBjYXBpdGFsaXplXG4vLyBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9TaGlwX3ByZWZpeFxuY29uc3QgY2FwaXRhbGl6ZSA9IG5ldyBTZXQoWyAnQUZCJywgJ0FQTycsICdGUE8nLCAnQUVDT00nLCAnSFFCTicsXG4gIC8vIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0xpc3Rfb2ZfY29sbG9xdWlhbF9uYW1lc19mb3JfdW5pdmVyc2l0aWVzX2FuZF9jb2xsZWdlc19pbl90aGVfVW5pdGVkX1N0YXRlc1xuICAnQUZBJywgJ0EmTScsICdBJlQnLCAnQVBTVScsICdBTEFTVScsICdBU1UnLCAnQVUnLCAnQVVNJywgJ0JDJywgJ0JHU1UnLCAnQkhTVScsICdCSlUnLCAnQk1DJywgJ0JTQycsICdCU1UnLCAnQlUnLFxuICAnQllVJywgJ0NCVScsICdDQycsICdDQ05ZJywgJ0NDU1UnLCAnQ0NVJywgJ0NDVicsICdDR1UnLCAnQ0lBJywgJ0NNQycsICdDTVUnLCAnQ05VJywgJ0NTQicsICdTSlUnLCAnQ1NFJywgJ0NTSScsXG4gICdDU1UnLCAnQ1NVRicsICdDU1VFQicsICdDU1VMQScsICdDU1VTJywgJ0NVJywgJ0NVQScsICdDVU5ZJywgJ0RDJywgJ0RQVScsICdEU1UnLCAnRFUnLCAnRUNVJywgJ0VJVScsICdFTVUnLCAnRU1VJyxcbiAgJ0VOQycsICdFVFNVJywgJ0VXVScsICdFS1UnLCAnRiZNJywgJ0ZBTVUnLCAnRkFVJywgJ0ZDJywgJ0ZEVScsICdGR0NVJywgJ0ZJVCcsICdGSVUnLCAnRlBVJywgJ0ZTVScsICdGVScsICdHQicsICdHQ1UnLFxuICAnR0dDJywgJ0dPTlonLCAnR1NVJywgJ0dUJywgJ0dWU1UnLCAnSElVJywgJ0hNQycsICdIVScsICdIVScsICdIU1UnLCAnSUMnLCAnSUlUJywgJ0lQRlcnLCAnSVNVJywgJ0lVUCcsICdJVVBVSScsICdJV1UnLFxuICAnSVcnLCAnSkhVJywgJ0pNVScsICdKV1UnLCAnSlNVJywgJ0pVJywgJ0tTVScsICdLVScsICdLVScsICdMQycsICdMSFUnLCAnTElVJywgJ0xNVScsICdMU1UnLCAnTFNTVScsICdMVFUnLCAnTFUnLCAnTFVDJyxcbiAgJ01DTEEnLCAnTUlUJywgJ01NQycsICdNU1UnLCAnTVRTVScsICdNVFUnLCAnTVUnLCAnTVZTVScsICdNVVcnLCAnTkFVJywgJ05DQ1UnLCAnTkNTVScsICdORCcsICdORFNVJywgJ05FVScsICdOSVUnLCAnTktVJyxcbiAgJ05NU1UnLCAnTk1VJywgJ05TVScsICdOVScsICdOVlUnLCAnTlcnLCAnTldNU1UnLCAnTllJVCcsICdOWU1DJywgJ05ZVScsICdPQycsICdPQ0MnLCAnT0NVJywgJ09EVScsICdPSVQnLCAnT05VJywgJ09SVScsXG4gICdPU1UnLCAnT1UnLCAnUEMnLCAnUENDJywgJ1BMTlUnLCAnUE9NJywgJ1BTVScsICdQVFMnLCAnUFZBTVUnLCAnUVUnLCAnUkhJVCcsICdSSUMnLCAnUklTRCcsICdSSVQnLCAnUi1NV0MnLCAnUlBJJywgJ1JVJyxcbiAgJ1JXVScsICdSV0MnLCAnU0JVJywgJ1NDJywgJ1NDU1UnLCAnU0NVJywgJ1NEU00mVCcsICdTRFNVJywgJ1NGU1UnLCAnU0hDJywgJ1NJVUUnLCAnU0pDJywgJ1NKRkMnLCAnU0pTVScsICdTSlUnLCAnU0xVJyxcbiAgJ1NNQycsICdTTVUnLCAnU05IVScsICdTT1NVJywgJ1NQVScsICdTUlUnLCAnU1NVJywgJ1NVJywgJ1NVSScsICdTVVUnLCAnU1VOWScsICdTV09TVScsICdUQU1VJywgJ1RBTVVDQycsICdUQ05KJywgJ1RDVScsXG4gICdUU1UnLCAnVFRVJywgJ1RVJywgJ1VBJywgJ1VBQScsICdVQUInLCAnVUFGJywgJ1VBSCcsICdVQUxSJywgJ1VBTScsICdVQVBCJywgJ1VCJywgJ1VDJywgJ1VDQicsICdVQ0EnLCAnVUNDUycsICdVQ0QnLCAnVUNGJyxcbiAgJ1VDSScsICdVQ0xBJywgJ1VDTScsICdVQ08nLCAnVUNSJywgJ1VDU0InLCAnVUNTQycsICdVQ1NEJywgJ1VDU0YnLCAnVUQnLCAnVURNJywgJ1VEQycsICdVRicsICdVR0EnLCAnVUgnLCAnVUhDTCcsICdVSEQnLCAnVUhTJyxcbiAgJ1VIVicsICdVSUMnLCAnVUlVQycsICdVSycsICdVTE0nLCAnVUwnLCAnVU1CJywgJ1VNQkMnLCAnVU1DJywgJ1VNRCcsICdVTUtDJywgJ1VNTCcsICdVTU8nLCAnVU1XJywgJ1VOQScsICdVTkMnLCAnVU5DQycsXG4gICdVTkNHJywgJ1VOQ1cnLCAnVU5EJywgJ1VORicsICdVTkgnLCAnVU5JJywgJ1VOSycsICdVTkwnLCAnVU5MVicsICdVTk0nLCAnVU5PJywgJ1VOUicsICdVTlQnLCAnVU8nLCAnVU9QJywgJ1VQJywgJ1VQSUtFJyxcbiAgJ1VSSScsICdVU0EnLCAnVVNBRkEnLCAnVVNBTycsICdVU0MnLCAnVVNDQScsICdVU0QnLCAnVVNGJywgJ1VTRkNBJywgJ1VTSScsICdVU00nLCAnVVNVJywgJ1VUJywgJ1VUQScsICdVVEIvVFNDJywgJ1VUQycsXG4gICdVVEQnLCAnVVRFUCcsICdVVE0nLCAnVVRQQicsICdVVFJHVicsICdVVFNBJywgJ1VWQScsICdVVk0nLCAnVVZVJywgJ1VXJywgJ1VXRicsICdVV0cnLCAnVVdHQicsICdVV00nLCAnVkNVJywgJ1ZNSScsICdWUEknLFxuICAnVlNVJywgJ1ZUQycsICdWVScsICdXJkonLCAnVyZMJywgJ1cmTScsICdXQycsICdXQ1UnLCAnV0ZVJywgJ1dHVScsICdXSVUnLCAnV0tVJywgJ1dNVScsICdXUEknLCAnV1NVJywgJ1dUQU1VJywgJ1dWVScsICdXVlVQJyxcbiAgJ1dXVScsICdYVScsICdYVUxBJywgJ1lTVScsICdZVScsXG5dKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzSGVhZCh0b2tlbjogdW5rbm93bik6IHRva2VuIGlzIEhlYWQge1xuICByZXR1cm4gISEodG9rZW4gJiYgKHRva2VuIGFzIEhlYWQpLmlzSGVhZCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnNlcnRUb2tlbkFmdGVyKHByZXY6IFRva2VuLCB2YWx1ZTogc3RyaW5nKTogVG9rZW4ge1xuICBjb25zdCB0b2tlbiA9IHtcbiAgICBwcmV2LFxuICAgIG5leHQ6IHByZXYubmV4dCxcbiAgICB2YWx1ZSxcbiAgICBzZXBhcmF0b3I6IG51bGwsXG4gICAgYWxwaGFzOiAodmFsdWUubWF0Y2goL1thLXpBLVpdL2cpIHx8IFtdKS5sZW5ndGgsXG4gICAgZGVjaW1hbHM6ICh2YWx1ZS5tYXRjaCgvXFxkL2cpIHx8IFtdKS5sZW5ndGgsXG4gICAgaXNFT0w6IHByZXYuaXNFT0wsXG4gIH07XG4gIHRva2VuLnByZXYubmV4dCA9IHRva2VuO1xuICB0b2tlbi5wcmV2LmlzRU9MID0gZmFsc2U7XG4gIHRva2VuLm5leHQgJiYgKHRva2VuLm5leHQucHJldiA9IHRva2VuKTtcbiAgcmV0dXJuIHRva2VuO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5zZXJ0VG9rZW5CZWZvcmUobmV4dDogVG9rZW4sIHZhbHVlOiBzdHJpbmcpOiBUb2tlbiB7XG4gIGNvbnN0IHRva2VuID0ge1xuICAgIHByZXY6IG5leHQucHJldixcbiAgICBuZXh0LFxuICAgIHZhbHVlLFxuICAgIHNlcGFyYXRvcjogbnVsbCxcbiAgICBhbHBoYXM6ICh2YWx1ZS5tYXRjaCgvW2EtekEtWl0vZykgfHwgW10pLmxlbmd0aCxcbiAgICBkZWNpbWFsczogKHZhbHVlLm1hdGNoKC9cXGQvZykgfHwgW10pLmxlbmd0aCxcbiAgICBpc0VPTDogZmFsc2UsXG4gIH07XG4gIHRva2VuLnByZXYgJiYgKHRva2VuLnByZXYubmV4dCA9IHRva2VuKTtcbiAgdG9rZW4ubmV4dCAmJiAodG9rZW4ubmV4dC5wcmV2ID0gdG9rZW4pO1xuICByZXR1cm4gdG9rZW47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc051bWJlck9yQ29kZShwb2ludGVyOiBUb2tlbiB8IHN0cmluZyB8IG51bGwpOiBib29sZWFuIHtcbiAgaWYgKCFwb2ludGVyKSB7IHJldHVybiBmYWxzZTsgfVxuXG4gIGNvbnN0IHdvcmtpbmcgPSB7XG4gICAgdmFsdWU6IHR5cGVvZiBwb2ludGVyID09PSAnc3RyaW5nJyA/IHBvaW50ZXIgOiBwb2ludGVyLnZhbHVlLFxuICAgIGRlY2ltYWxzOiB0eXBlb2YgcG9pbnRlciA9PT0gJ3N0cmluZycgPyBwb2ludGVyLm1hdGNoKC9cXGQvZyk/Lmxlbmd0aCB8fCAwIDogcG9pbnRlci5kZWNpbWFscyxcbiAgICBhbHBoYXM6IHR5cGVvZiBwb2ludGVyID09PSAnc3RyaW5nJyA/IHBvaW50ZXIudG9Mb3dlckNhc2UoKS5tYXRjaCgvW15cXGRdL2cpPy5sZW5ndGggfHwgMCA6IHBvaW50ZXIuYWxwaGFzLFxuICAgIHByZXY6IG51bGwsXG4gICAgc2VwYXJhdG9yOiB0eXBlb2YgcG9pbnRlciA9PT0gJ3N0cmluZycgPyAnJyA6IHBvaW50ZXIuc2VwYXJhdG9yLFxuICB9O1xuXG4gIGlmICh3b3JraW5nLnNlcGFyYXRvciA9PT0gJyYnKSB7IHJldHVybiBmYWxzZTsgfVxuXG4gIC8vIElmIHN0cmluZyBzdGFydHMgd2l0aCBhIG51bWJlciwgdGhpcyBpcyBhIGNvZGUuIEV4OiBPcmRpbmFscyAoMXN0LCAybmQsIGV0YylcbiAgaWYgKHdvcmtpbmcudmFsdWUgJiYgd29ya2luZy52YWx1ZVswXS5tYXRjaCgvXlxcZC8pKSB7IHJldHVybiB0cnVlOyB9XG5cbiAgLy8gRGFzaGVkIG9uZSwgdHdvIGFuZCB0aHJlZSBjaGFyYWN0ZXIgYWxwaGEgc3RyaW5ncyAqYXJlKiBjb2RlcyFcbiAgaWYgKHdvcmtpbmcuYWxwaGFzIDw9IDMgJiYgIXdvcmtpbmcuZGVjaW1hbHMgJiYgKGRhc2hlcy5oYXMod29ya2luZy5zZXBhcmF0b3IgfHwgJycpIHx8IGRhc2hlcy5oYXMoKHBvaW50ZXIgYXMgVG9rZW4pLnByZXY/LnNlcGFyYXRvciB8fCAnJykpKSB7IHJldHVybiB0cnVlOyB9XG5cbiAgLy8gSWYgZGVjaW1hbHMgZXF1YWwgb3Igb3V0bnVtYmVyIGFscGhhcywgb3IgdGhpcyBpcyBhIHNpbmdsZSBjaGFyYWN0ZXIgc3RyaW5nLCBpcyBhIGNvZGUuXG4gIHJldHVybiAod29ya2luZy5kZWNpbWFscyA+PSB3b3JraW5nLmFscGhhcyAmJiB3b3JraW5nLmRlY2ltYWxzID4gMSkgfHwgKHdvcmtpbmcuYWxwaGFzIDw9IDEpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9rZW5pemUoYWRkcjogc3RyaW5nKTogSGVhZCB7XG4gIGNvbnN0IGhlYWQ6IEhlYWQgPSB7XG4gICAgbmV4dDogbnVsbCxcbiAgICBpc0hlYWQ6IHRydWUsXG4gICAgc2VwYXJhdG9yOiAnJyxcbiAgICBpc0VPTDogZmFsc2UsXG4gIH07XG5cbiAgLy8gQ29sbGFwc2Ugd2hpdGVzcGFjZVxuICAvLyBUT0RPOiBUaGlzIHJlZ2V4IGlzIGlub3JkaW5hdGVseSBleHBlbnNpdmUuIFJlcGxhY2UuXG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL1xcbisvZywgJ1xcbicpLnJlcGxhY2UoLyArL2csICcgJykucmVwbGFjZSgvXFx0Ky9nLCAnXFx0Jyk7XG5cbiAgLy8gVE9ETzogQWxsIG9mIHRoZSBiZWxvdyByZWdleHBzIGFyZSBWRVJZIGV4cGVuc2l2ZS4gU2ltcGxpZnkuXG4gIC8vIFJlbW92ZSBDYXJlIE9mIEFiYnIuXG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0NbLy5dT1xcLj8vZ2ksICcnKTtcblxuICAvLyBQLk8uIEJveGVzIGFuZCBILkMuIEJveGVzIGFyZSBTcGVjaWFsLlxuICBhZGRyID0gYWRkclxuICAgIC5yZXBsYWNlKC9QXFwuT1xcLi9pLCAnUE8nKVxuICAgIC5yZXBsYWNlKC9QXFwuTy9pLCAnUE8nKVxuICAgIC5yZXBsYWNlKC9QIE8gL2ksICdQTycpXG4gICAgLnJlcGxhY2UoL1BcXC5PXFwuQlxcLi9pLCAnIFBPIEJPWCAnKVxuICAgIC5yZXBsYWNlKC9QXFwuIE9cXC4gQlxcLi9pLCAnIFBPIEJPWCAnKVxuICAgIC5yZXBsYWNlKC8gUE9CW1xcZCBdL2ksICdQTyBCT1gnKVxuICAgIC5yZXBsYWNlKC9QT1ggQk9YL2ksICdQTyBCT1gnKVxuICAgIC5yZXBsYWNlKC9QT0JPWC9pLCAnUE8gQk9YJylcbiAgICAucmVwbGFjZSgvUE9CWC9pLCAnUE8gQk9YJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0hcXC5DXFwuL2ksICdIQyAnKS5yZXBsYWNlKC9IXFwuQy8sICdIQyAnKS5yZXBsYWNlKC9IIEMgLywgJ0hDICcpLnJlcGxhY2UoL0hDQk9YL2ksICdIQyBCT1gnKTtcblxuICBhZGRyID0gYWRkci5yZXBsYWNlKC9oaWdod2F5IGNhcnJpZXIgcm91dGUvaSwgJ0hDJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL2hpZ2h3YXkgY29udHJhY3Qgcm91dGUvaSwgJ0hDJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL2hpZ2h3YXkgY2Fycmllci9pLCAnSEMnKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvaGlnaHdheSBjb250cmFjdC9pLCAnSEMnKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvc3RhciByb3V0ZS9pLCAnSEMnKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvcnVyYWwgcm91dGUvaSwgJ1JSJyk7XG5cbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvcnVyYWwgcm9hZC9pLCAnUlInKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvdG93bnNoaXAgcm9hZC9pLCAnVFNSJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL3N0YXRlIHJvdXRlL2ksICdTUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9zdGF0ZSByb2FkL2ksICdTUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9jb3VudHkgcm9hZC9pLCAnQ1InKTtcblxuICBhZGRyID0gYWRkci5yZXBsYWNlKC9yXFwuXFxyXFwuIHJkL2ksICdSUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9zXFwuXFxyXFwuIHJkL2ksICdTUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9jXFwuXFxyXFwuIHJkL2ksICdDUicpO1xuXG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL3J1cmFsIHJkL2ksICdSUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC90b3duc2hpcCByZC9pLCAnVFNSJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL3N0YXRlIHJkL2ksICdTUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9jb3VudHkgcmQvaSwgJ0NSJyk7XG5cbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvTEEgQ0FNSU5JVE8vaSwgJ0xBQ0FNSU5JVE8nKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvRUwgQ0FNSU5PL2ksICdFTENBTUlOTycpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9MQSBDRVJSQURBL2ksICdMQUNFUlJBREEnKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvTEEgRU5UUkFEQS9pLCAnTEFFTlRSQURBJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0VMIFBBU0VPL2ksICdFTFBBU0VPJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0xBIFBMQUNJVEEvaSwgJ0xBUExBQ0lUQScpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9FTCBSQU5DSE8vaSwgJ0VMUkFOQ0hPJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0xBIFZFUkVEQS9pLCAnTEFWRVJFREEnKTtcblxuICBsZXQgcG9pbnRlcjogVG9rZW4gfCBudWxsID0ge1xuICAgIHByZXY6IGhlYWQsXG4gICAgbmV4dDogbnVsbCxcbiAgICB2YWx1ZTogJycsXG4gICAgc2VwYXJhdG9yOiBudWxsLFxuICAgIGFscGhhczogMCxcbiAgICBkZWNpbWFsczogMCxcbiAgICBpc0VPTDogZmFsc2UsXG4gIH07XG5cbiAgaGVhZC5uZXh0ID0gcG9pbnRlcjtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGFkZHIubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBjaGFyID0gYWRkcltpXTtcbiAgICBjb25zdCBuZXh0ID0gYWRkcltpICsgMV07XG4gICAgaWYgKCFwb2ludGVyKSB7IGJyZWFrOyB9XG4gICAgaWYgKGxlZ2FsQ2hhcnMuaGFzKGNoYXIpKSB7XG4gICAgICBwb2ludGVyLnZhbHVlICs9IGNoYXI7XG4gICAgICBpZiAoYWxwaGFzLmhhcyhjaGFyKSkge1xuICAgICAgICBwb2ludGVyLmFscGhhcysrO1xuICAgICAgfVxuICAgICAgaWYgKGRlY2ltYWxzLmhhcyhjaGFyKSkge1xuICAgICAgICBwb2ludGVyLmRlY2ltYWxzKys7XG4gICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgaWYgKG5ld2xpbmVzLmhhcyhjaGFyKSkgeyBwb2ludGVyLmlzRU9MID0gdHJ1ZTsgfVxuICAgICAgZWxzZSBpZiAoZGFzaGVzLmhhcyhjaGFyKSkgeyBwb2ludGVyLnNlcGFyYXRvciA9ICctJzsgfVxuICAgICAgZWxzZSBpZiAoY2hhciA9PT0gJy4nKSB7IHBvaW50ZXIuc2VwYXJhdG9yID0gJy4nOyB9XG4gICAgICBlbHNlIGlmIChjaGFyID09PSAnJicpIHsgcG9pbnRlci5zZXBhcmF0b3IgPSAnJic7IH1cbiAgICAgIGVsc2UgaWYgKGNoYXIgPT09ICcjJykgeyBwb2ludGVyLnNlcGFyYXRvciA9ICcjJzsgfVxuICAgICAgZWxzZSBpZiAoc2xhc2hlcy5oYXMoY2hhcikpIHsgcG9pbnRlci5zZXBhcmF0b3IgPSAnLyc7IH1cbiAgICAgIC8vIGlmICghaXNOdW1iZXJPckNvZGUocG9pbnRlcikgJiYgIWlzU3RhdGUocG9pbnRlci52YWx1ZSkgJiYgIWlzU3RyZWV0VHlwZShwb2ludGVyLnZhbHVlKSAmJiAhaXNGYWNpbGl0eVR5cGUocG9pbnRlci52YWx1ZSkgJiYgIWlzVW5pdEFiYnIocG9pbnRlci52YWx1ZSkpIHtcbiAgICAgIC8vICAgaWYgKCFkaWN0aW9uYXJ5LmNoZWNrKHBvaW50ZXIudmFsdWUpKSB7XG4gICAgICAvLyAgICAgY29uc3Qgc3VnZ2VzdGlvbnMgPSBkaWN0aW9uYXJ5LnN1Z2dlc3QocG9pbnRlci52YWx1ZSk7XG4gICAgICAvLyAgICAgcG9pbnRlci52YWx1ZSA9IHN1Z2dlc3Rpb25zWzBdIHx8IHBvaW50ZXIudmFsdWU7XG4gICAgICAvLyAgIH1cbiAgICAgIC8vIH1cbiAgICAgIHBvaW50ZXIudmFsdWUgPSBjYXBpdGFsaXplLmhhcyhwb2ludGVyLnZhbHVlLnRvVXBwZXJDYXNlKCkpID8gcG9pbnRlci52YWx1ZS50b1VwcGVyQ2FzZSgpIDogdGl0bGVDYXNlKHBvaW50ZXIudmFsdWUpO1xuICAgICAgaWYgKGxlZ2FsQ2hhcnMuaGFzKG5leHQpKSB7XG4gICAgICAgIHBvaW50ZXIgPSB7XG4gICAgICAgICAgcHJldjogcG9pbnRlcixcbiAgICAgICAgICBuZXh0OiBudWxsLFxuICAgICAgICAgIHZhbHVlOiAnJyxcbiAgICAgICAgICBzZXBhcmF0b3I6IG51bGwsXG4gICAgICAgICAgYWxwaGFzOiAwLFxuICAgICAgICAgIGRlY2ltYWxzOiAwLFxuICAgICAgICAgIGlzRU9MOiBmYWxzZSxcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHBvaW50ZXIucHJldikge1xuICAgICAgICAgIHBvaW50ZXIucHJldi5uZXh0ID0gcG9pbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE5vIG5ld2xpbmVzIGFmdGVyIHRoZSBsYXN0IFN0YXRlIGRpc2NvdmVyZWQuXG4gIHdoaWxlIChwb2ludGVyKSB7XG4gICAgaWYgKHBvaW50ZXIubmV4dCAmJiBpc1N0YXRlKHBvaW50ZXIubmV4dC52YWx1ZSkpIHtcbiAgICAgIHdoaWxlIChwb2ludGVyKSB7XG4gICAgICAgIHBvaW50ZXIuaXNFT0wgPSBmYWxzZTtcbiAgICAgICAgcG9pbnRlciA9IHBvaW50ZXIubmV4dDtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBpZiAoaXNIZWFkKHBvaW50ZXIucHJldikpIHsgYnJlYWs7IH1cbiAgICBwb2ludGVyID0gcG9pbnRlci5wcmV2O1xuICB9XG5cbiAgLy8gSXQgaXMgY29tbW9uIGZvciBwZW9wbGUgdG8gYmUgc2lsbHkgYW5kIHByZWZpeC9zdWZmaXggc29tZSB1bml0IG51bWJlcnMgd2l0aCB0aGVzZSBjb21tb24gYWJicmV2aWF0aW9uLlxuICAvLyBFeDogMTIzIFdhdGVyIFN0LiBBcHQgQVBUMSwgNDUgU3BydWNlIEF2ZSAxUEhcbiAgLy8gVE9ETzogV2UgY2FuIG1ha2UgdGhpcyBtb3JlIHJvYnVzdC4uLlxuICBwb2ludGVyID0gaGVhZC5uZXh0O1xuICB3aGlsZSAocG9pbnRlcikge1xuICAgIGlmICghcG9pbnRlcikgeyBicmVhazsgfVxuXG4gICAgaWYgKGlzT3JkZXIocG9pbnRlci52YWx1ZSkpIHtcbiAgICAgIHBvaW50ZXIudmFsdWUgPSBvcmRlclRvT3JkaW5hbChwb2ludGVyLnZhbHVlKTtcbiAgICB9XG5cbiAgICBjb25zdCBwcmVmaXhUZXN0ID0gWyBVbml0QWJici5BUFQsIFVuaXRBYmJyLlBILCBVbml0QWJici5MViwgU3RyZWV0VHlwZS5SUiwgJ1NVSVRFJywgJ1VOSVQnIF07XG4gICAgY29uc3Qgc3VmZml4VGV4dCA9IFtVbml0QWJici5QSF07XG5cbiAgICBmb3IgKGNvbnN0IHByZWZpeCBvZiBwcmVmaXhUZXN0KSB7XG4gICAgICBpZiAocG9pbnRlci52YWx1ZS50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgocHJlZml4LnRvTG93ZXJDYXNlKCkpICYmIHBvaW50ZXIudmFsdWUubGVuZ3RoID4gcHJlZml4Lmxlbmd0aCkge1xuICAgICAgICAvLyBTcGVjaWFsIENhc2UgZm9yIHBsdXJhbHNcbiAgICAgICAgaWYgKHBvaW50ZXIudmFsdWUudG9VcHBlckNhc2UoKSA9PT0gcHJlZml4LnRvVXBwZXJDYXNlKCkgKyAnUycpIHsgY29udGludWU7IH1cblxuICAgICAgICBjb25zdCBvbGRWYWx1ZSA9IHBvaW50ZXIudmFsdWU7XG4gICAgICAgIHBvaW50ZXIudmFsdWUgPSBwb2ludGVyLnZhbHVlLnNsaWNlKHByZWZpeC5sZW5ndGgpO1xuICAgICAgICBwb2ludGVyLmFscGhhcyAtPSBwcmVmaXgubGVuZ3RoO1xuICAgICAgICBpZiAoIWlzTnVtYmVyT3JDb2RlKHBvaW50ZXIpKSB7XG4gICAgICAgICAgcG9pbnRlci5hbHBoYXMgKz0gcHJlZml4Lmxlbmd0aDtcbiAgICAgICAgICBwb2ludGVyLnZhbHVlID0gb2xkVmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgaW5zZXJ0VG9rZW5CZWZvcmUocG9pbnRlciwgcHJlZml4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3Qgc3VmZml4IG9mIHN1ZmZpeFRleHQpIHtcbiAgICAgIGlmIChwb2ludGVyICYmIHBvaW50ZXIudmFsdWUudG9Mb3dlckNhc2UoKS5lbmRzV2l0aChzdWZmaXgudG9Mb3dlckNhc2UoKSkgJiYgcG9pbnRlci52YWx1ZS5sZW5ndGggPiBzdWZmaXgubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IG9sZFZhbHVlID0gcG9pbnRlci52YWx1ZTtcbiAgICAgICAgcG9pbnRlci52YWx1ZSA9IHBvaW50ZXIudmFsdWUuc2xpY2UoMCwgc3VmZml4Lmxlbmd0aCAqIC0xKTtcbiAgICAgICAgcG9pbnRlci5hbHBoYXMgLT0gc3VmZml4Lmxlbmd0aDtcbiAgICAgICAgaWYgKCFpc051bWJlck9yQ29kZShwb2ludGVyKSkge1xuICAgICAgICAgIHBvaW50ZXIuYWxwaGFzICs9IHN1ZmZpeC5sZW5ndGg7XG4gICAgICAgICAgcG9pbnRlci52YWx1ZSA9IG9sZFZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIGNvbnN0IG5ld1Rva2VuID0gaW5zZXJ0VG9rZW5BZnRlcihwb2ludGVyLCBzdWZmaXgpO1xuICAgICAgICAgIHBvaW50ZXIgPSBuZXdUb2tlbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBwb2ludGVyID0gcG9pbnRlci5uZXh0O1xuICB9XG5cbiAgLy8gU29tZSBtaXMtZm9ybWF0dGVkIGZhY2lsaXR5IGFkZHJlc3NlcyB3aWxsIHByZXBlbmQgYSAnMCcgdG8gbWFrZSB0aGVtIGFwcGVhciBsaWtlIHN0cmVldCBhZGRyZXNzZXMuXG4gIGlmIChoZWFkLm5leHQgJiYgaGVhZC5uZXh0LnZhbHVlID09PSAnMCcgJiYgaGVhZC5uZXh0Lm5leHQpIHtcbiAgICBoZWFkLm5leHQgPSBoZWFkLm5leHQubmV4dDtcbiAgfVxuXG4gIHJldHVybiBoZWFkO1xufVxuXG4vLyBUT0RPOiBVc2UgVVNQUyBoeXBoZW5hdGlvbiBzdGFuZGFyZHMuXG5leHBvcnQgZnVuY3Rpb24gaXNIeXBoZW5hdGVkQ29kZShwb2ludGVyOiBUb2tlbiB8IEhlYWQpOiBib29sZWFuIHtcbiAgaWYgKGlzSGVhZChwb2ludGVyKSkgeyByZXR1cm4gZmFsc2U7IH1cbiAgaWYgKCFwb2ludGVyLm5leHQgfHwgIWRhc2hlcy5oYXMocG9pbnRlci5zZXBhcmF0b3IgfHwgJycpKSB7IHJldHVybiBmYWxzZTsgfVxuICByZXR1cm4gISEoaXNOdW1lcmljYWwocG9pbnRlci52YWx1ZSkgJiYgaXNOdW1lcmljYWwoKHBvaW50ZXIubmV4dCBhcyBUb2tlbikudmFsdWUpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTmV3bGluZVNlcChwb2ludGVyOiBUb2tlbiB8IEhlYWQgfCBudWxsKTogYm9vbGVhbiB7XG4gIGlmICghcG9pbnRlciB8fCBpc0hlYWQocG9pbnRlcikpIHsgcmV0dXJuIGZhbHNlOyB9XG4gIHJldHVybiBwb2ludGVyPy5pc0VPTDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5ld2xpbmVDb3VudChwb2ludGVyOiBUb2tlbiB8IEhlYWQgfCBudWxsKTogbnVtYmVyIHtcbiAgbGV0IGN1cnJlbnQ6IFRva2VuIHwgSGVhZCB8IG51bGwgPSBwb2ludGVyO1xuICBsZXQgaSA9IDA7XG4gIHdoaWxlIChjdXJyZW50KSB7XG4gICAgaWYgKGlzTmV3bGluZVNlcChjdXJyZW50KSkgeyBpKys7IH1cbiAgICBjdXJyZW50ID0gY3VycmVudC5uZXh0O1xuICB9XG4gIHJldHVybiBpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmluZE5leHROZXdMaW5lKHBvaW50ZXI6IFRva2VuIHwgbnVsbCk6IFRva2VuIHwgbnVsbCB7XG4gIGxldCBjdXJyZW50OiBUb2tlbiB8IG51bGwgPSBwb2ludGVyO1xuICB3aGlsZSAoY3VycmVudCkge1xuICAgIGlmIChpc05ld2xpbmVTZXAoY3VycmVudCkpIHsgcmV0dXJuIGN1cnJlbnQubmV4dDsgfVxuICAgIGN1cnJlbnQgPSBjdXJyZW50Lm5leHQ7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNMYXRlclN0cmVldFR5cGUocG9pbnRlcjogVG9rZW4gfCBudWxsLCBsaW5lT25seSA9IGZhbHNlKTogYm9vbGVhbiB7XG4gIGlmICghcG9pbnRlcikgeyByZXR1cm4gZmFsc2U7IH1cbiAgaWYgKGlzTmV3bGluZVNlcChwb2ludGVyKSkgeyByZXR1cm4gZmFsc2U7IH1cbiAgbGV0IGN1cnJlbnQ6IFRva2VuIHwgbnVsbCA9IHBvaW50ZXIubmV4dDtcbiAgd2hpbGUgKGN1cnJlbnQpIHtcbiAgICBpZiAoaXNTdHJlZXRUeXBlKGN1cnJlbnQudmFsdWUpKSB7IHJldHVybiB0cnVlOyB9XG4gICAgaWYgKGxpbmVPbmx5ICYmIGN1cnJlbnQuc2VwYXJhdG9yKSB7IGJyZWFrOyB9XG4gICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNTdGF0ZVVuaXQocG9pbnRlcjogVG9rZW4gfCBudWxsLCBsaW5lT25seSA9IGZhbHNlKTogYm9vbGVhbiB7XG4gIGxldCBjdXJyZW50OiBUb2tlbiB8IG51bGwgPSBwb2ludGVyO1xuICB3aGlsZSAoY3VycmVudCkge1xuICAgIGlmIChpc1N0YXRlKGN1cnJlbnQudmFsdWUpKSB7IHJldHVybiB0cnVlOyB9XG4gICAgaWYgKGxpbmVPbmx5ICYmIGN1cnJlbnQuc2VwYXJhdG9yKSB7IGJyZWFrOyB9XG4gICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBuZXdMaW5lQ291bnQocG9pbnRlcjogVG9rZW4gfCBudWxsKTogbnVtYmVyIHtcbiAgbGV0IGN1cnJlbnQ6IFRva2VuIHwgbnVsbCA9IHBvaW50ZXI7XG4gIGxldCBjb3VudCA9IDA7XG4gIHdoaWxlIChjdXJyZW50KSB7XG4gICAgaWYgKGlzTmV3bGluZVNlcChjdXJyZW50KSkgeyBjb3VudCsrOyB9XG4gICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgfVxuICByZXR1cm4gY291bnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJlZXRUeXBlQ291bnQocG9pbnRlcjogVG9rZW4gfCBudWxsKTogbnVtYmVyIHtcbiAgbGV0IGN1cnJlbnQ6IFRva2VuIHwgbnVsbCA9IHBvaW50ZXI7XG4gIGxldCBjb3VudCA9IDA7XG4gIHdoaWxlIChjdXJyZW50KSB7XG4gICAgaWYgKGlzU3RyZWV0VHlwZShjdXJyZW50LnZhbHVlKSkgeyBjb3VudCsrOyB9XG4gICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgfVxuICByZXR1cm4gY291bnQ7XG59XG4iXX0= |
@@ -197,2 +197,2 @@ "use strict"; | ||
exports.normalizeHouseNum = normalizeHouseNum; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFyc2VyL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDO0lBQ3JCLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztJQUN6RSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztJQUVyRCxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUc7SUFDekUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUc7Q0FDdEQsQ0FBQyxDQUFDO0FBRUgsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFDdkIsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztDQUNqRCxDQUFDLENBQUM7QUFFSCxNQUFNLGNBQWMsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUM3QixJQUFJLEVBQUUsS0FBSyxF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fSBmcm9tICcuL3Rva2VuaXplcic7XG5cbmNvbnN0IGFscGhhcyA9IG5ldyBTZXQoW1xuICAnQScsICdCJywgJ0MnLCAnRCcsICdFJywgJ0YnLCAnRycsICdIJywgJ0knLCAnSicsICdLJywgJ0wnLCAnTScsICdOJywgJ08nLFxuICAnUCcsICdRJywgJ1InLCAnUycsICdUJywgJ1UnLCAnVicsICdXJywgJ1gnLCAnWScsICdaJyxcblxuICAnYScsICdiJywgJ2MnLCAnZCcsICdlJywgJ2YnLCAnZycsICdoJywgJ2knLCAnaicsICdrJywgJ2wnLCAnbScsICduJywgJ28nLFxuICAncCcsICdxJywgJ3InLCAncycsICd0JywgJ3UnLCAndicsICd3JywgJ3gnLCAneScsICd6Jyxcbl0pO1xuXG5jb25zdCBkZWNpbWFscyA9IG5ldyBTZXQoW1xuICAnMCcsICcxJywgJzInLCAnMycsICc0JywgJzUnLCAnNicsICc3JywgJzgnLCAnOScsXG5dKTtcblxuY29uc3QgZm9yY2VMb3dlckNhc2UgPSBuZXcgU2V0KFtcbiAgJ2FuJywgJ3RoZScsICdvZicsICdhbmQnLCAnYnV0JywgJ2ZvcicsICdhdCcsICdieScsICdmcm9tJywgJ2luJywgJ29uJyxcbl0pO1xuXG5leHBvcnQgZnVuY3Rpb24gdGl0bGVDYXNlKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgc3RyID0gc3RyLnRvTG93ZXJDYXNlKCkudHJpbSgpO1xuXG4gIGlmIChmb3JjZUxvd2VyQ2FzZS5oYXMoc3RyKSkge1xuICAgIHJldHVybiBzdHI7XG4gIH1cblxuICBmb3IgKGxldCBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykge1xuICAgIGlmIChpIC0gMSA8IDAgfHwgKCFhbHBoYXMuaGFzKHN0cltpIC0gMV0pICYmIGFscGhhcy5oYXMoc3RyW2ldKSkpIHtcbiAgICAgIHN0ciA9IHN0ci5zbGljZSgwLCBpKSArIHN0cltpXS50b1VwcGVyQ2FzZSgpICsgc3RyLnNsaWNlKGkgKyAxKTtcbiAgICB9XG4gIH1cblxuICAvLyBPcmRpbmFscyBkb24ndCBnZXQgdGl0bGVkLlxuICBzdHIgPSBzdHIucmVwbGFjZSgvKFxcZClTdC9nLCAnJDFzdCcpO1xuICBzdHIgPSBzdHIucmVwbGFjZSgvKFxcZClOZC9nLCAnJDFuZCcpO1xuICBzdHIgPSBzdHIucmVwbGFjZSgvKFxcZClSZC9nLCAnJDFyZCcpO1xuICBzdHIgPSBzdHIucmVwbGFjZSgvKFxcZClUaC9nLCAnJDF0aCcpO1xuXG4gIHJldHVybiBzdHI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc051bWVyaWNhbChzdHI6IHN0cmluZykge1xuICBsZXQgaXNOdW1iZXIgPSB0cnVlO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykge1xuICAgIGlzTnVtYmVyID0gaXNOdW1iZXIgJiYgZGVjaW1hbHMuaGFzKHN0cltpXSk7XG4gIH1cbiAgcmV0dXJuIGlzTnVtYmVyO1xufVxuXG5jb25zdCBvcmRpbmFscyA9IHtcbiAgRklSU1Q6ICcxc3QnLFxuICBTRUNPTkQ6ICcybmQnLFxuICBUSElSRDogJzNyZCcsXG4gIEZPVVJUSDogJzR0aCcsXG4gIEZJRlRIOiAnNXRoJyxcbiAgU0lYVEg6ICc2dGgnLFxuICBTRVZFTlRIOiAnN3RoJyxcbiAgRUlHSFRIOiAnOHRoJyxcbiAgTklOVEg6ICc5dGgnLFxuICBURU5USDogJzEwdGgnLFxuICBFTEVWRU5USDogJzExdGgnLFxuICBUV0VMRlRIOiAnMTJ0aCcsXG4gIFRISVJURUVOVEg6ICcxM3RoJyxcbiAgRk9VUlRFRU5USDogJzE0dGgnLFxuICBGSUZURUVOVEg6ICcxNXRoJyxcbn07XG5cbmNvbnN0IE9SRElOQUxfTUFQOiBNYXA8c3RyaW5nLCBzdHJpbmc+ID0gbmV3IE1hcCgpO1xuZm9yIChjb25zdCBbIGtleSwgdmFsdWUgXSBvZiBPYmplY3QuZW50cmllcyhvcmRpbmFscykpIHtcbiAgT1JESU5BTF9NQVAuc2V0KGtleS50b1VwcGVyQ2FzZSgpLCB2YWx1ZS50b1VwcGVyQ2FzZSgpKTtcbiAgT1JESU5BTF9NQVAuc2V0KHZhbHVlLnRvVXBwZXJDYXNlKCksIGtleS50b1VwcGVyQ2FzZSgpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzT3JkaW5hbChzdHI6IHN0cmluZyB8IG51bGwpOiBib29sZWFuIHtcbiAgcmV0dXJuICEhKHN0ciAmJiBzdHIubWF0Y2goL1swLTldKyhzdHxuZHxyZHx0aCkvaSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNPcmRlcih2YWw6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gISEob3JkaW5hbHNbdmFsLnRvVXBwZXJDYXNlKCldICYmIE9SRElOQUxfTUFQLmhhcyh2YWwudG9VcHBlckNhc2UoKSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb3JkaW5hbFRvT3JkZXIodmFsOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoIWlzT3JkaW5hbCh2YWwpKSB7IHJldHVybiB2YWw7IH1cbiAgcmV0dXJuIHRpdGxlQ2FzZShPUkRJTkFMX01BUC5nZXQodmFsLnRvVXBwZXJDYXNlKCkpIHx8IHZhbCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvcmRlclRvT3JkaW5hbCh2YWw6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmICghaXNPcmRlcih2YWwpKSB7IHJldHVybiB2YWw7IH1cbiAgcmV0dXJuIHRpdGxlQ2FzZShPUkRJTkFMX01BUC5nZXQodmFsLnRvVXBwZXJDYXNlKCkpIHx8IHZhbCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemUoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoIXN0cikgeyByZXR1cm4gJyc7IH1cbiAgcmV0dXJuIFN0cmluZyhzdHIpLnRvVXBwZXJDYXNlKCk7XG59XG5cbi8vIFVuaXQgbnVtYmVycyBzaG91bGQgYWx3YXlzIGhhdmUgbnVtYmVycyBmb2xsb3dlZCBieSBsZXR0ZXJzIGFuZCBiZSBzZW50ZW5jZSBjYXNlXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplVW5pdE51bSh0b2tlbnM6IFRva2VuW10pOiBzdHJpbmcgfCBudWxsIHtcbiAgY29uc3Qgb3V0ID0gW107XG4gIGNvbnN0IHN1ZmZpeCA9IFtdO1xuICBmb3IgKGNvbnN0IHRva2VuIG9mIHRva2Vucykge1xuICAgIGlmICghaXNPcmRpbmFsKHRva2VuLnZhbHVlKSkge1xuICAgICAgLy8gUHVzaCBzaW5nbGUgY2hhcmFjdGVyIHByZWZpeGVzIHRvIHRoZSBlbmRcbiAgICAgIGlmICh0b2tlbi5kZWNpbWFscyAmJiB0b2tlbi5hbHBoYXMgPT09IDEgJiYgL1thLXpdL2kudGVzdCh0b2tlbi52YWx1ZVswXSkpIHtcbiAgICAgICAgc3VmZml4LnB1c2godG9rZW4udmFsdWVbMF0udG9VcHBlckNhc2UoKSk7XG4gICAgICAgIHN1ZmZpeC5wdXNoKCcgJyk7XG4gICAgICAgIHRva2VuLnZhbHVlID0gdG9rZW4udmFsdWUuc2xpY2UoMSk7XG4gICAgICAgIHRva2VuLmFscGhhcyA9IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIFB1c2ggZG91YmxlIGNoYXJhY3RlciBwcmVmaXhlcyB0byB0aGUgZW5kXG4gICAgICBpZiAodG9rZW4uZGVjaW1hbHMgJiYgdG9rZW4uYWxwaGFzID09PSAyICYmIC9bYS16XS9pLnRlc3QodG9rZW4udmFsdWVbMF0pICYmIC9bYS16XS9pLnRlc3QodG9rZW4udmFsdWVbMV0pKSB7XG4gICAgICAgIHN1ZmZpeC5wdXNoKHRva2VuLnZhbHVlWzBdLnRvVXBwZXJDYXNlKCkpO1xuICAgICAgICBzdWZmaXgucHVzaCh0b2tlbi52YWx1ZVsxXS50b1VwcGVyQ2FzZSgpKTtcbiAgICAgICAgc3VmZml4LnB1c2goJyAnKTtcbiAgICAgICAgdG9rZW4udmFsdWUgPSB0b2tlbi52YWx1ZS5zbGljZSgxKTtcbiAgICAgICAgdG9rZW4uYWxwaGFzID0gMDtcbiAgICAgIH1cblxuICAgICAgLy8gUHVzaCBzaW5nbGUgY2hhcmFjdGVyIHN1ZmZpeGVzIHRvIHRoZSBlbmRcbiAgICAgIGlmICh0b2tlbi5kZWNpbWFscyAmJiB0b2tlbi5hbHBoYXMgPT09IDEgJiYgL1thLXpdL2kudGVzdCh0b2tlbi52YWx1ZVt0b2tlbi52YWx1ZS5sZW5ndGggLSAxXSkpIHtcbiAgICAgICAgc3VmZml4LnB1c2godG9rZW4udmFsdWVbdG9rZW4udmFsdWUubGVuZ3RoIC0gMV0udG9VcHBlckNhc2UoKSk7XG4gICAgICAgIHN1ZmZpeC5wdXNoKCcgJyk7XG4gICAgICAgIHRva2VuLnZhbHVlID0gdG9rZW4udmFsdWUuc2xpY2UoMCwgLTEpO1xuICAgICAgICB0b2tlbi5hbHBoYXMgPSAwO1xuICAgICAgfVxuXG4gICAgICAvLyBQdXNoIGRvdWJsZSBjaGFyYWN0ZXIgc3VmZml4ZXMgdG8gdGhlIGVuZFxuICAgICAgaWYgKHRva2VuLmRlY2ltYWxzICYmIHRva2VuLmFscGhhcyA9PT0gMiAmJiAvW2Etel0vaS50ZXN0KHRva2VuLnZhbHVlW3Rva2VuLnZhbHVlLmxlbmd0aCAtIDFdKSAmJiAvW2Etel0vaS50ZXN0KHRva2VuLnZhbHVlW3Rva2VuLnZhbHVlLmxlbmd0aCAtIDJdKSkge1xuICAgICAgICBzdWZmaXgucHVzaCh0b2tlbi52YWx1ZVt0b2tlbi52YWx1ZS5sZW5ndGggLSAyXS50b1VwcGVyQ2FzZSgpKTtcbiAgICAgICAgc3VmZml4LnB1c2godG9rZW4udmFsdWVbdG9rZW4udmFsdWUubGVuZ3RoIC0gMV0udG9VcHBlckNhc2UoKSk7XG4gICAgICAgIHN1ZmZpeC5wdXNoKCcgJyk7XG4gICAgICAgIHRva2VuLnZhbHVlID0gdG9rZW4udmFsdWUuc2xpY2UoMCwgLTIpO1xuICAgICAgICB0b2tlbi5hbHBoYXMgPSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlID0gKHRva2VuLmRlY2ltYWxzICYmIHRva2VuLmFscGhhcykgPyBpc09yZGluYWwodG9rZW4udmFsdWUpID8gdG9rZW4udmFsdWUudG9Mb3dlckNhc2UoKSA6IHRva2VuLnZhbHVlLnRvVXBwZXJDYXNlKCkgOiB0aXRsZUNhc2UodG9rZW4udmFsdWUpO1xuXG4gICAgLy8gQWxsIGFscGhhIGNvZGVzIGFyZSBwdXQgb24gdGhlIHN1ZmZpeCBhbmQgdXBwZXIgY2FzZWQuXG4gICAgaWYgKCF0b2tlbi5kZWNpbWFscyAmJiB2YWx1ZS5sZW5ndGggPD0gMykge1xuICAgICAgc3VmZml4LnB1c2godmFsdWUudG9VcHBlckNhc2UoKSk7XG4gICAgICBzd2l0Y2ggKHRva2VuLnNlcGFyYXRvcikge1xuICAgICAgICBjYXNlICctJzogc3VmZml4LnB1c2goJy0nKTsgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6IHN1ZmZpeC5wdXNoKCcgJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZWxzZSB7XG4gICAgICBvdXQucHVzaCh2YWx1ZSk7XG4gICAgICBzd2l0Y2ggKHRva2VuLnNlcGFyYXRvcikge1xuICAgICAgICBjYXNlICcjJzogb3V0LnB1c2goJyAjICcpOyBicmVhaztcbiAgICAgICAgY2FzZSAnLic6IG91dC5wdXNoKCcuJyk7IGJyZWFrO1xuICAgICAgICBjYXNlICcmJzogb3V0LnB1c2goJyAmICcpOyBicmVhaztcbiAgICAgICAgY2FzZSAnLCc6IG91dC5wdXNoKCcgJyk7IGJyZWFrO1xuICAgICAgICBjYXNlICctJzogb3V0LnB1c2goJy0nKTsgYnJlYWs7XG4gICAgICAgIGNhc2UgJy8nOiBvdXQucHVzaCgnLycpOyBicmVhaztcbiAgICAgICAgZGVmYXVsdDogb3V0LnB1c2goJycpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHN1ZmZpeC5wb3AoKTtcbiAgb3V0LnBvcCgpO1xuXG4gIC8vIE9yZGluYWxzIGRvbid0IGdldCB0aXRsZWQuXG4gIHJldHVybiBbIC4uLm91dCwgLi4uc3VmZml4IF0uam9pbignJykudHJpbSgpLnJlcGxhY2UoLyhcXGQpU3QvZ2ksICckMXN0JykucmVwbGFjZSgvKFxcZClOZC9naSwgJyQxbmQnKS5yZXBsYWNlKC8oXFxkKVJkL2dpLCAnJDFyZCcpLnJlcGxhY2UoLyhcXGQpVGgvZ2ksICckMXRoJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVIb3VzZU51bShzdHI6IHN0cmluZyB8IG51bGwpOiBzdHJpbmcgfCBudWxsIHtcbiAgaWYgKHN0ciA9PT0gbnVsbCkgeyByZXR1cm4gbnVsbDsgfVxuICBzdHIgPSBzdHIudG9VcHBlckNhc2UoKTtcbiAgbGV0IG91dCA9ICcnO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IHByZXYgPSBzdHJbaSAtIDFdO1xuICAgIGNvbnN0IGNoYXIgPSBzdHJbaV07XG4gICAgY29uc3QgbmV4dCA9IHN0cltpICsgMV07XG4gICAgLy8gUGxhY2UgYSBzcGFjZSBiZXR3ZWVuIGRlY2ltYWxzIGFuZCBhbHBoYXNcbiAgICBpZiAoKGRlY2ltYWxzLmhhcyhwcmV2KSAmJiBhbHBoYXMuaGFzKGNoYXIpKSB8fCAoYWxwaGFzLmhhcyhwcmV2KSAmJiBkZWNpbWFscy5oYXMoY2hhcikpKSB7XG4gICAgICAvLyBvdXQgKz0gYCAke2NoYXJ9YDtcbiAgICB9XG4gICAgLy8gUmVtb3ZlIHVubmVjZXNzYXJ5IGRhc2hlcyBiZXR3ZWVuIGRlY2ltYWxzIGFuZCBhbHBoYXNcbiAgICBpZiAoY2hhciA9PT0gJy0nICYmIChkZWNpbWFscy5oYXMocHJldikgJiYgYWxwaGFzLmhhcyhuZXh0KSkpIHtcbiAgICAgIG91dCArPSAnICc7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgb3V0ICs9IGNoYXI7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG91dC50cmltKCk7XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFyc2VyL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDO0lBQ3JCLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztJQUN6RSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztJQUVyRCxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUc7SUFDekUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUc7Q0FDdEQsQ0FBQyxDQUFDO0FBRUgsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFDdkIsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztDQUNqRCxDQUFDLENBQUM7QUFFSCxNQUFNLGNBQWMsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUM3QixJQUFJLEVBQUUsS0FBSyxF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fSBmcm9tICcuL3Rva2VuaXplcic7XG5cbmNvbnN0IGFscGhhcyA9IG5ldyBTZXQoW1xuICAnQScsICdCJywgJ0MnLCAnRCcsICdFJywgJ0YnLCAnRycsICdIJywgJ0knLCAnSicsICdLJywgJ0wnLCAnTScsICdOJywgJ08nLFxuICAnUCcsICdRJywgJ1InLCAnUycsICdUJywgJ1UnLCAnVicsICdXJywgJ1gnLCAnWScsICdaJyxcblxuICAnYScsICdiJywgJ2MnLCAnZCcsICdlJywgJ2YnLCAnZycsICdoJywgJ2knLCAnaicsICdrJywgJ2wnLCAnbScsICduJywgJ28nLFxuICAncCcsICdxJywgJ3InLCAncycsICd0JywgJ3UnLCAndicsICd3JywgJ3gnLCAneScsICd6Jyxcbl0pO1xuXG5jb25zdCBkZWNpbWFscyA9IG5ldyBTZXQoW1xuICAnMCcsICcxJywgJzInLCAnMycsICc0JywgJzUnLCAnNicsICc3JywgJzgnLCAnOScsXG5dKTtcblxuY29uc3QgZm9yY2VMb3dlckNhc2UgPSBuZXcgU2V0KFtcbiAgJ2FuJywgJ3RoZScsICdvZicsICdhbmQnLCAnYnV0JywgJ2ZvcicsICdhdCcsICdieScsICdmcm9tJywgJ2luJywgJ29uJyxcbl0pO1xuXG5leHBvcnQgZnVuY3Rpb24gdGl0bGVDYXNlKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgc3RyID0gc3RyLnRvTG93ZXJDYXNlKCkudHJpbSgpO1xuXG4gIGlmIChmb3JjZUxvd2VyQ2FzZS5oYXMoc3RyKSkge1xuICAgIHJldHVybiBzdHI7XG4gIH1cblxuICBmb3IgKGxldCBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykge1xuICAgIGlmIChpIC0gMSA8IDAgfHwgKCFhbHBoYXMuaGFzKHN0cltpIC0gMV0pICYmIGFscGhhcy5oYXMoc3RyW2ldKSkpIHtcbiAgICAgIHN0ciA9IHN0ci5zbGljZSgwLCBpKSArIHN0cltpXS50b1VwcGVyQ2FzZSgpICsgc3RyLnNsaWNlKGkgKyAxKTtcbiAgICB9XG4gIH1cblxuICAvLyBPcmRpbmFscyBkb24ndCBnZXQgdGl0bGVkLlxuICBzdHIgPSBzdHIucmVwbGFjZSgvKFxcZClTdC9nLCAnJDFzdCcpO1xuICBzdHIgPSBzdHIucmVwbGFjZSgvKFxcZClOZC9nLCAnJDFuZCcpO1xuICBzdHIgPSBzdHIucmVwbGFjZSgvKFxcZClSZC9nLCAnJDFyZCcpO1xuICBzdHIgPSBzdHIucmVwbGFjZSgvKFxcZClUaC9nLCAnJDF0aCcpO1xuXG4gIHJldHVybiBzdHI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc051bWVyaWNhbChzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBsZXQgaXNOdW1iZXIgPSB0cnVlO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykge1xuICAgIGlzTnVtYmVyID0gaXNOdW1iZXIgJiYgZGVjaW1hbHMuaGFzKHN0cltpXSk7XG4gIH1cbiAgcmV0dXJuIGlzTnVtYmVyO1xufVxuXG5jb25zdCBvcmRpbmFscyA9IHtcbiAgRklSU1Q6ICcxc3QnLFxuICBTRUNPTkQ6ICcybmQnLFxuICBUSElSRDogJzNyZCcsXG4gIEZPVVJUSDogJzR0aCcsXG4gIEZJRlRIOiAnNXRoJyxcbiAgU0lYVEg6ICc2dGgnLFxuICBTRVZFTlRIOiAnN3RoJyxcbiAgRUlHSFRIOiAnOHRoJyxcbiAgTklOVEg6ICc5dGgnLFxuICBURU5USDogJzEwdGgnLFxuICBFTEVWRU5USDogJzExdGgnLFxuICBUV0VMRlRIOiAnMTJ0aCcsXG4gIFRISVJURUVOVEg6ICcxM3RoJyxcbiAgRk9VUlRFRU5USDogJzE0dGgnLFxuICBGSUZURUVOVEg6ICcxNXRoJyxcbn07XG5cbmNvbnN0IE9SRElOQUxfTUFQOiBNYXA8c3RyaW5nLCBzdHJpbmc+ID0gbmV3IE1hcCgpO1xuZm9yIChjb25zdCBbIGtleSwgdmFsdWUgXSBvZiBPYmplY3QuZW50cmllcyhvcmRpbmFscykpIHtcbiAgT1JESU5BTF9NQVAuc2V0KGtleS50b1VwcGVyQ2FzZSgpLCB2YWx1ZS50b1VwcGVyQ2FzZSgpKTtcbiAgT1JESU5BTF9NQVAuc2V0KHZhbHVlLnRvVXBwZXJDYXNlKCksIGtleS50b1VwcGVyQ2FzZSgpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzT3JkaW5hbChzdHI6IHN0cmluZyB8IG51bGwpOiBib29sZWFuIHtcbiAgcmV0dXJuICEhKHN0ciAmJiBzdHIubWF0Y2goL1swLTldKyhzdHxuZHxyZHx0aCkvaSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNPcmRlcih2YWw6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gISEob3JkaW5hbHNbdmFsLnRvVXBwZXJDYXNlKCldICYmIE9SRElOQUxfTUFQLmhhcyh2YWwudG9VcHBlckNhc2UoKSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb3JkaW5hbFRvT3JkZXIodmFsOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoIWlzT3JkaW5hbCh2YWwpKSB7IHJldHVybiB2YWw7IH1cbiAgcmV0dXJuIHRpdGxlQ2FzZShPUkRJTkFMX01BUC5nZXQodmFsLnRvVXBwZXJDYXNlKCkpIHx8IHZhbCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvcmRlclRvT3JkaW5hbCh2YWw6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmICghaXNPcmRlcih2YWwpKSB7IHJldHVybiB2YWw7IH1cbiAgcmV0dXJuIHRpdGxlQ2FzZShPUkRJTkFMX01BUC5nZXQodmFsLnRvVXBwZXJDYXNlKCkpIHx8IHZhbCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemUoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoIXN0cikgeyByZXR1cm4gJyc7IH1cbiAgcmV0dXJuIFN0cmluZyhzdHIpLnRvVXBwZXJDYXNlKCk7XG59XG5cbi8vIFVuaXQgbnVtYmVycyBzaG91bGQgYWx3YXlzIGhhdmUgbnVtYmVycyBmb2xsb3dlZCBieSBsZXR0ZXJzIGFuZCBiZSBzZW50ZW5jZSBjYXNlXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplVW5pdE51bSh0b2tlbnM6IFRva2VuW10pOiBzdHJpbmcgfCBudWxsIHtcbiAgY29uc3Qgb3V0ID0gW107XG4gIGNvbnN0IHN1ZmZpeCA9IFtdO1xuICBmb3IgKGNvbnN0IHRva2VuIG9mIHRva2Vucykge1xuICAgIGlmICghaXNPcmRpbmFsKHRva2VuLnZhbHVlKSkge1xuICAgICAgLy8gUHVzaCBzaW5nbGUgY2hhcmFjdGVyIHByZWZpeGVzIHRvIHRoZSBlbmRcbiAgICAgIGlmICh0b2tlbi5kZWNpbWFscyAmJiB0b2tlbi5hbHBoYXMgPT09IDEgJiYgL1thLXpdL2kudGVzdCh0b2tlbi52YWx1ZVswXSkpIHtcbiAgICAgICAgc3VmZml4LnB1c2godG9rZW4udmFsdWVbMF0udG9VcHBlckNhc2UoKSk7XG4gICAgICAgIHN1ZmZpeC5wdXNoKCcgJyk7XG4gICAgICAgIHRva2VuLnZhbHVlID0gdG9rZW4udmFsdWUuc2xpY2UoMSk7XG4gICAgICAgIHRva2VuLmFscGhhcyA9IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIFB1c2ggZG91YmxlIGNoYXJhY3RlciBwcmVmaXhlcyB0byB0aGUgZW5kXG4gICAgICBpZiAodG9rZW4uZGVjaW1hbHMgJiYgdG9rZW4uYWxwaGFzID09PSAyICYmIC9bYS16XS9pLnRlc3QodG9rZW4udmFsdWVbMF0pICYmIC9bYS16XS9pLnRlc3QodG9rZW4udmFsdWVbMV0pKSB7XG4gICAgICAgIHN1ZmZpeC5wdXNoKHRva2VuLnZhbHVlWzBdLnRvVXBwZXJDYXNlKCkpO1xuICAgICAgICBzdWZmaXgucHVzaCh0b2tlbi52YWx1ZVsxXS50b1VwcGVyQ2FzZSgpKTtcbiAgICAgICAgc3VmZml4LnB1c2goJyAnKTtcbiAgICAgICAgdG9rZW4udmFsdWUgPSB0b2tlbi52YWx1ZS5zbGljZSgxKTtcbiAgICAgICAgdG9rZW4uYWxwaGFzID0gMDtcbiAgICAgIH1cblxuICAgICAgLy8gUHVzaCBzaW5nbGUgY2hhcmFjdGVyIHN1ZmZpeGVzIHRvIHRoZSBlbmRcbiAgICAgIGlmICh0b2tlbi5kZWNpbWFscyAmJiB0b2tlbi5hbHBoYXMgPT09IDEgJiYgL1thLXpdL2kudGVzdCh0b2tlbi52YWx1ZVt0b2tlbi52YWx1ZS5sZW5ndGggLSAxXSkpIHtcbiAgICAgICAgc3VmZml4LnB1c2godG9rZW4udmFsdWVbdG9rZW4udmFsdWUubGVuZ3RoIC0gMV0udG9VcHBlckNhc2UoKSk7XG4gICAgICAgIHN1ZmZpeC5wdXNoKCcgJyk7XG4gICAgICAgIHRva2VuLnZhbHVlID0gdG9rZW4udmFsdWUuc2xpY2UoMCwgLTEpO1xuICAgICAgICB0b2tlbi5hbHBoYXMgPSAwO1xuICAgICAgfVxuXG4gICAgICAvLyBQdXNoIGRvdWJsZSBjaGFyYWN0ZXIgc3VmZml4ZXMgdG8gdGhlIGVuZFxuICAgICAgaWYgKHRva2VuLmRlY2ltYWxzICYmIHRva2VuLmFscGhhcyA9PT0gMiAmJiAvW2Etel0vaS50ZXN0KHRva2VuLnZhbHVlW3Rva2VuLnZhbHVlLmxlbmd0aCAtIDFdKSAmJiAvW2Etel0vaS50ZXN0KHRva2VuLnZhbHVlW3Rva2VuLnZhbHVlLmxlbmd0aCAtIDJdKSkge1xuICAgICAgICBzdWZmaXgucHVzaCh0b2tlbi52YWx1ZVt0b2tlbi52YWx1ZS5sZW5ndGggLSAyXS50b1VwcGVyQ2FzZSgpKTtcbiAgICAgICAgc3VmZml4LnB1c2godG9rZW4udmFsdWVbdG9rZW4udmFsdWUubGVuZ3RoIC0gMV0udG9VcHBlckNhc2UoKSk7XG4gICAgICAgIHN1ZmZpeC5wdXNoKCcgJyk7XG4gICAgICAgIHRva2VuLnZhbHVlID0gdG9rZW4udmFsdWUuc2xpY2UoMCwgLTIpO1xuICAgICAgICB0b2tlbi5hbHBoYXMgPSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlID0gKHRva2VuLmRlY2ltYWxzICYmIHRva2VuLmFscGhhcykgPyBpc09yZGluYWwodG9rZW4udmFsdWUpID8gdG9rZW4udmFsdWUudG9Mb3dlckNhc2UoKSA6IHRva2VuLnZhbHVlLnRvVXBwZXJDYXNlKCkgOiB0aXRsZUNhc2UodG9rZW4udmFsdWUpO1xuXG4gICAgLy8gQWxsIGFscGhhIGNvZGVzIGFyZSBwdXQgb24gdGhlIHN1ZmZpeCBhbmQgdXBwZXIgY2FzZWQuXG4gICAgaWYgKCF0b2tlbi5kZWNpbWFscyAmJiB2YWx1ZS5sZW5ndGggPD0gMykge1xuICAgICAgc3VmZml4LnB1c2godmFsdWUudG9VcHBlckNhc2UoKSk7XG4gICAgICBzd2l0Y2ggKHRva2VuLnNlcGFyYXRvcikge1xuICAgICAgICBjYXNlICctJzogc3VmZml4LnB1c2goJy0nKTsgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6IHN1ZmZpeC5wdXNoKCcgJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZWxzZSB7XG4gICAgICBvdXQucHVzaCh2YWx1ZSk7XG4gICAgICBzd2l0Y2ggKHRva2VuLnNlcGFyYXRvcikge1xuICAgICAgICBjYXNlICcjJzogb3V0LnB1c2goJyAjICcpOyBicmVhaztcbiAgICAgICAgY2FzZSAnLic6IG91dC5wdXNoKCcuJyk7IGJyZWFrO1xuICAgICAgICBjYXNlICcmJzogb3V0LnB1c2goJyAmICcpOyBicmVhaztcbiAgICAgICAgY2FzZSAnLCc6IG91dC5wdXNoKCcgJyk7IGJyZWFrO1xuICAgICAgICBjYXNlICctJzogb3V0LnB1c2goJy0nKTsgYnJlYWs7XG4gICAgICAgIGNhc2UgJy8nOiBvdXQucHVzaCgnLycpOyBicmVhaztcbiAgICAgICAgZGVmYXVsdDogb3V0LnB1c2goJycpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHN1ZmZpeC5wb3AoKTtcbiAgb3V0LnBvcCgpO1xuXG4gIC8vIE9yZGluYWxzIGRvbid0IGdldCB0aXRsZWQuXG4gIHJldHVybiBbIC4uLm91dCwgLi4uc3VmZml4IF0uam9pbignJykudHJpbSgpLnJlcGxhY2UoLyhcXGQpU3QvZ2ksICckMXN0JykucmVwbGFjZSgvKFxcZClOZC9naSwgJyQxbmQnKS5yZXBsYWNlKC8oXFxkKVJkL2dpLCAnJDFyZCcpLnJlcGxhY2UoLyhcXGQpVGgvZ2ksICckMXRoJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVIb3VzZU51bShzdHI6IHN0cmluZyB8IG51bGwpOiBzdHJpbmcgfCBudWxsIHtcbiAgaWYgKHN0ciA9PT0gbnVsbCkgeyByZXR1cm4gbnVsbDsgfVxuICBzdHIgPSBzdHIudG9VcHBlckNhc2UoKTtcbiAgbGV0IG91dCA9ICcnO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IHByZXYgPSBzdHJbaSAtIDFdO1xuICAgIGNvbnN0IGNoYXIgPSBzdHJbaV07XG4gICAgY29uc3QgbmV4dCA9IHN0cltpICsgMV07XG4gICAgLy8gUGxhY2UgYSBzcGFjZSBiZXR3ZWVuIGRlY2ltYWxzIGFuZCBhbHBoYXNcbiAgICBpZiAoKGRlY2ltYWxzLmhhcyhwcmV2KSAmJiBhbHBoYXMuaGFzKGNoYXIpKSB8fCAoYWxwaGFzLmhhcyhwcmV2KSAmJiBkZWNpbWFscy5oYXMoY2hhcikpKSB7XG4gICAgICAvLyBvdXQgKz0gYCAke2NoYXJ9YDtcbiAgICB9XG4gICAgLy8gUmVtb3ZlIHVubmVjZXNzYXJ5IGRhc2hlcyBiZXR3ZWVuIGRlY2ltYWxzIGFuZCBhbHBoYXNcbiAgICBpZiAoY2hhciA9PT0gJy0nICYmIChkZWNpbWFscy5oYXMocHJldikgJiYgYWxwaGFzLmhhcyhuZXh0KSkpIHtcbiAgICAgIG91dCArPSAnICc7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgb3V0ICs9IGNoYXI7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG91dC50cmltKCk7XG59XG4iXX0= |
@@ -138,2 +138,2 @@ import { isDirectional, getCountryDesc, isCountry } from '@universe/models'; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWRkcmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BZGRyZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBMkMsYUFBYSxFQUFXLGNBQWMsRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU5SCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBYzNDLFNBQVMsTUFBTSxDQUFDLEdBQUcsTUFBeUI7SUFDMUMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUMvRCxDQUFDO0FBRUQsNERBQTREO0FBQzVELE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxHQUFHLENBQUMsaUJBQWdCLENBQUMsQ0FBQztBQUN2RCxTQUFTLFVBQVUsQ0FBQyxJQUFtQixFQUFFLElBQXVCO0lBQzlELElBQUksQ0FBQyxJQUFJLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQUU7SUFFckQsSUFBSSxhQUFhLEdBQVcsSUFBSSxDQUFDO0lBQ2pDLElBQUksb0JBQW9CLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQUUsYUFBYSxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJ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LE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQyxLQUFLLEtBQUssT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0MsS0FBSyxLQUFLLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0NBQ3ZEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVNpdHVzLCBTdGF0ZSwgRmFjaWxpdHlUeXBlLCBTdHJlZXRUeXBlLCBpc0RpcmVjdGlvbmFsLCBDb3VudHJ5LCBnZXRDb3VudHJ5RGVzYywgaXNDb3VudHJ5IH0gZnJvbSAnQHVuaXZlcnNlL21vZGVscyc7XG5cbmltcG9ydCB7IHBhcnNlIH0gZnJvbSAnLi9wYXJzZXInO1xuaW1wb3J0IHsgaXNOdW1iZXJPckNvZGUgfSBmcm9tICcuL3BhcnNlci90b2tlbml6ZXInO1xuaW1wb3J0IHsgdG9EaXJlY3Rpb25hbCB9IGZyb20gJy4vZGF0YS9EaXJlY3Rpb25hbCc7XG5pbXBvcnQgeyBpc1VyYmFuaXphdGlvbiB9IGZyb20gJy4vZGF0YS9GYWNpbGl0eVR5cGUnO1xuaW1wb3J0IHsgaXNTdHJlZXRQcmVmaXgsIHRvU3RyZWV0VHlwZSwgc3RyZWV0VHlwZVN0cmluZyB9IGZyb20gJy4vZGF0YS9TdHJlZXRUeXBlJztcbmltcG9ydCB7IGlzT3JkaW5hbCB9IGZyb20gJy4vcGFyc2VyL3V0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBVU1BTTGFiZWwge1xuICBjYXJlOiBzdHJpbmcgfCBudWxsO1xuICB1cmJhbml6YXRpb246IHN0cmluZyB8IG51bGw7XG4gIGxpbmUxOiBzdHJpbmcgfCBudWxsO1xuICBsaW5lMjogc3RyaW5nIHwgbnVsbDtcbiAgY2l0eTogc3RyaW5nIHwgbnVsbDtcbiAgc3RhdGU6IFN0YXRlIHwgbnVsbDtcbiAgemlwOiBzdHJpbmcgfCBudWxsO1xuICB6aXA0OiBzdHJpbmcgfCBudWxsO1xuICBjb3VudHJ5OiBzdHJpbmcgfCBudWxsO1xufVxuXG5mdW5jdGlvbiBjb25jYXQoLi4udmFsdWVzOiAoc3RyaW5nIHwgbnVsbClbXSk6IHN0cmluZyB7XG4gIHJldHVybiB2YWx1ZXMuZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKS50b1VwcGVyQ2FzZSgpLnRyaW0oKTtcbn1cblxuLy8gVVNQUyBsaWtlcyB0byBmb3JjZSBzb21lIHN0cmVldHMgdG8gYWx3YXlzIGJlIGV4cGFuZGVkLi4uXG5jb25zdCBmb3JjZVN0cmVldEV4cGFuc2lvbiA9IG5ldyBTZXQoW1N0cmVldFR5cGUuUExaXSk7XG5mdW5jdGlvbiBzdHJlZXROYW1lKG5hbWU6IHN0cmluZyB8IG51bGwsIHR5cGU6IFN0cmVldFR5cGUgfCBudWxsKTogKHN0cmluZyB8IG51bGwpW10ge1xuICBpZiAoIXR5cGUgfHwgaXNTdHJlZXRQcmVmaXgodHlwZSkpIHsgcmV0dXJuIFtuYW1lXTsgfVxuXG4gIGxldCBzdHJlZXRUeXBlT3V0OiBzdHJpbmcgPSB0eXBlO1xuICBpZiAoZm9yY2VTdHJlZXRFeHBhbnNpb24uaGFzKHR5cGUpKSB7IHN0cmVldFR5cGVPdXQgPSBzdHJlZXRUeXBlU3RyaW5nKHR5cGUpIHx8IHR5cGU7IH1cblxuICBpZiAoIW5hbWUpIHsgcmV0dXJuIFtzdHJlZXRUeXBlT3V0XTsgfVxuICBpZiAoaXNOdW1iZXJPckNvZGUobmFtZSkgJiYgIWlzT3JkaW5hbChuYW1lKSAmJiAhaXNEaXJlY3Rpb25hbChuYW1lKSkge1xuICAgIHJldHVybiBbIHN0cmVldFR5cGVTdHJpbmcodG9TdHJlZXRUeXBlKHR5cGUpKSwgbmFtZSBdO1xuICB9XG5cbiAgcmV0dXJuIFsgbmFtZSwgc3RyZWV0VHlwZU91dCBdO1xufVxuXG5leHBvcnQgY2xhc3MgQWRkcmVzcyB7XG4gIGFkZHJlc3M6IElTaXR1cztcblxuICBjb25zdHJ1Y3RvciguLi5saW5lczogc3RyaW5nW10gfCBJU2l0dXNbXSkge1xuICAgIGlmICh0eXBlb2YgbGluZXNbMF0gPT09ICdzdHJpbmcnKSB7XG4gICAgICB0aGlzLmFkZHJlc3MgPSBwYXJzZShsaW5lcy5qb2luKCdcXG4nKSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5hZGRyZXNzID0gbGluZXNbMF07XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGxhYmVsKGFkZHI/OiBJU2l0dXMgfCBudWxsKTogVVNQU0xhYmVsIHtcbiAgICBpZiAoIWFkZHIpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNhcmU6IG51bGwsXG4gICAgICAgIHVyYmFuaXphdGlvbjogbnVsbCxcbiAgICAgICAgbGluZTE6IG51bGwsXG4gICAgICAgIGxpbmUyOiBudWxsLFxuICAgICAgICBjaXR5OiBudWxsLFxuICAgICAgICBzdGF0ZTogbnVsbCxcbiAgICAgICAgemlwOiBudWxsLFxuICAgICAgICB6aXA0OiBudWxsLFxuICAgICAgICBjb3VudHJ5OiBudWxsLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICAvLyBUaGlzIGlzIGhvdyBVU1BTIHdhbnRzIFVNUnMgcHJlc2VudGVkLlxuICAgIGlmIChhZGRyLmZhY2lsaXR5VHlwZSA9PT0gRmFjaWxpdHlUeXBlLlVNUikge1xuICAgICAgYWRkci5mYWNpbGl0eVR5cGUgPSAnVU5JVCcgYXMgRmFjaWxpdHlUeXBlO1xuICAgIH1cblxuICAgIGFkZHIuc3RyZWV0UHJlRGlyID0gYWRkci5zdHJlZXRQcmVEaXIgPyB0b0RpcmVjdGlvbmFsKGFkZHIuc3RyZWV0UHJlRGlyKSA6IG51bGw7XG4gICAgYWRkci5zdHJlZXRQb3N0RGlyID0gYWRkci5zdHJlZXRQb3N0RGlyID8gdG9EaXJlY3Rpb25hbChhZGRyLnN0cmVldFBvc3REaXIpIDogbnVsbDtcblxuICAgIC8vIEVuc3VyZSB3ZSBoYXZlIGNsZWFuIFBPIEJveGVzIGZvciBVU1BTLlxuICAgIGlmIChhZGRyLmZhY2lsaXR5VHlwZSA9PT0gRmFjaWxpdHlUeXBlLlBPKSB7XG4gICAgICBhZGRyLmZhY2lsaXR5ID0gbnVsbDtcbiAgICB9XG5cbiAgICBsZXQgc3RyZWV0U2VnbWVudDogc3RyaW5nIHwgbnVsbCA9IGNvbmNhdChcbiAgICAgIGFkZHIuZmFjaWxpdHlUeXBlICYmICFpc1VyYmFuaXphdGlvbihhZGRyLmZhY2lsaXR5VHlwZSkgPyAnJyA6IGFkZHIubnVtYmVyLFxuICAgICAgaXNTdHJlZXRQcmVmaXgoYWRkci5zdHJlZXRUeXBlKSA/IHN0cmVldFR5cGVTdHJpbmcoYWRkci5zdHJlZXRUeXBlKSA6ICcnLFxuICAgICAgYWRkci5zdHJlZXRQcmVEaXIsXG4gICAgICAuLi5zdHJlZXROYW1lKGFkZHIuc3RyZWV0TmFtZSwgYWRkci5zdHJlZXRUeXBlKSxcbiAgICAgIGFkZHIuc3RyZWV0UG9zdERpcixcbiAgICApO1xuICAgIGxldCBmYWNpbGl0eTogc3RyaW5nIHwgbnVsbCA9IGNvbmNhdChhZGRyLmZhY2lsaXR5VHlwZSwgYWRkci5mYWNpbGl0eSwgYWRkci5mYWNpbGl0eVR5cGUgPyBhZGRyLm51bWJlciA6ICcnKTtcbiAgICBjb25zdCBQSU4gPSBjb25jYXQoYWRkci5waW5UeXBlIHx8IChhZGRyLnBpbk51bSAmJiAnIycpLCBhZGRyLnBpbk51bSk7XG4gICAgY29uc3QgdW5pdCA9IGNvbmNhdChhZGRyLnVuaXRBYmJyIHx8IChhZGRyLnVuaXROdW0gJiYgJyMnKSwgYWRkci51bml0TnVtKTtcblxuICAgIGxldCB1cmJhbml6YXRpb24gPSBudWxsO1xuICAgIGlmIChpc1VyYmFuaXphdGlvbihhZGRyLmZhY2lsaXR5VHlwZSkpIHtcbiAgICAgIHVyYmFuaXphdGlvbiA9IGNvbmNhdChhZGRyLmZhY2lsaXR5VHlwZSwgYWRkci5mYWNpbGl0eSk7XG4gICAgICBmYWNpbGl0eSA9IG51bGw7XG4gICAgfVxuXG4gICAgaWYgKGFkZHIuZmFjaWxpdHlUeXBlID09PSBGYWNpbGl0eVR5cGUuUE8pIHtcbiAgICAgIHN0cmVldFNlZ21lbnQgPSBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGxpbmUyID0gbnVsbDtcbiAgICBpZiAodW5pdCB8fCBQSU4pIHtcbiAgICAgIGlmICgoZmFjaWxpdHkgJiYgc3RyZWV0U2VnbWVudCkgfHwgKGFkZHIuZmFjaWxpdHlUeXBlID09PSBGYWNpbGl0eVR5cGUuUE8pKSB7XG4gICAgICAgIGZhY2lsaXR5ID0gY29uY2F0KGZhY2lsaXR5LCB1bml0KTtcbiAgICAgICAgZmFjaWxpdHkgPSBjb25jYXQoZmFjaWxpdHksIFBJTik7XG4gICAgICB9XG5cbiAgICAgIGVsc2UgaWYgKHN0cmVldFNlZ21lbnQpIHtcbiAgICAgICAgc3RyZWV0U2VnbWVudCA9IGNvbmNhdChzdHJlZXRTZWdtZW50LCB1bml0KTtcbiAgICAgICAgc3RyZWV0U2VnbWVudCA9IGNvbmNhdChzdHJlZXRTZWdtZW50LCBQSU4pO1xuICAgICAgfVxuXG4gICAgICBlbHNlIHtcbiAgICAgICAgZmFjaWxpdHkgPSBjb25jYXQoZmFjaWxpdHksIHVuaXQpO1xuICAgICAgICBmYWNpbGl0eSA9IGNvbmNhdChmYWNpbGl0eSwgUElOKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBpZiAoUElOKSB7XG4gICAgLy8gICBpZiAoIWZhY2lsaXR5ICYmIHN0cmVldFNlZ21lbnQgJiYgIWFkZHIucGluVHlwZSkge1xuICAgIC8vICAgfVxuICAgIC8vIH1cblxuICAgIHJldHVybiB7XG4gICAgICBjYXJlOiBhZGRyLmNhcmUgPyBhZGRyLmNhcmUudG9VcHBlckNhc2UoKSA6IG51bGwsXG4gICAgICB1cmJhbml6YXRpb24sXG4gICAgICBsaW5lMTogZmFjaWxpdHkgfHwgc3RyZWV0U2VnbWVudCxcbiAgICAgIGxpbmUyOiAoKGZhY2lsaXR5ICYmIHN0cmVldFNlZ21lbnQpID8gc3RyZWV0U2VnbWVudCA6IGxpbmUyKSB8fCBudWxsLFxuICAgICAgY2l0eTogYWRkci5jaXR5ID8gYWRkci5jaXR5LnRvVXBwZXJDYXNlKCkgOiBudWxsLFxuICAgICAgc3RhdGU6IGFkZHIuc3RhdGUgPyBhZGRyLnN0YXRlIDogbnVsbCxcbiAgICAgIHppcDogYWRkci56aXAgfHwgbnVsbCxcbiAgICAgIHppcDQ6IGFkZHIuemlwNCB8fCBudWxsLFxuICAgICAgY291bnRyeTogYWRkci5jb3VudHJ5IHx8IG51bGwsXG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBsaW5lcyhhZGRyPzogSVNpdHVzIHwgbnVsbCk6IFtzdHJpbmcgfCBudWxsLCBzdHJpbmcgfCBudWxsLCBzdHJpbmcgfCBudWxsLCBzdHJpbmcgfCBudWxsXSB7XG4gICAgaWYgKCFhZGRyKSB7IHJldHVybiBbIG51bGwsIG51bGwsIG51bGwsIG51bGwgXTsgfVxuICAgIGNvbnN0IGxhYmVsID0gQWRkcmVzcy5sYWJlbChhZGRyKTtcbiAgICBjb25zdCBvdXQgPSBbXG4gICAgICBsYWJlbC5jYXJlLFxuICAgICAgbGFiZWwudXJiYW5pemF0aW9uLFxuICAgICAgWyBsYWJlbC5saW5lMSwgbGFiZWwubGluZTIgXS5maWx0ZXIoQm9vbGVhbikuam9pbignICcpLnRyaW0oKSxcbiAgICAgIFsgbGFiZWwuY2l0eSwgbGFiZWwuc3RhdGUsIGxhYmVsLnppcCA/IGAgJHtsYWJlbC56aXB9YCA6IG51bGwgXS5maWx0ZXIoQm9vbGVhbikuam9pbignICcpLnRyaW0oKSxcbiAgICBdLmZpbHRlcihCb29sZWFuKTtcbiAgICBpZiAoaXNDb3VudHJ5KGxhYmVsLmNvdW50cnkpICYmIGxhYmVsLmNvdW50cnkgIT09IENvdW50cnkuVVNBKSB7XG4gICAgICBjb25zdCBuYW1lID0gZ2V0Q291bnRyeURlc2MobGFiZWwuY291bnRyeSk/Lm5hbWU7XG4gICAgICBuYW1lICYmIG91dC5wdXNoKG5hbWUudG9VcHBlckNhc2UoKSk7XG4gICAgfVxuICAgIHJldHVybiBbXG4gICAgICBvdXRbMF0gfHwgbnVsbCxcbiAgICAgIG91dFsxXSB8fCBudWxsLFxuICAgICAgb3V0WzJdIHx8IG51bGwsXG4gICAgICBvdXRbM10gfHwgbnVsbCxcbiAgICBdO1xuICB9XG5cbiAgc3RhdGljIHByaW50KGFkZHI/OiBJU2l0dXMgfCBudWxsKTogc3RyaW5nIHtcbiAgICBpZiAoIWFkZHIpIHsgcmV0dXJuICcnOyB9XG4gICAgcmV0dXJuIEFkZHJlc3MubGluZXMoYWRkcikuZmlsdGVyKEJvb2xlYW4pLmpvaW4oJ1xcbicpO1xuICB9XG5cbiAgcHVibGljIGxhYmVsKCkgeyByZXR1cm4gQWRkcmVzcy5sYWJlbCh0aGlzLmFkZHJlc3MpOyB9XG4gIHB1YmxpYyBsaW5lcygpIHsgcmV0dXJuIEFkZHJlc3MubGluZXModGhpcy5hZGRyZXNzKTsgfVxuICBwdWJsaWMgcHJpbnQoKSB7IHJldHVybiBBZGRyZXNzLnByaW50KHRoaXMuYWRkcmVzcyk7IH1cbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWRkcmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BZGRyZXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBMkMsYUFBYSxFQUFXLGNBQWMsRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU5SCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBYzNDLFNBQVMsTUFBTSxDQUFDLEdBQUcsTUFBeUI7SUFDMUMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUMvRCxDQUFDO0FBRUQsNERBQTREO0FBQzVELE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxHQUFHLENBQUMsaUJBQWdCLENBQUMsQ0FBQztBQUN2RCxTQUFTLFVBQVUsQ0FBQyxJQUFtQixFQUFFLElBQXVCO0lBQzlELElBQUksQ0FBQyxJQUFJLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQUU7SUFFckQsSUFBSSxhQUFhLEdBQVcsSUFBSSxDQUFDO0lBQ2pDLElBQUksb0JBQW9CLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQUUsYUFBYSxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJ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TyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUQsS0FBSyxLQUFtRSxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RyxLQUFLLEtBQWEsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7Q0FDL0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJU2l0dXMsIFN0YXRlLCBGYWNpbGl0eVR5cGUsIFN0cmVldFR5cGUsIGlzRGlyZWN0aW9uYWwsIENvdW50cnksIGdldENvdW50cnlEZXNjLCBpc0NvdW50cnkgfSBmcm9tICdAdW5pdmVyc2UvbW9kZWxzJztcblxuaW1wb3J0IHsgcGFyc2UgfSBmcm9tICcuL3BhcnNlcic7XG5pbXBvcnQgeyBpc051bWJlck9yQ29kZSB9IGZyb20gJy4vcGFyc2VyL3Rva2VuaXplcic7XG5pbXBvcnQgeyB0b0RpcmVjdGlvbmFsIH0gZnJvbSAnLi9kYXRhL0RpcmVjdGlvbmFsJztcbmltcG9ydCB7IGlzVXJiYW5pemF0aW9uIH0gZnJvbSAnLi9kYXRhL0ZhY2lsaXR5VHlwZSc7XG5pbXBvcnQgeyBpc1N0cmVldFByZWZpeCwgdG9TdHJlZXRUeXBlLCBzdHJlZXRUeXBlU3RyaW5nIH0gZnJvbSAnLi9kYXRhL1N0cmVldFR5cGUnO1xuaW1wb3J0IHsgaXNPcmRpbmFsIH0gZnJvbSAnLi9wYXJzZXIvdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVTUFNMYWJlbCB7XG4gIGNhcmU6IHN0cmluZyB8IG51bGw7XG4gIHVyYmFuaXphdGlvbjogc3RyaW5nIHwgbnVsbDtcbiAgbGluZTE6IHN0cmluZyB8IG51bGw7XG4gIGxpbmUyOiBzdHJpbmcgfCBudWxsO1xuICBjaXR5OiBzdHJpbmcgfCBudWxsO1xuICBzdGF0ZTogU3RhdGUgfCBudWxsO1xuICB6aXA6IHN0cmluZyB8IG51bGw7XG4gIHppcDQ6IHN0cmluZyB8IG51bGw7XG4gIGNvdW50cnk6IHN0cmluZyB8IG51bGw7XG59XG5cbmZ1bmN0aW9uIGNvbmNhdCguLi52YWx1ZXM6IChzdHJpbmcgfCBudWxsKVtdKTogc3RyaW5nIHtcbiAgcmV0dXJuIHZhbHVlcy5maWx0ZXIoQm9vbGVhbikuam9pbignICcpLnRvVXBwZXJDYXNlKCkudHJpbSgpO1xufVxuXG4vLyBVU1BTIGxpa2VzIHRvIGZvcmNlIHNvbWUgc3RyZWV0cyB0byBhbHdheXMgYmUgZXhwYW5kZWQuLi5cbmNvbnN0IGZvcmNlU3RyZWV0RXhwYW5zaW9uID0gbmV3IFNldChbU3RyZWV0VHlwZS5QTFpdKTtcbmZ1bmN0aW9uIHN0cmVldE5hbWUobmFtZTogc3RyaW5nIHwgbnVsbCwgdHlwZTogU3RyZWV0VHlwZSB8IG51bGwpOiAoc3RyaW5nIHwgbnVsbClbXSB7XG4gIGlmICghdHlwZSB8fCBpc1N0cmVldFByZWZpeCh0eXBlKSkgeyByZXR1cm4gW25hbWVdOyB9XG5cbiAgbGV0IHN0cmVldFR5cGVPdXQ6IHN0cmluZyA9IHR5cGU7XG4gIGlmIChmb3JjZVN0cmVldEV4cGFuc2lvbi5oYXModHlwZSkpIHsgc3RyZWV0VHlwZU91dCA9IHN0cmVldFR5cGVTdHJpbmcodHlwZSkgfHwgdHlwZTsgfVxuXG4gIGlmICghbmFtZSkgeyByZXR1cm4gW3N0cmVldFR5cGVPdXRdOyB9XG4gIGlmIChpc051bWJlck9yQ29kZShuYW1lKSAmJiAhaXNPcmRpbmFsKG5hbWUpICYmICFpc0RpcmVjdGlvbmFsKG5hbWUpKSB7XG4gICAgcmV0dXJuIFsgc3RyZWV0VHlwZVN0cmluZyh0b1N0cmVldFR5cGUodHlwZSkpLCBuYW1lIF07XG4gIH1cblxuICByZXR1cm4gWyBuYW1lLCBzdHJlZXRUeXBlT3V0IF07XG59XG5cbmV4cG9ydCBjbGFzcyBBZGRyZXNzIHtcbiAgYWRkcmVzczogSVNpdHVzO1xuXG4gIGNvbnN0cnVjdG9yKC4uLmxpbmVzOiBzdHJpbmdbXSB8IElTaXR1c1tdKSB7XG4gICAgaWYgKHR5cGVvZiBsaW5lc1swXSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHRoaXMuYWRkcmVzcyA9IHBhcnNlKGxpbmVzLmpvaW4oJ1xcbicpKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLmFkZHJlc3MgPSBsaW5lc1swXTtcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgbGFiZWwoYWRkcj86IElTaXR1cyB8IG51bGwpOiBVU1BTTGFiZWwge1xuICAgIGlmICghYWRkcikge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY2FyZTogbnVsbCxcbiAgICAgICAgdXJiYW5pemF0aW9uOiBudWxsLFxuICAgICAgICBsaW5lMTogbnVsbCxcbiAgICAgICAgbGluZTI6IG51bGwsXG4gICAgICAgIGNpdHk6IG51bGwsXG4gICAgICAgIHN0YXRlOiBudWxsLFxuICAgICAgICB6aXA6IG51bGwsXG4gICAgICAgIHppcDQ6IG51bGwsXG4gICAgICAgIGNvdW50cnk6IG51bGwsXG4gICAgICB9O1xuICAgIH1cblxuICAgIC8vIFRoaXMgaXMgaG93IFVTUFMgd2FudHMgVU1ScyBwcmVzZW50ZWQuXG4gICAgaWYgKGFkZHIuZmFjaWxpdHlUeXBlID09PSBGYWNpbGl0eVR5cGUuVU1SKSB7XG4gICAgICBhZGRyLmZhY2lsaXR5VHlwZSA9ICdVTklUJyBhcyBGYWNpbGl0eVR5cGU7XG4gICAgfVxuXG4gICAgYWRkci5zdHJlZXRQcmVEaXIgPSBhZGRyLnN0cmVldFByZURpciA/IHRvRGlyZWN0aW9uYWwoYWRkci5zdHJlZXRQcmVEaXIpIDogbnVsbDtcbiAgICBhZGRyLnN0cmVldFBvc3REaXIgPSBhZGRyLnN0cmVldFBvc3REaXIgPyB0b0RpcmVjdGlvbmFsKGFkZHIuc3RyZWV0UG9zdERpcikgOiBudWxsO1xuXG4gICAgLy8gRW5zdXJlIHdlIGhhdmUgY2xlYW4gUE8gQm94ZXMgZm9yIFVTUFMuXG4gICAgaWYgKGFkZHIuZmFjaWxpdHlUeXBlID09PSBGYWNpbGl0eVR5cGUuUE8pIHtcbiAgICAgIGFkZHIuZmFjaWxpdHkgPSBudWxsO1xuICAgIH1cblxuICAgIGxldCBzdHJlZXRTZWdtZW50OiBzdHJpbmcgfCBudWxsID0gY29uY2F0KFxuICAgICAgYWRkci5mYWNpbGl0eVR5cGUgJiYgIWlzVXJiYW5pemF0aW9uKGFkZHIuZmFjaWxpdHlUeXBlKSA/ICcnIDogYWRkci5udW1iZXIsXG4gICAgICBpc1N0cmVldFByZWZpeChhZGRyLnN0cmVldFR5cGUpID8gc3RyZWV0VHlwZVN0cmluZyhhZGRyLnN0cmVldFR5cGUpIDogJycsXG4gICAgICBhZGRyLnN0cmVldFByZURpcixcbiAgICAgIC4uLnN0cmVldE5hbWUoYWRkci5zdHJlZXROYW1lLCBhZGRyLnN0cmVldFR5cGUpLFxuICAgICAgYWRkci5zdHJlZXRQb3N0RGlyLFxuICAgICk7XG4gICAgbGV0IGZhY2lsaXR5OiBzdHJpbmcgfCBudWxsID0gY29uY2F0KGFkZHIuZmFjaWxpdHlUeXBlLCBhZGRyLmZhY2lsaXR5LCBhZGRyLmZhY2lsaXR5VHlwZSA/IGFkZHIubnVtYmVyIDogJycpO1xuICAgIGNvbnN0IFBJTiA9IGNvbmNhdChhZGRyLnBpblR5cGUgfHwgKGFkZHIucGluTnVtICYmICcjJyksIGFkZHIucGluTnVtKTtcbiAgICBjb25zdCB1bml0ID0gY29uY2F0KGFkZHIudW5pdEFiYnIgfHwgKGFkZHIudW5pdE51bSAmJiAnIycpLCBhZGRyLnVuaXROdW0pO1xuXG4gICAgbGV0IHVyYmFuaXphdGlvbiA9IG51bGw7XG4gICAgaWYgKGlzVXJiYW5pemF0aW9uKGFkZHIuZmFjaWxpdHlUeXBlKSkge1xuICAgICAgdXJiYW5pemF0aW9uID0gY29uY2F0KGFkZHIuZmFjaWxpdHlUeXBlLCBhZGRyLmZhY2lsaXR5KTtcbiAgICAgIGZhY2lsaXR5ID0gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoYWRkci5mYWNpbGl0eVR5cGUgPT09IEZhY2lsaXR5VHlwZS5QTykge1xuICAgICAgc3RyZWV0U2VnbWVudCA9IG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgbGluZTIgPSBudWxsO1xuICAgIGlmICh1bml0IHx8IFBJTikge1xuICAgICAgaWYgKChmYWNpbGl0eSAmJiBzdHJlZXRTZWdtZW50KSB8fCAoYWRkci5mYWNpbGl0eVR5cGUgPT09IEZhY2lsaXR5VHlwZS5QTykpIHtcbiAgICAgICAgZmFjaWxpdHkgPSBjb25jYXQoZmFjaWxpdHksIHVuaXQpO1xuICAgICAgICBmYWNpbGl0eSA9IGNvbmNhdChmYWNpbGl0eSwgUElOKTtcbiAgICAgIH1cblxuICAgICAgZWxzZSBpZiAoc3RyZWV0U2VnbWVudCkge1xuICAgICAgICBzdHJlZXRTZWdtZW50ID0gY29uY2F0KHN0cmVldFNlZ21lbnQsIHVuaXQpO1xuICAgICAgICBzdHJlZXRTZWdtZW50ID0gY29uY2F0KHN0cmVldFNlZ21lbnQsIFBJTik7XG4gICAgICB9XG5cbiAgICAgIGVsc2Uge1xuICAgICAgICBmYWNpbGl0eSA9IGNvbmNhdChmYWNpbGl0eSwgdW5pdCk7XG4gICAgICAgIGZhY2lsaXR5ID0gY29uY2F0KGZhY2lsaXR5LCBQSU4pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGlmIChQSU4pIHtcbiAgICAvLyAgIGlmICghZmFjaWxpdHkgJiYgc3RyZWV0U2VnbWVudCAmJiAhYWRkci5waW5UeXBlKSB7XG4gICAgLy8gICB9XG4gICAgLy8gfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNhcmU6IGFkZHIuY2FyZSA/IGFkZHIuY2FyZS50b1VwcGVyQ2FzZSgpIDogbnVsbCxcbiAgICAgIHVyYmFuaXphdGlvbixcbiAgICAgIGxpbmUxOiBmYWNpbGl0eSB8fCBzdHJlZXRTZWdtZW50LFxuICAgICAgbGluZTI6ICgoZmFjaWxpdHkgJiYgc3RyZWV0U2VnbWVudCkgPyBzdHJlZXRTZWdtZW50IDogbGluZTIpIHx8IG51bGwsXG4gICAgICBjaXR5OiBhZGRyLmNpdHkgPyBhZGRyLmNpdHkudG9VcHBlckNhc2UoKSA6IG51bGwsXG4gICAgICBzdGF0ZTogYWRkci5zdGF0ZSA/IGFkZHIuc3RhdGUgOiBudWxsLFxuICAgICAgemlwOiBhZGRyLnppcCB8fCBudWxsLFxuICAgICAgemlwNDogYWRkci56aXA0IHx8IG51bGwsXG4gICAgICBjb3VudHJ5OiBhZGRyLmNvdW50cnkgfHwgbnVsbCxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGxpbmVzKGFkZHI/OiBJU2l0dXMgfCBudWxsKTogW3N0cmluZyB8IG51bGwsIHN0cmluZyB8IG51bGwsIHN0cmluZyB8IG51bGwsIHN0cmluZyB8IG51bGxdIHtcbiAgICBpZiAoIWFkZHIpIHsgcmV0dXJuIFsgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCBdOyB9XG4gICAgY29uc3QgbGFiZWwgPSBBZGRyZXNzLmxhYmVsKGFkZHIpO1xuICAgIGNvbnN0IG91dCA9IFtcbiAgICAgIGxhYmVsLmNhcmUsXG4gICAgICBsYWJlbC51cmJhbml6YXRpb24sXG4gICAgICBbIGxhYmVsLmxpbmUxLCBsYWJlbC5saW5lMiBdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJykudHJpbSgpLFxuICAgICAgWyBsYWJlbC5jaXR5LCBsYWJlbC5zdGF0ZSwgbGFiZWwuemlwID8gYCAke2xhYmVsLnppcH1gIDogbnVsbCBdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJykudHJpbSgpLFxuICAgIF0uZmlsdGVyKEJvb2xlYW4pO1xuICAgIGlmIChpc0NvdW50cnkobGFiZWwuY291bnRyeSkgJiYgbGFiZWwuY291bnRyeSAhPT0gQ291bnRyeS5VU0EpIHtcbiAgICAgIGNvbnN0IG5hbWUgPSBnZXRDb3VudHJ5RGVzYyhsYWJlbC5jb3VudHJ5KT8ubmFtZTtcbiAgICAgIG5hbWUgJiYgb3V0LnB1c2gobmFtZS50b1VwcGVyQ2FzZSgpKTtcbiAgICB9XG4gICAgcmV0dXJuIFtcbiAgICAgIG91dFswXSB8fCBudWxsLFxuICAgICAgb3V0WzFdIHx8IG51bGwsXG4gICAgICBvdXRbMl0gfHwgbnVsbCxcbiAgICAgIG91dFszXSB8fCBudWxsLFxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgcHJpbnQoYWRkcj86IElTaXR1cyB8IG51bGwpOiBzdHJpbmcge1xuICAgIGlmICghYWRkcikgeyByZXR1cm4gJyc7IH1cbiAgICByZXR1cm4gQWRkcmVzcy5saW5lcyhhZGRyKS5maWx0ZXIoQm9vbGVhbikuam9pbignXFxuJyk7XG4gIH1cblxuICBwdWJsaWMgbGFiZWwoKTogVVNQU0xhYmVsIHsgcmV0dXJuIEFkZHJlc3MubGFiZWwodGhpcy5hZGRyZXNzKTsgfVxuICBwdWJsaWMgbGluZXMoKTogW3N0cmluZyB8IG51bGwsIHN0cmluZyB8IG51bGwsIHN0cmluZyB8IG51bGwsIHN0cmluZyB8IG51bGxdIHsgcmV0dXJuIEFkZHJlc3MubGluZXModGhpcy5hZGRyZXNzKTsgfVxuICBwdWJsaWMgcHJpbnQoKTogc3RyaW5nIHsgcmV0dXJuIEFkZHJlc3MucHJpbnQodGhpcy5hZGRyZXNzKTsgfVxufVxuIl19 |
@@ -34,2 +34,3 @@ import { normalize } from '../parser/utils'; | ||
["YT" /* YT */]: ['Yacht'], | ||
["DORM" /* DORM */]: ['Dorm', 'Dormitory'], | ||
}; | ||
@@ -59,2 +60,2 @@ export const UnitAbbrsMappings = {}; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVW5pdEFiYnIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGF0YS9Vbml0QWJici50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFNUMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFvQztJQUM5RCxpQkFBYyxFQUFFLENBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsYUFBYSxDQUFFO0lBQzdELG1CQUFlLEVBQUUsQ0FBQyxVQUFVLENBQUM7SUFDN0IsbUJBQWUsRUFBRSxDQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFFO0lBQ2xELGlCQUFjLEVBQUUsQ0FBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBRTtJQUNsSCxtQkFBZSxFQUFFLENBQUMsWUFBWSxDQUFDO0lBQy9CLGVBQWEsRUFBRSxDQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFFO0lBQ3pDLG1CQUFlLEVBQUUsQ0FBQyxPQUFPLENBQUM7SUFDMUIsbUJBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQztJQUMzQixpQkFBYyxFQUFFLENBQUMsS0FBSyxDQUFDO0lBQ3ZCLG1CQUFlLEVBQUUsQ0FBQyxPQUFPLENBQUM7SUFDMUIsaUJBQWMsRUFBRSxDQUFDLEtBQUssQ0FBQztJQUN2QixtQkFBZSxFQUFFLENBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBRTtJQUMvRCxpQkFBYyxFQUFFLENBQUMsUUFBUSxDQUFDO0lBQzFCLGVBQWEsRUFBRSxDQUFDLFdBQVcsQ0FBQztJQUM1QixtQkFBZSxFQUFFLENBQUMsTUFBTSxDQUFDO0lBQ3pCLG1CQUFlLEVBQUUsQ0FBQyxNQUFNLENBQUM7SUFDekIsZUFBYSxFQUFFLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLG1CQUFlLEVBQUUsQ0FBQyxNQUFNLENBQUM7SUFDekIsbUJBQWUsRUFBRSxDQUFDLE1BQU0sQ0FBQztJQUN6QixpQkFBYyxFQUFFLENBQUMsT0FBTyxDQUFDO0lBQ3pCLG1CQUFlLEVBQUUsQ0FBQyxNQUFNLENBQUM7SUFDekIsaUJBQWMsRUFBRSxDQUFDLE9BQU8sQ0FBQztJQUN6QixtQkFBZSxFQUFFLENBQUMsU0FBUyxDQUFDO0lBQzVCLG1CQUFlLEVBQUUsQ0FBQyxNQUFNLENBQUM7SUFDekIsbUJBQWUsRUFBRSxDQUFDLE9BQU8sQ0FBQztJQUUxQixlQUFlO0lBQ2YsZUFBYSxFQUFFLENBQUMsUUFBUSxDQUFDO0lBQ3pCLGlCQUFjLEVBQUUsQ0FBQyxNQUFNLENBQUM7SUFDeEIsZUFBYSxFQUFFLENBQUUsT0FBTyxFQUFFLEtBQUssQ0FBRTtJQUNqQyx5QkFBa0IsRUFBRSxDQUFDLFNBQVMsQ0FBQztJQUMvQixlQUFhLEVBQUUsQ0FBQyxPQUFPLENBQUM7Q0FDekIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFnQyxFQUFFLENBQUM7QUFDakUsS0FBSyxNQUFNLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBZSxFQUFFO0lBQzdELGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztJQUMxQyxLQUFLLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUN2QyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7S0FDMUM7Q0FDRjtBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsSUFBWTtJQUNyQyxPQUFPLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLElBQXFCO0lBQ2xELElBQUksSUFBSSxLQUFLLElBQUksRUFBRTtRQUFFLE9BQU8sSUFBSSxDQUFDO0tBQUU7SUFDbkMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQyxDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxJQUFZO0lBQ3JDLE9BQU8sQ0FBQyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQzlDLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLElBQVk7SUFDckMsT0FBTyxDQUFDLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0FBQy9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVbml0QWJiciB9IGZyb20gJ0B1bml2ZXJzZS9tb2RlbHMnO1xuXG5pbXBvcnQgeyBub3JtYWxpemUgfSBmcm9tICcuLi9wYXJzZXIvdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgVW5pdEFiYnJTdHJpbmdzOiB7IFtrZXkgaW4gVW5pdEFiYnJdOiBzdHJpbmdbXSB9ID0ge1xuICBbVW5pdEFiYnIuQVBUXTogWyAnQXBhcnRtZW50JywgJ0FQUCcsICdBUFBUJywgJ0FwYXJ0YW1lbnRvJyBdLFxuICBbVW5pdEFiYnIuQlNNVF06IFsnQmFzZW1lbnQnXSxcbiAgW1VuaXRBYmJyLkJMREddOiBbICdCdWlsZGluZycsICdFZGlmaWNpbycsICdCTEQnIF0sXG4gIFtVbml0QWJici5CT1hdOiBbICdCb3gnLCAnQ0FMTEVSJywgJ0ZJUk0nLCAnQklOJywgJ0xPQ0tCT1gnLCAnRFJBV0VSJywgJ0JPWFgnLCAnQlgnLCAnUE8nLCAnUE9CJywgJ0JVWk9OJywgJ0JaTicgXSxcbiAgW1VuaXRBYmJyLkRFUFRdOiBbJ0RlcGFydG1lbnQnXSxcbiAgW1VuaXRBYmJyLkZMXTogWyAnRmxvb3InLCAnRkxSJywgJ0ZMT08nIF0sXG4gIFtVbml0QWJici5GUk5UXTogWydGcm9udCddLFxuICBbVW5pdEFiYnIuSE5HUl06IFsnSGFuZ2VyJ10sXG4gIFtVbml0QWJici5LRVldOiBbJ0tleSddLFxuICBbVW5pdEFiYnIuTEJCWV06IFsnTG9iYnknXSxcbiAgW1VuaXRBYmJyLkxPVF06IFsnTG90J10sXG4gIFtVbml0QWJici5MT1dSXTogWyAnTG93ZXInLCAnTFdSJywgJ0JvdHRvbScsICdCVFRNJywgJ0dyb3VuZCcgXSxcbiAgW1VuaXRBYmJyLk9GQ106IFsnT2ZmaWNlJ10sXG4gIFtVbml0QWJici5QSF06IFsnUGVudGhvdXNlJ10sXG4gIFtVbml0QWJici5QSUVSXTogWydQaWVyJ10sXG4gIFtVbml0QWJici5SRUFSXTogWydSZWFyJ10sXG4gIFtVbml0QWJici5STV06IFsnUm9vbSddLFxuICBbVW5pdEFiYnIuU0lERV06IFsnU2lkZSddLFxuICBbVW5pdEFiYnIuU0xJUF06IFsnU2xpcCddLFxuICBbVW5pdEFiYnIuU1BDXTogWydTcGFjZSddLFxuICBbVW5pdEFiYnIuU1RPUF06IFsnU3RvcCddLFxuICBbVW5pdEFiYnIuU1RFXTogWydTdWl0ZSddLFxuICBbVW5pdEFiYnIuVFJMUl06IFsnVHJhaWxlciddLFxuICBbVW5pdEFiYnIuVU5JVF06IFsnVW5pdCddLFxuICBbVW5pdEFiYnIuVVBQUl06IFsnVXBwZXInXSxcblxuICAvLyBOb24gU3RhbmRhcmRcbiAgW1VuaXRBYmJyLk5PXTogWydOdW1iZXInXSxcbiAgW1VuaXRBYmJyLkxGVF06IFsnTG9mdCddLFxuICBbVW5pdEFiYnIuTFZdOiBbICdMZXZlbCcsICdMVkwnIF0sXG4gIFtVbml0QWJici5DT1RUQUdFXTogWydDb3R0YWdlJ10sXG4gIFtVbml0QWJici5ZVF06IFsnWWFjaHQnXSxcbn07XG5cbmV4cG9ydCBjb25zdCBVbml0QWJicnNNYXBwaW5nczogeyBba2V5OiBzdHJpbmddOiBVbml0QWJiciB9ID0ge307XG5mb3IgKGNvbnN0IGFiYnIgb2YgT2JqZWN0LmtleXMoVW5pdEFiYnJTdHJpbmdzKSBhcyBVbml0QWJicltdKSB7XG4gIFVuaXRBYmJyc01hcHBpbmdzW25vcm1hbGl6ZShhYmJyKV0gPSBhYmJyO1xuICBmb3IgKGNvbnN0IHN0ciBvZiBVbml0QWJiclN0cmluZ3NbYWJicl0pIHtcbiAgICBVbml0QWJicnNNYXBwaW5nc1tub3JtYWxpemUoc3RyKV0gPSBhYmJyO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1VuaXRBYmJyKGFiYnI6IHN0cmluZyk6IFVuaXRBYmJyIHtcbiAgcmV0dXJuIFVuaXRBYmJyc01hcHBpbmdzW25vcm1hbGl6ZShhYmJyKV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1bml0QWJiclN0cmluZyhhYmJyOiBVbml0QWJiciB8IG51bGwpOiBzdHJpbmcgfCBudWxsIHtcbiAgaWYgKGFiYnIgPT09IG51bGwpIHsgcmV0dXJuIG51bGw7IH1cbiAgYWJiciA9IHRvVW5pdEFiYnIoYWJicik7XG4gIHJldHVybiBVbml0QWJiclN0cmluZ3NbYWJicl1bMF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1VuaXRBYmJyKGFiYnI6IHN0cmluZyk6IGFiYnIgaXMgVW5pdEFiYnIge1xuICByZXR1cm4gISFVbml0QWJicnNNYXBwaW5nc1tub3JtYWxpemUoYWJicildO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNVbml0RW51bShhYmJyOiBzdHJpbmcpOiBhYmJyIGlzIFVuaXRBYmJyIHtcbiAgcmV0dXJuICEhVW5pdEFiYnJTdHJpbmdzW2FiYnIudG9VcHBlckNhc2UoKV07XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVW5pdEFiYnIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGF0YS9Vbml0QWJici50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFNUMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFvQztJQUM5RCxpQkFBYyxFQUFFLENBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsYUFBYSxDQUFFO0lBQzdELG1CQUFlLEVBQUUsQ0FBQyxVQUFVLENBQUM7SUFDN0IsbUJBQWUsRUFBRSxDQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFFO0lBQ2xELGlCQUFjLEVBQUUsQ0FBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBRTtJQUNsSCxtQkFBZSxFQUFFLENBQUMsWUFBWSxDQUFDO0lBQy9CLGVBQWEsRUFBRSxDQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFFO0lBQ3pDLG1CQUFlLEVBQUUsQ0FBQyxPQUFPLENBQUM7SUFDMUIsbUJBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQztJQUMzQixpQkFBYyxFQUFFLENBQUMsS0FBSyxDQUFDO0lBQ3ZCLG1CQUFlLEVBQUUsQ0FBQyxPQUFPLENBQUM7SUFDMUIsaUJBQWMsRUFBRSxDQUFDLEtBQUssQ0FBQztJQUN2QixtQkFBZSxFQUFFLENBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBRTtJQUMvRCxpQkFBYyxFQUFFLENBQUMsUUFBUSxDQUFDO0lBQzFCLGVBQWEsRUFBRSxDQUFDLFdBQVcsQ0FBQztJQUM1QixtQkFBZSxFQUFFLENBQUMsTUFBTSxDQUFDO0lBQ3pCLG1CQUFlLEVBQUUsQ0FBQyxNQUFNLENBQUM7SUFDekIsZUFBYSxFQUFFLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLG1CQUFlLEVBQUUsQ0FBQyxNQUFNLENBQUM7SUFDekIsbUJBQWUsRUFBRSxDQUFDLE1BQU0sQ0FBQztJQUN6QixpQkFBYyxFQUFFLENBQUMsT0FBTyxDQUFDO0lBQ3pCLG1CQUFlLEVBQUUsQ0FBQyxNQUFNLENBQUM7SUFDekIsaUJBQWMsRUFBRSxDQUFDLE9BQU8sQ0FBQztJQUN6QixtQkFBZSxFQUFFLENBQUMsU0FBUyxDQUFDO0lBQzVCLG1CQUFlLEVBQUUsQ0FBQyxNQUFNLENBQUM7SUFDekIsbUJBQWUsRUFBRSxDQUFDLE9BQU8sQ0FBQztJQUUxQixlQUFlO0lBQ2YsZUFBYSxFQUFFLENBQUMsUUFBUSxDQUFDO0lBQ3pCLGlCQUFjLEVBQUUsQ0FBQyxNQUFNLENBQUM7SUFDeEIsZUFBYSxFQUFFLENBQUUsT0FBTyxFQUFFLEtBQUssQ0FBRTtJQUNqQyx5QkFBa0IsRUFBRSxDQUFDLFNBQVMsQ0FBQztJQUMvQixlQUFhLEVBQUUsQ0FBQyxPQUFPLENBQUM7SUFDeEIsbUJBQWUsRUFBRSxDQUFFLE1BQU0sRUFBRSxXQUFXLENBQUU7Q0FDekMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFnQyxFQUFFLENBQUM7QUFDakUsS0FBSyxNQUFNLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBZSxFQUFFO0lBQzdELGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztJQUMxQyxLQUFLLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUN2QyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7S0FDMUM7Q0FDRjtBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsSUFBWTtJQUNyQyxPQUFPLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLElBQXFCO0lBQ2xELElBQUksSUFBSSxLQUFLLElBQUksRUFBRTtRQUFFLE9BQU8sSUFBSSxDQUFDO0tBQUU7SUFDbkMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQyxDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxJQUFZO0lBQ3JDLE9BQU8sQ0FBQyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQzlDLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLElBQVk7SUFDckMsT0FBTyxDQUFDLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0FBQy9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVbml0QWJiciB9IGZyb20gJ0B1bml2ZXJzZS9tb2RlbHMnO1xuXG5pbXBvcnQgeyBub3JtYWxpemUgfSBmcm9tICcuLi9wYXJzZXIvdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgVW5pdEFiYnJTdHJpbmdzOiB7IFtrZXkgaW4gVW5pdEFiYnJdOiBzdHJpbmdbXSB9ID0ge1xuICBbVW5pdEFiYnIuQVBUXTogWyAnQXBhcnRtZW50JywgJ0FQUCcsICdBUFBUJywgJ0FwYXJ0YW1lbnRvJyBdLFxuICBbVW5pdEFiYnIuQlNNVF06IFsnQmFzZW1lbnQnXSxcbiAgW1VuaXRBYmJyLkJMREddOiBbICdCdWlsZGluZycsICdFZGlmaWNpbycsICdCTEQnIF0sXG4gIFtVbml0QWJici5CT1hdOiBbICdCb3gnLCAnQ0FMTEVSJywgJ0ZJUk0nLCAnQklOJywgJ0xPQ0tCT1gnLCAnRFJBV0VSJywgJ0JPWFgnLCAnQlgnLCAnUE8nLCAnUE9CJywgJ0JVWk9OJywgJ0JaTicgXSxcbiAgW1VuaXRBYmJyLkRFUFRdOiBbJ0RlcGFydG1lbnQnXSxcbiAgW1VuaXRBYmJyLkZMXTogWyAnRmxvb3InLCAnRkxSJywgJ0ZMT08nIF0sXG4gIFtVbml0QWJici5GUk5UXTogWydGcm9udCddLFxuICBbVW5pdEFiYnIuSE5HUl06IFsnSGFuZ2VyJ10sXG4gIFtVbml0QWJici5LRVldOiBbJ0tleSddLFxuICBbVW5pdEFiYnIuTEJCWV06IFsnTG9iYnknXSxcbiAgW1VuaXRBYmJyLkxPVF06IFsnTG90J10sXG4gIFtVbml0QWJici5MT1dSXTogWyAnTG93ZXInLCAnTFdSJywgJ0JvdHRvbScsICdCVFRNJywgJ0dyb3VuZCcgXSxcbiAgW1VuaXRBYmJyLk9GQ106IFsnT2ZmaWNlJ10sXG4gIFtVbml0QWJici5QSF06IFsnUGVudGhvdXNlJ10sXG4gIFtVbml0QWJici5QSUVSXTogWydQaWVyJ10sXG4gIFtVbml0QWJici5SRUFSXTogWydSZWFyJ10sXG4gIFtVbml0QWJici5STV06IFsnUm9vbSddLFxuICBbVW5pdEFiYnIuU0lERV06IFsnU2lkZSddLFxuICBbVW5pdEFiYnIuU0xJUF06IFsnU2xpcCddLFxuICBbVW5pdEFiYnIuU1BDXTogWydTcGFjZSddLFxuICBbVW5pdEFiYnIuU1RPUF06IFsnU3RvcCddLFxuICBbVW5pdEFiYnIuU1RFXTogWydTdWl0ZSddLFxuICBbVW5pdEFiYnIuVFJMUl06IFsnVHJhaWxlciddLFxuICBbVW5pdEFiYnIuVU5JVF06IFsnVW5pdCddLFxuICBbVW5pdEFiYnIuVVBQUl06IFsnVXBwZXInXSxcblxuICAvLyBOb24gU3RhbmRhcmRcbiAgW1VuaXRBYmJyLk5PXTogWydOdW1iZXInXSxcbiAgW1VuaXRBYmJyLkxGVF06IFsnTG9mdCddLFxuICBbVW5pdEFiYnIuTFZdOiBbICdMZXZlbCcsICdMVkwnIF0sXG4gIFtVbml0QWJici5DT1RUQUdFXTogWydDb3R0YWdlJ10sXG4gIFtVbml0QWJici5ZVF06IFsnWWFjaHQnXSxcbiAgW1VuaXRBYmJyLkRPUk1dOiBbICdEb3JtJywgJ0Rvcm1pdG9yeScgXSxcbn07XG5cbmV4cG9ydCBjb25zdCBVbml0QWJicnNNYXBwaW5nczogeyBba2V5OiBzdHJpbmddOiBVbml0QWJiciB9ID0ge307XG5mb3IgKGNvbnN0IGFiYnIgb2YgT2JqZWN0LmtleXMoVW5pdEFiYnJTdHJpbmdzKSBhcyBVbml0QWJicltdKSB7XG4gIFVuaXRBYmJyc01hcHBpbmdzW25vcm1hbGl6ZShhYmJyKV0gPSBhYmJyO1xuICBmb3IgKGNvbnN0IHN0ciBvZiBVbml0QWJiclN0cmluZ3NbYWJicl0pIHtcbiAgICBVbml0QWJicnNNYXBwaW5nc1tub3JtYWxpemUoc3RyKV0gPSBhYmJyO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1VuaXRBYmJyKGFiYnI6IHN0cmluZyk6IFVuaXRBYmJyIHtcbiAgcmV0dXJuIFVuaXRBYmJyc01hcHBpbmdzW25vcm1hbGl6ZShhYmJyKV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1bml0QWJiclN0cmluZyhhYmJyOiBVbml0QWJiciB8IG51bGwpOiBzdHJpbmcgfCBudWxsIHtcbiAgaWYgKGFiYnIgPT09IG51bGwpIHsgcmV0dXJuIG51bGw7IH1cbiAgYWJiciA9IHRvVW5pdEFiYnIoYWJicik7XG4gIHJldHVybiBVbml0QWJiclN0cmluZ3NbYWJicl1bMF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1VuaXRBYmJyKGFiYnI6IHN0cmluZyk6IGFiYnIgaXMgVW5pdEFiYnIge1xuICByZXR1cm4gISFVbml0QWJicnNNYXBwaW5nc1tub3JtYWxpemUoYWJicildO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNVbml0RW51bShhYmJyOiBzdHJpbmcpOiBhYmJyIGlzIFVuaXRBYmJyIHtcbiAgcmV0dXJuICEhVW5pdEFiYnJTdHJpbmdzW2FiYnIudG9VcHBlckNhc2UoKV07XG59XG4iXX0= |
@@ -23,2 +23,3 @@ export interface Token { | ||
export declare function isNewlineSep(pointer: Token | Head | null): boolean; | ||
export declare function newlineCount(pointer: Token | Head | null): number; | ||
export declare function findNextNewLine(pointer: Token | null): Token | null; | ||
@@ -25,0 +26,0 @@ export declare function hasLaterStreetType(pointer: Token | null, lineOnly?: boolean): boolean; |
@@ -309,2 +309,13 @@ import { titleCase, isNumerical, orderToOrdinal, isOrder } from './utils'; | ||
} | ||
export function newlineCount(pointer) { | ||
let current = pointer; | ||
let i = 0; | ||
while (current) { | ||
if (isNewlineSep(current)) { | ||
i++; | ||
} | ||
current = current.next; | ||
} | ||
return i; | ||
} | ||
export function findNextNewLine(pointer) { | ||
@@ -374,2 +385,2 @@ let current = pointer; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5pemVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhcnNlci90b2tlbml6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4QyxvREFBb0Q7QUFDcEQsNENBQTRDO0FBRTVDLHVCQUF1QjtBQUN2QixpQ0FBaUM7QUFDakMsbUNBQW1DO0FBQ25DLHdDQUF3QztBQUN4QyxzQkFBc0I7QUFFdEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFDckIsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHO0lBQ3pFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHO0lBRXJELEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztJQUN6RSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztDQUN0RCxDQUFDLENBQUM7QUFFSCxNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUN2QixHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHO0NBQ2pELENBQUMsQ0FBQztBQUVILDhDQUE4QztBQUM5QyxNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFFLEdBQUcsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFFLENBQUMsQ0FBQztBQUV2RCxNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFFLENBQUMsQ0FBQztBQUM5QyxNQUFNLE1BQU0sR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFFLENBQUMsQ0FBQztBQUMxQyxNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFFLElBQUksRUFBRSxHQUFHLENBQUUsQ0FBQyxDQUFDO0FBbUJ2QywwRUFBMEU7QUFDMUUsNENBQTRDO0FBQzVDLE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxDQUFDLENBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU07SUFDL0QsNEdBQTRHO0lBQzVHLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUk7SUFDaEgsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSztJQUMvRyxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLO0lBQ2xILEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLO0lBQ3JILEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLO0lBQ3RILElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSztJQUN2SCxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSztJQUN6SCxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSztJQUN2SCxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSTtJQUN4SCxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLO0lBQ3RILEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUs7SUFDdkgsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLO0lBQzNILEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSztJQUMvSCxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTTtJQUN2SCxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTztJQUN4SCxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLO0lBQ3ZILEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLO0lBQzFILEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxL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QUM7U0FBRTtRQUM3QyxPQUFPLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztLQUN4QjtJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRpdGxlQ2FzZSwgaXNOdW1lcmljYWwsIG9yZGVyVG9PcmRpbmFsLCBpc09yZGVyIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBpc1N0cmVldFR5cGUgfSBmcm9tICcuLi9kYXRhL1N0cmVldFR5cGUnO1xuaW1wb3J0IHsgaXNTdGF0ZSB9IGZyb20gJy4uL2RhdGEvU3RhdGUnO1xuaW1wb3J0IHsgVW5pdEFiYnIsIFN0cmVldFR5cGUgfSBmcm9tICdAdW5pdmVyc2UvbW9kZWxzJztcbi8vIGltcG9ydCB7IGlzRmFjaWxpdHlUeXBlIH0gZnJvbSAnLi4vRmFjaWxpdHlUeXBlJztcbi8vIGltcG9ydCB7IGlzVW5pdEFiYnIgfSBmcm9tICcuLi9Vbml0QWJicic7XG5cbi8vIC8qIGVzbGludC1kaXNhYmxlICovXG4vLyBUT0RPOiBTcGVsbCBDaGVjayBJbnRlZ3JhdGlvbj9cbi8vIGNvbnN0IFR5cG8gPSByZXF1aXJlKFwidHlwby1qc1wiKTtcbi8vIGNvbnN0IGRpY3Rpb25hcnkgPSBuZXcgVHlwbygnZW5fVVMnKTtcbi8vIC8qIGVzbGludC1lbmFibGUgKi9cblxuY29uc3QgYWxwaGFzID0gbmV3IFNldChbXG4gICdBJywgJ0InLCAnQycsICdEJywgJ0UnLCAnRicsICdHJywgJ0gnLCAnSScsICdKJywgJ0snLCAnTCcsICdNJywgJ04nLCAnTycsXG4gICdQJywgJ1EnLCAnUicsICdTJywgJ1QnLCAnVScsICdWJywgJ1cnLCAnWCcsICdZJywgJ1onLFxuXG4gICdhJywgJ2InLCAnYycsICdkJywgJ2UnLCAnZicsICdnJywgJ2gnLCAnaScsICdqJywgJ2snLCAnbCcsICdtJywgJ24nLCAnbycsXG4gICdwJywgJ3EnLCAncicsICdzJywgJ3QnLCAndScsICd2JywgJ3cnLCAneCcsICd5JywgJ3onLFxuXSk7XG5cbmNvbnN0IGRlY2ltYWxzID0gbmV3IFNldChbXG4gICcwJywgJzEnLCAnMicsICczJywgJzQnLCAnNScsICc2JywgJzcnLCAnOCcsICc5Jyxcbl0pO1xuXG4vLyBodHRwczovL3BlLnVzcHMuY29tL3RleHQvcHViMjgvMjhjM18wMTkuaHRtXG5jb25zdCBsZWdhbENoYXJzID0gbmV3IFNldChbIC4uLmFscGhhcywgLi4uZGVjaW1hbHMgXSk7XG5cbmNvbnN0IG5ld2xpbmVzID0gbmV3IFNldChbICcsJywgJ1xcdCcsICdcXG4nIF0pO1xuY29uc3QgZGFzaGVzID0gbmV3IFNldChbICctJywgJ+KAkycsICfigJQnIF0pO1xuY29uc3Qgc2xhc2hlcyA9IG5ldyBTZXQoWyAnXFxcXCcsICcvJyBdKTtcblxuZXhwb3J0IGludGVyZmFjZSBUb2tlbiB7XG4gIHByZXY6IEhlYWQgfCBUb2tlbjtcbiAgbmV4dDogVG9rZW4gfCBudWxsO1xuICB2YWx1ZTogc3RyaW5nO1xuICBzZXBhcmF0b3I6ICctJyB8ICcuJyB8ICcjJyB8ICcmJyB8ICcsJyB8ICcvJyB8IG51bGw7XG4gIGFscGhhczogbnVtYmVyO1xuICBkZWNpbWFsczogbnVtYmVyO1xuICBpc0VPTDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIZWFkIHtcbiAgaXNIZWFkOiB0cnVlO1xuICBuZXh0OiBUb2tlbiB8IG51bGw7XG4gIHNlcGFyYXRvcjogJyc7XG4gIGlzRU9MOiBmYWxzZTtcbn1cblxuLy8gU3BlY2lhbCBub24tZW51bWVyYXRlZCBhYmJyZXZpYXRpb25zIHdlIHdhbnQgdG8gbWFrZSBzdXJlIHdlIGNhcGl0YWxpemVcbi8vIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1NoaXBfcHJlZml4XG5jb25zdCBjYXBpdGFsaXplID0gbmV3IFNldChbICdBRkInLCAnQVBPJywgJ0ZQTycsICdBRUNPTScsICdIUUJOJyxcbiAgLy8gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvTGlzdF9vZl9jb2xsb3F1aWFsX25hbWVzX2Zvcl91bml2ZXJzaXRpZXNfYW5kX2NvbGxlZ2VzX2luX3RoZV9Vbml0ZWRfU3RhdGVzXG4gICdBRkEnLCAnQSZNJywgJ0EmVCcsICdBUFNVJywgJ0FMQVNVJywgJ0FTVScsICdBVScsICdBVU0nLCAnQkMnLCAnQkdTVScsICdCSFNVJywgJ0JKVScsICdCTUMnLCAnQlNDJywgJ0JTVScsICdCVScsXG4gICdCWVUnLCAnQ0JVJywgJ0NDJywgJ0NDTlknLCAnQ0NTVScsICdDQ1UnLCAnQ0NWJywgJ0NHVScsICdDSUEnLCAnQ01DJywgJ0NNVScsICdDTlUnLCAnQ1NCJywgJ1NKVScsICdDU0UnLCAnQ1NJJyxcbiAgJ0NTVScsICdDU1VGJywgJ0NTVUVCJywgJ0NTVUxBJywgJ0NTVVMnLCAnQ1UnLCAnQ1VBJywgJ0NVTlknLCAnREMnLCAnRFBVJywgJ0RTVScsICdEVScsICdFQ1UnLCAnRUlVJywgJ0VNVScsICdFTVUnLFxuICAnRU5DJywgJ0VUU1UnLCAnRVdVJywgJ0VLVScsICdGJk0nLCAnRkFNVScsICdGQVUnLCAnRkMnLCAnRkRVJywgJ0ZHQ1UnLCAnRklUJywgJ0ZJVScsICdGUFUnLCAnRlNVJywgJ0ZVJywgJ0dCJywgJ0dDVScsXG4gICdHR0MnLCAnR09OWicsICdHU1UnLCAnR1QnLCAnR1ZTVScsICdISVUnLCAnSE1DJywgJ0hVJywgJ0hVJywgJ0hTVScsICdJQycsICdJSVQnLCAnSVBGVycsICdJU1UnLCAnSVVQJywgJ0lVUFVJJywgJ0lXVScsXG4gICdJVycsICdKSFUnLCAnSk1VJywgJ0pXVScsICdKU1UnLCAnSlUnLCAnS1NVJywgJ0tVJywgJ0tVJywgJ0xDJywgJ0xIVScsICdMSVUnLCAnTE1VJywgJ0xTVScsICdMU1NVJywgJ0xUVScsICdMVScsICdMVUMnLFxuICAnTUNMQScsICdNSVQnLCAnTU1DJywgJ01TVScsICdNVFNVJywgJ01UVScsICdNVScsICdNVlNVJywgJ01VVycsICdOQVUnLCAnTkNDVScsICdOQ1NVJywgJ05EJywgJ05EU1UnLCAnTkVVJywgJ05JVScsICdOS1UnLFxuICAnTk1TVScsICdOTVUnLCAnTlNVJywgJ05VJywgJ05WVScsICdOVycsICdOV01TVScsICdOWUlUJywgJ05ZTUMnLCAnTllVJywgJ09DJywgJ09DQycsICdPQ1UnLCAnT0RVJywgJ09JVCcsICdPTlUnLCAnT1JVJyxcbiAgJ09TVScsICdPVScsICdQQycsICdQQ0MnLCAnUExOVScsICdQT00nLCAnUFNVJywgJ1BUUycsICdQVkFNVScsICdRVScsICdSSElUJywgJ1JJQycsICdSSVNEJywgJ1JJVCcsICdSLU1XQycsICdSUEknLCAnUlUnLFxuICAnUldVJywgJ1JXQycsICdTQlUnLCAnU0MnLCAnU0NTVScsICdTQ1UnLCAnU0RTTSZUJywgJ1NEU1UnLCAnU0ZTVScsICdTSEMnLCAnU0lVRScsICdTSkMnLCAnU0pGQycsICdTSlNVJywgJ1NKVScsICdTTFUnLFxuICAnU01DJywgJ1NNVScsICdTTkhVJywgJ1NPU1UnLCAnU1BVJywgJ1NSVScsICdTU1UnLCAnU1UnLCAnU1VJJywgJ1NVVScsICdTVU5ZJywgJ1NXT1NVJywgJ1RBTVUnLCAnVEFNVUNDJywgJ1RDTkonLCAnVENVJyxcbiAgJ1RTVScsICdUVFUnLCAnVFUnLCAnVUEnLCAnVUFBJywgJ1VBQicsICdVQUYnLCAnVUFIJywgJ1VBTFInLCAnVUFNJywgJ1VBUEInLCAnVUInLCAnVUMnLCAnVUNCJywgJ1VDQScsICdVQ0NTJywgJ1VDRCcsICdVQ0YnLFxuICAnVUNJJywgJ1VDTEEnLCAnVUNNJywgJ1VDTycsICdVQ1InLCAnVUNTQicsICdVQ1NDJywgJ1VDU0QnLCAnVUNTRicsICdVRCcsICdVRE0nLCAnVURDJywgJ1VGJywgJ1VHQScsICdVSCcsICdVSENMJywgJ1VIRCcsICdVSFMnLFxuICAnVUhWJywgJ1VJQycsICdVSVVDJywgJ1VLJywgJ1VMTScsICdVTCcsICdVTUInLCAnVU1CQycsICdVTUMnLCAnVU1EJywgJ1VNS0MnLCAnVU1MJywgJ1VNTycsICdVTVcnLCAnVU5BJywgJ1VOQycsICdVTkNDJyxcbiAgJ1VOQ0cnLCAnVU5DVycsICdVTkQnLCAnVU5GJywgJ1VOSCcsICdVTkknLCAnVU5LJywgJ1VOTCcsICdVTkxWJywgJ1VOTScsICdVTk8nLCAnVU5SJywgJ1VOVCcsICdVTycsICdVT1AnLCAnVVAnLCAnVVBJS0UnLFxuICAnVVJJJywgJ1VTQScsICdVU0FGQScsICdVU0FPJywgJ1VTQycsICdVU0NBJywgJ1VTRCcsICdVU0YnLCAnVVNGQ0EnLCAnVVNJJywgJ1VTTScsICdVU1UnLCAnVVQnLCAnVVRBJywgJ1VUQi9UU0MnLCAnVVRDJyxcbiAgJ1VURCcsICdVVEVQJywgJ1VUTScsICdVVFBCJywgJ1VUUkdWJywgJ1VUU0EnLCAnVVZBJywgJ1VWTScsICdVVlUnLCAnVVcnLCAnVVdGJywgJ1VXRycsICdVV0dCJywgJ1VXTScsICdWQ1UnLCAnVk1JJywgJ1ZQSScsXG4gICdWU1UnLCAnVlRDJywgJ1ZVJywgJ1cmSicsICdXJkwnLCAnVyZNJywgJ1dDJywgJ1dDVScsICdXRlUnLCAnV0dVJywgJ1dJVScsICdXS1UnLCAnV01VJywgJ1dQSScsICdXU1UnLCAnV1RBTVUnLCAnV1ZVJywgJ1dWVVAnLFxuICAnV1dVJywgJ1hVJywgJ1hVTEEnLCAnWVNVJywgJ1lVJyxcbl0pO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNIZWFkKHRva2VuOiB1bmtub3duKTogdG9rZW4gaXMgSGVhZCB7XG4gIHJldHVybiAhISh0b2tlbiAmJiAodG9rZW4gYXMgSGVhZCkuaXNIZWFkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluc2VydFRva2VuQWZ0ZXIocHJldjogVG9rZW4sIHZhbHVlOiBzdHJpbmcpOiBUb2tlbiB7XG4gIGNvbnN0IHRva2VuID0ge1xuICAgIHByZXYsXG4gICAgbmV4dDogcHJldi5uZXh0LFxuICAgIHZhbHVlLFxuICAgIHNlcGFyYXRvcjogbnVsbCxcbiAgICBhbHBoYXM6ICh2YWx1ZS5tYXRjaCgvW2EtekEtWl0vZykgfHwgW10pLmxlbmd0aCxcbiAgICBkZWNpbWFsczogKHZhbHVlLm1hdGNoKC9cXGQvZykgfHwgW10pLmxlbmd0aCxcbiAgICBpc0VPTDogcHJldi5pc0VPTCxcbiAgfTtcbiAgdG9rZW4ucHJldi5uZXh0ID0gdG9rZW47XG4gIHRva2VuLnByZXYuaXNFT0wgPSBmYWxzZTtcbiAgdG9rZW4ubmV4dCAmJiAodG9rZW4ubmV4dC5wcmV2ID0gdG9rZW4pO1xuICByZXR1cm4gdG9rZW47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnNlcnRUb2tlbkJlZm9yZShuZXh0OiBUb2tlbiwgdmFsdWU6IHN0cmluZyk6IFRva2VuIHtcbiAgY29uc3QgdG9rZW4gPSB7XG4gICAgcHJldjogbmV4dC5wcmV2LFxuICAgIG5leHQsXG4gICAgdmFsdWUsXG4gICAgc2VwYXJhdG9yOiBudWxsLFxuICAgIGFscGhhczogKHZhbHVlLm1hdGNoKC9bYS16QS1aXS9nKSB8fCBbXSkubGVuZ3RoLFxuICAgIGRlY2ltYWxzOiAodmFsdWUubWF0Y2goL1xcZC9nKSB8fCBbXSkubGVuZ3RoLFxuICAgIGlzRU9MOiBmYWxzZSxcbiAgfTtcbiAgdG9rZW4ucHJldiAmJiAodG9rZW4ucHJldi5uZXh0ID0gdG9rZW4pO1xuICB0b2tlbi5uZXh0ICYmICh0b2tlbi5uZXh0LnByZXYgPSB0b2tlbik7XG4gIHJldHVybiB0b2tlbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTnVtYmVyT3JDb2RlKHBvaW50ZXI6IFRva2VuIHwgc3RyaW5nIHwgbnVsbCk6IGJvb2xlYW4ge1xuICBpZiAoIXBvaW50ZXIpIHsgcmV0dXJuIGZhbHNlOyB9XG5cbiAgY29uc3Qgd29ya2luZyA9IHtcbiAgICB2YWx1ZTogdHlwZW9mIHBvaW50ZXIgPT09ICdzdHJpbmcnID8gcG9pbnRlciA6IHBvaW50ZXIudmFsdWUsXG4gICAgZGVjaW1hbHM6IHR5cGVvZiBwb2ludGVyID09PSAnc3RyaW5nJyA/IHBvaW50ZXIubWF0Y2goL1xcZC9nKT8ubGVuZ3RoIHx8IDAgOiBwb2ludGVyLmRlY2ltYWxzLFxuICAgIGFscGhhczogdHlwZW9mIHBvaW50ZXIgPT09ICdzdHJpbmcnID8gcG9pbnRlci50b0xvd2VyQ2FzZSgpLm1hdGNoKC9bXlxcZF0vZyk/Lmxlbmd0aCB8fCAwIDogcG9pbnRlci5hbHBoYXMsXG4gICAgcHJldjogbnVsbCxcbiAgICBzZXBhcmF0b3I6IHR5cGVvZiBwb2ludGVyID09PSAnc3RyaW5nJyA/ICcnIDogcG9pbnRlci5zZXBhcmF0b3IsXG4gIH07XG5cbiAgaWYgKHdvcmtpbmcuc2VwYXJhdG9yID09PSAnJicpIHsgcmV0dXJuIGZhbHNlOyB9XG5cbiAgLy8gSWYgc3RyaW5nIHN0YXJ0cyB3aXRoIGEgbnVtYmVyLCB0aGlzIGlzIGEgY29kZS4gRXg6IE9yZGluYWxzICgxc3QsIDJuZCwgZXRjKVxuICBpZiAod29ya2luZy52YWx1ZSAmJiB3b3JraW5nLnZhbHVlWzBdLm1hdGNoKC9eXFxkLykpIHsgcmV0dXJuIHRydWU7IH1cblxuICAvLyBEYXNoZWQgb25lLCB0d28gYW5kIHRocmVlIGNoYXJhY3RlciBhbHBoYSBzdHJpbmdzICphcmUqIGNvZGVzIVxuICBpZiAod29ya2luZy5hbHBoYXMgPD0gMyAmJiAhd29ya2luZy5kZWNpbWFscyAmJiAoZGFzaGVzLmhhcyh3b3JraW5nLnNlcGFyYXRvciB8fCAnJykgfHwgZGFzaGVzLmhhcygocG9pbnRlciBhcyBUb2tlbikucHJldj8uc2VwYXJhdG9yIHx8ICcnKSkpIHsgcmV0dXJuIHRydWU7IH1cblxuICAvLyBJZiBkZWNpbWFscyBlcXVhbCBvciBvdXRudW1iZXIgYWxwaGFzLCBvciB0aGlzIGlzIGEgc2luZ2xlIGNoYXJhY3RlciBzdHJpbmcsIGlzIGEgY29kZS5cbiAgcmV0dXJuICh3b3JraW5nLmRlY2ltYWxzID49IHdvcmtpbmcuYWxwaGFzICYmIHdvcmtpbmcuZGVjaW1hbHMgPiAxKSB8fCAod29ya2luZy5hbHBoYXMgPD0gMSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b2tlbml6ZShhZGRyOiBzdHJpbmcpOiBIZWFkIHtcbiAgY29uc3QgaGVhZDogSGVhZCA9IHtcbiAgICBuZXh0OiBudWxsLFxuICAgIGlzSGVhZDogdHJ1ZSxcbiAgICBzZXBhcmF0b3I6ICcnLFxuICAgIGlzRU9MOiBmYWxzZSxcbiAgfTtcblxuICAvLyBDb2xsYXBzZSB3aGl0ZXNwYWNlXG4gIC8vIFRPRE86IFRoaXMgcmVnZXggaXMgaW5vcmRpbmF0ZWx5IGV4cGVuc2l2ZS4gUmVwbGFjZS5cbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvXFxuKy9nLCAnXFxuJykucmVwbGFjZSgvICsvZywgJyAnKS5yZXBsYWNlKC9cXHQrL2csICdcXHQnKTtcblxuICAvLyBUT0RPOiBBbGwgb2YgdGhlIGJlbG93IHJlZ2V4cHMgYXJlIFZFUlkgZXhwZW5zaXZlLiBTaW1wbGlmeS5cbiAgLy8gUmVtb3ZlIENhcmUgT2YgQWJici5cbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvQ1svLl1PXFwuPy9naSwgJycpO1xuXG4gIC8vIFAuTy4gQm94ZXMgYW5kIEguQy4gQm94ZXMgYXJlIFNwZWNpYWwuXG4gIGFkZHIgPSBhZGRyXG4gICAgLnJlcGxhY2UoL1BcXC5PXFwuL2ksICdQTycpXG4gICAgLnJlcGxhY2UoL1BcXC5PL2ksICdQTycpXG4gICAgLnJlcGxhY2UoL1AgTyAvaSwgJ1BPJylcbiAgICAucmVwbGFjZSgvUFxcLk9cXC5CXFwuL2ksICcgUE8gQk9YICcpXG4gICAgLnJlcGxhY2UoL1BcXC4gT1xcLiBCXFwuL2ksICcgUE8gQk9YICcpXG4gICAgLnJlcGxhY2UoLyBQT0JbXFxkIF0vaSwgJ1BPIEJPWCcpXG4gICAgLnJlcGxhY2UoL1BPWCBCT1gvaSwgJ1BPIEJPWCcpXG4gICAgLnJlcGxhY2UoL1BPQk9YL2ksICdQTyBCT1gnKVxuICAgIC5yZXBsYWNlKC9QT0JYL2ksICdQTyBCT1gnKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvSFxcLkNcXC4vaSwgJ0hDICcpLnJlcGxhY2UoL0hcXC5DLywgJ0hDICcpLnJlcGxhY2UoL0ggQyAvLCAnSEMgJykucmVwbGFjZSgvSENCT1gvaSwgJ0hDIEJPWCcpO1xuXG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL2hpZ2h3YXkgY2FycmllciByb3V0ZS9pLCAnSEMnKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvaGlnaHdheSBjb250cmFjdCByb3V0ZS9pLCAnSEMnKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvaGlnaHdheSBjYXJyaWVyL2ksICdIQycpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9oaWdod2F5IGNvbnRyYWN0L2ksICdIQycpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9zdGFyIHJvdXRlL2ksICdIQycpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9ydXJhbCByb3V0ZS9pLCAnUlInKTtcblxuICBhZGRyID0gYWRkci5yZXBsYWNlKC9ydXJhbCByb2FkL2ksICdSUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC90b3duc2hpcCByb2FkL2ksICdUU1InKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvc3RhdGUgcm91dGUvaSwgJ1NSJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL3N0YXRlIHJvYWQvaSwgJ1NSJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL2NvdW50eSByb2FkL2ksICdDUicpO1xuXG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL3JcXC5cXHJcXC4gcmQvaSwgJ1JSJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL3NcXC5cXHJcXC4gcmQvaSwgJ1NSJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL2NcXC5cXHJcXC4gcmQvaSwgJ0NSJyk7XG5cbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvcnVyYWwgcmQvaSwgJ1JSJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL3Rvd25zaGlwIHJkL2ksICdUU1InKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvc3RhdGUgcmQvaSwgJ1NSJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL2NvdW50eSByZC9pLCAnQ1InKTtcblxuICBhZGRyID0gYWRkci5yZXBsYWNlKC9MQSBDQU1JTklUTy9pLCAnTEFDQU1JTklUTycpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9FTCBDQU1JTk8vaSwgJ0VMQ0FNSU5PJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0xBIENFUlJBREEvaSwgJ0xBQ0VSUkFEQScpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9MQSBFTlRSQURBL2ksICdMQUVOVFJBREEnKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvRUwgUEFTRU8vaSwgJ0VMUEFTRU8nKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvTEEgUExBQ0lUQS9pLCAnTEFQTEFDSVRBJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0VMIFJBTkNITy9pLCAnRUxSQU5DSE8nKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvTEEgVkVSRURBL2ksICdMQVZFUkVEQScpO1xuXG4gIGxldCBwb2ludGVyOiBUb2tlbiB8IG51bGwgPSB7XG4gICAgcHJldjogaGVhZCxcbiAgICBuZXh0OiBudWxsLFxuICAgIHZhbHVlOiAnJyxcbiAgICBzZXBhcmF0b3I6IG51bGwsXG4gICAgYWxwaGFzOiAwLFxuICAgIGRlY2ltYWxzOiAwLFxuICAgIGlzRU9MOiBmYWxzZSxcbiAgfTtcblxuICBoZWFkLm5leHQgPSBwb2ludGVyO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYWRkci5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGNoYXIgPSBhZGRyW2ldO1xuICAgIGNvbnN0IG5leHQgPSBhZGRyW2kgKyAxXTtcbiAgICBpZiAoIXBvaW50ZXIpIHsgYnJlYWs7IH1cbiAgICBpZiAobGVnYWxDaGFycy5oYXMoY2hhcikpIHtcbiAgICAgIHBvaW50ZXIudmFsdWUgKz0gY2hhcjtcbiAgICAgIGlmIChhbHBoYXMuaGFzKGNoYXIpKSB7XG4gICAgICAgIHBvaW50ZXIuYWxwaGFzKys7XG4gICAgICB9XG4gICAgICBpZiAoZGVjaW1hbHMuaGFzKGNoYXIpKSB7XG4gICAgICAgIHBvaW50ZXIuZGVjaW1hbHMrKztcbiAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICBpZiAobmV3bGluZXMuaGFzKGNoYXIpKSB7IHBvaW50ZXIuaXNFT0wgPSB0cnVlOyB9XG4gICAgICBlbHNlIGlmIChkYXNoZXMuaGFzKGNoYXIpKSB7IHBvaW50ZXIuc2VwYXJhdG9yID0gJy0nOyB9XG4gICAgICBlbHNlIGlmIChjaGFyID09PSAnLicpIHsgcG9pbnRlci5zZXBhcmF0b3IgPSAnLic7IH1cbiAgICAgIGVsc2UgaWYgKGNoYXIgPT09ICcmJykgeyBwb2ludGVyLnNlcGFyYXRvciA9ICcmJzsgfVxuICAgICAgZWxzZSBpZiAoY2hhciA9PT0gJyMnKSB7IHBvaW50ZXIuc2VwYXJhdG9yID0gJyMnOyB9XG4gICAgICBlbHNlIGlmIChzbGFzaGVzLmhhcyhjaGFyKSkgeyBwb2ludGVyLnNlcGFyYXRvciA9ICcvJzsgfVxuICAgICAgLy8gaWYgKCFpc051bWJlck9yQ29kZShwb2ludGVyKSAmJiAhaXNTdGF0ZShwb2ludGVyLnZhbHVlKSAmJiAhaXNTdHJlZXRUeXBlKHBvaW50ZXIudmFsdWUpICYmICFpc0ZhY2lsaXR5VHlwZShwb2ludGVyLnZhbHVlKSAmJiAhaXNVbml0QWJicihwb2ludGVyLnZhbHVlKSkge1xuICAgICAgLy8gICBpZiAoIWRpY3Rpb25hcnkuY2hlY2socG9pbnRlci52YWx1ZSkpIHtcbiAgICAgIC8vICAgICBjb25zdCBzdWdnZXN0aW9ucyA9IGRpY3Rpb25hcnkuc3VnZ2VzdChwb2ludGVyLnZhbHVlKTtcbiAgICAgIC8vICAgICBwb2ludGVyLnZhbHVlID0gc3VnZ2VzdGlvbnNbMF0gfHwgcG9pbnRlci52YWx1ZTtcbiAgICAgIC8vICAgfVxuICAgICAgLy8gfVxuICAgICAgcG9pbnRlci52YWx1ZSA9IGNhcGl0YWxpemUuaGFzKHBvaW50ZXIudmFsdWUudG9VcHBlckNhc2UoKSkgPyBwb2ludGVyLnZhbHVlLnRvVXBwZXJDYXNlKCkgOiB0aXRsZUNhc2UocG9pbnRlci52YWx1ZSk7XG4gICAgICBpZiAobGVnYWxDaGFycy5oYXMobmV4dCkpIHtcbiAgICAgICAgcG9pbnRlciA9IHtcbiAgICAgICAgICBwcmV2OiBwb2ludGVyLFxuICAgICAgICAgIG5leHQ6IG51bGwsXG4gICAgICAgICAgdmFsdWU6ICcnLFxuICAgICAgICAgIHNlcGFyYXRvcjogbnVsbCxcbiAgICAgICAgICBhbHBoYXM6IDAsXG4gICAgICAgICAgZGVjaW1hbHM6IDAsXG4gICAgICAgICAgaXNFT0w6IGZhbHNlLFxuICAgICAgICB9O1xuICAgICAgICBpZiAocG9pbnRlci5wcmV2KSB7XG4gICAgICAgICAgcG9pbnRlci5wcmV2Lm5leHQgPSBwb2ludGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTm8gbmV3bGluZXMgYWZ0ZXIgdGhlIGxhc3QgU3RhdGUgZGlzY292ZXJlZC5cbiAgd2hpbGUgKHBvaW50ZXIpIHtcbiAgICBpZiAocG9pbnRlci5uZXh0ICYmIGlzU3RhdGUocG9pbnRlci5uZXh0LnZhbHVlKSkge1xuICAgICAgd2hpbGUgKHBvaW50ZXIpIHtcbiAgICAgICAgcG9pbnRlci5pc0VPTCA9IGZhbHNlO1xuICAgICAgICBwb2ludGVyID0gcG9pbnRlci5uZXh0O1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGlmIChpc0hlYWQocG9pbnRlci5wcmV2KSkgeyBicmVhazsgfVxuICAgIHBvaW50ZXIgPSBwb2ludGVyLnByZXY7XG4gIH1cblxuICAvLyBJdCBpcyBjb21tb24gZm9yIHBlb3BsZSB0byBiZSBzaWxseSBhbmQgcHJlZml4L3N1ZmZpeCBzb21lIHVuaXQgbnVtYmVycyB3aXRoIHRoZXNlIGNvbW1vbiBhYmJyZXZpYXRpb24uXG4gIC8vIEV4OiAxMjMgV2F0ZXIgU3QuIEFwdCBBUFQxLCA0NSBTcHJ1Y2UgQXZlIDFQSFxuICAvLyBUT0RPOiBXZSBjYW4gbWFrZSB0aGlzIG1vcmUgcm9idXN0Li4uXG4gIHBvaW50ZXIgPSBoZWFkLm5leHQ7XG4gIHdoaWxlIChwb2ludGVyKSB7XG4gICAgaWYgKCFwb2ludGVyKSB7IGJyZWFrOyB9XG5cbiAgICBpZiAoaXNPcmRlcihwb2ludGVyLnZhbHVlKSkge1xuICAgICAgcG9pbnRlci52YWx1ZSA9IG9yZGVyVG9PcmRpbmFsKHBvaW50ZXIudmFsdWUpO1xuICAgIH1cblxuICAgIGNvbnN0IHByZWZpeFRlc3QgPSBbIFVuaXRBYmJyLkFQVCwgVW5pdEFiYnIuUEgsIFVuaXRBYmJyLkxWLCBTdHJlZXRUeXBlLlJSLCAnU1VJVEUnLCAnVU5JVCcgXTtcbiAgICBjb25zdCBzdWZmaXhUZXh0ID0gW1VuaXRBYmJyLlBIXTtcblxuICAgIGZvciAoY29uc3QgcHJlZml4IG9mIHByZWZpeFRlc3QpIHtcbiAgICAgIGlmIChwb2ludGVyLnZhbHVlLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChwcmVmaXgudG9Mb3dlckNhc2UoKSkgJiYgcG9pbnRlci52YWx1ZS5sZW5ndGggPiBwcmVmaXgubGVuZ3RoKSB7XG4gICAgICAgIC8vIFNwZWNpYWwgQ2FzZSBmb3IgcGx1cmFsc1xuICAgICAgICBpZiAocG9pbnRlci52YWx1ZS50b1VwcGVyQ2FzZSgpID09PSBwcmVmaXgudG9VcHBlckNhc2UoKSArICdTJykgeyBjb250aW51ZTsgfVxuXG4gICAgICAgIGNvbnN0IG9sZFZhbHVlID0gcG9pbnRlci52YWx1ZTtcbiAgICAgICAgcG9pbnRlci52YWx1ZSA9IHBvaW50ZXIudmFsdWUuc2xpY2UocHJlZml4Lmxlbmd0aCk7XG4gICAgICAgIHBvaW50ZXIuYWxwaGFzIC09IHByZWZpeC5sZW5ndGg7XG4gICAgICAgIGlmICghaXNOdW1iZXJPckNvZGUocG9pbnRlcikpIHtcbiAgICAgICAgICBwb2ludGVyLmFscGhhcyArPSBwcmVmaXgubGVuZ3RoO1xuICAgICAgICAgIHBvaW50ZXIudmFsdWUgPSBvbGRWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICBpbnNlcnRUb2tlbkJlZm9yZShwb2ludGVyLCBwcmVmaXgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBzdWZmaXggb2Ygc3VmZml4VGV4dCkge1xuICAgICAgaWYgKHBvaW50ZXIgJiYgcG9pbnRlci52YWx1ZS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKHN1ZmZpeC50b0xvd2VyQ2FzZSgpKSAmJiBwb2ludGVyLnZhbHVlLmxlbmd0aCA+IHN1ZmZpeC5sZW5ndGgpIHtcbiAgICAgICAgY29uc3Qgb2xkVmFsdWUgPSBwb2ludGVyLnZhbHVlO1xuICAgICAgICBwb2ludGVyLnZhbHVlID0gcG9pbnRlci52YWx1ZS5zbGljZSgwLCBzdWZmaXgubGVuZ3RoICogLTEpO1xuICAgICAgICBwb2ludGVyLmFscGhhcyAtPSBzdWZmaXgubGVuZ3RoO1xuICAgICAgICBpZiAoIWlzTnVtYmVyT3JDb2RlKHBvaW50ZXIpKSB7XG4gICAgICAgICAgcG9pbnRlci5hbHBoYXMgKz0gc3VmZml4Lmxlbmd0aDtcbiAgICAgICAgICBwb2ludGVyLnZhbHVlID0gb2xkVmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgY29uc3QgbmV3VG9rZW4gPSBpbnNlcnRUb2tlbkFmdGVyKHBvaW50ZXIsIHN1ZmZpeCk7XG4gICAgICAgICAgcG9pbnRlciA9IG5ld1Rva2VuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHBvaW50ZXIgPSBwb2ludGVyLm5leHQ7XG4gIH1cblxuICAvLyBTb21lIG1pcy1mb3JtYXR0ZWQgZmFjaWxpdHkgYWRkcmVzc2VzIHdpbGwgcHJlcGVuZCBhICcwJyB0byBtYWtlIHRoZW0gYXBwZWFyIGxpa2Ugc3RyZWV0IGFkZHJlc3Nlcy5cbiAgaWYgKGhlYWQubmV4dCAmJiBoZWFkLm5leHQudmFsdWUgPT09ICcwJyAmJiBoZWFkLm5leHQubmV4dCkge1xuICAgIGhlYWQubmV4dCA9IGhlYWQubmV4dC5uZXh0O1xuICB9XG5cbiAgcmV0dXJuIGhlYWQ7XG59XG5cbi8vIFRPRE86IFVzZSBVU1BTIGh5cGhlbmF0aW9uIHN0YW5kYXJkcy5cbmV4cG9ydCBmdW5jdGlvbiBpc0h5cGhlbmF0ZWRDb2RlKHBvaW50ZXI6IFRva2VuIHwgSGVhZCk6IGJvb2xlYW4ge1xuICBpZiAoaXNIZWFkKHBvaW50ZXIpKSB7IHJldHVybiBmYWxzZTsgfVxuICBpZiAoIXBvaW50ZXIubmV4dCB8fCAhZGFzaGVzLmhhcyhwb2ludGVyLnNlcGFyYXRvciB8fCAnJykpIHsgcmV0dXJuIGZhbHNlOyB9XG4gIHJldHVybiAhIShpc051bWVyaWNhbChwb2ludGVyLnZhbHVlKSAmJiBpc051bWVyaWNhbCgocG9pbnRlci5uZXh0IGFzIFRva2VuKS52YWx1ZSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNOZXdsaW5lU2VwKHBvaW50ZXI6IFRva2VuIHwgSGVhZCB8IG51bGwpOiBib29sZWFuIHtcbiAgaWYgKCFwb2ludGVyIHx8IGlzSGVhZChwb2ludGVyKSkgeyByZXR1cm4gZmFsc2U7IH1cbiAgcmV0dXJuIHBvaW50ZXI/LmlzRU9MO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmluZE5leHROZXdMaW5lKHBvaW50ZXI6IFRva2VuIHwgbnVsbCk6IFRva2VuIHwgbnVsbCB7XG4gIGxldCBjdXJyZW50OiBUb2tlbiB8IG51bGwgPSBwb2ludGVyO1xuICB3aGlsZSAoY3VycmVudCkge1xuICAgIGlmIChpc05ld2xpbmVTZXAoY3VycmVudCkpIHsgcmV0dXJuIGN1cnJlbnQubmV4dDsgfVxuICAgIGN1cnJlbnQgPSBjdXJyZW50Lm5leHQ7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNMYXRlclN0cmVldFR5cGUocG9pbnRlcjogVG9rZW4gfCBudWxsLCBsaW5lT25seSA9IGZhbHNlKTogYm9vbGVhbiB7XG4gIGlmICghcG9pbnRlcikgeyByZXR1cm4gZmFsc2U7IH1cbiAgaWYgKGlzTmV3bGluZVNlcChwb2ludGVyKSkgeyByZXR1cm4gZmFsc2U7IH1cbiAgbGV0IGN1cnJlbnQ6IFRva2VuIHwgbnVsbCA9IHBvaW50ZXIubmV4dDtcbiAgd2hpbGUgKGN1cnJlbnQpIHtcbiAgICBpZiAoaXNTdHJlZXRUeXBlKGN1cnJlbnQudmFsdWUpKSB7IHJldHVybiB0cnVlOyB9XG4gICAgaWYgKGxpbmVPbmx5ICYmIGN1cnJlbnQuc2VwYXJhdG9yKSB7IGJyZWFrOyB9XG4gICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNTdGF0ZVVuaXQocG9pbnRlcjogVG9rZW4gfCBudWxsLCBsaW5lT25seSA9IGZhbHNlKTogYm9vbGVhbiB7XG4gIGxldCBjdXJyZW50OiBUb2tlbiB8IG51bGwgPSBwb2ludGVyO1xuICB3aGlsZSAoY3VycmVudCkge1xuICAgIGlmIChpc1N0YXRlKGN1cnJlbnQudmFsdWUpKSB7IHJldHVybiB0cnVlOyB9XG4gICAgaWYgKGxpbmVPbmx5ICYmIGN1cnJlbnQuc2VwYXJhdG9yKSB7IGJyZWFrOyB9XG4gICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBuZXdMaW5lQ291bnQocG9pbnRlcjogVG9rZW4gfCBudWxsKTogbnVtYmVyIHtcbiAgbGV0IGN1cnJlbnQ6IFRva2VuIHwgbnVsbCA9IHBvaW50ZXI7XG4gIGxldCBjb3VudCA9IDA7XG4gIHdoaWxlIChjdXJyZW50KSB7XG4gICAgaWYgKGlzTmV3bGluZVNlcChjdXJyZW50KSkgeyBjb3VudCsrOyB9XG4gICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgfVxuICByZXR1cm4gY291bnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJlZXRUeXBlQ291bnQocG9pbnRlcjogVG9rZW4gfCBudWxsKTogbnVtYmVyIHtcbiAgbGV0IGN1cnJlbnQ6IFRva2VuIHwgbnVsbCA9IHBvaW50ZXI7XG4gIGxldCBjb3VudCA9IDA7XG4gIHdoaWxlIChjdXJyZW50KSB7XG4gICAgaWYgKGlzU3RyZWV0VHlwZShjdXJyZW50LnZhbHVlKSkgeyBjb3VudCsrOyB9XG4gICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgfVxuICByZXR1cm4gY291bnQ7XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5pemVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhcnNlci90b2tlbml6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4QyxvREFBb0Q7QUFDcEQsNENBQTRDO0FBRTVDLHVCQUF1QjtBQUN2QixpQ0FBaUM7QUFDakMsbUNBQW1DO0FBQ25DLHdDQUF3QztBQUN4QyxzQkFBc0I7QUFFdEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFDckIsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHO0lBQ3pFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHO0lBRXJELEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztJQUN6RSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztDQUN0RCxDQUFDLENBQUM7QUFFSCxNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUN2QixHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHO0NBQ2pELENBQUMsQ0FBQztBQUVILDhDQUE4QztBQUM5QyxNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFFLEdBQUcsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFFLENBQUMsQ0FBQztBQUV2RCxNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFFLENBQUMsQ0FBQztBQUM5QyxNQUFNLE1BQU0sR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFFLENBQUMsQ0FBQztBQUMxQyxNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFFLElBQUksRUFBRSxHQUFHLENBQUUsQ0FBQyxDQUFDO0FBb0J2QywwRUFBMEU7QUFDMUUsNENBQTRDO0FBQzVDLE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxDQUFDLENBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU07SUFDL0QsNEdBQTRHO0lBQzVHLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUk7SUFDaEgsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSztJQUMvRyxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLO0lBQ2xILEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLO0lBQ3JILEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLO0lBQ3RILElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSztJQUN2SCxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSztJQUN6SCxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSztJQUN2SCxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSTtJQUN4SCxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLO0lBQ3RILEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUs7SUFDdkgsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLO0lBQzNILEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSztJQUMvSCxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTTtJQUN2SCxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTztJQUN4SCxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLO0lBQ3ZILEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLO0lBQzFILEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxL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Q3ZDLE9BQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO0tBQ3hCO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxPQUFxQjtJQUNuRCxJQUFJLE9BQU8sR0FBaUIsT0FBTyxDQUFDO0lBQ3BDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNkLE9BQU8sT0FBTyxFQUFFO1FBQ2QsSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQUUsS0FBSyxFQUFFLENBQUM7U0FBRTtRQUM3QyxPQUFPLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztLQUN4QjtJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRpdGxlQ2FzZSwgaXNOdW1lcmljYWwsIG9yZGVyVG9PcmRpbmFsLCBpc09yZGVyIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBpc1N0cmVldFR5cGUgfSBmcm9tICcuLi9kYXRhL1N0cmVldFR5cGUnO1xuaW1wb3J0IHsgaXNTdGF0ZSB9IGZyb20gJy4uL2RhdGEvU3RhdGUnO1xuaW1wb3J0IHsgVW5pdEFiYnIsIFN0cmVldFR5cGUgfSBmcm9tICdAdW5pdmVyc2UvbW9kZWxzJztcbi8vIGltcG9ydCB7IGlzRmFjaWxpdHlUeXBlIH0gZnJvbSAnLi4vRmFjaWxpdHlUeXBlJztcbi8vIGltcG9ydCB7IGlzVW5pdEFiYnIgfSBmcm9tICcuLi9Vbml0QWJicic7XG5cbi8vIC8qIGVzbGludC1kaXNhYmxlICovXG4vLyBUT0RPOiBTcGVsbCBDaGVjayBJbnRlZ3JhdGlvbj9cbi8vIGNvbnN0IFR5cG8gPSByZXF1aXJlKFwidHlwby1qc1wiKTtcbi8vIGNvbnN0IGRpY3Rpb25hcnkgPSBuZXcgVHlwbygnZW5fVVMnKTtcbi8vIC8qIGVzbGludC1lbmFibGUgKi9cblxuY29uc3QgYWxwaGFzID0gbmV3IFNldChbXG4gICdBJywgJ0InLCAnQycsICdEJywgJ0UnLCAnRicsICdHJywgJ0gnLCAnSScsICdKJywgJ0snLCAnTCcsICdNJywgJ04nLCAnTycsXG4gICdQJywgJ1EnLCAnUicsICdTJywgJ1QnLCAnVScsICdWJywgJ1cnLCAnWCcsICdZJywgJ1onLFxuXG4gICdhJywgJ2InLCAnYycsICdkJywgJ2UnLCAnZicsICdnJywgJ2gnLCAnaScsICdqJywgJ2snLCAnbCcsICdtJywgJ24nLCAnbycsXG4gICdwJywgJ3EnLCAncicsICdzJywgJ3QnLCAndScsICd2JywgJ3cnLCAneCcsICd5JywgJ3onLFxuXSk7XG5cbmNvbnN0IGRlY2ltYWxzID0gbmV3IFNldChbXG4gICcwJywgJzEnLCAnMicsICczJywgJzQnLCAnNScsICc2JywgJzcnLCAnOCcsICc5Jyxcbl0pO1xuXG4vLyBodHRwczovL3BlLnVzcHMuY29tL3RleHQvcHViMjgvMjhjM18wMTkuaHRtXG5jb25zdCBsZWdhbENoYXJzID0gbmV3IFNldChbIC4uLmFscGhhcywgLi4uZGVjaW1hbHMgXSk7XG5cbmNvbnN0IG5ld2xpbmVzID0gbmV3IFNldChbICcsJywgJ1xcdCcsICdcXG4nIF0pO1xuY29uc3QgZGFzaGVzID0gbmV3IFNldChbICctJywgJ+KAkycsICfigJQnIF0pO1xuY29uc3Qgc2xhc2hlcyA9IG5ldyBTZXQoWyAnXFxcXCcsICcvJyBdKTtcblxuZXhwb3J0IGludGVyZmFjZSBUb2tlbiB7XG4gIC8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2UtYmVmb3JlLWRlZmluZSAqL1xuICBwcmV2OiBIZWFkIHwgVG9rZW47XG4gIG5leHQ6IFRva2VuIHwgbnVsbDtcbiAgdmFsdWU6IHN0cmluZztcbiAgc2VwYXJhdG9yOiAnLScgfCAnLicgfCAnIycgfCAnJicgfCAnLCcgfCAnLycgfCBudWxsO1xuICBhbHBoYXM6IG51bWJlcjtcbiAgZGVjaW1hbHM6IG51bWJlcjtcbiAgaXNFT0w6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGVhZCB7XG4gIGlzSGVhZDogdHJ1ZTtcbiAgbmV4dDogVG9rZW4gfCBudWxsO1xuICBzZXBhcmF0b3I6ICcnO1xuICBpc0VPTDogZmFsc2U7XG59XG5cbi8vIFNwZWNpYWwgbm9uLWVudW1lcmF0ZWQgYWJicmV2aWF0aW9ucyB3ZSB3YW50IHRvIG1ha2Ugc3VyZSB3ZSBjYXBpdGFsaXplXG4vLyBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9TaGlwX3ByZWZpeFxuY29uc3QgY2FwaXRhbGl6ZSA9IG5ldyBTZXQoWyAnQUZCJywgJ0FQTycsICdGUE8nLCAnQUVDT00nLCAnSFFCTicsXG4gIC8vIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0xpc3Rfb2ZfY29sbG9xdWlhbF9uYW1lc19mb3JfdW5pdmVyc2l0aWVzX2FuZF9jb2xsZWdlc19pbl90aGVfVW5pdGVkX1N0YXRlc1xuICAnQUZBJywgJ0EmTScsICdBJlQnLCAnQVBTVScsICdBTEFTVScsICdBU1UnLCAnQVUnLCAnQVVNJywgJ0JDJywgJ0JHU1UnLCAnQkhTVScsICdCSlUnLCAnQk1DJywgJ0JTQycsICdCU1UnLCAnQlUnLFxuICAnQllVJywgJ0NCVScsICdDQycsICdDQ05ZJywgJ0NDU1UnLCAnQ0NVJywgJ0NDVicsICdDR1UnLCAnQ0lBJywgJ0NNQycsICdDTVUnLCAnQ05VJywgJ0NTQicsICdTSlUnLCAnQ1NFJywgJ0NTSScsXG4gICdDU1UnLCAnQ1NVRicsICdDU1VFQicsICdDU1VMQScsICdDU1VTJywgJ0NVJywgJ0NVQScsICdDVU5ZJywgJ0RDJywgJ0RQVScsICdEU1UnLCAnRFUnLCAnRUNVJywgJ0VJVScsICdFTVUnLCAnRU1VJyxcbiAgJ0VOQycsICdFVFNVJywgJ0VXVScsICdFS1UnLCAnRiZNJywgJ0ZBTVUnLCAnRkFVJywgJ0ZDJywgJ0ZEVScsICdGR0NVJywgJ0ZJVCcsICdGSVUnLCAnRlBVJywgJ0ZTVScsICdGVScsICdHQicsICdHQ1UnLFxuICAnR0dDJywgJ0dPTlonLCAnR1NVJywgJ0dUJywgJ0dWU1UnLCAnSElVJywgJ0hNQycsICdIVScsICdIVScsICdIU1UnLCAnSUMnLCAnSUlUJywgJ0lQRlcnLCAnSVNVJywgJ0lVUCcsICdJVVBVSScsICdJV1UnLFxuICAnSVcnLCAnSkhVJywgJ0pNVScsICdKV1UnLCAnSlNVJywgJ0pVJywgJ0tTVScsICdLVScsICdLVScsICdMQycsICdMSFUnLCAnTElVJywgJ0xNVScsICdMU1UnLCAnTFNTVScsICdMVFUnLCAnTFUnLCAnTFVDJyxcbiAgJ01DTEEnLCAnTUlUJywgJ01NQycsICdNU1UnLCAnTVRTVScsICdNVFUnLCAnTVUnLCAnTVZTVScsICdNVVcnLCAnTkFVJywgJ05DQ1UnLCAnTkNTVScsICdORCcsICdORFNVJywgJ05FVScsICdOSVUnLCAnTktVJyxcbiAgJ05NU1UnLCAnTk1VJywgJ05TVScsICdOVScsICdOVlUnLCAnTlcnLCAnTldNU1UnLCAnTllJVCcsICdOWU1DJywgJ05ZVScsICdPQycsICdPQ0MnLCAnT0NVJywgJ09EVScsICdPSVQnLCAnT05VJywgJ09SVScsXG4gICdPU1UnLCAnT1UnLCAnUEMnLCAnUENDJywgJ1BMTlUnLCAnUE9NJywgJ1BTVScsICdQVFMnLCAnUFZBTVUnLCAnUVUnLCAnUkhJVCcsICdSSUMnLCAnUklTRCcsICdSSVQnLCAnUi1NV0MnLCAnUlBJJywgJ1JVJyxcbiAgJ1JXVScsICdSV0MnLCAnU0JVJywgJ1NDJywgJ1NDU1UnLCAnU0NVJywgJ1NEU00mVCcsICdTRFNVJywgJ1NGU1UnLCAnU0hDJywgJ1NJVUUnLCAnU0pDJywgJ1NKRkMnLCAnU0pTVScsICdTSlUnLCAnU0xVJyxcbiAgJ1NNQycsICdTTVUnLCAnU05IVScsICdTT1NVJywgJ1NQVScsICdTUlUnLCAnU1NVJywgJ1NVJywgJ1NVSScsICdTVVUnLCAnU1VOWScsICdTV09TVScsICdUQU1VJywgJ1RBTVVDQycsICdUQ05KJywgJ1RDVScsXG4gICdUU1UnLCAnVFRVJywgJ1RVJywgJ1VBJywgJ1VBQScsICdVQUInLCAnVUFGJywgJ1VBSCcsICdVQUxSJywgJ1VBTScsICdVQVBCJywgJ1VCJywgJ1VDJywgJ1VDQicsICdVQ0EnLCAnVUNDUycsICdVQ0QnLCAnVUNGJyxcbiAgJ1VDSScsICdVQ0xBJywgJ1VDTScsICdVQ08nLCAnVUNSJywgJ1VDU0InLCAnVUNTQycsICdVQ1NEJywgJ1VDU0YnLCAnVUQnLCAnVURNJywgJ1VEQycsICdVRicsICdVR0EnLCAnVUgnLCAnVUhDTCcsICdVSEQnLCAnVUhTJyxcbiAgJ1VIVicsICdVSUMnLCAnVUlVQycsICdVSycsICdVTE0nLCAnVUwnLCAnVU1CJywgJ1VNQkMnLCAnVU1DJywgJ1VNRCcsICdVTUtDJywgJ1VNTCcsICdVTU8nLCAnVU1XJywgJ1VOQScsICdVTkMnLCAnVU5DQycsXG4gICdVTkNHJywgJ1VOQ1cnLCAnVU5EJywgJ1VORicsICdVTkgnLCAnVU5JJywgJ1VOSycsICdVTkwnLCAnVU5MVicsICdVTk0nLCAnVU5PJywgJ1VOUicsICdVTlQnLCAnVU8nLCAnVU9QJywgJ1VQJywgJ1VQSUtFJyxcbiAgJ1VSSScsICdVU0EnLCAnVVNBRkEnLCAnVVNBTycsICdVU0MnLCAnVVNDQScsICdVU0QnLCAnVVNGJywgJ1VTRkNBJywgJ1VTSScsICdVU00nLCAnVVNVJywgJ1VUJywgJ1VUQScsICdVVEIvVFNDJywgJ1VUQycsXG4gICdVVEQnLCAnVVRFUCcsICdVVE0nLCAnVVRQQicsICdVVFJHVicsICdVVFNBJywgJ1VWQScsICdVVk0nLCAnVVZVJywgJ1VXJywgJ1VXRicsICdVV0cnLCAnVVdHQicsICdVV00nLCAnVkNVJywgJ1ZNSScsICdWUEknLFxuICAnVlNVJywgJ1ZUQycsICdWVScsICdXJkonLCAnVyZMJywgJ1cmTScsICdXQycsICdXQ1UnLCAnV0ZVJywgJ1dHVScsICdXSVUnLCAnV0tVJywgJ1dNVScsICdXUEknLCAnV1NVJywgJ1dUQU1VJywgJ1dWVScsICdXVlVQJyxcbiAgJ1dXVScsICdYVScsICdYVUxBJywgJ1lTVScsICdZVScsXG5dKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzSGVhZCh0b2tlbjogdW5rbm93bik6IHRva2VuIGlzIEhlYWQge1xuICByZXR1cm4gISEodG9rZW4gJiYgKHRva2VuIGFzIEhlYWQpLmlzSGVhZCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnNlcnRUb2tlbkFmdGVyKHByZXY6IFRva2VuLCB2YWx1ZTogc3RyaW5nKTogVG9rZW4ge1xuICBjb25zdCB0b2tlbiA9IHtcbiAgICBwcmV2LFxuICAgIG5leHQ6IHByZXYubmV4dCxcbiAgICB2YWx1ZSxcbiAgICBzZXBhcmF0b3I6IG51bGwsXG4gICAgYWxwaGFzOiAodmFsdWUubWF0Y2goL1thLXpBLVpdL2cpIHx8IFtdKS5sZW5ndGgsXG4gICAgZGVjaW1hbHM6ICh2YWx1ZS5tYXRjaCgvXFxkL2cpIHx8IFtdKS5sZW5ndGgsXG4gICAgaXNFT0w6IHByZXYuaXNFT0wsXG4gIH07XG4gIHRva2VuLnByZXYubmV4dCA9IHRva2VuO1xuICB0b2tlbi5wcmV2LmlzRU9MID0gZmFsc2U7XG4gIHRva2VuLm5leHQgJiYgKHRva2VuLm5leHQucHJldiA9IHRva2VuKTtcbiAgcmV0dXJuIHRva2VuO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5zZXJ0VG9rZW5CZWZvcmUobmV4dDogVG9rZW4sIHZhbHVlOiBzdHJpbmcpOiBUb2tlbiB7XG4gIGNvbnN0IHRva2VuID0ge1xuICAgIHByZXY6IG5leHQucHJldixcbiAgICBuZXh0LFxuICAgIHZhbHVlLFxuICAgIHNlcGFyYXRvcjogbnVsbCxcbiAgICBhbHBoYXM6ICh2YWx1ZS5tYXRjaCgvW2EtekEtWl0vZykgfHwgW10pLmxlbmd0aCxcbiAgICBkZWNpbWFsczogKHZhbHVlLm1hdGNoKC9cXGQvZykgfHwgW10pLmxlbmd0aCxcbiAgICBpc0VPTDogZmFsc2UsXG4gIH07XG4gIHRva2VuLnByZXYgJiYgKHRva2VuLnByZXYubmV4dCA9IHRva2VuKTtcbiAgdG9rZW4ubmV4dCAmJiAodG9rZW4ubmV4dC5wcmV2ID0gdG9rZW4pO1xuICByZXR1cm4gdG9rZW47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc051bWJlck9yQ29kZShwb2ludGVyOiBUb2tlbiB8IHN0cmluZyB8IG51bGwpOiBib29sZWFuIHtcbiAgaWYgKCFwb2ludGVyKSB7IHJldHVybiBmYWxzZTsgfVxuXG4gIGNvbnN0IHdvcmtpbmcgPSB7XG4gICAgdmFsdWU6IHR5cGVvZiBwb2ludGVyID09PSAnc3RyaW5nJyA/IHBvaW50ZXIgOiBwb2ludGVyLnZhbHVlLFxuICAgIGRlY2ltYWxzOiB0eXBlb2YgcG9pbnRlciA9PT0gJ3N0cmluZycgPyBwb2ludGVyLm1hdGNoKC9cXGQvZyk/Lmxlbmd0aCB8fCAwIDogcG9pbnRlci5kZWNpbWFscyxcbiAgICBhbHBoYXM6IHR5cGVvZiBwb2ludGVyID09PSAnc3RyaW5nJyA/IHBvaW50ZXIudG9Mb3dlckNhc2UoKS5tYXRjaCgvW15cXGRdL2cpPy5sZW5ndGggfHwgMCA6IHBvaW50ZXIuYWxwaGFzLFxuICAgIHByZXY6IG51bGwsXG4gICAgc2VwYXJhdG9yOiB0eXBlb2YgcG9pbnRlciA9PT0gJ3N0cmluZycgPyAnJyA6IHBvaW50ZXIuc2VwYXJhdG9yLFxuICB9O1xuXG4gIGlmICh3b3JraW5nLnNlcGFyYXRvciA9PT0gJyYnKSB7IHJldHVybiBmYWxzZTsgfVxuXG4gIC8vIElmIHN0cmluZyBzdGFydHMgd2l0aCBhIG51bWJlciwgdGhpcyBpcyBhIGNvZGUuIEV4OiBPcmRpbmFscyAoMXN0LCAybmQsIGV0YylcbiAgaWYgKHdvcmtpbmcudmFsdWUgJiYgd29ya2luZy52YWx1ZVswXS5tYXRjaCgvXlxcZC8pKSB7IHJldHVybiB0cnVlOyB9XG5cbiAgLy8gRGFzaGVkIG9uZSwgdHdvIGFuZCB0aHJlZSBjaGFyYWN0ZXIgYWxwaGEgc3RyaW5ncyAqYXJlKiBjb2RlcyFcbiAgaWYgKHdvcmtpbmcuYWxwaGFzIDw9IDMgJiYgIXdvcmtpbmcuZGVjaW1hbHMgJiYgKGRhc2hlcy5oYXMod29ya2luZy5zZXBhcmF0b3IgfHwgJycpIHx8IGRhc2hlcy5oYXMoKHBvaW50ZXIgYXMgVG9rZW4pLnByZXY/LnNlcGFyYXRvciB8fCAnJykpKSB7IHJldHVybiB0cnVlOyB9XG5cbiAgLy8gSWYgZGVjaW1hbHMgZXF1YWwgb3Igb3V0bnVtYmVyIGFscGhhcywgb3IgdGhpcyBpcyBhIHNpbmdsZSBjaGFyYWN0ZXIgc3RyaW5nLCBpcyBhIGNvZGUuXG4gIHJldHVybiAod29ya2luZy5kZWNpbWFscyA+PSB3b3JraW5nLmFscGhhcyAmJiB3b3JraW5nLmRlY2ltYWxzID4gMSkgfHwgKHdvcmtpbmcuYWxwaGFzIDw9IDEpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9rZW5pemUoYWRkcjogc3RyaW5nKTogSGVhZCB7XG4gIGNvbnN0IGhlYWQ6IEhlYWQgPSB7XG4gICAgbmV4dDogbnVsbCxcbiAgICBpc0hlYWQ6IHRydWUsXG4gICAgc2VwYXJhdG9yOiAnJyxcbiAgICBpc0VPTDogZmFsc2UsXG4gIH07XG5cbiAgLy8gQ29sbGFwc2Ugd2hpdGVzcGFjZVxuICAvLyBUT0RPOiBUaGlzIHJlZ2V4IGlzIGlub3JkaW5hdGVseSBleHBlbnNpdmUuIFJlcGxhY2UuXG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL1xcbisvZywgJ1xcbicpLnJlcGxhY2UoLyArL2csICcgJykucmVwbGFjZSgvXFx0Ky9nLCAnXFx0Jyk7XG5cbiAgLy8gVE9ETzogQWxsIG9mIHRoZSBiZWxvdyByZWdleHBzIGFyZSBWRVJZIGV4cGVuc2l2ZS4gU2ltcGxpZnkuXG4gIC8vIFJlbW92ZSBDYXJlIE9mIEFiYnIuXG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0NbLy5dT1xcLj8vZ2ksICcnKTtcblxuICAvLyBQLk8uIEJveGVzIGFuZCBILkMuIEJveGVzIGFyZSBTcGVjaWFsLlxuICBhZGRyID0gYWRkclxuICAgIC5yZXBsYWNlKC9QXFwuT1xcLi9pLCAnUE8nKVxuICAgIC5yZXBsYWNlKC9QXFwuTy9pLCAnUE8nKVxuICAgIC5yZXBsYWNlKC9QIE8gL2ksICdQTycpXG4gICAgLnJlcGxhY2UoL1BcXC5PXFwuQlxcLi9pLCAnIFBPIEJPWCAnKVxuICAgIC5yZXBsYWNlKC9QXFwuIE9cXC4gQlxcLi9pLCAnIFBPIEJPWCAnKVxuICAgIC5yZXBsYWNlKC8gUE9CW1xcZCBdL2ksICdQTyBCT1gnKVxuICAgIC5yZXBsYWNlKC9QT1ggQk9YL2ksICdQTyBCT1gnKVxuICAgIC5yZXBsYWNlKC9QT0JPWC9pLCAnUE8gQk9YJylcbiAgICAucmVwbGFjZSgvUE9CWC9pLCAnUE8gQk9YJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0hcXC5DXFwuL2ksICdIQyAnKS5yZXBsYWNlKC9IXFwuQy8sICdIQyAnKS5yZXBsYWNlKC9IIEMgLywgJ0hDICcpLnJlcGxhY2UoL0hDQk9YL2ksICdIQyBCT1gnKTtcblxuICBhZGRyID0gYWRkci5yZXBsYWNlKC9oaWdod2F5IGNhcnJpZXIgcm91dGUvaSwgJ0hDJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL2hpZ2h3YXkgY29udHJhY3Qgcm91dGUvaSwgJ0hDJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL2hpZ2h3YXkgY2Fycmllci9pLCAnSEMnKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvaGlnaHdheSBjb250cmFjdC9pLCAnSEMnKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvc3RhciByb3V0ZS9pLCAnSEMnKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvcnVyYWwgcm91dGUvaSwgJ1JSJyk7XG5cbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvcnVyYWwgcm9hZC9pLCAnUlInKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvdG93bnNoaXAgcm9hZC9pLCAnVFNSJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL3N0YXRlIHJvdXRlL2ksICdTUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9zdGF0ZSByb2FkL2ksICdTUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9jb3VudHkgcm9hZC9pLCAnQ1InKTtcblxuICBhZGRyID0gYWRkci5yZXBsYWNlKC9yXFwuXFxyXFwuIHJkL2ksICdSUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9zXFwuXFxyXFwuIHJkL2ksICdTUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9jXFwuXFxyXFwuIHJkL2ksICdDUicpO1xuXG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL3J1cmFsIHJkL2ksICdSUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC90b3duc2hpcCByZC9pLCAnVFNSJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL3N0YXRlIHJkL2ksICdTUicpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9jb3VudHkgcmQvaSwgJ0NSJyk7XG5cbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvTEEgQ0FNSU5JVE8vaSwgJ0xBQ0FNSU5JVE8nKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvRUwgQ0FNSU5PL2ksICdFTENBTUlOTycpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9MQSBDRVJSQURBL2ksICdMQUNFUlJBREEnKTtcbiAgYWRkciA9IGFkZHIucmVwbGFjZSgvTEEgRU5UUkFEQS9pLCAnTEFFTlRSQURBJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0VMIFBBU0VPL2ksICdFTFBBU0VPJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0xBIFBMQUNJVEEvaSwgJ0xBUExBQ0lUQScpO1xuICBhZGRyID0gYWRkci5yZXBsYWNlKC9FTCBSQU5DSE8vaSwgJ0VMUkFOQ0hPJyk7XG4gIGFkZHIgPSBhZGRyLnJlcGxhY2UoL0xBIFZFUkVEQS9pLCAnTEFWRVJFREEnKTtcblxuICBsZXQgcG9pbnRlcjogVG9rZW4gfCBudWxsID0ge1xuICAgIHByZXY6IGhlYWQsXG4gICAgbmV4dDogbnVsbCxcbiAgICB2YWx1ZTogJycsXG4gICAgc2VwYXJhdG9yOiBudWxsLFxuICAgIGFscGhhczogMCxcbiAgICBkZWNpbWFsczogMCxcbiAgICBpc0VPTDogZmFsc2UsXG4gIH07XG5cbiAgaGVhZC5uZXh0ID0gcG9pbnRlcjtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGFkZHIubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBjaGFyID0gYWRkcltpXTtcbiAgICBjb25zdCBuZXh0ID0gYWRkcltpICsgMV07XG4gICAgaWYgKCFwb2ludGVyKSB7IGJyZWFrOyB9XG4gICAgaWYgKGxlZ2FsQ2hhcnMuaGFzKGNoYXIpKSB7XG4gICAgICBwb2ludGVyLnZhbHVlICs9IGNoYXI7XG4gICAgICBpZiAoYWxwaGFzLmhhcyhjaGFyKSkge1xuICAgICAgICBwb2ludGVyLmFscGhhcysrO1xuICAgICAgfVxuICAgICAgaWYgKGRlY2ltYWxzLmhhcyhjaGFyKSkge1xuICAgICAgICBwb2ludGVyLmRlY2ltYWxzKys7XG4gICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgaWYgKG5ld2xpbmVzLmhhcyhjaGFyKSkgeyBwb2ludGVyLmlzRU9MID0gdHJ1ZTsgfVxuICAgICAgZWxzZSBpZiAoZGFzaGVzLmhhcyhjaGFyKSkgeyBwb2ludGVyLnNlcGFyYXRvciA9ICctJzsgfVxuICAgICAgZWxzZSBpZiAoY2hhciA9PT0gJy4nKSB7IHBvaW50ZXIuc2VwYXJhdG9yID0gJy4nOyB9XG4gICAgICBlbHNlIGlmIChjaGFyID09PSAnJicpIHsgcG9pbnRlci5zZXBhcmF0b3IgPSAnJic7IH1cbiAgICAgIGVsc2UgaWYgKGNoYXIgPT09ICcjJykgeyBwb2ludGVyLnNlcGFyYXRvciA9ICcjJzsgfVxuICAgICAgZWxzZSBpZiAoc2xhc2hlcy5oYXMoY2hhcikpIHsgcG9pbnRlci5zZXBhcmF0b3IgPSAnLyc7IH1cbiAgICAgIC8vIGlmICghaXNOdW1iZXJPckNvZGUocG9pbnRlcikgJiYgIWlzU3RhdGUocG9pbnRlci52YWx1ZSkgJiYgIWlzU3RyZWV0VHlwZShwb2ludGVyLnZhbHVlKSAmJiAhaXNGYWNpbGl0eVR5cGUocG9pbnRlci52YWx1ZSkgJiYgIWlzVW5pdEFiYnIocG9pbnRlci52YWx1ZSkpIHtcbiAgICAgIC8vICAgaWYgKCFkaWN0aW9uYXJ5LmNoZWNrKHBvaW50ZXIudmFsdWUpKSB7XG4gICAgICAvLyAgICAgY29uc3Qgc3VnZ2VzdGlvbnMgPSBkaWN0aW9uYXJ5LnN1Z2dlc3QocG9pbnRlci52YWx1ZSk7XG4gICAgICAvLyAgICAgcG9pbnRlci52YWx1ZSA9IHN1Z2dlc3Rpb25zWzBdIHx8IHBvaW50ZXIudmFsdWU7XG4gICAgICAvLyAgIH1cbiAgICAgIC8vIH1cbiAgICAgIHBvaW50ZXIudmFsdWUgPSBjYXBpdGFsaXplLmhhcyhwb2ludGVyLnZhbHVlLnRvVXBwZXJDYXNlKCkpID8gcG9pbnRlci52YWx1ZS50b1VwcGVyQ2FzZSgpIDogdGl0bGVDYXNlKHBvaW50ZXIudmFsdWUpO1xuICAgICAgaWYgKGxlZ2FsQ2hhcnMuaGFzKG5leHQpKSB7XG4gICAgICAgIHBvaW50ZXIgPSB7XG4gICAgICAgICAgcHJldjogcG9pbnRlcixcbiAgICAgICAgICBuZXh0OiBudWxsLFxuICAgICAgICAgIHZhbHVlOiAnJyxcbiAgICAgICAgICBzZXBhcmF0b3I6IG51bGwsXG4gICAgICAgICAgYWxwaGFzOiAwLFxuICAgICAgICAgIGRlY2ltYWxzOiAwLFxuICAgICAgICAgIGlzRU9MOiBmYWxzZSxcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHBvaW50ZXIucHJldikge1xuICAgICAgICAgIHBvaW50ZXIucHJldi5uZXh0ID0gcG9pbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE5vIG5ld2xpbmVzIGFmdGVyIHRoZSBsYXN0IFN0YXRlIGRpc2NvdmVyZWQuXG4gIHdoaWxlIChwb2ludGVyKSB7XG4gICAgaWYgKHBvaW50ZXIubmV4dCAmJiBpc1N0YXRlKHBvaW50ZXIubmV4dC52YWx1ZSkpIHtcbiAgICAgIHdoaWxlIChwb2ludGVyKSB7XG4gICAgICAgIHBvaW50ZXIuaXNFT0wgPSBmYWxzZTtcbiAgICAgICAgcG9pbnRlciA9IHBvaW50ZXIubmV4dDtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBpZiAoaXNIZWFkKHBvaW50ZXIucHJldikpIHsgYnJlYWs7IH1cbiAgICBwb2ludGVyID0gcG9pbnRlci5wcmV2O1xuICB9XG5cbiAgLy8gSXQgaXMgY29tbW9uIGZvciBwZW9wbGUgdG8gYmUgc2lsbHkgYW5kIHByZWZpeC9zdWZmaXggc29tZSB1bml0IG51bWJlcnMgd2l0aCB0aGVzZSBjb21tb24gYWJicmV2aWF0aW9uLlxuICAvLyBFeDogMTIzIFdhdGVyIFN0LiBBcHQgQVBUMSwgNDUgU3BydWNlIEF2ZSAxUEhcbiAgLy8gVE9ETzogV2UgY2FuIG1ha2UgdGhpcyBtb3JlIHJvYnVzdC4uLlxuICBwb2ludGVyID0gaGVhZC5uZXh0O1xuICB3aGlsZSAocG9pbnRlcikge1xuICAgIGlmICghcG9pbnRlcikgeyBicmVhazsgfVxuXG4gICAgaWYgKGlzT3JkZXIocG9pbnRlci52YWx1ZSkpIHtcbiAgICAgIHBvaW50ZXIudmFsdWUgPSBvcmRlclRvT3JkaW5hbChwb2ludGVyLnZhbHVlKTtcbiAgICB9XG5cbiAgICBjb25zdCBwcmVmaXhUZXN0ID0gWyBVbml0QWJici5BUFQsIFVuaXRBYmJyLlBILCBVbml0QWJici5MViwgU3RyZWV0VHlwZS5SUiwgJ1NVSVRFJywgJ1VOSVQnIF07XG4gICAgY29uc3Qgc3VmZml4VGV4dCA9IFtVbml0QWJici5QSF07XG5cbiAgICBmb3IgKGNvbnN0IHByZWZpeCBvZiBwcmVmaXhUZXN0KSB7XG4gICAgICBpZiAocG9pbnRlci52YWx1ZS50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgocHJlZml4LnRvTG93ZXJDYXNlKCkpICYmIHBvaW50ZXIudmFsdWUubGVuZ3RoID4gcHJlZml4Lmxlbmd0aCkge1xuICAgICAgICAvLyBTcGVjaWFsIENhc2UgZm9yIHBsdXJhbHNcbiAgICAgICAgaWYgKHBvaW50ZXIudmFsdWUudG9VcHBlckNhc2UoKSA9PT0gcHJlZml4LnRvVXBwZXJDYXNlKCkgKyAnUycpIHsgY29udGludWU7IH1cblxuICAgICAgICBjb25zdCBvbGRWYWx1ZSA9IHBvaW50ZXIudmFsdWU7XG4gICAgICAgIHBvaW50ZXIudmFsdWUgPSBwb2ludGVyLnZhbHVlLnNsaWNlKHByZWZpeC5sZW5ndGgpO1xuICAgICAgICBwb2ludGVyLmFscGhhcyAtPSBwcmVmaXgubGVuZ3RoO1xuICAgICAgICBpZiAoIWlzTnVtYmVyT3JDb2RlKHBvaW50ZXIpKSB7XG4gICAgICAgICAgcG9pbnRlci5hbHBoYXMgKz0gcHJlZml4Lmxlbmd0aDtcbiAgICAgICAgICBwb2ludGVyLnZhbHVlID0gb2xkVmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgaW5zZXJ0VG9rZW5CZWZvcmUocG9pbnRlciwgcHJlZml4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3Qgc3VmZml4IG9mIHN1ZmZpeFRleHQpIHtcbiAgICAgIGlmIChwb2ludGVyICYmIHBvaW50ZXIudmFsdWUudG9Mb3dlckNhc2UoKS5lbmRzV2l0aChzdWZmaXgudG9Mb3dlckNhc2UoKSkgJiYgcG9pbnRlci52YWx1ZS5sZW5ndGggPiBzdWZmaXgubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IG9sZFZhbHVlID0gcG9pbnRlci52YWx1ZTtcbiAgICAgICAgcG9pbnRlci52YWx1ZSA9IHBvaW50ZXIudmFsdWUuc2xpY2UoMCwgc3VmZml4Lmxlbmd0aCAqIC0xKTtcbiAgICAgICAgcG9pbnRlci5hbHBoYXMgLT0gc3VmZml4Lmxlbmd0aDtcbiAgICAgICAgaWYgKCFpc051bWJlck9yQ29kZShwb2ludGVyKSkge1xuICAgICAgICAgIHBvaW50ZXIuYWxwaGFzICs9IHN1ZmZpeC5sZW5ndGg7XG4gICAgICAgICAgcG9pbnRlci52YWx1ZSA9IG9sZFZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIGNvbnN0IG5ld1Rva2VuID0gaW5zZXJ0VG9rZW5BZnRlcihwb2ludGVyLCBzdWZmaXgpO1xuICAgICAgICAgIHBvaW50ZXIgPSBuZXdUb2tlbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBwb2ludGVyID0gcG9pbnRlci5uZXh0O1xuICB9XG5cbiAgLy8gU29tZSBtaXMtZm9ybWF0dGVkIGZhY2lsaXR5IGFkZHJlc3NlcyB3aWxsIHByZXBlbmQgYSAnMCcgdG8gbWFrZSB0aGVtIGFwcGVhciBsaWtlIHN0cmVldCBhZGRyZXNzZXMuXG4gIGlmIChoZWFkLm5leHQgJiYgaGVhZC5uZXh0LnZhbHVlID09PSAnMCcgJiYgaGVhZC5uZXh0Lm5leHQpIHtcbiAgICBoZWFkLm5leHQgPSBoZWFkLm5leHQubmV4dDtcbiAgfVxuXG4gIHJldHVybiBoZWFkO1xufVxuXG4vLyBUT0RPOiBVc2UgVVNQUyBoeXBoZW5hdGlvbiBzdGFuZGFyZHMuXG5leHBvcnQgZnVuY3Rpb24gaXNIeXBoZW5hdGVkQ29kZShwb2ludGVyOiBUb2tlbiB8IEhlYWQpOiBib29sZWFuIHtcbiAgaWYgKGlzSGVhZChwb2ludGVyKSkgeyByZXR1cm4gZmFsc2U7IH1cbiAgaWYgKCFwb2ludGVyLm5leHQgfHwgIWRhc2hlcy5oYXMocG9pbnRlci5zZXBhcmF0b3IgfHwgJycpKSB7IHJldHVybiBmYWxzZTsgfVxuICByZXR1cm4gISEoaXNOdW1lcmljYWwocG9pbnRlci52YWx1ZSkgJiYgaXNOdW1lcmljYWwoKHBvaW50ZXIubmV4dCBhcyBUb2tlbikudmFsdWUpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTmV3bGluZVNlcChwb2ludGVyOiBUb2tlbiB8IEhlYWQgfCBudWxsKTogYm9vbGVhbiB7XG4gIGlmICghcG9pbnRlciB8fCBpc0hlYWQocG9pbnRlcikpIHsgcmV0dXJuIGZhbHNlOyB9XG4gIHJldHVybiBwb2ludGVyPy5pc0VPTDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5ld2xpbmVDb3VudChwb2ludGVyOiBUb2tlbiB8IEhlYWQgfCBudWxsKTogbnVtYmVyIHtcbiAgbGV0IGN1cnJlbnQ6IFRva2VuIHwgSGVhZCB8IG51bGwgPSBwb2ludGVyO1xuICBsZXQgaSA9IDA7XG4gIHdoaWxlIChjdXJyZW50KSB7XG4gICAgaWYgKGlzTmV3bGluZVNlcChjdXJyZW50KSkgeyBpKys7IH1cbiAgICBjdXJyZW50ID0gY3VycmVudC5uZXh0O1xuICB9XG4gIHJldHVybiBpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmluZE5leHROZXdMaW5lKHBvaW50ZXI6IFRva2VuIHwgbnVsbCk6IFRva2VuIHwgbnVsbCB7XG4gIGxldCBjdXJyZW50OiBUb2tlbiB8IG51bGwgPSBwb2ludGVyO1xuICB3aGlsZSAoY3VycmVudCkge1xuICAgIGlmIChpc05ld2xpbmVTZXAoY3VycmVudCkpIHsgcmV0dXJuIGN1cnJlbnQubmV4dDsgfVxuICAgIGN1cnJlbnQgPSBjdXJyZW50Lm5leHQ7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNMYXRlclN0cmVldFR5cGUocG9pbnRlcjogVG9rZW4gfCBudWxsLCBsaW5lT25seSA9IGZhbHNlKTogYm9vbGVhbiB7XG4gIGlmICghcG9pbnRlcikgeyByZXR1cm4gZmFsc2U7IH1cbiAgaWYgKGlzTmV3bGluZVNlcChwb2ludGVyKSkgeyByZXR1cm4gZmFsc2U7IH1cbiAgbGV0IGN1cnJlbnQ6IFRva2VuIHwgbnVsbCA9IHBvaW50ZXIubmV4dDtcbiAgd2hpbGUgKGN1cnJlbnQpIHtcbiAgICBpZiAoaXNTdHJlZXRUeXBlKGN1cnJlbnQudmFsdWUpKSB7IHJldHVybiB0cnVlOyB9XG4gICAgaWYgKGxpbmVPbmx5ICYmIGN1cnJlbnQuc2VwYXJhdG9yKSB7IGJyZWFrOyB9XG4gICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNTdGF0ZVVuaXQocG9pbnRlcjogVG9rZW4gfCBudWxsLCBsaW5lT25seSA9IGZhbHNlKTogYm9vbGVhbiB7XG4gIGxldCBjdXJyZW50OiBUb2tlbiB8IG51bGwgPSBwb2ludGVyO1xuICB3aGlsZSAoY3VycmVudCkge1xuICAgIGlmIChpc1N0YXRlKGN1cnJlbnQudmFsdWUpKSB7IHJldHVybiB0cnVlOyB9XG4gICAgaWYgKGxpbmVPbmx5ICYmIGN1cnJlbnQuc2VwYXJhdG9yKSB7IGJyZWFrOyB9XG4gICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBuZXdMaW5lQ291bnQocG9pbnRlcjogVG9rZW4gfCBudWxsKTogbnVtYmVyIHtcbiAgbGV0IGN1cnJlbnQ6IFRva2VuIHwgbnVsbCA9IHBvaW50ZXI7XG4gIGxldCBjb3VudCA9IDA7XG4gIHdoaWxlIChjdXJyZW50KSB7XG4gICAgaWYgKGlzTmV3bGluZVNlcChjdXJyZW50KSkgeyBjb3VudCsrOyB9XG4gICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgfVxuICByZXR1cm4gY291bnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJlZXRUeXBlQ291bnQocG9pbnRlcjogVG9rZW4gfCBudWxsKTogbnVtYmVyIHtcbiAgbGV0IGN1cnJlbnQ6IFRva2VuIHwgbnVsbCA9IHBvaW50ZXI7XG4gIGxldCBjb3VudCA9IDA7XG4gIHdoaWxlIChjdXJyZW50KSB7XG4gICAgaWYgKGlzU3RyZWV0VHlwZShjdXJyZW50LnZhbHVlKSkgeyBjb3VudCsrOyB9XG4gICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgfVxuICByZXR1cm4gY291bnQ7XG59XG4iXX0= |
@@ -185,2 +185,2 @@ const alphas = new Set([ | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFyc2VyL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDO0lBQ3JCLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztJQUN6RSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztJQUVyRCxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUc7SUFDekUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUc7Q0FDdEQsQ0FBQyxDQUFDO0FBRUgsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFDdkIsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztDQUNqRCxDQUFDLENBQUM7QUFFSCxNQUFNLGNBQWMsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUM3QixJQUFJLEVBQUUsS0FBSyxFQUFF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Q0FBQztnQkFDakIsS0FBSyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDbkMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7YUFDbEI7WUFFRCw0Q0FBNEM7WUFDNUMsSUFBSSxLQUFLLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUM5RixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztnQkFDL0QsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDakIsS0FBSyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDdkMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7YUFDbEI7WUFFRCw0Q0FBNEM7WUFDNUMsSUFBSSxLQUFLLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNwSixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FB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S0FBSyxJQUFJLEVBQUU7UUFBRSxPQUFPLElBQUksQ0FBQztLQUFFO0lBQ2xDLEdBQUcsR0FBRyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEIsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDO0lBQ2IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDbkMsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN4QixNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEIsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN4Qiw0Q0FBNEM7UUFDNUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUU7WUFDeEYscUJBQXFCO1NBQ3RCO1FBQ0Qsd0RBQXdEO1FBQ3hELElBQUksSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFO1lBQzVELEdBQUcsSUFBSSxHQUFHLENBQUM7U0FDWjthQUNJO1lBQ0gsR0FBRyxJQUFJLElBQUksQ0FBQztTQUNiO0tBQ0Y7SUFFRCxPQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVG9rZW4gfSBmcm9tICcuL3Rva2VuaXplcic7XG5cbmNvbnN0IGFscGhhcyA9IG5ldyBTZXQoW1xuICAnQScsICdCJywgJ0MnLCAnRCcsICdFJywgJ0YnLCAnRycsICdIJywgJ0knLCAnSicsICdLJywgJ0wnLCAnTScsICdOJywgJ08nLFxuICAnUCcsICdRJywgJ1InLCAnUycsICdUJywgJ1UnLCAnVicsICdXJywgJ1gnLCAnWScsICdaJyxcblxuICAnYScsICdiJywgJ2MnLCAnZCcsICdlJywgJ2YnLCAnZycsICdoJywgJ2knLCAnaicsICdrJywgJ2wnLCAnbScsICduJywgJ28nLFxuICAncCcsICdxJywgJ3InLCAncycsICd0JywgJ3UnLCAndicsICd3JywgJ3gnLCAneScsICd6Jyxcbl0pO1xuXG5jb25zdCBkZWNpbWFscyA9IG5ldyBTZXQoW1xuICAnMCcsICcxJywgJzInLCAnMycsICc0JywgJzUnLCAnNicsICc3JywgJzgnLCAnOScsXG5dKTtcblxuY29uc3QgZm9yY2VMb3dlckNhc2UgPSBuZXcgU2V0KFtcbiAgJ2FuJywgJ3RoZScsICdvZicsICdhbmQnLCAnYnV0JywgJ2ZvcicsICdhdCcsICdieScsICdmcm9tJywgJ2luJywgJ29uJyxcbl0pO1xuXG5leHBvcnQgZnVuY3Rpb24gdGl0bGVDYXNlKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgc3RyID0gc3RyLnRvTG93ZXJDYXNlKCkudHJpbSgpO1xuXG4gIGlmIChmb3JjZUxvd2VyQ2FzZS5oYXMoc3RyKSkge1xuICAgIHJldHVybiBzdHI7XG4gIH1cblxuICBmb3IgKGxldCBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykge1xuICAgIGlmIChpIC0gMSA8IDAgfHwgKCFhbHBoYXMuaGFzKHN0cltpIC0gMV0pICYmIGFscGhhcy5oYXMoc3RyW2ldKSkpIHtcbiAgICAgIHN0ciA9IHN0ci5zbGljZSgwLCBpKSArIHN0cltpXS50b1VwcGVyQ2FzZSgpICsgc3RyLnNsaWNlKGkgKyAxKTtcbiAgICB9XG4gIH1cblxuICAvLyBPcmRpbmFscyBkb24ndCBnZXQgdGl0bGVkLlxuICBzdHIgPSBzdHIucmVwbGFjZSgvKFxcZClTdC9nLCAnJDFzdCcpO1xuICBzdHIgPSBzdHIucmVwbGFjZSgvKFxcZClOZC9nLCAnJDFuZCcpO1xuICBzdHIgPSBzdHIucmVwbGFjZSgvKFxcZClSZC9nLCAnJDFyZCcpO1xuICBzdHIgPSBzdHIucmVwbGFjZSgvKFxcZClUaC9nLCAnJDF0aCcpO1xuXG4gIHJldHVybiBzdHI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc051bWVyaWNhbChzdHI6IHN0cmluZykge1xuICBsZXQgaXNOdW1iZXIgPSB0cnVlO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykge1xuICAgIGlzTnVtYmVyID0gaXNOdW1iZXIgJiYgZGVjaW1hbHMuaGFzKHN0cltpXSk7XG4gIH1cbiAgcmV0dXJuIGlzTnVtYmVyO1xufVxuXG5jb25zdCBvcmRpbmFscyA9IHtcbiAgRklSU1Q6ICcxc3QnLFxuICBTRUNPTkQ6ICcybmQnLFxuICBUSElSRDogJzNyZCcsXG4gIEZPVVJUSDogJzR0aCcsXG4gIEZJRlRIOiAnNXRoJyxcbiAgU0lYVEg6ICc2dGgnLFxuICBTRVZFTlRIOiAnN3RoJyxcbiAgRUlHSFRIOiAnOHRoJyxcbiAgTklOVEg6ICc5dGgnLFxuICBURU5USDogJzEwdGgnLFxuICBFTEVWRU5USDogJzExdGgnLFxuICBUV0VMRlRIOiAnMTJ0aCcsXG4gIFRISVJURUVOVEg6ICcxM3RoJyxcbiAgRk9VUlRFRU5USDogJzE0dGgnLFxuICBGSUZURUVOVEg6ICcxNXRoJyxcbn07XG5cbmNvbnN0IE9SRElOQUxfTUFQOiBNYXA8c3RyaW5nLCBzdHJpbmc+ID0gbmV3IE1hcCgpO1xuZm9yIChjb25zdCBbIGtleSwgdmFsdWUgXSBvZiBPYmplY3QuZW50cmllcyhvcmRpbmFscykpIHtcbiAgT1JESU5BTF9NQVAuc2V0KGtleS50b1VwcGVyQ2FzZSgpLCB2YWx1ZS50b1VwcGVyQ2FzZSgpKTtcbiAgT1JESU5BTF9NQVAuc2V0KHZhbHVlLnRvVXBwZXJDYXNlKCksIGtleS50b1VwcGVyQ2FzZSgpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzT3JkaW5hbChzdHI6IHN0cmluZyB8IG51bGwpOiBib29sZWFuIHtcbiAgcmV0dXJuICEhKHN0ciAmJiBzdHIubWF0Y2goL1swLTldKyhzdHxuZHxyZHx0aCkvaSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNPcmRlcih2YWw6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gISEob3JkaW5hbHNbdmFsLnRvVXBwZXJDYXNlKCldICYmIE9SRElOQUxfTUFQLmhhcyh2YWwudG9VcHBlckNhc2UoKSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb3JkaW5hbFRvT3JkZXIodmFsOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoIWlzT3JkaW5hbCh2YWwpKSB7IHJldHVybiB2YWw7IH1cbiAgcmV0dXJuIHRpdGxlQ2FzZShPUkRJTkFMX01BUC5nZXQodmFsLnRvVXBwZXJDYXNlKCkpIHx8IHZhbCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvcmRlclRvT3JkaW5hbCh2YWw6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmICghaXNPcmRlcih2YWwpKSB7IHJldHVybiB2YWw7IH1cbiAgcmV0dXJuIHRpdGxlQ2FzZShPUkRJTkFMX01BUC5nZXQodmFsLnRvVXBwZXJDYXNlKCkpIHx8IHZhbCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemUoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoIXN0cikgeyByZXR1cm4gJyc7IH1cbiAgcmV0dXJuIFN0cmluZyhzdHIpLnRvVXBwZXJDYXNlKCk7XG59XG5cbi8vIFVuaXQgbnVtYmVycyBzaG91bGQgYWx3YXlzIGhhdmUgbnVtYmVycyBmb2xsb3dlZCBieSBsZXR0ZXJzIGFuZCBiZSBzZW50ZW5jZSBjYXNlXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplVW5pdE51bSh0b2tlbnM6IFRva2VuW10pOiBzdHJpbmcgfCBudWxsIHtcbiAgY29uc3Qgb3V0ID0gW107XG4gIGNvbnN0IHN1ZmZpeCA9IFtdO1xuICBmb3IgKGNvbnN0IHRva2VuIG9mIHRva2Vucykge1xuICAgIGlmICghaXNPcmRpbmFsKHRva2VuLnZhbHVlKSkge1xuICAgICAgLy8gUHVzaCBzaW5nbGUgY2hhcmFjdGVyIHByZWZpeGVzIHRvIHRoZSBlbmRcbiAgICAgIGlmICh0b2tlbi5kZWNpbWFscyAmJiB0b2tlbi5hbHBoYXMgPT09IDEgJiYgL1thLXpdL2kudGVzdCh0b2tlbi52YWx1ZVswXSkpIHtcbiAgICAgICAgc3VmZml4LnB1c2godG9rZW4udmFsdWVbMF0udG9VcHBlckNhc2UoKSk7XG4gICAgICAgIHN1ZmZpeC5wdXNoKCcgJyk7XG4gICAgICAgIHRva2VuLnZhbHVlID0gdG9rZW4udmFsdWUuc2xpY2UoMSk7XG4gICAgICAgIHRva2VuLmFscGhhcyA9IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIFB1c2ggZG91YmxlIGNoYXJhY3RlciBwcmVmaXhlcyB0byB0aGUgZW5kXG4gICAgICBpZiAodG9rZW4uZGVjaW1hbHMgJiYgdG9rZW4uYWxwaGFzID09PSAyICYmIC9bYS16XS9pLnRlc3QodG9rZW4udmFsdWVbMF0pICYmIC9bYS16XS9pLnRlc3QodG9rZW4udmFsdWVbMV0pKSB7XG4gICAgICAgIHN1ZmZpeC5wdXNoKHRva2VuLnZhbHVlWzBdLnRvVXBwZXJDYXNlKCkpO1xuICAgICAgICBzdWZmaXgucHVzaCh0b2tlbi52YWx1ZVsxXS50b1VwcGVyQ2FzZSgpKTtcbiAgICAgICAgc3VmZml4LnB1c2goJyAnKTtcbiAgICAgICAgdG9rZW4udmFsdWUgPSB0b2tlbi52YWx1ZS5zbGljZSgxKTtcbiAgICAgICAgdG9rZW4uYWxwaGFzID0gMDtcbiAgICAgIH1cblxuICAgICAgLy8gUHVzaCBzaW5nbGUgY2hhcmFjdGVyIHN1ZmZpeGVzIHRvIHRoZSBlbmRcbiAgICAgIGlmICh0b2tlbi5kZWNpbWFscyAmJiB0b2tlbi5hbHBoYXMgPT09IDEgJiYgL1thLXpdL2kudGVzdCh0b2tlbi52YWx1ZVt0b2tlbi52YWx1ZS5sZW5ndGggLSAxXSkpIHtcbiAgICAgICAgc3VmZml4LnB1c2godG9rZW4udmFsdWVbdG9rZW4udmFsdWUubGVuZ3RoIC0gMV0udG9VcHBlckNhc2UoKSk7XG4gICAgICAgIHN1ZmZpeC5wdXNoKCcgJyk7XG4gICAgICAgIHRva2VuLnZhbHVlID0gdG9rZW4udmFsdWUuc2xpY2UoMCwgLTEpO1xuICAgICAgICB0b2tlbi5hbHBoYXMgPSAwO1xuICAgICAgfVxuXG4gICAgICAvLyBQdXNoIGRvdWJsZSBjaGFyYWN0ZXIgc3VmZml4ZXMgdG8gdGhlIGVuZFxuICAgICAgaWYgKHRva2VuLmRlY2ltYWxzICYmIHRva2VuLmFscGhhcyA9PT0gMiAmJiAvW2Etel0vaS50ZXN0KHRva2VuLnZhbHVlW3Rva2VuLnZhbHVlLmxlbmd0aCAtIDFdKSAmJiAvW2Etel0vaS50ZXN0KHRva2VuLnZhbHVlW3Rva2VuLnZhbHVlLmxlbmd0aCAtIDJdKSkge1xuICAgICAgICBzdWZmaXgucHVzaCh0b2tlbi52YWx1ZVt0b2tlbi52YWx1ZS5sZW5ndGggLSAyXS50b1VwcGVyQ2FzZSgpKTtcbiAgICAgICAgc3VmZml4LnB1c2godG9rZW4udmFsdWVbdG9rZW4udmFsdWUubGVuZ3RoIC0gMV0udG9VcHBlckNhc2UoKSk7XG4gICAgICAgIHN1ZmZpeC5wdXNoKCcgJyk7XG4gICAgICAgIHRva2VuLnZhbHVlID0gdG9rZW4udmFsdWUuc2xpY2UoMCwgLTIpO1xuICAgICAgICB0b2tlbi5hbHBoYXMgPSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlID0gKHRva2VuLmRlY2ltYWxzICYmIHRva2VuLmFscGhhcykgPyBpc09yZGluYWwodG9rZW4udmFsdWUpID8gdG9rZW4udmFsdWUudG9Mb3dlckNhc2UoKSA6IHRva2VuLnZhbHVlLnRvVXBwZXJDYXNlKCkgOiB0aXRsZUNhc2UodG9rZW4udmFsdWUpO1xuXG4gICAgLy8gQWxsIGFscGhhIGNvZGVzIGFyZSBwdXQgb24gdGhlIHN1ZmZpeCBhbmQgdXBwZXIgY2FzZWQuXG4gICAgaWYgKCF0b2tlbi5kZWNpbWFscyAmJiB2YWx1ZS5sZW5ndGggPD0gMykge1xuICAgICAgc3VmZml4LnB1c2godmFsdWUudG9VcHBlckNhc2UoKSk7XG4gICAgICBzd2l0Y2ggKHRva2VuLnNlcGFyYXRvcikge1xuICAgICAgICBjYXNlICctJzogc3VmZml4LnB1c2goJy0nKTsgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6IHN1ZmZpeC5wdXNoKCcgJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZWxzZSB7XG4gICAgICBvdXQucHVzaCh2YWx1ZSk7XG4gICAgICBzd2l0Y2ggKHRva2VuLnNlcGFyYXRvcikge1xuICAgICAgICBjYXNlICcjJzogb3V0LnB1c2goJyAjICcpOyBicmVhaztcbiAgICAgICAgY2FzZSAnLic6IG91dC5wdXNoKCcuJyk7IGJyZWFrO1xuICAgICAgICBjYXNlICcmJzogb3V0LnB1c2goJyAmICcpOyBicmVhaztcbiAgICAgICAgY2FzZSAnLCc6IG91dC5wdXNoKCcgJyk7IGJyZWFrO1xuICAgICAgICBjYXNlICctJzogb3V0LnB1c2goJy0nKTsgYnJlYWs7XG4gICAgICAgIGNhc2UgJy8nOiBvdXQucHVzaCgnLycpOyBicmVhaztcbiAgICAgICAgZGVmYXVsdDogb3V0LnB1c2goJycpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHN1ZmZpeC5wb3AoKTtcbiAgb3V0LnBvcCgpO1xuXG4gIC8vIE9yZGluYWxzIGRvbid0IGdldCB0aXRsZWQuXG4gIHJldHVybiBbIC4uLm91dCwgLi4uc3VmZml4IF0uam9pbignJykudHJpbSgpLnJlcGxhY2UoLyhcXGQpU3QvZ2ksICckMXN0JykucmVwbGFjZSgvKFxcZClOZC9naSwgJyQxbmQnKS5yZXBsYWNlKC8oXFxkKVJkL2dpLCAnJDFyZCcpLnJlcGxhY2UoLyhcXGQpVGgvZ2ksICckMXRoJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVIb3VzZU51bShzdHI6IHN0cmluZyB8IG51bGwpOiBzdHJpbmcgfCBudWxsIHtcbiAgaWYgKHN0ciA9PT0gbnVsbCkgeyByZXR1cm4gbnVsbDsgfVxuICBzdHIgPSBzdHIudG9VcHBlckNhc2UoKTtcbiAgbGV0IG91dCA9ICcnO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IHByZXYgPSBzdHJbaSAtIDFdO1xuICAgIGNvbnN0IGNoYXIgPSBzdHJbaV07XG4gICAgY29uc3QgbmV4dCA9IHN0cltpICsgMV07XG4gICAgLy8gUGxhY2UgYSBzcGFjZSBiZXR3ZWVuIGRlY2ltYWxzIGFuZCBhbHBoYXNcbiAgICBpZiAoKGRlY2ltYWxzLmhhcyhwcmV2KSAmJiBhbHBoYXMuaGFzKGNoYXIpKSB8fCAoYWxwaGFzLmhhcyhwcmV2KSAmJiBkZWNpbWFscy5oYXMoY2hhcikpKSB7XG4gICAgICAvLyBvdXQgKz0gYCAke2NoYXJ9YDtcbiAgICB9XG4gICAgLy8gUmVtb3ZlIHVubmVjZXNzYXJ5IGRhc2hlcyBiZXR3ZWVuIGRlY2ltYWxzIGFuZCBhbHBoYXNcbiAgICBpZiAoY2hhciA9PT0gJy0nICYmIChkZWNpbWFscy5oYXMocHJldikgJiYgYWxwaGFzLmhhcyhuZXh0KSkpIHtcbiAgICAgIG91dCArPSAnICc7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgb3V0ICs9IGNoYXI7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG91dC50cmltKCk7XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFyc2VyL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDO0lBQ3JCLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztJQUN6RSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztJQUVyRCxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUc7SUFDekUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUc7Q0FDdEQsQ0FBQyxDQUFDO0FBRUgsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUM7SUFDdkIsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRztDQUNqRCxDQUFDLENBQUM7QUFFSCxNQUFNLGNBQWMsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUM3QixJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSTtDQUN2RSxDQUFDLENBQUM7QUFFSCxNQUFNLFVBQVUsU0FBUyxDQUFDLEdBQVc7SUFDbkMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUUvQixJQUFJLGNBQWMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDM0IsT0FBTyxHQUFHLENBQUM7S0FDWjtJQUVELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ25DLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNoRSxHQUFHLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ2pFO0tBQ0Y7SUFFRCw2QkFBNkI7SUFDN0IsR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNyQyxHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDckMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRXJDLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsR0FBVztJQUNyQyxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDcEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDbkMsUUFBUSxHQUFHLFFBQVEsSUFBSSxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQzdDO0lBQ0QsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUVELE1BQU0sUUFBUSxHQUFHO0lBQ2YsS0FBSyxFQUFFLEtBQUs7SUFDWixNQUFNLEVBQUUsS0FBSztJQUNiLEtBQUssRUFBRSxLQUFLO0lBQ1osTUFBTSxFQUFFLEtBQUs7SUFDYixLQUFLLEVBQUUsS0FBSztJQUNaLEtBQUssRUFBRSxLQUFLO0lBQ1osT0FBTyxFQUFFLEtBQUs7SUFDZCxNQUFNLEVBQUUsS0FBSztJQUNiLEtBQUssRUFBRSxLQUFLO0lBQ1osS0FBSyxFQUFFLE1BQU07SUFDYixRQUFRLEVBQUUsTUFBTTtJQUNoQixPQUFPLEVBQUUsTUFBTTtJQUNmLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLFNBQVMsRUFBRSxNQUFNO0NBQ2xCLENBQUM7QUFFRixNQUFNLFdBQVcsR0FBd0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztBQUNuRCxLQUFLLE1BQU0sQ0FBRSxHQUFHLEVBQUUsS0FBSyxDQUFFLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtJQUNyRCxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsRUFBRSxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN4RCxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsRUFBRSxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztDQUN6RDtBQUVELE1BQU0sVUFBVSxTQUFTLENBQUMsR0FBa0I7SUFDMUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUM7QUFDdEQsQ0FBQztBQUVELE1BQU0sVUFBVSxPQUFPLENBQUMsR0FBVztJQUNqQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDL0UsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsR0FBVztJQUN4QyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQUUsT0FBTyxHQUFHLENBQUM7S0FBRTtJQUNwQyxPQUFPLFNBQVMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDO0FBQzlELENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLEdBQVc7SUFDeEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUFFLE9BQU8sR0FBRyxDQUFDO0tBQUU7SUFDbEMsT0FBTyxTQUFTLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztBQUM5RCxDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxHQUFXO0lBQ25DLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFBRSxPQUFPLEVBQUUsQ0FBQztLQUFFO0lBQ3hCLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0FBQ25DLENBQUM7QUFFRCxtRkFBbUY7QUFDbkYsTUFBTSxVQUFVLGdCQUFnQixDQUFDLE1BQWU7SUFDOUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO0lBQ2YsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ2xCLEtBQUssTUFBTSxLQUFLLElBQUksTUFBTSxFQUFFO1FBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzNCLDRDQUE0QztZQUM1QyxJQUFJLEtBQUssQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3pFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO2dCQUMxQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNqQixLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNuQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQzthQUNsQjtZQUVELDRDQUE0QztZQUM1QyxJQUFJLEtBQUssQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQzFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO2dCQUMxQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztnQkFDMUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDakIsS0FBSyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDbkMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7YUFDbEI7WUFFRCw0Q0FBNEM7WUFDNUMsSUFBSSxLQUFLLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUM5RixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztnQkFDL0QsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDakIsS0FBSyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDdkMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7YUFDbEI7WUFFRCw0Q0FBNEM7WUFDNUMsSUFBSSxLQUFLLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNwSixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztnQkFDL0QsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7Z0JBQy9ELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2pCLEtBQUssQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3ZDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2FBQ2xCO1NBQ0Y7UUFFRCxNQUFNLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXpKLHlEQUF5RDtRQUN6RCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtZQUN4QyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1lBQ2pDLFFBQVEsS0FBSyxDQUFDLFNBQVMsRUFBRTtnQkFDdkIsS0FBSyxHQUFHO29CQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQUMsTUFBTTtnQkFDbEMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUMzQjtTQUNGO2FBRUk7WUFDSCxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hCLFFBQVEsS0FBSyxDQUFDLFNBQVMsRUFBRTtnQkFDdkIsS0FBSyxHQUFHO29CQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQUMsTUFBTTtnQkFDakMsS0FBSyxHQUFHO29CQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQUMsTUFBTTtnQkFDL0IsS0FBSyxHQUFHO29CQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQUMsTUFBTTtnQkFDakMsS0FBSyxHQUFHO29CQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQUMsTUFBTTtnQkFDL0IsS0FBSyxHQUFHO29CQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQUMsTUFBTTtnQkFDL0IsS0FBSyxHQUFHO29CQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQUMsTUFBTTtnQkFDL0IsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUN2QjtTQUNGO0tBQ0Y7SUFFRCxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDYixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7SUFFViw2QkFBNkI7SUFDN0IsT0FBTyxDQUFFLEdBQUcsR0FBRyxFQUFFLEdBQUcsTUFBTSxDQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDL0osQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxHQUFrQjtJQUNsRCxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUU7UUFBRSxPQUFPLElBQUksQ0FBQztLQUFFO0lBQ2xDLEdBQUcsR0FBRyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEIsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDO0lBQ2IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDbkMsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN4QixNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEIsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN4Qiw0Q0FBNEM7UUFDNUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUU7WUFDeEYscUJBQXFCO1NBQ3RCO1FBQ0Qsd0RBQXdEO1FBQ3hELElBQUksSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFO1lBQzVELEdBQUcsSUFBSSxHQUFHLENBQUM7U0FDWjthQUNJO1lBQ0gsR0FBRyxJQUFJLElBQUksQ0FBQztTQUNiO0tBQ0Y7SUFFRCxPQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVG9rZW4gfSBmcm9tICcuL3Rva2VuaXplcic7XG5cbmNvbnN0IGFscGhhcyA9IG5ldyBTZXQoW1xuICAnQScsICdCJywgJ0MnLCAnRCcsICdFJywgJ0YnLCAnRycsICdIJywgJ0knLCAnSicsICdLJywgJ0wnLCAnTScsICdOJywgJ08nLFxuICAnUCcsICdRJywgJ1InLCAnUycsICdUJywgJ1UnLCAnVicsICdXJywgJ1gnLCAnWScsICdaJyxcblxuICAnYScsICdiJywgJ2MnLCAnZCcsICdlJywgJ2YnLCAnZycsICdoJywgJ2knLCAnaicsICdrJywgJ2wnLCAnbScsICduJywgJ28nLFxuICAncCcsICdxJywgJ3InLCAncycsICd0JywgJ3UnLCAndicsICd3JywgJ3gnLCAneScsICd6Jyxcbl0pO1xuXG5jb25zdCBkZWNpbWFscyA9IG5ldyBTZXQoW1xuICAnMCcsICcxJywgJzInLCAnMycsICc0JywgJzUnLCAnNicsICc3JywgJzgnLCAnOScsXG5dKTtcblxuY29uc3QgZm9yY2VMb3dlckNhc2UgPSBuZXcgU2V0KFtcbiAgJ2FuJywgJ3RoZScsICdvZicsICdhbmQnLCAnYnV0JywgJ2ZvcicsICdhdCcsICdieScsICdmcm9tJywgJ2luJywgJ29uJyxcbl0pO1xuXG5leHBvcnQgZnVuY3Rpb24gdGl0bGVDYXNlKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgc3RyID0gc3RyLnRvTG93ZXJDYXNlKCkudHJpbSgpO1xuXG4gIGlmIChmb3JjZUxvd2VyQ2FzZS5oYXMoc3RyKSkge1xuICAgIHJldHVybiBzdHI7XG4gIH1cblxuICBmb3IgKGxldCBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykge1xuICAgIGlmIChpIC0gMSA8IDAgfHwgKCFhbHBoYXMuaGFzKHN0cltpIC0gMV0pICYmIGFscGhhcy5oYXMoc3RyW2ldKSkpIHtcbiAgICAgIHN0ciA9IHN0ci5zbGljZSgwLCBpKSArIHN0cltpXS50b1VwcGVyQ2FzZSgpICsgc3RyLnNsaWNlKGkgKyAxKTtcbiAgICB9XG4gIH1cblxuICAvLyBPcmRpbmFscyBkb24ndCBnZXQgdGl0bGVkLlxuICBzdHIgPSBzdHIucmVwbGFjZSgvKFxcZClTdC9nLCAnJDFzdCcpO1xuICBzdHIgPSBzdHIucmVwbGFjZSgvKFxcZClOZC9nLCAnJDFuZCcpO1xuICBzdHIgPSBzdHIucmVwbGFjZSgvKFxcZClSZC9nLCAnJDFyZCcpO1xuICBzdHIgPSBzdHIucmVwbGFjZSgvKFxcZClUaC9nLCAnJDF0aCcpO1xuXG4gIHJldHVybiBzdHI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc051bWVyaWNhbChzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBsZXQgaXNOdW1iZXIgPSB0cnVlO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykge1xuICAgIGlzTnVtYmVyID0gaXNOdW1iZXIgJiYgZGVjaW1hbHMuaGFzKHN0cltpXSk7XG4gIH1cbiAgcmV0dXJuIGlzTnVtYmVyO1xufVxuXG5jb25zdCBvcmRpbmFscyA9IHtcbiAgRklSU1Q6ICcxc3QnLFxuICBTRUNPTkQ6ICcybmQnLFxuICBUSElSRDogJzNyZCcsXG4gIEZPVVJUSDogJzR0aCcsXG4gIEZJRlRIOiAnNXRoJyxcbiAgU0lYVEg6ICc2dGgnLFxuICBTRVZFTlRIOiAnN3RoJyxcbiAgRUlHSFRIOiAnOHRoJyxcbiAgTklOVEg6ICc5dGgnLFxuICBURU5USDogJzEwdGgnLFxuICBFTEVWRU5USDogJzExdGgnLFxuICBUV0VMRlRIOiAnMTJ0aCcsXG4gIFRISVJURUVOVEg6ICcxM3RoJyxcbiAgRk9VUlRFRU5USDogJzE0dGgnLFxuICBGSUZURUVOVEg6ICcxNXRoJyxcbn07XG5cbmNvbnN0IE9SRElOQUxfTUFQOiBNYXA8c3RyaW5nLCBzdHJpbmc+ID0gbmV3IE1hcCgpO1xuZm9yIChjb25zdCBbIGtleSwgdmFsdWUgXSBvZiBPYmplY3QuZW50cmllcyhvcmRpbmFscykpIHtcbiAgT1JESU5BTF9NQVAuc2V0KGtleS50b1VwcGVyQ2FzZSgpLCB2YWx1ZS50b1VwcGVyQ2FzZSgpKTtcbiAgT1JESU5BTF9NQVAuc2V0KHZhbHVlLnRvVXBwZXJDYXNlKCksIGtleS50b1VwcGVyQ2FzZSgpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzT3JkaW5hbChzdHI6IHN0cmluZyB8IG51bGwpOiBib29sZWFuIHtcbiAgcmV0dXJuICEhKHN0ciAmJiBzdHIubWF0Y2goL1swLTldKyhzdHxuZHxyZHx0aCkvaSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNPcmRlcih2YWw6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gISEob3JkaW5hbHNbdmFsLnRvVXBwZXJDYXNlKCldICYmIE9SRElOQUxfTUFQLmhhcyh2YWwudG9VcHBlckNhc2UoKSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb3JkaW5hbFRvT3JkZXIodmFsOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoIWlzT3JkaW5hbCh2YWwpKSB7IHJldHVybiB2YWw7IH1cbiAgcmV0dXJuIHRpdGxlQ2FzZShPUkRJTkFMX01BUC5nZXQodmFsLnRvVXBwZXJDYXNlKCkpIHx8IHZhbCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvcmRlclRvT3JkaW5hbCh2YWw6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmICghaXNPcmRlcih2YWwpKSB7IHJldHVybiB2YWw7IH1cbiAgcmV0dXJuIHRpdGxlQ2FzZShPUkRJTkFMX01BUC5nZXQodmFsLnRvVXBwZXJDYXNlKCkpIHx8IHZhbCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemUoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoIXN0cikgeyByZXR1cm4gJyc7IH1cbiAgcmV0dXJuIFN0cmluZyhzdHIpLnRvVXBwZXJDYXNlKCk7XG59XG5cbi8vIFVuaXQgbnVtYmVycyBzaG91bGQgYWx3YXlzIGhhdmUgbnVtYmVycyBmb2xsb3dlZCBieSBsZXR0ZXJzIGFuZCBiZSBzZW50ZW5jZSBjYXNlXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplVW5pdE51bSh0b2tlbnM6IFRva2VuW10pOiBzdHJpbmcgfCBudWxsIHtcbiAgY29uc3Qgb3V0ID0gW107XG4gIGNvbnN0IHN1ZmZpeCA9IFtdO1xuICBmb3IgKGNvbnN0IHRva2VuIG9mIHRva2Vucykge1xuICAgIGlmICghaXNPcmRpbmFsKHRva2VuLnZhbHVlKSkge1xuICAgICAgLy8gUHVzaCBzaW5nbGUgY2hhcmFjdGVyIHByZWZpeGVzIHRvIHRoZSBlbmRcbiAgICAgIGlmICh0b2tlbi5kZWNpbWFscyAmJiB0b2tlbi5hbHBoYXMgPT09IDEgJiYgL1thLXpdL2kudGVzdCh0b2tlbi52YWx1ZVswXSkpIHtcbiAgICAgICAgc3VmZml4LnB1c2godG9rZW4udmFsdWVbMF0udG9VcHBlckNhc2UoKSk7XG4gICAgICAgIHN1ZmZpeC5wdXNoKCcgJyk7XG4gICAgICAgIHRva2VuLnZhbHVlID0gdG9rZW4udmFsdWUuc2xpY2UoMSk7XG4gICAgICAgIHRva2VuLmFscGhhcyA9IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIFB1c2ggZG91YmxlIGNoYXJhY3RlciBwcmVmaXhlcyB0byB0aGUgZW5kXG4gICAgICBpZiAodG9rZW4uZGVjaW1hbHMgJiYgdG9rZW4uYWxwaGFzID09PSAyICYmIC9bYS16XS9pLnRlc3QodG9rZW4udmFsdWVbMF0pICYmIC9bYS16XS9pLnRlc3QodG9rZW4udmFsdWVbMV0pKSB7XG4gICAgICAgIHN1ZmZpeC5wdXNoKHRva2VuLnZhbHVlWzBdLnRvVXBwZXJDYXNlKCkpO1xuICAgICAgICBzdWZmaXgucHVzaCh0b2tlbi52YWx1ZVsxXS50b1VwcGVyQ2FzZSgpKTtcbiAgICAgICAgc3VmZml4LnB1c2goJyAnKTtcbiAgICAgICAgdG9rZW4udmFsdWUgPSB0b2tlbi52YWx1ZS5zbGljZSgxKTtcbiAgICAgICAgdG9rZW4uYWxwaGFzID0gMDtcbiAgICAgIH1cblxuICAgICAgLy8gUHVzaCBzaW5nbGUgY2hhcmFjdGVyIHN1ZmZpeGVzIHRvIHRoZSBlbmRcbiAgICAgIGlmICh0b2tlbi5kZWNpbWFscyAmJiB0b2tlbi5hbHBoYXMgPT09IDEgJiYgL1thLXpdL2kudGVzdCh0b2tlbi52YWx1ZVt0b2tlbi52YWx1ZS5sZW5ndGggLSAxXSkpIHtcbiAgICAgICAgc3VmZml4LnB1c2godG9rZW4udmFsdWVbdG9rZW4udmFsdWUubGVuZ3RoIC0gMV0udG9VcHBlckNhc2UoKSk7XG4gICAgICAgIHN1ZmZpeC5wdXNoKCcgJyk7XG4gICAgICAgIHRva2VuLnZhbHVlID0gdG9rZW4udmFsdWUuc2xpY2UoMCwgLTEpO1xuICAgICAgICB0b2tlbi5hbHBoYXMgPSAwO1xuICAgICAgfVxuXG4gICAgICAvLyBQdXNoIGRvdWJsZSBjaGFyYWN0ZXIgc3VmZml4ZXMgdG8gdGhlIGVuZFxuICAgICAgaWYgKHRva2VuLmRlY2ltYWxzICYmIHRva2VuLmFscGhhcyA9PT0gMiAmJiAvW2Etel0vaS50ZXN0KHRva2VuLnZhbHVlW3Rva2VuLnZhbHVlLmxlbmd0aCAtIDFdKSAmJiAvW2Etel0vaS50ZXN0KHRva2VuLnZhbHVlW3Rva2VuLnZhbHVlLmxlbmd0aCAtIDJdKSkge1xuICAgICAgICBzdWZmaXgucHVzaCh0b2tlbi52YWx1ZVt0b2tlbi52YWx1ZS5sZW5ndGggLSAyXS50b1VwcGVyQ2FzZSgpKTtcbiAgICAgICAgc3VmZml4LnB1c2godG9rZW4udmFsdWVbdG9rZW4udmFsdWUubGVuZ3RoIC0gMV0udG9VcHBlckNhc2UoKSk7XG4gICAgICAgIHN1ZmZpeC5wdXNoKCcgJyk7XG4gICAgICAgIHRva2VuLnZhbHVlID0gdG9rZW4udmFsdWUuc2xpY2UoMCwgLTIpO1xuICAgICAgICB0b2tlbi5hbHBoYXMgPSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlID0gKHRva2VuLmRlY2ltYWxzICYmIHRva2VuLmFscGhhcykgPyBpc09yZGluYWwodG9rZW4udmFsdWUpID8gdG9rZW4udmFsdWUudG9Mb3dlckNhc2UoKSA6IHRva2VuLnZhbHVlLnRvVXBwZXJDYXNlKCkgOiB0aXRsZUNhc2UodG9rZW4udmFsdWUpO1xuXG4gICAgLy8gQWxsIGFscGhhIGNvZGVzIGFyZSBwdXQgb24gdGhlIHN1ZmZpeCBhbmQgdXBwZXIgY2FzZWQuXG4gICAgaWYgKCF0b2tlbi5kZWNpbWFscyAmJiB2YWx1ZS5sZW5ndGggPD0gMykge1xuICAgICAgc3VmZml4LnB1c2godmFsdWUudG9VcHBlckNhc2UoKSk7XG4gICAgICBzd2l0Y2ggKHRva2VuLnNlcGFyYXRvcikge1xuICAgICAgICBjYXNlICctJzogc3VmZml4LnB1c2goJy0nKTsgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6IHN1ZmZpeC5wdXNoKCcgJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZWxzZSB7XG4gICAgICBvdXQucHVzaCh2YWx1ZSk7XG4gICAgICBzd2l0Y2ggKHRva2VuLnNlcGFyYXRvcikge1xuICAgICAgICBjYXNlICcjJzogb3V0LnB1c2goJyAjICcpOyBicmVhaztcbiAgICAgICAgY2FzZSAnLic6IG91dC5wdXNoKCcuJyk7IGJyZWFrO1xuICAgICAgICBjYXNlICcmJzogb3V0LnB1c2goJyAmICcpOyBicmVhaztcbiAgICAgICAgY2FzZSAnLCc6IG91dC5wdXNoKCcgJyk7IGJyZWFrO1xuICAgICAgICBjYXNlICctJzogb3V0LnB1c2goJy0nKTsgYnJlYWs7XG4gICAgICAgIGNhc2UgJy8nOiBvdXQucHVzaCgnLycpOyBicmVhaztcbiAgICAgICAgZGVmYXVsdDogb3V0LnB1c2goJycpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHN1ZmZpeC5wb3AoKTtcbiAgb3V0LnBvcCgpO1xuXG4gIC8vIE9yZGluYWxzIGRvbid0IGdldCB0aXRsZWQuXG4gIHJldHVybiBbIC4uLm91dCwgLi4uc3VmZml4IF0uam9pbignJykudHJpbSgpLnJlcGxhY2UoLyhcXGQpU3QvZ2ksICckMXN0JykucmVwbGFjZSgvKFxcZClOZC9naSwgJyQxbmQnKS5yZXBsYWNlKC8oXFxkKVJkL2dpLCAnJDFyZCcpLnJlcGxhY2UoLyhcXGQpVGgvZ2ksICckMXRoJyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVIb3VzZU51bShzdHI6IHN0cmluZyB8IG51bGwpOiBzdHJpbmcgfCBudWxsIHtcbiAgaWYgKHN0ciA9PT0gbnVsbCkgeyByZXR1cm4gbnVsbDsgfVxuICBzdHIgPSBzdHIudG9VcHBlckNhc2UoKTtcbiAgbGV0IG91dCA9ICcnO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IHByZXYgPSBzdHJbaSAtIDFdO1xuICAgIGNvbnN0IGNoYXIgPSBzdHJbaV07XG4gICAgY29uc3QgbmV4dCA9IHN0cltpICsgMV07XG4gICAgLy8gUGxhY2UgYSBzcGFjZSBiZXR3ZWVuIGRlY2ltYWxzIGFuZCBhbHBoYXNcbiAgICBpZiAoKGRlY2ltYWxzLmhhcyhwcmV2KSAmJiBhbHBoYXMuaGFzKGNoYXIpKSB8fCAoYWxwaGFzLmhhcyhwcmV2KSAmJiBkZWNpbWFscy5oYXMoY2hhcikpKSB7XG4gICAgICAvLyBvdXQgKz0gYCAke2NoYXJ9YDtcbiAgICB9XG4gICAgLy8gUmVtb3ZlIHVubmVjZXNzYXJ5IGRhc2hlcyBiZXR3ZWVuIGRlY2ltYWxzIGFuZCBhbHBoYXNcbiAgICBpZiAoY2hhciA9PT0gJy0nICYmIChkZWNpbWFscy5oYXMocHJldikgJiYgYWxwaGFzLmhhcyhuZXh0KSkpIHtcbiAgICAgIG91dCArPSAnICc7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgb3V0ICs9IGNoYXI7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG91dC50cmltKCk7XG59XG4iXX0= |
{ | ||
"name": "@universe/address-parser", | ||
"version": "0.3.1", | ||
"version": "0.4.0", | ||
"main": "dist/src/index.js", | ||
@@ -10,2 +10,3 @@ "module": "esm/src/index.js", | ||
"private": false, | ||
"repository":"https://github.com/universe/big-blue", | ||
"scripts": { | ||
@@ -15,2 +16,3 @@ "build": "rm -rf dist && rm -rf esm && tsc -b tsconfig.json && tsc -b esm.tsconfig.json", | ||
"test": "mocha dist/test", | ||
"test:cass": "CASS_SUITE=enabled mocha dist/test", | ||
"watch": "watch 'yarn run test' './src' './test' --wait=3", | ||
@@ -20,3 +22,3 @@ "prepublish": "yarn run build" | ||
"dependencies": { | ||
"@universe/models": "^0.3.1" | ||
"@universe/models": "^0.4.0" | ||
}, | ||
@@ -23,0 +25,0 @@ "devDependencies": { |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
No repository
Supply chain riskPackage does not have a linked source code repository. Without this field, a package will have no reference to the location of the source code use to generate the package.
Found 1 instance in 1 package
2052188
35519
+ Added@universe/models@0.4.0(transitive)
- Removed@universe/models@0.3.1(transitive)
Updated@universe/models@^0.4.0